UNPKG

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.

12,825 lines 674 kB
import Kf from "next-auth";
import Dc from "crypto";
import { Keypair as Wf, PublicKey as Ft, Connection as Yf, Transaction as Vo, SystemProgram as Go, sendAndConfirmTransaction as Ko, ComputeBudgetProgram as Wo, SYSVAR_RENT_PUBKEY as Zf } from "@solana/web3.js";
import { Mnemonic as Xf, HDNodeWallet as Jf, hashMessage as Qf, recoverAddress as ed, getBytes as rd, WebSocketProvider as td, Contract as ad } from "ethers";
import { chainSolDevnet as id, AllChains as La } from "./chains.js";
import { c as Lc, U as na, S as nd, g as od, r as sd } from "./get-user-profile-BApNPXZg.mjs";
import ud from "stream";
import { N as Kr } from "./index-ChpwqF0V.mjs";
import { Schema as _e, models as Fr, model as $r, Types as Ue } from "mongoose";
import { NextResponse as Ut } from "next/server";
import { d as cd, s as ld } from "./serialize-QLwKYaJT.mjs";
import { AnchorProvider as fd, Program as dd } from "@coral-xyz/anchor";
var Tt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function hd(e) {
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
function pd(e) {
  if (Object.prototype.hasOwnProperty.call(e, "__esModule")) return e;
  var r = e.default;
  if (typeof r == "function") {
    var t = function a() {
      return this instanceof a ? 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(a) {
    var n = Object.getOwnPropertyDescriptor(e, a);
    Object.defineProperty(t, a, n.get ? n : {
      enumerable: !0,
      get: function() {
        return e[a];
      }
    });
  }), t;
}
function md(e) {
  return {
    id: "google",
    name: "Google",
    type: "oidc",
    issuer: "https://accounts.google.com",
    style: {
      brandColor: "#1a73e8"
    },
    options: e
  };
}
function gd(e) {
  var a, n, i;
  const r = ((a = e == null ? void 0 : e.enterprise) == null ? void 0 : a.baseUrl) ?? "https://github.com", t = (n = e == null ? void 0 : e.enterprise) != null && n.baseUrl ? `${(i = e == null ? void 0 : e.enterprise) == null ? void 0 : i.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: s, provider: o }) {
        var l;
        const u = await fetch((l = o.userinfo) == null ? void 0 : l.url, {
          headers: {
            Authorization: `Bearer ${s.access_token}`,
            "User-Agent": "authjs"
          }
        }).then(async (f) => await f.json());
        if (!u.email) {
          const f = await fetch(`${t}/user/emails`, {
            headers: {
              Authorization: `Bearer ${s.access_token}`,
              "User-Agent": "authjs"
            }
          });
          if (f.ok) {
            const p = await f.json();
            u.email = (p.find((d) => d.primary) ?? p[0]).email;
          }
        }
        return u;
      }
    },
    profile(s) {
      return {
        id: s.id.toString(),
        name: s.name ?? s.login,
        email: s.email,
        image: s.avatar_url
      };
    },
    style: { bg: "#24292f", text: "#fff" },
    options: e
  };
}
function bd(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 vd(e) {
  return {
    id: "credentials",
    name: "Credentials",
    type: "credentials",
    credentials: {},
    authorize: () => null,
    // @ts-expect-error
    options: e
  };
}
function yd(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 hi = { exports: {} }, Yo;
function Nc() {
  return Yo || (Yo = 1, function(e) {
    (function(r) {
      var t = function(g) {
        var E, _ = new Float64Array(16);
        if (g) for (E = 0; E < g.length; E++) _[E] = g[E];
        return _;
      }, a = function() {
        throw new Error("no PRNG");
      }, n = new Uint8Array(16), i = new Uint8Array(32);
      i[0] = 9;
      var s = t(), o = t([1]), u = t([56129, 1]), l = t([30883, 4953, 19914, 30187, 55467, 16705, 2637, 112, 59544, 30585, 16505, 36039, 65139, 11119, 27886, 20995]), f = t([61785, 9906, 39828, 60374, 45398, 33411, 5274, 224, 53552, 61171, 33010, 6542, 64743, 22239, 55772, 9222]), p = t([54554, 36645, 11616, 51542, 42930, 38181, 51040, 26924, 56412, 64982, 57905, 49316, 21502, 52590, 14035, 8553]), d = t([26200, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214]), y = t([41136, 18958, 6951, 50414, 58488, 44335, 6150, 12099, 55207, 15867, 153, 11085, 57099, 20417, 9344, 11139]);
      function b(g, E, _, c) {
        g[E] = _ >> 24 & 255, g[E + 1] = _ >> 16 & 255, g[E + 2] = _ >> 8 & 255, g[E + 3] = _ & 255, g[E + 4] = c >> 24 & 255, g[E + 5] = c >> 16 & 255, g[E + 6] = c >> 8 & 255, g[E + 7] = c & 255;
      }
      function v(g, E, _, c, A) {
        var H, G = 0;
        for (H = 0; H < A; H++) G |= g[E + H] ^ _[c + H];
        return (1 & G - 1 >>> 8) - 1;
      }
      function S(g, E, _, c) {
        return v(g, E, _, c, 16);
      }
      function x(g, E, _, c) {
        return v(g, E, _, c, 32);
      }
      function T(g, E, _, c) {
        for (var A = c[0] & 255 | (c[1] & 255) << 8 | (c[2] & 255) << 16 | (c[3] & 255) << 24, H = _[0] & 255 | (_[1] & 255) << 8 | (_[2] & 255) << 16 | (_[3] & 255) << 24, G = _[4] & 255 | (_[5] & 255) << 8 | (_[6] & 255) << 16 | (_[7] & 255) << 24, te = _[8] & 255 | (_[9] & 255) << 8 | (_[10] & 255) << 16 | (_[11] & 255) << 24, le = _[12] & 255 | (_[13] & 255) << 8 | (_[14] & 255) << 16 | (_[15] & 255) << 24, Be = c[4] & 255 | (c[5] & 255) << 8 | (c[6] & 255) << 16 | (c[7] & 255) << 24, ve = E[0] & 255 | (E[1] & 255) << 8 | (E[2] & 255) << 16 | (E[3] & 255) << 24, nr = E[4] & 255 | (E[5] & 255) << 8 | (E[6] & 255) << 16 | (E[7] & 255) << 24, we = E[8] & 255 | (E[9] & 255) << 8 | (E[10] & 255) << 16 | (E[11] & 255) << 24, Le = E[12] & 255 | (E[13] & 255) << 8 | (E[14] & 255) << 16 | (E[15] & 255) << 24, Ne = c[8] & 255 | (c[9] & 255) << 8 | (c[10] & 255) << 16 | (c[11] & 255) << 24, Ge = _[16] & 255 | (_[17] & 255) << 8 | (_[18] & 255) << 16 | (_[19] & 255) << 24, Ve = _[20] & 255 | (_[21] & 255) << 8 | (_[22] & 255) << 16 | (_[23] & 255) << 24, Ce = _[24] & 255 | (_[25] & 255) << 8 | (_[26] & 255) << 16 | (_[27] & 255) << 24, He = _[28] & 255 | (_[29] & 255) << 8 | (_[30] & 255) << 16 | (_[31] & 255) << 24, Pe = c[12] & 255 | (c[13] & 255) << 8 | (c[14] & 255) << 16 | (c[15] & 255) << 24, ke = A, Te = H, ye = G, Se = te, Ae = le, ge = Be, Y = ve, Z = nr, oe = we, re = Le, ae = Ne, se = Ge, qe = Ve, Ke = Ce, Ze = He, We = Pe, L, Qe = 0; Qe < 20; Qe += 2)
          L = ke + qe | 0, Ae ^= L << 7 | L >>> 25, L = Ae + ke | 0, oe ^= L << 9 | L >>> 23, L = oe + Ae | 0, qe ^= L << 13 | L >>> 19, L = qe + oe | 0, ke ^= L << 18 | L >>> 14, L = ge + Te | 0, re ^= L << 7 | L >>> 25, L = re + ge | 0, Ke ^= L << 9 | L >>> 23, L = Ke + re | 0, Te ^= L << 13 | L >>> 19, L = Te + Ke | 0, ge ^= L << 18 | L >>> 14, L = ae + Y | 0, Ze ^= L << 7 | L >>> 25, L = Ze + ae | 0, ye ^= L << 9 | L >>> 23, L = ye + Ze | 0, Y ^= L << 13 | L >>> 19, L = Y + ye | 0, ae ^= L << 18 | L >>> 14, L = We + se | 0, Se ^= L << 7 | L >>> 25, L = Se + We | 0, Z ^= L << 9 | L >>> 23, L = Z + Se | 0, se ^= L << 13 | L >>> 19, L = se + Z | 0, We ^= L << 18 | L >>> 14, L = ke + Se | 0, Te ^= L << 7 | L >>> 25, L = Te + ke | 0, ye ^= L << 9 | L >>> 23, L = ye + Te | 0, Se ^= L << 13 | L >>> 19, L = Se + ye | 0, ke ^= L << 18 | L >>> 14, L = ge + Ae | 0, Y ^= L << 7 | L >>> 25, L = Y + ge | 0, Z ^= L << 9 | L >>> 23, L = Z + Y | 0, Ae ^= L << 13 | L >>> 19, L = Ae + Z | 0, ge ^= L << 18 | L >>> 14, L = ae + re | 0, se ^= L << 7 | L >>> 25, L = se + ae | 0, oe ^= L << 9 | L >>> 23, L = oe + se | 0, re ^= L << 13 | L >>> 19, L = re + oe | 0, ae ^= L << 18 | L >>> 14, L = We + Ze | 0, qe ^= L << 7 | L >>> 25, L = qe + We | 0, Ke ^= L << 9 | L >>> 23, L = Ke + qe | 0, Ze ^= L << 13 | L >>> 19, L = Ze + Ke | 0, We ^= L << 18 | L >>> 14;
        ke = ke + A | 0, Te = Te + H | 0, ye = ye + G | 0, Se = Se + te | 0, Ae = Ae + le | 0, ge = ge + Be | 0, Y = Y + ve | 0, Z = Z + nr | 0, oe = oe + we | 0, re = re + Le | 0, ae = ae + Ne | 0, se = se + Ge | 0, qe = qe + Ve | 0, Ke = Ke + Ce | 0, Ze = Ze + He | 0, We = We + Pe | 0, g[0] = ke >>> 0 & 255, g[1] = ke >>> 8 & 255, g[2] = ke >>> 16 & 255, g[3] = ke >>> 24 & 255, g[4] = Te >>> 0 & 255, g[5] = Te >>> 8 & 255, g[6] = Te >>> 16 & 255, g[7] = Te >>> 24 & 255, g[8] = ye >>> 0 & 255, g[9] = ye >>> 8 & 255, g[10] = ye >>> 16 & 255, g[11] = ye >>> 24 & 255, g[12] = Se >>> 0 & 255, g[13] = Se >>> 8 & 255, g[14] = Se >>> 16 & 255, g[15] = Se >>> 24 & 255, g[16] = Ae >>> 0 & 255, g[17] = Ae >>> 8 & 255, g[18] = Ae >>> 16 & 255, g[19] = Ae >>> 24 & 255, g[20] = ge >>> 0 & 255, g[21] = ge >>> 8 & 255, g[22] = ge >>> 16 & 255, g[23] = ge >>> 24 & 255, g[24] = Y >>> 0 & 255, g[25] = Y >>> 8 & 255, g[26] = Y >>> 16 & 255, g[27] = Y >>> 24 & 255, g[28] = Z >>> 0 & 255, g[29] = Z >>> 8 & 255, g[30] = Z >>> 16 & 255, g[31] = Z >>> 24 & 255, g[32] = oe >>> 0 & 255, g[33] = oe >>> 8 & 255, g[34] = oe >>> 16 & 255, g[35] = oe >>> 24 & 255, g[36] = re >>> 0 & 255, g[37] = re >>> 8 & 255, g[38] = re >>> 16 & 255, g[39] = re >>> 24 & 255, g[40] = ae >>> 0 & 255, g[41] = ae >>> 8 & 255, g[42] = ae >>> 16 & 255, g[43] = ae >>> 24 & 255, g[44] = se >>> 0 & 255, g[45] = se >>> 8 & 255, g[46] = se >>> 16 & 255, g[47] = se >>> 24 & 255, g[48] = qe >>> 0 & 255, g[49] = qe >>> 8 & 255, g[50] = qe >>> 16 & 255, g[51] = qe >>> 24 & 255, g[52] = Ke >>> 0 & 255, g[53] = Ke >>> 8 & 255, g[54] = Ke >>> 16 & 255, g[55] = Ke >>> 24 & 255, g[56] = Ze >>> 0 & 255, g[57] = Ze >>> 8 & 255, g[58] = Ze >>> 16 & 255, g[59] = Ze >>> 24 & 255, g[60] = We >>> 0 & 255, g[61] = We >>> 8 & 255, g[62] = We >>> 16 & 255, g[63] = We >>> 24 & 255;
      }
      function k(g, E, _, c) {
        for (var A = c[0] & 255 | (c[1] & 255) << 8 | (c[2] & 255) << 16 | (c[3] & 255) << 24, H = _[0] & 255 | (_[1] & 255) << 8 | (_[2] & 255) << 16 | (_[3] & 255) << 24, G = _[4] & 255 | (_[5] & 255) << 8 | (_[6] & 255) << 16 | (_[7] & 255) << 24, te = _[8] & 255 | (_[9] & 255) << 8 | (_[10] & 255) << 16 | (_[11] & 255) << 24, le = _[12] & 255 | (_[13] & 255) << 8 | (_[14] & 255) << 16 | (_[15] & 255) << 24, Be = c[4] & 255 | (c[5] & 255) << 8 | (c[6] & 255) << 16 | (c[7] & 255) << 24, ve = E[0] & 255 | (E[1] & 255) << 8 | (E[2] & 255) << 16 | (E[3] & 255) << 24, nr = E[4] & 255 | (E[5] & 255) << 8 | (E[6] & 255) << 16 | (E[7] & 255) << 24, we = E[8] & 255 | (E[9] & 255) << 8 | (E[10] & 255) << 16 | (E[11] & 255) << 24, Le = E[12] & 255 | (E[13] & 255) << 8 | (E[14] & 255) << 16 | (E[15] & 255) << 24, Ne = c[8] & 255 | (c[9] & 255) << 8 | (c[10] & 255) << 16 | (c[11] & 255) << 24, Ge = _[16] & 255 | (_[17] & 255) << 8 | (_[18] & 255) << 16 | (_[19] & 255) << 24, Ve = _[20] & 255 | (_[21] & 255) << 8 | (_[22] & 255) << 16 | (_[23] & 255) << 24, Ce = _[24] & 255 | (_[25] & 255) << 8 | (_[26] & 255) << 16 | (_[27] & 255) << 24, He = _[28] & 255 | (_[29] & 255) << 8 | (_[30] & 255) << 16 | (_[31] & 255) << 24, Pe = c[12] & 255 | (c[13] & 255) << 8 | (c[14] & 255) << 16 | (c[15] & 255) << 24, ke = A, Te = H, ye = G, Se = te, Ae = le, ge = Be, Y = ve, Z = nr, oe = we, re = Le, ae = Ne, se = Ge, qe = Ve, Ke = Ce, Ze = He, We = Pe, L, Qe = 0; Qe < 20; Qe += 2)
          L = ke + qe | 0, Ae ^= L << 7 | L >>> 25, L = Ae + ke | 0, oe ^= L << 9 | L >>> 23, L = oe + Ae | 0, qe ^= L << 13 | L >>> 19, L = qe + oe | 0, ke ^= L << 18 | L >>> 14, L = ge + Te | 0, re ^= L << 7 | L >>> 25, L = re + ge | 0, Ke ^= L << 9 | L >>> 23, L = Ke + re | 0, Te ^= L << 13 | L >>> 19, L = Te + Ke | 0, ge ^= L << 18 | L >>> 14, L = ae + Y | 0, Ze ^= L << 7 | L >>> 25, L = Ze + ae | 0, ye ^= L << 9 | L >>> 23, L = ye + Ze | 0, Y ^= L << 13 | L >>> 19, L = Y + ye | 0, ae ^= L << 18 | L >>> 14, L = We + se | 0, Se ^= L << 7 | L >>> 25, L = Se + We | 0, Z ^= L << 9 | L >>> 23, L = Z + Se | 0, se ^= L << 13 | L >>> 19, L = se + Z | 0, We ^= L << 18 | L >>> 14, L = ke + Se | 0, Te ^= L << 7 | L >>> 25, L = Te + ke | 0, ye ^= L << 9 | L >>> 23, L = ye + Te | 0, Se ^= L << 13 | L >>> 19, L = Se + ye | 0, ke ^= L << 18 | L >>> 14, L = ge + Ae | 0, Y ^= L << 7 | L >>> 25, L = Y + ge | 0, Z ^= L << 9 | L >>> 23, L = Z + Y | 0, Ae ^= L << 13 | L >>> 19, L = Ae + Z | 0, ge ^= L << 18 | L >>> 14, L = ae + re | 0, se ^= L << 7 | L >>> 25, L = se + ae | 0, oe ^= L << 9 | L >>> 23, L = oe + se | 0, re ^= L << 13 | L >>> 19, L = re + oe | 0, ae ^= L << 18 | L >>> 14, L = We + Ze | 0, qe ^= L << 7 | L >>> 25, L = qe + We | 0, Ke ^= L << 9 | L >>> 23, L = Ke + qe | 0, Ze ^= L << 13 | L >>> 19, L = Ze + Ke | 0, We ^= L << 18 | L >>> 14;
        g[0] = ke >>> 0 & 255, g[1] = ke >>> 8 & 255, g[2] = ke >>> 16 & 255, g[3] = ke >>> 24 & 255, g[4] = ge >>> 0 & 255, g[5] = ge >>> 8 & 255, g[6] = ge >>> 16 & 255, g[7] = ge >>> 24 & 255, g[8] = ae >>> 0 & 255, g[9] = ae >>> 8 & 255, g[10] = ae >>> 16 & 255, g[11] = ae >>> 24 & 255, g[12] = We >>> 0 & 255, g[13] = We >>> 8 & 255, g[14] = We >>> 16 & 255, g[15] = We >>> 24 & 255, g[16] = Y >>> 0 & 255, g[17] = Y >>> 8 & 255, g[18] = Y >>> 16 & 255, g[19] = Y >>> 24 & 255, g[20] = Z >>> 0 & 255, g[21] = Z >>> 8 & 255, g[22] = Z >>> 16 & 255, g[23] = Z >>> 24 & 255, g[24] = oe >>> 0 & 255, g[25] = oe >>> 8 & 255, g[26] = oe >>> 16 & 255, g[27] = oe >>> 24 & 255, g[28] = re >>> 0 & 255, g[29] = re >>> 8 & 255, g[30] = re >>> 16 & 255, g[31] = re >>> 24 & 255;
      }
      function B(g, E, _, c) {
        T(g, E, _, c);
      }
      function I(g, E, _, c) {
        k(g, E, _, c);
      }
      var O = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]);
      function N(g, E, _, c, A, H, G) {
        var te = new Uint8Array(16), le = new Uint8Array(64), Be, ve;
        for (ve = 0; ve < 16; ve++) te[ve] = 0;
        for (ve = 0; ve < 8; ve++) te[ve] = H[ve];
        for (; A >= 64; ) {
          for (B(le, te, G, O), ve = 0; ve < 64; ve++) g[E + ve] = _[c + ve] ^ le[ve];
          for (Be = 1, ve = 8; ve < 16; ve++)
            Be = Be + (te[ve] & 255) | 0, te[ve] = Be & 255, Be >>>= 8;
          A -= 64, E += 64, c += 64;
        }
        if (A > 0)
          for (B(le, te, G, O), ve = 0; ve < A; ve++) g[E + ve] = _[c + ve] ^ le[ve];
        return 0;
      }
      function M(g, E, _, c, A) {
        var H = new Uint8Array(16), G = new Uint8Array(64), te, le;
        for (le = 0; le < 16; le++) H[le] = 0;
        for (le = 0; le < 8; le++) H[le] = c[le];
        for (; _ >= 64; ) {
          for (B(G, H, A, O), le = 0; le < 64; le++) g[E + le] = G[le];
          for (te = 1, le = 8; le < 16; le++)
            te = te + (H[le] & 255) | 0, H[le] = te & 255, te >>>= 8;
          _ -= 64, E += 64;
        }
        if (_ > 0)
          for (B(G, H, A, O), le = 0; le < _; le++) g[E + le] = G[le];
        return 0;
      }
      function z(g, E, _, c, A) {
        var H = new Uint8Array(32);
        I(H, c, A, O);
        for (var G = new Uint8Array(8), te = 0; te < 8; te++) G[te] = c[te + 16];
        return M(g, E, _, G, H);
      }
      function D(g, E, _, c, A, H, G) {
        var te = new Uint8Array(32);
        I(te, H, G, O);
        for (var le = new Uint8Array(8), Be = 0; Be < 8; Be++) le[Be] = H[Be + 16];
        return N(g, E, _, c, A, le, te);
      }
      var P = function(g) {
        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 E, _, c, A, H, G, te, le;
        E = g[0] & 255 | (g[1] & 255) << 8, this.r[0] = E & 8191, _ = g[2] & 255 | (g[3] & 255) << 8, this.r[1] = (E >>> 13 | _ << 3) & 8191, c = g[4] & 255 | (g[5] & 255) << 8, this.r[2] = (_ >>> 10 | c << 6) & 7939, A = g[6] & 255 | (g[7] & 255) << 8, this.r[3] = (c >>> 7 | A << 9) & 8191, H = g[8] & 255 | (g[9] & 255) << 8, this.r[4] = (A >>> 4 | H << 12) & 255, this.r[5] = H >>> 1 & 8190, G = g[10] & 255 | (g[11] & 255) << 8, this.r[6] = (H >>> 14 | G << 2) & 8191, te = g[12] & 255 | (g[13] & 255) << 8, this.r[7] = (G >>> 11 | te << 5) & 8065, le = g[14] & 255 | (g[15] & 255) << 8, this.r[8] = (te >>> 8 | le << 8) & 8191, this.r[9] = le >>> 5 & 127, this.pad[0] = g[16] & 255 | (g[17] & 255) << 8, this.pad[1] = g[18] & 255 | (g[19] & 255) << 8, this.pad[2] = g[20] & 255 | (g[21] & 255) << 8, this.pad[3] = g[22] & 255 | (g[23] & 255) << 8, this.pad[4] = g[24] & 255 | (g[25] & 255) << 8, this.pad[5] = g[26] & 255 | (g[27] & 255) << 8, this.pad[6] = g[28] & 255 | (g[29] & 255) << 8, this.pad[7] = g[30] & 255 | (g[31] & 255) << 8;
      };
      P.prototype.blocks = function(g, E, _) {
        for (var c = this.fin ? 0 : 2048, A, H, G, te, le, Be, ve, nr, we, Le, Ne, Ge, Ve, Ce, He, Pe, ke, Te, ye, Se = this.h[0], Ae = this.h[1], ge = this.h[2], Y = this.h[3], Z = this.h[4], oe = this.h[5], re = this.h[6], ae = this.h[7], se = this.h[8], qe = this.h[9], Ke = this.r[0], Ze = this.r[1], We = this.r[2], L = this.r[3], Qe = this.r[4], or = this.r[5], sr = this.r[6], Je = this.r[7], rr = this.r[8], tr = this.r[9]; _ >= 16; )
          A = g[E + 0] & 255 | (g[E + 1] & 255) << 8, Se += A & 8191, H = g[E + 2] & 255 | (g[E + 3] & 255) << 8, Ae += (A >>> 13 | H << 3) & 8191, G = g[E + 4] & 255 | (g[E + 5] & 255) << 8, ge += (H >>> 10 | G << 6) & 8191, te = g[E + 6] & 255 | (g[E + 7] & 255) << 8, Y += (G >>> 7 | te << 9) & 8191, le = g[E + 8] & 255 | (g[E + 9] & 255) << 8, Z += (te >>> 4 | le << 12) & 8191, oe += le >>> 1 & 8191, Be = g[E + 10] & 255 | (g[E + 11] & 255) << 8, re += (le >>> 14 | Be << 2) & 8191, ve = g[E + 12] & 255 | (g[E + 13] & 255) << 8, ae += (Be >>> 11 | ve << 5) & 8191, nr = g[E + 14] & 255 | (g[E + 15] & 255) << 8, se += (ve >>> 8 | nr << 8) & 8191, qe += nr >>> 5 | c, we = 0, Le = we, Le += Se * Ke, Le += Ae * (5 * tr), Le += ge * (5 * rr), Le += Y * (5 * Je), Le += Z * (5 * sr), we = Le >>> 13, Le &= 8191, Le += oe * (5 * or), Le += re * (5 * Qe), Le += ae * (5 * L), Le += se * (5 * We), Le += qe * (5 * Ze), we += Le >>> 13, Le &= 8191, Ne = we, Ne += Se * Ze, Ne += Ae * Ke, Ne += ge * (5 * tr), Ne += Y * (5 * rr), Ne += Z * (5 * Je), we = Ne >>> 13, Ne &= 8191, Ne += oe * (5 * sr), Ne += re * (5 * or), Ne += ae * (5 * Qe), Ne += se * (5 * L), Ne += qe * (5 * We), we += Ne >>> 13, Ne &= 8191, Ge = we, Ge += Se * We, Ge += Ae * Ze, Ge += ge * Ke, Ge += Y * (5 * tr), Ge += Z * (5 * rr), we = Ge >>> 13, Ge &= 8191, Ge += oe * (5 * Je), Ge += re * (5 * sr), Ge += ae * (5 * or), Ge += se * (5 * Qe), Ge += qe * (5 * L), we += Ge >>> 13, Ge &= 8191, Ve = we, Ve += Se * L, Ve += Ae * We, Ve += ge * Ze, Ve += Y * Ke, Ve += Z * (5 * tr), we = Ve >>> 13, Ve &= 8191, Ve += oe * (5 * rr), Ve += re * (5 * Je), Ve += ae * (5 * sr), Ve += se * (5 * or), Ve += qe * (5 * Qe), we += Ve >>> 13, Ve &= 8191, Ce = we, Ce += Se * Qe, Ce += Ae * L, Ce += ge * We, Ce += Y * Ze, Ce += Z * Ke, we = Ce >>> 13, Ce &= 8191, Ce += oe * (5 * tr), Ce += re * (5 * rr), Ce += ae * (5 * Je), Ce += se * (5 * sr), Ce += qe * (5 * or), we += Ce >>> 13, Ce &= 8191, He = we, He += Se * or, He += Ae * Qe, He += ge * L, He += Y * We, He += Z * Ze, we = He >>> 13, He &= 8191, He += oe * Ke, He += re * (5 * tr), He += ae * (5 * rr), He += se * (5 * Je), He += qe * (5 * sr), we += He >>> 13, He &= 8191, Pe = we, Pe += Se * sr, Pe += Ae * or, Pe += ge * Qe, Pe += Y * L, Pe += Z * We, we = Pe >>> 13, Pe &= 8191, Pe += oe * Ze, Pe += re * Ke, Pe += ae * (5 * tr), Pe += se * (5 * rr), Pe += qe * (5 * Je), we += Pe >>> 13, Pe &= 8191, ke = we, ke += Se * Je, ke += Ae * sr, ke += ge * or, ke += Y * Qe, ke += Z * L, we = ke >>> 13, ke &= 8191, ke += oe * We, ke += re * Ze, ke += ae * Ke, ke += se * (5 * tr), ke += qe * (5 * rr), we += ke >>> 13, ke &= 8191, Te = we, Te += Se * rr, Te += Ae * Je, Te += ge * sr, Te += Y * or, Te += Z * Qe, we = Te >>> 13, Te &= 8191, Te += oe * L, Te += re * We, Te += ae * Ze, Te += se * Ke, Te += qe * (5 * tr), we += Te >>> 13, Te &= 8191, ye = we, ye += Se * tr, ye += Ae * rr, ye += ge * Je, ye += Y * sr, ye += Z * or, we = ye >>> 13, ye &= 8191, ye += oe * Qe, ye += re * L, ye += ae * We, ye += se * Ze, ye += qe * Ke, we += ye >>> 13, ye &= 8191, we = (we << 2) + we | 0, we = we + Le | 0, Le = we & 8191, we = we >>> 13, Ne += we, Se = Le, Ae = Ne, ge = Ge, Y = Ve, Z = Ce, oe = He, re = Pe, ae = ke, se = Te, qe = ye, E += 16, _ -= 16;
        this.h[0] = Se, this.h[1] = Ae, this.h[2] = ge, this.h[3] = Y, this.h[4] = Z, this.h[5] = oe, this.h[6] = re, this.h[7] = ae, this.h[8] = se, this.h[9] = qe;
      }, P.prototype.finish = function(g, E) {
        var _ = new Uint16Array(10), c, A, H, G;
        if (this.leftover) {
          for (G = this.leftover, this.buffer[G++] = 1; G < 16; G++) this.buffer[G] = 0;
          this.fin = 1, this.blocks(this.buffer, 0, 16);
        }
        for (c = this.h[1] >>> 13, this.h[1] &= 8191, G = 2; G < 10; G++)
          this.h[G] += c, c = this.h[G] >>> 13, this.h[G] &= 8191;
        for (this.h[0] += c * 5, c = this.h[0] >>> 13, this.h[0] &= 8191, this.h[1] += c, c = this.h[1] >>> 13, this.h[1] &= 8191, this.h[2] += c, _[0] = this.h[0] + 5, c = _[0] >>> 13, _[0] &= 8191, G = 1; G < 10; G++)
          _[G] = this.h[G] + c, c = _[G] >>> 13, _[G] &= 8191;
        for (_[9] -= 8192, A = (c ^ 1) - 1, G = 0; G < 10; G++) _[G] &= A;
        for (A = ~A, G = 0; G < 10; G++) this.h[G] = this.h[G] & A | _[G];
        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, H = this.h[0] + this.pad[0], this.h[0] = H & 65535, G = 1; G < 8; G++)
          H = (this.h[G] + this.pad[G] | 0) + (H >>> 16) | 0, this.h[G] = H & 65535;
        g[E + 0] = this.h[0] >>> 0 & 255, g[E + 1] = this.h[0] >>> 8 & 255, g[E + 2] = this.h[1] >>> 0 & 255, g[E + 3] = this.h[1] >>> 8 & 255, g[E + 4] = this.h[2] >>> 0 & 255, g[E + 5] = this.h[2] >>> 8 & 255, g[E + 6] = this.h[3] >>> 0 & 255, g[E + 7] = this.h[3] >>> 8 & 255, g[E + 8] = this.h[4] >>> 0 & 255, g[E + 9] = this.h[4] >>> 8 & 255, g[E + 10] = this.h[5] >>> 0 & 255, g[E + 11] = this.h[5] >>> 8 & 255, g[E + 12] = this.h[6] >>> 0 & 255, g[E + 13] = this.h[6] >>> 8 & 255, g[E + 14] = this.h[7] >>> 0 & 255, g[E + 15] = this.h[7] >>> 8 & 255;
      }, P.prototype.update = function(g, E, _) {
        var c, A;
        if (this.leftover) {
          for (A = 16 - this.leftover, A > _ && (A = _), c = 0; c < A; c++)
            this.buffer[this.leftover + c] = g[E + c];
          if (_ -= A, E += A, this.leftover += A, this.leftover < 16)
            return;
          this.blocks(this.buffer, 0, 16), this.leftover = 0;
        }
        if (_ >= 16 && (A = _ - _ % 16, this.blocks(g, E, A), E += A, _ -= A), _) {
          for (c = 0; c < _; c++)
            this.buffer[this.leftover + c] = g[E + c];
          this.leftover += _;
        }
      };
      function J(g, E, _, c, A, H) {
        var G = new P(H);
        return G.update(_, c, A), G.finish(g, E), 0;
      }
      function K(g, E, _, c, A, H) {
        var G = new Uint8Array(16);
        return J(G, 0, _, c, A, H), S(g, E, G, 0);
      }
      function ie(g, E, _, c, A) {
        var H;
        if (_ < 32) return -1;
        for (D(g, 0, E, 0, _, c, A), J(g, 16, g, 32, _ - 32, g), H = 0; H < 16; H++) g[H] = 0;
        return 0;
      }
      function ce(g, E, _, c, A) {
        var H, G = new Uint8Array(32);
        if (_ < 32 || (z(G, 0, 32, c, A), K(E, 16, E, 32, _ - 32, G) !== 0)) return -1;
        for (D(g, 0, E, 0, _, c, A), H = 0; H < 32; H++) g[H] = 0;
        return 0;
      }
      function ue(g, E) {
        var _;
        for (_ = 0; _ < 16; _++) g[_] = E[_] | 0;
      }
      function xe(g) {
        var E, _, c = 1;
        for (E = 0; E < 16; E++)
          _ = g[E] + c + 65535, c = Math.floor(_ / 65536), g[E] = _ - c * 65536;
        g[0] += c - 1 + 37 * (c - 1);
      }
      function De(g, E, _) {
        for (var c, A = ~(_ - 1), H = 0; H < 16; H++)
          c = A & (g[H] ^ E[H]), g[H] ^= c, E[H] ^= c;
      }
      function F(g, E) {
        var _, c, A, H = t(), G = t();
        for (_ = 0; _ < 16; _++) G[_] = E[_];
        for (xe(G), xe(G), xe(G), c = 0; c < 2; c++) {
          for (H[0] = G[0] - 65517, _ = 1; _ < 15; _++)
            H[_] = G[_] - 65535 - (H[_ - 1] >> 16 & 1), H[_ - 1] &= 65535;
          H[15] = G[15] - 32767 - (H[14] >> 16 & 1), A = H[15] >> 16 & 1, H[14] &= 65535, De(G, H, 1 - A);
        }
        for (_ = 0; _ < 16; _++)
          g[2 * _] = G[_] & 255, g[2 * _ + 1] = G[_] >> 8;
      }
      function he(g, E) {
        var _ = new Uint8Array(32), c = new Uint8Array(32);
        return F(_, g), F(c, E), x(_, 0, c, 0);
      }
      function de(g) {
        var E = new Uint8Array(32);
        return F(E, g), E[0] & 1;
      }
      function Ee(g, E) {
        var _;
        for (_ = 0; _ < 16; _++) g[_] = E[2 * _] + (E[2 * _ + 1] << 8);
        g[15] &= 32767;
      }
      function Ie(g, E, _) {
        for (var c = 0; c < 16; c++) g[c] = E[c] + _[c];
      }
      function Ye(g, E, _) {
        for (var c = 0; c < 16; c++) g[c] = E[c] - _[c];
      }
      function Re(g, E, _) {
        var c, A, H = 0, G = 0, te = 0, le = 0, Be = 0, ve = 0, nr = 0, we = 0, Le = 0, Ne = 0, Ge = 0, Ve = 0, Ce = 0, He = 0, Pe = 0, ke = 0, Te = 0, ye = 0, Se = 0, Ae = 0, ge = 0, Y = 0, Z = 0, oe = 0, re = 0, ae = 0, se = 0, qe = 0, Ke = 0, Ze = 0, We = 0, L = _[0], Qe = _[1], or = _[2], sr = _[3], Je = _[4], rr = _[5], tr = _[6], xr = _[7], fr = _[8], gr = _[9], br = _[10], vr = _[11], Er = _[12], Ur = _[13], Dr = _[14], Lr = _[15];
        c = E[0], H += c * L, G += c * Qe, te += c * or, le += c * sr, Be += c * Je, ve += c * rr, nr += c * tr, we += c * xr, Le += c * fr, Ne += c * gr, Ge += c * br, Ve += c * vr, Ce += c * Er, He += c * Ur, Pe += c * Dr, ke += c * Lr, c = E[1], G += c * L, te += c * Qe, le += c * or, Be += c * sr, ve += c * Je, nr += c * rr, we += c * tr, Le += c * xr, Ne += c * fr, Ge += c * gr, Ve += c * br, Ce += c * vr, He += c * Er, Pe += c * Ur, ke += c * Dr, Te += c * Lr, c = E[2], te += c * L, le += c * Qe, Be += c * or, ve += c * sr, nr += c * Je, we += c * rr, Le += c * tr, Ne += c * xr, Ge += c * fr, Ve += c * gr, Ce += c * br, He += c * vr, Pe += c * Er, ke += c * Ur, Te += c * Dr, ye += c * Lr, c = E[3], le += c * L, Be += c * Qe, ve += c * or, nr += c * sr, we += c * Je, Le += c * rr, Ne += c * tr, Ge += c * xr, Ve += c * fr, Ce += c * gr, He += c * br, Pe += c * vr, ke += c * Er, Te += c * Ur, ye += c * Dr, Se += c * Lr, c = E[4], Be += c * L, ve += c * Qe, nr += c * or, we += c * sr, Le += c * Je, Ne += c * rr, Ge += c * tr, Ve += c * xr, Ce += c * fr, He += c * gr, Pe += c * br, ke += c * vr, Te += c * Er, ye += c * Ur, Se += c * Dr, Ae += c * Lr, c = E[5], ve += c * L, nr += c * Qe, we += c * or, Le += c * sr, Ne += c * Je, Ge += c * rr, Ve += c * tr, Ce += c * xr, He += c * fr, Pe += c * gr, ke += c * br, Te += c * vr, ye += c * Er, Se += c * Ur, Ae += c * Dr, ge += c * Lr, c = E[6], nr += c * L, we += c * Qe, Le += c * or, Ne += c * sr, Ge += c * Je, Ve += c * rr, Ce += c * tr, He += c * xr, Pe += c * fr, ke += c * gr, Te += c * br, ye += c * vr, Se += c * Er, Ae += c * Ur, ge += c * Dr, Y += c * Lr, c = E[7], we += c * L, Le += c * Qe, Ne += c * or, Ge += c * sr, Ve += c * Je, Ce += c * rr, He += c * tr, Pe += c * xr, ke += c * fr, Te += c * gr, ye += c * br, Se += c * vr, Ae += c * Er, ge += c * Ur, Y += c * Dr, Z += c * Lr, c = E[8], Le += c * L, Ne += c * Qe, Ge += c * or, Ve += c * sr, Ce += c * Je, He += c * rr, Pe += c * tr, ke += c * xr, Te += c * fr, ye += c * gr, Se += c * br, Ae += c * vr, ge += c * Er, Y += c * Ur, Z += c * Dr, oe += c * Lr, c = E[9], Ne += c * L, Ge += c * Qe, Ve += c * or, Ce += c * sr, He += c * Je, Pe += c * rr, ke += c * tr, Te += c * xr, ye += c * fr, Se += c * gr, Ae += c * br, ge += c * vr, Y += c * Er, Z += c * Ur, oe += c * Dr, re += c * Lr, c = E[10], Ge += c * L, Ve += c * Qe, Ce += c * or, He += c * sr, Pe += c * Je, ke += c * rr, Te += c * tr, ye += c * xr, Se += c * fr, Ae += c * gr, ge += c * br, Y += c * vr, Z += c * Er, oe += c * Ur, re += c * Dr, ae += c * Lr, c = E[11], Ve += c * L, Ce += c * Qe, He += c * or, Pe += c * sr, ke += c * Je, Te += c * rr, ye += c * tr, Se += c * xr, Ae += c * fr, ge += c * gr, Y += c * br, Z += c * vr, oe += c * Er, re += c * Ur, ae += c * Dr, se += c * Lr, c = E[12], Ce += c * L, He += c * Qe, Pe += c * or, ke += c * sr, Te += c * Je, ye += c * rr, Se += c * tr, Ae += c * xr, ge += c * fr, Y += c * gr, Z += c * br, oe += c * vr, re += c * Er, ae += c * Ur, se += c * Dr, qe += c * Lr, c = E[13], He += c * L, Pe += c * Qe, ke += c * or, Te += c * sr, ye += c * Je, Se += c * rr, Ae += c * tr, ge += c * xr, Y += c * fr, Z += c * gr, oe += c * br, re += c * vr, ae += c * Er, se += c * Ur, qe += c * Dr, Ke += c * Lr, c = E[14], Pe += c * L, ke += c * Qe, Te += c * or, ye += c * sr, Se += c * Je, Ae += c * rr, ge += c * tr, Y += c * xr, Z += c * fr, oe += c * gr, re += c * br, ae += c * vr, se += c * Er, qe += c * Ur, Ke += c * Dr, Ze += c * Lr, c = E[15], ke += c * L, Te += c * Qe, ye += c * or, Se += c * sr, Ae += c * Je, ge += c * rr, Y += c * tr, Z += c * xr, oe += c * fr, re += c * gr, ae += c * br, se += c * vr, qe += c * Er, Ke += c * Ur, Ze += c * Dr, We += c * Lr, H += 38 * Te, G += 38 * ye, te += 38 * Se, le += 38 * Ae, Be += 38 * ge, ve += 38 * Y, nr += 38 * Z, we += 38 * oe, Le += 38 * re, Ne += 38 * ae, Ge += 38 * se, Ve += 38 * qe, Ce += 38 * Ke, He += 38 * Ze, Pe += 38 * We, A = 1, c = H + A + 65535, A = Math.floor(c / 65536), H = c - A * 65536, c = G + A + 65535, A = Math.floor(c / 65536), G = c - A * 65536, c = te + A + 65535, A = Math.floor(c / 65536), te = c - A * 65536, c = le + A + 65535, A = Math.floor(c / 65536), le = c - A * 65536, c = Be + A + 65535, A = Math.floor(c / 65536), Be = c - A * 65536, c = ve + A + 65535, A = Math.floor(c / 65536), ve = c - A * 65536, c = nr + A + 65535, A = Math.floor(c / 65536), nr = c - A * 65536, c = we + A + 65535, A = Math.floor(c / 65536), we = c - A * 65536, c = Le + A + 65535, A = Math.floor(c / 65536), Le = c - A * 65536, c = Ne + A + 65535, A = Math.floor(c / 65536), Ne = c - A * 65536, c = Ge + A + 65535, A = Math.floor(c / 65536), Ge = c - A * 65536, c = Ve + A + 65535, A = Math.floor(c / 65536), Ve = c - A * 65536, c = Ce + A + 65535, A = Math.floor(c / 65536), Ce = c - A * 65536, c = He + A + 65535, A = Math.floor(c / 65536), He = c - A * 65536, c = Pe + A + 65535, A = Math.floor(c / 65536), Pe = c - A * 65536, c = ke + A + 65535, A = Math.floor(c / 65536), ke = c - A * 65536, H += A - 1 + 37 * (A - 1), A = 1, c = H + A + 65535, A = Math.floor(c / 65536), H = c - A * 65536, c = G + A + 65535, A = Math.floor(c / 65536), G = c - A * 65536, c = te + A + 65535, A = Math.floor(c / 65536), te = c - A * 65536, c = le + A + 65535, A = Math.floor(c / 65536), le = c - A * 65536, c = Be + A + 65535, A = Math.floor(c / 65536), Be = c - A * 65536, c = ve + A + 65535, A = Math.floor(c / 65536), ve = c - A * 65536, c = nr + A + 65535, A = Math.floor(c / 65536), nr = c - A * 65536, c = we + A + 65535, A = Math.floor(c / 65536), we = c - A * 65536, c = Le + A + 65535, A = Math.floor(c / 65536), Le = c - A * 65536, c = Ne + A + 65535, A = Math.floor(c / 65536), Ne = c - A * 65536, c = Ge + A + 65535, A = Math.floor(c / 65536), Ge = c - A * 65536, c = Ve + A + 65535, A = Math.floor(c / 65536), Ve = c - A * 65536, c = Ce + A + 65535, A = Math.floor(c / 65536), Ce = c - A * 65536, c = He + A + 65535, A = Math.floor(c / 65536), He = c - A * 65536, c = Pe + A + 65535, A = Math.floor(c / 65536), Pe = c - A * 65536, c = ke + A + 65535, A = Math.floor(c / 65536), ke = c - A * 65536, H += A - 1 + 37 * (A - 1), g[0] = H, g[1] = G, g[2] = te, g[3] = le, g[4] = Be, g[5] = ve, g[6] = nr, g[7] = we, g[8] = Le, g[9] = Ne, g[10] = Ge, g[11] = Ve, g[12] = Ce, g[13] = He, g[14] = Pe, g[15] = ke;
      }
      function $(g, E) {
        Re(g, E, E);
      }
      function V(g, E) {
        var _ = t(), c;
        for (c = 0; c < 16; c++) _[c] = E[c];
        for (c = 253; c >= 0; c--)
          $(_, _), c !== 2 && c !== 4 && Re(_, _, E);
        for (c = 0; c < 16; c++) g[c] = _[c];
      }
      function ee(g, E) {
        var _ = t(), c;
        for (c = 0; c < 16; c++) _[c] = E[c];
        for (c = 250; c >= 0; c--)
          $(_, _), c !== 1 && Re(_, _, E);
        for (c = 0; c < 16; c++) g[c] = _[c];
      }
      function pe(g, E, _) {
        var c = new Uint8Array(32), A = new Float64Array(80), H, G, te = t(), le = t(), Be = t(), ve = t(), nr = t(), we = t();
        for (G = 0; G < 31; G++) c[G] = E[G];
        for (c[31] = E[31] & 127 | 64, c[0] &= 248, Ee(A, _), G = 0; G < 16; G++)
          le[G] = A[G], ve[G] = te[G] = Be[G] = 0;
        for (te[0] = ve[0] = 1, G = 254; G >= 0; --G)
          H = c[G >>> 3] >>> (G & 7) & 1, De(te, le, H), De(Be, ve, H), Ie(nr, te, Be), Ye(te, te, Be), Ie(Be, le, ve), Ye(le, le, ve), $(ve, nr), $(we, te), Re(te, Be, te), Re(Be, le, nr), Ie(nr, te, Be), Ye(te, te, Be), $(le, te), Ye(Be, ve, we), Re(te, Be, u), Ie(te, te, ve), Re(Be, Be, te), Re(te, ve, we), Re(ve, le, A), $(le, nr), De(te, le, H), De(Be, ve, H);
        for (G = 0; G < 16; G++)
          A[G + 16] = te[G], A[G + 32] = Be[G], A[G + 48] = le[G], A[G + 64] = ve[G];
        var Le = A.subarray(32), Ne = A.subarray(16);
        return V(Le, Le), Re(Ne, Ne, Le), F(g, Ne), 0;
      }
      function me(g, E) {
        return pe(g, E, i);
      }
      function j(g, E) {
        return a(E, 32), me(g, E);
      }
      function R(g, E, _) {
        var c = new Uint8Array(32);
        return pe(c, _, E), I(g, n, c, O);
      }
      var X = ie, fe = ce;
      function er(g, E, _, c, A, H) {
        var G = new Uint8Array(32);
        return R(G, A, H), X(g, E, _, c, G);
      }
      function ze(g, E, _, c, A, H) {
        var G = new Uint8Array(32);
        return R(G, A, H), fe(g, E, _, c, G);
      }
      var Xe = [
        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 zr(g, E, _, c) {
        for (var A = new Int32Array(16), H = new Int32Array(16), G, te, le, Be, ve, nr, we, Le, Ne, Ge, Ve, Ce, He, Pe, ke, Te, ye, Se, Ae, ge, Y, Z, oe, re, ae, se, qe = g[0], Ke = g[1], Ze = g[2], We = g[3], L = g[4], Qe = g[5], or = g[6], sr = g[7], Je = E[0], rr = E[1], tr = E[2], xr = E[3], fr = E[4], gr = E[5], br = E[6], vr = E[7], Er = 0; c >= 128; ) {
          for (Ae = 0; Ae < 16; Ae++)
            ge = 8 * Ae + Er, A[Ae] = _[ge + 0] << 24 | _[ge + 1] << 16 | _[ge + 2] << 8 | _[ge + 3], H[Ae] = _[ge + 4] << 24 | _[ge + 5] << 16 | _[ge + 6] << 8 | _[ge + 7];
          for (Ae = 0; Ae < 80; Ae++)
            if (G = qe, te = Ke, le = Ze, Be = We, ve = L, nr = Qe, we = or, Le = sr, Ne = Je, Ge = rr, Ve = tr, Ce = xr, He = fr, Pe = gr, ke = br, Te = vr, Y = sr, Z = vr, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = (L >>> 14 | fr << 18) ^ (L >>> 18 | fr << 14) ^ (fr >>> 9 | L << 23), Z = (fr >>> 14 | L << 18) ^ (fr >>> 18 | L << 14) ^ (L >>> 9 | fr << 23), oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, Y = L & Qe ^ ~L & or, Z = fr & gr ^ ~fr & br, oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, Y = Xe[Ae * 2], Z = Xe[Ae * 2 + 1], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, Y = A[Ae % 16], Z = H[Ae % 16], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, ye = ae & 65535 | se << 16, Se = oe & 65535 | re << 16, Y = ye, Z = Se, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = (qe >>> 28 | Je << 4) ^ (Je >>> 2 | qe << 30) ^ (Je >>> 7 | qe << 25), Z = (Je >>> 28 | qe << 4) ^ (qe >>> 2 | Je << 30) ^ (qe >>> 7 | Je << 25), oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, Y = qe & Ke ^ qe & Ze ^ Ke & Ze, Z = Je & rr ^ Je & tr ^ rr & tr, oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, Le = ae & 65535 | se << 16, Te = oe & 65535 | re << 16, Y = Be, Z = Ce, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = ye, Z = Se, oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, Be = ae & 65535 | se << 16, Ce = oe & 65535 | re << 16, Ke = G, Ze = te, We = le, L = Be, Qe = ve, or = nr, sr = we, qe = Le, rr = Ne, tr = Ge, xr = Ve, fr = Ce, gr = He, br = Pe, vr = ke, Je = Te, Ae % 16 === 15)
              for (ge = 0; ge < 16; ge++)
                Y = A[ge], Z = H[ge], oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = A[(ge + 9) % 16], Z = H[(ge + 9) % 16], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, ye = A[(ge + 1) % 16], Se = H[(ge + 1) % 16], Y = (ye >>> 1 | Se << 31) ^ (ye >>> 8 | Se << 24) ^ ye >>> 7, Z = (Se >>> 1 | ye << 31) ^ (Se >>> 8 | ye << 24) ^ (Se >>> 7 | ye << 25), oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, ye = A[(ge + 14) % 16], Se = H[(ge + 14) % 16], Y = (ye >>> 19 | Se << 13) ^ (Se >>> 29 | ye << 3) ^ ye >>> 6, Z = (Se >>> 19 | ye << 13) ^ (ye >>> 29 | Se << 3) ^ (Se >>> 6 | ye << 26), oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, A[ge] = ae & 65535 | se << 16, H[ge] = oe & 65535 | re << 16;
          Y = qe, Z = Je, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = g[0], Z = E[0], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, g[0] = qe = ae & 65535 | se << 16, E[0] = Je = oe & 65535 | re << 16, Y = Ke, Z = rr, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = g[1], Z = E[1], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, g[1] = Ke = ae & 65535 | se << 16, E[1] = rr = oe & 65535 | re << 16, Y = Ze, Z = tr, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = g[2], Z = E[2], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, g[2] = Ze = ae & 65535 | se << 16, E[2] = tr = oe & 65535 | re << 16, Y = We, Z = xr, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = g[3], Z = E[3], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, g[3] = We = ae & 65535 | se << 16, E[3] = xr = oe & 65535 | re << 16, Y = L, Z = fr, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = g[4], Z = E[4], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, g[4] = L = ae & 65535 | se << 16, E[4] = fr = oe & 65535 | re << 16, Y = Qe, Z = gr, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = g[5], Z = E[5], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, g[5] = Qe = ae & 65535 | se << 16, E[5] = gr = oe & 65535 | re << 16, Y = or, Z = br, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = g[6], Z = E[6], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, g[6] = or = ae & 65535 | se << 16, E[6] = br = oe & 65535 | re << 16, Y = sr, Z = vr, oe = Z & 65535, re = Z >>> 16, ae = Y & 65535, se = Y >>> 16, Y = g[7], Z = E[7], oe += Z & 65535, re += Z >>> 16, ae += Y & 65535, se += Y >>> 16, re += oe >>> 16, ae += re >>> 16, se += ae >>> 16, g[7] = sr = ae & 65535 | se << 16, E[7] = vr = oe & 65535 | re << 16, Er += 128, c -= 128;
        }
        return c;
      }
      function yr(g, E, _) {
        var c = new Int32Array(8), A = new Int32Array(8), H = new Uint8Array(256), G, te = _;
        for (c[0] = 1779033703, c[1] = 3144134277, c[2] = 1013904242, c[3] = 2773480762, c[4] = 1359893119, c[5] = 2600822924, c[6] = 528734635, c[7] = 1541459225, A[0] = 4089235720, A[1] = 2227873595, A[2] = 4271175723, A[3] = 1595750129, A[4] = 2917565137, A[5] = 725511199, A[6] = 4215389547, A[7] = 327033209, zr(c, A, E, _), _ %= 128, G = 0; G < _; G++) H[G] = E[te - _ + G];
        for (H[_] = 128, _ = 256 - 128 * (_ < 112 ? 1 : 0), H[_ - 9] = 0, b(H, _ - 8, te / 536870912 | 0, te << 3), zr(c, A, H, _), G = 0; G < 8; G++) b(g, 8 * G, c[G], A[G]);
        return 0;
      }
      function wr(g, E) {
        var _ = t(), c = t(), A = t(), H = t(), G = t(), te = t(), le = t(), Be = t(), ve = t();
        Ye(_, g[1], g[0]), Ye(ve, E[1], E[0]), Re(_, _, ve), Ie(c, g[0], g[1]), Ie(ve, E[0], E[1]), Re(c, c, ve), Re(A, g[3], E[3]), Re(A, A, f), Re(H, g[2], E[2]), Ie(H, H, H), Ye(G, c, _), Ye(te, H, A), Ie(le, H, A), Ie(Be, c, _), Re(g[0], G, te), Re(g[1], Be, le), Re(g[2], le, te), Re(g[3], G, Be);
      }
      function ar(g, E, _) {
        var c;
        for (c = 0; c < 4; c++)
          De(g[c], E[c], _);
      }
      function ur(g, E) {
        var _ = t(), c = t(), A = t();
        V(A, E[2]), Re(_, E[0], A), Re(c, E[1], A), F(g, c), g[31] ^= de(_) << 7;
      }
      function _r(g, E, _) {
        var c, A;
        for (ue(g[0], s), ue(g[1], o), ue(g[2], o), ue(g[3], s), A = 255; A >= 0; --A)
          c = _[A / 8 | 0] >> (A & 7) & 1, ar(g, E, c), wr(E, g), wr(g, g), ar(g, E, c);
      }
      function Rr(g, E) {
        var _ = [t(), t(), t(), t()];
        ue(_[0], p), ue(_[1], d), ue(_[2], o), Re(_[3], p, d), _r(g, _, E);
      }
      function Or(g, E, _) {
        var c = new Uint8Array(64), A = [t(), t(), t(), t()], H;
        for (_ || a(E, 32), yr(c, E, 32), c[0] &= 248, c[31] &= 127, c[31] |= 64, Rr(A, c), ur(g, A), H = 0; H < 32; H++) E[H + 32] = g[H];
        return 0;
      }
      var Zr = 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 w(g, E) {
        var _, c, A, H;
        for (c = 63; c >= 32; --c) {
          for (_ = 0, A = c - 32, H = c - 12; A < H; ++A)
            E[A] += _ - 16 * E[c] * Zr[A - (c - 32)], _ = Math.floor((E[A] + 128) / 256), E[A] -= _ * 256;
          E[A] += _, E[c] = 0;
        }
        for (_ = 0, A = 0; A < 32; A++)
          E[A] += _ - (E[31] >> 4) * Zr[A], _ = E[A] >> 8, E[A] &= 255;
        for (A = 0; A < 32; A++) E[A] -= _ * Zr[A];
        for (c = 0; c < 32; c++)
          E[c + 1] += E[c] >> 8, g[c] = E[c] & 255;
      }
      function h(g) {
        var E = new Float64Array(64), _;
        for (_ = 0; _ < 64; _++) E[_] = g[_];
        for (_ = 0; _ < 64; _++) g[_] = 0;
        w(g, E);
      }
      function m(g, E, _, c) {
        var A = new Uint8Array(64), H = new Uint8Array(64), G = new Uint8Array(64), te, le, Be = new Float64Array(64), ve = [t(), t(), t(), t()];
        yr(A, c, 32), A[0] &= 248, A[31] &= 127, A[31] |= 64;
        var nr = _ + 64;
        for (te = 0; te < _; te++) g[64 + te] = E[te];
        for (te = 0; te < 32; te++) g[32 + te] = A[32 + te];
        for (yr(G, g.subarray(32), _ + 32), h(G), Rr(ve, G), ur(g, ve), te = 32; te < 64; te++) g[te] = c[te];
        for (yr(H, g, _ + 64), h(H), te = 0; te < 64; te++) Be[te] = 0;
        for (te = 0; te < 32; te++) Be[te] = G[te];
        for (te = 0; te < 32; te++)
          for (le = 0; le < 32; le++)
            Be[te + le] += H[te] * A[le];
        return w(g.subarray(32), Be), nr;
      }
      function q(g, E) {
        var _ = t(), c = t(), A = t(), H = t(), G = t(), te = t(), le = t();
        return ue(g[2], o), Ee(g[1], E), $(A, g[1]), Re(H, A, l), Ye(A, A, g[2]), Ie(H, g[2], H), $(G, H), $(te, G), Re(le, te, G), Re(_, le, A), Re(_, _, H), ee(_, _), Re(_, _, A), Re(_, _, H), Re(_, _, H), Re(g[0], _, H), $(c, g[0]), Re(c, c, H), he(c, A) && Re(g[0], g[0], y), $(c, g[0]), Re(c, c, H), he(c, A) ? -1 : (de(g[0]) === E[31] >> 7 && Ye(g[0], s, g[0]), Re(g[3], g[0], g[1]), 0);
      }
      function C(g, E, _, c) {
        var A, H = new Uint8Array(32), G = new Uint8Array(64), te = [t(), t(), t(), t()], le = [t(), t(), t(), t()];
        if (_ < 64 || q(le, c)) return -1;
        for (A = 0; A < _; A++) g[A] = E[A];
        for (A = 0; A < 32; A++) g[A + 32] = c[A];
        if (yr(G, g, _), h(G), _r(te, le, G), Rr(le, E.subarray(32)), wr(te, le), ur(H, te), _ -= 64, x(E, 0, H, 0)) {
          for (A = 0; A < _; A++) g[A] = 0;
          return -1;
        }
        for (A = 0; A < _; A++) g[A] = E[A + 64];
        return _;
      }
      var W = 32, Q = 24, $e = 32, lr = 16, cr = 32, dr = 32, ir = 32, ea = 32, li = 32, Ho = Q, $f = $e, Vf = lr, lt = 64, Ot = 32, Pt = 64, fi = 32, di = 64;
      r.lowlevel = {
        crypto_core_hsalsa20: I,
        crypto_stream_xor: D,
        crypto_stream: z,
        crypto_stream_salsa20_xor: N,
        crypto_stream_salsa20: M,
        crypto_onetimeauth: J,
        crypto_onetimeauth_verify: K,
        crypto_verify_16: S,
        crypto_verify_32: x,
        crypto_secretbox: ie,
        crypto_secretbox_open: ce,
        crypto_scalarmult: pe,
        crypto_scalarmult_base: me,
        crypto_box_beforenm: R,
        crypto_box_afternm: X,
        crypto_box: er,
        crypto_box_open: ze,
        crypto_box_keypair: j,
        crypto_hash: yr,
        crypto_sign: m,
        crypto_sign_keypair: Or,
        crypto_sign_open: C,
        crypto_secretbox_KEYBYTES: W,
        crypto_secretbox_NONCEBYTES: Q,
        crypto_secretbox_ZEROBYTES: $e,
        crypto_secretbox_BOXZEROBYTES: lr,
        crypto_scalarmult_BYTES: cr,
        crypto_scalarmult_SCALARBYTES: dr,
        crypto_box_PUBLICKEYBYTES: ir,
        crypto_box_SECRETKEYBYTES: ea,
        crypto_box_BEFORENMBYTES: li,
        crypto_box_NONCEBYTES: Ho,
        crypto_box_ZEROBYTES: $f,
        crypto_box_BOXZEROBYTES: Vf,
        crypto_sign_BYTES: lt,
        crypto_sign_PUBLICKEYBYTES: Ot,
        crypto_sign_SECRETKEYBYTES: Pt,
        crypto_sign_SEEDBYTES: fi,
        crypto_hash_BYTES: di,
        gf: t,
        D: l,
        L: Zr,
        pack25519: F,
        unpack25519: Ee,
        M: Re,
        A: Ie,
        S: $,
        Z: Ye,
        pow2523: ee,
        add: wr,
        set25519: ue,
        modL: w,
        scalarmult: _r,
        scalarbase: Rr
      };
      function Fo(g, E) {
        if (g.length !== W) throw new Error("bad key size");
        if (E.length !== Q) throw new Error("bad nonce size");
      }
      function Gf(g, E) {
        if (g.length !== ir) throw new Error("bad public key size");
        if (E.length !== ea) throw new Error("bad secret key size");
      }
      function Yr() {
        for (var g = 0; g < arguments.length; g++)
          if (!(arguments[g] instanceof Uint8Array))
            throw new TypeError("unexpected type, use Uint8Array");
      }
      function $o(g) {
        for (var E = 0; E < g.length; E++) g[E] = 0;
      }
      r.randomBytes = function(g) {
        var E = new Uint8Array(g);
        return a(E, g), E;
      }, r.secretbox = function(g, E, _) {
        Yr(g, E, _), Fo(_, E);
        for (var c = new Uint8Array($e + g.length), A = new Uint8Array(c.length), H = 0; H < g.length; H++) c[H + $e] = g[H];
        return ie(A, c, c.length, E, _), A.subarray(lr);
      }, r.secretbox.open = function(g, E, _) {
        Yr(g, E, _), Fo(_, E);
        for (var c = new Uint8Array(lr + g.length), A = new Uint8Array(c.length), H = 0; H < g.length; H++) c[H + lr] = g[H];
        return c.length < 32 || ce(A, c, c.length, E, _) !== 0 ? null : A.subarray($e);
      }, r.secretbox.keyLength = W, r.secretbox.nonceLength = Q, r.secretbox.overheadLength = lr, r.scalarMult = function(g, E) {
        if (Yr(g, E), g.length !== dr) throw new Error("bad n size");
        if (E.length !== cr) throw new Error("bad p size");
        var _ = new Uint8Array(cr);
        return pe(_, g, E), _;
      }, r.scalarMult.base = function(g) {
        if (Yr(g), g.length !== dr) throw new Error("bad n size");
        var E = new Uint8Array(cr);
        return me(E, g), E;
      }, r.scalarMult.scalarLength = dr, r.scalarMult.groupElementLength = cr, r.box = function(g, E, _, c) {
        var A = r.box.before(_, c);
        return r.secretbox(g, E, A);
      }, r.box.before = function(g, E) {
        Yr(g, E), Gf(g, E);
        var _ = new Uint8Array(li);
        return R(_, g, E), _;
      }, r.box.after = r.secretbox, r.box.open = function(g, E, _, c) {
        var A = r.box.before(_, c);
        return r.secretbox.open(g, E, A);
      }, r.box.open.after = r.secretbox.open, r.box.keyPair = function() {
        var g = new Uint8Array(ir), E = new Uint8Array(ea);
        return j(g, E), { publicKey: g, secretKey: E };
      }, r.box.keyPair.fromSecretKey = function(g) {
        if (Yr(g), g.length !== ea)
          throw new Error("bad secret key size");
        var E = new Uint8Array(ir);
        return me(E, g), { publicKey: E, secretKey: new Uint8Array(g) };
      }, r.box.publicKeyLength = ir, r.box.secretKeyLength = ea, r.box.sharedKeyLength = li, r.box.nonceLength = Ho, r.box.overheadLength = r.secretbox.overheadLength, r.sign = function(g, E) {
        if (Yr(g, E), E.length !== Pt)
          throw new Error("bad secret key size");
        var _ = new Uint8Array(lt + g.length);
        return m(_, g, g.length, E), _;
      }, r.sign.open = function(g, E) {
        if (Yr(g, E), E.length !== Ot)
          throw new Error("bad public key size");
        var _ = new Uint8Array(g.length), c = C(_, g, g.length, E);
        if (c < 0) return null;
        for (var A = new Uint8Array(c), H = 0; H < A.length; H++) A[H] = _[H];
        return A;
      }, r.sign.detached = function(g, E) {
        for (var _ = r.sign(g, E), c = new Uint8Array(lt), A = 0; A < c.length; A++) c[A] = _[A];
        return c;
      }, r.sign.detached.verify = function(g, E, _) {
        if (Yr(g, E, _), E.length !== lt)
          throw new Error("bad signature size");
        if (_.length !== Ot)
          throw new Error("bad public key size");
        var c = new Uint8Array(lt + g.length), A = new Uint8Array(lt + g.length), H;
        for (H = 0; H < lt; H++) c[H] = E[H];
        for (H = 0; H < g.length; H++) c[H + lt] = g[H];
        return C(A, c, c.length, _) >= 0;
      }, r.sign.keyPair = function() {
        var g = new Uint8Array(Ot), E = new Uint8Array(Pt);
        return Or(g, E), { publicKey: g, secretKey: E };
      }, r.sign.keyPair.fromSecretKey = function(g) {
        if (Yr(g), g.length !== Pt)
          throw new Error("bad secret key size");
        for (var E = new Uint8Array(Ot), _ = 0; _ < E.length; _++) E[_] = g[32 + _];
        return { publicKey: E, secretKey: new Uint8Array(g) };
      }, r.sign.keyPair.fromSeed = function(g) {
        if (Yr(g), g.length !== fi)
          throw new Error("bad seed size");
        for (var E = new Uint8Array(Ot), _ = new Uint8Array(Pt), c = 0; c < 32; c++) _[c] = g[c];
        return Or(E, _, !0), { publicKey: E, secretKey: _ };
      }, r.sign.publicKeyLength = Ot, r.sign.secretKeyLength = Pt, r.sign.seedLength = fi, r.sign.signatureLength = lt, r.hash = function(g) {
        Yr(g);
        var E = new Uint8Array(di);
        return yr(E, g, g.length), E;
      }, r.hash.hashLength = di, r.verify = function(g, E) {
        return Yr(g, E), g.length === 0 || E.length === 0 || g.length !== E.length ? !1 : v(g, 0, E, 0, g.length) === 0;
      }, r.setPRNG = function(g) {
        a = g;
      }, function() {
        var g = typeof self < "u" ? self.crypto || self.msCrypto : null;
        if (g && g.getRandomValues) {
          var E = 65536;
          r.setPRNG(function(_, c) {
            var A, H = new Uint8Array(c);
            for (A = 0; A < c; A += E)
              g.getRandomValues(H.subarray(A, A + Math.min(c - A, E)));
            for (A = 0; A < c; A++) _[A] = H[A];
            $o(H);
          });
        } else typeof yd < "u" && (g = Dc, g && g.randomBytes && r.setPRNG(function(_, c) {
          var A, H = g.randomBytes(c);
          for (A = 0; A < c; A++) _[A] = H[A];
          $o(H);
        }));
      }();
    })(e.exports ? e.exports : self.nacl = self.nacl || {});
  }(hi)), hi.exports;
}
var xd = Nc();
const Na = /* @__PURE__ */ hd(xd);
var Kt = /* @__PURE__ */ ((e) => (e.USER = "user", e.ADMIN = "admin", e))(Kt || {}), Xr = {}, Qr = {}, hr = {}, Nr = {}, pi = {}, ra = {}, Zo;
function wd() {
  return Zo || (Zo = 1, Object.defineProperty(ra, "__esModule", { value: !0 }), ra.crypto = void 0, ra.crypto = typeof globalThis == "object" && "crypto" in globalThis ? globalThis.crypto : void 0), ra;
}
var Xo;
function pa() {
  return Xo || (Xo = 1, function(e) {
    /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
    Object.defineProperty(e, "__esModule", { value: !0 }), e.wrapXOFConstructorWithOpts = e.wrapConstructorWithOpts = e.wrapConstructor = e.Hash = e.nextTick = e.swap32IfBE = e.byteSwapIfBE = e.swap8IfBE = e.isLE = void 0, e.isBytes = t, e.anumber = a, e.abytes = n, e.ahash = i, e.aexists = s, e.aoutput = o, e.u8 = u, e.u32 = l, e.clean = f, e.createView = p, e.rotr = d, e.rotl = y, e.byteSwap = b, e.byteSwap32 = v, e.bytesToHex = T, e.hexToBytes = I, e.asyncLoop = N, e.utf8ToBytes = M, e.bytesToUtf8 = z, e.toBytes = D, e.kdfInputToBytes = P, e.concatBytes = J, e.checkOpts = K, e.createHasher = ce, e.createOptHasher = ue, e.createXOFer = xe, e.randomBytes = De;
    const r = /* @__PURE__ */ wd();
    function t(F) {
      return F instanceof Uint8Array || ArrayBuffer.isView(F) && F.constructor.name === "Uint8Array";
    }
    function a(F) {
      if (!Number.isSafeInteger(F) || F < 0)
        throw new Error("positive integer expected, got " + F);
    }
    function n(F, ...he) {
      if (!t(F))
        throw new Error("Uint8Array expected");
      if (he.length > 0 && !he.includes(F.length))
        throw new Error("Uint8Array expected of length " + he + ", got length=" + F.length);
    }
    function i(F) {
      if (typeof F != "function" || typeof F.create != "function")
        throw new Error("Hash should be wrapped by utils.createHasher");
      a(F.outputLen), a(F.blockLen);
    }
    function s(F, he = !0) {
      if (F.destroyed)
        throw new Error("Hash instance has been destroyed");
      if (he && F.finished)
        throw new Error("Hash#digest() has already been called");
    }
    function o(F, he) {
      n(F);
      const de = he.outputLen;
      if (F.length < de)
        throw new Error("digestInto() expects output buffer of length at least " + de);
    }
    function u(F) {
      return new Uint8Array(F.buffer, F.byteOffset, F.byteLength);
    }
    function l(F) {
      return new Uint32Array(F.buffer, F.byteOffset, Math.floor(F.byteLength / 4));
    }
    function f(...F) {
      for (let he = 0; he < F.length; he++)
        F[he].fill(0);
    }
    function p(F) {
      return new DataView(F.buffer, F.byteOffset, F.byteLength);
    }
    function d(F, he) {
      return F << 32 - he | F >>> he;
    }
    function y(F, he) {
      return F << he | F >>> 32 - he >>> 0;
    }
    e.isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
    function b(F) {
      return F << 24 & 4278190080 | F << 8 & 16711680 | F >>> 8 & 65280 | F >>> 24 & 255;
    }
    e.swap8IfBE = e.isLE ? (F) => F : (F) => b(F), e.byteSwapIfBE = e.swap8IfBE;
    function v(F) {
      for (let he = 0; he < F.length; he++)
        F[he] = b(F[he]);
      return F;
    }
    e.swap32IfBE = e.isLE ? (F) => F : v;
    const S = /* @ts-ignore */ typeof Uint8Array.from([]).toHex == "function" && typeof Uint8Array.fromHex == "function", x = /* @__PURE__ */ Array.from({ length: 256 }, (F, he) => he.toString(16).padStart(2, "0"));
    function T(F) {
      if (n(F), S)
        return F.toHex();
      let he = "";
      for (let de = 0; de < F.length; de++)
        he += x[F[de]];
      return he;
    }
    const k = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };
    function B(F) {
      if (F >= k._0 && F <= k._9)
        return F - k._0;
      if (F >= k.A && F <= k.F)
        return F - (k.A - 10);
      if (F >= k.a && F <= k.f)
        return F - (k.a - 10);
    }
    function I(F) {
      if (typeof F != "string")
        throw new Error("hex string expected, got " + typeof F);
      if (S)
        return Uint8Array.fromHex(F);
      const he = F.length, de = he / 2;
      if (he % 2)
        throw new Error("hex string expected, got unpadded hex of length " + he);
      const Ee = new Uint8Array(de);
      for (let Ie = 0, Ye = 0; Ie < de; Ie++, Ye += 2) {
        const Re = B(F.charCodeAt(Ye)), $ = B(F.charCodeAt(Ye + 1));
        if (Re === void 0 || $ === void 0) {
          const V = F[Ye] + F[Ye + 1];
          throw new Error('hex string expected, got non-hex character "' + V + '" at index ' + Ye);
        }
        Ee[Ie] = Re * 16 + $;
      }
      return Ee;
    }
    const O = async () => {
    };
    e.nextTick = O;
    async function N(F, he, de) {
      let Ee = Date.now();
      for (let Ie = 0; Ie < F; Ie++) {
        de(Ie);
        const Ye = Date.now() - Ee;
        Ye >= 0 && Ye < he || (await (0, e.nextTick)(), Ee += Ye);
      }
    }
    function M(F) {
      if (typeof F != "string")
        throw new Error("string expected");
      return new Uint8Array(new TextEncoder().encode(F));
    }
    function z(F) {
      return new TextDecoder().decode(F);
    }
    function D(F) {
      return typeof F == "string" && (F = M(F)), n(F), F;
    }
    function P(F) {
      return typeof F == "string" && (F = M(F)), n(F), F;
    }
    function J(...F) {
      let he = 0;
      for (let Ee = 0; Ee < F.length; Ee++) {
        const Ie = F[Ee];
        n(Ie), he += Ie.length;
      }
      const de = new Uint8Array(he);
      for (let Ee = 0, Ie = 0; Ee < F.length; Ee++) {
        const Ye = F[Ee];
        de.set(Ye, Ie), Ie += Ye.length;
      }
      return de;
    }
    function K(F, he) {
      if (he !== void 0 && {}.toString.call(he) !== "[object Object]")
        throw new Error("options should be object or undefined");
      return Object.assign(F, he);
    }
    class ie {
    }
    e.Hash = ie;
    function ce(F) {
      const he = (Ee) => F().update(D(Ee)).digest(), de = F();
      return he.outputLen = de.outputLen, he.blockLen = de.blockLen, he.create = () => F(), he;
    }
    function ue(F) {
      const he = (Ee, Ie) => F(Ie).update(D(Ee)).digest(), de = F({});
      return he.outputLen = de.outputLen, he.blockLen = de.blockLen, he.create = (Ee) => F(Ee), he;
    }
    function xe(F) {
      const he = (Ee, Ie) => F(Ie).update(D(Ee)).digest(), de = F({});
      return he.outputLen = de.outputLen, he.blockLen = de.blockLen, he.create = (Ee) => F(Ee), he;
    }
    e.wrapConstructor = ce, e.wrapConstructorWithOpts = ue, e.wrapXOFConstructorWithOpts = xe;
    function De(F = 32) {
      if (r.crypto && typeof r.crypto.getRandomValues == "function")
        return r.crypto.getRandomValues(new Uint8Array(F));
      if (r.crypto && typeof r.crypto.randomBytes == "function")
        return Uint8Array.from(r.crypto.randomBytes(F));
      throw new Error("crypto.getRandomValues must be defined");
    }
  }(pi)), pi;
}
var Jo;
function _d() {
  if (Jo) return Nr;
  Jo = 1, Object.defineProperty(Nr, "__esModule", { value: !0 }), Nr.SHA512_IV = Nr.SHA384_IV = Nr.SHA224_IV = Nr.SHA256_IV = Nr.HashMD = void 0, Nr.setBigUint64 = r, Nr.Chi = t, Nr.Maj = a;
  const e = /* @__PURE__ */ pa();
  function r(i, s, o, u) {
    if (typeof i.setBigUint64 == "function")
      return i.setBigUint64(s, o, u);
    const l = BigInt(32), f = BigInt(4294967295), p = Number(o >> l & f), d = Number(o & f), y = u ? 4 : 0, b = u ? 0 : 4;
    i.setUint32(s + y, p, u), i.setUint32(s + b, d, u);
  }
  function t(i, s, o) {
    return i & s ^ ~i & o;
  }
  function a(i, s, o) {
    return i & s ^ i & o ^ s & o;
  }
  class n extends e.Hash {
    constructor(s, o, u, l) {
      super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = s, this.outputLen = o, this.padOffset = u, this.isLE = l, this.buffer = new Uint8Array(s), this.view = (0, e.createView)(this.buffer);
    }
    update(s) {
      (0, e.aexists)(this), s = (0, e.toBytes)(s), (0, e.abytes)(s);
      const { view: o, buffer: u, blockLen: l } = this, f = s.length;
      for (let p = 0; p < f; ) {
        const d = Math.min(l - this.pos, f - p);
        if (d === l) {
          const y = (0, e.createView)(s);
          for (; l <= f - p; p += l)
            this.process(y, p);
          continue;
        }
        u.set(s.subarray(p, p + d), this.pos), this.pos += d, p += d, this.pos === l && (this.process(o, 0), this.pos = 0);
      }
      return this.length += s.length, this.roundClean(), this;
    }
    digestInto(s) {
      (0, e.aexists)(this), (0, e.aoutput)(s, this), this.finished = !0;
      const { buffer: o, view: u, blockLen: l, isLE: f } = this;
      let { pos: p } = this;
      o[p++] = 128, (0, e.clean)(this.buffer.subarray(p)), this.padOffset > l - p && (this.process(u, 0), p = 0);
      for (let S = p; S < l; S++)
        o[S] = 0;
      r(u, l - 8, BigInt(this.length * 8), f), this.process(u, 0);
      const d = (0, e.createView)(s), y = this.outputLen;
      if (y % 4)
        throw new Error("_sha2: outputLen should be aligned to 32bit");
      const b = y / 4, v = this.get();
      if (b > v.length)
        throw new Error("_sha2: outputLen bigger than state");
      for (let S = 0; S < b; S++)
        d.setUint32(4 * S, v[S], f);
    }
    digest() {
      const { buffer: s, outputLen: o } = this;
      this.digestInto(s);
      const u = s.slice(0, o);
      return this.destroy(), u;
    }
    _cloneInto(s) {
      s || (s = new this.constructor()), s.set(...this.get());
      const { blockLen: o, buffer: u, length: l, finished: f, destroyed: p, pos: d } = this;
      return s.destroyed = p, s.finished = f, s.length = l, s.pos = d, l % o && s.buffer.set(u), s;
    }
    clone() {
      return this._cloneInto();
    }
  }
  return Nr.HashMD = n, Nr.SHA256_IV = Uint32Array.from([
    1779033703,
    3144134277,
    1013904242,
    2773480762,
    1359893119,
    2600822924,
    528734635,
    1541459225
  ]), Nr.SHA224_IV = Uint32Array.from([
    3238371032,
    914150663,
    812702999,
    4144912697,
    4290775857,
    1750603025,
    1694076839,
    3204075428
  ]), Nr.SHA384_IV = Uint32Array.from([
    3418070365,
    3238371032,
    1654270250,
    914150663,
    2438529370,
    812702999,
    355462360,
    4144912697,
    1731405415,
    4290775857,
    2394180231,
    1750603025,
    3675008525,
    1694076839,
    1203062813,
    3204075428
  ]), Nr.SHA512_IV = Uint32Array.from([
    1779033703,
    4089235720,
    3144134277,
    2227873595,
    1013904242,
    4271175723,
    2773480762,
    1595750129,
    1359893119,
    2917565137,
    2600822924,
    725511199,
    528734635,
    4215389547,
    1541459225,
    327033209
  ]), Nr;
}
var Fe = {}, Qo;
function Ed() {
  if (Qo) return Fe;
  Qo = 1, Object.defineProperty(Fe, "__esModule", { value: !0 }), Fe.toBig = Fe.shrSL = Fe.shrSH = Fe.rotrSL = Fe.rotrSH = Fe.rotrBL = Fe.rotrBH = Fe.rotr32L = Fe.rotr32H = Fe.rotlSL = Fe.rotlSH = Fe.rotlBL = Fe.rotlBH = Fe.add5L = Fe.add5H = Fe.add4L = Fe.add4H = Fe.add3L = Fe.add3H = void 0, Fe.add = x, Fe.fromBig = t, Fe.split = a;
  const e = /* @__PURE__ */ BigInt(2 ** 32 - 1), r = /* @__PURE__ */ BigInt(32);
  function t(z, D = !1) {
    return D ? { h: Number(z & e), l: Number(z >> r & e) } : { h: Number(z >> r & e) | 0, l: Number(z & e) | 0 };
  }
  function a(z, D = !1) {
    const P = z.length;
    let J = new Uint32Array(P), K = new Uint32Array(P);
    for (let ie = 0; ie < P; ie++) {
      const { h: ce, l: ue } = t(z[ie], D);
      [J[ie], K[ie]] = [ce, ue];
    }
    return [J, K];
  }
  const n = (z, D) => BigInt(z >>> 0) << r | BigInt(D >>> 0);
  Fe.toBig = n;
  const i = (z, D, P) => z >>> P;
  Fe.shrSH = i;
  const s = (z, D, P) => z << 32 - P | D >>> P;
  Fe.shrSL = s;
  const o = (z, D, P) => z >>> P | D << 32 - P;
  Fe.rotrSH = o;
  const u = (z, D, P) => z << 32 - P | D >>> P;
  Fe.rotrSL = u;
  const l = (z, D, P) => z << 64 - P | D >>> P - 32;
  Fe.rotrBH = l;
  const f = (z, D, P) => z >>> P - 32 | D << 64 - P;
  Fe.rotrBL = f;
  const p = (z, D) => D;
  Fe.rotr32H = p;
  const d = (z, D) => z;
  Fe.rotr32L = d;
  const y = (z, D, P) => z << P | D >>> 32 - P;
  Fe.rotlSH = y;
  const b = (z, D, P) => D << P | z >>> 32 - P;
  Fe.rotlSL = b;
  const v = (z, D, P) => D << P - 32 | z >>> 64 - P;
  Fe.rotlBH = v;
  const S = (z, D, P) => z << P - 32 | D >>> 64 - P;
  Fe.rotlBL = S;
  function x(z, D, P, J) {
    const K = (D >>> 0) + (J >>> 0);
    return { h: z + P + (K / 2 ** 32 | 0) | 0, l: K | 0 };
  }
  const T = (z, D, P) => (z >>> 0) + (D >>> 0) + (P >>> 0);
  Fe.add3L = T;
  const k = (z, D, P, J) => D + P + J + (z / 2 ** 32 | 0) | 0;
  Fe.add3H = k;
  const B = (z, D, P, J) => (z >>> 0) + (D >>> 0) + (P >>> 0) + (J >>> 0);
  Fe.add4L = B;
  const I = (z, D, P, J, K) => D + P + J + K + (z / 2 ** 32 | 0) | 0;
  Fe.add4H = I;
  const O = (z, D, P, J, K) => (z >>> 0) + (D >>> 0) + (P >>> 0) + (J >>> 0) + (K >>> 0);
  Fe.add5L = O;
  const N = (z, D, P, J, K, ie) => D + P + J + K + ie + (z / 2 ** 32 | 0) | 0;
  Fe.add5H = N;
  const M = {
    fromBig: t,
    split: a,
    toBig: n,
    shrSH: i,
    shrSL: s,
    rotrSH: o,
    rotrSL: u,
    rotrBH: l,
    rotrBL: f,
    rotr32H: p,
    rotr32L: d,
    rotlSH: y,
    rotlSL: b,
    rotlBH: v,
    rotlBL: S,
    add: x,
    add3L: T,
    add3H: k,
    add4L: B,
    add4H: I,
    add5H: N,
    add5L: O
  };
  return Fe.default = M, Fe;
}
var es;
function Cc() {
  if (es) return hr;
  es = 1, Object.defineProperty(hr, "__esModule", { value: !0 }), hr.sha512_224 = hr.sha512_256 = hr.sha384 = hr.sha512 = hr.sha224 = hr.sha256 = hr.SHA512_256 = hr.SHA512_224 = hr.SHA384 = hr.SHA512 = hr.SHA224 = hr.SHA256 = void 0;
  const e = /* @__PURE__ */ _d(), r = /* @__PURE__ */ Ed(), t = /* @__PURE__ */ pa(), a = /* @__PURE__ */ Uint32Array.from([
    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
  ]), n = /* @__PURE__ */ new Uint32Array(64);
  class i extends e.HashMD {
    constructor(k = 32) {
      super(64, k, 8, !1), this.A = e.SHA256_IV[0] | 0, this.B = e.SHA256_IV[1] | 0, this.C = e.SHA256_IV[2] | 0, this.D = e.SHA256_IV[3] | 0, this.E = e.SHA256_IV[4] | 0, this.F = e.SHA256_IV[5] | 0, this.G = e.SHA256_IV[6] | 0, this.H = e.SHA256_IV[7] | 0;
    }
    get() {
      const { A: k, B, C: I, D: O, E: N, F: M, G: z, H: D } = this;
      return [k, B, I, O, N, M, z, D];
    }
    // prettier-ignore
    set(k, B, I, O, N, M, z, D) {
      this.A = k | 0, this.B = B | 0, this.C = I | 0, this.D = O | 0, this.E = N | 0, this.F = M | 0, this.G = z | 0, this.H = D | 0;
    }
    process(k, B) {
      for (let K = 0; K < 16; K++, B += 4)
        n[K] = k.getUint32(B, !1);
      for (let K = 16; K < 64; K++) {
        const ie = n[K - 15], ce = n[K - 2], ue = (0, t.rotr)(ie, 7) ^ (0, t.rotr)(ie, 18) ^ ie >>> 3, xe = (0, t.rotr)(ce, 17) ^ (0, t.rotr)(ce, 19) ^ ce >>> 10;
        n[K] = xe + n[K - 7] + ue + n[K - 16] | 0;
      }
      let { A: I, B: O, C: N, D: M, E: z, F: D, G: P, H: J } = this;
      for (let K = 0; K < 64; K++) {
        const ie = (0, t.rotr)(z, 6) ^ (0, t.rotr)(z, 11) ^ (0, t.rotr)(z, 25), ce = J + ie + (0, e.Chi)(z, D, P) + a[K] + n[K] | 0, xe = ((0, t.rotr)(I, 2) ^ (0, t.rotr)(I, 13) ^ (0, t.rotr)(I, 22)) + (0, e.Maj)(I, O, N) | 0;
        J = P, P = D, D = z, z = M + ce | 0, M = N, N = O, O = I, I = ce + xe | 0;
      }
      I = I + this.A | 0, O = O + this.B | 0, N = N + this.C | 0, M = M + this.D | 0, z = z + this.E | 0, D = D + this.F | 0, P = P + this.G | 0, J = J + this.H | 0, this.set(I, O, N, M, z, D, P, J);
    }
    roundClean() {
      (0, t.clean)(n);
    }
    destroy() {
      this.set(0, 0, 0, 0, 0, 0, 0, 0), (0, t.clean)(this.buffer);
    }
  }
  hr.SHA256 = i;
  class s extends i {
    constructor() {
      super(28), this.A = e.SHA224_IV[0] | 0, this.B = e.SHA224_IV[1] | 0, this.C = e.SHA224_IV[2] | 0, this.D = e.SHA224_IV[3] | 0, this.E = e.SHA224_IV[4] | 0, this.F = e.SHA224_IV[5] | 0, this.G = e.SHA224_IV[6] | 0, this.H = e.SHA224_IV[7] | 0;
    }
  }
  hr.SHA224 = s;
  const o = r.split([
    "0x428a2f98d728ae22",
    "0x7137449123ef65cd",
    "0xb5c0fbcfec4d3b2f",
    "0xe9b5dba58189dbbc",
    "0x3956c25bf348b538",
    "0x59f111f1b605d019",
    "0x923f82a4af194f9b",
    "0xab1c5ed5da6d8118",
    "0xd807aa98a3030242",
    "0x12835b0145706fbe",
    "0x243185be4ee4b28c",
    "0x550c7dc3d5ffb4e2",
    "0x72be5d74f27b896f",
    "0x80deb1fe3b1696b1",
    "0x9bdc06a725c71235",
    "0xc19bf174cf692694",
    "0xe49b69c19ef14ad2",
    "0xefbe4786384f25e3",
    "0x0fc19dc68b8cd5b5",
    "0x240ca1cc77ac9c65",
    "0x2de92c6f592b0275",
    "0x4a7484aa6ea6e483",
    "0x5cb0a9dcbd41fbd4",
    "0x76f988da831153b5",
    "0x983e5152ee66dfab",
    "0xa831c66d2db43210",
    "0xb00327c898fb213f",
    "0xbf597fc7beef0ee4",
    "0xc6e00bf33da88fc2",
    "0xd5a79147930aa725",
    "0x06ca6351e003826f",
    "0x142929670a0e6e70",
    "0x27b70a8546d22ffc",
    "0x2e1b21385c26c926",
    "0x4d2c6dfc5ac42aed",
    "0x53380d139d95b3df",
    "0x650a73548baf63de",
    "0x766a0abb3c77b2a8",
    "0x81c2c92e47edaee6",
    "0x92722c851482353b",
    "0xa2bfe8a14cf10364",
    "0xa81a664bbc423001",
    "0xc24b8b70d0f89791",
    "0xc76c51a30654be30",
    "0xd192e819d6ef5218",
    "0xd69906245565a910",
    "0xf40e35855771202a",
    "0x106aa07032bbd1b8",
    "0x19a4c116b8d2d0c8",
    "0x1e376c085141ab53",
    "0x2748774cdf8eeb99",
    "0x34b0bcb5e19b48a8",
    "0x391c0cb3c5c95a63",
    "0x4ed8aa4ae3418acb",
    "0x5b9cca4f7763e373",
    "0x682e6ff3d6b2b8a3",
    "0x748f82ee5defb2fc",
    "0x78a5636f43172f60",
    "0x84c87814a1f0ab72",
    "0x8cc702081a6439ec",
    "0x90befffa23631e28",
    "0xa4506cebde82bde9",
    "0xbef9a3f7b2c67915",
    "0xc67178f2e372532b",
    "0xca273eceea26619c",
    "0xd186b8c721c0c207",
    "0xeada7dd6cde0eb1e",
    "0xf57d4f7fee6ed178",
    "0x06f067aa72176fba",
    "0x0a637dc5a2c898a6",
    "0x113f9804bef90dae",
    "0x1b710b35131c471b",
    "0x28db77f523047d84",
    "0x32caab7b40c72493",
    "0x3c9ebe0a15c9bebc",
    "0x431d67c49c100d4c",
    "0x4cc5d4becb3e42b6",
    "0x597f299cfc657e2a",
    "0x5fcb6fab3ad6faec",
    "0x6c44198c4a475817"
  ].map((T) => BigInt(T))), u = o[0], l = o[1], f = /* @__PURE__ */ new Uint32Array(80), p = /* @__PURE__ */ new Uint32Array(80);
  class d extends e.HashMD {
    constructor(k = 64) {
      super(128, k, 16, !1), this.Ah = e.SHA512_IV[0] | 0, this.Al = e.SHA512_IV[1] | 0, this.Bh = e.SHA512_IV[2] | 0, this.Bl = e.SHA512_IV[3] | 0, this.Ch = e.SHA512_IV[4] | 0, this.Cl = e.SHA512_IV[5] | 0, this.Dh = e.SHA512_IV[6] | 0, this.Dl = e.SHA512_IV[7] | 0, this.Eh = e.SHA512_IV[8] | 0, this.El = e.SHA512_IV[9] | 0, this.Fh = e.SHA512_IV[10] | 0, this.Fl = e.SHA512_IV[11] | 0, this.Gh = e.SHA512_IV[12] | 0, this.Gl = e.SHA512_IV[13] | 0, this.Hh = e.SHA512_IV[14] | 0, this.Hl = e.SHA512_IV[15] | 0;
    }
    // prettier-ignore
    get() {
      const { Ah: k, Al: B, Bh: I, Bl: O, Ch: N, Cl: M, Dh: z, Dl: D, Eh: P, El: J, Fh: K, Fl: ie, Gh: ce, Gl: ue, Hh: xe, Hl: De } = this;
      return [k, B, I, O, N, M, z, D, P, J, K, ie, ce, ue, xe, De];
    }
    // prettier-ignore
    set(k, B, I, O, N, M, z, D, P, J, K, ie, ce, ue, xe, De) {
      this.Ah = k | 0, this.Al = B | 0, this.Bh = I | 0, this.Bl = O | 0, this.Ch = N | 0, this.Cl = M | 0, this.Dh = z | 0, this.Dl = D | 0, this.Eh = P | 0, this.El = J | 0, this.Fh = K | 0, this.Fl = ie | 0, this.Gh = ce | 0, this.Gl = ue | 0, this.Hh = xe | 0, this.Hl = De | 0;
    }
    process(k, B) {
      for (let de = 0; de < 16; de++, B += 4)
        f[de] = k.getUint32(B), p[de] = k.getUint32(B += 4);
      for (let de = 16; de < 80; de++) {
        const Ee = f[de - 15] | 0, Ie = p[de - 15] | 0, Ye = r.rotrSH(Ee, Ie, 1) ^ r.rotrSH(Ee, Ie, 8) ^ r.shrSH(Ee, Ie, 7), Re = r.rotrSL(Ee, Ie, 1) ^ r.rotrSL(Ee, Ie, 8) ^ r.shrSL(Ee, Ie, 7), $ = f[de - 2] | 0, V = p[de - 2] | 0, ee = r.rotrSH($, V, 19) ^ r.rotrBH($, V, 61) ^ r.shrSH($, V, 6), pe = r.rotrSL($, V, 19) ^ r.rotrBL($, V, 61) ^ r.shrSL($, V, 6), me = r.add4L(Re, pe, p[de - 7], p[de - 16]), j = r.add4H(me, Ye, ee, f[de - 7], f[de - 16]);
        f[de] = j | 0, p[de] = me | 0;
      }
      let { Ah: I, Al: O, Bh: N, Bl: M, Ch: z, Cl: D, Dh: P, Dl: J, Eh: K, El: ie, Fh: ce, Fl: ue, Gh: xe, Gl: De, Hh: F, Hl: he } = this;
      for (let de = 0; de < 80; de++) {
        const Ee = r.rotrSH(K, ie, 14) ^ r.rotrSH(K, ie, 18) ^ r.rotrBH(K, ie, 41), Ie = r.rotrSL(K, ie, 14) ^ r.rotrSL(K, ie, 18) ^ r.rotrBL(K, ie, 41), Ye = K & ce ^ ~K & xe, Re = ie & ue ^ ~ie & De, $ = r.add5L(he, Ie, Re, l[de], p[de]), V = r.add5H($, F, Ee, Ye, u[de], f[de]), ee = $ | 0, pe = r.rotrSH(I, O, 28) ^ r.rotrBH(I, O, 34) ^ r.rotrBH(I, O, 39), me = r.rotrSL(I, O, 28) ^ r.rotrBL(I, O, 34) ^ r.rotrBL(I, O, 39), j = I & N ^ I & z ^ N & z, R = O & M ^ O & D ^ M & D;
        F = xe | 0, he = De | 0, xe = ce | 0, De = ue | 0, ce = K | 0, ue = ie | 0, { h: K, l: ie } = r.add(P | 0, J | 0, V | 0, ee | 0), P = z | 0, J = D | 0, z = N | 0, D = M | 0, N = I | 0, M = O | 0;
        const X = r.add3L(ee, me, R);
        I = r.add3H(X, V, pe, j), O = X | 0;
      }
      ({ h: I, l: O } = r.add(this.Ah | 0, this.Al | 0, I | 0, O | 0)), { h: N, l: M } = r.add(this.Bh | 0, this.Bl | 0, N | 0, M | 0), { h: z, l: D } = r.add(this.Ch | 0, this.Cl | 0, z | 0, D | 0), { h: P, l: J } = r.add(this.Dh | 0, this.Dl | 0, P | 0, J | 0), { h: K, l: ie } = r.add(this.Eh | 0, this.El | 0, K | 0, ie | 0), { h: ce, l: ue } = r.add(this.Fh | 0, this.Fl | 0, ce | 0, ue | 0), { h: xe, l: De } = r.add(this.Gh | 0, this.Gl | 0, xe | 0, De | 0), { h: F, l: he } = r.add(this.Hh | 0, this.Hl | 0, F | 0, he | 0), this.set(I, O, N, M, z, D, P, J, K, ie, ce, ue, xe, De, F, he);
    }
    roundClean() {
      (0, t.clean)(f, p);
    }
    destroy() {
      (0, t.clean)(this.buffer), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    }
  }
  hr.SHA512 = d;
  class y extends d {
    constructor() {
      super(48), this.Ah = e.SHA384_IV[0] | 0, this.Al = e.SHA384_IV[1] | 0, this.Bh = e.SHA384_IV[2] | 0, this.Bl = e.SHA384_IV[3] | 0, this.Ch = e.SHA384_IV[4] | 0, this.Cl = e.SHA384_IV[5] | 0, this.Dh = e.SHA384_IV[6] | 0, this.Dl = e.SHA384_IV[7] | 0, this.Eh = e.SHA384_IV[8] | 0, this.El = e.SHA384_IV[9] | 0, this.Fh = e.SHA384_IV[10] | 0, this.Fl = e.SHA384_IV[11] | 0, this.Gh = e.SHA384_IV[12] | 0, this.Gl = e.SHA384_IV[13] | 0, this.Hh = e.SHA384_IV[14] | 0, this.Hl = e.SHA384_IV[15] | 0;
    }
  }
  hr.SHA384 = y;
  const b = /* @__PURE__ */ Uint32Array.from([
    2352822216,
    424955298,
    1944164710,
    2312950998,
    502970286,
    855612546,
    1738396948,
    1479516111,
    258812777,
    2077511080,
    2011393907,
    79989058,
    1067287976,
    1780299464,
    286451373,
    2446758561
  ]), v = /* @__PURE__ */ Uint32Array.from([
    573645204,
    4230739756,
    2673172387,
    3360449730,
    596883563,
    1867755857,
    2520282905,
    1497426621,
    2519219938,
    2827943907,
    3193839141,
    1401305490,
    721525244,
    746961066,
    246885852,
    2177182882
  ]);
  class S extends d {
    constructor() {
      super(28), this.Ah = b[0] | 0, this.Al = b[1] | 0, this.Bh = b[2] | 0, this.Bl = b[3] | 0, this.Ch = b[4] | 0, this.Cl = b[5] | 0, this.Dh = b[6] | 0, this.Dl = b[7] | 0, this.Eh = b[8] | 0, this.El = b[9] | 0, this.Fh = b[10] | 0, this.Fl = b[11] | 0, this.Gh = b[12] | 0, this.Gl = b[13] | 0, this.Hh = b[14] | 0, this.Hl = b[15] | 0;
    }
  }
  hr.SHA512_224 = S;
  class x extends d {
    constructor() {
      super(32), this.Ah = v[0] | 0, this.Al = v[1] | 0, this.Bh = v[2] | 0, this.Bl = v[3] | 0, this.Ch = v[4] | 0, this.Cl = v[5] | 0, this.Dh = v[6] | 0, this.Dl = v[7] | 0, this.Eh = v[8] | 0, this.El = v[9] | 0, this.Fh = v[10] | 0, this.Fl = v[11] | 0, this.Gh = v[12] | 0, this.Gl = v[13] | 0, this.Hh = v[14] | 0, this.Hl = v[15] | 0;
    }
  }
  return hr.SHA512_256 = x, hr.sha256 = (0, t.createHasher)(() => new i()), hr.sha224 = (0, t.createHasher)(() => new s()), hr.sha512 = (0, t.createHasher)(() => new d()), hr.sha384 = (0, t.createHasher)(() => new y()), hr.sha512_256 = (0, t.createHasher)(() => new x()), hr.sha512_224 = (0, t.createHasher)(() => new S()), hr;
}
var rs;
function kd() {
  if (rs) return Qr;
  rs = 1, Object.defineProperty(Qr, "__esModule", { value: !0 }), Qr.sha224 = Qr.SHA224 = Qr.sha256 = Qr.SHA256 = void 0;
  const e = /* @__PURE__ */ Cc();
  return Qr.SHA256 = e.SHA256, Qr.sha256 = e.sha256, Qr.SHA224 = e.SHA224, Qr.sha224 = e.sha224, Qr;
}
var kr = {}, ts;
function Sd() {
  if (ts) return kr;
  ts = 1, Object.defineProperty(kr, "__esModule", { value: !0 }), kr.sha512_256 = kr.SHA512_256 = kr.sha512_224 = kr.SHA512_224 = kr.sha384 = kr.SHA384 = kr.sha512 = kr.SHA512 = void 0;
  const e = /* @__PURE__ */ Cc();
  return kr.SHA512 = e.SHA512, kr.sha512 = e.sha512, kr.SHA384 = e.SHA384, kr.sha384 = e.sha384, kr.SHA512_224 = e.SHA512_224, kr.sha512_224 = e.sha512_224, kr.SHA512_256 = e.SHA512_256, kr.sha512_256 = e.sha512_256, kr;
}
var ta = {}, mi = {}, as;
function Ad() {
  return as || (as = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 }), e.hmac = e.HMAC = void 0;
    const r = /* @__PURE__ */ pa();
    class t extends r.Hash {
      constructor(i, s) {
        super(), this.finished = !1, this.destroyed = !1, (0, r.ahash)(i);
        const o = (0, r.toBytes)(s);
        if (this.iHash = i.create(), typeof this.iHash.update != "function")
          throw new Error("Expected instance of class which extends utils.Hash");
        this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
        const u = this.blockLen, l = new Uint8Array(u);
        l.set(o.length > u ? i.create().update(o).digest() : o);
        for (let f = 0; f < l.length; f++)
          l[f] ^= 54;
        this.iHash.update(l), this.oHash = i.create();
        for (let f = 0; f < l.length; f++)
          l[f] ^= 106;
        this.oHash.update(l), (0, r.clean)(l);
      }
      update(i) {
        return (0, r.aexists)(this), this.iHash.update(i), this;
      }
      digestInto(i) {
        (0, r.aexists)(this), (0, r.abytes)(i, this.outputLen), this.finished = !0, this.iHash.digestInto(i), this.oHash.update(i), this.oHash.digestInto(i), this.destroy();
      }
      digest() {
        const i = new Uint8Array(this.oHash.outputLen);
        return this.digestInto(i), i;
      }
      _cloneInto(i) {
        i || (i = Object.create(Object.getPrototypeOf(this), {}));
        const { oHash: s, iHash: o, finished: u, destroyed: l, blockLen: f, outputLen: p } = this;
        return i = i, i.finished = u, i.destroyed = l, i.blockLen = f, i.outputLen = p, i.oHash = s._cloneInto(i.oHash), i.iHash = o._cloneInto(i.iHash), i;
      }
      clone() {
        return this._cloneInto();
      }
      destroy() {
        this.destroyed = !0, this.oHash.destroy(), this.iHash.destroy();
      }
    }
    e.HMAC = t;
    const a = (n, i, s) => new t(n, i).update(s).digest();
    e.hmac = a, e.hmac.create = (n, i) => new t(n, i);
  }(mi)), mi;
}
var is;
function Bd() {
  if (is) return ta;
  is = 1, Object.defineProperty(ta, "__esModule", { value: !0 }), ta.pbkdf2 = n, ta.pbkdf2Async = i;
  const e = /* @__PURE__ */ Ad(), r = /* @__PURE__ */ pa();
  function t(s, o, u, l) {
    (0, r.ahash)(s);
    const f = (0, r.checkOpts)({ dkLen: 32, asyncTick: 10 }, l), { c: p, dkLen: d, asyncTick: y } = f;
    if ((0, r.anumber)(p), (0, r.anumber)(d), (0, r.anumber)(y), p < 1)
      throw new Error("iterations (c) should be >= 1");
    const b = (0, r.kdfInputToBytes)(o), v = (0, r.kdfInputToBytes)(u), S = new Uint8Array(d), x = e.hmac.create(s, b), T = x._cloneInto().update(v);
    return { c: p, dkLen: d, asyncTick: y, DK: S, PRF: x, PRFSalt: T };
  }
  function a(s, o, u, l, f) {
    return s.destroy(), o.destroy(), l && l.destroy(), (0, r.clean)(f), u;
  }
  function n(s, o, u, l) {
    const { c: f, dkLen: p, DK: d, PRF: y, PRFSalt: b } = t(s, o, u, l);
    let v;
    const S = new Uint8Array(4), x = (0, r.createView)(S), T = new Uint8Array(y.outputLen);
    for (let k = 1, B = 0; B < p; k++, B += y.outputLen) {
      const I = d.subarray(B, B + y.outputLen);
      x.setInt32(0, k, !1), (v = b._cloneInto(v)).update(S).digestInto(T), I.set(T.subarray(0, I.length));
      for (let O = 1; O < f; O++) {
        y._cloneInto(v).update(T).digestInto(T);
        for (let N = 0; N < I.length; N++)
          I[N] ^= T[N];
      }
    }
    return a(y, b, d, v, T);
  }
  async function i(s, o, u, l) {
    const { c: f, dkLen: p, asyncTick: d, DK: y, PRF: b, PRFSalt: v } = t(s, o, u, l);
    let S;
    const x = new Uint8Array(4), T = (0, r.createView)(x), k = new Uint8Array(b.outputLen);
    for (let B = 1, I = 0; I < p; B++, I += b.outputLen) {
      const O = y.subarray(I, I + b.outputLen);
      T.setInt32(0, B, !1), (S = v._cloneInto(S)).update(x).digestInto(k), O.set(k.subarray(0, O.length)), await (0, r.asyncLoop)(f - 1, d, () => {
        b._cloneInto(S).update(k).digestInto(k);
        for (let N = 0; N < O.length; N++)
          O[N] ^= k[N];
      });
    }
    return a(b, v, y, S, k);
  }
  return ta;
}
var Mr = {};
const Id = /* @__PURE__ */ JSON.parse('["abdikace","abeceda","adresa","agrese","akce","aktovka","alej","alkohol","amputace","ananas","andulka","anekdota","anketa","antika","anulovat","archa","arogance","asfalt","asistent","aspirace","astma","astronom","atlas","atletika","atol","autobus","azyl","babka","bachor","bacil","baculka","badatel","bageta","bagr","bahno","bakterie","balada","baletka","balkon","balonek","balvan","balza","bambus","bankomat","barbar","baret","barman","baroko","barva","baterka","batoh","bavlna","bazalka","bazilika","bazuka","bedna","beran","beseda","bestie","beton","bezinka","bezmoc","beztak","bicykl","bidlo","biftek","bikiny","bilance","biograf","biolog","bitva","bizon","blahobyt","blatouch","blecha","bledule","blesk","blikat","blizna","blokovat","bloudit","blud","bobek","bobr","bodlina","bodnout","bohatost","bojkot","bojovat","bokorys","bolest","borec","borovice","bota","boubel","bouchat","bouda","boule","bourat","boxer","bradavka","brambora","branka","bratr","brepta","briketa","brko","brloh","bronz","broskev","brunetka","brusinka","brzda","brzy","bublina","bubnovat","buchta","buditel","budka","budova","bufet","bujarost","bukvice","buldok","bulva","bunda","bunkr","burza","butik","buvol","buzola","bydlet","bylina","bytovka","bzukot","capart","carevna","cedr","cedule","cejch","cejn","cela","celer","celkem","celnice","cenina","cennost","cenovka","centrum","cenzor","cestopis","cetka","chalupa","chapadlo","charita","chata","chechtat","chemie","chichot","chirurg","chlad","chleba","chlubit","chmel","chmura","chobot","chochol","chodba","cholera","chomout","chopit","choroba","chov","chrapot","chrlit","chrt","chrup","chtivost","chudina","chutnat","chvat","chvilka","chvost","chyba","chystat","chytit","cibule","cigareta","cihelna","cihla","cinkot","cirkus","cisterna","citace","citrus","cizinec","cizost","clona","cokoliv","couvat","ctitel","ctnost","cudnost","cuketa","cukr","cupot","cvaknout","cval","cvik","cvrkot","cyklista","daleko","dareba","datel","datum","dcera","debata","dechovka","decibel","deficit","deflace","dekl","dekret","demokrat","deprese","derby","deska","detektiv","dikobraz","diktovat","dioda","diplom","disk","displej","divadlo","divoch","dlaha","dlouho","dluhopis","dnes","dobro","dobytek","docent","dochutit","dodnes","dohled","dohoda","dohra","dojem","dojnice","doklad","dokola","doktor","dokument","dolar","doleva","dolina","doma","dominant","domluvit","domov","donutit","dopad","dopis","doplnit","doposud","doprovod","dopustit","dorazit","dorost","dort","dosah","doslov","dostatek","dosud","dosyta","dotaz","dotek","dotknout","doufat","doutnat","dovozce","dozadu","doznat","dozorce","drahota","drak","dramatik","dravec","draze","drdol","drobnost","drogerie","drozd","drsnost","drtit","drzost","duben","duchovno","dudek","duha","duhovka","dusit","dusno","dutost","dvojice","dvorec","dynamit","ekolog","ekonomie","elektron","elipsa","email","emise","emoce","empatie","epizoda","epocha","epopej","epos","esej","esence","eskorta","eskymo","etiketa","euforie","evoluce","exekuce","exkurze","expedice","exploze","export","extrakt","facka","fajfka","fakulta","fanatik","fantazie","farmacie","favorit","fazole","federace","fejeton","fenka","fialka","figurant","filozof","filtr","finance","finta","fixace","fjord","flanel","flirt","flotila","fond","fosfor","fotbal","fotka","foton","frakce","freska","fronta","fukar","funkce","fyzika","galeje","garant","genetika","geolog","gilotina","glazura","glejt","golem","golfista","gotika","graf","gramofon","granule","grep","gril","grog","groteska","guma","hadice","hadr","hala","halenka","hanba","hanopis","harfa","harpuna","havran","hebkost","hejkal","hejno","hejtman","hektar","helma","hematom","herec","herna","heslo","hezky","historik","hladovka","hlasivky","hlava","hledat","hlen","hlodavec","hloh","hloupost","hltat","hlubina","hluchota","hmat","hmota","hmyz","hnis","hnojivo","hnout","hoblina","hoboj","hoch","hodiny","hodlat","hodnota","hodovat","hojnost","hokej","holinka","holka","holub","homole","honitba","honorace","horal","horda","horizont","horko","horlivec","hormon","hornina","horoskop","horstvo","hospoda","hostina","hotovost","houba","houf","houpat","houska","hovor","hradba","hranice","hravost","hrazda","hrbolek","hrdina","hrdlo","hrdost","hrnek","hrobka","hromada","hrot","hrouda","hrozen","hrstka","hrubost","hryzat","hubenost","hubnout","hudba","hukot","humr","husita","hustota","hvozd","hybnost","hydrant","hygiena","hymna","hysterik","idylka","ihned","ikona","iluze","imunita","infekce","inflace","inkaso","inovace","inspekce","internet","invalida","investor","inzerce","ironie","jablko","jachta","jahoda","jakmile","jakost","jalovec","jantar","jarmark","jaro","jasan","jasno","jatka","javor","jazyk","jedinec","jedle","jednatel","jehlan","jekot","jelen","jelito","jemnost","jenom","jepice","jeseter","jevit","jezdec","jezero","jinak","jindy","jinoch","jiskra","jistota","jitrnice","jizva","jmenovat","jogurt","jurta","kabaret","kabel","kabinet","kachna","kadet","kadidlo","kahan","kajak","kajuta","kakao","kaktus","kalamita","kalhoty","kalibr","kalnost","kamera","kamkoliv","kamna","kanibal","kanoe","kantor","kapalina","kapela","kapitola","kapka","kaple","kapota","kapr","kapusta","kapybara","karamel","karotka","karton","kasa","katalog","katedra","kauce","kauza","kavalec","kazajka","kazeta","kazivost","kdekoliv","kdesi","kedluben","kemp","keramika","kino","klacek","kladivo","klam","klapot","klasika","klaun","klec","klenba","klepat","klesnout","klid","klima","klisna","klobouk","klokan","klopa","kloub","klubovna","klusat","kluzkost","kmen","kmitat","kmotr","kniha","knot","koalice","koberec","kobka","kobliha","kobyla","kocour","kohout","kojenec","kokos","koktejl","kolaps","koleda","kolize","kolo","komando","kometa","komik","komnata","komora","kompas","komunita","konat","koncept","kondice","konec","konfese","kongres","konina","konkurs","kontakt","konzerva","kopanec","kopie","kopnout","koprovka","korbel","korektor","kormidlo","koroptev","korpus","koruna","koryto","korzet","kosatec","kostka","kotel","kotleta","kotoul","koukat","koupelna","kousek","kouzlo","kovboj","koza","kozoroh","krabice","krach","krajina","kralovat","krasopis","kravata","kredit","krejcar","kresba","kreveta","kriket","kritik","krize","krkavec","krmelec","krmivo","krocan","krok","kronika","kropit","kroupa","krovka","krtek","kruhadlo","krupice","krutost","krvinka","krychle","krypta","krystal","kryt","kudlanka","kufr","kujnost","kukla","kulajda","kulich","kulka","kulomet","kultura","kuna","kupodivu","kurt","kurzor","kutil","kvalita","kvasinka","kvestor","kynolog","kyselina","kytara","kytice","kytka","kytovec","kyvadlo","labrador","lachtan","ladnost","laik","lakomec","lamela","lampa","lanovka","lasice","laso","lastura","latinka","lavina","lebka","leckdy","leden","lednice","ledovka","ledvina","legenda","legie","legrace","lehce","lehkost","lehnout","lektvar","lenochod","lentilka","lepenka","lepidlo","letadlo","letec","letmo","letokruh","levhart","levitace","levobok","libra","lichotka","lidojed","lidskost","lihovina","lijavec","lilek","limetka","linie","linka","linoleum","listopad","litina","litovat","lobista","lodivod","logika","logoped","lokalita","loket","lomcovat","lopata","lopuch","lord","losos","lotr","loudal","louh","louka","louskat","lovec","lstivost","lucerna","lucifer","lump","lusk","lustrace","lvice","lyra","lyrika","lysina","madam","madlo","magistr","mahagon","majetek","majitel","majorita","makak","makovice","makrela","malba","malina","malovat","malvice","maminka","mandle","manko","marnost","masakr","maskot","masopust","matice","matrika","maturita","mazanec","mazivo","mazlit","mazurka","mdloba","mechanik","meditace","medovina","melasa","meloun","mentolka","metla","metoda","metr","mezera","migrace","mihnout","mihule","mikina","mikrofon","milenec","milimetr","milost","mimika","mincovna","minibar","minomet","minulost","miska","mistr","mixovat","mladost","mlha","mlhovina","mlok","mlsat","mluvit","mnich","mnohem","mobil","mocnost","modelka","modlitba","mohyla","mokro","molekula","momentka","monarcha","monokl","monstrum","montovat","monzun","mosaz","moskyt","most","motivace","motorka","motyka","moucha","moudrost","mozaika","mozek","mozol","mramor","mravenec","mrkev","mrtvola","mrzet","mrzutost","mstitel","mudrc","muflon","mulat","mumie","munice","muset","mutace","muzeum","muzikant","myslivec","mzda","nabourat","nachytat","nadace","nadbytek","nadhoz","nadobro","nadpis","nahlas","nahnat","nahodile","nahradit","naivita","najednou","najisto","najmout","naklonit","nakonec","nakrmit","nalevo","namazat","namluvit","nanometr","naoko","naopak","naostro","napadat","napevno","naplnit","napnout","naposled","naprosto","narodit","naruby","narychlo","nasadit","nasekat","naslepo","nastat","natolik","navenek","navrch","navzdory","nazvat","nebe","nechat","necky","nedaleko","nedbat","neduh","negace","nehet","nehoda","nejen","nejprve","neklid","nelibost","nemilost","nemoc","neochota","neonka","nepokoj","nerost","nerv","nesmysl","nesoulad","netvor","neuron","nevina","nezvykle","nicota","nijak","nikam","nikdy","nikl","nikterak","nitro","nocleh","nohavice","nominace","nora","norek","nositel","nosnost","nouze","noviny","novota","nozdra","nuda","nudle","nuget","nutit","nutnost","nutrie","nymfa","obal","obarvit","obava","obdiv","obec","obehnat","obejmout","obezita","obhajoba","obilnice","objasnit","objekt","obklopit","oblast","oblek","obliba","obloha","obluda","obnos","obohatit","obojek","obout","obrazec","obrna","obruba","obrys","obsah","obsluha","obstarat","obuv","obvaz","obvinit","obvod","obvykle","obyvatel","obzor","ocas","ocel","ocenit","ochladit","ochota","ochrana","ocitnout","odboj","odbyt","odchod","odcizit","odebrat","odeslat","odevzdat","odezva","odhadce","odhodit","odjet","odjinud","odkaz","odkoupit","odliv","odluka","odmlka","odolnost","odpad","odpis","odplout","odpor","odpustit","odpykat","odrazka","odsoudit","odstup","odsun","odtok","odtud","odvaha","odveta","odvolat","odvracet","odznak","ofina","ofsajd","ohlas","ohnisko","ohrada","ohrozit","ohryzek","okap","okenice","oklika","okno","okouzlit","okovy","okrasa","okres","okrsek","okruh","okupant","okurka","okusit","olejnina","olizovat","omak","omeleta","omezit","omladina","omlouvat","omluva","omyl","onehdy","opakovat","opasek","operace","opice","opilost","opisovat","opora","opozice","opravdu","oproti","orbital","orchestr","orgie","orlice","orloj","ortel","osada","oschnout","osika","osivo","oslava","oslepit","oslnit","oslovit","osnova","osoba","osolit","ospalec","osten","ostraha","ostuda","ostych","osvojit","oteplit","otisk","otop","otrhat","otrlost","otrok","otruby","otvor","ovanout","ovar","oves","ovlivnit","ovoce","oxid","ozdoba","pachatel","pacient","padouch","pahorek","pakt","palanda","palec","palivo","paluba","pamflet","pamlsek","panenka","panika","panna","panovat","panstvo","pantofle","paprika","parketa","parodie","parta","paruka","paryba","paseka","pasivita","pastelka","patent","patrona","pavouk","pazneht","pazourek","pecka","pedagog","pejsek","peklo","peloton","penalta","pendrek","penze","periskop","pero","pestrost","petarda","petice","petrolej","pevnina","pexeso","pianista","piha","pijavice","pikle","piknik","pilina","pilnost","pilulka","pinzeta","pipeta","pisatel","pistole","pitevna","pivnice","pivovar","placenta","plakat","plamen","planeta","plastika","platit","plavidlo","plaz","plech","plemeno","plenta","ples","pletivo","plevel","plivat","plnit","plno","plocha","plodina","plomba","plout","pluk","plyn","pobavit","pobyt","pochod","pocit","poctivec","podat","podcenit","podepsat","podhled","podivit","podklad","podmanit","podnik","podoba","podpora","podraz","podstata","podvod","podzim","poezie","pohanka","pohnutka","pohovor","pohroma","pohyb","pointa","pojistka","pojmout","pokazit","pokles","pokoj","pokrok","pokuta","pokyn","poledne","polibek","polknout","poloha","polynom","pomalu","pominout","pomlka","pomoc","pomsta","pomyslet","ponechat","ponorka","ponurost","popadat","popel","popisek","poplach","poprosit","popsat","popud","poradce","porce","porod","porucha","poryv","posadit","posed","posila","poskok","poslanec","posoudit","pospolu","postava","posudek","posyp","potah","potkan","potlesk","potomek","potrava","potupa","potvora","poukaz","pouto","pouzdro","povaha","povidla","povlak","povoz","povrch","povstat","povyk","povzdech","pozdrav","pozemek","poznatek","pozor","pozvat","pracovat","prahory","praktika","prales","praotec","praporek","prase","pravda","princip","prkno","probudit","procento","prodej","profese","prohra","projekt","prolomit","promile","pronikat","propad","prorok","prosba","proton","proutek","provaz","prskavka","prsten","prudkost","prut","prvek","prvohory","psanec","psovod","pstruh","ptactvo","puberta","puch","pudl","pukavec","puklina","pukrle","pult","pumpa","punc","pupen","pusa","pusinka","pustina","putovat","putyka","pyramida","pysk","pytel","racek","rachot","radiace","radnice","radon","raft","ragby","raketa","rakovina","rameno","rampouch","rande","rarach","rarita","rasovna","rastr","ratolest","razance","razidlo","reagovat","reakce","recept","redaktor","referent","reflex","rejnok","reklama","rekord","rekrut","rektor","reputace","revize","revma","revolver","rezerva","riskovat","riziko","robotika","rodokmen","rohovka","rokle","rokoko","romaneto","ropovod","ropucha","rorejs","rosol","rostlina","rotmistr","rotoped","rotunda","roubenka","roucho","roup","roura","rovina","rovnice","rozbor","rozchod","rozdat","rozeznat","rozhodce","rozinka","rozjezd","rozkaz","rozloha","rozmar","rozpad","rozruch","rozsah","roztok","rozum","rozvod","rubrika","ruchadlo","rukavice","rukopis","ryba","rybolov","rychlost","rydlo","rypadlo","rytina","ryzost","sadista","sahat","sako","samec","samizdat","samota","sanitka","sardinka","sasanka","satelit","sazba","sazenice","sbor","schovat","sebranka","secese","sedadlo","sediment","sedlo","sehnat","sejmout","sekera","sekta","sekunda","sekvoje","semeno","seno","servis","sesadit","seshora","seskok","seslat","sestra","sesuv","sesypat","setba","setina","setkat","setnout","setrvat","sever","seznam","shoda","shrnout","sifon","silnice","sirka","sirotek","sirup","situace","skafandr","skalisko","skanzen","skaut","skeptik","skica","skladba","sklenice","sklo","skluz","skoba","skokan","skoro","skripta","skrz","skupina","skvost","skvrna","slabika","sladidlo","slanina","slast","slavnost","sledovat","slepec","sleva","slezina","slib","slina","sliznice","slon","sloupek","slovo","sluch","sluha","slunce","slupka","slza","smaragd","smetana","smilstvo","smlouva","smog","smrad","smrk","smrtka","smutek","smysl","snad","snaha","snob","sobota","socha","sodovka","sokol","sopka","sotva","souboj","soucit","soudce","souhlas","soulad","soumrak","souprava","soused","soutok","souviset","spalovna","spasitel","spis","splav","spodek","spojenec","spolu","sponzor","spornost","spousta","sprcha","spustit","sranda","sraz","srdce","srna","srnec","srovnat","srpen","srst","srub","stanice","starosta","statika","stavba","stehno","stezka","stodola","stolek","stopa","storno","stoupat","strach","stres","strhnout","strom","struna","studna","stupnice","stvol","styk","subjekt","subtropy","suchar","sudost","sukno","sundat","sunout","surikata","surovina","svah","svalstvo","svetr","svatba","svazek","svisle","svitek","svoboda","svodidlo","svorka","svrab","sykavka","sykot","synek","synovec","sypat","sypkost","syrovost","sysel","sytost","tabletka","tabule","tahoun","tajemno","tajfun","tajga","tajit","tajnost","taktika","tamhle","tampon","tancovat","tanec","tanker","tapeta","tavenina","tazatel","technika","tehdy","tekutina","telefon","temnota","tendence","tenista","tenor","teplota","tepna","teprve","terapie","termoska","textil","ticho","tiskopis","titulek","tkadlec","tkanina","tlapka","tleskat","tlukot","tlupa","tmel","toaleta","topinka","topol","torzo","touha","toulec","tradice","traktor","tramp","trasa","traverza","trefit","trest","trezor","trhavina","trhlina","trochu","trojice","troska","trouba","trpce","trpitel","trpkost","trubec","truchlit","truhlice","trus","trvat","tudy","tuhnout","tuhost","tundra","turista","turnaj","tuzemsko","tvaroh","tvorba","tvrdost","tvrz","tygr","tykev","ubohost","uboze","ubrat","ubrousek","ubrus","ubytovna","ucho","uctivost","udivit","uhradit","ujednat","ujistit","ujmout","ukazatel","uklidnit","uklonit","ukotvit","ukrojit","ulice","ulita","ulovit","umyvadlo","unavit","uniforma","uniknout","upadnout","uplatnit","uplynout","upoutat","upravit","uran","urazit","usednout","usilovat","usmrtit","usnadnit","usnout","usoudit","ustlat","ustrnout","utahovat","utkat","utlumit","utonout","utopenec","utrousit","uvalit","uvolnit","uvozovka","uzdravit","uzel","uzenina","uzlina","uznat","vagon","valcha","valoun","vana","vandal","vanilka","varan","varhany","varovat","vcelku","vchod","vdova","vedro","vegetace","vejce","velbloud","veletrh","velitel","velmoc","velryba","venkov","veranda","verze","veselka","veskrze","vesnice","vespodu","vesta","veterina","veverka","vibrace","vichr","videohra","vidina","vidle","vila","vinice","viset","vitalita","vize","vizitka","vjezd","vklad","vkus","vlajka","vlak","vlasec","vlevo","vlhkost","vliv","vlnovka","vloupat","vnucovat","vnuk","voda","vodivost","vodoznak","vodstvo","vojensky","vojna","vojsko","volant","volba","volit","volno","voskovka","vozidlo","vozovna","vpravo","vrabec","vracet","vrah","vrata","vrba","vrcholek","vrhat","vrstva","vrtule","vsadit","vstoupit","vstup","vtip","vybavit","vybrat","vychovat","vydat","vydra","vyfotit","vyhledat","vyhnout","vyhodit","vyhradit","vyhubit","vyjasnit","vyjet","vyjmout","vyklopit","vykonat","vylekat","vymazat","vymezit","vymizet","vymyslet","vynechat","vynikat","vynutit","vypadat","vyplatit","vypravit","vypustit","vyrazit","vyrovnat","vyrvat","vyslovit","vysoko","vystavit","vysunout","vysypat","vytasit","vytesat","vytratit","vyvinout","vyvolat","vyvrhel","vyzdobit","vyznat","vzadu","vzbudit","vzchopit","vzdor","vzduch","vzdychat","vzestup","vzhledem","vzkaz","vzlykat","vznik","vzorek","vzpoura","vztah","vztek","xylofon","zabrat","zabydlet","zachovat","zadarmo","zadusit","zafoukat","zahltit","zahodit","zahrada","zahynout","zajatec","zajet","zajistit","zaklepat","zakoupit","zalepit","zamezit","zamotat","zamyslet","zanechat","zanikat","zaplatit","zapojit","zapsat","zarazit","zastavit","zasunout","zatajit","zatemnit","zatknout","zaujmout","zavalit","zavelet","zavinit","zavolat","zavrtat","zazvonit","zbavit","zbrusu","zbudovat","zbytek","zdaleka","zdarma","zdatnost","zdivo","zdobit","zdroj","zdvih","zdymadlo","zelenina","zeman","zemina","zeptat","zezadu","zezdola","zhatit","zhltnout","zhluboka","zhotovit","zhruba","zima","zimnice","zjemnit","zklamat","zkoumat","zkratka","zkumavka","zlato","zlehka","zloba","zlom","zlost","zlozvyk","zmapovat","zmar","zmatek","zmije","zmizet","zmocnit","zmodrat","zmrzlina","zmutovat","znak","znalost","znamenat","znovu","zobrazit","zotavit","zoubek","zoufale","zplodit","zpomalit","zprava","zprostit","zprudka","zprvu","zrada","zranit","zrcadlo","zrnitost","zrno","zrovna","zrychlit","zrzavost","zticha","ztratit","zubovina","zubr","zvednout","zvenku","zvesela","zvon","zvrat","zvukovod","zvyk"]'), zd = /* @__PURE__ */ JSON.parse('["的","一","是","在","不","了","有","和","人","这","中","大","为","上","个","国","我","以","要","他","时","来","用","们","生","到","作","地","于","出","就","分","对","成","会","可","主","发","年","动","同","工","也","能","下","过","子","说","产","种","面","而","方","后","多","定","行","学","法","所","民","得","经","十","三","之","进","着","等","部","度","家","电","力","里","如","水","化","高","自","二","理","起","小","物","现","实","加","量","都","两","体","制","机","当","使","点","从","业","本","去","把","性","好","应","开","它","合","还","因","由","其","些","然","前","外","天","政","四","日","那","社","义","事","平","形","相","全","表","间","样","与","关","各","重","新","线","内","数","正","心","反","你","明","看","原","又","么","利","比","或","但","质","气","第","向","道","命","此","变","条","只","没","结","解","问","意","建","月","公","无","系","军","很","情","者","最","立","代","想","已","通","并","提","直","题","党","程","展","五","果","料","象","员","革","位","入","常","文","总","次","品","式","活","设","及","管","特","件","长","求","老","头","基","资","边","流","路","级","少","图","山","统","接","知","较","将","组","见","计","别","她","手","角","期","根","论","运","农","指","几","九","区","强","放","决","西","被","干","做","必","战","先","回","则","任","取","据","处","队","南","给","色","光","门","即","保","治","北","造","百","规","热","领","七","海","口","东","导","器","压","志","世","金","增","争","济","阶","油","思","术","极","交","受","联","什","认","六","共","权","收","证","改","清","美","再","采","转","更","单","风","切","打","白","教","速","花","带","安","场","身","车","例","真","务","具","万","每","目","至","达","走","积","示","议","声","报","斗","完","类","八","离","华","名","确","才","科","张","信","马","节","话","米","整","空","元","况","今","集","温","传","土","许","步","群","广","石","记","需","段","研","界","拉","林","律","叫","且","究","观","越","织","装","影","算","低","持","音","众","书","布","复","容","儿","须","际","商","非","验","连","断","深","难","近","矿","千","周","委","素","技","备","半","办","青","省","列","习","响","约","支","般","史","感","劳","便","团","往","酸","历","市","克","何","除","消","构","府","称","太","准","精","值","号","率","族","维","划","选","标","写","存","候","毛","亲","快","效","斯","院","查","江","型","眼","王","按","格","养","易","置","派","层","片","始","却","专","状","育","厂","京","识","适","属","圆","包","火","住","调","满","县","局","照","参","红","细","引","听","该","铁","价","严","首","底","液","官","德","随","病","苏","失","尔","死","讲","配","女","黄","推","显","谈","罪","神","艺","呢","席","含","企","望","密","批","营","项","防","举","球","英","氧","势","告","李","台","落","木","帮","轮","破","亚","师","围","注","远","字","材","排","供","河","态","封","另","施","减","树","溶","怎","止","案","言","士","均","武","固","叶","鱼","波","视","仅","费","紧","爱","左","章","早","朝","害","续","轻","服","试","食","充","兵","源","判","护","司","足","某","练","差","致","板","田","降","黑","犯","负","击","范","继","兴","似","余","坚","曲","输","修","故","城","夫","够","送","笔","船","占","右","财","吃","富","春","职","觉","汉","画","功","巴","跟","虽","杂","飞","检","吸","助","升","阳","互","初","创","抗","考","投","坏","策","古","径","换","未","跑","留","钢","曾","端","责","站","简","述","钱","副","尽","帝","射","草","冲","承","独","令","限","阿","宣","环","双","请","超","微","让","控","州","良","轴","找","否","纪","益","依","优","顶","础","载","倒","房","突","坐","粉","敌","略","客","袁","冷","胜","绝","析","块","剂","测","丝","协","诉","念","陈","仍","罗","盐","友","洋","错","苦","夜","刑","移","频","逐","靠","混","母","短","皮","终","聚","汽","村","云","哪","既","距","卫","停","烈","央","察","烧","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","游","久","菜","味","旧","模","湖","货","损","预","阻","毫","普","稳","乙","妈","植","息","扩","银","语","挥","酒","守","拿","序","纸","医","缺","雨","吗","针","刘","啊","急","唱","误","训","愿","审","附","获","茶","鲜","粮","斤","孩","脱","硫","肥","善","龙","演","父","渐","血","欢","械","掌","歌","沙","刚","攻","谓","盾","讨","晚","粒","乱","燃","矛","乎","杀","药","宁","鲁","贵","钟","煤","读","班","伯","香","介","迫","句","丰","培","握","兰","担","弦","蛋","沉","假","穿","执","答","乐","谁","顺","烟","缩","征","脸","喜","松","脚","困","异","免","背","星","福","买","染","井","概","慢","怕","磁","倍","祖","皇","促","静","补","评","翻","肉","践","尼","衣","宽","扬","棉","希","伤","操","垂","秋","宜","氢","套","督","振","架","亮","末","宪","庆","编","牛","触","映","雷","销","诗","座","居","抓","裂","胞","呼","娘","景","威","绿","晶","厚","盟","衡","鸡","孙","延","危","胶","屋","乡","临","陆","顾","掉","呀","灯","岁","措","束","耐","剧","玉","赵","跳","哥","季","课","凯","胡","额","款","绍","卷","齐","伟","蒸","殖","永","宗","苗","川","炉","岩","弱","零","杨","奏","沿","露","杆","探","滑","镇","饭","浓","航","怀","赶","库","夺","伊","灵","税","途","灭","赛","归","召","鼓","播","盘","裁","险","康","唯","录","菌","纯","借","糖","盖","横","符","私","努","堂","域","枪","润","幅","哈","竟","熟","虫","泽","脑","壤","碳","欧","遍","侧","寨","敢","彻","虑","斜","薄","庭","纳","弹","饲","伸","折","麦","湿","暗","荷","瓦","塞","床","筑","恶","户","访","塔","奇","透","梁","刀","旋","迹","卡","氯","遇","份","毒","泥","退","洗","摆","灰","彩","卖","耗","夏","择","忙","铜","献","硬","予","繁","圈","雪","函","亦","抽","篇","阵","阴","丁","尺","追","堆","雄","迎","泛","爸","楼","避","谋","吨","野","猪","旗","累","偏","典","馆","索","秦","脂","潮","爷","豆","忽","托","惊","塑","遗","愈","朱","替","纤","粗","倾","尚","痛","楚","谢","奋","购","磨","君","池","旁","碎","骨","监","捕","弟","暴","割","贯","殊","释","词","亡","壁","顿","宝","午","尘","闻","揭","炮","残","冬","桥","妇","警","综","招","吴","付","浮","遭","徐","您","摇","谷","赞","箱","隔","订","男","吹","园","纷","唐","败","宋","玻","巨","耕","坦","荣","闭","湾","键","凡","驻","锅","救","恩","剥","凝","碱","齿","截","炼","麻","纺","禁","废","盛","版","缓","净","睛","昌","婚","涉","筒","嘴","插","岸","朗","庄","街","藏","姑","贸","腐","奴","啦","惯","乘","伙","恢","匀","纱","扎","辩","耳","彪","臣","亿","璃","抵","脉","秀","萨","俄","网","舞","店","喷","纵","寸","汗","挂","洪","贺","闪","柬","爆","烯","津","稻","墙","软","勇","像","滚","厘","蒙","芳","肯","坡","柱","荡","腿","仪","旅","尾","轧","冰","贡","登","黎","削","钻","勒","逃","障","氨","郭","峰","币","港","伏","轨","亩","毕","擦","莫","刺","浪","秘","援","株","健","售","股","岛","甘","泡","睡","童","铸","汤","阀","休","汇","舍","牧","绕","炸","哲","磷","绩","朋","淡","尖","启","陷","柴","呈","徒","颜","泪","稍","忘","泵","蓝","拖","洞","授","镜","辛","壮","锋","贫","虚","弯","摩","泰","幼","廷","尊","窗","纲","弄","隶","疑","氏","宫","姐","震","瑞","怪","尤","琴","循","描","膜","违","夹","腰","缘","珠","穷","森","枝","竹","沟","催","绳","忆","邦","剩","幸","浆","栏","拥","牙","贮","礼","滤","钠","纹","罢","拍","咱","喊","袖","埃","勤","罚","焦","潜","伍","墨","欲","缝","姓","刊","饱","仿","奖","铝","鬼","丽","跨","默","挖","链","扫","喝","袋","炭","污","幕","诸","弧","励","梅","奶","洁","灾","舟","鉴","苯","讼","抱","毁","懂","寒","智","埔","寄","届","跃","渡","挑","丹","艰","贝","碰","拔","爹","戴","码","梦","芽","熔","赤","渔","哭","敬","颗","奔","铅","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","仓","魏","锐","晓","氮","兼","隐","碍","赫","拨","忠","肃","缸","牵","抢","博","巧","壳","兄","杜","讯","诚","碧","祥","柯","页","巡","矩","悲","灌","龄","伦","票","寻","桂","铺","圣","恐","恰","郑","趣","抬","荒","腾","贴","柔","滴","猛","阔","辆","妻","填","撤","储","签","闹","扰","紫","砂","递","戏","吊","陶","伐","喂","疗","瓶","婆","抚","臂","摸","忍","虾","蜡","邻","胸","巩","挤","偶","弃","槽","劲","乳","邓","吉","仁","烂","砖","租","乌","舰","伴","瓜","浅","丙","暂","燥","橡","柳","迷","暖","牌","秧","胆","详","簧","踏","瓷","谱","呆","宾","糊","洛","辉","愤","竞","隙","怒","粘","乃","绪","肩","籍","敏","涂","熙","皆","侦","悬","掘","享","纠","醒","狂","锁","淀","恨","牲","霸","爬","赏","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鸭","趋","凤","晨","畜","辈","秩","卵","署","梯","炎","滩","棋","驱","筛","峡","冒","啥","寿","译","浸","泉","帽","迟","硅","疆","贷","漏","稿","冠","嫩","胁","芯","牢","叛","蚀","奥","鸣","岭","羊","凭","串","塘","绘","酵","融","盆","锡","庙","筹","冻","辅","摄","袭","筋","拒","僚","旱","钾","鸟","漆","沈","眉","疏","添","棒","穗","硝","韩","逼","扭","侨","凉","挺","碗","栽","炒","杯","患","馏","劝","豪","辽","勃","鸿","旦","吏","拜","狗","埋","辊","掩","饮","搬","骂","辞","勾","扣","估","蒋","绒","雾","丈","朵","姆","拟","宇","辑","陕","雕","偿","蓄","崇","剪","倡","厅","咬","驶","薯","刷","斥","番","赋","奉","佛","浇","漫","曼","扇","钙","桃","扶","仔","返","俗","亏","腔","鞋","棱","覆","框","悄","叔","撞","骗","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","胀","谐","抛","霉","桑","岗","嘛","衰","盗","渗","脏","赖","涌","甜","曹","阅","肌","哩","厉","烃","纬","毅","昨","伪","症","煮","叹","钉","搭","茎","笼","酷","偷","弓","锥","恒","杰","坑","鼻","翼","纶","叙","狱","逮","罐","络","棚","抑","膨","蔬","寺","骤","穆","冶","枯","册","尸","凸","绅","坯","牺","焰","轰","欣","晋","瘦","御","锭","锦","丧","旬","锻","垄","搜","扑","邀","亭","酯","迈","舒","脆","酶","闲","忧","酚","顽","羽","涨","卸","仗","陪","辟","惩","杭","姚","肚","捉","飘","漂","昆","欺","吾","郎","烷","汁","呵","饰","萧","雅","邮","迁","燕","撒","姻","赴","宴","烦","债","帐","斑","铃","旨","醇","董","饼","雏","姿","拌","傅","腹","妥","揉","贤","拆","歪","葡","胺","丢","浩","徽","昂","垫","挡","览","贪","慰","缴","汪","慌","冯","诺","姜","谊","凶","劣","诬","耀","昏","躺","盈","骑","乔","溪","丛","卢","抹","闷","咨","刮","驾","缆","悟","摘","铒","掷","颇","幻","柄","惠","惨","佳","仇","腊","窝","涤","剑","瞧","堡","泼","葱","罩","霍","捞","胎","苍","滨","俩","捅","湘","砍","霞","邵","萄","疯","淮","遂","熊","粪","烘","宿","档","戈","驳","嫂","裕","徙","箭","捐","肠","撑","晒","辨","殿","莲","摊","搅","酱","屏","疫","哀","蔡","堵","沫","皱","畅","叠","阁","莱","敲","辖","钩","痕","坝","巷","饿","祸","丘","玄","溜","曰","逻","彭","尝","卿","妨","艇","吞","韦","怨","矮","歇"]'), Td = /* @__PURE__ */ JSON.parse('["的","一","是","在","不","了","有","和","人","這","中","大","為","上","個","國","我","以","要","他","時","來","用","們","生","到","作","地","於","出","就","分","對","成","會","可","主","發","年","動","同","工","也","能","下","過","子","說","產","種","面","而","方","後","多","定","行","學","法","所","民","得","經","十","三","之","進","著","等","部","度","家","電","力","裡","如","水","化","高","自","二","理","起","小","物","現","實","加","量","都","兩","體","制","機","當","使","點","從","業","本","去","把","性","好","應","開","它","合","還","因","由","其","些","然","前","外","天","政","四","日","那","社","義","事","平","形","相","全","表","間","樣","與","關","各","重","新","線","內","數","正","心","反","你","明","看","原","又","麼","利","比","或","但","質","氣","第","向","道","命","此","變","條","只","沒","結","解","問","意","建","月","公","無","系","軍","很","情","者","最","立","代","想","已","通","並","提","直","題","黨","程","展","五","果","料","象","員","革","位","入","常","文","總","次","品","式","活","設","及","管","特","件","長","求","老","頭","基","資","邊","流","路","級","少","圖","山","統","接","知","較","將","組","見","計","別","她","手","角","期","根","論","運","農","指","幾","九","區","強","放","決","西","被","幹","做","必","戰","先","回","則","任","取","據","處","隊","南","給","色","光","門","即","保","治","北","造","百","規","熱","領","七","海","口","東","導","器","壓","志","世","金","增","爭","濟","階","油","思","術","極","交","受","聯","什","認","六","共","權","收","證","改","清","美","再","採","轉","更","單","風","切","打","白","教","速","花","帶","安","場","身","車","例","真","務","具","萬","每","目","至","達","走","積","示","議","聲","報","鬥","完","類","八","離","華","名","確","才","科","張","信","馬","節","話","米","整","空","元","況","今","集","溫","傳","土","許","步","群","廣","石","記","需","段","研","界","拉","林","律","叫","且","究","觀","越","織","裝","影","算","低","持","音","眾","書","布","复","容","兒","須","際","商","非","驗","連","斷","深","難","近","礦","千","週","委","素","技","備","半","辦","青","省","列","習","響","約","支","般","史","感","勞","便","團","往","酸","歷","市","克","何","除","消","構","府","稱","太","準","精","值","號","率","族","維","劃","選","標","寫","存","候","毛","親","快","效","斯","院","查","江","型","眼","王","按","格","養","易","置","派","層","片","始","卻","專","狀","育","廠","京","識","適","屬","圓","包","火","住","調","滿","縣","局","照","參","紅","細","引","聽","該","鐵","價","嚴","首","底","液","官","德","隨","病","蘇","失","爾","死","講","配","女","黃","推","顯","談","罪","神","藝","呢","席","含","企","望","密","批","營","項","防","舉","球","英","氧","勢","告","李","台","落","木","幫","輪","破","亞","師","圍","注","遠","字","材","排","供","河","態","封","另","施","減","樹","溶","怎","止","案","言","士","均","武","固","葉","魚","波","視","僅","費","緊","愛","左","章","早","朝","害","續","輕","服","試","食","充","兵","源","判","護","司","足","某","練","差","致","板","田","降","黑","犯","負","擊","范","繼","興","似","餘","堅","曲","輸","修","故","城","夫","夠","送","筆","船","佔","右","財","吃","富","春","職","覺","漢","畫","功","巴","跟","雖","雜","飛","檢","吸","助","昇","陽","互","初","創","抗","考","投","壞","策","古","徑","換","未","跑","留","鋼","曾","端","責","站","簡","述","錢","副","盡","帝","射","草","衝","承","獨","令","限","阿","宣","環","雙","請","超","微","讓","控","州","良","軸","找","否","紀","益","依","優","頂","礎","載","倒","房","突","坐","粉","敵","略","客","袁","冷","勝","絕","析","塊","劑","測","絲","協","訴","念","陳","仍","羅","鹽","友","洋","錯","苦","夜","刑","移","頻","逐","靠","混","母","短","皮","終","聚","汽","村","雲","哪","既","距","衛","停","烈","央","察","燒","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","遊","久","菜","味","舊","模","湖","貨","損","預","阻","毫","普","穩","乙","媽","植","息","擴","銀","語","揮","酒","守","拿","序","紙","醫","缺","雨","嗎","針","劉","啊","急","唱","誤","訓","願","審","附","獲","茶","鮮","糧","斤","孩","脫","硫","肥","善","龍","演","父","漸","血","歡","械","掌","歌","沙","剛","攻","謂","盾","討","晚","粒","亂","燃","矛","乎","殺","藥","寧","魯","貴","鐘","煤","讀","班","伯","香","介","迫","句","豐","培","握","蘭","擔","弦","蛋","沉","假","穿","執","答","樂","誰","順","煙","縮","徵","臉","喜","松","腳","困","異","免","背","星","福","買","染","井","概","慢","怕","磁","倍","祖","皇","促","靜","補","評","翻","肉","踐","尼","衣","寬","揚","棉","希","傷","操","垂","秋","宜","氫","套","督","振","架","亮","末","憲","慶","編","牛","觸","映","雷","銷","詩","座","居","抓","裂","胞","呼","娘","景","威","綠","晶","厚","盟","衡","雞","孫","延","危","膠","屋","鄉","臨","陸","顧","掉","呀","燈","歲","措","束","耐","劇","玉","趙","跳","哥","季","課","凱","胡","額","款","紹","卷","齊","偉","蒸","殖","永","宗","苗","川","爐","岩","弱","零","楊","奏","沿","露","桿","探","滑","鎮","飯","濃","航","懷","趕","庫","奪","伊","靈","稅","途","滅","賽","歸","召","鼓","播","盤","裁","險","康","唯","錄","菌","純","借","糖","蓋","橫","符","私","努","堂","域","槍","潤","幅","哈","竟","熟","蟲","澤","腦","壤","碳","歐","遍","側","寨","敢","徹","慮","斜","薄","庭","納","彈","飼","伸","折","麥","濕","暗","荷","瓦","塞","床","築","惡","戶","訪","塔","奇","透","梁","刀","旋","跡","卡","氯","遇","份","毒","泥","退","洗","擺","灰","彩","賣","耗","夏","擇","忙","銅","獻","硬","予","繁","圈","雪","函","亦","抽","篇","陣","陰","丁","尺","追","堆","雄","迎","泛","爸","樓","避","謀","噸","野","豬","旗","累","偏","典","館","索","秦","脂","潮","爺","豆","忽","托","驚","塑","遺","愈","朱","替","纖","粗","傾","尚","痛","楚","謝","奮","購","磨","君","池","旁","碎","骨","監","捕","弟","暴","割","貫","殊","釋","詞","亡","壁","頓","寶","午","塵","聞","揭","炮","殘","冬","橋","婦","警","綜","招","吳","付","浮","遭","徐","您","搖","谷","贊","箱","隔","訂","男","吹","園","紛","唐","敗","宋","玻","巨","耕","坦","榮","閉","灣","鍵","凡","駐","鍋","救","恩","剝","凝","鹼","齒","截","煉","麻","紡","禁","廢","盛","版","緩","淨","睛","昌","婚","涉","筒","嘴","插","岸","朗","莊","街","藏","姑","貿","腐","奴","啦","慣","乘","夥","恢","勻","紗","扎","辯","耳","彪","臣","億","璃","抵","脈","秀","薩","俄","網","舞","店","噴","縱","寸","汗","掛","洪","賀","閃","柬","爆","烯","津","稻","牆","軟","勇","像","滾","厘","蒙","芳","肯","坡","柱","盪","腿","儀","旅","尾","軋","冰","貢","登","黎","削","鑽","勒","逃","障","氨","郭","峰","幣","港","伏","軌","畝","畢","擦","莫","刺","浪","秘","援","株","健","售","股","島","甘","泡","睡","童","鑄","湯","閥","休","匯","舍","牧","繞","炸","哲","磷","績","朋","淡","尖","啟","陷","柴","呈","徒","顏","淚","稍","忘","泵","藍","拖","洞","授","鏡","辛","壯","鋒","貧","虛","彎","摩","泰","幼","廷","尊","窗","綱","弄","隸","疑","氏","宮","姐","震","瑞","怪","尤","琴","循","描","膜","違","夾","腰","緣","珠","窮","森","枝","竹","溝","催","繩","憶","邦","剩","幸","漿","欄","擁","牙","貯","禮","濾","鈉","紋","罷","拍","咱","喊","袖","埃","勤","罰","焦","潛","伍","墨","欲","縫","姓","刊","飽","仿","獎","鋁","鬼","麗","跨","默","挖","鏈","掃","喝","袋","炭","污","幕","諸","弧","勵","梅","奶","潔","災","舟","鑑","苯","訟","抱","毀","懂","寒","智","埔","寄","屆","躍","渡","挑","丹","艱","貝","碰","拔","爹","戴","碼","夢","芽","熔","赤","漁","哭","敬","顆","奔","鉛","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","倉","魏","銳","曉","氮","兼","隱","礙","赫","撥","忠","肅","缸","牽","搶","博","巧","殼","兄","杜","訊","誠","碧","祥","柯","頁","巡","矩","悲","灌","齡","倫","票","尋","桂","鋪","聖","恐","恰","鄭","趣","抬","荒","騰","貼","柔","滴","猛","闊","輛","妻","填","撤","儲","簽","鬧","擾","紫","砂","遞","戲","吊","陶","伐","餵","療","瓶","婆","撫","臂","摸","忍","蝦","蠟","鄰","胸","鞏","擠","偶","棄","槽","勁","乳","鄧","吉","仁","爛","磚","租","烏","艦","伴","瓜","淺","丙","暫","燥","橡","柳","迷","暖","牌","秧","膽","詳","簧","踏","瓷","譜","呆","賓","糊","洛","輝","憤","競","隙","怒","粘","乃","緒","肩","籍","敏","塗","熙","皆","偵","懸","掘","享","糾","醒","狂","鎖","淀","恨","牲","霸","爬","賞","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鴨","趨","鳳","晨","畜","輩","秩","卵","署","梯","炎","灘","棋","驅","篩","峽","冒","啥","壽","譯","浸","泉","帽","遲","矽","疆","貸","漏","稿","冠","嫩","脅","芯","牢","叛","蝕","奧","鳴","嶺","羊","憑","串","塘","繪","酵","融","盆","錫","廟","籌","凍","輔","攝","襲","筋","拒","僚","旱","鉀","鳥","漆","沈","眉","疏","添","棒","穗","硝","韓","逼","扭","僑","涼","挺","碗","栽","炒","杯","患","餾","勸","豪","遼","勃","鴻","旦","吏","拜","狗","埋","輥","掩","飲","搬","罵","辭","勾","扣","估","蔣","絨","霧","丈","朵","姆","擬","宇","輯","陝","雕","償","蓄","崇","剪","倡","廳","咬","駛","薯","刷","斥","番","賦","奉","佛","澆","漫","曼","扇","鈣","桃","扶","仔","返","俗","虧","腔","鞋","棱","覆","框","悄","叔","撞","騙","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","脹","諧","拋","黴","桑","崗","嘛","衰","盜","滲","臟","賴","湧","甜","曹","閱","肌","哩","厲","烴","緯","毅","昨","偽","症","煮","嘆","釘","搭","莖","籠","酷","偷","弓","錐","恆","傑","坑","鼻","翼","綸","敘","獄","逮","罐","絡","棚","抑","膨","蔬","寺","驟","穆","冶","枯","冊","屍","凸","紳","坯","犧","焰","轟","欣","晉","瘦","禦","錠","錦","喪","旬","鍛","壟","搜","撲","邀","亭","酯","邁","舒","脆","酶","閒","憂","酚","頑","羽","漲","卸","仗","陪","闢","懲","杭","姚","肚","捉","飄","漂","昆","欺","吾","郎","烷","汁","呵","飾","蕭","雅","郵","遷","燕","撒","姻","赴","宴","煩","債","帳","斑","鈴","旨","醇","董","餅","雛","姿","拌","傅","腹","妥","揉","賢","拆","歪","葡","胺","丟","浩","徽","昂","墊","擋","覽","貪","慰","繳","汪","慌","馮","諾","姜","誼","兇","劣","誣","耀","昏","躺","盈","騎","喬","溪","叢","盧","抹","悶","諮","刮","駕","纜","悟","摘","鉺","擲","頗","幻","柄","惠","慘","佳","仇","臘","窩","滌","劍","瞧","堡","潑","蔥","罩","霍","撈","胎","蒼","濱","倆","捅","湘","砍","霞","邵","萄","瘋","淮","遂","熊","糞","烘","宿","檔","戈","駁","嫂","裕","徙","箭","捐","腸","撐","曬","辨","殿","蓮","攤","攪","醬","屏","疫","哀","蔡","堵","沫","皺","暢","疊","閣","萊","敲","轄","鉤","痕","壩","巷","餓","禍","丘","玄","溜","曰","邏","彭","嘗","卿","妨","艇","吞","韋","怨","矮","歇"]'), jd = /* @__PURE__ */ JSON.parse('["가격","가끔","가난","가능","가득","가르침","가뭄","가방","가상","가슴","가운데","가을","가이드","가입","가장","가정","가족","가죽","각오","각자","간격","간부","간섭","간장","간접","간판","갈등","갈비","갈색","갈증","감각","감기","감소","감수성","감자","감정","갑자기","강남","강당","강도","강력히","강변","강북","강사","강수량","강아지","강원도","강의","강제","강조","같이","개구리","개나리","개방","개별","개선","개성","개인","객관적","거실","거액","거울","거짓","거품","걱정","건강","건물","건설","건조","건축","걸음","검사","검토","게시판","게임","겨울","견해","결과","결국","결론","결석","결승","결심","결정","결혼","경계","경고","경기","경력","경복궁","경비","경상도","경영","경우","경쟁","경제","경주","경찰","경치","경향","경험","계곡","계단","계란","계산","계속","계약","계절","계층","계획","고객","고구려","고궁","고급","고등학생","고무신","고민","고양이","고장","고전","고집","고춧가루","고통","고향","곡식","골목","골짜기","골프","공간","공개","공격","공군","공급","공기","공동","공무원","공부","공사","공식","공업","공연","공원","공장","공짜","공책","공통","공포","공항","공휴일","과목","과일","과장","과정","과학","관객","관계","관광","관념","관람","관련","관리","관습","관심","관점","관찰","광경","광고","광장","광주","괴로움","굉장히","교과서","교문","교복","교실","교양","교육","교장","교직","교통","교환","교훈","구경","구름","구멍","구별","구분","구석","구성","구속","구역","구입","구청","구체적","국가","국기","국내","국립","국물","국민","국수","국어","국왕","국적","국제","국회","군대","군사","군인","궁극적","권리","권위","권투","귀국","귀신","규정","규칙","균형","그날","그냥","그늘","그러나","그룹","그릇","그림","그제서야","그토록","극복","극히","근거","근교","근래","근로","근무","근본","근원","근육","근처","글씨","글자","금강산","금고","금년","금메달","금액","금연","금요일","금지","긍정적","기간","기관","기념","기능","기독교","기둥","기록","기름","기법","기본","기분","기쁨","기숙사","기술","기억","기업","기온","기운","기원","기적","기준","기침","기혼","기획","긴급","긴장","길이","김밥","김치","김포공항","깍두기","깜빡","깨달음","깨소금","껍질","꼭대기","꽃잎","나들이","나란히","나머지","나물","나침반","나흘","낙엽","난방","날개","날씨","날짜","남녀","남대문","남매","남산","남자","남편","남학생","낭비","낱말","내년","내용","내일","냄비","냄새","냇물","냉동","냉면","냉방","냉장고","넥타이","넷째","노동","노란색","노력","노인","녹음","녹차","녹화","논리","논문","논쟁","놀이","농구","농담","농민","농부","농업","농장","농촌","높이","눈동자","눈물","눈썹","뉴욕","느낌","늑대","능동적","능력","다방","다양성","다음","다이어트","다행","단계","단골","단독","단맛","단순","단어","단위","단점","단체","단추","단편","단풍","달걀","달러","달력","달리","닭고기","담당","담배","담요","담임","답변","답장","당근","당분간","당연히","당장","대규모","대낮","대단히","대답","대도시","대략","대량","대륙","대문","대부분","대신","대응","대장","대전","대접","대중","대책","대출","대충","대통령","대학","대한민국","대합실","대형","덩어리","데이트","도대체","도덕","도둑","도망","도서관","도심","도움","도입","도자기","도저히","도전","도중","도착","독감","독립","독서","독일","독창적","동화책","뒷모습","뒷산","딸아이","마누라","마늘","마당","마라톤","마련","마무리","마사지","마약","마요네즈","마을","마음","마이크","마중","마지막","마찬가지","마찰","마흔","막걸리","막내","막상","만남","만두","만세","만약","만일","만점","만족","만화","많이","말기","말씀","말투","맘대로","망원경","매년","매달","매력","매번","매스컴","매일","매장","맥주","먹이","먼저","먼지","멀리","메일","며느리","며칠","면담","멸치","명단","명령","명예","명의","명절","명칭","명함","모금","모니터","모델","모든","모범","모습","모양","모임","모조리","모집","모퉁이","목걸이","목록","목사","목소리","목숨","목적","목표","몰래","몸매","몸무게","몸살","몸속","몸짓","몸통","몹시","무관심","무궁화","무더위","무덤","무릎","무슨","무엇","무역","무용","무조건","무지개","무척","문구","문득","문법","문서","문제","문학","문화","물가","물건","물결","물고기","물론","물리학","물음","물질","물체","미국","미디어","미사일","미술","미역","미용실","미움","미인","미팅","미혼","민간","민족","민주","믿음","밀가루","밀리미터","밑바닥","바가지","바구니","바나나","바늘","바닥","바닷가","바람","바이러스","바탕","박물관","박사","박수","반대","반드시","반말","반발","반성","반응","반장","반죽","반지","반찬","받침","발가락","발걸음","발견","발달","발레","발목","발바닥","발생","발음","발자국","발전","발톱","발표","밤하늘","밥그릇","밥맛","밥상","밥솥","방금","방면","방문","방바닥","방법","방송","방식","방안","방울","방지","방학","방해","방향","배경","배꼽","배달","배드민턴","백두산","백색","백성","백인","백제","백화점","버릇","버섯","버튼","번개","번역","번지","번호","벌금","벌레","벌써","범위","범인","범죄","법률","법원","법적","법칙","베이징","벨트","변경","변동","변명","변신","변호사","변화","별도","별명","별일","병실","병아리","병원","보관","보너스","보라색","보람","보름","보상","보안","보자기","보장","보전","보존","보통","보편적","보험","복도","복사","복숭아","복습","볶음","본격적","본래","본부","본사","본성","본인","본질","볼펜","봉사","봉지","봉투","부근","부끄러움","부담","부동산","부문","부분","부산","부상","부엌","부인","부작용","부장","부정","부족","부지런히","부친","부탁","부품","부회장","북부","북한","분노","분량","분리","분명","분석","분야","분위기","분필","분홍색","불고기","불과","불교","불꽃","불만","불법","불빛","불안","불이익","불행","브랜드","비극","비난","비닐","비둘기","비디오","비로소","비만","비명","비밀","비바람","비빔밥","비상","비용","비율","비중","비타민","비판","빌딩","빗물","빗방울","빗줄기","빛깔","빨간색","빨래","빨리","사건","사계절","사나이","사냥","사람","사랑","사립","사모님","사물","사방","사상","사생활","사설","사슴","사실","사업","사용","사월","사장","사전","사진","사촌","사춘기","사탕","사투리","사흘","산길","산부인과","산업","산책","살림","살인","살짝","삼계탕","삼국","삼십","삼월","삼촌","상관","상금","상대","상류","상반기","상상","상식","상업","상인","상자","상점","상처","상추","상태","상표","상품","상황","새벽","색깔","색연필","생각","생명","생물","생방송","생산","생선","생신","생일","생활","서랍","서른","서명","서민","서비스","서양","서울","서적","서점","서쪽","서클","석사","석유","선거","선물","선배","선생","선수","선원","선장","선전","선택","선풍기","설거지","설날","설렁탕","설명","설문","설사","설악산","설치","설탕","섭씨","성공","성당","성명","성별","성인","성장","성적","성질","성함","세금","세미나","세상","세월","세종대왕","세탁","센터","센티미터","셋째","소규모","소극적","소금","소나기","소년","소득","소망","소문","소설","소속","소아과","소용","소원","소음","소중히","소지품","소질","소풍","소형","속담","속도","속옷","손가락","손길","손녀","손님","손등","손목","손뼉","손실","손질","손톱","손해","솔직히","솜씨","송아지","송이","송편","쇠고기","쇼핑","수건","수년","수단","수돗물","수동적","수면","수명","수박","수상","수석","수술","수시로","수업","수염","수영","수입","수준","수집","수출","수컷","수필","수학","수험생","수화기","숙녀","숙소","숙제","순간","순서","순수","순식간","순위","숟가락","술병","술집","숫자","스님","스물","스스로","스승","스웨터","스위치","스케이트","스튜디오","스트레스","스포츠","슬쩍","슬픔","습관","습기","승객","승리","승부","승용차","승진","시각","시간","시골","시금치","시나리오","시댁","시리즈","시멘트","시민","시부모","시선","시설","시스템","시아버지","시어머니","시월","시인","시일","시작","시장","시절","시점","시중","시즌","시집","시청","시합","시험","식구","식기","식당","식량","식료품","식물","식빵","식사","식생활","식초","식탁","식품","신고","신규","신념","신문","신발","신비","신사","신세","신용","신제품","신청","신체","신화","실감","실내","실력","실례","실망","실수","실습","실시","실장","실정","실질적","실천","실체","실컷","실태","실패","실험","실현","심리","심부름","심사","심장","심정","심판","쌍둥이","씨름","씨앗","아가씨","아나운서","아드님","아들","아쉬움","아스팔트","아시아","아울러","아저씨","아줌마","아직","아침","아파트","아프리카","아픔","아홉","아흔","악기","악몽","악수","안개","안경","안과","안내","안녕","안동","안방","안부","안주","알루미늄","알코올","암시","암컷","압력","앞날","앞문","애인","애정","액수","앨범","야간","야단","야옹","약간","약국","약속","약수","약점","약품","약혼녀","양념","양력","양말","양배추","양주","양파","어둠","어려움","어른","어젯밤","어쨌든","어쩌다가","어쩐지","언니","언덕","언론","언어","얼굴","얼른","얼음","얼핏","엄마","업무","업종","업체","엉덩이","엉망","엉터리","엊그제","에너지","에어컨","엔진","여건","여고생","여관","여군","여권","여대생","여덟","여동생","여든","여론","여름","여섯","여성","여왕","여인","여전히","여직원","여학생","여행","역사","역시","역할","연결","연구","연극","연기","연락","연설","연세","연속","연습","연애","연예인","연인","연장","연주","연출","연필","연합","연휴","열기","열매","열쇠","열심히","열정","열차","열흘","염려","엽서","영국","영남","영상","영양","영역","영웅","영원히","영하","영향","영혼","영화","옆구리","옆방","옆집","예감","예금","예방","예산","예상","예선","예술","예습","예식장","예약","예전","예절","예정","예컨대","옛날","오늘","오락","오랫동안","오렌지","오로지","오른발","오븐","오십","오염","오월","오전","오직","오징어","오페라","오피스텔","오히려","옥상","옥수수","온갖","온라인","온몸","온종일","온통","올가을","올림픽","올해","옷차림","와이셔츠","와인","완성","완전","왕비","왕자","왜냐하면","왠지","외갓집","외국","외로움","외삼촌","외출","외침","외할머니","왼발","왼손","왼쪽","요금","요일","요즘","요청","용기","용서","용어","우산","우선","우승","우연히","우정","우체국","우편","운동","운명","운반","운전","운행","울산","울음","움직임","웃어른","웃음","워낙","원고","원래","원서","원숭이","원인","원장","원피스","월급","월드컵","월세","월요일","웨이터","위반","위법","위성","위원","위험","위협","윗사람","유난히","유럽","유명","유물","유산","유적","유치원","유학","유행","유형","육군","육상","육십","육체","은행","음력","음료","음반","음성","음식","음악","음주","의견","의논","의문","의복","의식","의심","의외로","의욕","의원","의학","이것","이곳","이념","이놈","이달","이대로","이동","이렇게","이력서","이론적","이름","이민","이발소","이별","이불","이빨","이상","이성","이슬","이야기","이용","이웃","이월","이윽고","이익","이전","이중","이튿날","이틀","이혼","인간","인격","인공","인구","인근","인기","인도","인류","인물","인생","인쇄","인연","인원","인재","인종","인천","인체","인터넷","인하","인형","일곱","일기","일단","일대","일등","일반","일본","일부","일상","일생","일손","일요일","일월","일정","일종","일주일","일찍","일체","일치","일행","일회용","임금","임무","입대","입력","입맛","입사","입술","입시","입원","입장","입학","자가용","자격","자극","자동","자랑","자부심","자식","자신","자연","자원","자율","자전거","자정","자존심","자판","작가","작년","작성","작업","작용","작은딸","작품","잔디","잔뜩","잔치","잘못","잠깐","잠수함","잠시","잠옷","잠자리","잡지","장관","장군","장기간","장래","장례","장르","장마","장면","장모","장미","장비","장사","장소","장식","장애인","장인","장점","장차","장학금","재능","재빨리","재산","재생","재작년","재정","재채기","재판","재학","재활용","저것","저고리","저곳","저녁","저런","저렇게","저번","저울","저절로","저축","적극","적당히","적성","적용","적응","전개","전공","전기","전달","전라도","전망","전문","전반","전부","전세","전시","전용","전자","전쟁","전주","전철","전체","전통","전혀","전후","절대","절망","절반","절약","절차","점검","점수","점심","점원","점점","점차","접근","접시","접촉","젓가락","정거장","정도","정류장","정리","정말","정면","정문","정반대","정보","정부","정비","정상","정성","정오","정원","정장","정지","정치","정확히","제공","제과점","제대로","제목","제발","제법","제삿날","제안","제일","제작","제주도","제출","제품","제한","조각","조건","조금","조깅","조명","조미료","조상","조선","조용히","조절","조정","조직","존댓말","존재","졸업","졸음","종교","종로","종류","종소리","종업원","종종","종합","좌석","죄인","주관적","주름","주말","주머니","주먹","주문","주민","주방","주변","주식","주인","주일","주장","주전자","주택","준비","줄거리","줄기","줄무늬","중간","중계방송","중국","중년","중단","중독","중반","중부","중세","중소기업","중순","중앙","중요","중학교","즉석","즉시","즐거움","증가","증거","증권","증상","증세","지각","지갑","지경","지극히","지금","지급","지능","지름길","지리산","지방","지붕","지식","지역","지우개","지원","지적","지점","지진","지출","직선","직업","직원","직장","진급","진동","진로","진료","진리","진짜","진찰","진출","진통","진행","질문","질병","질서","짐작","집단","집안","집중","짜증","찌꺼기","차남","차라리","차량","차림","차별","차선","차츰","착각","찬물","찬성","참가","참기름","참새","참석","참여","참외","참조","찻잔","창가","창고","창구","창문","창밖","창작","창조","채널","채점","책가방","책방","책상","책임","챔피언","처벌","처음","천국","천둥","천장","천재","천천히","철도","철저히","철학","첫날","첫째","청년","청바지","청소","청춘","체계","체력","체온","체육","체중","체험","초등학생","초반","초밥","초상화","초순","초여름","초원","초저녁","초점","초청","초콜릿","촛불","총각","총리","총장","촬영","최근","최상","최선","최신","최악","최종","추석","추억","추진","추천","추측","축구","축소","축제","축하","출근","출발","출산","출신","출연","출입","출장","출판","충격","충고","충돌","충분히","충청도","취업","취직","취향","치약","친구","친척","칠십","칠월","칠판","침대","침묵","침실","칫솔","칭찬","카메라","카운터","칼국수","캐릭터","캠퍼스","캠페인","커튼","컨디션","컬러","컴퓨터","코끼리","코미디","콘서트","콜라","콤플렉스","콩나물","쾌감","쿠데타","크림","큰길","큰딸","큰소리","큰아들","큰어머니","큰일","큰절","클래식","클럽","킬로","타입","타자기","탁구","탁자","탄생","태권도","태양","태풍","택시","탤런트","터널","터미널","테니스","테스트","테이블","텔레비전","토론","토마토","토요일","통계","통과","통로","통신","통역","통일","통장","통제","통증","통합","통화","퇴근","퇴원","퇴직금","튀김","트럭","특급","특별","특성","특수","특징","특히","튼튼히","티셔츠","파란색","파일","파출소","판결","판단","판매","판사","팔십","팔월","팝송","패션","팩스","팩시밀리","팬티","퍼센트","페인트","편견","편의","편지","편히","평가","평균","평생","평소","평양","평일","평화","포스터","포인트","포장","포함","표면","표정","표준","표현","품목","품질","풍경","풍속","풍습","프랑스","프린터","플라스틱","피곤","피망","피아노","필름","필수","필요","필자","필통","핑계","하느님","하늘","하드웨어","하룻밤","하반기","하숙집","하순","하여튼","하지만","하천","하품","하필","학과","학교","학급","학기","학년","학력","학번","학부모","학비","학생","학술","학습","학용품","학원","학위","학자","학점","한계","한글","한꺼번에","한낮","한눈","한동안","한때","한라산","한마디","한문","한번","한복","한식","한여름","한쪽","할머니","할아버지","할인","함께","함부로","합격","합리적","항공","항구","항상","항의","해결","해군","해답","해당","해물","해석","해설","해수욕장","해안","핵심","핸드백","햄버거","햇볕","햇살","행동","행복","행사","행운","행위","향기","향상","향수","허락","허용","헬기","현관","현금","현대","현상","현실","현장","현재","현지","혈액","협력","형부","형사","형수","형식","형제","형태","형편","혜택","호기심","호남","호랑이","호박","호텔","호흡","혹시","홀로","홈페이지","홍보","홍수","홍차","화면","화분","화살","화요일","화장","화학","확보","확인","확장","확정","환갑","환경","환영","환율","환자","활기","활동","활발히","활용","활짝","회견","회관","회복","회색","회원","회장","회전","횟수","횡단보도","효율적","후반","후춧가루","훈련","훨씬","휴식","휴일","흉내","흐름","흑백","흑인","흔적","흔히","흥미","흥분","희곡","희망","희생","흰색","힘껏"]'), Rd = /* @__PURE__ */ JSON.parse('["abaisser","abandon","abdiquer","abeille","abolir","aborder","aboutir","aboyer","abrasif","abreuver","abriter","abroger","abrupt","absence","absolu","absurde","abusif","abyssal","académie","acajou","acarien","accabler","accepter","acclamer","accolade","accroche","accuser","acerbe","achat","acheter","aciduler","acier","acompte","acquérir","acronyme","acteur","actif","actuel","adepte","adéquat","adhésif","adjectif","adjuger","admettre","admirer","adopter","adorer","adoucir","adresse","adroit","adulte","adverbe","aérer","aéronef","affaire","affecter","affiche","affreux","affubler","agacer","agencer","agile","agiter","agrafer","agréable","agrume","aider","aiguille","ailier","aimable","aisance","ajouter","ajuster","alarmer","alchimie","alerte","algèbre","algue","aliéner","aliment","alléger","alliage","allouer","allumer","alourdir","alpaga","altesse","alvéole","amateur","ambigu","ambre","aménager","amertume","amidon","amiral","amorcer","amour","amovible","amphibie","ampleur","amusant","analyse","anaphore","anarchie","anatomie","ancien","anéantir","angle","angoisse","anguleux","animal","annexer","annonce","annuel","anodin","anomalie","anonyme","anormal","antenne","antidote","anxieux","apaiser","apéritif","aplanir","apologie","appareil","appeler","apporter","appuyer","aquarium","aqueduc","arbitre","arbuste","ardeur","ardoise","argent","arlequin","armature","armement","armoire","armure","arpenter","arracher","arriver","arroser","arsenic","artériel","article","aspect","asphalte","aspirer","assaut","asservir","assiette","associer","assurer","asticot","astre","astuce","atelier","atome","atrium","atroce","attaque","attentif","attirer","attraper","aubaine","auberge","audace","audible","augurer","aurore","automne","autruche","avaler","avancer","avarice","avenir","averse","aveugle","aviateur","avide","avion","aviser","avoine","avouer","avril","axial","axiome","badge","bafouer","bagage","baguette","baignade","balancer","balcon","baleine","balisage","bambin","bancaire","bandage","banlieue","bannière","banquier","barbier","baril","baron","barque","barrage","bassin","bastion","bataille","bateau","batterie","baudrier","bavarder","belette","bélier","belote","bénéfice","berceau","berger","berline","bermuda","besace","besogne","bétail","beurre","biberon","bicycle","bidule","bijou","bilan","bilingue","billard","binaire","biologie","biopsie","biotype","biscuit","bison","bistouri","bitume","bizarre","blafard","blague","blanchir","blessant","blinder","blond","bloquer","blouson","bobard","bobine","boire","boiser","bolide","bonbon","bondir","bonheur","bonifier","bonus","bordure","borne","botte","boucle","boueux","bougie","boulon","bouquin","bourse","boussole","boutique","boxeur","branche","brasier","brave","brebis","brèche","breuvage","bricoler","brigade","brillant","brioche","brique","brochure","broder","bronzer","brousse","broyeur","brume","brusque","brutal","bruyant","buffle","buisson","bulletin","bureau","burin","bustier","butiner","butoir","buvable","buvette","cabanon","cabine","cachette","cadeau","cadre","caféine","caillou","caisson","calculer","calepin","calibre","calmer","calomnie","calvaire","camarade","caméra","camion","campagne","canal","caneton","canon","cantine","canular","capable","caporal","caprice","capsule","capter","capuche","carabine","carbone","caresser","caribou","carnage","carotte","carreau","carton","cascade","casier","casque","cassure","causer","caution","cavalier","caverne","caviar","cédille","ceinture","céleste","cellule","cendrier","censurer","central","cercle","cérébral","cerise","cerner","cerveau","cesser","chagrin","chaise","chaleur","chambre","chance","chapitre","charbon","chasseur","chaton","chausson","chavirer","chemise","chenille","chéquier","chercher","cheval","chien","chiffre","chignon","chimère","chiot","chlorure","chocolat","choisir","chose","chouette","chrome","chute","cigare","cigogne","cimenter","cinéma","cintrer","circuler","cirer","cirque","citerne","citoyen","citron","civil","clairon","clameur","claquer","classe","clavier","client","cligner","climat","clivage","cloche","clonage","cloporte","cobalt","cobra","cocasse","cocotier","coder","codifier","coffre","cogner","cohésion","coiffer","coincer","colère","colibri","colline","colmater","colonel","combat","comédie","commande","compact","concert","conduire","confier","congeler","connoter","consonne","contact","convexe","copain","copie","corail","corbeau","cordage","corniche","corpus","correct","cortège","cosmique","costume","coton","coude","coupure","courage","couteau","couvrir","coyote","crabe","crainte","cravate","crayon","créature","créditer","crémeux","creuser","crevette","cribler","crier","cristal","critère","croire","croquer","crotale","crucial","cruel","crypter","cubique","cueillir","cuillère","cuisine","cuivre","culminer","cultiver","cumuler","cupide","curatif","curseur","cyanure","cycle","cylindre","cynique","daigner","damier","danger","danseur","dauphin","débattre","débiter","déborder","débrider","débutant","décaler","décembre","déchirer","décider","déclarer","décorer","décrire","décupler","dédale","déductif","déesse","défensif","défiler","défrayer","dégager","dégivrer","déglutir","dégrafer","déjeuner","délice","déloger","demander","demeurer","démolir","dénicher","dénouer","dentelle","dénuder","départ","dépenser","déphaser","déplacer","déposer","déranger","dérober","désastre","descente","désert","désigner","désobéir","dessiner","destrier","détacher","détester","détourer","détresse","devancer","devenir","deviner","devoir","diable","dialogue","diamant","dicter","différer","digérer","digital","digne","diluer","dimanche","diminuer","dioxyde","directif","diriger","discuter","disposer","dissiper","distance","divertir","diviser","docile","docteur","dogme","doigt","domaine","domicile","dompter","donateur","donjon","donner","dopamine","dortoir","dorure","dosage","doseur","dossier","dotation","douanier","double","douceur","douter","doyen","dragon","draper","dresser","dribbler","droiture","duperie","duplexe","durable","durcir","dynastie","éblouir","écarter","écharpe","échelle","éclairer","éclipse","éclore","écluse","école","économie","écorce","écouter","écraser","écrémer","écrivain","écrou","écume","écureuil","édifier","éduquer","effacer","effectif","effigie","effort","effrayer","effusion","égaliser","égarer","éjecter","élaborer","élargir","électron","élégant","éléphant","élève","éligible","élitisme","éloge","élucider","éluder","emballer","embellir","embryon","émeraude","émission","emmener","émotion","émouvoir","empereur","employer","emporter","emprise","émulsion","encadrer","enchère","enclave","encoche","endiguer","endosser","endroit","enduire","énergie","enfance","enfermer","enfouir","engager","engin","englober","énigme","enjamber","enjeu","enlever","ennemi","ennuyeux","enrichir","enrobage","enseigne","entasser","entendre","entier","entourer","entraver","énumérer","envahir","enviable","envoyer","enzyme","éolien","épaissir","épargne","épatant","épaule","épicerie","épidémie","épier","épilogue","épine","épisode","épitaphe","époque","épreuve","éprouver","épuisant","équerre","équipe","ériger","érosion","erreur","éruption","escalier","espadon","espèce","espiègle","espoir","esprit","esquiver","essayer","essence","essieu","essorer","estime","estomac","estrade","étagère","étaler","étanche","étatique","éteindre","étendoir","éternel","éthanol","éthique","ethnie","étirer","étoffer","étoile","étonnant","étourdir","étrange","étroit","étude","euphorie","évaluer","évasion","éventail","évidence","éviter","évolutif","évoquer","exact","exagérer","exaucer","exceller","excitant","exclusif","excuse","exécuter","exemple","exercer","exhaler","exhorter","exigence","exiler","exister","exotique","expédier","explorer","exposer","exprimer","exquis","extensif","extraire","exulter","fable","fabuleux","facette","facile","facture","faiblir","falaise","fameux","famille","farceur","farfelu","farine","farouche","fasciner","fatal","fatigue","faucon","fautif","faveur","favori","fébrile","féconder","fédérer","félin","femme","fémur","fendoir","féodal","fermer","féroce","ferveur","festival","feuille","feutre","février","fiasco","ficeler","fictif","fidèle","figure","filature","filetage","filière","filleul","filmer","filou","filtrer","financer","finir","fiole","firme","fissure","fixer","flairer","flamme","flasque","flatteur","fléau","flèche","fleur","flexion","flocon","flore","fluctuer","fluide","fluvial","folie","fonderie","fongible","fontaine","forcer","forgeron","formuler","fortune","fossile","foudre","fougère","fouiller","foulure","fourmi","fragile","fraise","franchir","frapper","frayeur","frégate","freiner","frelon","frémir","frénésie","frère","friable","friction","frisson","frivole","froid","fromage","frontal","frotter","fruit","fugitif","fuite","fureur","furieux","furtif","fusion","futur","gagner","galaxie","galerie","gambader","garantir","gardien","garnir","garrigue","gazelle","gazon","géant","gélatine","gélule","gendarme","général","génie","genou","gentil","géologie","géomètre","géranium","germe","gestuel","geyser","gibier","gicler","girafe","givre","glace","glaive","glisser","globe","gloire","glorieux","golfeur","gomme","gonfler","gorge","gorille","goudron","gouffre","goulot","goupille","gourmand","goutte","graduel","graffiti","graine","grand","grappin","gratuit","gravir","grenat","griffure","griller","grimper","grogner","gronder","grotte","groupe","gruger","grutier","gruyère","guépard","guerrier","guide","guimauve","guitare","gustatif","gymnaste","gyrostat","habitude","hachoir","halte","hameau","hangar","hanneton","haricot","harmonie","harpon","hasard","hélium","hématome","herbe","hérisson","hermine","héron","hésiter","heureux","hiberner","hibou","hilarant","histoire","hiver","homard","hommage","homogène","honneur","honorer","honteux","horde","horizon","horloge","hormone","horrible","houleux","housse","hublot","huileux","humain","humble","humide","humour","hurler","hydromel","hygiène","hymne","hypnose","idylle","ignorer","iguane","illicite","illusion","image","imbiber","imiter","immense","immobile","immuable","impact","impérial","implorer","imposer","imprimer","imputer","incarner","incendie","incident","incliner","incolore","indexer","indice","inductif","inédit","ineptie","inexact","infini","infliger","informer","infusion","ingérer","inhaler","inhiber","injecter","injure","innocent","inoculer","inonder","inscrire","insecte","insigne","insolite","inspirer","instinct","insulter","intact","intense","intime","intrigue","intuitif","inutile","invasion","inventer","inviter","invoquer","ironique","irradier","irréel","irriter","isoler","ivoire","ivresse","jaguar","jaillir","jambe","janvier","jardin","jauger","jaune","javelot","jetable","jeton","jeudi","jeunesse","joindre","joncher","jongler","joueur","jouissif","journal","jovial","joyau","joyeux","jubiler","jugement","junior","jupon","juriste","justice","juteux","juvénile","kayak","kimono","kiosque","label","labial","labourer","lacérer","lactose","lagune","laine","laisser","laitier","lambeau","lamelle","lampe","lanceur","langage","lanterne","lapin","largeur","larme","laurier","lavabo","lavoir","lecture","légal","léger","légume","lessive","lettre","levier","lexique","lézard","liasse","libérer","libre","licence","licorne","liège","lièvre","ligature","ligoter","ligue","limer","limite","limonade","limpide","linéaire","lingot","lionceau","liquide","lisière","lister","lithium","litige","littoral","livreur","logique","lointain","loisir","lombric","loterie","louer","lourd","loutre","louve","loyal","lubie","lucide","lucratif","lueur","lugubre","luisant","lumière","lunaire","lundi","luron","lutter","luxueux","machine","magasin","magenta","magique","maigre","maillon","maintien","mairie","maison","majorer","malaxer","maléfice","malheur","malice","mallette","mammouth","mandater","maniable","manquant","manteau","manuel","marathon","marbre","marchand","mardi","maritime","marqueur","marron","marteler","mascotte","massif","matériel","matière","matraque","maudire","maussade","mauve","maximal","méchant","méconnu","médaille","médecin","méditer","méduse","meilleur","mélange","mélodie","membre","mémoire","menacer","mener","menhir","mensonge","mentor","mercredi","mérite","merle","messager","mesure","métal","météore","méthode","métier","meuble","miauler","microbe","miette","mignon","migrer","milieu","million","mimique","mince","minéral","minimal","minorer","minute","miracle","miroiter","missile","mixte","mobile","moderne","moelleux","mondial","moniteur","monnaie","monotone","monstre","montagne","monument","moqueur","morceau","morsure","mortier","moteur","motif","mouche","moufle","moulin","mousson","mouton","mouvant","multiple","munition","muraille","murène","murmure","muscle","muséum","musicien","mutation","muter","mutuel","myriade","myrtille","mystère","mythique","nageur","nappe","narquois","narrer","natation","nation","nature","naufrage","nautique","navire","nébuleux","nectar","néfaste","négation","négliger","négocier","neige","nerveux","nettoyer","neurone","neutron","neveu","niche","nickel","nitrate","niveau","noble","nocif","nocturne","noirceur","noisette","nomade","nombreux","nommer","normatif","notable","notifier","notoire","nourrir","nouveau","novateur","novembre","novice","nuage","nuancer","nuire","nuisible","numéro","nuptial","nuque","nutritif","obéir","objectif","obliger","obscur","observer","obstacle","obtenir","obturer","occasion","occuper","océan","octobre","octroyer","octupler","oculaire","odeur","odorant","offenser","officier","offrir","ogive","oiseau","oisillon","olfactif","olivier","ombrage","omettre","onctueux","onduler","onéreux","onirique","opale","opaque","opérer","opinion","opportun","opprimer","opter","optique","orageux","orange","orbite","ordonner","oreille","organe","orgueil","orifice","ornement","orque","ortie","osciller","osmose","ossature","otarie","ouragan","ourson","outil","outrager","ouvrage","ovation","oxyde","oxygène","ozone","paisible","palace","palmarès","palourde","palper","panache","panda","pangolin","paniquer","panneau","panorama","pantalon","papaye","papier","papoter","papyrus","paradoxe","parcelle","paresse","parfumer","parler","parole","parrain","parsemer","partager","parure","parvenir","passion","pastèque","paternel","patience","patron","pavillon","pavoiser","payer","paysage","peigne","peintre","pelage","pélican","pelle","pelouse","peluche","pendule","pénétrer","pénible","pensif","pénurie","pépite","péplum","perdrix","perforer","période","permuter","perplexe","persil","perte","peser","pétale","petit","pétrir","peuple","pharaon","phobie","phoque","photon","phrase","physique","piano","pictural","pièce","pierre","pieuvre","pilote","pinceau","pipette","piquer","pirogue","piscine","piston","pivoter","pixel","pizza","placard","plafond","plaisir","planer","plaque","plastron","plateau","pleurer","plexus","pliage","plomb","plonger","pluie","plumage","pochette","poésie","poète","pointe","poirier","poisson","poivre","polaire","policier","pollen","polygone","pommade","pompier","ponctuel","pondérer","poney","portique","position","posséder","posture","potager","poteau","potion","pouce","poulain","poumon","pourpre","poussin","pouvoir","prairie","pratique","précieux","prédire","préfixe","prélude","prénom","présence","prétexte","prévoir","primitif","prince","prison","priver","problème","procéder","prodige","profond","progrès","proie","projeter","prologue","promener","propre","prospère","protéger","prouesse","proverbe","prudence","pruneau","psychose","public","puceron","puiser","pulpe","pulsar","punaise","punitif","pupitre","purifier","puzzle","pyramide","quasar","querelle","question","quiétude","quitter","quotient","racine","raconter","radieux","ragondin","raideur","raisin","ralentir","rallonge","ramasser","rapide","rasage","ratisser","ravager","ravin","rayonner","réactif","réagir","réaliser","réanimer","recevoir","réciter","réclamer","récolter","recruter","reculer","recycler","rédiger","redouter","refaire","réflexe","réformer","refrain","refuge","régalien","région","réglage","régulier","réitérer","rejeter","rejouer","relatif","relever","relief","remarque","remède","remise","remonter","remplir","remuer","renard","renfort","renifler","renoncer","rentrer","renvoi","replier","reporter","reprise","reptile","requin","réserve","résineux","résoudre","respect","rester","résultat","rétablir","retenir","réticule","retomber","retracer","réunion","réussir","revanche","revivre","révolte","révulsif","richesse","rideau","rieur","rigide","rigoler","rincer","riposter","risible","risque","rituel","rival","rivière","rocheux","romance","rompre","ronce","rondin","roseau","rosier","rotatif","rotor","rotule","rouge","rouille","rouleau","routine","royaume","ruban","rubis","ruche","ruelle","rugueux","ruiner","ruisseau","ruser","rustique","rythme","sabler","saboter","sabre","sacoche","safari","sagesse","saisir","salade","salive","salon","saluer","samedi","sanction","sanglier","sarcasme","sardine","saturer","saugrenu","saumon","sauter","sauvage","savant","savonner","scalpel","scandale","scélérat","scénario","sceptre","schéma","science","scinder","score","scrutin","sculpter","séance","sécable","sécher","secouer","sécréter","sédatif","séduire","seigneur","séjour","sélectif","semaine","sembler","semence","séminal","sénateur","sensible","sentence","séparer","séquence","serein","sergent","sérieux","serrure","sérum","service","sésame","sévir","sevrage","sextuple","sidéral","siècle","siéger","siffler","sigle","signal","silence","silicium","simple","sincère","sinistre","siphon","sirop","sismique","situer","skier","social","socle","sodium","soigneux","soldat","soleil","solitude","soluble","sombre","sommeil","somnoler","sonde","songeur","sonnette","sonore","sorcier","sortir","sosie","sottise","soucieux","soudure","souffle","soulever","soupape","source","soutirer","souvenir","spacieux","spatial","spécial","sphère","spiral","stable","station","sternum","stimulus","stipuler","strict","studieux","stupeur","styliste","sublime","substrat","subtil","subvenir","succès","sucre","suffixe","suggérer","suiveur","sulfate","superbe","supplier","surface","suricate","surmener","surprise","sursaut","survie","suspect","syllabe","symbole","symétrie","synapse","syntaxe","système","tabac","tablier","tactile","tailler","talent","talisman","talonner","tambour","tamiser","tangible","tapis","taquiner","tarder","tarif","tartine","tasse","tatami","tatouage","taupe","taureau","taxer","témoin","temporel","tenaille","tendre","teneur","tenir","tension","terminer","terne","terrible","tétine","texte","thème","théorie","thérapie","thorax","tibia","tiède","timide","tirelire","tiroir","tissu","titane","titre","tituber","toboggan","tolérant","tomate","tonique","tonneau","toponyme","torche","tordre","tornade","torpille","torrent","torse","tortue","totem","toucher","tournage","tousser","toxine","traction","trafic","tragique","trahir","train","trancher","travail","trèfle","tremper","trésor","treuil","triage","tribunal","tricoter","trilogie","triomphe","tripler","triturer","trivial","trombone","tronc","tropical","troupeau","tuile","tulipe","tumulte","tunnel","turbine","tuteur","tutoyer","tuyau","tympan","typhon","typique","tyran","ubuesque","ultime","ultrason","unanime","unifier","union","unique","unitaire","univers","uranium","urbain","urticant","usage","usine","usuel","usure","utile","utopie","vacarme","vaccin","vagabond","vague","vaillant","vaincre","vaisseau","valable","valise","vallon","valve","vampire","vanille","vapeur","varier","vaseux","vassal","vaste","vecteur","vedette","végétal","véhicule","veinard","véloce","vendredi","vénérer","venger","venimeux","ventouse","verdure","vérin","vernir","verrou","verser","vertu","veston","vétéran","vétuste","vexant","vexer","viaduc","viande","victoire","vidange","vidéo","vignette","vigueur","vilain","village","vinaigre","violon","vipère","virement","virtuose","virus","visage","viseur","vision","visqueux","visuel","vital","vitesse","viticole","vitrine","vivace","vivipare","vocation","voguer","voile","voisin","voiture","volaille","volcan","voltiger","volume","vorace","vortex","voter","vouloir","voyage","voyelle","wagon","xénon","yacht","zèbre","zénith","zeste","zoologie"]'), qd = /* @__PURE__ */ JSON.parse('["abaco","abbaglio","abbinato","abete","abisso","abolire","abrasivo","abrogato","accadere","accenno","accusato","acetone","achille","acido","acqua","acre","acrilico","acrobata","acuto","adagio","addebito","addome","adeguato","aderire","adipe","adottare","adulare","affabile","affetto","affisso","affranto","aforisma","afoso","africano","agave","agente","agevole","aggancio","agire","agitare","agonismo","agricolo","agrumeto","aguzzo","alabarda","alato","albatro","alberato","albo","albume","alce","alcolico","alettone","alfa","algebra","aliante","alibi","alimento","allagato","allegro","allievo","allodola","allusivo","almeno","alogeno","alpaca","alpestre","altalena","alterno","alticcio","altrove","alunno","alveolo","alzare","amalgama","amanita","amarena","ambito","ambrato","ameba","america","ametista","amico","ammasso","ammenda","ammirare","ammonito","amore","ampio","ampliare","amuleto","anacardo","anagrafe","analista","anarchia","anatra","anca","ancella","ancora","andare","andrea","anello","angelo","angolare","angusto","anima","annegare","annidato","anno","annuncio","anonimo","anticipo","anzi","apatico","apertura","apode","apparire","appetito","appoggio","approdo","appunto","aprile","arabica","arachide","aragosta","araldica","arancio","aratura","arazzo","arbitro","archivio","ardito","arenile","argento","argine","arguto","aria","armonia","arnese","arredato","arringa","arrosto","arsenico","arso","artefice","arzillo","asciutto","ascolto","asepsi","asettico","asfalto","asino","asola","aspirato","aspro","assaggio","asse","assoluto","assurdo","asta","astenuto","astice","astratto","atavico","ateismo","atomico","atono","attesa","attivare","attorno","attrito","attuale","ausilio","austria","autista","autonomo","autunno","avanzato","avere","avvenire","avviso","avvolgere","azione","azoto","azzimo","azzurro","babele","baccano","bacino","baco","badessa","badilata","bagnato","baita","balcone","baldo","balena","ballata","balzano","bambino","bandire","baraonda","barbaro","barca","baritono","barlume","barocco","basilico","basso","batosta","battuto","baule","bava","bavosa","becco","beffa","belgio","belva","benda","benevole","benigno","benzina","bere","berlina","beta","bibita","bici","bidone","bifido","biga","bilancia","bimbo","binocolo","biologo","bipede","bipolare","birbante","birra","biscotto","bisesto","bisnonno","bisonte","bisturi","bizzarro","blando","blatta","bollito","bonifico","bordo","bosco","botanico","bottino","bozzolo","braccio","bradipo","brama","branca","bravura","bretella","brevetto","brezza","briglia","brillante","brindare","broccolo","brodo","bronzina","brullo","bruno","bubbone","buca","budino","buffone","buio","bulbo","buono","burlone","burrasca","bussola","busta","cadetto","caduco","calamaro","calcolo","calesse","calibro","calmo","caloria","cambusa","camerata","camicia","cammino","camola","campale","canapa","candela","cane","canino","canotto","cantina","capace","capello","capitolo","capogiro","cappero","capra","capsula","carapace","carcassa","cardo","carisma","carovana","carretto","cartolina","casaccio","cascata","caserma","caso","cassone","castello","casuale","catasta","catena","catrame","cauto","cavillo","cedibile","cedrata","cefalo","celebre","cellulare","cena","cenone","centesimo","ceramica","cercare","certo","cerume","cervello","cesoia","cespo","ceto","chela","chiaro","chicca","chiedere","chimera","china","chirurgo","chitarra","ciao","ciclismo","cifrare","cigno","cilindro","ciottolo","circa","cirrosi","citrico","cittadino","ciuffo","civetta","civile","classico","clinica","cloro","cocco","codardo","codice","coerente","cognome","collare","colmato","colore","colposo","coltivato","colza","coma","cometa","commando","comodo","computer","comune","conciso","condurre","conferma","congelare","coniuge","connesso","conoscere","consumo","continuo","convegno","coperto","copione","coppia","copricapo","corazza","cordata","coricato","cornice","corolla","corpo","corredo","corsia","cortese","cosmico","costante","cottura","covato","cratere","cravatta","creato","credere","cremoso","crescita","creta","criceto","crinale","crisi","critico","croce","cronaca","crostata","cruciale","crusca","cucire","cuculo","cugino","cullato","cupola","curatore","cursore","curvo","cuscino","custode","dado","daino","dalmata","damerino","daniela","dannoso","danzare","datato","davanti","davvero","debutto","decennio","deciso","declino","decollo","decreto","dedicato","definito","deforme","degno","delegare","delfino","delirio","delta","demenza","denotato","dentro","deposito","derapata","derivare","deroga","descritto","deserto","desiderio","desumere","detersivo","devoto","diametro","dicembre","diedro","difeso","diffuso","digerire","digitale","diluvio","dinamico","dinnanzi","dipinto","diploma","dipolo","diradare","dire","dirotto","dirupo","disagio","discreto","disfare","disgelo","disposto","distanza","disumano","dito","divano","divelto","dividere","divorato","doblone","docente","doganale","dogma","dolce","domato","domenica","dominare","dondolo","dono","dormire","dote","dottore","dovuto","dozzina","drago","druido","dubbio","dubitare","ducale","duna","duomo","duplice","duraturo","ebano","eccesso","ecco","eclissi","economia","edera","edicola","edile","editoria","educare","egemonia","egli","egoismo","egregio","elaborato","elargire","elegante","elencato","eletto","elevare","elfico","elica","elmo","elsa","eluso","emanato","emblema","emesso","emiro","emotivo","emozione","empirico","emulo","endemico","enduro","energia","enfasi","enoteca","entrare","enzima","epatite","epilogo","episodio","epocale","eppure","equatore","erario","erba","erboso","erede","eremita","erigere","ermetico","eroe","erosivo","errante","esagono","esame","esanime","esaudire","esca","esempio","esercito","esibito","esigente","esistere","esito","esofago","esortato","esoso","espanso","espresso","essenza","esso","esteso","estimare","estonia","estroso","esultare","etilico","etnico","etrusco","etto","euclideo","europa","evaso","evidenza","evitato","evoluto","evviva","fabbrica","faccenda","fachiro","falco","famiglia","fanale","fanfara","fango","fantasma","fare","farfalla","farinoso","farmaco","fascia","fastoso","fasullo","faticare","fato","favoloso","febbre","fecola","fede","fegato","felpa","feltro","femmina","fendere","fenomeno","fermento","ferro","fertile","fessura","festivo","fetta","feudo","fiaba","fiducia","fifa","figurato","filo","finanza","finestra","finire","fiore","fiscale","fisico","fiume","flacone","flamenco","flebo","flemma","florido","fluente","fluoro","fobico","focaccia","focoso","foderato","foglio","folata","folclore","folgore","fondente","fonetico","fonia","fontana","forbito","forchetta","foresta","formica","fornaio","foro","fortezza","forzare","fosfato","fosso","fracasso","frana","frassino","fratello","freccetta","frenata","fresco","frigo","frollino","fronde","frugale","frutta","fucilata","fucsia","fuggente","fulmine","fulvo","fumante","fumetto","fumoso","fune","funzione","fuoco","furbo","furgone","furore","fuso","futile","gabbiano","gaffe","galateo","gallina","galoppo","gambero","gamma","garanzia","garbo","garofano","garzone","gasdotto","gasolio","gastrico","gatto","gaudio","gazebo","gazzella","geco","gelatina","gelso","gemello","gemmato","gene","genitore","gennaio","genotipo","gergo","ghepardo","ghiaccio","ghisa","giallo","gilda","ginepro","giocare","gioiello","giorno","giove","girato","girone","gittata","giudizio","giurato","giusto","globulo","glutine","gnomo","gobba","golf","gomito","gommone","gonfio","gonna","governo","gracile","grado","grafico","grammo","grande","grattare","gravoso","grazia","greca","gregge","grifone","grigio","grinza","grotta","gruppo","guadagno","guaio","guanto","guardare","gufo","guidare","ibernato","icona","identico","idillio","idolo","idra","idrico","idrogeno","igiene","ignaro","ignorato","ilare","illeso","illogico","illudere","imballo","imbevuto","imbocco","imbuto","immane","immerso","immolato","impacco","impeto","impiego","importo","impronta","inalare","inarcare","inattivo","incanto","incendio","inchino","incisivo","incluso","incontro","incrocio","incubo","indagine","india","indole","inedito","infatti","infilare","inflitto","ingaggio","ingegno","inglese","ingordo","ingrosso","innesco","inodore","inoltrare","inondato","insano","insetto","insieme","insonnia","insulina","intasato","intero","intonaco","intuito","inumidire","invalido","invece","invito","iperbole","ipnotico","ipotesi","ippica","iride","irlanda","ironico","irrigato","irrorare","isolato","isotopo","isterico","istituto","istrice","italia","iterare","labbro","labirinto","lacca","lacerato","lacrima","lacuna","laddove","lago","lampo","lancetta","lanterna","lardoso","larga","laringe","lastra","latenza","latino","lattuga","lavagna","lavoro","legale","leggero","lembo","lentezza","lenza","leone","lepre","lesivo","lessato","lesto","letterale","leva","levigato","libero","lido","lievito","lilla","limatura","limitare","limpido","lineare","lingua","liquido","lira","lirica","lisca","lite","litigio","livrea","locanda","lode","logica","lombare","londra","longevo","loquace","lorenzo","loto","lotteria","luce","lucidato","lumaca","luminoso","lungo","lupo","luppolo","lusinga","lusso","lutto","macabro","macchina","macero","macinato","madama","magico","maglia","magnete","magro","maiolica","malafede","malgrado","malinteso","malsano","malto","malumore","mana","mancia","mandorla","mangiare","manifesto","mannaro","manovra","mansarda","mantide","manubrio","mappa","maratona","marcire","maretta","marmo","marsupio","maschera","massaia","mastino","materasso","matricola","mattone","maturo","mazurca","meandro","meccanico","mecenate","medesimo","meditare","mega","melassa","melis","melodia","meninge","meno","mensola","mercurio","merenda","merlo","meschino","mese","messere","mestolo","metallo","metodo","mettere","miagolare","mica","micelio","michele","microbo","midollo","miele","migliore","milano","milite","mimosa","minerale","mini","minore","mirino","mirtillo","miscela","missiva","misto","misurare","mitezza","mitigare","mitra","mittente","mnemonico","modello","modifica","modulo","mogano","mogio","mole","molosso","monastero","monco","mondina","monetario","monile","monotono","monsone","montato","monviso","mora","mordere","morsicato","mostro","motivato","motosega","motto","movenza","movimento","mozzo","mucca","mucosa","muffa","mughetto","mugnaio","mulatto","mulinello","multiplo","mummia","munto","muovere","murale","musa","muscolo","musica","mutevole","muto","nababbo","nafta","nanometro","narciso","narice","narrato","nascere","nastrare","naturale","nautica","naviglio","nebulosa","necrosi","negativo","negozio","nemmeno","neofita","neretto","nervo","nessuno","nettuno","neutrale","neve","nevrotico","nicchia","ninfa","nitido","nobile","nocivo","nodo","nome","nomina","nordico","normale","norvegese","nostrano","notare","notizia","notturno","novella","nucleo","nulla","numero","nuovo","nutrire","nuvola","nuziale","oasi","obbedire","obbligo","obelisco","oblio","obolo","obsoleto","occasione","occhio","occidente","occorrere","occultare","ocra","oculato","odierno","odorare","offerta","offrire","offuscato","oggetto","oggi","ognuno","olandese","olfatto","oliato","oliva","ologramma","oltre","omaggio","ombelico","ombra","omega","omissione","ondoso","onere","onice","onnivoro","onorevole","onta","operato","opinione","opposto","oracolo","orafo","ordine","orecchino","orefice","orfano","organico","origine","orizzonte","orma","ormeggio","ornativo","orologio","orrendo","orribile","ortensia","ortica","orzata","orzo","osare","oscurare","osmosi","ospedale","ospite","ossa","ossidare","ostacolo","oste","otite","otre","ottagono","ottimo","ottobre","ovale","ovest","ovino","oviparo","ovocito","ovunque","ovviare","ozio","pacchetto","pace","pacifico","padella","padrone","paese","paga","pagina","palazzina","palesare","pallido","palo","palude","pandoro","pannello","paolo","paonazzo","paprica","parabola","parcella","parere","pargolo","pari","parlato","parola","partire","parvenza","parziale","passivo","pasticca","patacca","patologia","pattume","pavone","peccato","pedalare","pedonale","peggio","peloso","penare","pendice","penisola","pennuto","penombra","pensare","pentola","pepe","pepita","perbene","percorso","perdonato","perforare","pergamena","periodo","permesso","perno","perplesso","persuaso","pertugio","pervaso","pesatore","pesista","peso","pestifero","petalo","pettine","petulante","pezzo","piacere","pianta","piattino","piccino","picozza","piega","pietra","piffero","pigiama","pigolio","pigro","pila","pilifero","pillola","pilota","pimpante","pineta","pinna","pinolo","pioggia","piombo","piramide","piretico","pirite","pirolisi","pitone","pizzico","placebo","planare","plasma","platano","plenario","pochezza","poderoso","podismo","poesia","poggiare","polenta","poligono","pollice","polmonite","polpetta","polso","poltrona","polvere","pomice","pomodoro","ponte","popoloso","porfido","poroso","porpora","porre","portata","posa","positivo","possesso","postulato","potassio","potere","pranzo","prassi","pratica","precluso","predica","prefisso","pregiato","prelievo","premere","prenotare","preparato","presenza","pretesto","prevalso","prima","principe","privato","problema","procura","produrre","profumo","progetto","prolunga","promessa","pronome","proposta","proroga","proteso","prova","prudente","prugna","prurito","psiche","pubblico","pudica","pugilato","pugno","pulce","pulito","pulsante","puntare","pupazzo","pupilla","puro","quadro","qualcosa","quasi","querela","quota","raccolto","raddoppio","radicale","radunato","raffica","ragazzo","ragione","ragno","ramarro","ramingo","ramo","randagio","rantolare","rapato","rapina","rappreso","rasatura","raschiato","rasente","rassegna","rastrello","rata","ravveduto","reale","recepire","recinto","recluta","recondito","recupero","reddito","redimere","regalato","registro","regola","regresso","relazione","remare","remoto","renna","replica","reprimere","reputare","resa","residente","responso","restauro","rete","retina","retorica","rettifica","revocato","riassunto","ribadire","ribelle","ribrezzo","ricarica","ricco","ricevere","riciclato","ricordo","ricreduto","ridicolo","ridurre","rifasare","riflesso","riforma","rifugio","rigare","rigettato","righello","rilassato","rilevato","rimanere","rimbalzo","rimedio","rimorchio","rinascita","rincaro","rinforzo","rinnovo","rinomato","rinsavito","rintocco","rinuncia","rinvenire","riparato","ripetuto","ripieno","riportare","ripresa","ripulire","risata","rischio","riserva","risibile","riso","rispetto","ristoro","risultato","risvolto","ritardo","ritegno","ritmico","ritrovo","riunione","riva","riverso","rivincita","rivolto","rizoma","roba","robotico","robusto","roccia","roco","rodaggio","rodere","roditore","rogito","rollio","romantico","rompere","ronzio","rosolare","rospo","rotante","rotondo","rotula","rovescio","rubizzo","rubrica","ruga","rullino","rumine","rumoroso","ruolo","rupe","russare","rustico","sabato","sabbiare","sabotato","sagoma","salasso","saldatura","salgemma","salivare","salmone","salone","saltare","saluto","salvo","sapere","sapido","saporito","saraceno","sarcasmo","sarto","sassoso","satellite","satira","satollo","saturno","savana","savio","saziato","sbadiglio","sbalzo","sbancato","sbarra","sbattere","sbavare","sbendare","sbirciare","sbloccato","sbocciato","sbrinare","sbruffone","sbuffare","scabroso","scadenza","scala","scambiare","scandalo","scapola","scarso","scatenare","scavato","scelto","scenico","scettro","scheda","schiena","sciarpa","scienza","scindere","scippo","sciroppo","scivolo","sclerare","scodella","scolpito","scomparto","sconforto","scoprire","scorta","scossone","scozzese","scriba","scrollare","scrutinio","scuderia","scultore","scuola","scuro","scusare","sdebitare","sdoganare","seccatura","secondo","sedano","seggiola","segnalato","segregato","seguito","selciato","selettivo","sella","selvaggio","semaforo","sembrare","seme","seminato","sempre","senso","sentire","sepolto","sequenza","serata","serbato","sereno","serio","serpente","serraglio","servire","sestina","setola","settimana","sfacelo","sfaldare","sfamato","sfarzoso","sfaticato","sfera","sfida","sfilato","sfinge","sfocato","sfoderare","sfogo","sfoltire","sforzato","sfratto","sfruttato","sfuggito","sfumare","sfuso","sgabello","sgarbato","sgonfiare","sgorbio","sgrassato","sguardo","sibilo","siccome","sierra","sigla","signore","silenzio","sillaba","simbolo","simpatico","simulato","sinfonia","singolo","sinistro","sino","sintesi","sinusoide","sipario","sisma","sistole","situato","slitta","slogatura","sloveno","smarrito","smemorato","smentito","smeraldo","smilzo","smontare","smottato","smussato","snellire","snervato","snodo","sobbalzo","sobrio","soccorso","sociale","sodale","soffitto","sogno","soldato","solenne","solido","sollazzo","solo","solubile","solvente","somatico","somma","sonda","sonetto","sonnifero","sopire","soppeso","sopra","sorgere","sorpasso","sorriso","sorso","sorteggio","sorvolato","sospiro","sosta","sottile","spada","spalla","spargere","spatola","spavento","spazzola","specie","spedire","spegnere","spelatura","speranza","spessore","spettrale","spezzato","spia","spigoloso","spillato","spinoso","spirale","splendido","sportivo","sposo","spranga","sprecare","spronato","spruzzo","spuntino","squillo","sradicare","srotolato","stabile","stacco","staffa","stagnare","stampato","stantio","starnuto","stasera","statuto","stelo","steppa","sterzo","stiletto","stima","stirpe","stivale","stizzoso","stonato","storico","strappo","stregato","stridulo","strozzare","strutto","stuccare","stufo","stupendo","subentro","succoso","sudore","suggerito","sugo","sultano","suonare","superbo","supporto","surgelato","surrogato","sussurro","sutura","svagare","svedese","sveglio","svelare","svenuto","svezia","sviluppo","svista","svizzera","svolta","svuotare","tabacco","tabulato","tacciare","taciturno","tale","talismano","tampone","tannino","tara","tardivo","targato","tariffa","tarpare","tartaruga","tasto","tattico","taverna","tavolata","tazza","teca","tecnico","telefono","temerario","tempo","temuto","tendone","tenero","tensione","tentacolo","teorema","terme","terrazzo","terzetto","tesi","tesserato","testato","tetro","tettoia","tifare","tigella","timbro","tinto","tipico","tipografo","tiraggio","tiro","titanio","titolo","titubante","tizio","tizzone","toccare","tollerare","tolto","tombola","tomo","tonfo","tonsilla","topazio","topologia","toppa","torba","tornare","torrone","tortora","toscano","tossire","tostatura","totano","trabocco","trachea","trafila","tragedia","tralcio","tramonto","transito","trapano","trarre","trasloco","trattato","trave","treccia","tremolio","trespolo","tributo","tricheco","trifoglio","trillo","trincea","trio","tristezza","triturato","trivella","tromba","trono","troppo","trottola","trovare","truccato","tubatura","tuffato","tulipano","tumulto","tunisia","turbare","turchino","tuta","tutela","ubicato","uccello","uccisore","udire","uditivo","uffa","ufficio","uguale","ulisse","ultimato","umano","umile","umorismo","uncinetto","ungere","ungherese","unicorno","unificato","unisono","unitario","unte","uovo","upupa","uragano","urgenza","urlo","usanza","usato","uscito","usignolo","usuraio","utensile","utilizzo","utopia","vacante","vaccinato","vagabondo","vagliato","valanga","valgo","valico","valletta","valoroso","valutare","valvola","vampata","vangare","vanitoso","vano","vantaggio","vanvera","vapore","varano","varcato","variante","vasca","vedetta","vedova","veduto","vegetale","veicolo","velcro","velina","velluto","veloce","venato","vendemmia","vento","verace","verbale","vergogna","verifica","vero","verruca","verticale","vescica","vessillo","vestale","veterano","vetrina","vetusto","viandante","vibrante","vicenda","vichingo","vicinanza","vidimare","vigilia","vigneto","vigore","vile","villano","vimini","vincitore","viola","vipera","virgola","virologo","virulento","viscoso","visione","vispo","vissuto","visura","vita","vitello","vittima","vivanda","vivido","viziare","voce","voga","volatile","volere","volpe","voragine","vulcano","zampogna","zanna","zappato","zattera","zavorra","zefiro","zelante","zelo","zenzero","zerbino","zibetto","zinco","zircone","zitto","zolla","zotico","zucchero","zufolo","zulu","zuppa"]'), Od = /* @__PURE__ */ JSON.parse('["ábaco","abdomen","abeja","abierto","abogado","abono","aborto","abrazo","abrir","abuelo","abuso","acabar","academia","acceso","acción","aceite","acelga","acento","aceptar","ácido","aclarar","acné","acoger","acoso","activo","acto","actriz","actuar","acudir","acuerdo","acusar","adicto","admitir","adoptar","adorno","aduana","adulto","aéreo","afectar","afición","afinar","afirmar","ágil","agitar","agonía","agosto","agotar","agregar","agrio","agua","agudo","águila","aguja","ahogo","ahorro","aire","aislar","ajedrez","ajeno","ajuste","alacrán","alambre","alarma","alba","álbum","alcalde","aldea","alegre","alejar","alerta","aleta","alfiler","alga","algodón","aliado","aliento","alivio","alma","almeja","almíbar","altar","alteza","altivo","alto","altura","alumno","alzar","amable","amante","amapola","amargo","amasar","ámbar","ámbito","ameno","amigo","amistad","amor","amparo","amplio","ancho","anciano","ancla","andar","andén","anemia","ángulo","anillo","ánimo","anís","anotar","antena","antiguo","antojo","anual","anular","anuncio","añadir","añejo","año","apagar","aparato","apetito","apio","aplicar","apodo","aporte","apoyo","aprender","aprobar","apuesta","apuro","arado","araña","arar","árbitro","árbol","arbusto","archivo","arco","arder","ardilla","arduo","área","árido","aries","armonía","arnés","aroma","arpa","arpón","arreglo","arroz","arruga","arte","artista","asa","asado","asalto","ascenso","asegurar","aseo","asesor","asiento","asilo","asistir","asno","asombro","áspero","astilla","astro","astuto","asumir","asunto","atajo","ataque","atar","atento","ateo","ático","atleta","átomo","atraer","atroz","atún","audaz","audio","auge","aula","aumento","ausente","autor","aval","avance","avaro","ave","avellana","avena","avestruz","avión","aviso","ayer","ayuda","ayuno","azafrán","azar","azote","azúcar","azufre","azul","baba","babor","bache","bahía","baile","bajar","balanza","balcón","balde","bambú","banco","banda","baño","barba","barco","barniz","barro","báscula","bastón","basura","batalla","batería","batir","batuta","baúl","bazar","bebé","bebida","bello","besar","beso","bestia","bicho","bien","bingo","blanco","bloque","blusa","boa","bobina","bobo","boca","bocina","boda","bodega","boina","bola","bolero","bolsa","bomba","bondad","bonito","bono","bonsái","borde","borrar","bosque","bote","botín","bóveda","bozal","bravo","brazo","brecha","breve","brillo","brinco","brisa","broca","broma","bronce","brote","bruja","brusco","bruto","buceo","bucle","bueno","buey","bufanda","bufón","búho","buitre","bulto","burbuja","burla","burro","buscar","butaca","buzón","caballo","cabeza","cabina","cabra","cacao","cadáver","cadena","caer","café","caída","caimán","caja","cajón","cal","calamar","calcio","caldo","calidad","calle","calma","calor","calvo","cama","cambio","camello","camino","campo","cáncer","candil","canela","canguro","canica","canto","caña","cañón","caoba","caos","capaz","capitán","capote","captar","capucha","cara","carbón","cárcel","careta","carga","cariño","carne","carpeta","carro","carta","casa","casco","casero","caspa","castor","catorce","catre","caudal","causa","cazo","cebolla","ceder","cedro","celda","célebre","celoso","célula","cemento","ceniza","centro","cerca","cerdo","cereza","cero","cerrar","certeza","césped","cetro","chacal","chaleco","champú","chancla","chapa","charla","chico","chiste","chivo","choque","choza","chuleta","chupar","ciclón","ciego","cielo","cien","cierto","cifra","cigarro","cima","cinco","cine","cinta","ciprés","circo","ciruela","cisne","cita","ciudad","clamor","clan","claro","clase","clave","cliente","clima","clínica","cobre","cocción","cochino","cocina","coco","código","codo","cofre","coger","cohete","cojín","cojo","cola","colcha","colegio","colgar","colina","collar","colmo","columna","combate","comer","comida","cómodo","compra","conde","conejo","conga","conocer","consejo","contar","copa","copia","corazón","corbata","corcho","cordón","corona","correr","coser","cosmos","costa","cráneo","cráter","crear","crecer","creído","crema","cría","crimen","cripta","crisis","cromo","crónica","croqueta","crudo","cruz","cuadro","cuarto","cuatro","cubo","cubrir","cuchara","cuello","cuento","cuerda","cuesta","cueva","cuidar","culebra","culpa","culto","cumbre","cumplir","cuna","cuneta","cuota","cupón","cúpula","curar","curioso","curso","curva","cutis","dama","danza","dar","dardo","dátil","deber","débil","década","decir","dedo","defensa","definir","dejar","delfín","delgado","delito","demora","denso","dental","deporte","derecho","derrota","desayuno","deseo","desfile","desnudo","destino","desvío","detalle","detener","deuda","día","diablo","diadema","diamante","diana","diario","dibujo","dictar","diente","dieta","diez","difícil","digno","dilema","diluir","dinero","directo","dirigir","disco","diseño","disfraz","diva","divino","doble","doce","dolor","domingo","don","donar","dorado","dormir","dorso","dos","dosis","dragón","droga","ducha","duda","duelo","dueño","dulce","dúo","duque","durar","dureza","duro","ébano","ebrio","echar","eco","ecuador","edad","edición","edificio","editor","educar","efecto","eficaz","eje","ejemplo","elefante","elegir","elemento","elevar","elipse","élite","elixir","elogio","eludir","embudo","emitir","emoción","empate","empeño","empleo","empresa","enano","encargo","enchufe","encía","enemigo","enero","enfado","enfermo","engaño","enigma","enlace","enorme","enredo","ensayo","enseñar","entero","entrar","envase","envío","época","equipo","erizo","escala","escena","escolar","escribir","escudo","esencia","esfera","esfuerzo","espada","espejo","espía","esposa","espuma","esquí","estar","este","estilo","estufa","etapa","eterno","ética","etnia","evadir","evaluar","evento","evitar","exacto","examen","exceso","excusa","exento","exigir","exilio","existir","éxito","experto","explicar","exponer","extremo","fábrica","fábula","fachada","fácil","factor","faena","faja","falda","fallo","falso","faltar","fama","familia","famoso","faraón","farmacia","farol","farsa","fase","fatiga","fauna","favor","fax","febrero","fecha","feliz","feo","feria","feroz","fértil","fervor","festín","fiable","fianza","fiar","fibra","ficción","ficha","fideo","fiebre","fiel","fiera","fiesta","figura","fijar","fijo","fila","filete","filial","filtro","fin","finca","fingir","finito","firma","flaco","flauta","flecha","flor","flota","fluir","flujo","flúor","fobia","foca","fogata","fogón","folio","folleto","fondo","forma","forro","fortuna","forzar","fosa","foto","fracaso","frágil","franja","frase","fraude","freír","freno","fresa","frío","frito","fruta","fuego","fuente","fuerza","fuga","fumar","función","funda","furgón","furia","fusil","fútbol","futuro","gacela","gafas","gaita","gajo","gala","galería","gallo","gamba","ganar","gancho","ganga","ganso","garaje","garza","gasolina","gastar","gato","gavilán","gemelo","gemir","gen","género","genio","gente","geranio","gerente","germen","gesto","gigante","gimnasio","girar","giro","glaciar","globo","gloria","gol","golfo","goloso","golpe","goma","gordo","gorila","gorra","gota","goteo","gozar","grada","gráfico","grano","grasa","gratis","grave","grieta","grillo","gripe","gris","grito","grosor","grúa","grueso","grumo","grupo","guante","guapo","guardia","guerra","guía","guiño","guion","guiso","guitarra","gusano","gustar","haber","hábil","hablar","hacer","hacha","hada","hallar","hamaca","harina","haz","hazaña","hebilla","hebra","hecho","helado","helio","hembra","herir","hermano","héroe","hervir","hielo","hierro","hígado","higiene","hijo","himno","historia","hocico","hogar","hoguera","hoja","hombre","hongo","honor","honra","hora","hormiga","horno","hostil","hoyo","hueco","huelga","huerta","hueso","huevo","huida","huir","humano","húmedo","humilde","humo","hundir","huracán","hurto","icono","ideal","idioma","ídolo","iglesia","iglú","igual","ilegal","ilusión","imagen","imán","imitar","impar","imperio","imponer","impulso","incapaz","índice","inerte","infiel","informe","ingenio","inicio","inmenso","inmune","innato","insecto","instante","interés","íntimo","intuir","inútil","invierno","ira","iris","ironía","isla","islote","jabalí","jabón","jamón","jarabe","jardín","jarra","jaula","jazmín","jefe","jeringa","jinete","jornada","joroba","joven","joya","juerga","jueves","juez","jugador","jugo","juguete","juicio","junco","jungla","junio","juntar","júpiter","jurar","justo","juvenil","juzgar","kilo","koala","labio","lacio","lacra","lado","ladrón","lagarto","lágrima","laguna","laico","lamer","lámina","lámpara","lana","lancha","langosta","lanza","lápiz","largo","larva","lástima","lata","látex","latir","laurel","lavar","lazo","leal","lección","leche","lector","leer","legión","legumbre","lejano","lengua","lento","leña","león","leopardo","lesión","letal","letra","leve","leyenda","libertad","libro","licor","líder","lidiar","lienzo","liga","ligero","lima","límite","limón","limpio","lince","lindo","línea","lingote","lino","linterna","líquido","liso","lista","litera","litio","litro","llaga","llama","llanto","llave","llegar","llenar","llevar","llorar","llover","lluvia","lobo","loción","loco","locura","lógica","logro","lombriz","lomo","lonja","lote","lucha","lucir","lugar","lujo","luna","lunes","lupa","lustro","luto","luz","maceta","macho","madera","madre","maduro","maestro","mafia","magia","mago","maíz","maldad","maleta","malla","malo","mamá","mambo","mamut","manco","mando","manejar","manga","maniquí","manjar","mano","manso","manta","mañana","mapa","máquina","mar","marco","marea","marfil","margen","marido","mármol","marrón","martes","marzo","masa","máscara","masivo","matar","materia","matiz","matriz","máximo","mayor","mazorca","mecha","medalla","medio","médula","mejilla","mejor","melena","melón","memoria","menor","mensaje","mente","menú","mercado","merengue","mérito","mes","mesón","meta","meter","método","metro","mezcla","miedo","miel","miembro","miga","mil","milagro","militar","millón","mimo","mina","minero","mínimo","minuto","miope","mirar","misa","miseria","misil","mismo","mitad","mito","mochila","moción","moda","modelo","moho","mojar","molde","moler","molino","momento","momia","monarca","moneda","monja","monto","moño","morada","morder","moreno","morir","morro","morsa","mortal","mosca","mostrar","motivo","mover","móvil","mozo","mucho","mudar","mueble","muela","muerte","muestra","mugre","mujer","mula","muleta","multa","mundo","muñeca","mural","muro","músculo","museo","musgo","música","muslo","nácar","nación","nadar","naipe","naranja","nariz","narrar","nasal","natal","nativo","natural","náusea","naval","nave","navidad","necio","néctar","negar","negocio","negro","neón","nervio","neto","neutro","nevar","nevera","nicho","nido","niebla","nieto","niñez","niño","nítido","nivel","nobleza","noche","nómina","noria","norma","norte","nota","noticia","novato","novela","novio","nube","nuca","núcleo","nudillo","nudo","nuera","nueve","nuez","nulo","número","nutria","oasis","obeso","obispo","objeto","obra","obrero","observar","obtener","obvio","oca","ocaso","océano","ochenta","ocho","ocio","ocre","octavo","octubre","oculto","ocupar","ocurrir","odiar","odio","odisea","oeste","ofensa","oferta","oficio","ofrecer","ogro","oído","oír","ojo","ola","oleada","olfato","olivo","olla","olmo","olor","olvido","ombligo","onda","onza","opaco","opción","ópera","opinar","oponer","optar","óptica","opuesto","oración","orador","oral","órbita","orca","orden","oreja","órgano","orgía","orgullo","oriente","origen","orilla","oro","orquesta","oruga","osadía","oscuro","osezno","oso","ostra","otoño","otro","oveja","óvulo","óxido","oxígeno","oyente","ozono","pacto","padre","paella","página","pago","país","pájaro","palabra","palco","paleta","pálido","palma","paloma","palpar","pan","panal","pánico","pantera","pañuelo","papá","papel","papilla","paquete","parar","parcela","pared","parir","paro","párpado","parque","párrafo","parte","pasar","paseo","pasión","paso","pasta","pata","patio","patria","pausa","pauta","pavo","payaso","peatón","pecado","pecera","pecho","pedal","pedir","pegar","peine","pelar","peldaño","pelea","peligro","pellejo","pelo","peluca","pena","pensar","peñón","peón","peor","pepino","pequeño","pera","percha","perder","pereza","perfil","perico","perla","permiso","perro","persona","pesa","pesca","pésimo","pestaña","pétalo","petróleo","pez","pezuña","picar","pichón","pie","piedra","pierna","pieza","pijama","pilar","piloto","pimienta","pino","pintor","pinza","piña","piojo","pipa","pirata","pisar","piscina","piso","pista","pitón","pizca","placa","plan","plata","playa","plaza","pleito","pleno","plomo","pluma","plural","pobre","poco","poder","podio","poema","poesía","poeta","polen","policía","pollo","polvo","pomada","pomelo","pomo","pompa","poner","porción","portal","posada","poseer","posible","poste","potencia","potro","pozo","prado","precoz","pregunta","premio","prensa","preso","previo","primo","príncipe","prisión","privar","proa","probar","proceso","producto","proeza","profesor","programa","prole","promesa","pronto","propio","próximo","prueba","público","puchero","pudor","pueblo","puerta","puesto","pulga","pulir","pulmón","pulpo","pulso","puma","punto","puñal","puño","pupa","pupila","puré","quedar","queja","quemar","querer","queso","quieto","química","quince","quitar","rábano","rabia","rabo","ración","radical","raíz","rama","rampa","rancho","rango","rapaz","rápido","rapto","rasgo","raspa","rato","rayo","raza","razón","reacción","realidad","rebaño","rebote","recaer","receta","rechazo","recoger","recreo","recto","recurso","red","redondo","reducir","reflejo","reforma","refrán","refugio","regalo","regir","regla","regreso","rehén","reino","reír","reja","relato","relevo","relieve","relleno","reloj","remar","remedio","remo","rencor","rendir","renta","reparto","repetir","reposo","reptil","res","rescate","resina","respeto","resto","resumen","retiro","retorno","retrato","reunir","revés","revista","rey","rezar","rico","riego","rienda","riesgo","rifa","rígido","rigor","rincón","riñón","río","riqueza","risa","ritmo","rito","rizo","roble","roce","rociar","rodar","rodeo","rodilla","roer","rojizo","rojo","romero","romper","ron","ronco","ronda","ropa","ropero","rosa","rosca","rostro","rotar","rubí","rubor","rudo","rueda","rugir","ruido","ruina","ruleta","rulo","rumbo","rumor","ruptura","ruta","rutina","sábado","saber","sabio","sable","sacar","sagaz","sagrado","sala","saldo","salero","salir","salmón","salón","salsa","salto","salud","salvar","samba","sanción","sandía","sanear","sangre","sanidad","sano","santo","sapo","saque","sardina","sartén","sastre","satán","sauna","saxofón","sección","seco","secreto","secta","sed","seguir","seis","sello","selva","semana","semilla","senda","sensor","señal","señor","separar","sepia","sequía","ser","serie","sermón","servir","sesenta","sesión","seta","setenta","severo","sexo","sexto","sidra","siesta","siete","siglo","signo","sílaba","silbar","silencio","silla","símbolo","simio","sirena","sistema","sitio","situar","sobre","socio","sodio","sol","solapa","soldado","soledad","sólido","soltar","solución","sombra","sondeo","sonido","sonoro","sonrisa","sopa","soplar","soporte","sordo","sorpresa","sorteo","sostén","sótano","suave","subir","suceso","sudor","suegra","suelo","sueño","suerte","sufrir","sujeto","sultán","sumar","superar","suplir","suponer","supremo","sur","surco","sureño","surgir","susto","sutil","tabaco","tabique","tabla","tabú","taco","tacto","tajo","talar","talco","talento","talla","talón","tamaño","tambor","tango","tanque","tapa","tapete","tapia","tapón","taquilla","tarde","tarea","tarifa","tarjeta","tarot","tarro","tarta","tatuaje","tauro","taza","tazón","teatro","techo","tecla","técnica","tejado","tejer","tejido","tela","teléfono","tema","temor","templo","tenaz","tender","tener","tenis","tenso","teoría","terapia","terco","término","ternura","terror","tesis","tesoro","testigo","tetera","texto","tez","tibio","tiburón","tiempo","tienda","tierra","tieso","tigre","tijera","tilde","timbre","tímido","timo","tinta","tío","típico","tipo","tira","tirón","titán","títere","título","tiza","toalla","tobillo","tocar","tocino","todo","toga","toldo","tomar","tono","tonto","topar","tope","toque","tórax","torero","tormenta","torneo","toro","torpedo","torre","torso","tortuga","tos","tosco","toser","tóxico","trabajo","tractor","traer","tráfico","trago","traje","tramo","trance","trato","trauma","trazar","trébol","tregua","treinta","tren","trepar","tres","tribu","trigo","tripa","triste","triunfo","trofeo","trompa","tronco","tropa","trote","trozo","truco","trueno","trufa","tubería","tubo","tuerto","tumba","tumor","túnel","túnica","turbina","turismo","turno","tutor","ubicar","úlcera","umbral","unidad","unir","universo","uno","untar","uña","urbano","urbe","urgente","urna","usar","usuario","útil","utopía","uva","vaca","vacío","vacuna","vagar","vago","vaina","vajilla","vale","válido","valle","valor","válvula","vampiro","vara","variar","varón","vaso","vecino","vector","vehículo","veinte","vejez","vela","velero","veloz","vena","vencer","venda","veneno","vengar","venir","venta","venus","ver","verano","verbo","verde","vereda","verja","verso","verter","vía","viaje","vibrar","vicio","víctima","vida","vídeo","vidrio","viejo","viernes","vigor","vil","villa","vinagre","vino","viñedo","violín","viral","virgo","virtud","visor","víspera","vista","vitamina","viudo","vivaz","vivero","vivir","vivo","volcán","volumen","volver","voraz","votar","voto","voz","vuelo","vulgar","yacer","yate","yegua","yema","yerno","yeso","yodo","yoga","yogur","zafiro","zanja","zapato","zarza","zona","zorro","zumo","zurdo"]'), Ud = /* @__PURE__ */ JSON.parse('["あいこくしん","あいさつ","あいだ","あおぞら","あかちゃん","あきる","あけがた","あける","あこがれる","あさい","あさひ","あしあと","あじわう","あずかる","あずき","あそぶ","あたえる","あたためる","あたりまえ","あたる","あつい","あつかう","あっしゅく","あつまり","あつめる","あてな","あてはまる","あひる","あぶら","あぶる","あふれる","あまい","あまど","あまやかす","あまり","あみもの","あめりか","あやまる","あゆむ","あらいぐま","あらし","あらすじ","あらためる","あらゆる","あらわす","ありがとう","あわせる","あわてる","あんい","あんがい","あんこ","あんぜん","あんてい","あんない","あんまり","いいだす","いおん","いがい","いがく","いきおい","いきなり","いきもの","いきる","いくじ","いくぶん","いけばな","いけん","いこう","いこく","いこつ","いさましい","いさん","いしき","いじゅう","いじょう","いじわる","いずみ","いずれ","いせい","いせえび","いせかい","いせき","いぜん","いそうろう","いそがしい","いだい","いだく","いたずら","いたみ","いたりあ","いちおう","いちじ","いちど","いちば","いちぶ","いちりゅう","いつか","いっしゅん","いっせい","いっそう","いったん","いっち","いってい","いっぽう","いてざ","いてん","いどう","いとこ","いない","いなか","いねむり","いのち","いのる","いはつ","いばる","いはん","いびき","いひん","いふく","いへん","いほう","いみん","いもうと","いもたれ","いもり","いやがる","いやす","いよかん","いよく","いらい","いらすと","いりぐち","いりょう","いれい","いれもの","いれる","いろえんぴつ","いわい","いわう","いわかん","いわば","いわゆる","いんげんまめ","いんさつ","いんしょう","いんよう","うえき","うえる","うおざ","うがい","うかぶ","うかべる","うきわ","うくらいな","うくれれ","うけたまわる","うけつけ","うけとる","うけもつ","うける","うごかす","うごく","うこん","うさぎ","うしなう","うしろがみ","うすい","うすぎ","うすぐらい","うすめる","うせつ","うちあわせ","うちがわ","うちき","うちゅう","うっかり","うつくしい","うったえる","うつる","うどん","うなぎ","うなじ","うなずく","うなる","うねる","うのう","うぶげ","うぶごえ","うまれる","うめる","うもう","うやまう","うよく","うらがえす","うらぐち","うらない","うりあげ","うりきれ","うるさい","うれしい","うれゆき","うれる","うろこ","うわき","うわさ","うんこう","うんちん","うんてん","うんどう","えいえん","えいが","えいきょう","えいご","えいせい","えいぶん","えいよう","えいわ","えおり","えがお","えがく","えきたい","えくせる","えしゃく","えすて","えつらん","えのぐ","えほうまき","えほん","えまき","えもじ","えもの","えらい","えらぶ","えりあ","えんえん","えんかい","えんぎ","えんげき","えんしゅう","えんぜつ","えんそく","えんちょう","えんとつ","おいかける","おいこす","おいしい","おいつく","おうえん","おうさま","おうじ","おうせつ","おうたい","おうふく","おうべい","おうよう","おえる","おおい","おおう","おおどおり","おおや","おおよそ","おかえり","おかず","おがむ","おかわり","おぎなう","おきる","おくさま","おくじょう","おくりがな","おくる","おくれる","おこす","おこなう","おこる","おさえる","おさない","おさめる","おしいれ","おしえる","おじぎ","おじさん","おしゃれ","おそらく","おそわる","おたがい","おたく","おだやか","おちつく","おっと","おつり","おでかけ","おとしもの","おとなしい","おどり","おどろかす","おばさん","おまいり","おめでとう","おもいで","おもう","おもたい","おもちゃ","おやつ","おやゆび","およぼす","おらんだ","おろす","おんがく","おんけい","おんしゃ","おんせん","おんだん","おんちゅう","おんどけい","かあつ","かいが","がいき","がいけん","がいこう","かいさつ","かいしゃ","かいすいよく","かいぜん","かいぞうど","かいつう","かいてん","かいとう","かいふく","がいへき","かいほう","かいよう","がいらい","かいわ","かえる","かおり","かかえる","かがく","かがし","かがみ","かくご","かくとく","かざる","がぞう","かたい","かたち","がちょう","がっきゅう","がっこう","がっさん","がっしょう","かなざわし","かのう","がはく","かぶか","かほう","かほご","かまう","かまぼこ","かめれおん","かゆい","かようび","からい","かるい","かろう","かわく","かわら","がんか","かんけい","かんこう","かんしゃ","かんそう","かんたん","かんち","がんばる","きあい","きあつ","きいろ","ぎいん","きうい","きうん","きえる","きおう","きおく","きおち","きおん","きかい","きかく","きかんしゃ","ききて","きくばり","きくらげ","きけんせい","きこう","きこえる","きこく","きさい","きさく","きさま","きさらぎ","ぎじかがく","ぎしき","ぎじたいけん","ぎじにってい","ぎじゅつしゃ","きすう","きせい","きせき","きせつ","きそう","きぞく","きぞん","きたえる","きちょう","きつえん","ぎっちり","きつつき","きつね","きてい","きどう","きどく","きない","きなが","きなこ","きぬごし","きねん","きのう","きのした","きはく","きびしい","きひん","きふく","きぶん","きぼう","きほん","きまる","きみつ","きむずかしい","きめる","きもだめし","きもち","きもの","きゃく","きやく","ぎゅうにく","きよう","きょうりゅう","きらい","きらく","きりん","きれい","きれつ","きろく","ぎろん","きわめる","ぎんいろ","きんかくじ","きんじょ","きんようび","ぐあい","くいず","くうかん","くうき","くうぐん","くうこう","ぐうせい","くうそう","ぐうたら","くうふく","くうぼ","くかん","くきょう","くげん","ぐこう","くさい","くさき","くさばな","くさる","くしゃみ","くしょう","くすのき","くすりゆび","くせげ","くせん","ぐたいてき","くださる","くたびれる","くちこみ","くちさき","くつした","ぐっすり","くつろぐ","くとうてん","くどく","くなん","くねくね","くのう","くふう","くみあわせ","くみたてる","くめる","くやくしょ","くらす","くらべる","くるま","くれる","くろう","くわしい","ぐんかん","ぐんしょく","ぐんたい","ぐんて","けあな","けいかく","けいけん","けいこ","けいさつ","げいじゅつ","けいたい","げいのうじん","けいれき","けいろ","けおとす","けおりもの","げきか","げきげん","げきだん","げきちん","げきとつ","げきは","げきやく","げこう","げこくじょう","げざい","けさき","げざん","けしき","けしごむ","けしょう","げすと","けたば","けちゃっぷ","けちらす","けつあつ","けつい","けつえき","けっこん","けつじょ","けっせき","けってい","けつまつ","げつようび","げつれい","けつろん","げどく","けとばす","けとる","けなげ","けなす","けなみ","けぬき","げねつ","けねん","けはい","げひん","けぶかい","げぼく","けまり","けみかる","けむし","けむり","けもの","けらい","けろけろ","けわしい","けんい","けんえつ","けんお","けんか","げんき","けんげん","けんこう","けんさく","けんしゅう","けんすう","げんそう","けんちく","けんてい","けんとう","けんない","けんにん","げんぶつ","けんま","けんみん","けんめい","けんらん","けんり","こあくま","こいぬ","こいびと","ごうい","こうえん","こうおん","こうかん","ごうきゅう","ごうけい","こうこう","こうさい","こうじ","こうすい","ごうせい","こうそく","こうたい","こうちゃ","こうつう","こうてい","こうどう","こうない","こうはい","ごうほう","ごうまん","こうもく","こうりつ","こえる","こおり","ごかい","ごがつ","ごかん","こくご","こくさい","こくとう","こくない","こくはく","こぐま","こけい","こける","ここのか","こころ","こさめ","こしつ","こすう","こせい","こせき","こぜん","こそだて","こたい","こたえる","こたつ","こちょう","こっか","こつこつ","こつばん","こつぶ","こてい","こてん","ことがら","ことし","ことば","ことり","こなごな","こねこね","このまま","このみ","このよ","ごはん","こひつじ","こふう","こふん","こぼれる","ごまあぶら","こまかい","ごますり","こまつな","こまる","こむぎこ","こもじ","こもち","こもの","こもん","こやく","こやま","こゆう","こゆび","こよい","こよう","こりる","これくしょん","ころっけ","こわもて","こわれる","こんいん","こんかい","こんき","こんしゅう","こんすい","こんだて","こんとん","こんなん","こんびに","こんぽん","こんまけ","こんや","こんれい","こんわく","ざいえき","さいかい","さいきん","ざいげん","ざいこ","さいしょ","さいせい","ざいたく","ざいちゅう","さいてき","ざいりょう","さうな","さかいし","さがす","さかな","さかみち","さがる","さぎょう","さくし","さくひん","さくら","さこく","さこつ","さずかる","ざせき","さたん","さつえい","ざつおん","ざっか","ざつがく","さっきょく","ざっし","さつじん","ざっそう","さつたば","さつまいも","さてい","さといも","さとう","さとおや","さとし","さとる","さのう","さばく","さびしい","さべつ","さほう","さほど","さます","さみしい","さみだれ","さむけ","さめる","さやえんどう","さゆう","さよう","さよく","さらだ","ざるそば","さわやか","さわる","さんいん","さんか","さんきゃく","さんこう","さんさい","ざんしょ","さんすう","さんせい","さんそ","さんち","さんま","さんみ","さんらん","しあい","しあげ","しあさって","しあわせ","しいく","しいん","しうち","しえい","しおけ","しかい","しかく","じかん","しごと","しすう","じだい","したうけ","したぎ","したて","したみ","しちょう","しちりん","しっかり","しつじ","しつもん","してい","してき","してつ","じてん","じどう","しなぎれ","しなもの","しなん","しねま","しねん","しのぐ","しのぶ","しはい","しばかり","しはつ","しはらい","しはん","しひょう","しふく","じぶん","しへい","しほう","しほん","しまう","しまる","しみん","しむける","じむしょ","しめい","しめる","しもん","しゃいん","しゃうん","しゃおん","じゃがいも","しやくしょ","しゃくほう","しゃけん","しゃこ","しゃざい","しゃしん","しゃせん","しゃそう","しゃたい","しゃちょう","しゃっきん","じゃま","しゃりん","しゃれい","じゆう","じゅうしょ","しゅくはく","じゅしん","しゅっせき","しゅみ","しゅらば","じゅんばん","しょうかい","しょくたく","しょっけん","しょどう","しょもつ","しらせる","しらべる","しんか","しんこう","じんじゃ","しんせいじ","しんちく","しんりん","すあげ","すあし","すあな","ずあん","すいえい","すいか","すいとう","ずいぶん","すいようび","すうがく","すうじつ","すうせん","すおどり","すきま","すくう","すくない","すける","すごい","すこし","ずさん","すずしい","すすむ","すすめる","すっかり","ずっしり","ずっと","すてき","すてる","すねる","すのこ","すはだ","すばらしい","ずひょう","ずぶぬれ","すぶり","すふれ","すべて","すべる","ずほう","すぼん","すまい","すめし","すもう","すやき","すらすら","するめ","すれちがう","すろっと","すわる","すんぜん","すんぽう","せあぶら","せいかつ","せいげん","せいじ","せいよう","せおう","せかいかん","せきにん","せきむ","せきゆ","せきらんうん","せけん","せこう","せすじ","せたい","せたけ","せっかく","せっきゃく","ぜっく","せっけん","せっこつ","せっさたくま","せつぞく","せつだん","せつでん","せっぱん","せつび","せつぶん","せつめい","せつりつ","せなか","せのび","せはば","せびろ","せぼね","せまい","せまる","せめる","せもたれ","せりふ","ぜんあく","せんい","せんえい","せんか","せんきょ","せんく","せんげん","ぜんご","せんさい","せんしゅ","せんすい","せんせい","せんぞ","せんたく","せんちょう","せんてい","せんとう","せんぬき","せんねん","せんぱい","ぜんぶ","ぜんぽう","せんむ","せんめんじょ","せんもん","せんやく","せんゆう","せんよう","ぜんら","ぜんりゃく","せんれい","せんろ","そあく","そいとげる","そいね","そうがんきょう","そうき","そうご","そうしん","そうだん","そうなん","そうび","そうめん","そうり","そえもの","そえん","そがい","そげき","そこう","そこそこ","そざい","そしな","そせい","そせん","そそぐ","そだてる","そつう","そつえん","そっかん","そつぎょう","そっけつ","そっこう","そっせん","そっと","そとがわ","そとづら","そなえる","そなた","そふぼ","そぼく","そぼろ","そまつ","そまる","そむく","そむりえ","そめる","そもそも","そよかぜ","そらまめ","そろう","そんかい","そんけい","そんざい","そんしつ","そんぞく","そんちょう","ぞんび","ぞんぶん","そんみん","たあい","たいいん","たいうん","たいえき","たいおう","だいがく","たいき","たいぐう","たいけん","たいこ","たいざい","だいじょうぶ","だいすき","たいせつ","たいそう","だいたい","たいちょう","たいてい","だいどころ","たいない","たいねつ","たいのう","たいはん","だいひょう","たいふう","たいへん","たいほ","たいまつばな","たいみんぐ","たいむ","たいめん","たいやき","たいよう","たいら","たいりょく","たいる","たいわん","たうえ","たえる","たおす","たおる","たおれる","たかい","たかね","たきび","たくさん","たこく","たこやき","たさい","たしざん","だじゃれ","たすける","たずさわる","たそがれ","たたかう","たたく","ただしい","たたみ","たちばな","だっかい","だっきゃく","だっこ","だっしゅつ","だったい","たてる","たとえる","たなばた","たにん","たぬき","たのしみ","たはつ","たぶん","たべる","たぼう","たまご","たまる","だむる","ためいき","ためす","ためる","たもつ","たやすい","たよる","たらす","たりきほんがん","たりょう","たりる","たると","たれる","たれんと","たろっと","たわむれる","だんあつ","たんい","たんおん","たんか","たんき","たんけん","たんご","たんさん","たんじょうび","だんせい","たんそく","たんたい","だんち","たんてい","たんとう","だんな","たんにん","だんねつ","たんのう","たんぴん","だんぼう","たんまつ","たんめい","だんれつ","だんろ","だんわ","ちあい","ちあん","ちいき","ちいさい","ちえん","ちかい","ちから","ちきゅう","ちきん","ちけいず","ちけん","ちこく","ちさい","ちしき","ちしりょう","ちせい","ちそう","ちたい","ちたん","ちちおや","ちつじょ","ちてき","ちてん","ちぬき","ちぬり","ちのう","ちひょう","ちへいせん","ちほう","ちまた","ちみつ","ちみどろ","ちめいど","ちゃんこなべ","ちゅうい","ちゆりょく","ちょうし","ちょさくけん","ちらし","ちらみ","ちりがみ","ちりょう","ちるど","ちわわ","ちんたい","ちんもく","ついか","ついたち","つうか","つうじょう","つうはん","つうわ","つかう","つかれる","つくね","つくる","つけね","つける","つごう","つたえる","つづく","つつじ","つつむ","つとめる","つながる","つなみ","つねづね","つのる","つぶす","つまらない","つまる","つみき","つめたい","つもり","つもる","つよい","つるぼ","つるみく","つわもの","つわり","てあし","てあて","てあみ","ていおん","ていか","ていき","ていけい","ていこく","ていさつ","ていし","ていせい","ていたい","ていど","ていねい","ていひょう","ていへん","ていぼう","てうち","ておくれ","てきとう","てくび","でこぼこ","てさぎょう","てさげ","てすり","てそう","てちがい","てちょう","てつがく","てつづき","でっぱ","てつぼう","てつや","でぬかえ","てぬき","てぬぐい","てのひら","てはい","てぶくろ","てふだ","てほどき","てほん","てまえ","てまきずし","てみじか","てみやげ","てらす","てれび","てわけ","てわたし","でんあつ","てんいん","てんかい","てんき","てんぐ","てんけん","てんごく","てんさい","てんし","てんすう","でんち","てんてき","てんとう","てんない","てんぷら","てんぼうだい","てんめつ","てんらんかい","でんりょく","でんわ","どあい","といれ","どうかん","とうきゅう","どうぐ","とうし","とうむぎ","とおい","とおか","とおく","とおす","とおる","とかい","とかす","ときおり","ときどき","とくい","とくしゅう","とくてん","とくに","とくべつ","とけい","とける","とこや","とさか","としょかん","とそう","とたん","とちゅう","とっきゅう","とっくん","とつぜん","とつにゅう","とどける","ととのえる","とない","となえる","となり","とのさま","とばす","どぶがわ","とほう","とまる","とめる","ともだち","ともる","どようび","とらえる","とんかつ","どんぶり","ないかく","ないこう","ないしょ","ないす","ないせん","ないそう","なおす","ながい","なくす","なげる","なこうど","なさけ","なたでここ","なっとう","なつやすみ","ななおし","なにごと","なにもの","なにわ","なのか","なふだ","なまいき","なまえ","なまみ","なみだ","なめらか","なめる","なやむ","ならう","ならび","ならぶ","なれる","なわとび","なわばり","にあう","にいがた","にうけ","におい","にかい","にがて","にきび","にくしみ","にくまん","にげる","にさんかたんそ","にしき","にせもの","にちじょう","にちようび","にっか","にっき","にっけい","にっこう","にっさん","にっしょく","にっすう","にっせき","にってい","になう","にほん","にまめ","にもつ","にやり","にゅういん","にりんしゃ","にわとり","にんい","にんか","にんき","にんげん","にんしき","にんずう","にんそう","にんたい","にんち","にんてい","にんにく","にんぷ","にんまり","にんむ","にんめい","にんよう","ぬいくぎ","ぬかす","ぬぐいとる","ぬぐう","ぬくもり","ぬすむ","ぬまえび","ぬめり","ぬらす","ぬんちゃく","ねあげ","ねいき","ねいる","ねいろ","ねぐせ","ねくたい","ねくら","ねこぜ","ねこむ","ねさげ","ねすごす","ねそべる","ねだん","ねつい","ねっしん","ねつぞう","ねったいぎょ","ねぶそく","ねふだ","ねぼう","ねほりはほり","ねまき","ねまわし","ねみみ","ねむい","ねむたい","ねもと","ねらう","ねわざ","ねんいり","ねんおし","ねんかん","ねんきん","ねんぐ","ねんざ","ねんし","ねんちゃく","ねんど","ねんぴ","ねんぶつ","ねんまつ","ねんりょう","ねんれい","のいず","のおづま","のがす","のきなみ","のこぎり","のこす","のこる","のせる","のぞく","のぞむ","のたまう","のちほど","のっく","のばす","のはら","のべる","のぼる","のみもの","のやま","のらいぬ","のらねこ","のりもの","のりゆき","のれん","のんき","ばあい","はあく","ばあさん","ばいか","ばいく","はいけん","はいご","はいしん","はいすい","はいせん","はいそう","はいち","ばいばい","はいれつ","はえる","はおる","はかい","ばかり","はかる","はくしゅ","はけん","はこぶ","はさみ","はさん","はしご","ばしょ","はしる","はせる","ぱそこん","はそん","はたん","はちみつ","はつおん","はっかく","はづき","はっきり","はっくつ","はっけん","はっこう","はっさん","はっしん","はったつ","はっちゅう","はってん","はっぴょう","はっぽう","はなす","はなび","はにかむ","はぶらし","はみがき","はむかう","はめつ","はやい","はやし","はらう","はろうぃん","はわい","はんい","はんえい","はんおん","はんかく","はんきょう","ばんぐみ","はんこ","はんしゃ","はんすう","はんだん","ぱんち","ぱんつ","はんてい","はんとし","はんのう","はんぱ","はんぶん","はんぺん","はんぼうき","はんめい","はんらん","はんろん","ひいき","ひうん","ひえる","ひかく","ひかり","ひかる","ひかん","ひくい","ひけつ","ひこうき","ひこく","ひさい","ひさしぶり","ひさん","びじゅつかん","ひしょ","ひそか","ひそむ","ひたむき","ひだり","ひたる","ひつぎ","ひっこし","ひっし","ひつじゅひん","ひっす","ひつぜん","ぴったり","ぴっちり","ひつよう","ひてい","ひとごみ","ひなまつり","ひなん","ひねる","ひはん","ひびく","ひひょう","ひほう","ひまわり","ひまん","ひみつ","ひめい","ひめじし","ひやけ","ひやす","ひよう","びょうき","ひらがな","ひらく","ひりつ","ひりょう","ひるま","ひるやすみ","ひれい","ひろい","ひろう","ひろき","ひろゆき","ひんかく","ひんけつ","ひんこん","ひんしゅ","ひんそう","ぴんち","ひんぱん","びんぼう","ふあん","ふいうち","ふうけい","ふうせん","ぷうたろう","ふうとう","ふうふ","ふえる","ふおん","ふかい","ふきん","ふくざつ","ふくぶくろ","ふこう","ふさい","ふしぎ","ふじみ","ふすま","ふせい","ふせぐ","ふそく","ぶたにく","ふたん","ふちょう","ふつう","ふつか","ふっかつ","ふっき","ふっこく","ぶどう","ふとる","ふとん","ふのう","ふはい","ふひょう","ふへん","ふまん","ふみん","ふめつ","ふめん","ふよう","ふりこ","ふりる","ふるい","ふんいき","ぶんがく","ぶんぐ","ふんしつ","ぶんせき","ふんそう","ぶんぽう","へいあん","へいおん","へいがい","へいき","へいげん","へいこう","へいさ","へいしゃ","へいせつ","へいそ","へいたく","へいてん","へいねつ","へいわ","へきが","へこむ","べにいろ","べにしょうが","へらす","へんかん","べんきょう","べんごし","へんさい","へんたい","べんり","ほあん","ほいく","ぼうぎょ","ほうこく","ほうそう","ほうほう","ほうもん","ほうりつ","ほえる","ほおん","ほかん","ほきょう","ぼきん","ほくろ","ほけつ","ほけん","ほこう","ほこる","ほしい","ほしつ","ほしゅ","ほしょう","ほせい","ほそい","ほそく","ほたて","ほたる","ぽちぶくろ","ほっきょく","ほっさ","ほったん","ほとんど","ほめる","ほんい","ほんき","ほんけ","ほんしつ","ほんやく","まいにち","まかい","まかせる","まがる","まける","まこと","まさつ","まじめ","ますく","まぜる","まつり","まとめ","まなぶ","まぬけ","まねく","まほう","まもる","まゆげ","まよう","まろやか","まわす","まわり","まわる","まんが","まんきつ","まんぞく","まんなか","みいら","みうち","みえる","みがく","みかた","みかん","みけん","みこん","みじかい","みすい","みすえる","みせる","みっか","みつかる","みつける","みてい","みとめる","みなと","みなみかさい","みねらる","みのう","みのがす","みほん","みもと","みやげ","みらい","みりょく","みわく","みんか","みんぞく","むいか","むえき","むえん","むかい","むかう","むかえ","むかし","むぎちゃ","むける","むげん","むさぼる","むしあつい","むしば","むじゅん","むしろ","むすう","むすこ","むすぶ","むすめ","むせる","むせん","むちゅう","むなしい","むのう","むやみ","むよう","むらさき","むりょう","むろん","めいあん","めいうん","めいえん","めいかく","めいきょく","めいさい","めいし","めいそう","めいぶつ","めいれい","めいわく","めぐまれる","めざす","めした","めずらしい","めだつ","めまい","めやす","めんきょ","めんせき","めんどう","もうしあげる","もうどうけん","もえる","もくし","もくてき","もくようび","もちろん","もどる","もらう","もんく","もんだい","やおや","やける","やさい","やさしい","やすい","やすたろう","やすみ","やせる","やそう","やたい","やちん","やっと","やっぱり","やぶる","やめる","ややこしい","やよい","やわらかい","ゆうき","ゆうびんきょく","ゆうべ","ゆうめい","ゆけつ","ゆしゅつ","ゆせん","ゆそう","ゆたか","ゆちゃく","ゆでる","ゆにゅう","ゆびわ","ゆらい","ゆれる","ようい","ようか","ようきゅう","ようじ","ようす","ようちえん","よかぜ","よかん","よきん","よくせい","よくぼう","よけい","よごれる","よさん","よしゅう","よそう","よそく","よっか","よてい","よどがわく","よねつ","よやく","よゆう","よろこぶ","よろしい","らいう","らくがき","らくご","らくさつ","らくだ","らしんばん","らせん","らぞく","らたい","らっか","られつ","りえき","りかい","りきさく","りきせつ","りくぐん","りくつ","りけん","りこう","りせい","りそう","りそく","りてん","りねん","りゆう","りゅうがく","りよう","りょうり","りょかん","りょくちゃ","りょこう","りりく","りれき","りろん","りんご","るいけい","るいさい","るいじ","るいせき","るすばん","るりがわら","れいかん","れいぎ","れいせい","れいぞうこ","れいとう","れいぼう","れきし","れきだい","れんあい","れんけい","れんこん","れんさい","れんしゅう","れんぞく","れんらく","ろうか","ろうご","ろうじん","ろうそく","ろくが","ろこつ","ろじうら","ろしゅつ","ろせん","ろてん","ろめん","ろれつ","ろんぎ","ろんぱ","ろんぶん","ろんり","わかす","わかめ","わかやま","わかれる","わしつ","わじまし","わすれもの","わらう","われる"]'), Dd = /* @__PURE__ */ JSON.parse('["abacate","abaixo","abalar","abater","abduzir","abelha","aberto","abismo","abotoar","abranger","abreviar","abrigar","abrupto","absinto","absoluto","absurdo","abutre","acabado","acalmar","acampar","acanhar","acaso","aceitar","acelerar","acenar","acervo","acessar","acetona","achatar","acidez","acima","acionado","acirrar","aclamar","aclive","acolhida","acomodar","acoplar","acordar","acumular","acusador","adaptar","adega","adentro","adepto","adequar","aderente","adesivo","adeus","adiante","aditivo","adjetivo","adjunto","admirar","adorar","adquirir","adubo","adverso","advogado","aeronave","afastar","aferir","afetivo","afinador","afivelar","aflito","afluente","afrontar","agachar","agarrar","agasalho","agenciar","agilizar","agiota","agitado","agora","agradar","agreste","agrupar","aguardar","agulha","ajoelhar","ajudar","ajustar","alameda","alarme","alastrar","alavanca","albergue","albino","alcatra","aldeia","alecrim","alegria","alertar","alface","alfinete","algum","alheio","aliar","alicate","alienar","alinhar","aliviar","almofada","alocar","alpiste","alterar","altitude","alucinar","alugar","aluno","alusivo","alvo","amaciar","amador","amarelo","amassar","ambas","ambiente","ameixa","amenizar","amido","amistoso","amizade","amolador","amontoar","amoroso","amostra","amparar","ampliar","ampola","anagrama","analisar","anarquia","anatomia","andaime","anel","anexo","angular","animar","anjo","anomalia","anotado","ansioso","anterior","anuidade","anunciar","anzol","apagador","apalpar","apanhado","apego","apelido","apertada","apesar","apetite","apito","aplauso","aplicada","apoio","apontar","aposta","aprendiz","aprovar","aquecer","arame","aranha","arara","arcada","ardente","areia","arejar","arenito","aresta","argiloso","argola","arma","arquivo","arraial","arrebate","arriscar","arroba","arrumar","arsenal","arterial","artigo","arvoredo","asfaltar","asilado","aspirar","assador","assinar","assoalho","assunto","astral","atacado","atadura","atalho","atarefar","atear","atender","aterro","ateu","atingir","atirador","ativo","atoleiro","atracar","atrevido","atriz","atual","atum","auditor","aumentar","aura","aurora","autismo","autoria","autuar","avaliar","avante","avaria","avental","avesso","aviador","avisar","avulso","axila","azarar","azedo","azeite","azulejo","babar","babosa","bacalhau","bacharel","bacia","bagagem","baiano","bailar","baioneta","bairro","baixista","bajular","baleia","baliza","balsa","banal","bandeira","banho","banir","banquete","barato","barbado","baronesa","barraca","barulho","baseado","bastante","batata","batedor","batida","batom","batucar","baunilha","beber","beijo","beirada","beisebol","beldade","beleza","belga","beliscar","bendito","bengala","benzer","berimbau","berlinda","berro","besouro","bexiga","bezerro","bico","bicudo","bienal","bifocal","bifurcar","bigorna","bilhete","bimestre","bimotor","biologia","biombo","biosfera","bipolar","birrento","biscoito","bisneto","bispo","bissexto","bitola","bizarro","blindado","bloco","bloquear","boato","bobagem","bocado","bocejo","bochecha","boicotar","bolada","boletim","bolha","bolo","bombeiro","bonde","boneco","bonita","borbulha","borda","boreal","borracha","bovino","boxeador","branco","brasa","braveza","breu","briga","brilho","brincar","broa","brochura","bronzear","broto","bruxo","bucha","budismo","bufar","bule","buraco","busca","busto","buzina","cabana","cabelo","cabide","cabo","cabrito","cacau","cacetada","cachorro","cacique","cadastro","cadeado","cafezal","caiaque","caipira","caixote","cajado","caju","calafrio","calcular","caldeira","calibrar","calmante","calota","camada","cambista","camisa","camomila","campanha","camuflar","canavial","cancelar","caneta","canguru","canhoto","canivete","canoa","cansado","cantar","canudo","capacho","capela","capinar","capotar","capricho","captador","capuz","caracol","carbono","cardeal","careca","carimbar","carneiro","carpete","carreira","cartaz","carvalho","casaco","casca","casebre","castelo","casulo","catarata","cativar","caule","causador","cautelar","cavalo","caverna","cebola","cedilha","cegonha","celebrar","celular","cenoura","censo","centeio","cercar","cerrado","certeiro","cerveja","cetim","cevada","chacota","chaleira","chamado","chapada","charme","chatice","chave","chefe","chegada","cheiro","cheque","chicote","chifre","chinelo","chocalho","chover","chumbo","chutar","chuva","cicatriz","ciclone","cidade","cidreira","ciente","cigana","cimento","cinto","cinza","ciranda","circuito","cirurgia","citar","clareza","clero","clicar","clone","clube","coado","coagir","cobaia","cobertor","cobrar","cocada","coelho","coentro","coeso","cogumelo","coibir","coifa","coiote","colar","coleira","colher","colidir","colmeia","colono","coluna","comando","combinar","comentar","comitiva","comover","complexo","comum","concha","condor","conectar","confuso","congelar","conhecer","conjugar","consumir","contrato","convite","cooperar","copeiro","copiador","copo","coquetel","coragem","cordial","corneta","coronha","corporal","correio","cortejo","coruja","corvo","cosseno","costela","cotonete","couro","couve","covil","cozinha","cratera","cravo","creche","credor","creme","crer","crespo","criada","criminal","crioulo","crise","criticar","crosta","crua","cruzeiro","cubano","cueca","cuidado","cujo","culatra","culminar","culpar","cultura","cumprir","cunhado","cupido","curativo","curral","cursar","curto","cuspir","custear","cutelo","damasco","datar","debater","debitar","deboche","debulhar","decalque","decimal","declive","decote","decretar","dedal","dedicado","deduzir","defesa","defumar","degelo","degrau","degustar","deitado","deixar","delator","delegado","delinear","delonga","demanda","demitir","demolido","dentista","depenado","depilar","depois","depressa","depurar","deriva","derramar","desafio","desbotar","descanso","desenho","desfiado","desgaste","desigual","deslize","desmamar","desova","despesa","destaque","desviar","detalhar","detentor","detonar","detrito","deusa","dever","devido","devotado","dezena","diagrama","dialeto","didata","difuso","digitar","dilatado","diluente","diminuir","dinastia","dinheiro","diocese","direto","discreta","disfarce","disparo","disquete","dissipar","distante","ditador","diurno","diverso","divisor","divulgar","dizer","dobrador","dolorido","domador","dominado","donativo","donzela","dormente","dorsal","dosagem","dourado","doutor","drenagem","drible","drogaria","duelar","duende","dueto","duplo","duquesa","durante","duvidoso","eclodir","ecoar","ecologia","edificar","edital","educado","efeito","efetivar","ejetar","elaborar","eleger","eleitor","elenco","elevador","eliminar","elogiar","embargo","embolado","embrulho","embutido","emenda","emergir","emissor","empatia","empenho","empinado","empolgar","emprego","empurrar","emulador","encaixe","encenado","enchente","encontro","endeusar","endossar","enfaixar","enfeite","enfim","engajado","engenho","englobar","engomado","engraxar","enguia","enjoar","enlatar","enquanto","enraizar","enrolado","enrugar","ensaio","enseada","ensino","ensopado","entanto","enteado","entidade","entortar","entrada","entulho","envergar","enviado","envolver","enxame","enxerto","enxofre","enxuto","epiderme","equipar","ereto","erguido","errata","erva","ervilha","esbanjar","esbelto","escama","escola","escrita","escuta","esfinge","esfolar","esfregar","esfumado","esgrima","esmalte","espanto","espelho","espiga","esponja","espreita","espumar","esquerda","estaca","esteira","esticar","estofado","estrela","estudo","esvaziar","etanol","etiqueta","euforia","europeu","evacuar","evaporar","evasivo","eventual","evidente","evoluir","exagero","exalar","examinar","exato","exausto","excesso","excitar","exclamar","executar","exemplo","exibir","exigente","exonerar","expandir","expelir","expirar","explanar","exposto","expresso","expulsar","externo","extinto","extrato","fabricar","fabuloso","faceta","facial","fada","fadiga","faixa","falar","falta","familiar","fandango","fanfarra","fantoche","fardado","farelo","farinha","farofa","farpa","fartura","fatia","fator","favorita","faxina","fazenda","fechado","feijoada","feirante","felino","feminino","fenda","feno","fera","feriado","ferrugem","ferver","festejar","fetal","feudal","fiapo","fibrose","ficar","ficheiro","figurado","fileira","filho","filme","filtrar","firmeza","fisgada","fissura","fita","fivela","fixador","fixo","flacidez","flamingo","flanela","flechada","flora","flutuar","fluxo","focal","focinho","fofocar","fogo","foguete","foice","folgado","folheto","forjar","formiga","forno","forte","fosco","fossa","fragata","fralda","frango","frasco","fraterno","freira","frente","fretar","frieza","friso","fritura","fronha","frustrar","fruteira","fugir","fulano","fuligem","fundar","fungo","funil","furador","furioso","futebol","gabarito","gabinete","gado","gaiato","gaiola","gaivota","galega","galho","galinha","galocha","ganhar","garagem","garfo","gargalo","garimpo","garoupa","garrafa","gasoduto","gasto","gata","gatilho","gaveta","gazela","gelado","geleia","gelo","gemada","gemer","gemido","generoso","gengiva","genial","genoma","genro","geologia","gerador","germinar","gesso","gestor","ginasta","gincana","gingado","girafa","girino","glacial","glicose","global","glorioso","goela","goiaba","golfe","golpear","gordura","gorjeta","gorro","gostoso","goteira","governar","gracejo","gradual","grafite","gralha","grampo","granada","gratuito","graveto","graxa","grego","grelhar","greve","grilo","grisalho","gritaria","grosso","grotesco","grudado","grunhido","gruta","guache","guarani","guaxinim","guerrear","guiar","guincho","guisado","gula","guloso","guru","habitar","harmonia","haste","haver","hectare","herdar","heresia","hesitar","hiato","hibernar","hidratar","hiena","hino","hipismo","hipnose","hipoteca","hoje","holofote","homem","honesto","honrado","hormonal","hospedar","humorado","iate","ideia","idoso","ignorado","igreja","iguana","ileso","ilha","iludido","iluminar","ilustrar","imagem","imediato","imenso","imersivo","iminente","imitador","imortal","impacto","impedir","implante","impor","imprensa","impune","imunizar","inalador","inapto","inativo","incenso","inchar","incidir","incluir","incolor","indeciso","indireto","indutor","ineficaz","inerente","infantil","infestar","infinito","inflamar","informal","infrator","ingerir","inibido","inicial","inimigo","injetar","inocente","inodoro","inovador","inox","inquieto","inscrito","inseto","insistir","inspetor","instalar","insulto","intacto","integral","intimar","intocado","intriga","invasor","inverno","invicto","invocar","iogurte","iraniano","ironizar","irreal","irritado","isca","isento","isolado","isqueiro","italiano","janeiro","jangada","janta","jararaca","jardim","jarro","jasmim","jato","javali","jazida","jejum","joaninha","joelhada","jogador","joia","jornal","jorrar","jovem","juba","judeu","judoca","juiz","julgador","julho","jurado","jurista","juro","justa","labareda","laboral","lacre","lactante","ladrilho","lagarta","lagoa","laje","lamber","lamentar","laminar","lampejo","lanche","lapidar","lapso","laranja","lareira","largura","lasanha","lastro","lateral","latido","lavanda","lavoura","lavrador","laxante","lazer","lealdade","lebre","legado","legendar","legista","leigo","leiloar","leitura","lembrete","leme","lenhador","lentilha","leoa","lesma","leste","letivo","letreiro","levar","leveza","levitar","liberal","libido","liderar","ligar","ligeiro","limitar","limoeiro","limpador","linda","linear","linhagem","liquidez","listagem","lisura","litoral","livro","lixa","lixeira","locador","locutor","lojista","lombo","lona","longe","lontra","lorde","lotado","loteria","loucura","lousa","louvar","luar","lucidez","lucro","luneta","lustre","lutador","luva","macaco","macete","machado","macio","madeira","madrinha","magnata","magreza","maior","mais","malandro","malha","malote","maluco","mamilo","mamoeiro","mamute","manada","mancha","mandato","manequim","manhoso","manivela","manobrar","mansa","manter","manusear","mapeado","maquinar","marcador","maresia","marfim","margem","marinho","marmita","maroto","marquise","marreco","martelo","marujo","mascote","masmorra","massagem","mastigar","matagal","materno","matinal","matutar","maxilar","medalha","medida","medusa","megafone","meiga","melancia","melhor","membro","memorial","menino","menos","mensagem","mental","merecer","mergulho","mesada","mesclar","mesmo","mesquita","mestre","metade","meteoro","metragem","mexer","mexicano","micro","migalha","migrar","milagre","milenar","milhar","mimado","minerar","minhoca","ministro","minoria","miolo","mirante","mirtilo","misturar","mocidade","moderno","modular","moeda","moer","moinho","moita","moldura","moleza","molho","molinete","molusco","montanha","moqueca","morango","morcego","mordomo","morena","mosaico","mosquete","mostarda","motel","motim","moto","motriz","muda","muito","mulata","mulher","multar","mundial","munido","muralha","murcho","muscular","museu","musical","nacional","nadador","naja","namoro","narina","narrado","nascer","nativa","natureza","navalha","navegar","navio","neblina","nebuloso","negativa","negociar","negrito","nervoso","neta","neural","nevasca","nevoeiro","ninar","ninho","nitidez","nivelar","nobreza","noite","noiva","nomear","nominal","nordeste","nortear","notar","noticiar","noturno","novelo","novilho","novo","nublado","nudez","numeral","nupcial","nutrir","nuvem","obcecado","obedecer","objetivo","obrigado","obscuro","obstetra","obter","obturar","ocidente","ocioso","ocorrer","oculista","ocupado","ofegante","ofensiva","oferenda","oficina","ofuscado","ogiva","olaria","oleoso","olhar","oliveira","ombro","omelete","omisso","omitir","ondulado","oneroso","ontem","opcional","operador","oponente","oportuno","oposto","orar","orbitar","ordem","ordinal","orfanato","orgasmo","orgulho","oriental","origem","oriundo","orla","ortodoxo","orvalho","oscilar","ossada","osso","ostentar","otimismo","ousadia","outono","outubro","ouvido","ovelha","ovular","oxidar","oxigenar","pacato","paciente","pacote","pactuar","padaria","padrinho","pagar","pagode","painel","pairar","paisagem","palavra","palestra","palheta","palito","palmada","palpitar","pancada","panela","panfleto","panqueca","pantanal","papagaio","papelada","papiro","parafina","parcial","pardal","parede","partida","pasmo","passado","pastel","patamar","patente","patinar","patrono","paulada","pausar","peculiar","pedalar","pedestre","pediatra","pedra","pegada","peitoral","peixe","pele","pelicano","penca","pendurar","peneira","penhasco","pensador","pente","perceber","perfeito","pergunta","perito","permitir","perna","perplexo","persiana","pertence","peruca","pescado","pesquisa","pessoa","petiscar","piada","picado","piedade","pigmento","pilastra","pilhado","pilotar","pimenta","pincel","pinguim","pinha","pinote","pintar","pioneiro","pipoca","piquete","piranha","pires","pirueta","piscar","pistola","pitanga","pivete","planta","plaqueta","platina","plebeu","plumagem","pluvial","pneu","poda","poeira","poetisa","polegada","policiar","poluente","polvilho","pomar","pomba","ponderar","pontaria","populoso","porta","possuir","postal","pote","poupar","pouso","povoar","praia","prancha","prato","praxe","prece","predador","prefeito","premiar","prensar","preparar","presilha","pretexto","prevenir","prezar","primata","princesa","prisma","privado","processo","produto","profeta","proibido","projeto","prometer","propagar","prosa","protetor","provador","publicar","pudim","pular","pulmonar","pulseira","punhal","punir","pupilo","pureza","puxador","quadra","quantia","quarto","quase","quebrar","queda","queijo","quente","querido","quimono","quina","quiosque","rabanada","rabisco","rachar","racionar","radial","raiar","rainha","raio","raiva","rajada","ralado","ramal","ranger","ranhura","rapadura","rapel","rapidez","raposa","raquete","raridade","rasante","rascunho","rasgar","raspador","rasteira","rasurar","ratazana","ratoeira","realeza","reanimar","reaver","rebaixar","rebelde","rebolar","recado","recente","recheio","recibo","recordar","recrutar","recuar","rede","redimir","redonda","reduzida","reenvio","refinar","refletir","refogar","refresco","refugiar","regalia","regime","regra","reinado","reitor","rejeitar","relativo","remador","remendo","remorso","renovado","reparo","repelir","repleto","repolho","represa","repudiar","requerer","resenha","resfriar","resgatar","residir","resolver","respeito","ressaca","restante","resumir","retalho","reter","retirar","retomada","retratar","revelar","revisor","revolta","riacho","rica","rigidez","rigoroso","rimar","ringue","risada","risco","risonho","robalo","rochedo","rodada","rodeio","rodovia","roedor","roleta","romano","roncar","rosado","roseira","rosto","rota","roteiro","rotina","rotular","rouco","roupa","roxo","rubro","rugido","rugoso","ruivo","rumo","rupestre","russo","sabor","saciar","sacola","sacudir","sadio","safira","saga","sagrada","saibro","salada","saleiro","salgado","saliva","salpicar","salsicha","saltar","salvador","sambar","samurai","sanar","sanfona","sangue","sanidade","sapato","sarda","sargento","sarjeta","saturar","saudade","saxofone","sazonal","secar","secular","seda","sedento","sediado","sedoso","sedutor","segmento","segredo","segundo","seiva","seleto","selvagem","semanal","semente","senador","senhor","sensual","sentado","separado","sereia","seringa","serra","servo","setembro","setor","sigilo","silhueta","silicone","simetria","simpatia","simular","sinal","sincero","singular","sinopse","sintonia","sirene","siri","situado","soberano","sobra","socorro","sogro","soja","solda","soletrar","solteiro","sombrio","sonata","sondar","sonegar","sonhador","sono","soprano","soquete","sorrir","sorteio","sossego","sotaque","soterrar","sovado","sozinho","suavizar","subida","submerso","subsolo","subtrair","sucata","sucesso","suco","sudeste","sufixo","sugador","sugerir","sujeito","sulfato","sumir","suor","superior","suplicar","suposto","suprimir","surdina","surfista","surpresa","surreal","surtir","suspiro","sustento","tabela","tablete","tabuada","tacho","tagarela","talher","talo","talvez","tamanho","tamborim","tampa","tangente","tanto","tapar","tapioca","tardio","tarefa","tarja","tarraxa","tatuagem","taurino","taxativo","taxista","teatral","tecer","tecido","teclado","tedioso","teia","teimar","telefone","telhado","tempero","tenente","tensor","tentar","termal","terno","terreno","tese","tesoura","testado","teto","textura","texugo","tiara","tigela","tijolo","timbrar","timidez","tingido","tinteiro","tiragem","titular","toalha","tocha","tolerar","tolice","tomada","tomilho","tonel","tontura","topete","tora","torcido","torneio","torque","torrada","torto","tostar","touca","toupeira","toxina","trabalho","tracejar","tradutor","trafegar","trajeto","trama","trancar","trapo","traseiro","tratador","travar","treino","tremer","trepidar","trevo","triagem","tribo","triciclo","tridente","trilogia","trindade","triplo","triturar","triunfal","trocar","trombeta","trova","trunfo","truque","tubular","tucano","tudo","tulipa","tupi","turbo","turma","turquesa","tutelar","tutorial","uivar","umbigo","unha","unidade","uniforme","urologia","urso","urtiga","urubu","usado","usina","usufruir","vacina","vadiar","vagaroso","vaidoso","vala","valente","validade","valores","vantagem","vaqueiro","varanda","vareta","varrer","vascular","vasilha","vassoura","vazar","vazio","veado","vedar","vegetar","veicular","veleiro","velhice","veludo","vencedor","vendaval","venerar","ventre","verbal","verdade","vereador","vergonha","vermelho","verniz","versar","vertente","vespa","vestido","vetorial","viaduto","viagem","viajar","viatura","vibrador","videira","vidraria","viela","viga","vigente","vigiar","vigorar","vilarejo","vinco","vinheta","vinil","violeta","virada","virtude","visitar","visto","vitral","viveiro","vizinho","voador","voar","vogal","volante","voleibol","voltagem","volumoso","vontade","vulto","vuvuzela","xadrez","xarope","xeque","xeretar","xerife","xingar","zangado","zarpar","zebu","zelador","zombar","zoologia","zumbido"]'), Ld = /* @__PURE__ */ JSON.parse('["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]');
var ns;
function os() {
  if (ns) return Mr;
  ns = 1, Object.defineProperty(Mr, "__esModule", { value: !0 });
  const e = {};
  Mr.wordlists = e;
  let r;
  Mr._default = r;
  try {
    Mr._default = r = Id, e.czech = r;
  } catch {
  }
  try {
    Mr._default = r = zd, e.chinese_simplified = r;
  } catch {
  }
  try {
    Mr._default = r = Td, e.chinese_traditional = r;
  } catch {
  }
  try {
    Mr._default = r = jd, e.korean = r;
  } catch {
  }
  try {
    Mr._default = r = Rd, e.french = r;
  } catch {
  }
  try {
    Mr._default = r = qd, e.italian = r;
  } catch {
  }
  try {
    Mr._default = r = Od, e.spanish = r;
  } catch {
  }
  try {
    Mr._default = r = Ud, e.japanese = r, e.JA = r;
  } catch {
  }
  try {
    Mr._default = r = Dd, e.portuguese = r;
  } catch {
  }
  try {
    Mr._default = r = Ld, e.english = r, e.EN = r;
  } catch {
  }
  return Mr;
}
var ss;
function Nd() {
  if (ss) return Xr;
  ss = 1, Object.defineProperty(Xr, "__esModule", { value: !0 });
  const e = /* @__PURE__ */ kd(), r = /* @__PURE__ */ Sd(), t = /* @__PURE__ */ Bd(), a = /* @__PURE__ */ pa(), n = os();
  let i = n._default;
  const s = "Invalid mnemonic", o = "Invalid entropy", u = "Invalid mnemonic checksum", l = `A wordlist is required but a default could not be found.
Please pass a 2048 word array explicitly.`;
  function f(z) {
    return (z || "").normalize("NFKD");
  }
  function p(z, D, P) {
    for (; z.length < P; )
      z = D + z;
    return z;
  }
  function d(z) {
    return parseInt(z, 2);
  }
  function y(z) {
    return z.map((D) => p(D.toString(2), "0", 8)).join("");
  }
  function b(z) {
    const P = z.length * 8 / 32, J = e.sha256(Uint8Array.from(z));
    return y(Array.from(J)).slice(0, P);
  }
  function v(z) {
    return "mnemonic" + (z || "");
  }
  function S(z, D) {
    const P = Uint8Array.from(Buffer.from(f(z), "utf8")), J = Uint8Array.from(Buffer.from(v(f(D)), "utf8")), K = t.pbkdf2(r.sha512, P, J, {
      c: 2048,
      dkLen: 64
    });
    return Buffer.from(K);
  }
  Xr.mnemonicToSeedSync = S;
  function x(z, D) {
    const P = Uint8Array.from(Buffer.from(f(z), "utf8")), J = Uint8Array.from(Buffer.from(v(f(D)), "utf8"));
    return t.pbkdf2Async(r.sha512, P, J, {
      c: 2048,
      dkLen: 64
    }).then((K) => Buffer.from(K));
  }
  Xr.mnemonicToSeed = x;
  function T(z, D) {
    if (D = D || i, !D)
      throw new Error(l);
    const P = f(z).split(" ");
    if (P.length % 3 !== 0)
      throw new Error(s);
    const J = P.map((F) => {
      const he = D.indexOf(F);
      if (he === -1)
        throw new Error(s);
      return p(he.toString(2), "0", 11);
    }).join(""), K = Math.floor(J.length / 33) * 32, ie = J.slice(0, K), ce = J.slice(K), ue = ie.match(/(.{1,8})/g).map(d);
    if (ue.length < 16)
      throw new Error(o);
    if (ue.length > 32)
      throw new Error(o);
    if (ue.length % 4 !== 0)
      throw new Error(o);
    const xe = Buffer.from(ue);
    if (b(xe) !== ce)
      throw new Error(u);
    return xe.toString("hex");
  }
  Xr.mnemonicToEntropy = T;
  function k(z, D) {
    if (Buffer.isBuffer(z) || (z = Buffer.from(z, "hex")), D = D || i, !D)
      throw new Error(l);
    if (z.length < 16)
      throw new TypeError(o);
    if (z.length > 32)
      throw new TypeError(o);
    if (z.length % 4 !== 0)
      throw new TypeError(o);
    const P = y(Array.from(z)), J = b(z), ce = (P + J).match(/(.{1,11})/g).map((ue) => {
      const xe = d(ue);
      return D[xe];
    });
    return D[0] === "あいこくしん" ? ce.join(" ") : ce.join(" ");
  }
  Xr.entropyToMnemonic = k;
  function B(z, D, P) {
    if (z = z || 128, z % 32 !== 0)
      throw new TypeError(o);
    return D = D || ((J) => Buffer.from(a.randomBytes(J))), k(D(z / 8), P);
  }
  Xr.generateMnemonic = B;
  function I(z, D) {
    try {
      T(z, D);
    } catch {
      return !1;
    }
    return !0;
  }
  Xr.validateMnemonic = I;
  function O(z) {
    const D = n.wordlists[z];
    if (D)
      i = D;
    else
      throw new Error('Could not find wordlist for language "' + z + '"');
  }
  Xr.setDefaultWordlist = O;
  function N() {
    if (!i)
      throw new Error("No Default Wordlist set");
    return Object.keys(n.wordlists).filter((z) => z === "JA" || z === "EN" ? !1 : n.wordlists[z].every((D, P) => D === i[P]))[0];
  }
  Xr.getDefaultWordlist = N;
  var M = os();
  return Xr.wordlists = M.wordlists, Xr;
}
var us = Nd(), gi = {}, Ea = { exports: {} }, cs;
function jr() {
  return cs || (cs = 1, typeof Object.create == "function" ? Ea.exports = function(r, t) {
    t && (r.super_ = t, r.prototype = Object.create(t.prototype, {
      constructor: {
        value: r,
        enumerable: !1,
        writable: !0,
        configurable: !0
      }
    }));
  } : Ea.exports = function(r, t) {
    if (t) {
      r.super_ = t;
      var a = function() {
      };
      a.prototype = t.prototype, r.prototype = new a(), r.prototype.constructor = r;
    }
  }), Ea.exports;
}
var ka = { exports: {} }, bi = {}, aa = {}, ls;
function Cd() {
  if (ls) return aa;
  ls = 1, aa.byteLength = o, aa.toByteArray = l, aa.fromByteArray = d;
  for (var e = [], r = [], t = typeof Uint8Array < "u" ? Uint8Array : Array, a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", n = 0, i = a.length; n < i; ++n)
    e[n] = a[n], r[a.charCodeAt(n)] = n;
  r[45] = 62, r[95] = 63;
  function s(y) {
    var b = y.length;
    if (b % 4 > 0)
      throw new Error("Invalid string. Length must be a multiple of 4");
    var v = y.indexOf("=");
    v === -1 && (v = b);
    var S = v === b ? 0 : 4 - v % 4;
    return [v, S];
  }
  function o(y) {
    var b = s(y), v = b[0], S = b[1];
    return (v + S) * 3 / 4 - S;
  }
  function u(y, b, v) {
    return (b + v) * 3 / 4 - v;
  }
  function l(y) {
    var b, v = s(y), S = v[0], x = v[1], T = new t(u(y, S, x)), k = 0, B = x > 0 ? S - 4 : S, I;
    for (I = 0; I < B; I += 4)
      b = r[y.charCodeAt(I)] << 18 | r[y.charCodeAt(I + 1)] << 12 | r[y.charCodeAt(I + 2)] << 6 | r[y.charCodeAt(I + 3)], T[k++] = b >> 16 & 255, T[k++] = b >> 8 & 255, T[k++] = b & 255;
    return x === 2 && (b = r[y.charCodeAt(I)] << 2 | r[y.charCodeAt(I + 1)] >> 4, T[k++] = b & 255), x === 1 && (b = r[y.charCodeAt(I)] << 10 | r[y.charCodeAt(I + 1)] << 4 | r[y.charCodeAt(I + 2)] >> 2, T[k++] = b >> 8 & 255, T[k++] = b & 255), T;
  }
  function f(y) {
    return e[y >> 18 & 63] + e[y >> 12 & 63] + e[y >> 6 & 63] + e[y & 63];
  }
  function p(y, b, v) {
    for (var S, x = [], T = b; T < v; T += 3)
      S = (y[T] << 16 & 16711680) + (y[T + 1] << 8 & 65280) + (y[T + 2] & 255), x.push(f(S));
    return x.join("");
  }
  function d(y) {
    for (var b, v = y.length, S = v % 3, x = [], T = 16383, k = 0, B = v - S; k < B; k += T)
      x.push(p(y, k, k + T > B ? B : k + T));
    return S === 1 ? (b = y[v - 1], x.push(
      e[b >> 2] + e[b << 4 & 63] + "=="
    )) : S === 2 && (b = (y[v - 2] << 8) + y[v - 1], x.push(
      e[b >> 10] + e[b >> 4 & 63] + e[b << 2 & 63] + "="
    )), x.join("");
  }
  return aa;
}
var Sa = {};
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
var fs;
function Pd() {
  return fs || (fs = 1, Sa.read = function(e, r, t, a, n) {
    var i, s, o = n * 8 - a - 1, u = (1 << o) - 1, l = u >> 1, f = -7, p = t ? n - 1 : 0, d = t ? -1 : 1, y = e[r + p];
    for (p += d, i = y & (1 << -f) - 1, y >>= -f, f += o; f > 0; i = i * 256 + e[r + p], p += d, f -= 8)
      ;
    for (s = i & (1 << -f) - 1, i >>= -f, f += a; f > 0; s = s * 256 + e[r + p], p += d, f -= 8)
      ;
    if (i === 0)
      i = 1 - l;
    else {
      if (i === u)
        return s ? NaN : (y ? -1 : 1) * (1 / 0);
      s = s + Math.pow(2, a), i = i - l;
    }
    return (y ? -1 : 1) * s * Math.pow(2, i - a);
  }, Sa.write = function(e, r, t, a, n, i) {
    var s, o, u, l = i * 8 - n - 1, f = (1 << l) - 1, p = f >> 1, d = n === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, y = a ? 0 : i - 1, b = a ? 1 : -1, v = r < 0 || r === 0 && 1 / r < 0 ? 1 : 0;
    for (r = Math.abs(r), isNaN(r) || r === 1 / 0 ? (o = isNaN(r) ? 1 : 0, s = f) : (s = Math.floor(Math.log(r) / Math.LN2), r * (u = Math.pow(2, -s)) < 1 && (s--, u *= 2), s + p >= 1 ? r += d / u : r += d * Math.pow(2, 1 - p), r * u >= 2 && (s++, u /= 2), s + p >= f ? (o = 0, s = f) : s + p >= 1 ? (o = (r * u - 1) * Math.pow(2, n), s = s + p) : (o = r * Math.pow(2, p - 1) * Math.pow(2, n), s = 0)); n >= 8; e[t + y] = o & 255, y += b, o /= 256, n -= 8)
      ;
    for (s = s << n | o, l += n; l > 0; e[t + y] = s & 255, y += b, s /= 256, l -= 8)
      ;
    e[t + y - b] |= v * 128;
  }), Sa;
}
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <https://feross.org>
 * @license  MIT
 */
var ds;
function ma() {
  return ds || (ds = 1, function(e) {
    const r = Cd(), t = Pd(), a = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null;
    e.Buffer = o, e.SlowBuffer = T, e.INSPECT_MAX_BYTES = 50;
    const n = 2147483647;
    e.kMaxLength = n, o.TYPED_ARRAY_SUPPORT = i(), !o.TYPED_ARRAY_SUPPORT && typeof console < "u" && typeof console.error == "function" && console.error(
      "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."
    );
    function i() {
      try {
        const w = new Uint8Array(1), h = { foo: function() {
          return 42;
        } };
        return Object.setPrototypeOf(h, Uint8Array.prototype), Object.setPrototypeOf(w, h), w.foo() === 42;
      } catch {
        return !1;
      }
    }
    Object.defineProperty(o.prototype, "parent", {
      enumerable: !0,
      get: function() {
        if (o.isBuffer(this))
          return this.buffer;
      }
    }), Object.defineProperty(o.prototype, "offset", {
      enumerable: !0,
      get: function() {
        if (o.isBuffer(this))
          return this.byteOffset;
      }
    });
    function s(w) {
      if (w > n)
        throw new RangeError('The value "' + w + '" is invalid for option "size"');
      const h = new Uint8Array(w);
      return Object.setPrototypeOf(h, o.prototype), h;
    }
    function o(w, h, m) {
      if (typeof w == "number") {
        if (typeof h == "string")
          throw new TypeError(
            'The "string" argument must be of type string. Received type number'
          );
        return p(w);
      }
      return u(w, h, m);
    }
    o.poolSize = 8192;
    function u(w, h, m) {
      if (typeof w == "string")
        return d(w, h);
      if (ArrayBuffer.isView(w))
        return b(w);
      if (w == null)
        throw new TypeError(
          "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof w
        );
      if (ur(w, ArrayBuffer) || w && ur(w.buffer, ArrayBuffer) || typeof SharedArrayBuffer < "u" && (ur(w, SharedArrayBuffer) || w && ur(w.buffer, SharedArrayBuffer)))
        return v(w, h, m);
      if (typeof w == "number")
        throw new TypeError(
          'The "value" argument must not be of type number. Received type number'
        );
      const q = w.valueOf && w.valueOf();
      if (q != null && q !== w)
        return o.from(q, h, m);
      const C = S(w);
      if (C) return C;
      if (typeof Symbol < "u" && Symbol.toPrimitive != null && typeof w[Symbol.toPrimitive] == "function")
        return o.from(w[Symbol.toPrimitive]("string"), h, m);
      throw new TypeError(
        "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof w
      );
    }
    o.from = function(w, h, m) {
      return u(w, h, m);
    }, Object.setPrototypeOf(o.prototype, Uint8Array.prototype), Object.setPrototypeOf(o, Uint8Array);
    function l(w) {
      if (typeof w != "number")
        throw new TypeError('"size" argument must be of type number');
      if (w < 0)
        throw new RangeError('The value "' + w + '" is invalid for option "size"');
    }
    function f(w, h, m) {
      return l(w), w <= 0 ? s(w) : h !== void 0 ? typeof m == "string" ? s(w).fill(h, m) : s(w).fill(h) : s(w);
    }
    o.alloc = function(w, h, m) {
      return f(w, h, m);
    };
    function p(w) {
      return l(w), s(w < 0 ? 0 : x(w) | 0);
    }
    o.allocUnsafe = function(w) {
      return p(w);
    }, o.allocUnsafeSlow = function(w) {
      return p(w);
    };
    function d(w, h) {
      if ((typeof h != "string" || h === "") && (h = "utf8"), !o.isEncoding(h))
        throw new TypeError("Unknown encoding: " + h);
      const m = k(w, h) | 0;
      let q = s(m);
      const C = q.write(w, h);
      return C !== m && (q = q.slice(0, C)), q;
    }
    function y(w) {
      const h = w.length < 0 ? 0 : x(w.length) | 0, m = s(h);
      for (let q = 0; q < h; q += 1)
        m[q] = w[q] & 255;
      return m;
    }
    function b(w) {
      if (ur(w, Uint8Array)) {
        const h = new Uint8Array(w);
        return v(h.buffer, h.byteOffset, h.byteLength);
      }
      return y(w);
    }
    function v(w, h, m) {
      if (h < 0 || w.byteLength < h)
        throw new RangeError('"offset" is outside of buffer bounds');
      if (w.byteLength < h + (m || 0))
        throw new RangeError('"length" is outside of buffer bounds');
      let q;
      return h === void 0 && m === void 0 ? q = new Uint8Array(w) : m === void 0 ? q = new Uint8Array(w, h) : q = new Uint8Array(w, h, m), Object.setPrototypeOf(q, o.prototype), q;
    }
    function S(w) {
      if (o.isBuffer(w)) {
        const h = x(w.length) | 0, m = s(h);
        return m.length === 0 || w.copy(m, 0, 0, h), m;
      }
      if (w.length !== void 0)
        return typeof w.length != "number" || _r(w.length) ? s(0) : y(w);
      if (w.type === "Buffer" && Array.isArray(w.data))
        return y(w.data);
    }
    function x(w) {
      if (w >= n)
        throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + n.toString(16) + " bytes");
      return w | 0;
    }
    function T(w) {
      return +w != w && (w = 0), o.alloc(+w);
    }
    o.isBuffer = function(h) {
      return h != null && h._isBuffer === !0 && h !== o.prototype;
    }, o.compare = function(h, m) {
      if (ur(h, Uint8Array) && (h = o.from(h, h.offset, h.byteLength)), ur(m, Uint8Array) && (m = o.from(m, m.offset, m.byteLength)), !o.isBuffer(h) || !o.isBuffer(m))
        throw new TypeError(
          'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'
        );
      if (h === m) return 0;
      let q = h.length, C = m.length;
      for (let W = 0, Q = Math.min(q, C); W < Q; ++W)
        if (h[W] !== m[W]) {
          q = h[W], C = m[W];
          break;
        }
      return q < C ? -1 : C < q ? 1 : 0;
    }, o.isEncoding = function(h) {
      switch (String(h).toLowerCase()) {
        case "hex":
        case "utf8":
        case "utf-8":
        case "ascii":
        case "latin1":
        case "binary":
        case "base64":
        case "ucs2":
        case "ucs-2":
        case "utf16le":
        case "utf-16le":
          return !0;
        default:
          return !1;
      }
    }, o.concat = function(h, m) {
      if (!Array.isArray(h))
        throw new TypeError('"list" argument must be an Array of Buffers');
      if (h.length === 0)
        return o.alloc(0);
      let q;
      if (m === void 0)
        for (m = 0, q = 0; q < h.length; ++q)
          m += h[q].length;
      const C = o.allocUnsafe(m);
      let W = 0;
      for (q = 0; q < h.length; ++q) {
        let Q = h[q];
        if (ur(Q, Uint8Array))
          W + Q.length > C.length ? (o.isBuffer(Q) || (Q = o.from(Q)), Q.copy(C, W)) : Uint8Array.prototype.set.call(
            C,
            Q,
            W
          );
        else if (o.isBuffer(Q))
          Q.copy(C, W);
        else
          throw new TypeError('"list" argument must be an Array of Buffers');
        W += Q.length;
      }
      return C;
    };
    function k(w, h) {
      if (o.isBuffer(w))
        return w.length;
      if (ArrayBuffer.isView(w) || ur(w, ArrayBuffer))
        return w.byteLength;
      if (typeof w != "string")
        throw new TypeError(
          'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof w
        );
      const m = w.length, q = arguments.length > 2 && arguments[2] === !0;
      if (!q && m === 0) return 0;
      let C = !1;
      for (; ; )
        switch (h) {
          case "ascii":
          case "latin1":
          case "binary":
            return m;
          case "utf8":
          case "utf-8":
            return Xe(w).length;
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return m * 2;
          case "hex":
            return m >>> 1;
          case "base64":
            return wr(w).length;
          default:
            if (C)
              return q ? -1 : Xe(w).length;
            h = ("" + h).toLowerCase(), C = !0;
        }
    }
    o.byteLength = k;
    function B(w, h, m) {
      let q = !1;
      if ((h === void 0 || h < 0) && (h = 0), h > this.length || ((m === void 0 || m > this.length) && (m = this.length), m <= 0) || (m >>>= 0, h >>>= 0, m <= h))
        return "";
      for (w || (w = "utf8"); ; )
        switch (w) {
          case "hex":
            return F(this, h, m);
          case "utf8":
          case "utf-8":
            return ie(this, h, m);
          case "ascii":
            return xe(this, h, m);
          case "latin1":
          case "binary":
            return De(this, h, m);
          case "base64":
            return K(this, h, m);
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return he(this, h, m);
          default:
            if (q) throw new TypeError("Unknown encoding: " + w);
            w = (w + "").toLowerCase(), q = !0;
        }
    }
    o.prototype._isBuffer = !0;
    function I(w, h, m) {
      const q = w[h];
      w[h] = w[m], w[m] = q;
    }
    o.prototype.swap16 = function() {
      const h = this.length;
      if (h % 2 !== 0)
        throw new RangeError("Buffer size must be a multiple of 16-bits");
      for (let m = 0; m < h; m += 2)
        I(this, m, m + 1);
      return this;
    }, o.prototype.swap32 = function() {
      const h = this.length;
      if (h % 4 !== 0)
        throw new RangeError("Buffer size must be a multiple of 32-bits");
      for (let m = 0; m < h; m += 4)
        I(this, m, m + 3), I(this, m + 1, m + 2);
      return this;
    }, o.prototype.swap64 = function() {
      const h = this.length;
      if (h % 8 !== 0)
        throw new RangeError("Buffer size must be a multiple of 64-bits");
      for (let m = 0; m < h; m += 8)
        I(this, m, m + 7), I(this, m + 1, m + 6), I(this, m + 2, m + 5), I(this, m + 3, m + 4);
      return this;
    }, o.prototype.toString = function() {
      const h = this.length;
      return h === 0 ? "" : arguments.length === 0 ? ie(this, 0, h) : B.apply(this, arguments);
    }, o.prototype.toLocaleString = o.prototype.toString, o.prototype.equals = function(h) {
      if (!o.isBuffer(h)) throw new TypeError("Argument must be a Buffer");
      return this === h ? !0 : o.compare(this, h) === 0;
    }, o.prototype.inspect = function() {
      let h = "";
      const m = e.INSPECT_MAX_BYTES;
      return h = this.toString("hex", 0, m).replace(/(.{2})/g, "$1 ").trim(), this.length > m && (h += " ... "), "<Buffer " + h + ">";
    }, a && (o.prototype[a] = o.prototype.inspect), o.prototype.compare = function(h, m, q, C, W) {
      if (ur(h, Uint8Array) && (h = o.from(h, h.offset, h.byteLength)), !o.isBuffer(h))
        throw new TypeError(
          'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof h
        );
      if (m === void 0 && (m = 0), q === void 0 && (q = h ? h.length : 0), C === void 0 && (C = 0), W === void 0 && (W = this.length), m < 0 || q > h.length || C < 0 || W > this.length)
        throw new RangeError("out of range index");
      if (C >= W && m >= q)
        return 0;
      if (C >= W)
        return -1;
      if (m >= q)
        return 1;
      if (m >>>= 0, q >>>= 0, C >>>= 0, W >>>= 0, this === h) return 0;
      let Q = W - C, $e = q - m;
      const lr = Math.min(Q, $e), cr = this.slice(C, W), dr = h.slice(m, q);
      for (let ir = 0; ir < lr; ++ir)
        if (cr[ir] !== dr[ir]) {
          Q = cr[ir], $e = dr[ir];
          break;
        }
      return Q < $e ? -1 : $e < Q ? 1 : 0;
    };
    function O(w, h, m, q, C) {
      if (w.length === 0) return -1;
      if (typeof m == "string" ? (q = m, m = 0) : m > 2147483647 ? m = 2147483647 : m < -2147483648 && (m = -2147483648), m = +m, _r(m) && (m = C ? 0 : w.length - 1), m < 0 && (m = w.length + m), m >= w.length) {
        if (C) return -1;
        m = w.length - 1;
      } else if (m < 0)
        if (C) m = 0;
        else return -1;
      if (typeof h == "string" && (h = o.from(h, q)), o.isBuffer(h))
        return h.length === 0 ? -1 : N(w, h, m, q, C);
      if (typeof h == "number")
        return h = h & 255, typeof Uint8Array.prototype.indexOf == "function" ? C ? Uint8Array.prototype.indexOf.call(w, h, m) : Uint8Array.prototype.lastIndexOf.call(w, h, m) : N(w, [h], m, q, C);
      throw new TypeError("val must be string, number or Buffer");
    }
    function N(w, h, m, q, C) {
      let W = 1, Q = w.length, $e = h.length;
      if (q !== void 0 && (q = String(q).toLowerCase(), q === "ucs2" || q === "ucs-2" || q === "utf16le" || q === "utf-16le")) {
        if (w.length < 2 || h.length < 2)
          return -1;
        W = 2, Q /= 2, $e /= 2, m /= 2;
      }
      function lr(dr, ir) {
        return W === 1 ? dr[ir] : dr.readUInt16BE(ir * W);
      }
      let cr;
      if (C) {
        let dr = -1;
        for (cr = m; cr < Q; cr++)
          if (lr(w, cr) === lr(h, dr === -1 ? 0 : cr - dr)) {
            if (dr === -1 && (dr = cr), cr - dr + 1 === $e) return dr * W;
          } else
            dr !== -1 && (cr -= cr - dr), dr = -1;
      } else
        for (m + $e > Q && (m = Q - $e), cr = m; cr >= 0; cr--) {
          let dr = !0;
          for (let ir = 0; ir < $e; ir++)
            if (lr(w, cr + ir) !== lr(h, ir)) {
              dr = !1;
              break;
            }
          if (dr) return cr;
        }
      return -1;
    }
    o.prototype.includes = function(h, m, q) {
      return this.indexOf(h, m, q) !== -1;
    }, o.prototype.indexOf = function(h, m, q) {
      return O(this, h, m, q, !0);
    }, o.prototype.lastIndexOf = function(h, m, q) {
      return O(this, h, m, q, !1);
    };
    function M(w, h, m, q) {
      m = Number(m) || 0;
      const C = w.length - m;
      q ? (q = Number(q), q > C && (q = C)) : q = C;
      const W = h.length;
      q > W / 2 && (q = W / 2);
      let Q;
      for (Q = 0; Q < q; ++Q) {
        const $e = parseInt(h.substr(Q * 2, 2), 16);
        if (_r($e)) return Q;
        w[m + Q] = $e;
      }
      return Q;
    }
    function z(w, h, m, q) {
      return ar(Xe(h, w.length - m), w, m, q);
    }
    function D(w, h, m, q) {
      return ar(zr(h), w, m, q);
    }
    function P(w, h, m, q) {
      return ar(wr(h), w, m, q);
    }
    function J(w, h, m, q) {
      return ar(yr(h, w.length - m), w, m, q);
    }
    o.prototype.write = function(h, m, q, C) {
      if (m === void 0)
        C = "utf8", q = this.length, m = 0;
      else if (q === void 0 && typeof m == "string")
        C = m, q = this.length, m = 0;
      else if (isFinite(m))
        m = m >>> 0, isFinite(q) ? (q = q >>> 0, C === void 0 && (C = "utf8")) : (C = q, q = void 0);
      else
        throw new Error(
          "Buffer.write(string, encoding, offset[, length]) is no longer supported"
        );
      const W = this.length - m;
      if ((q === void 0 || q > W) && (q = W), h.length > 0 && (q < 0 || m < 0) || m > this.length)
        throw new RangeError("Attempt to write outside buffer bounds");
      C || (C = "utf8");
      let Q = !1;
      for (; ; )
        switch (C) {
          case "hex":
            return M(this, h, m, q);
          case "utf8":
          case "utf-8":
            return z(this, h, m, q);
          case "ascii":
          case "latin1":
          case "binary":
            return D(this, h, m, q);
          case "base64":
            return P(this, h, m, q);
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return J(this, h, m, q);
          default:
            if (Q) throw new TypeError("Unknown encoding: " + C);
            C = ("" + C).toLowerCase(), Q = !0;
        }
    }, o.prototype.toJSON = function() {
      return {
        type: "Buffer",
        data: Array.prototype.slice.call(this._arr || this, 0)
      };
    };
    function K(w, h, m) {
      return h === 0 && m === w.length ? r.fromByteArray(w) : r.fromByteArray(w.slice(h, m));
    }
    function ie(w, h, m) {
      m = Math.min(w.length, m);
      const q = [];
      let C = h;
      for (; C < m; ) {
        const W = w[C];
        let Q = null, $e = W > 239 ? 4 : W > 223 ? 3 : W > 191 ? 2 : 1;
        if (C + $e <= m) {
          let lr, cr, dr, ir;
          switch ($e) {
            case 1:
              W < 128 && (Q = W);
              break;
            case 2:
              lr = w[C + 1], (lr & 192) === 128 && (ir = (W & 31) << 6 | lr & 63, ir > 127 && (Q = ir));
              break;
            case 3:
              lr = w[C + 1], cr = w[C + 2], (lr & 192) === 128 && (cr & 192) === 128 && (ir = (W & 15) << 12 | (lr & 63) << 6 | cr & 63, ir > 2047 && (ir < 55296 || ir > 57343) && (Q = ir));
              break;
            case 4:
              lr = w[C + 1], cr = w[C + 2], dr = w[C + 3], (lr & 192) === 128 && (cr & 192) === 128 && (dr & 192) === 128 && (ir = (W & 15) << 18 | (lr & 63) << 12 | (cr & 63) << 6 | dr & 63, ir > 65535 && ir < 1114112 && (Q = ir));
          }
        }
        Q === null ? (Q = 65533, $e = 1) : Q > 65535 && (Q -= 65536, q.push(Q >>> 10 & 1023 | 55296), Q = 56320 | Q & 1023), q.push(Q), C += $e;
      }
      return ue(q);
    }
    const ce = 4096;
    function ue(w) {
      const h = w.length;
      if (h <= ce)
        return String.fromCharCode.apply(String, w);
      let m = "", q = 0;
      for (; q < h; )
        m += String.fromCharCode.apply(
          String,
          w.slice(q, q += ce)
        );
      return m;
    }
    function xe(w, h, m) {
      let q = "";
      m = Math.min(w.length, m);
      for (let C = h; C < m; ++C)
        q += String.fromCharCode(w[C] & 127);
      return q;
    }
    function De(w, h, m) {
      let q = "";
      m = Math.min(w.length, m);
      for (let C = h; C < m; ++C)
        q += String.fromCharCode(w[C]);
      return q;
    }
    function F(w, h, m) {
      const q = w.length;
      (!h || h < 0) && (h = 0), (!m || m < 0 || m > q) && (m = q);
      let C = "";
      for (let W = h; W < m; ++W)
        C += Rr[w[W]];
      return C;
    }
    function he(w, h, m) {
      const q = w.slice(h, m);
      let C = "";
      for (let W = 0; W < q.length - 1; W += 2)
        C += String.fromCharCode(q[W] + q[W + 1] * 256);
      return C;
    }
    o.prototype.slice = function(h, m) {
      const q = this.length;
      h = ~~h, m = m === void 0 ? q : ~~m, h < 0 ? (h += q, h < 0 && (h = 0)) : h > q && (h = q), m < 0 ? (m += q, m < 0 && (m = 0)) : m > q && (m = q), m < h && (m = h);
      const C = this.subarray(h, m);
      return Object.setPrototypeOf(C, o.prototype), C;
    };
    function de(w, h, m) {
      if (w % 1 !== 0 || w < 0) throw new RangeError("offset is not uint");
      if (w + h > m) throw new RangeError("Trying to access beyond buffer length");
    }
    o.prototype.readUintLE = o.prototype.readUIntLE = function(h, m, q) {
      h = h >>> 0, m = m >>> 0, q || de(h, m, this.length);
      let C = this[h], W = 1, Q = 0;
      for (; ++Q < m && (W *= 256); )
        C += this[h + Q] * W;
      return C;
    }, o.prototype.readUintBE = o.prototype.readUIntBE = function(h, m, q) {
      h = h >>> 0, m = m >>> 0, q || de(h, m, this.length);
      let C = this[h + --m], W = 1;
      for (; m > 0 && (W *= 256); )
        C += this[h + --m] * W;
      return C;
    }, o.prototype.readUint8 = o.prototype.readUInt8 = function(h, m) {
      return h = h >>> 0, m || de(h, 1, this.length), this[h];
    }, o.prototype.readUint16LE = o.prototype.readUInt16LE = function(h, m) {
      return h = h >>> 0, m || de(h, 2, this.length), this[h] | this[h + 1] << 8;
    }, o.prototype.readUint16BE = o.prototype.readUInt16BE = function(h, m) {
      return h = h >>> 0, m || de(h, 2, this.length), this[h] << 8 | this[h + 1];
    }, o.prototype.readUint32LE = o.prototype.readUInt32LE = function(h, m) {
      return h = h >>> 0, m || de(h, 4, this.length), (this[h] | this[h + 1] << 8 | this[h + 2] << 16) + this[h + 3] * 16777216;
    }, o.prototype.readUint32BE = o.prototype.readUInt32BE = function(h, m) {
      return h = h >>> 0, m || de(h, 4, this.length), this[h] * 16777216 + (this[h + 1] << 16 | this[h + 2] << 8 | this[h + 3]);
    }, o.prototype.readBigUInt64LE = Or(function(h) {
      h = h >>> 0, X(h, "offset");
      const m = this[h], q = this[h + 7];
      (m === void 0 || q === void 0) && fe(h, this.length - 8);
      const C = m + this[++h] * 2 ** 8 + this[++h] * 2 ** 16 + this[++h] * 2 ** 24, W = this[++h] + this[++h] * 2 ** 8 + this[++h] * 2 ** 16 + q * 2 ** 24;
      return BigInt(C) + (BigInt(W) << BigInt(32));
    }), o.prototype.readBigUInt64BE = Or(function(h) {
      h = h >>> 0, X(h, "offset");
      const m = this[h], q = this[h + 7];
      (m === void 0 || q === void 0) && fe(h, this.length - 8);
      const C = m * 2 ** 24 + this[++h] * 2 ** 16 + this[++h] * 2 ** 8 + this[++h], W = this[++h] * 2 ** 24 + this[++h] * 2 ** 16 + this[++h] * 2 ** 8 + q;
      return (BigInt(C) << BigInt(32)) + BigInt(W);
    }), o.prototype.readIntLE = function(h, m, q) {
      h = h >>> 0, m = m >>> 0, q || de(h, m, this.length);
      let C = this[h], W = 1, Q = 0;
      for (; ++Q < m && (W *= 256); )
        C += this[h + Q] * W;
      return W *= 128, C >= W && (C -= Math.pow(2, 8 * m)), C;
    }, o.prototype.readIntBE = function(h, m, q) {
      h = h >>> 0, m = m >>> 0, q || de(h, m, this.length);
      let C = m, W = 1, Q = this[h + --C];
      for (; C > 0 && (W *= 256); )
        Q += this[h + --C] * W;
      return W *= 128, Q >= W && (Q -= Math.pow(2, 8 * m)), Q;
    }, o.prototype.readInt8 = function(h, m) {
      return h = h >>> 0, m || de(h, 1, this.length), this[h] & 128 ? (255 - this[h] + 1) * -1 : this[h];
    }, o.prototype.readInt16LE = function(h, m) {
      h = h >>> 0, m || de(h, 2, this.length);
      const q = this[h] | this[h + 1] << 8;
      return q & 32768 ? q | 4294901760 : q;
    }, o.prototype.readInt16BE = function(h, m) {
      h = h >>> 0, m || de(h, 2, this.length);
      const q = this[h + 1] | this[h] << 8;
      return q & 32768 ? q | 4294901760 : q;
    }, o.prototype.readInt32LE = function(h, m) {
      return h = h >>> 0, m || de(h, 4, this.length), this[h] | this[h + 1] << 8 | this[h + 2] << 16 | this[h + 3] << 24;
    }, o.prototype.readInt32BE = function(h, m) {
      return h = h >>> 0, m || de(h, 4, this.length), this[h] << 24 | this[h + 1] << 16 | this[h + 2] << 8 | this[h + 3];
    }, o.prototype.readBigInt64LE = Or(function(h) {
      h = h >>> 0, X(h, "offset");
      const m = this[h], q = this[h + 7];
      (m === void 0 || q === void 0) && fe(h, this.length - 8);
      const C = this[h + 4] + this[h + 5] * 2 ** 8 + this[h + 6] * 2 ** 16 + (q << 24);
      return (BigInt(C) << BigInt(32)) + BigInt(m + this[++h] * 2 ** 8 + this[++h] * 2 ** 16 + this[++h] * 2 ** 24);
    }), o.prototype.readBigInt64BE = Or(function(h) {
      h = h >>> 0, X(h, "offset");
      const m = this[h], q = this[h + 7];
      (m === void 0 || q === void 0) && fe(h, this.length - 8);
      const C = (m << 24) + // Overflow
      this[++h] * 2 ** 16 + this[++h] * 2 ** 8 + this[++h];
      return (BigInt(C) << BigInt(32)) + BigInt(this[++h] * 2 ** 24 + this[++h] * 2 ** 16 + this[++h] * 2 ** 8 + q);
    }), o.prototype.readFloatLE = function(h, m) {
      return h = h >>> 0, m || de(h, 4, this.length), t.read(this, h, !0, 23, 4);
    }, o.prototype.readFloatBE = function(h, m) {
      return h = h >>> 0, m || de(h, 4, this.length), t.read(this, h, !1, 23, 4);
    }, o.prototype.readDoubleLE = function(h, m) {
      return h = h >>> 0, m || de(h, 8, this.length), t.read(this, h, !0, 52, 8);
    }, o.prototype.readDoubleBE = function(h, m) {
      return h = h >>> 0, m || de(h, 8, this.length), t.read(this, h, !1, 52, 8);
    };
    function Ee(w, h, m, q, C, W) {
      if (!o.isBuffer(w)) throw new TypeError('"buffer" argument must be a Buffer instance');
      if (h > C || h < W) throw new RangeError('"value" argument is out of bounds');
      if (m + q > w.length) throw new RangeError("Index out of range");
    }
    o.prototype.writeUintLE = o.prototype.writeUIntLE = function(h, m, q, C) {
      if (h = +h, m = m >>> 0, q = q >>> 0, !C) {
        const $e = Math.pow(2, 8 * q) - 1;
        Ee(this, h, m, q, $e, 0);
      }
      let W = 1, Q = 0;
      for (this[m] = h & 255; ++Q < q && (W *= 256); )
        this[m + Q] = h / W & 255;
      return m + q;
    }, o.prototype.writeUintBE = o.prototype.writeUIntBE = function(h, m, q, C) {
      if (h = +h, m = m >>> 0, q = q >>> 0, !C) {
        const $e = Math.pow(2, 8 * q) - 1;
        Ee(this, h, m, q, $e, 0);
      }
      let W = q - 1, Q = 1;
      for (this[m + W] = h & 255; --W >= 0 && (Q *= 256); )
        this[m + W] = h / Q & 255;
      return m + q;
    }, o.prototype.writeUint8 = o.prototype.writeUInt8 = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 1, 255, 0), this[m] = h & 255, m + 1;
    }, o.prototype.writeUint16LE = o.prototype.writeUInt16LE = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 2, 65535, 0), this[m] = h & 255, this[m + 1] = h >>> 8, m + 2;
    }, o.prototype.writeUint16BE = o.prototype.writeUInt16BE = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 2, 65535, 0), this[m] = h >>> 8, this[m + 1] = h & 255, m + 2;
    }, o.prototype.writeUint32LE = o.prototype.writeUInt32LE = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 4, 4294967295, 0), this[m + 3] = h >>> 24, this[m + 2] = h >>> 16, this[m + 1] = h >>> 8, this[m] = h & 255, m + 4;
    }, o.prototype.writeUint32BE = o.prototype.writeUInt32BE = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 4, 4294967295, 0), this[m] = h >>> 24, this[m + 1] = h >>> 16, this[m + 2] = h >>> 8, this[m + 3] = h & 255, m + 4;
    };
    function Ie(w, h, m, q, C) {
      R(h, q, C, w, m, 7);
      let W = Number(h & BigInt(4294967295));
      w[m++] = W, W = W >> 8, w[m++] = W, W = W >> 8, w[m++] = W, W = W >> 8, w[m++] = W;
      let Q = Number(h >> BigInt(32) & BigInt(4294967295));
      return w[m++] = Q, Q = Q >> 8, w[m++] = Q, Q = Q >> 8, w[m++] = Q, Q = Q >> 8, w[m++] = Q, m;
    }
    function Ye(w, h, m, q, C) {
      R(h, q, C, w, m, 7);
      let W = Number(h & BigInt(4294967295));
      w[m + 7] = W, W = W >> 8, w[m + 6] = W, W = W >> 8, w[m + 5] = W, W = W >> 8, w[m + 4] = W;
      let Q = Number(h >> BigInt(32) & BigInt(4294967295));
      return w[m + 3] = Q, Q = Q >> 8, w[m + 2] = Q, Q = Q >> 8, w[m + 1] = Q, Q = Q >> 8, w[m] = Q, m + 8;
    }
    o.prototype.writeBigUInt64LE = Or(function(h, m = 0) {
      return Ie(this, h, m, BigInt(0), BigInt("0xffffffffffffffff"));
    }), o.prototype.writeBigUInt64BE = Or(function(h, m = 0) {
      return Ye(this, h, m, BigInt(0), BigInt("0xffffffffffffffff"));
    }), o.prototype.writeIntLE = function(h, m, q, C) {
      if (h = +h, m = m >>> 0, !C) {
        const lr = Math.pow(2, 8 * q - 1);
        Ee(this, h, m, q, lr - 1, -lr);
      }
      let W = 0, Q = 1, $e = 0;
      for (this[m] = h & 255; ++W < q && (Q *= 256); )
        h < 0 && $e === 0 && this[m + W - 1] !== 0 && ($e = 1), this[m + W] = (h / Q >> 0) - $e & 255;
      return m + q;
    }, o.prototype.writeIntBE = function(h, m, q, C) {
      if (h = +h, m = m >>> 0, !C) {
        const lr = Math.pow(2, 8 * q - 1);
        Ee(this, h, m, q, lr - 1, -lr);
      }
      let W = q - 1, Q = 1, $e = 0;
      for (this[m + W] = h & 255; --W >= 0 && (Q *= 256); )
        h < 0 && $e === 0 && this[m + W + 1] !== 0 && ($e = 1), this[m + W] = (h / Q >> 0) - $e & 255;
      return m + q;
    }, o.prototype.writeInt8 = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 1, 127, -128), h < 0 && (h = 255 + h + 1), this[m] = h & 255, m + 1;
    }, o.prototype.writeInt16LE = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 2, 32767, -32768), this[m] = h & 255, this[m + 1] = h >>> 8, m + 2;
    }, o.prototype.writeInt16BE = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 2, 32767, -32768), this[m] = h >>> 8, this[m + 1] = h & 255, m + 2;
    }, o.prototype.writeInt32LE = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 4, 2147483647, -2147483648), this[m] = h & 255, this[m + 1] = h >>> 8, this[m + 2] = h >>> 16, this[m + 3] = h >>> 24, m + 4;
    }, o.prototype.writeInt32BE = function(h, m, q) {
      return h = +h, m = m >>> 0, q || Ee(this, h, m, 4, 2147483647, -2147483648), h < 0 && (h = 4294967295 + h + 1), this[m] = h >>> 24, this[m + 1] = h >>> 16, this[m + 2] = h >>> 8, this[m + 3] = h & 255, m + 4;
    }, o.prototype.writeBigInt64LE = Or(function(h, m = 0) {
      return Ie(this, h, m, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
    }), o.prototype.writeBigInt64BE = Or(function(h, m = 0) {
      return Ye(this, h, m, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
    });
    function Re(w, h, m, q, C, W) {
      if (m + q > w.length) throw new RangeError("Index out of range");
      if (m < 0) throw new RangeError("Index out of range");
    }
    function $(w, h, m, q, C) {
      return h = +h, m = m >>> 0, C || Re(w, h, m, 4), t.write(w, h, m, q, 23, 4), m + 4;
    }
    o.prototype.writeFloatLE = function(h, m, q) {
      return $(this, h, m, !0, q);
    }, o.prototype.writeFloatBE = function(h, m, q) {
      return $(this, h, m, !1, q);
    };
    function V(w, h, m, q, C) {
      return h = +h, m = m >>> 0, C || Re(w, h, m, 8), t.write(w, h, m, q, 52, 8), m + 8;
    }
    o.prototype.writeDoubleLE = function(h, m, q) {
      return V(this, h, m, !0, q);
    }, o.prototype.writeDoubleBE = function(h, m, q) {
      return V(this, h, m, !1, q);
    }, o.prototype.copy = function(h, m, q, C) {
      if (!o.isBuffer(h)) throw new TypeError("argument should be a Buffer");
      if (q || (q = 0), !C && C !== 0 && (C = this.length), m >= h.length && (m = h.length), m || (m = 0), C > 0 && C < q && (C = q), C === q || h.length === 0 || this.length === 0) return 0;
      if (m < 0)
        throw new RangeError("targetStart out of bounds");
      if (q < 0 || q >= this.length) throw new RangeError("Index out of range");
      if (C < 0) throw new RangeError("sourceEnd out of bounds");
      C > this.length && (C = this.length), h.length - m < C - q && (C = h.length - m + q);
      const W = C - q;
      return this === h && typeof Uint8Array.prototype.copyWithin == "function" ? this.copyWithin(m, q, C) : Uint8Array.prototype.set.call(
        h,
        this.subarray(q, C),
        m
      ), W;
    }, o.prototype.fill = function(h, m, q, C) {
      if (typeof h == "string") {
        if (typeof m == "string" ? (C = m, m = 0, q = this.length) : typeof q == "string" && (C = q, q = this.length), C !== void 0 && typeof C != "string")
          throw new TypeError("encoding must be a string");
        if (typeof C == "string" && !o.isEncoding(C))
          throw new TypeError("Unknown encoding: " + C);
        if (h.length === 1) {
          const Q = h.charCodeAt(0);
          (C === "utf8" && Q < 128 || C === "latin1") && (h = Q);
        }
      } else typeof h == "number" ? h = h & 255 : typeof h == "boolean" && (h = Number(h));
      if (m < 0 || this.length < m || this.length < q)
        throw new RangeError("Out of range index");
      if (q <= m)
        return this;
      m = m >>> 0, q = q === void 0 ? this.length : q >>> 0, h || (h = 0);
      let W;
      if (typeof h == "number")
        for (W = m; W < q; ++W)
          this[W] = h;
      else {
        const Q = o.isBuffer(h) ? h : o.from(h, C), $e = Q.length;
        if ($e === 0)
          throw new TypeError('The value "' + h + '" is invalid for argument "value"');
        for (W = 0; W < q - m; ++W)
          this[W + m] = Q[W % $e];
      }
      return this;
    };
    const ee = {};
    function pe(w, h, m) {
      ee[w] = class extends m {
        constructor() {
          super(), Object.defineProperty(this, "message", {
            value: h.apply(this, arguments),
            writable: !0,
            configurable: !0
          }), this.name = `${this.name} [${w}]`, this.stack, delete this.name;
        }
        get code() {
          return w;
        }
        set code(C) {
          Object.defineProperty(this, "code", {
            configurable: !0,
            enumerable: !0,
            value: C,
            writable: !0
          });
        }
        toString() {
          return `${this.name} [${w}]: ${this.message}`;
        }
      };
    }
    pe(
      "ERR_BUFFER_OUT_OF_BOUNDS",
      function(w) {
        return w ? `${w} is outside of buffer bounds` : "Attempt to access memory outside buffer bounds";
      },
      RangeError
    ), pe(
      "ERR_INVALID_ARG_TYPE",
      function(w, h) {
        return `The "${w}" argument must be of type number. Received type ${typeof h}`;
      },
      TypeError
    ), pe(
      "ERR_OUT_OF_RANGE",
      function(w, h, m) {
        let q = `The value of "${w}" is out of range.`, C = m;
        return Number.isInteger(m) && Math.abs(m) > 2 ** 32 ? C = me(String(m)) : typeof m == "bigint" && (C = String(m), (m > BigInt(2) ** BigInt(32) || m < -(BigInt(2) ** BigInt(32))) && (C = me(C)), C += "n"), q += ` It must be ${h}. Received ${C}`, q;
      },
      RangeError
    );
    function me(w) {
      let h = "", m = w.length;
      const q = w[0] === "-" ? 1 : 0;
      for (; m >= q + 4; m -= 3)
        h = `_${w.slice(m - 3, m)}${h}`;
      return `${w.slice(0, m)}${h}`;
    }
    function j(w, h, m) {
      X(h, "offset"), (w[h] === void 0 || w[h + m] === void 0) && fe(h, w.length - (m + 1));
    }
    function R(w, h, m, q, C, W) {
      if (w > m || w < h) {
        const Q = typeof h == "bigint" ? "n" : "";
        let $e;
        throw h === 0 || h === BigInt(0) ? $e = `>= 0${Q} and < 2${Q} ** ${(W + 1) * 8}${Q}` : $e = `>= -(2${Q} ** ${(W + 1) * 8 - 1}${Q}) and < 2 ** ${(W + 1) * 8 - 1}${Q}`, new ee.ERR_OUT_OF_RANGE("value", $e, w);
      }
      j(q, C, W);
    }
    function X(w, h) {
      if (typeof w != "number")
        throw new ee.ERR_INVALID_ARG_TYPE(h, "number", w);
    }
    function fe(w, h, m) {
      throw Math.floor(w) !== w ? (X(w, m), new ee.ERR_OUT_OF_RANGE("offset", "an integer", w)) : h < 0 ? new ee.ERR_BUFFER_OUT_OF_BOUNDS() : new ee.ERR_OUT_OF_RANGE(
        "offset",
        `>= 0 and <= ${h}`,
        w
      );
    }
    const er = /[^+/0-9A-Za-z-_]/g;
    function ze(w) {
      if (w = w.split("=")[0], w = w.trim().replace(er, ""), w.length < 2) return "";
      for (; w.length % 4 !== 0; )
        w = w + "=";
      return w;
    }
    function Xe(w, h) {
      h = h || 1 / 0;
      let m;
      const q = w.length;
      let C = null;
      const W = [];
      for (let Q = 0; Q < q; ++Q) {
        if (m = w.charCodeAt(Q), m > 55295 && m < 57344) {
          if (!C) {
            if (m > 56319) {
              (h -= 3) > -1 && W.push(239, 191, 189);
              continue;
            } else if (Q + 1 === q) {
              (h -= 3) > -1 && W.push(239, 191, 189);
              continue;
            }
            C = m;
            continue;
          }
          if (m < 56320) {
            (h -= 3) > -1 && W.push(239, 191, 189), C = m;
            continue;
          }
          m = (C - 55296 << 10 | m - 56320) + 65536;
        } else C && (h -= 3) > -1 && W.push(239, 191, 189);
        if (C = null, m < 128) {
          if ((h -= 1) < 0) break;
          W.push(m);
        } else if (m < 2048) {
          if ((h -= 2) < 0) break;
          W.push(
            m >> 6 | 192,
            m & 63 | 128
          );
        } else if (m < 65536) {
          if ((h -= 3) < 0) break;
          W.push(
            m >> 12 | 224,
            m >> 6 & 63 | 128,
            m & 63 | 128
          );
        } else if (m < 1114112) {
          if ((h -= 4) < 0) break;
          W.push(
            m >> 18 | 240,
            m >> 12 & 63 | 128,
            m >> 6 & 63 | 128,
            m & 63 | 128
          );
        } else
          throw new Error("Invalid code point");
      }
      return W;
    }
    function zr(w) {
      const h = [];
      for (let m = 0; m < w.length; ++m)
        h.push(w.charCodeAt(m) & 255);
      return h;
    }
    function yr(w, h) {
      let m, q, C;
      const W = [];
      for (let Q = 0; Q < w.length && !((h -= 2) < 0); ++Q)
        m = w.charCodeAt(Q), q = m >> 8, C = m % 256, W.push(C), W.push(q);
      return W;
    }
    function wr(w) {
      return r.toByteArray(ze(w));
    }
    function ar(w, h, m, q) {
      let C;
      for (C = 0; C < q && !(C + m >= h.length || C >= w.length); ++C)
        h[C + m] = w[C];
      return C;
    }
    function ur(w, h) {
      return w instanceof h || w != null && w.constructor != null && w.constructor.name != null && w.constructor.name === h.name;
    }
    function _r(w) {
      return w !== w;
    }
    const Rr = function() {
      const w = "0123456789abcdef", h = new Array(256);
      for (let m = 0; m < 16; ++m) {
        const q = m * 16;
        for (let C = 0; C < 16; ++C)
          h[q + C] = w[m] + w[C];
      }
      return h;
    }();
    function Or(w) {
      return typeof BigInt > "u" ? Zr : w;
    }
    function Zr() {
      throw new Error("BigInt not supported");
    }
  }(bi)), bi;
}
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
var hs;
function Vr() {
  return hs || (hs = 1, function(e, r) {
    var t = ma(), a = t.Buffer;
    function n(s, o) {
      for (var u in s)
        o[u] = s[u];
    }
    a.from && a.alloc && a.allocUnsafe && a.allocUnsafeSlow ? e.exports = t : (n(t, r), r.Buffer = i);
    function i(s, o, u) {
      return a(s, o, u);
    }
    i.prototype = Object.create(a.prototype), n(a, i), i.from = function(s, o, u) {
      if (typeof s == "number")
        throw new TypeError("Argument must not be a number");
      return a(s, o, u);
    }, i.alloc = function(s, o, u) {
      if (typeof s != "number")
        throw new TypeError("Argument must be a number");
      var l = a(s);
      return o !== void 0 ? typeof u == "string" ? l.fill(o, u) : l.fill(o) : l.fill(0), l;
    }, i.allocUnsafe = function(s) {
      if (typeof s != "number")
        throw new TypeError("Argument must be a number");
      return a(s);
    }, i.allocUnsafeSlow = function(s) {
      if (typeof s != "number")
        throw new TypeError("Argument must be a number");
      return t.SlowBuffer(s);
    };
  }(ka, ka.exports)), ka.exports;
}
var vi = {}, ps;
function io() {
  if (ps) return vi;
  ps = 1;
  var e = Vr().Buffer, r = e.isEncoding || function(x) {
    switch (x = "" + x, x && x.toLowerCase()) {
      case "hex":
      case "utf8":
      case "utf-8":
      case "ascii":
      case "binary":
      case "base64":
      case "ucs2":
      case "ucs-2":
      case "utf16le":
      case "utf-16le":
      case "raw":
        return !0;
      default:
        return !1;
    }
  };
  function t(x) {
    if (!x) return "utf8";
    for (var T; ; )
      switch (x) {
        case "utf8":
        case "utf-8":
          return "utf8";
        case "ucs2":
        case "ucs-2":
        case "utf16le":
        case "utf-16le":
          return "utf16le";
        case "latin1":
        case "binary":
          return "latin1";
        case "base64":
        case "ascii":
        case "hex":
          return x;
        default:
          if (T) return;
          x = ("" + x).toLowerCase(), T = !0;
      }
  }
  function a(x) {
    var T = t(x);
    if (typeof T != "string" && (e.isEncoding === r || !r(x))) throw new Error("Unknown encoding: " + x);
    return T || x;
  }
  vi.StringDecoder = n;
  function n(x) {
    this.encoding = a(x);
    var T;
    switch (this.encoding) {
      case "utf16le":
        this.text = p, this.end = d, T = 4;
        break;
      case "utf8":
        this.fillLast = u, T = 4;
        break;
      case "base64":
        this.text = y, this.end = b, T = 3;
        break;
      default:
        this.write = v, this.end = S;
        return;
    }
    this.lastNeed = 0, this.lastTotal = 0, this.lastChar = e.allocUnsafe(T);
  }
  n.prototype.write = function(x) {
    if (x.length === 0) return "";
    var T, k;
    if (this.lastNeed) {
      if (T = this.fillLast(x), T === void 0) return "";
      k = this.lastNeed, this.lastNeed = 0;
    } else
      k = 0;
    return k < x.length ? T ? T + this.text(x, k) : this.text(x, k) : T || "";
  }, n.prototype.end = f, n.prototype.text = l, n.prototype.fillLast = function(x) {
    if (this.lastNeed <= x.length)
      return x.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal);
    x.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, x.length), this.lastNeed -= x.length;
  };
  function i(x) {
    return x <= 127 ? 0 : x >> 5 === 6 ? 2 : x >> 4 === 14 ? 3 : x >> 3 === 30 ? 4 : x >> 6 === 2 ? -1 : -2;
  }
  function s(x, T, k) {
    var B = T.length - 1;
    if (B < k) return 0;
    var I = i(T[B]);
    return I >= 0 ? (I > 0 && (x.lastNeed = I - 1), I) : --B < k || I === -2 ? 0 : (I = i(T[B]), I >= 0 ? (I > 0 && (x.lastNeed = I - 2), I) : --B < k || I === -2 ? 0 : (I = i(T[B]), I >= 0 ? (I > 0 && (I === 2 ? I = 0 : x.lastNeed = I - 3), I) : 0));
  }
  function o(x, T, k) {
    if ((T[0] & 192) !== 128)
      return x.lastNeed = 0, "�";
    if (x.lastNeed > 1 && T.length > 1) {
      if ((T[1] & 192) !== 128)
        return x.lastNeed = 1, "�";
      if (x.lastNeed > 2 && T.length > 2 && (T[2] & 192) !== 128)
        return x.lastNeed = 2, "�";
    }
  }
  function u(x) {
    var T = this.lastTotal - this.lastNeed, k = o(this, x);
    if (k !== void 0) return k;
    if (this.lastNeed <= x.length)
      return x.copy(this.lastChar, T, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal);
    x.copy(this.lastChar, T, 0, x.length), this.lastNeed -= x.length;
  }
  function l(x, T) {
    var k = s(this, x, T);
    if (!this.lastNeed) return x.toString("utf8", T);
    this.lastTotal = k;
    var B = x.length - (k - this.lastNeed);
    return x.copy(this.lastChar, 0, B), x.toString("utf8", T, B);
  }
  function f(x) {
    var T = x && x.length ? this.write(x) : "";
    return this.lastNeed ? T + "�" : T;
  }
  function p(x, T) {
    if ((x.length - T) % 2 === 0) {
      var k = x.toString("utf16le", T);
      if (k) {
        var B = k.charCodeAt(k.length - 1);
        if (B >= 55296 && B <= 56319)
          return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = x[x.length - 2], this.lastChar[1] = x[x.length - 1], k.slice(0, -1);
      }
      return k;
    }
    return this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = x[x.length - 1], x.toString("utf16le", T, x.length - 1);
  }
  function d(x) {
    var T = x && x.length ? this.write(x) : "";
    if (this.lastNeed) {
      var k = this.lastTotal - this.lastNeed;
      return T + this.lastChar.toString("utf16le", 0, k);
    }
    return T;
  }
  function y(x, T) {
    var k = (x.length - T) % 3;
    return k === 0 ? x.toString("base64", T) : (this.lastNeed = 3 - k, this.lastTotal = 3, k === 1 ? this.lastChar[0] = x[x.length - 1] : (this.lastChar[0] = x[x.length - 2], this.lastChar[1] = x[x.length - 1]), x.toString("base64", T, x.length - k));
  }
  function b(x) {
    var T = x && x.length ? this.write(x) : "";
    return this.lastNeed ? T + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : T;
  }
  function v(x) {
    return x.toString(this.encoding);
  }
  function S(x) {
    return x && x.length ? this.write(x) : "";
  }
  return vi;
}
var yi, ms;
function Pc() {
  if (ms) return yi;
  ms = 1;
  var e = Vr().Buffer, r = ud.Transform, t = io().StringDecoder, a = jr();
  function n(u) {
    r.call(this), this.hashMode = typeof u == "string", this.hashMode ? this[u] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null;
  }
  a(n, r);
  var i = typeof Uint8Array < "u", s = typeof ArrayBuffer < "u" && typeof Uint8Array < "u" && ArrayBuffer.isView && (e.prototype instanceof Uint8Array || e.TYPED_ARRAY_SUPPORT);
  function o(u, l) {
    if (u instanceof e)
      return u;
    if (typeof u == "string")
      return e.from(u, l);
    if (s && ArrayBuffer.isView(u)) {
      if (u.byteLength === 0)
        return e.alloc(0);
      var f = e.from(u.buffer, u.byteOffset, u.byteLength);
      if (f.byteLength === u.byteLength)
        return f;
    }
    if (i && u instanceof Uint8Array || e.isBuffer(u) && u.constructor && typeof u.constructor.isBuffer == "function" && u.constructor.isBuffer(u))
      return e.from(u);
    throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.');
  }
  return n.prototype.update = function(u, l, f) {
    var p = o(u, l), d = this._update(p);
    return this.hashMode ? this : (f && (d = this._toString(d, f)), d);
  }, n.prototype.setAutoPadding = function() {
  }, n.prototype.getAuthTag = function() {
    throw new Error("trying to get auth tag in unsupported state");
  }, n.prototype.setAuthTag = function() {
    throw new Error("trying to set auth tag in unsupported state");
  }, n.prototype.setAAD = function() {
    throw new Error("trying to set aad in unsupported state");
  }, n.prototype._transform = function(u, l, f) {
    var p;
    try {
      this.hashMode ? this._update(u) : this.push(this._update(u));
    } catch (d) {
      p = d;
    } finally {
      f(p);
    }
  }, n.prototype._flush = function(u) {
    var l;
    try {
      this.push(this.__final());
    } catch (f) {
      l = f;
    }
    u(l);
  }, n.prototype._finalOrDigest = function(u) {
    var l = this.__final() || e.alloc(0);
    return u && (l = this._toString(l, u, !0)), l;
  }, n.prototype._toString = function(u, l, f) {
    if (this._decoder || (this._decoder = new t(l), this._encoding = l), this._encoding !== l)
      throw new Error("can’t switch encodings");
    var p = this._decoder.write(u);
    return f && (p += this._decoder.end()), p;
  }, yi = n, yi;
}
var xi, gs;
function Md() {
  if (gs) return xi;
  gs = 1;
  var e = jr(), r = Vr().Buffer, t = Pc(), a = r.alloc(128), n = 64;
  function i(s, o) {
    t.call(this, "digest"), typeof o == "string" && (o = r.from(o)), this._alg = s, this._key = o, o.length > n ? o = s(o) : o.length < n && (o = r.concat([o, a], n));
    for (var u = this._ipad = r.allocUnsafe(n), l = this._opad = r.allocUnsafe(n), f = 0; f < n; f++)
      u[f] = o[f] ^ 54, l[f] = o[f] ^ 92;
    this._hash = [u];
  }
  return e(i, t), i.prototype._update = function(s) {
    this._hash.push(s);
  }, i.prototype._final = function() {
    var s = this._alg(r.concat(this._hash));
    return this._alg(r.concat([this._opad, s]));
  }, xi = i, xi;
}
var Aa = { exports: {} }, Ba = { exports: {} }, bs;
function Mc() {
  if (bs) return Ba.exports;
  bs = 1;
  var e = typeof Reflect == "object" ? Reflect : null, r = e && typeof e.apply == "function" ? e.apply : function(I, O, N) {
    return Function.prototype.apply.call(I, O, N);
  }, t;
  e && typeof e.ownKeys == "function" ? t = e.ownKeys : Object.getOwnPropertySymbols ? t = function(I) {
    return Object.getOwnPropertyNames(I).concat(Object.getOwnPropertySymbols(I));
  } : t = function(I) {
    return Object.getOwnPropertyNames(I);
  };
  function a(B) {
    console && console.warn && console.warn(B);
  }
  var n = Number.isNaN || function(I) {
    return I !== I;
  };
  function i() {
    i.init.call(this);
  }
  Ba.exports = i, Ba.exports.once = x, i.EventEmitter = i, i.prototype._events = void 0, i.prototype._eventsCount = 0, i.prototype._maxListeners = void 0;
  var s = 10;
  function o(B) {
    if (typeof B != "function")
      throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof B);
  }
  Object.defineProperty(i, "defaultMaxListeners", {
    enumerable: !0,
    get: function() {
      return s;
    },
    set: function(B) {
      if (typeof B != "number" || B < 0 || n(B))
        throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + B + ".");
      s = B;
    }
  }), i.init = function() {
    (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
  }, i.prototype.setMaxListeners = function(I) {
    if (typeof I != "number" || I < 0 || n(I))
      throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + I + ".");
    return this._maxListeners = I, this;
  };
  function u(B) {
    return B._maxListeners === void 0 ? i.defaultMaxListeners : B._maxListeners;
  }
  i.prototype.getMaxListeners = function() {
    return u(this);
  }, i.prototype.emit = function(I) {
    for (var O = [], N = 1; N < arguments.length; N++) O.push(arguments[N]);
    var M = I === "error", z = this._events;
    if (z !== void 0)
      M = M && z.error === void 0;
    else if (!M)
      return !1;
    if (M) {
      var D;
      if (O.length > 0 && (D = O[0]), D instanceof Error)
        throw D;
      var P = new Error("Unhandled error." + (D ? " (" + D.message + ")" : ""));
      throw P.context = D, P;
    }
    var J = z[I];
    if (J === void 0)
      return !1;
    if (typeof J == "function")
      r(J, this, O);
    else
      for (var K = J.length, ie = b(J, K), N = 0; N < K; ++N)
        r(ie[N], this, O);
    return !0;
  };
  function l(B, I, O, N) {
    var M, z, D;
    if (o(O), z = B._events, z === void 0 ? (z = B._events = /* @__PURE__ */ Object.create(null), B._eventsCount = 0) : (z.newListener !== void 0 && (B.emit(
      "newListener",
      I,
      O.listener ? O.listener : O
    ), z = B._events), D = z[I]), D === void 0)
      D = z[I] = O, ++B._eventsCount;
    else if (typeof D == "function" ? D = z[I] = N ? [O, D] : [D, O] : N ? D.unshift(O) : D.push(O), M = u(B), M > 0 && D.length > M && !D.warned) {
      D.warned = !0;
      var P = new Error("Possible EventEmitter memory leak detected. " + D.length + " " + String(I) + " listeners added. Use emitter.setMaxListeners() to increase limit");
      P.name = "MaxListenersExceededWarning", P.emitter = B, P.type = I, P.count = D.length, a(P);
    }
    return B;
  }
  i.prototype.addListener = function(I, O) {
    return l(this, I, O, !1);
  }, i.prototype.on = i.prototype.addListener, i.prototype.prependListener = function(I, O) {
    return l(this, I, O, !0);
  };
  function f() {
    if (!this.fired)
      return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);
  }
  function p(B, I, O) {
    var N = { fired: !1, wrapFn: void 0, target: B, type: I, listener: O }, M = f.bind(N);
    return M.listener = O, N.wrapFn = M, M;
  }
  i.prototype.once = function(I, O) {
    return o(O), this.on(I, p(this, I, O)), this;
  }, i.prototype.prependOnceListener = function(I, O) {
    return o(O), this.prependListener(I, p(this, I, O)), this;
  }, i.prototype.removeListener = function(I, O) {
    var N, M, z, D, P;
    if (o(O), M = this._events, M === void 0)
      return this;
    if (N = M[I], N === void 0)
      return this;
    if (N === O || N.listener === O)
      --this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : (delete M[I], M.removeListener && this.emit("removeListener", I, N.listener || O));
    else if (typeof N != "function") {
      for (z = -1, D = N.length - 1; D >= 0; D--)
        if (N[D] === O || N[D].listener === O) {
          P = N[D].listener, z = D;
          break;
        }
      if (z < 0)
        return this;
      z === 0 ? N.shift() : v(N, z), N.length === 1 && (M[I] = N[0]), M.removeListener !== void 0 && this.emit("removeListener", I, P || O);
    }
    return this;
  }, i.prototype.off = i.prototype.removeListener, i.prototype.removeAllListeners = function(I) {
    var O, N, M;
    if (N = this._events, N === void 0)
      return this;
    if (N.removeListener === void 0)
      return arguments.length === 0 ? (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0) : N[I] !== void 0 && (--this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : delete N[I]), this;
    if (arguments.length === 0) {
      var z = Object.keys(N), D;
      for (M = 0; M < z.length; ++M)
        D = z[M], D !== "removeListener" && this.removeAllListeners(D);
      return this.removeAllListeners("removeListener"), this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0, this;
    }
    if (O = N[I], typeof O == "function")
      this.removeListener(I, O);
    else if (O !== void 0)
      for (M = O.length - 1; M >= 0; M--)
        this.removeListener(I, O[M]);
    return this;
  };
  function d(B, I, O) {
    var N = B._events;
    if (N === void 0)
      return [];
    var M = N[I];
    return M === void 0 ? [] : typeof M == "function" ? O ? [M.listener || M] : [M] : O ? S(M) : b(M, M.length);
  }
  i.prototype.listeners = function(I) {
    return d(this, I, !0);
  }, i.prototype.rawListeners = function(I) {
    return d(this, I, !1);
  }, i.listenerCount = function(B, I) {
    return typeof B.listenerCount == "function" ? B.listenerCount(I) : y.call(B, I);
  }, i.prototype.listenerCount = y;
  function y(B) {
    var I = this._events;
    if (I !== void 0) {
      var O = I[B];
      if (typeof O == "function")
        return 1;
      if (O !== void 0)
        return O.length;
    }
    return 0;
  }
  i.prototype.eventNames = function() {
    return this._eventsCount > 0 ? t(this._events) : [];
  };
  function b(B, I) {
    for (var O = new Array(I), N = 0; N < I; ++N)
      O[N] = B[N];
    return O;
  }
  function v(B, I) {
    for (; I + 1 < B.length; I++)
      B[I] = B[I + 1];
    B.pop();
  }
  function S(B) {
    for (var I = new Array(B.length), O = 0; O < I.length; ++O)
      I[O] = B[O].listener || B[O];
    return I;
  }
  function x(B, I) {
    return new Promise(function(O, N) {
      function M(D) {
        B.removeListener(I, z), N(D);
      }
      function z() {
        typeof B.removeListener == "function" && B.removeListener("error", M), O([].slice.call(arguments));
      }
      k(B, I, z, { once: !0 }), I !== "error" && T(B, M, { once: !0 });
    });
  }
  function T(B, I, O) {
    typeof B.on == "function" && k(B, "error", I, O);
  }
  function k(B, I, O, N) {
    if (typeof B.on == "function")
      N.once ? B.once(I, O) : B.on(I, O);
    else if (typeof B.addEventListener == "function")
      B.addEventListener(I, function M(z) {
        N.once && B.removeEventListener(I, M), O(z);
      });
    else
      throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof B);
  }
  return Ba.exports;
}
var wi, vs;
function Hc() {
  return vs || (vs = 1, wi = Mc().EventEmitter), wi;
}
const Hd = {}, Fd = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: Hd
}, Symbol.toStringTag, { value: "Module" })), Fc = /* @__PURE__ */ pd(Fd);
var _i, ys;
function $d() {
  if (ys) return _i;
  ys = 1;
  function e(b, v) {
    var S = Object.keys(b);
    if (Object.getOwnPropertySymbols) {
      var x = Object.getOwnPropertySymbols(b);
      v && (x = x.filter(function(T) {
        return Object.getOwnPropertyDescriptor(b, T).enumerable;
      })), S.push.apply(S, x);
    }
    return S;
  }
  function r(b) {
    for (var v = 1; v < arguments.length; v++) {
      var S = arguments[v] != null ? arguments[v] : {};
      v % 2 ? e(Object(S), !0).forEach(function(x) {
        t(b, x, S[x]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(b, Object.getOwnPropertyDescriptors(S)) : e(Object(S)).forEach(function(x) {
        Object.defineProperty(b, x, Object.getOwnPropertyDescriptor(S, x));
      });
    }
    return b;
  }
  function t(b, v, S) {
    return v = s(v), v in b ? Object.defineProperty(b, v, { value: S, enumerable: !0, configurable: !0, writable: !0 }) : b[v] = S, b;
  }
  function a(b, v) {
    if (!(b instanceof v))
      throw new TypeError("Cannot call a class as a function");
  }
  function n(b, v) {
    for (var S = 0; S < v.length; S++) {
      var x = v[S];
      x.enumerable = x.enumerable || !1, x.configurable = !0, "value" in x && (x.writable = !0), Object.defineProperty(b, s(x.key), x);
    }
  }
  function i(b, v, S) {
    return v && n(b.prototype, v), Object.defineProperty(b, "prototype", { writable: !1 }), b;
  }
  function s(b) {
    var v = o(b, "string");
    return typeof v == "symbol" ? v : String(v);
  }
  function o(b, v) {
    if (typeof b != "object" || b === null) return b;
    var S = b[Symbol.toPrimitive];
    if (S !== void 0) {
      var x = S.call(b, v);
      if (typeof x != "object") return x;
      throw new TypeError("@@toPrimitive must return a primitive value.");
    }
    return String(b);
  }
  var u = ma(), l = u.Buffer, f = Fc, p = f.inspect, d = p && p.custom || "inspect";
  function y(b, v, S) {
    l.prototype.copy.call(b, v, S);
  }
  return _i = /* @__PURE__ */ function() {
    function b() {
      a(this, b), this.head = null, this.tail = null, this.length = 0;
    }
    return i(b, [{
      key: "push",
      value: function(S) {
        var x = {
          data: S,
          next: null
        };
        this.length > 0 ? this.tail.next = x : this.head = x, this.tail = x, ++this.length;
      }
    }, {
      key: "unshift",
      value: function(S) {
        var x = {
          data: S,
          next: this.head
        };
        this.length === 0 && (this.tail = x), this.head = x, ++this.length;
      }
    }, {
      key: "shift",
      value: function() {
        if (this.length !== 0) {
          var S = this.head.data;
          return this.length === 1 ? this.head = this.tail = null : this.head = this.head.next, --this.length, S;
        }
      }
    }, {
      key: "clear",
      value: function() {
        this.head = this.tail = null, this.length = 0;
      }
    }, {
      key: "join",
      value: function(S) {
        if (this.length === 0) return "";
        for (var x = this.head, T = "" + x.data; x = x.next; ) T += S + x.data;
        return T;
      }
    }, {
      key: "concat",
      value: function(S) {
        if (this.length === 0) return l.alloc(0);
        for (var x = l.allocUnsafe(S >>> 0), T = this.head, k = 0; T; )
          y(T.data, x, k), k += T.data.length, T = T.next;
        return x;
      }
      // Consumes a specified amount of bytes or characters from the buffered data.
    }, {
      key: "consume",
      value: function(S, x) {
        var T;
        return S < this.head.data.length ? (T = this.head.data.slice(0, S), this.head.data = this.head.data.slice(S)) : S === this.head.data.length ? T = this.shift() : T = x ? this._getString(S) : this._getBuffer(S), T;
      }
    }, {
      key: "first",
      value: function() {
        return this.head.data;
      }
      // Consumes a specified amount of characters from the buffered data.
    }, {
      key: "_getString",
      value: function(S) {
        var x = this.head, T = 1, k = x.data;
        for (S -= k.length; x = x.next; ) {
          var B = x.data, I = S > B.length ? B.length : S;
          if (I === B.length ? k += B : k += B.slice(0, S), S -= I, S === 0) {
            I === B.length ? (++T, x.next ? this.head = x.next : this.head = this.tail = null) : (this.head = x, x.data = B.slice(I));
            break;
          }
          ++T;
        }
        return this.length -= T, k;
      }
      // Consumes a specified amount of bytes from the buffered data.
    }, {
      key: "_getBuffer",
      value: function(S) {
        var x = l.allocUnsafe(S), T = this.head, k = 1;
        for (T.data.copy(x), S -= T.data.length; T = T.next; ) {
          var B = T.data, I = S > B.length ? B.length : S;
          if (B.copy(x, x.length - S, 0, I), S -= I, S === 0) {
            I === B.length ? (++k, T.next ? this.head = T.next : this.head = this.tail = null) : (this.head = T, T.data = B.slice(I));
            break;
          }
          ++k;
        }
        return this.length -= k, x;
      }
      // Make sure the linked list only shows the minimal necessary information.
    }, {
      key: d,
      value: function(S, x) {
        return p(this, r(r({}, x), {}, {
          // Only inspect one level.
          depth: 0,
          // It should not recurse.
          customInspect: !1
        }));
      }
    }]), b;
  }(), _i;
}
var Ei, xs;
function $c() {
  if (xs) return Ei;
  xs = 1;
  function e(s, o) {
    var u = this, l = this._readableState && this._readableState.destroyed, f = this._writableState && this._writableState.destroyed;
    return l || f ? (o ? o(s) : s && (this._writableState ? this._writableState.errorEmitted || (this._writableState.errorEmitted = !0, process.nextTick(n, this, s)) : process.nextTick(n, this, s)), this) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(s || null, function(p) {
      !o && p ? u._writableState ? u._writableState.errorEmitted ? process.nextTick(t, u) : (u._writableState.errorEmitted = !0, process.nextTick(r, u, p)) : process.nextTick(r, u, p) : o ? (process.nextTick(t, u), o(p)) : process.nextTick(t, u);
    }), this);
  }
  function r(s, o) {
    n(s, o), t(s);
  }
  function t(s) {
    s._writableState && !s._writableState.emitClose || s._readableState && !s._readableState.emitClose || s.emit("close");
  }
  function a() {
    this._readableState && (this._readableState.destroyed = !1, this._readableState.reading = !1, this._readableState.ended = !1, this._readableState.endEmitted = !1), this._writableState && (this._writableState.destroyed = !1, this._writableState.ended = !1, this._writableState.ending = !1, this._writableState.finalCalled = !1, this._writableState.prefinished = !1, this._writableState.finished = !1, this._writableState.errorEmitted = !1);
  }
  function n(s, o) {
    s.emit("error", o);
  }
  function i(s, o) {
    var u = s._readableState, l = s._writableState;
    u && u.autoDestroy || l && l.autoDestroy ? s.destroy(o) : s.emit("error", o);
  }
  return Ei = {
    destroy: e,
    undestroy: a,
    errorOrDestroy: i
  }, Ei;
}
var ki = {}, ws;
function Xt() {
  if (ws) return ki;
  ws = 1;
  function e(o, u) {
    o.prototype = Object.create(u.prototype), o.prototype.constructor = o, o.__proto__ = u;
  }
  var r = {};
  function t(o, u, l) {
    l || (l = Error);
    function f(d, y, b) {
      return typeof u == "string" ? u : u(d, y, b);
    }
    var p = /* @__PURE__ */ function(d) {
      e(y, d);
      function y(b, v, S) {
        return d.call(this, f(b, v, S)) || this;
      }
      return y;
    }(l);
    p.prototype.name = l.name, p.prototype.code = o, r[o] = p;
  }
  function a(o, u) {
    if (Array.isArray(o)) {
      var l = o.length;
      return o = o.map(function(f) {
        return String(f);
      }), l > 2 ? "one of ".concat(u, " ").concat(o.slice(0, l - 1).join(", "), ", or ") + o[l - 1] : l === 2 ? "one of ".concat(u, " ").concat(o[0], " or ").concat(o[1]) : "of ".concat(u, " ").concat(o[0]);
    } else
      return "of ".concat(u, " ").concat(String(o));
  }
  function n(o, u, l) {
    return o.substr(0, u.length) === u;
  }
  function i(o, u, l) {
    return (l === void 0 || l > o.length) && (l = o.length), o.substring(l - u.length, l) === u;
  }
  function s(o, u, l) {
    return typeof l != "number" && (l = 0), l + u.length > o.length ? !1 : o.indexOf(u, l) !== -1;
  }
  return t("ERR_INVALID_OPT_VALUE", function(o, u) {
    return 'The value "' + u + '" is invalid for option "' + o + '"';
  }, TypeError), t("ERR_INVALID_ARG_TYPE", function(o, u, l) {
    var f;
    typeof u == "string" && n(u, "not ") ? (f = "must not be", u = u.replace(/^not /, "")) : f = "must be";
    var p;
    if (i(o, " argument"))
      p = "The ".concat(o, " ").concat(f, " ").concat(a(u, "type"));
    else {
      var d = s(o, ".") ? "property" : "argument";
      p = 'The "'.concat(o, '" ').concat(d, " ").concat(f, " ").concat(a(u, "type"));
    }
    return p += ". Received type ".concat(typeof l), p;
  }, TypeError), t("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF"), t("ERR_METHOD_NOT_IMPLEMENTED", function(o) {
    return "The " + o + " method is not implemented";
  }), t("ERR_STREAM_PREMATURE_CLOSE", "Premature close"), t("ERR_STREAM_DESTROYED", function(o) {
    return "Cannot call " + o + " after a stream was destroyed";
  }), t("ERR_MULTIPLE_CALLBACK", "Callback called multiple times"), t("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable"), t("ERR_STREAM_WRITE_AFTER_END", "write after end"), t("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError), t("ERR_UNKNOWN_ENCODING", function(o) {
    return "Unknown encoding: " + o;
  }, TypeError), t("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event"), ki.codes = r, ki;
}
var Si, _s;
function Vc() {
  if (_s) return Si;
  _s = 1;
  var e = Xt().codes.ERR_INVALID_OPT_VALUE;
  function r(a, n, i) {
    return a.highWaterMark != null ? a.highWaterMark : n ? a[i] : null;
  }
  function t(a, n, i, s) {
    var o = r(n, s, i);
    if (o != null) {
      if (!(isFinite(o) && Math.floor(o) === o) || o < 0) {
        var u = s ? i : "highWaterMark";
        throw new e(u, o);
      }
      return Math.floor(o);
    }
    return a.objectMode ? 16 : 16 * 1024;
  }
  return Si = {
    getHighWaterMark: t
  }, Si;
}
var Ai, Es;
function Vd() {
  if (Es) return Ai;
  Es = 1, Ai = e;
  function e(t, a) {
    if (r("noDeprecation"))
      return t;
    var n = !1;
    function i() {
      if (!n) {
        if (r("throwDeprecation"))
          throw new Error(a);
        r("traceDeprecation") ? console.trace(a) : console.warn(a), n = !0;
      }
      return t.apply(this, arguments);
    }
    return i;
  }
  function r(t) {
    try {
      if (!Tt.localStorage) return !1;
    } catch {
      return !1;
    }
    var a = Tt.localStorage[t];
    return a == null ? !1 : String(a).toLowerCase() === "true";
  }
  return Ai;
}
var Bi, ks;
function Gc() {
  if (ks) return Bi;
  ks = 1, Bi = M;
  function e($) {
    var V = this;
    this.next = null, this.entry = null, this.finish = function() {
      Re(V, $);
    };
  }
  var r;
  M.WritableState = O;
  var t = {
    deprecate: Vd()
  }, a = Hc(), n = ma().Buffer, i = (typeof Tt < "u" ? Tt : typeof window < "u" ? window : typeof self < "u" ? self : {}).Uint8Array || function() {
  };
  function s($) {
    return n.from($);
  }
  function o($) {
    return n.isBuffer($) || $ instanceof i;
  }
  var u = $c(), l = Vc(), f = l.getHighWaterMark, p = Xt().codes, d = p.ERR_INVALID_ARG_TYPE, y = p.ERR_METHOD_NOT_IMPLEMENTED, b = p.ERR_MULTIPLE_CALLBACK, v = p.ERR_STREAM_CANNOT_PIPE, S = p.ERR_STREAM_DESTROYED, x = p.ERR_STREAM_NULL_VALUES, T = p.ERR_STREAM_WRITE_AFTER_END, k = p.ERR_UNKNOWN_ENCODING, B = u.errorOrDestroy;
  jr()(M, a);
  function I() {
  }
  function O($, V, ee) {
    r = r || Wt(), $ = $ || {}, typeof ee != "boolean" && (ee = V instanceof r), this.objectMode = !!$.objectMode, ee && (this.objectMode = this.objectMode || !!$.writableObjectMode), this.highWaterMark = f(this, $, "writableHighWaterMark", ee), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;
    var pe = $.decodeStrings === !1;
    this.decodeStrings = !pe, this.defaultEncoding = $.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function(me) {
      ue(V, me);
    }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = $.emitClose !== !1, this.autoDestroy = !!$.autoDestroy, this.bufferedRequestCount = 0, this.corkedRequestsFree = new e(this);
  }
  O.prototype.getBuffer = function() {
    for (var V = this.bufferedRequest, ee = []; V; )
      ee.push(V), V = V.next;
    return ee;
  }, function() {
    try {
      Object.defineProperty(O.prototype, "buffer", {
        get: t.deprecate(function() {
          return this.getBuffer();
        }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
      });
    } catch {
    }
  }();
  var N;
  typeof Symbol == "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] == "function" ? (N = Function.prototype[Symbol.hasInstance], Object.defineProperty(M, Symbol.hasInstance, {
    value: function(V) {
      return N.call(this, V) ? !0 : this !== M ? !1 : V && V._writableState instanceof O;
    }
  })) : N = function(V) {
    return V instanceof this;
  };
  function M($) {
    r = r || Wt();
    var V = this instanceof r;
    if (!V && !N.call(M, this)) return new M($);
    this._writableState = new O($, this, V), this.writable = !0, $ && (typeof $.write == "function" && (this._write = $.write), typeof $.writev == "function" && (this._writev = $.writev), typeof $.destroy == "function" && (this._destroy = $.destroy), typeof $.final == "function" && (this._final = $.final)), a.call(this);
  }
  M.prototype.pipe = function() {
    B(this, new v());
  };
  function z($, V) {
    var ee = new T();
    B($, ee), process.nextTick(V, ee);
  }
  function D($, V, ee, pe) {
    var me;
    return ee === null ? me = new x() : typeof ee != "string" && !V.objectMode && (me = new d("chunk", ["string", "Buffer"], ee)), me ? (B($, me), process.nextTick(pe, me), !1) : !0;
  }
  M.prototype.write = function($, V, ee) {
    var pe = this._writableState, me = !1, j = !pe.objectMode && o($);
    return j && !n.isBuffer($) && ($ = s($)), typeof V == "function" && (ee = V, V = null), j ? V = "buffer" : V || (V = pe.defaultEncoding), typeof ee != "function" && (ee = I), pe.ending ? z(this, ee) : (j || D(this, pe, $, ee)) && (pe.pendingcb++, me = J(this, pe, j, $, V, ee)), me;
  }, M.prototype.cork = function() {
    this._writableState.corked++;
  }, M.prototype.uncork = function() {
    var $ = this._writableState;
    $.corked && ($.corked--, !$.writing && !$.corked && !$.bufferProcessing && $.bufferedRequest && F(this, $));
  }, M.prototype.setDefaultEncoding = function(V) {
    if (typeof V == "string" && (V = V.toLowerCase()), !(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((V + "").toLowerCase()) > -1)) throw new k(V);
    return this._writableState.defaultEncoding = V, this;
  }, Object.defineProperty(M.prototype, "writableBuffer", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._writableState && this._writableState.getBuffer();
    }
  });
  function P($, V, ee) {
    return !$.objectMode && $.decodeStrings !== !1 && typeof V == "string" && (V = n.from(V, ee)), V;
  }
  Object.defineProperty(M.prototype, "writableHighWaterMark", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._writableState.highWaterMark;
    }
  });
  function J($, V, ee, pe, me, j) {
    if (!ee) {
      var R = P(V, pe, me);
      pe !== R && (ee = !0, me = "buffer", pe = R);
    }
    var X = V.objectMode ? 1 : pe.length;
    V.length += X;
    var fe = V.length < V.highWaterMark;
    if (fe || (V.needDrain = !0), V.writing || V.corked) {
      var er = V.lastBufferedRequest;
      V.lastBufferedRequest = {
        chunk: pe,
        encoding: me,
        isBuf: ee,
        callback: j,
        next: null
      }, er ? er.next = V.lastBufferedRequest : V.bufferedRequest = V.lastBufferedRequest, V.bufferedRequestCount += 1;
    } else
      K($, V, !1, X, pe, me, j);
    return fe;
  }
  function K($, V, ee, pe, me, j, R) {
    V.writelen = pe, V.writecb = R, V.writing = !0, V.sync = !0, V.destroyed ? V.onwrite(new S("write")) : ee ? $._writev(me, V.onwrite) : $._write(me, j, V.onwrite), V.sync = !1;
  }
  function ie($, V, ee, pe, me) {
    --V.pendingcb, ee ? (process.nextTick(me, pe), process.nextTick(Ie, $, V), $._writableState.errorEmitted = !0, B($, pe)) : (me(pe), $._writableState.errorEmitted = !0, B($, pe), Ie($, V));
  }
  function ce($) {
    $.writing = !1, $.writecb = null, $.length -= $.writelen, $.writelen = 0;
  }
  function ue($, V) {
    var ee = $._writableState, pe = ee.sync, me = ee.writecb;
    if (typeof me != "function") throw new b();
    if (ce(ee), V) ie($, ee, pe, V, me);
    else {
      var j = he(ee) || $.destroyed;
      !j && !ee.corked && !ee.bufferProcessing && ee.bufferedRequest && F($, ee), pe ? process.nextTick(xe, $, ee, j, me) : xe($, ee, j, me);
    }
  }
  function xe($, V, ee, pe) {
    ee || De($, V), V.pendingcb--, pe(), Ie($, V);
  }
  function De($, V) {
    V.length === 0 && V.needDrain && (V.needDrain = !1, $.emit("drain"));
  }
  function F($, V) {
    V.bufferProcessing = !0;
    var ee = V.bufferedRequest;
    if ($._writev && ee && ee.next) {
      var pe = V.bufferedRequestCount, me = new Array(pe), j = V.corkedRequestsFree;
      j.entry = ee;
      for (var R = 0, X = !0; ee; )
        me[R] = ee, ee.isBuf || (X = !1), ee = ee.next, R += 1;
      me.allBuffers = X, K($, V, !0, V.length, me, "", j.finish), V.pendingcb++, V.lastBufferedRequest = null, j.next ? (V.corkedRequestsFree = j.next, j.next = null) : V.corkedRequestsFree = new e(V), V.bufferedRequestCount = 0;
    } else {
      for (; ee; ) {
        var fe = ee.chunk, er = ee.encoding, ze = ee.callback, Xe = V.objectMode ? 1 : fe.length;
        if (K($, V, !1, Xe, fe, er, ze), ee = ee.next, V.bufferedRequestCount--, V.writing)
          break;
      }
      ee === null && (V.lastBufferedRequest = null);
    }
    V.bufferedRequest = ee, V.bufferProcessing = !1;
  }
  M.prototype._write = function($, V, ee) {
    ee(new y("_write()"));
  }, M.prototype._writev = null, M.prototype.end = function($, V, ee) {
    var pe = this._writableState;
    return typeof $ == "function" ? (ee = $, $ = null, V = null) : typeof V == "function" && (ee = V, V = null), $ != null && this.write($, V), pe.corked && (pe.corked = 1, this.uncork()), pe.ending || Ye(this, pe, ee), this;
  }, Object.defineProperty(M.prototype, "writableLength", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._writableState.length;
    }
  });
  function he($) {
    return $.ending && $.length === 0 && $.bufferedRequest === null && !$.finished && !$.writing;
  }
  function de($, V) {
    $._final(function(ee) {
      V.pendingcb--, ee && B($, ee), V.prefinished = !0, $.emit("prefinish"), Ie($, V);
    });
  }
  function Ee($, V) {
    !V.prefinished && !V.finalCalled && (typeof $._final == "function" && !V.destroyed ? (V.pendingcb++, V.finalCalled = !0, process.nextTick(de, $, V)) : (V.prefinished = !0, $.emit("prefinish")));
  }
  function Ie($, V) {
    var ee = he(V);
    if (ee && (Ee($, V), V.pendingcb === 0 && (V.finished = !0, $.emit("finish"), V.autoDestroy))) {
      var pe = $._readableState;
      (!pe || pe.autoDestroy && pe.endEmitted) && $.destroy();
    }
    return ee;
  }
  function Ye($, V, ee) {
    V.ending = !0, Ie($, V), ee && (V.finished ? process.nextTick(ee) : $.once("finish", ee)), V.ended = !0, $.writable = !1;
  }
  function Re($, V, ee) {
    var pe = $.entry;
    for ($.entry = null; pe; ) {
      var me = pe.callback;
      V.pendingcb--, me(ee), pe = pe.next;
    }
    V.corkedRequestsFree.next = $;
  }
  return Object.defineProperty(M.prototype, "destroyed", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._writableState === void 0 ? !1 : this._writableState.destroyed;
    },
    set: function(V) {
      this._writableState && (this._writableState.destroyed = V);
    }
  }), M.prototype.destroy = u.destroy, M.prototype._undestroy = u.undestroy, M.prototype._destroy = function($, V) {
    V($);
  }, Bi;
}
var Ii, Ss;
function Wt() {
  if (Ss) return Ii;
  Ss = 1;
  var e = Object.keys || function(l) {
    var f = [];
    for (var p in l) f.push(p);
    return f;
  };
  Ii = s;
  var r = Kc(), t = Gc();
  jr()(s, r);
  for (var a = e(t.prototype), n = 0; n < a.length; n++) {
    var i = a[n];
    s.prototype[i] || (s.prototype[i] = t.prototype[i]);
  }
  function s(l) {
    if (!(this instanceof s)) return new s(l);
    r.call(this, l), t.call(this, l), this.allowHalfOpen = !0, l && (l.readable === !1 && (this.readable = !1), l.writable === !1 && (this.writable = !1), l.allowHalfOpen === !1 && (this.allowHalfOpen = !1, this.once("end", o)));
  }
  Object.defineProperty(s.prototype, "writableHighWaterMark", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._writableState.highWaterMark;
    }
  }), Object.defineProperty(s.prototype, "writableBuffer", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._writableState && this._writableState.getBuffer();
    }
  }), Object.defineProperty(s.prototype, "writableLength", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._writableState.length;
    }
  });
  function o() {
    this._writableState.ended || process.nextTick(u, this);
  }
  function u(l) {
    l.end();
  }
  return Object.defineProperty(s.prototype, "destroyed", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._readableState === void 0 || this._writableState === void 0 ? !1 : this._readableState.destroyed && this._writableState.destroyed;
    },
    set: function(f) {
      this._readableState === void 0 || this._writableState === void 0 || (this._readableState.destroyed = f, this._writableState.destroyed = f);
    }
  }), Ii;
}
var zi, As;
function vo() {
  if (As) return zi;
  As = 1;
  var e = Xt().codes.ERR_STREAM_PREMATURE_CLOSE;
  function r(i) {
    var s = !1;
    return function() {
      if (!s) {
        s = !0;
        for (var o = arguments.length, u = new Array(o), l = 0; l < o; l++)
          u[l] = arguments[l];
        i.apply(this, u);
      }
    };
  }
  function t() {
  }
  function a(i) {
    return i.setHeader && typeof i.abort == "function";
  }
  function n(i, s, o) {
    if (typeof s == "function") return n(i, null, s);
    s || (s = {}), o = r(o || t);
    var u = s.readable || s.readable !== !1 && i.readable, l = s.writable || s.writable !== !1 && i.writable, f = function() {
      i.writable || d();
    }, p = i._writableState && i._writableState.finished, d = function() {
      l = !1, p = !0, u || o.call(i);
    }, y = i._readableState && i._readableState.endEmitted, b = function() {
      u = !1, y = !0, l || o.call(i);
    }, v = function(k) {
      o.call(i, k);
    }, S = function() {
      var k;
      if (u && !y)
        return (!i._readableState || !i._readableState.ended) && (k = new e()), o.call(i, k);
      if (l && !p)
        return (!i._writableState || !i._writableState.ended) && (k = new e()), o.call(i, k);
    }, x = function() {
      i.req.on("finish", d);
    };
    return a(i) ? (i.on("complete", d), i.on("abort", S), i.req ? x() : i.on("request", x)) : l && !i._writableState && (i.on("end", f), i.on("close", f)), i.on("end", b), i.on("finish", d), s.error !== !1 && i.on("error", v), i.on("close", S), function() {
      i.removeListener("complete", d), i.removeListener("abort", S), i.removeListener("request", x), i.req && i.req.removeListener("finish", d), i.removeListener("end", f), i.removeListener("close", f), i.removeListener("finish", d), i.removeListener("end", b), i.removeListener("error", v), i.removeListener("close", S);
    };
  }
  return zi = n, zi;
}
var Ti, Bs;
function Gd() {
  if (Bs) return Ti;
  Bs = 1;
  var e;
  function r(k, B, I) {
    return B = t(B), B in k ? Object.defineProperty(k, B, { value: I, enumerable: !0, configurable: !0, writable: !0 }) : k[B] = I, k;
  }
  function t(k) {
    var B = a(k, "string");
    return typeof B == "symbol" ? B : String(B);
  }
  function a(k, B) {
    if (typeof k != "object" || k === null) return k;
    var I = k[Symbol.toPrimitive];
    if (I !== void 0) {
      var O = I.call(k, B);
      if (typeof O != "object") return O;
      throw new TypeError("@@toPrimitive must return a primitive value.");
    }
    return (B === "string" ? String : Number)(k);
  }
  var n = vo(), i = Symbol("lastResolve"), s = Symbol("lastReject"), o = Symbol("error"), u = Symbol("ended"), l = Symbol("lastPromise"), f = Symbol("handlePromise"), p = Symbol("stream");
  function d(k, B) {
    return {
      value: k,
      done: B
    };
  }
  function y(k) {
    var B = k[i];
    if (B !== null) {
      var I = k[p].read();
      I !== null && (k[l] = null, k[i] = null, k[s] = null, B(d(I, !1)));
    }
  }
  function b(k) {
    process.nextTick(y, k);
  }
  function v(k, B) {
    return function(I, O) {
      k.then(function() {
        if (B[u]) {
          I(d(void 0, !0));
          return;
        }
        B[f](I, O);
      }, O);
    };
  }
  var S = Object.getPrototypeOf(function() {
  }), x = Object.setPrototypeOf((e = {
    get stream() {
      return this[p];
    },
    next: function() {
      var B = this, I = this[o];
      if (I !== null)
        return Promise.reject(I);
      if (this[u])
        return Promise.resolve(d(void 0, !0));
      if (this[p].destroyed)
        return new Promise(function(z, D) {
          process.nextTick(function() {
            B[o] ? D(B[o]) : z(d(void 0, !0));
          });
        });
      var O = this[l], N;
      if (O)
        N = new Promise(v(O, this));
      else {
        var M = this[p].read();
        if (M !== null)
          return Promise.resolve(d(M, !1));
        N = new Promise(this[f]);
      }
      return this[l] = N, N;
    }
  }, r(e, Symbol.asyncIterator, function() {
    return this;
  }), r(e, "return", function() {
    var B = this;
    return new Promise(function(I, O) {
      B[p].destroy(null, function(N) {
        if (N) {
          O(N);
          return;
        }
        I(d(void 0, !0));
      });
    });
  }), e), S), T = function(B) {
    var I, O = Object.create(x, (I = {}, r(I, p, {
      value: B,
      writable: !0
    }), r(I, i, {
      value: null,
      writable: !0
    }), r(I, s, {
      value: null,
      writable: !0
    }), r(I, o, {
      value: null,
      writable: !0
    }), r(I, u, {
      value: B._readableState.endEmitted,
      writable: !0
    }), r(I, f, {
      value: function(M, z) {
        var D = O[p].read();
        D ? (O[l] = null, O[i] = null, O[s] = null, M(d(D, !1))) : (O[i] = M, O[s] = z);
      },
      writable: !0
    }), I));
    return O[l] = null, n(B, function(N) {
      if (N && N.code !== "ERR_STREAM_PREMATURE_CLOSE") {
        var M = O[s];
        M !== null && (O[l] = null, O[i] = null, O[s] = null, M(N)), O[o] = N;
        return;
      }
      var z = O[i];
      z !== null && (O[l] = null, O[i] = null, O[s] = null, z(d(void 0, !0))), O[u] = !0;
    }), B.on("readable", b.bind(null, O)), O;
  };
  return Ti = T, Ti;
}
var ji, Is;
function Kd() {
  return Is || (Is = 1, ji = function() {
    throw new Error("Readable.from is not available in the browser");
  }), ji;
}
var Ri, zs;
function Kc() {
  if (zs) return Ri;
  zs = 1, Ri = z;
  var e;
  z.ReadableState = M, Mc().EventEmitter;
  var r = function(R, X) {
    return R.listeners(X).length;
  }, t = Hc(), a = ma().Buffer, n = (typeof Tt < "u" ? Tt : typeof window < "u" ? window : typeof self < "u" ? self : {}).Uint8Array || function() {
  };
  function i(j) {
    return a.from(j);
  }
  function s(j) {
    return a.isBuffer(j) || j instanceof n;
  }
  var o = Fc, u;
  o && o.debuglog ? u = o.debuglog("stream") : u = function() {
  };
  var l = $d(), f = $c(), p = Vc(), d = p.getHighWaterMark, y = Xt().codes, b = y.ERR_INVALID_ARG_TYPE, v = y.ERR_STREAM_PUSH_AFTER_EOF, S = y.ERR_METHOD_NOT_IMPLEMENTED, x = y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT, T, k, B;
  jr()(z, t);
  var I = f.errorOrDestroy, O = ["error", "close", "destroy", "pause", "resume"];
  function N(j, R, X) {
    if (typeof j.prependListener == "function") return j.prependListener(R, X);
    !j._events || !j._events[R] ? j.on(R, X) : Array.isArray(j._events[R]) ? j._events[R].unshift(X) : j._events[R] = [X, j._events[R]];
  }
  function M(j, R, X) {
    e = e || Wt(), j = j || {}, typeof X != "boolean" && (X = R instanceof e), this.objectMode = !!j.objectMode, X && (this.objectMode = this.objectMode || !!j.readableObjectMode), this.highWaterMark = d(this, j, "readableHighWaterMark", X), this.buffer = new l(), this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.paused = !0, this.emitClose = j.emitClose !== !1, this.autoDestroy = !!j.autoDestroy, this.destroyed = !1, this.defaultEncoding = j.defaultEncoding || "utf8", this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, j.encoding && (T || (T = io().StringDecoder), this.decoder = new T(j.encoding), this.encoding = j.encoding);
  }
  function z(j) {
    if (e = e || Wt(), !(this instanceof z)) return new z(j);
    var R = this instanceof e;
    this._readableState = new M(j, this, R), this.readable = !0, j && (typeof j.read == "function" && (this._read = j.read), typeof j.destroy == "function" && (this._destroy = j.destroy)), t.call(this);
  }
  Object.defineProperty(z.prototype, "destroyed", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._readableState === void 0 ? !1 : this._readableState.destroyed;
    },
    set: function(R) {
      this._readableState && (this._readableState.destroyed = R);
    }
  }), z.prototype.destroy = f.destroy, z.prototype._undestroy = f.undestroy, z.prototype._destroy = function(j, R) {
    R(j);
  }, z.prototype.push = function(j, R) {
    var X = this._readableState, fe;
    return X.objectMode ? fe = !0 : typeof j == "string" && (R = R || X.defaultEncoding, R !== X.encoding && (j = a.from(j, R), R = ""), fe = !0), D(this, j, R, !1, fe);
  }, z.prototype.unshift = function(j) {
    return D(this, j, null, !0, !1);
  };
  function D(j, R, X, fe, er) {
    u("readableAddChunk", R);
    var ze = j._readableState;
    if (R === null)
      ze.reading = !1, ue(j, ze);
    else {
      var Xe;
      if (er || (Xe = J(ze, R)), Xe)
        I(j, Xe);
      else if (ze.objectMode || R && R.length > 0)
        if (typeof R != "string" && !ze.objectMode && Object.getPrototypeOf(R) !== a.prototype && (R = i(R)), fe)
          ze.endEmitted ? I(j, new x()) : P(j, ze, R, !0);
        else if (ze.ended)
          I(j, new v());
        else {
          if (ze.destroyed)
            return !1;
          ze.reading = !1, ze.decoder && !X ? (R = ze.decoder.write(R), ze.objectMode || R.length !== 0 ? P(j, ze, R, !1) : F(j, ze)) : P(j, ze, R, !1);
        }
      else fe || (ze.reading = !1, F(j, ze));
    }
    return !ze.ended && (ze.length < ze.highWaterMark || ze.length === 0);
  }
  function P(j, R, X, fe) {
    R.flowing && R.length === 0 && !R.sync ? (R.awaitDrain = 0, j.emit("data", X)) : (R.length += R.objectMode ? 1 : X.length, fe ? R.buffer.unshift(X) : R.buffer.push(X), R.needReadable && xe(j)), F(j, R);
  }
  function J(j, R) {
    var X;
    return !s(R) && typeof R != "string" && R !== void 0 && !j.objectMode && (X = new b("chunk", ["string", "Buffer", "Uint8Array"], R)), X;
  }
  z.prototype.isPaused = function() {
    return this._readableState.flowing === !1;
  }, z.prototype.setEncoding = function(j) {
    T || (T = io().StringDecoder);
    var R = new T(j);
    this._readableState.decoder = R, this._readableState.encoding = this._readableState.decoder.encoding;
    for (var X = this._readableState.buffer.head, fe = ""; X !== null; )
      fe += R.write(X.data), X = X.next;
    return this._readableState.buffer.clear(), fe !== "" && this._readableState.buffer.push(fe), this._readableState.length = fe.length, this;
  };
  var K = 1073741824;
  function ie(j) {
    return j >= K ? j = K : (j--, j |= j >>> 1, j |= j >>> 2, j |= j >>> 4, j |= j >>> 8, j |= j >>> 16, j++), j;
  }
  function ce(j, R) {
    return j <= 0 || R.length === 0 && R.ended ? 0 : R.objectMode ? 1 : j !== j ? R.flowing && R.length ? R.buffer.head.data.length : R.length : (j > R.highWaterMark && (R.highWaterMark = ie(j)), j <= R.length ? j : R.ended ? R.length : (R.needReadable = !0, 0));
  }
  z.prototype.read = function(j) {
    u("read", j), j = parseInt(j, 10);
    var R = this._readableState, X = j;
    if (j !== 0 && (R.emittedReadable = !1), j === 0 && R.needReadable && ((R.highWaterMark !== 0 ? R.length >= R.highWaterMark : R.length > 0) || R.ended))
      return u("read: emitReadable", R.length, R.ended), R.length === 0 && R.ended ? ee(this) : xe(this), null;
    if (j = ce(j, R), j === 0 && R.ended)
      return R.length === 0 && ee(this), null;
    var fe = R.needReadable;
    u("need readable", fe), (R.length === 0 || R.length - j < R.highWaterMark) && (fe = !0, u("length less than watermark", fe)), R.ended || R.reading ? (fe = !1, u("reading or ended", fe)) : fe && (u("do read"), R.reading = !0, R.sync = !0, R.length === 0 && (R.needReadable = !0), this._read(R.highWaterMark), R.sync = !1, R.reading || (j = ce(X, R)));
    var er;
    return j > 0 ? er = V(j, R) : er = null, er === null ? (R.needReadable = R.length <= R.highWaterMark, j = 0) : (R.length -= j, R.awaitDrain = 0), R.length === 0 && (R.ended || (R.needReadable = !0), X !== j && R.ended && ee(this)), er !== null && this.emit("data", er), er;
  };
  function ue(j, R) {
    if (u("onEofChunk"), !R.ended) {
      if (R.decoder) {
        var X = R.decoder.end();
        X && X.length && (R.buffer.push(X), R.length += R.objectMode ? 1 : X.length);
      }
      R.ended = !0, R.sync ? xe(j) : (R.needReadable = !1, R.emittedReadable || (R.emittedReadable = !0, De(j)));
    }
  }
  function xe(j) {
    var R = j._readableState;
    u("emitReadable", R.needReadable, R.emittedReadable), R.needReadable = !1, R.emittedReadable || (u("emitReadable", R.flowing), R.emittedReadable = !0, process.nextTick(De, j));
  }
  function De(j) {
    var R = j._readableState;
    u("emitReadable_", R.destroyed, R.length, R.ended), !R.destroyed && (R.length || R.ended) && (j.emit("readable"), R.emittedReadable = !1), R.needReadable = !R.flowing && !R.ended && R.length <= R.highWaterMark, $(j);
  }
  function F(j, R) {
    R.readingMore || (R.readingMore = !0, process.nextTick(he, j, R));
  }
  function he(j, R) {
    for (; !R.reading && !R.ended && (R.length < R.highWaterMark || R.flowing && R.length === 0); ) {
      var X = R.length;
      if (u("maybeReadMore read 0"), j.read(0), X === R.length)
        break;
    }
    R.readingMore = !1;
  }
  z.prototype._read = function(j) {
    I(this, new S("_read()"));
  }, z.prototype.pipe = function(j, R) {
    var X = this, fe = this._readableState;
    switch (fe.pipesCount) {
      case 0:
        fe.pipes = j;
        break;
      case 1:
        fe.pipes = [fe.pipes, j];
        break;
      default:
        fe.pipes.push(j);
        break;
    }
    fe.pipesCount += 1, u("pipe count=%d opts=%j", fe.pipesCount, R);
    var er = (!R || R.end !== !1) && j !== process.stdout && j !== process.stderr, ze = er ? zr : Zr;
    fe.endEmitted ? process.nextTick(ze) : X.once("end", ze), j.on("unpipe", Xe);
    function Xe(w, h) {
      u("onunpipe"), w === X && h && h.hasUnpiped === !1 && (h.hasUnpiped = !0, ar());
    }
    function zr() {
      u("onend"), j.end();
    }
    var yr = de(X);
    j.on("drain", yr);
    var wr = !1;
    function ar() {
      u("cleanup"), j.removeListener("close", Rr), j.removeListener("finish", Or), j.removeListener("drain", yr), j.removeListener("error", _r), j.removeListener("unpipe", Xe), X.removeListener("end", zr), X.removeListener("end", Zr), X.removeListener("data", ur), wr = !0, fe.awaitDrain && (!j._writableState || j._writableState.needDrain) && yr();
    }
    X.on("data", ur);
    function ur(w) {
      u("ondata");
      var h = j.write(w);
      u("dest.write", h), h === !1 && ((fe.pipesCount === 1 && fe.pipes === j || fe.pipesCount > 1 && me(fe.pipes, j) !== -1) && !wr && (u("false write response, pause", fe.awaitDrain), fe.awaitDrain++), X.pause());
    }
    function _r(w) {
      u("onerror", w), Zr(), j.removeListener("error", _r), r(j, "error") === 0 && I(j, w);
    }
    N(j, "error", _r);
    function Rr() {
      j.removeListener("finish", Or), Zr();
    }
    j.once("close", Rr);
    function Or() {
      u("onfinish"), j.removeListener("close", Rr), Zr();
    }
    j.once("finish", Or);
    function Zr() {
      u("unpipe"), X.unpipe(j);
    }
    return j.emit("pipe", X), fe.flowing || (u("pipe resume"), X.resume()), j;
  };
  function de(j) {
    return function() {
      var X = j._readableState;
      u("pipeOnDrain", X.awaitDrain), X.awaitDrain && X.awaitDrain--, X.awaitDrain === 0 && r(j, "data") && (X.flowing = !0, $(j));
    };
  }
  z.prototype.unpipe = function(j) {
    var R = this._readableState, X = {
      hasUnpiped: !1
    };
    if (R.pipesCount === 0) return this;
    if (R.pipesCount === 1)
      return j && j !== R.pipes ? this : (j || (j = R.pipes), R.pipes = null, R.pipesCount = 0, R.flowing = !1, j && j.emit("unpipe", this, X), this);
    if (!j) {
      var fe = R.pipes, er = R.pipesCount;
      R.pipes = null, R.pipesCount = 0, R.flowing = !1;
      for (var ze = 0; ze < er; ze++) fe[ze].emit("unpipe", this, {
        hasUnpiped: !1
      });
      return this;
    }
    var Xe = me(R.pipes, j);
    return Xe === -1 ? this : (R.pipes.splice(Xe, 1), R.pipesCount -= 1, R.pipesCount === 1 && (R.pipes = R.pipes[0]), j.emit("unpipe", this, X), this);
  }, z.prototype.on = function(j, R) {
    var X = t.prototype.on.call(this, j, R), fe = this._readableState;
    return j === "data" ? (fe.readableListening = this.listenerCount("readable") > 0, fe.flowing !== !1 && this.resume()) : j === "readable" && !fe.endEmitted && !fe.readableListening && (fe.readableListening = fe.needReadable = !0, fe.flowing = !1, fe.emittedReadable = !1, u("on readable", fe.length, fe.reading), fe.length ? xe(this) : fe.reading || process.nextTick(Ie, this)), X;
  }, z.prototype.addListener = z.prototype.on, z.prototype.removeListener = function(j, R) {
    var X = t.prototype.removeListener.call(this, j, R);
    return j === "readable" && process.nextTick(Ee, this), X;
  }, z.prototype.removeAllListeners = function(j) {
    var R = t.prototype.removeAllListeners.apply(this, arguments);
    return (j === "readable" || j === void 0) && process.nextTick(Ee, this), R;
  };
  function Ee(j) {
    var R = j._readableState;
    R.readableListening = j.listenerCount("readable") > 0, R.resumeScheduled && !R.paused ? R.flowing = !0 : j.listenerCount("data") > 0 && j.resume();
  }
  function Ie(j) {
    u("readable nexttick read 0"), j.read(0);
  }
  z.prototype.resume = function() {
    var j = this._readableState;
    return j.flowing || (u("resume"), j.flowing = !j.readableListening, Ye(this, j)), j.paused = !1, this;
  };
  function Ye(j, R) {
    R.resumeScheduled || (R.resumeScheduled = !0, process.nextTick(Re, j, R));
  }
  function Re(j, R) {
    u("resume", R.reading), R.reading || j.read(0), R.resumeScheduled = !1, j.emit("resume"), $(j), R.flowing && !R.reading && j.read(0);
  }
  z.prototype.pause = function() {
    return u("call pause flowing=%j", this._readableState.flowing), this._readableState.flowing !== !1 && (u("pause"), this._readableState.flowing = !1, this.emit("pause")), this._readableState.paused = !0, this;
  };
  function $(j) {
    var R = j._readableState;
    for (u("flow", R.flowing); R.flowing && j.read() !== null; ) ;
  }
  z.prototype.wrap = function(j) {
    var R = this, X = this._readableState, fe = !1;
    j.on("end", function() {
      if (u("wrapped end"), X.decoder && !X.ended) {
        var Xe = X.decoder.end();
        Xe && Xe.length && R.push(Xe);
      }
      R.push(null);
    }), j.on("data", function(Xe) {
      if (u("wrapped data"), X.decoder && (Xe = X.decoder.write(Xe)), !(X.objectMode && Xe == null) && !(!X.objectMode && (!Xe || !Xe.length))) {
        var zr = R.push(Xe);
        zr || (fe = !0, j.pause());
      }
    });
    for (var er in j)
      this[er] === void 0 && typeof j[er] == "function" && (this[er] = /* @__PURE__ */ function(zr) {
        return function() {
          return j[zr].apply(j, arguments);
        };
      }(er));
    for (var ze = 0; ze < O.length; ze++)
      j.on(O[ze], this.emit.bind(this, O[ze]));
    return this._read = function(Xe) {
      u("wrapped _read", Xe), fe && (fe = !1, j.resume());
    }, this;
  }, typeof Symbol == "function" && (z.prototype[Symbol.asyncIterator] = function() {
    return k === void 0 && (k = Gd()), k(this);
  }), Object.defineProperty(z.prototype, "readableHighWaterMark", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._readableState.highWaterMark;
    }
  }), Object.defineProperty(z.prototype, "readableBuffer", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._readableState && this._readableState.buffer;
    }
  }), Object.defineProperty(z.prototype, "readableFlowing", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._readableState.flowing;
    },
    set: function(R) {
      this._readableState && (this._readableState.flowing = R);
    }
  }), z._fromList = V, Object.defineProperty(z.prototype, "readableLength", {
    // making it explicit this property is not enumerable
    // because otherwise some prototype manipulation in
    // userland will fail
    enumerable: !1,
    get: function() {
      return this._readableState.length;
    }
  });
  function V(j, R) {
    if (R.length === 0) return null;
    var X;
    return R.objectMode ? X = R.buffer.shift() : !j || j >= R.length ? (R.decoder ? X = R.buffer.join("") : R.buffer.length === 1 ? X = R.buffer.first() : X = R.buffer.concat(R.length), R.buffer.clear()) : X = R.buffer.consume(j, R.decoder), X;
  }
  function ee(j) {
    var R = j._readableState;
    u("endReadable", R.endEmitted), R.endEmitted || (R.ended = !0, process.nextTick(pe, R, j));
  }
  function pe(j, R) {
    if (u("endReadableNT", j.endEmitted, j.length), !j.endEmitted && j.length === 0 && (j.endEmitted = !0, R.readable = !1, R.emit("end"), j.autoDestroy)) {
      var X = R._writableState;
      (!X || X.autoDestroy && X.finished) && R.destroy();
    }
  }
  typeof Symbol == "function" && (z.from = function(j, R) {
    return B === void 0 && (B = Kd()), B(z, j, R);
  });
  function me(j, R) {
    for (var X = 0, fe = j.length; X < fe; X++)
      if (j[X] === R) return X;
    return -1;
  }
  return Ri;
}
var qi, Ts;
function Wc() {
  if (Ts) return qi;
  Ts = 1, qi = o;
  var e = Xt().codes, r = e.ERR_METHOD_NOT_IMPLEMENTED, t = e.ERR_MULTIPLE_CALLBACK, a = e.ERR_TRANSFORM_ALREADY_TRANSFORMING, n = e.ERR_TRANSFORM_WITH_LENGTH_0, i = Wt();
  jr()(o, i);
  function s(f, p) {
    var d = this._transformState;
    d.transforming = !1;
    var y = d.writecb;
    if (y === null)
      return this.emit("error", new t());
    d.writechunk = null, d.writecb = null, p != null && this.push(p), y(f);
    var b = this._readableState;
    b.reading = !1, (b.needReadable || b.length < b.highWaterMark) && this._read(b.highWaterMark);
  }
  function o(f) {
    if (!(this instanceof o)) return new o(f);
    i.call(this, f), this._transformState = {
      afterTransform: s.bind(this),
      needTransform: !1,
      transforming: !1,
      writecb: null,
      writechunk: null,
      writeencoding: null
    }, this._readableState.needReadable = !0, this._readableState.sync = !1, f && (typeof f.transform == "function" && (this._transform = f.transform), typeof f.flush == "function" && (this._flush = f.flush)), this.on("prefinish", u);
  }
  function u() {
    var f = this;
    typeof this._flush == "function" && !this._readableState.destroyed ? this._flush(function(p, d) {
      l(f, p, d);
    }) : l(this, null, null);
  }
  o.prototype.push = function(f, p) {
    return this._transformState.needTransform = !1, i.prototype.push.call(this, f, p);
  }, o.prototype._transform = function(f, p, d) {
    d(new r("_transform()"));
  }, o.prototype._write = function(f, p, d) {
    var y = this._transformState;
    if (y.writecb = d, y.writechunk = f, y.writeencoding = p, !y.transforming) {
      var b = this._readableState;
      (y.needTransform || b.needReadable || b.length < b.highWaterMark) && this._read(b.highWaterMark);
    }
  }, o.prototype._read = function(f) {
    var p = this._transformState;
    p.writechunk !== null && !p.transforming ? (p.transforming = !0, this._transform(p.writechunk, p.writeencoding, p.afterTransform)) : p.needTransform = !0;
  }, o.prototype._destroy = function(f, p) {
    i.prototype._destroy.call(this, f, function(d) {
      p(d);
    });
  };
  function l(f, p, d) {
    if (p) return f.emit("error", p);
    if (d != null && f.push(d), f._writableState.length) throw new n();
    if (f._transformState.transforming) throw new a();
    return f.push(null);
  }
  return qi;
}
var Oi, js;
function Wd() {
  if (js) return Oi;
  js = 1, Oi = r;
  var e = Wc();
  jr()(r, e);
  function r(t) {
    if (!(this instanceof r)) return new r(t);
    e.call(this, t);
  }
  return r.prototype._transform = function(t, a, n) {
    n(null, t);
  }, Oi;
}
var Ui, Rs;
function Yd() {
  if (Rs) return Ui;
  Rs = 1;
  var e;
  function r(d) {
    var y = !1;
    return function() {
      y || (y = !0, d.apply(void 0, arguments));
    };
  }
  var t = Xt().codes, a = t.ERR_MISSING_ARGS, n = t.ERR_STREAM_DESTROYED;
  function i(d) {
    if (d) throw d;
  }
  function s(d) {
    return d.setHeader && typeof d.abort == "function";
  }
  function o(d, y, b, v) {
    v = r(v);
    var S = !1;
    d.on("close", function() {
      S = !0;
    }), e === void 0 && (e = vo()), e(d, {
      readable: y,
      writable: b
    }, function(T) {
      if (T) return v(T);
      S = !0, v();
    });
    var x = !1;
    return function(T) {
      if (!S && !x) {
        if (x = !0, s(d)) return d.abort();
        if (typeof d.destroy == "function") return d.destroy();
        v(T || new n("pipe"));
      }
    };
  }
  function u(d) {
    d();
  }
  function l(d, y) {
    return d.pipe(y);
  }
  function f(d) {
    return !d.length || typeof d[d.length - 1] != "function" ? i : d.pop();
  }
  function p() {
    for (var d = arguments.length, y = new Array(d), b = 0; b < d; b++)
      y[b] = arguments[b];
    var v = f(y);
    if (Array.isArray(y[0]) && (y = y[0]), y.length < 2)
      throw new a("streams");
    var S, x = y.map(function(T, k) {
      var B = k < y.length - 1, I = k > 0;
      return o(T, B, I, function(O) {
        S || (S = O), O && x.forEach(u), !B && (x.forEach(u), v(S));
      });
    });
    return y.reduce(l);
  }
  return Ui = p, Ui;
}
var qs;
function Yc() {
  return qs || (qs = 1, function(e, r) {
    r = e.exports = Kc(), r.Stream = r, r.Readable = r, r.Writable = Gc(), r.Duplex = Wt(), r.Transform = Wc(), r.PassThrough = Wd(), r.finished = vo(), r.pipeline = Yd();
  }(Aa, Aa.exports)), Aa.exports;
}
var Di, Os;
function Zd() {
  if (Os) return Di;
  Os = 1;
  var e = Vr().Buffer, r = Yc().Transform, t = jr();
  function a(i, s) {
    if (!e.isBuffer(i) && typeof i != "string")
      throw new TypeError(s + " must be a string or a buffer");
  }
  function n(i) {
    r.call(this), this._block = e.allocUnsafe(i), this._blockSize = i, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1;
  }
  return t(n, r), n.prototype._transform = function(i, s, o) {
    var u = null;
    try {
      this.update(i, s);
    } catch (l) {
      u = l;
    }
    o(u);
  }, n.prototype._flush = function(i) {
    var s = null;
    try {
      this.push(this.digest());
    } catch (o) {
      s = o;
    }
    i(s);
  }, n.prototype.update = function(i, s) {
    if (a(i, "Data"), this._finalized) throw new Error("Digest already called");
    e.isBuffer(i) || (i = e.from(i, s));
    for (var o = this._block, u = 0; this._blockOffset + i.length - u >= this._blockSize; ) {
      for (var l = this._blockOffset; l < this._blockSize; ) o[l++] = i[u++];
      this._update(), this._blockOffset = 0;
    }
    for (; u < i.length; ) o[this._blockOffset++] = i[u++];
    for (var f = 0, p = i.length * 8; p > 0; ++f)
      this._length[f] += p, p = this._length[f] / 4294967296 | 0, p > 0 && (this._length[f] -= 4294967296 * p);
    return this;
  }, n.prototype._update = function() {
    throw new Error("_update is not implemented");
  }, n.prototype.digest = function(i) {
    if (this._finalized) throw new Error("Digest already called");
    this._finalized = !0;
    var s = this._digest();
    i !== void 0 && (s = s.toString(i)), this._block.fill(0), this._blockOffset = 0;
    for (var o = 0; o < 4; ++o) this._length[o] = 0;
    return s;
  }, n.prototype._digest = function() {
    throw new Error("_digest is not implemented");
  }, Di = n, Di;
}
var Li, Us;
function Xd() {
  if (Us) return Li;
  Us = 1;
  var e = jr(), r = Zd(), t = Vr().Buffer, a = new Array(16);
  function n() {
    r.call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878;
  }
  e(n, r), n.prototype._update = function() {
    for (var f = a, p = 0; p < 16; ++p) f[p] = this._block.readInt32LE(p * 4);
    var d = this._a, y = this._b, b = this._c, v = this._d;
    d = s(d, y, b, v, f[0], 3614090360, 7), v = s(v, d, y, b, f[1], 3905402710, 12), b = s(b, v, d, y, f[2], 606105819, 17), y = s(y, b, v, d, f[3], 3250441966, 22), d = s(d, y, b, v, f[4], 4118548399, 7), v = s(v, d, y, b, f[5], 1200080426, 12), b = s(b, v, d, y, f[6], 2821735955, 17), y = s(y, b, v, d, f[7], 4249261313, 22), d = s(d, y, b, v, f[8], 1770035416, 7), v = s(v, d, y, b, f[9], 2336552879, 12), b = s(b, v, d, y, f[10], 4294925233, 17), y = s(y, b, v, d, f[11], 2304563134, 22), d = s(d, y, b, v, f[12], 1804603682, 7), v = s(v, d, y, b, f[13], 4254626195, 12), b = s(b, v, d, y, f[14], 2792965006, 17), y = s(y, b, v, d, f[15], 1236535329, 22), d = o(d, y, b, v, f[1], 4129170786, 5), v = o(v, d, y, b, f[6], 3225465664, 9), b = o(b, v, d, y, f[11], 643717713, 14), y = o(y, b, v, d, f[0], 3921069994, 20), d = o(d, y, b, v, f[5], 3593408605, 5), v = o(v, d, y, b, f[10], 38016083, 9), b = o(b, v, d, y, f[15], 3634488961, 14), y = o(y, b, v, d, f[4], 3889429448, 20), d = o(d, y, b, v, f[9], 568446438, 5), v = o(v, d, y, b, f[14], 3275163606, 9), b = o(b, v, d, y, f[3], 4107603335, 14), y = o(y, b, v, d, f[8], 1163531501, 20), d = o(d, y, b, v, f[13], 2850285829, 5), v = o(v, d, y, b, f[2], 4243563512, 9), b = o(b, v, d, y, f[7], 1735328473, 14), y = o(y, b, v, d, f[12], 2368359562, 20), d = u(d, y, b, v, f[5], 4294588738, 4), v = u(v, d, y, b, f[8], 2272392833, 11), b = u(b, v, d, y, f[11], 1839030562, 16), y = u(y, b, v, d, f[14], 4259657740, 23), d = u(d, y, b, v, f[1], 2763975236, 4), v = u(v, d, y, b, f[4], 1272893353, 11), b = u(b, v, d, y, f[7], 4139469664, 16), y = u(y, b, v, d, f[10], 3200236656, 23), d = u(d, y, b, v, f[13], 681279174, 4), v = u(v, d, y, b, f[0], 3936430074, 11), b = u(b, v, d, y, f[3], 3572445317, 16), y = u(y, b, v, d, f[6], 76029189, 23), d = u(d, y, b, v, f[9], 3654602809, 4), v = u(v, d, y, b, f[12], 3873151461, 11), b = u(b, v, d, y, f[15], 530742520, 16), y = u(y, b, v, d, f[2], 3299628645, 23), d = l(d, y, b, v, f[0], 4096336452, 6), v = l(v, d, y, b, f[7], 1126891415, 10), b = l(b, v, d, y, f[14], 2878612391, 15), y = l(y, b, v, d, f[5], 4237533241, 21), d = l(d, y, b, v, f[12], 1700485571, 6), v = l(v, d, y, b, f[3], 2399980690, 10), b = l(b, v, d, y, f[10], 4293915773, 15), y = l(y, b, v, d, f[1], 2240044497, 21), d = l(d, y, b, v, f[8], 1873313359, 6), v = l(v, d, y, b, f[15], 4264355552, 10), b = l(b, v, d, y, f[6], 2734768916, 15), y = l(y, b, v, d, f[13], 1309151649, 21), d = l(d, y, b, v, f[4], 4149444226, 6), v = l(v, d, y, b, f[11], 3174756917, 10), b = l(b, v, d, y, f[2], 718787259, 15), y = l(y, b, v, d, f[9], 3951481745, 21), this._a = this._a + d | 0, this._b = this._b + y | 0, this._c = this._c + b | 0, this._d = this._d + v | 0;
  }, n.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 = t.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 i(f, p) {
    return f << p | f >>> 32 - p;
  }
  function s(f, p, d, y, b, v, S) {
    return i(f + (p & d | ~p & y) + b + v | 0, S) + p | 0;
  }
  function o(f, p, d, y, b, v, S) {
    return i(f + (p & y | d & ~y) + b + v | 0, S) + p | 0;
  }
  function u(f, p, d, y, b, v, S) {
    return i(f + (p ^ d ^ y) + b + v | 0, S) + p | 0;
  }
  function l(f, p, d, y, b, v, S) {
    return i(f + (d ^ (p | ~y)) + b + v | 0, S) + p | 0;
  }
  return Li = n, Li;
}
var Ni, Ds;
function Jd() {
  if (Ds) return Ni;
  Ds = 1;
  var e = Xd();
  return Ni = function(r) {
    return new e().update(r).digest();
  }, Ni;
}
var Ci, Ls;
function Qd() {
  if (Ls) return Ci;
  Ls = 1;
  var e = Vr().Buffer, r = Yc().Transform, t = jr();
  function a(i, s) {
    if (!e.isBuffer(i) && typeof i != "string")
      throw new TypeError(s + " must be a string or a buffer");
  }
  function n(i) {
    r.call(this), this._block = e.allocUnsafe(i), this._blockSize = i, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1;
  }
  return t(n, r), n.prototype._transform = function(i, s, o) {
    var u = null;
    try {
      this.update(i, s);
    } catch (l) {
      u = l;
    }
    o(u);
  }, n.prototype._flush = function(i) {
    var s = null;
    try {
      this.push(this.digest());
    } catch (o) {
      s = o;
    }
    i(s);
  }, n.prototype.update = function(i, s) {
    if (a(i, "Data"), this._finalized) throw new Error("Digest already called");
    e.isBuffer(i) || (i = e.from(i, s));
    for (var o = this._block, u = 0; this._blockOffset + i.length - u >= this._blockSize; ) {
      for (var l = this._blockOffset; l < this._blockSize; ) o[l++] = i[u++];
      this._update(), this._blockOffset = 0;
    }
    for (; u < i.length; ) o[this._blockOffset++] = i[u++];
    for (var f = 0, p = i.length * 8; p > 0; ++f)
      this._length[f] += p, p = this._length[f] / 4294967296 | 0, p > 0 && (this._length[f] -= 4294967296 * p);
    return this;
  }, n.prototype._update = function() {
    throw new Error("_update is not implemented");
  }, n.prototype.digest = function(i) {
    if (this._finalized) throw new Error("Digest already called");
    this._finalized = !0;
    var s = this._digest();
    i !== void 0 && (s = s.toString(i)), this._block.fill(0), this._blockOffset = 0;
    for (var o = 0; o < 4; ++o) this._length[o] = 0;
    return s;
  }, n.prototype._digest = function() {
    throw new Error("_digest is not implemented");
  }, Ci = n, Ci;
}
var Pi, Ns;
function eh() {
  if (Ns) return Pi;
  Ns = 1;
  var e = ma().Buffer, r = jr(), t = Qd(), a = new Array(16), n = [
    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
  ], i = [
    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
  ], s = [
    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
  ], o = [
    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
  ], u = [0, 1518500249, 1859775393, 2400959708, 2840853838], l = [1352829926, 1548603684, 1836072691, 2053994217, 0];
  function f() {
    t.call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520;
  }
  r(f, t), f.prototype._update = function() {
    for (var x = a, T = 0; T < 16; ++T) x[T] = this._block.readInt32LE(T * 4);
    for (var k = this._a | 0, B = this._b | 0, I = this._c | 0, O = this._d | 0, N = this._e | 0, M = this._a | 0, z = this._b | 0, D = this._c | 0, P = this._d | 0, J = this._e | 0, K = 0; K < 80; K += 1) {
      var ie, ce;
      K < 16 ? (ie = d(k, B, I, O, N, x[n[K]], u[0], s[K]), ce = S(M, z, D, P, J, x[i[K]], l[0], o[K])) : K < 32 ? (ie = y(k, B, I, O, N, x[n[K]], u[1], s[K]), ce = v(M, z, D, P, J, x[i[K]], l[1], o[K])) : K < 48 ? (ie = b(k, B, I, O, N, x[n[K]], u[2], s[K]), ce = b(M, z, D, P, J, x[i[K]], l[2], o[K])) : K < 64 ? (ie = v(k, B, I, O, N, x[n[K]], u[3], s[K]), ce = y(M, z, D, P, J, x[i[K]], l[3], o[K])) : (ie = S(k, B, I, O, N, x[n[K]], u[4], s[K]), ce = d(M, z, D, P, J, x[i[K]], l[4], o[K])), k = N, N = O, O = p(I, 10), I = B, B = ie, M = J, J = P, P = p(D, 10), D = z, z = ce;
    }
    var ue = this._b + I + P | 0;
    this._b = this._c + O + J | 0, this._c = this._d + N + M | 0, this._d = this._e + k + z | 0, this._e = this._a + B + D | 0, this._a = ue;
  }, 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 x = e.alloc ? e.alloc(20) : new e(20);
    return x.writeInt32LE(this._a, 0), x.writeInt32LE(this._b, 4), x.writeInt32LE(this._c, 8), x.writeInt32LE(this._d, 12), x.writeInt32LE(this._e, 16), x;
  };
  function p(x, T) {
    return x << T | x >>> 32 - T;
  }
  function d(x, T, k, B, I, O, N, M) {
    return p(x + (T ^ k ^ B) + O + N | 0, M) + I | 0;
  }
  function y(x, T, k, B, I, O, N, M) {
    return p(x + (T & k | ~T & B) + O + N | 0, M) + I | 0;
  }
  function b(x, T, k, B, I, O, N, M) {
    return p(x + ((T | ~k) ^ B) + O + N | 0, M) + I | 0;
  }
  function v(x, T, k, B, I, O, N, M) {
    return p(x + (T & B | k & ~B) + O + N | 0, M) + I | 0;
  }
  function S(x, T, k, B, I, O, N, M) {
    return p(x + (T ^ (k | ~B)) + O + N | 0, M) + I | 0;
  }
  return Pi = f, Pi;
}
var Mi = { exports: {} }, Hi, Cs;
function rh() {
  if (Cs) return Hi;
  Cs = 1;
  var e = {}.toString;
  return Hi = Array.isArray || function(r) {
    return e.call(r) == "[object Array]";
  }, Hi;
}
var Fi, Ps;
function ga() {
  return Ps || (Ps = 1, Fi = TypeError), Fi;
}
var $i, Ms;
function Zc() {
  return Ms || (Ms = 1, $i = Object), $i;
}
var Vi, Hs;
function th() {
  return Hs || (Hs = 1, Vi = Error), Vi;
}
var Gi, Fs;
function ah() {
  return Fs || (Fs = 1, Gi = EvalError), Gi;
}
var Ki, $s;
function ih() {
  return $s || ($s = 1, Ki = RangeError), Ki;
}
var Wi, Vs;
function nh() {
  return Vs || (Vs = 1, Wi = ReferenceError), Wi;
}
var Yi, Gs;
function Xc() {
  return Gs || (Gs = 1, Yi = SyntaxError), Yi;
}
var Zi, Ks;
function oh() {
  return Ks || (Ks = 1, Zi = URIError), Zi;
}
var Xi, Ws;
function sh() {
  return Ws || (Ws = 1, Xi = Math.abs), Xi;
}
var Ji, Ys;
function uh() {
  return Ys || (Ys = 1, Ji = Math.floor), Ji;
}
var Qi, Zs;
function ch() {
  return Zs || (Zs = 1, Qi = Math.max), Qi;
}
var en, Xs;
function lh() {
  return Xs || (Xs = 1, en = Math.min), en;
}
var rn, Js;
function fh() {
  return Js || (Js = 1, rn = Math.pow), rn;
}
var tn, Qs;
function dh() {
  return Qs || (Qs = 1, tn = Math.round), tn;
}
var an, eu;
function hh() {
  return eu || (eu = 1, an = Number.isNaN || function(r) {
    return r !== r;
  }), an;
}
var nn, ru;
function ph() {
  if (ru) return nn;
  ru = 1;
  var e = /* @__PURE__ */ hh();
  return nn = function(t) {
    return e(t) || t === 0 ? t : t < 0 ? -1 : 1;
  }, nn;
}
var on, tu;
function mh() {
  return tu || (tu = 1, on = Object.getOwnPropertyDescriptor), on;
}
var sn, au;
function ba() {
  if (au) return sn;
  au = 1;
  var e = /* @__PURE__ */ mh();
  if (e)
    try {
      e([], "length");
    } catch {
      e = null;
    }
  return sn = e, sn;
}
var un, iu;
function Ja() {
  if (iu) return un;
  iu = 1;
  var e = Object.defineProperty || !1;
  if (e)
    try {
      e({}, "a", { value: 1 });
    } catch {
      e = !1;
    }
  return un = e, un;
}
var cn, nu;
function Jc() {
  return nu || (nu = 1, cn = function() {
    if (typeof Symbol != "function" || typeof Object.getOwnPropertySymbols != "function")
      return !1;
    if (typeof Symbol.iterator == "symbol")
      return !0;
    var r = {}, t = Symbol("test"), a = Object(t);
    if (typeof t == "string" || Object.prototype.toString.call(t) !== "[object Symbol]" || Object.prototype.toString.call(a) !== "[object Symbol]")
      return !1;
    var n = 42;
    r[t] = n;
    for (var i in r)
      return !1;
    if (typeof Object.keys == "function" && Object.keys(r).length !== 0 || typeof Object.getOwnPropertyNames == "function" && Object.getOwnPropertyNames(r).length !== 0)
      return !1;
    var s = Object.getOwnPropertySymbols(r);
    if (s.length !== 1 || s[0] !== t || !Object.prototype.propertyIsEnumerable.call(r, t))
      return !1;
    if (typeof Object.getOwnPropertyDescriptor == "function") {
      var o = (
        /** @type {PropertyDescriptor} */
        Object.getOwnPropertyDescriptor(r, t)
      );
      if (o.value !== n || o.enumerable !== !0)
        return !1;
    }
    return !0;
  }), cn;
}
var ln, ou;
function gh() {
  if (ou) return ln;
  ou = 1;
  var e = typeof Symbol < "u" && Symbol, r = Jc();
  return ln = function() {
    return typeof e != "function" || typeof Symbol != "function" || typeof e("foo") != "symbol" || typeof Symbol("bar") != "symbol" ? !1 : r();
  }, ln;
}
var fn, su;
function Qc() {
  return su || (su = 1, fn = typeof Reflect < "u" && Reflect.getPrototypeOf || null), fn;
}
var dn, uu;
function el() {
  if (uu) return dn;
  uu = 1;
  var e = /* @__PURE__ */ Zc();
  return dn = e.getPrototypeOf || null, dn;
}
var hn, cu;
function bh() {
  if (cu) return hn;
  cu = 1;
  var e = "Function.prototype.bind called on incompatible ", r = Object.prototype.toString, t = Math.max, a = "[object Function]", n = function(u, l) {
    for (var f = [], p = 0; p < u.length; p += 1)
      f[p] = u[p];
    for (var d = 0; d < l.length; d += 1)
      f[d + u.length] = l[d];
    return f;
  }, i = function(u, l) {
    for (var f = [], p = l, d = 0; p < u.length; p += 1, d += 1)
      f[d] = u[p];
    return f;
  }, s = function(o, u) {
    for (var l = "", f = 0; f < o.length; f += 1)
      l += o[f], f + 1 < o.length && (l += u);
    return l;
  };
  return hn = function(u) {
    var l = this;
    if (typeof l != "function" || r.apply(l) !== a)
      throw new TypeError(e + l);
    for (var f = i(arguments, 1), p, d = function() {
      if (this instanceof p) {
        var x = l.apply(
          this,
          n(f, arguments)
        );
        return Object(x) === x ? x : this;
      }
      return l.apply(
        u,
        n(f, arguments)
      );
    }, y = t(0, l.length - f.length), b = [], v = 0; v < y; v++)
      b[v] = "$" + v;
    if (p = Function("binder", "return function (" + s(b, ",") + "){ return binder.apply(this,arguments); }")(d), l.prototype) {
      var S = function() {
      };
      S.prototype = l.prototype, p.prototype = new S(), S.prototype = null;
    }
    return p;
  }, hn;
}
var pn, lu;
function va() {
  if (lu) return pn;
  lu = 1;
  var e = bh();
  return pn = Function.prototype.bind || e, pn;
}
var mn, fu;
function yo() {
  return fu || (fu = 1, mn = Function.prototype.call), mn;
}
var gn, du;
function xo() {
  return du || (du = 1, gn = Function.prototype.apply), gn;
}
var bn, hu;
function vh() {
  return hu || (hu = 1, bn = typeof Reflect < "u" && Reflect && Reflect.apply), bn;
}
var vn, pu;
function rl() {
  if (pu) return vn;
  pu = 1;
  var e = va(), r = xo(), t = yo(), a = vh();
  return vn = a || e.call(t, r), vn;
}
var yn, mu;
function wo() {
  if (mu) return yn;
  mu = 1;
  var e = va(), r = /* @__PURE__ */ ga(), t = yo(), a = rl();
  return yn = function(i) {
    if (i.length < 1 || typeof i[0] != "function")
      throw new r("a function is required");
    return a(e, t, i);
  }, yn;
}
var xn, gu;
function yh() {
  if (gu) return xn;
  gu = 1;
  var e = wo(), r = /* @__PURE__ */ ba(), t;
  try {
    t = /** @type {{ __proto__?: typeof Array.prototype }} */
    [].__proto__ === Array.prototype;
  } catch (s) {
    if (!s || typeof s != "object" || !("code" in s) || s.code !== "ERR_PROTO_ACCESS")
      throw s;
  }
  var a = !!t && r && r(
    Object.prototype,
    /** @type {keyof typeof Object.prototype} */
    "__proto__"
  ), n = Object, i = n.getPrototypeOf;
  return xn = a && typeof a.get == "function" ? e([a.get]) : typeof i == "function" ? (
    /** @type {import('./get')} */
    function(o) {
      return i(o == null ? o : n(o));
    }
  ) : !1, xn;
}
var wn, bu;
function tl() {
  if (bu) return wn;
  bu = 1;
  var e = Qc(), r = el(), t = /* @__PURE__ */ yh();
  return wn = e ? function(n) {
    return e(n);
  } : r ? function(n) {
    if (!n || typeof n != "object" && typeof n != "function")
      throw new TypeError("getProto: not an object");
    return r(n);
  } : t ? function(n) {
    return t(n);
  } : null, wn;
}
var _n, vu;
function xh() {
  if (vu) return _n;
  vu = 1;
  var e = Function.prototype.call, r = Object.prototype.hasOwnProperty, t = va();
  return _n = t.call(e, r), _n;
}
var En, yu;
function al() {
  if (yu) return En;
  yu = 1;
  var e, r = /* @__PURE__ */ Zc(), t = /* @__PURE__ */ th(), a = /* @__PURE__ */ ah(), n = /* @__PURE__ */ ih(), i = /* @__PURE__ */ nh(), s = /* @__PURE__ */ Xc(), o = /* @__PURE__ */ ga(), u = /* @__PURE__ */ oh(), l = /* @__PURE__ */ sh(), f = /* @__PURE__ */ uh(), p = /* @__PURE__ */ ch(), d = /* @__PURE__ */ lh(), y = /* @__PURE__ */ fh(), b = /* @__PURE__ */ dh(), v = /* @__PURE__ */ ph(), S = Function, x = function(pe) {
    try {
      return S('"use strict"; return (' + pe + ").constructor;")();
    } catch {
    }
  }, T = /* @__PURE__ */ ba(), k = /* @__PURE__ */ Ja(), B = function() {
    throw new o();
  }, I = T ? function() {
    try {
      return arguments.callee, B;
    } catch {
      try {
        return T(arguments, "callee").get;
      } catch {
        return B;
      }
    }
  }() : B, O = gh()(), N = tl(), M = el(), z = Qc(), D = xo(), P = yo(), J = {}, K = typeof Uint8Array > "u" || !N ? e : N(Uint8Array), ie = {
    __proto__: null,
    "%AggregateError%": typeof AggregateError > "u" ? e : AggregateError,
    "%Array%": Array,
    "%ArrayBuffer%": typeof ArrayBuffer > "u" ? e : ArrayBuffer,
    "%ArrayIteratorPrototype%": O && N ? N([][Symbol.iterator]()) : e,
    "%AsyncFromSyncIteratorPrototype%": e,
    "%AsyncFunction%": J,
    "%AsyncGenerator%": J,
    "%AsyncGeneratorFunction%": J,
    "%AsyncIteratorPrototype%": J,
    "%Atomics%": typeof Atomics > "u" ? e : Atomics,
    "%BigInt%": typeof BigInt > "u" ? e : BigInt,
    "%BigInt64Array%": typeof BigInt64Array > "u" ? e : BigInt64Array,
    "%BigUint64Array%": typeof BigUint64Array > "u" ? e : BigUint64Array,
    "%Boolean%": Boolean,
    "%DataView%": typeof DataView > "u" ? e : DataView,
    "%Date%": Date,
    "%decodeURI%": decodeURI,
    "%decodeURIComponent%": decodeURIComponent,
    "%encodeURI%": encodeURI,
    "%encodeURIComponent%": encodeURIComponent,
    "%Error%": t,
    "%eval%": eval,
    // eslint-disable-line no-eval
    "%EvalError%": a,
    "%Float16Array%": typeof Float16Array > "u" ? e : Float16Array,
    "%Float32Array%": typeof Float32Array > "u" ? e : Float32Array,
    "%Float64Array%": typeof Float64Array > "u" ? e : Float64Array,
    "%FinalizationRegistry%": typeof FinalizationRegistry > "u" ? e : FinalizationRegistry,
    "%Function%": S,
    "%GeneratorFunction%": J,
    "%Int8Array%": typeof Int8Array > "u" ? e : Int8Array,
    "%Int16Array%": typeof Int16Array > "u" ? e : Int16Array,
    "%Int32Array%": typeof Int32Array > "u" ? e : Int32Array,
    "%isFinite%": isFinite,
    "%isNaN%": isNaN,
    "%IteratorPrototype%": O && N ? N(N([][Symbol.iterator]())) : e,
    "%JSON%": typeof JSON == "object" ? JSON : e,
    "%Map%": typeof Map > "u" ? e : Map,
    "%MapIteratorPrototype%": typeof Map > "u" || !O || !N ? e : N((/* @__PURE__ */ new Map())[Symbol.iterator]()),
    "%Math%": Math,
    "%Number%": Number,
    "%Object%": r,
    "%Object.getOwnPropertyDescriptor%": T,
    "%parseFloat%": parseFloat,
    "%parseInt%": parseInt,
    "%Promise%": typeof Promise > "u" ? e : Promise,
    "%Proxy%": typeof Proxy > "u" ? e : Proxy,
    "%RangeError%": n,
    "%ReferenceError%": i,
    "%Reflect%": typeof Reflect > "u" ? e : Reflect,
    "%RegExp%": RegExp,
    "%Set%": typeof Set > "u" ? e : Set,
    "%SetIteratorPrototype%": typeof Set > "u" || !O || !N ? e : N((/* @__PURE__ */ new Set())[Symbol.iterator]()),
    "%SharedArrayBuffer%": typeof SharedArrayBuffer > "u" ? e : SharedArrayBuffer,
    "%String%": String,
    "%StringIteratorPrototype%": O && N ? N(""[Symbol.iterator]()) : e,
    "%Symbol%": O ? Symbol : e,
    "%SyntaxError%": s,
    "%ThrowTypeError%": I,
    "%TypedArray%": K,
    "%TypeError%": o,
    "%Uint8Array%": typeof Uint8Array > "u" ? e : Uint8Array,
    "%Uint8ClampedArray%": typeof Uint8ClampedArray > "u" ? e : Uint8ClampedArray,
    "%Uint16Array%": typeof Uint16Array > "u" ? e : Uint16Array,
    "%Uint32Array%": typeof Uint32Array > "u" ? e : Uint32Array,
    "%URIError%": u,
    "%WeakMap%": typeof WeakMap > "u" ? e : WeakMap,
    "%WeakRef%": typeof WeakRef > "u" ? e : WeakRef,
    "%WeakSet%": typeof WeakSet > "u" ? e : WeakSet,
    "%Function.prototype.call%": P,
    "%Function.prototype.apply%": D,
    "%Object.defineProperty%": k,
    "%Object.getPrototypeOf%": M,
    "%Math.abs%": l,
    "%Math.floor%": f,
    "%Math.max%": p,
    "%Math.min%": d,
    "%Math.pow%": y,
    "%Math.round%": b,
    "%Math.sign%": v,
    "%Reflect.getPrototypeOf%": z
  };
  if (N)
    try {
      null.error;
    } catch (pe) {
      var ce = N(N(pe));
      ie["%Error.prototype%"] = ce;
    }
  var ue = function pe(me) {
    var j;
    if (me === "%AsyncFunction%")
      j = x("async function () {}");
    else if (me === "%GeneratorFunction%")
      j = x("function* () {}");
    else if (me === "%AsyncGeneratorFunction%")
      j = x("async function* () {}");
    else if (me === "%AsyncGenerator%") {
      var R = pe("%AsyncGeneratorFunction%");
      R && (j = R.prototype);
    } else if (me === "%AsyncIteratorPrototype%") {
      var X = pe("%AsyncGenerator%");
      X && N && (j = N(X.prototype));
    }
    return ie[me] = j, j;
  }, xe = {
    __proto__: null,
    "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
    "%ArrayPrototype%": ["Array", "prototype"],
    "%ArrayProto_entries%": ["Array", "prototype", "entries"],
    "%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
    "%ArrayProto_keys%": ["Array", "prototype", "keys"],
    "%ArrayProto_values%": ["Array", "prototype", "values"],
    "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
    "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
    "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
    "%BooleanPrototype%": ["Boolean", "prototype"],
    "%DataViewPrototype%": ["DataView", "prototype"],
    "%DatePrototype%": ["Date", "prototype"],
    "%ErrorPrototype%": ["Error", "prototype"],
    "%EvalErrorPrototype%": ["EvalError", "prototype"],
    "%Float32ArrayPrototype%": ["Float32Array", "prototype"],
    "%Float64ArrayPrototype%": ["Float64Array", "prototype"],
    "%FunctionPrototype%": ["Function", "prototype"],
    "%Generator%": ["GeneratorFunction", "prototype"],
    "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
    "%Int8ArrayPrototype%": ["Int8Array", "prototype"],
    "%Int16ArrayPrototype%": ["Int16Array", "prototype"],
    "%Int32ArrayPrototype%": ["Int32Array", "prototype"],
    "%JSONParse%": ["JSON", "parse"],
    "%JSONStringify%": ["JSON", "stringify"],
    "%MapPrototype%": ["Map", "prototype"],
    "%NumberPrototype%": ["Number", "prototype"],
    "%ObjectPrototype%": ["Object", "prototype"],
    "%ObjProto_toString%": ["Object", "prototype", "toString"],
    "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
    "%PromisePrototype%": ["Promise", "prototype"],
    "%PromiseProto_then%": ["Promise", "prototype", "then"],
    "%Promise_all%": ["Promise", "all"],
    "%Promise_reject%": ["Promise", "reject"],
    "%Promise_resolve%": ["Promise", "resolve"],
    "%RangeErrorPrototype%": ["RangeError", "prototype"],
    "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
    "%RegExpPrototype%": ["RegExp", "prototype"],
    "%SetPrototype%": ["Set", "prototype"],
    "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
    "%StringPrototype%": ["String", "prototype"],
    "%SymbolPrototype%": ["Symbol", "prototype"],
    "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
    "%TypedArrayPrototype%": ["TypedArray", "prototype"],
    "%TypeErrorPrototype%": ["TypeError", "prototype"],
    "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
    "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
    "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
    "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
    "%URIErrorPrototype%": ["URIError", "prototype"],
    "%WeakMapPrototype%": ["WeakMap", "prototype"],
    "%WeakSetPrototype%": ["WeakSet", "prototype"]
  }, De = va(), F = /* @__PURE__ */ xh(), he = De.call(P, Array.prototype.concat), de = De.call(D, Array.prototype.splice), Ee = De.call(P, String.prototype.replace), Ie = De.call(P, String.prototype.slice), Ye = De.call(P, RegExp.prototype.exec), Re = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, $ = /\\(\\)?/g, V = function(me) {
    var j = Ie(me, 0, 1), R = Ie(me, -1);
    if (j === "%" && R !== "%")
      throw new s("invalid intrinsic syntax, expected closing `%`");
    if (R === "%" && j !== "%")
      throw new s("invalid intrinsic syntax, expected opening `%`");
    var X = [];
    return Ee(me, Re, function(fe, er, ze, Xe) {
      X[X.length] = ze ? Ee(Xe, $, "$1") : er || fe;
    }), X;
  }, ee = function(me, j) {
    var R = me, X;
    if (F(xe, R) && (X = xe[R], R = "%" + X[0] + "%"), F(ie, R)) {
      var fe = ie[R];
      if (fe === J && (fe = ue(R)), typeof fe > "u" && !j)
        throw new o("intrinsic " + me + " exists, but is not available. Please file an issue!");
      return {
        alias: X,
        name: R,
        value: fe
      };
    }
    throw new s("intrinsic " + me + " does not exist!");
  };
  return En = function(me, j) {
    if (typeof me != "string" || me.length === 0)
      throw new o("intrinsic name must be a non-empty string");
    if (arguments.length > 1 && typeof j != "boolean")
      throw new o('"allowMissing" argument must be a boolean');
    if (Ye(/^%?[^%]*%?$/, me) === null)
      throw new s("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
    var R = V(me), X = R.length > 0 ? R[0] : "", fe = ee("%" + X + "%", j), er = fe.name, ze = fe.value, Xe = !1, zr = fe.alias;
    zr && (X = zr[0], de(R, he([0, 1], zr)));
    for (var yr = 1, wr = !0; yr < R.length; yr += 1) {
      var ar = R[yr], ur = Ie(ar, 0, 1), _r = Ie(ar, -1);
      if ((ur === '"' || ur === "'" || ur === "`" || _r === '"' || _r === "'" || _r === "`") && ur !== _r)
        throw new s("property names with quotes must have matching quotes");
      if ((ar === "constructor" || !wr) && (Xe = !0), X += "." + ar, er = "%" + X + "%", F(ie, er))
        ze = ie[er];
      else if (ze != null) {
        if (!(ar in ze)) {
          if (!j)
            throw new o("base intrinsic for " + me + " exists, but the property is not available.");
          return;
        }
        if (T && yr + 1 >= R.length) {
          var Rr = T(ze, ar);
          wr = !!Rr, wr && "get" in Rr && !("originalValue" in Rr.get) ? ze = Rr.get : ze = ze[ar];
        } else
          wr = F(ze, ar), ze = ze[ar];
        wr && !Xe && (ie[er] = ze);
      }
    }
    return ze;
  }, En;
}
var kn, xu;
function il() {
  if (xu) return kn;
  xu = 1;
  var e = /* @__PURE__ */ al(), r = wo(), t = r([e("%String.prototype.indexOf%")]);
  return kn = function(n, i) {
    var s = (
      /** @type {(this: unknown, ...args: unknown[]) => unknown} */
      e(n, !!i)
    );
    return typeof s == "function" && t(n, ".prototype.") > -1 ? r(
      /** @type {const} */
      [s]
    ) : s;
  }, kn;
}
var Sn, wu;
function wh() {
  if (wu) return Sn;
  wu = 1;
  var e = Function.prototype.toString, r = typeof Reflect == "object" && Reflect !== null && Reflect.apply, t, a;
  if (typeof r == "function" && typeof Object.defineProperty == "function")
    try {
      t = Object.defineProperty({}, "length", {
        get: function() {
          throw a;
        }
      }), a = {}, r(function() {
        throw 42;
      }, null, t);
    } catch (T) {
      T !== a && (r = null);
    }
  else
    r = null;
  var n = /^\s*class\b/, i = function(k) {
    try {
      var B = e.call(k);
      return n.test(B);
    } catch {
      return !1;
    }
  }, s = function(k) {
    try {
      return i(k) ? !1 : (e.call(k), !0);
    } catch {
      return !1;
    }
  }, o = Object.prototype.toString, u = "[object Object]", l = "[object Function]", f = "[object GeneratorFunction]", p = "[object HTMLAllCollection]", d = "[object HTML document.all class]", y = "[object HTMLCollection]", b = typeof Symbol == "function" && !!Symbol.toStringTag, v = !(0 in [,]), S = function() {
    return !1;
  };
  if (typeof document == "object") {
    var x = document.all;
    o.call(x) === o.call(document.all) && (S = function(k) {
      if ((v || !k) && (typeof k > "u" || typeof k == "object"))
        try {
          var B = o.call(k);
          return (B === p || B === d || B === y || B === u) && k("") == null;
        } catch {
        }
      return !1;
    });
  }
  return Sn = r ? function(k) {
    if (S(k))
      return !0;
    if (!k || typeof k != "function" && typeof k != "object")
      return !1;
    try {
      r(k, null, t);
    } catch (B) {
      if (B !== a)
        return !1;
    }
    return !i(k) && s(k);
  } : function(k) {
    if (S(k))
      return !0;
    if (!k || typeof k != "function" && typeof k != "object")
      return !1;
    if (b)
      return s(k);
    if (i(k))
      return !1;
    var B = o.call(k);
    return B !== l && B !== f && !/^\[object HTML/.test(B) ? !1 : s(k);
  }, Sn;
}
var An, _u;
function _h() {
  if (_u) return An;
  _u = 1;
  var e = wh(), r = Object.prototype.toString, t = Object.prototype.hasOwnProperty, a = function(u, l, f) {
    for (var p = 0, d = u.length; p < d; p++)
      t.call(u, p) && (f == null ? l(u[p], p, u) : l.call(f, u[p], p, u));
  }, n = function(u, l, f) {
    for (var p = 0, d = u.length; p < d; p++)
      f == null ? l(u.charAt(p), p, u) : l.call(f, u.charAt(p), p, u);
  }, i = function(u, l, f) {
    for (var p in u)
      t.call(u, p) && (f == null ? l(u[p], p, u) : l.call(f, u[p], p, u));
  };
  function s(o) {
    return r.call(o) === "[object Array]";
  }
  return An = function(u, l, f) {
    if (!e(l))
      throw new TypeError("iterator must be a function");
    var p;
    arguments.length >= 3 && (p = f), s(u) ? a(u, l, p) : typeof u == "string" ? n(u, l, p) : i(u, l, p);
  }, An;
}
var Bn, Eu;
function Eh() {
  return Eu || (Eu = 1, Bn = [
    "Float16Array",
    "Float32Array",
    "Float64Array",
    "Int8Array",
    "Int16Array",
    "Int32Array",
    "Uint8Array",
    "Uint8ClampedArray",
    "Uint16Array",
    "Uint32Array",
    "BigInt64Array",
    "BigUint64Array"
  ]), Bn;
}
var In, ku;
function kh() {
  if (ku) return In;
  ku = 1;
  var e = /* @__PURE__ */ Eh(), r = typeof globalThis > "u" ? Tt : globalThis;
  return In = function() {
    for (var a = [], n = 0; n < e.length; n++)
      typeof r[e[n]] == "function" && (a[a.length] = e[n]);
    return a;
  }, In;
}
var zn = { exports: {} }, Tn, Su;
function Sh() {
  if (Su) return Tn;
  Su = 1;
  var e = /* @__PURE__ */ Ja(), r = /* @__PURE__ */ Xc(), t = /* @__PURE__ */ ga(), a = /* @__PURE__ */ ba();
  return Tn = function(i, s, o) {
    if (!i || typeof i != "object" && typeof i != "function")
      throw new t("`obj` must be an object or a function`");
    if (typeof s != "string" && typeof s != "symbol")
      throw new t("`property` must be a string or a symbol`");
    if (arguments.length > 3 && typeof arguments[3] != "boolean" && arguments[3] !== null)
      throw new t("`nonEnumerable`, if provided, must be a boolean or null");
    if (arguments.length > 4 && typeof arguments[4] != "boolean" && arguments[4] !== null)
      throw new t("`nonWritable`, if provided, must be a boolean or null");
    if (arguments.length > 5 && typeof arguments[5] != "boolean" && arguments[5] !== null)
      throw new t("`nonConfigurable`, if provided, must be a boolean or null");
    if (arguments.length > 6 && typeof arguments[6] != "boolean")
      throw new t("`loose`, if provided, must be a boolean");
    var u = arguments.length > 3 ? arguments[3] : null, l = arguments.length > 4 ? arguments[4] : null, f = arguments.length > 5 ? arguments[5] : null, p = arguments.length > 6 ? arguments[6] : !1, d = !!a && a(i, s);
    if (e)
      e(i, s, {
        configurable: f === null && d ? d.configurable : !f,
        enumerable: u === null && d ? d.enumerable : !u,
        value: o,
        writable: l === null && d ? d.writable : !l
      });
    else if (p || !u && !l && !f)
      i[s] = o;
    else
      throw new r("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");
  }, Tn;
}
var jn, Au;
function Ah() {
  if (Au) return jn;
  Au = 1;
  var e = /* @__PURE__ */ Ja(), r = function() {
    return !!e;
  };
  return r.hasArrayLengthDefineBug = function() {
    if (!e)
      return null;
    try {
      return e([], "length", { value: 1 }).length !== 1;
    } catch {
      return !0;
    }
  }, jn = r, jn;
}
var Rn, Bu;
function Bh() {
  if (Bu) return Rn;
  Bu = 1;
  var e = /* @__PURE__ */ al(), r = /* @__PURE__ */ Sh(), t = /* @__PURE__ */ Ah()(), a = /* @__PURE__ */ ba(), n = /* @__PURE__ */ ga(), i = e("%Math.floor%");
  return Rn = function(o, u) {
    if (typeof o != "function")
      throw new n("`fn` is not a function");
    if (typeof u != "number" || u < 0 || u > 4294967295 || i(u) !== u)
      throw new n("`length` must be a positive 32-bit integer");
    var l = arguments.length > 2 && !!arguments[2], f = !0, p = !0;
    if ("length" in o && a) {
      var d = a(o, "length");
      d && !d.configurable && (f = !1), d && !d.writable && (p = !1);
    }
    return (f || p || !l) && (t ? r(
      /** @type {Parameters<define>[0]} */
      o,
      "length",
      u,
      !0,
      !0
    ) : r(
      /** @type {Parameters<define>[0]} */
      o,
      "length",
      u
    )), o;
  }, Rn;
}
var qn, Iu;
function Ih() {
  if (Iu) return qn;
  Iu = 1;
  var e = va(), r = xo(), t = rl();
  return qn = function() {
    return t(e, r, arguments);
  }, qn;
}
var zu;
function zh() {
  return zu || (zu = 1, function(e) {
    var r = /* @__PURE__ */ Bh(), t = /* @__PURE__ */ Ja(), a = wo(), n = Ih();
    e.exports = function(s) {
      var o = a(arguments), u = s.length - (arguments.length - 1);
      return r(
        o,
        1 + (u > 0 ? u : 0),
        !0
      );
    }, t ? t(e.exports, "apply", { value: n }) : e.exports.apply = n;
  }(zn)), zn.exports;
}
var On, Tu;
function Th() {
  if (Tu) return On;
  Tu = 1;
  var e = Jc();
  return On = function() {
    return e() && !!Symbol.toStringTag;
  }, On;
}
var Un, ju;
function jh() {
  if (ju) return Un;
  ju = 1;
  var e = _h(), r = /* @__PURE__ */ kh(), t = zh(), a = /* @__PURE__ */ il(), n = /* @__PURE__ */ ba(), i = tl(), s = a("Object.prototype.toString"), o = Th()(), u = typeof globalThis > "u" ? Tt : globalThis, l = r(), f = a("String.prototype.slice"), p = a("Array.prototype.indexOf", !0) || function(S, x) {
    for (var T = 0; T < S.length; T += 1)
      if (S[T] === x)
        return T;
    return -1;
  }, d = { __proto__: null };
  o && n && i ? e(l, function(v) {
    var S = new u[v]();
    if (Symbol.toStringTag in S && i) {
      var x = i(S), T = n(x, Symbol.toStringTag);
      if (!T && x) {
        var k = i(x);
        T = n(k, Symbol.toStringTag);
      }
      d["$" + v] = t(T.get);
    }
  }) : e(l, function(v) {
    var S = new u[v](), x = S.slice || S.set;
    x && (d[
      /** @type {`$${import('.').TypedArrayName}`} */
      "$" + v
    ] = /** @type {import('./types').BoundSlice | import('./types').BoundSet} */
    // @ts-expect-error TODO FIXME
    t(x));
  });
  var y = function(S) {
    var x = !1;
    return e(
      /** @type {Record<`\$${import('.').TypedArrayName}`, Getter>} */
      d,
      /** @type {(getter: Getter, name: `\$${import('.').TypedArrayName}`) => void} */
      function(T, k) {
        if (!x)
          try {
            "$" + T(S) === k && (x = /** @type {import('.').TypedArrayName} */
            f(k, 1));
          } catch {
          }
      }
    ), x;
  }, b = function(S) {
    var x = !1;
    return e(
      /** @type {Record<`\$${import('.').TypedArrayName}`, Getter>} */
      d,
      /** @type {(getter: Getter, name: `\$${import('.').TypedArrayName}`) => void} */
      function(T, k) {
        if (!x)
          try {
            T(S), x = /** @type {import('.').TypedArrayName} */
            f(k, 1);
          } catch {
          }
      }
    ), x;
  };
  return Un = function(S) {
    if (!S || typeof S != "object")
      return !1;
    if (!o) {
      var x = f(s(S), 8, -1);
      return p(l, x) > -1 ? x : x !== "Object" ? !1 : b(S);
    }
    return n ? y(S) : null;
  }, Un;
}
var Dn, Ru;
function Rh() {
  if (Ru) return Dn;
  Ru = 1;
  var e = /* @__PURE__ */ jh();
  return Dn = function(t) {
    return !!e(t);
  }, Dn;
}
var Ln, qu;
function qh() {
  if (qu) return Ln;
  qu = 1;
  var e = /* @__PURE__ */ ga(), r = /* @__PURE__ */ il(), t = r("TypedArray.prototype.buffer", !0), a = /* @__PURE__ */ Rh();
  return Ln = t || function(i) {
    if (!a(i))
      throw new e("Not a Typed Array");
    return i.buffer;
  }, Ln;
}
var Nn, Ou;
function Oh() {
  if (Ou) return Nn;
  Ou = 1;
  var e = Vr().Buffer, r = rh(), t = /* @__PURE__ */ qh(), a = ArrayBuffer.isView || function(u) {
    try {
      return t(u), !0;
    } catch {
      return !1;
    }
  }, n = typeof Uint8Array < "u", i = typeof ArrayBuffer < "u" && typeof Uint8Array < "u", s = i && (e.prototype instanceof Uint8Array || e.TYPED_ARRAY_SUPPORT);
  return Nn = function(u, l) {
    if (u instanceof e)
      return u;
    if (typeof u == "string")
      return e.from(u, l);
    if (i && a(u)) {
      if (u.byteLength === 0)
        return e.alloc(0);
      if (s) {
        var f = e.from(u.buffer, u.byteOffset, u.byteLength);
        if (f.byteLength === u.byteLength)
          return f;
      }
      var p = u instanceof Uint8Array ? u : new Uint8Array(u.buffer, u.byteOffset, u.byteLength), d = e.from(p);
      if (d.length === u.byteLength)
        return d;
    }
    if (n && u instanceof Uint8Array)
      return e.from(u);
    var y = r(u);
    if (y)
      for (var b = 0; b < u.length; b += 1) {
        var v = u[b];
        if (typeof v != "number" || v < 0 || v > 255 || ~~v !== v)
          throw new RangeError("Array items must be numbers in the range 0-255.");
      }
    if (y || e.isBuffer(u) && u.constructor && typeof u.constructor.isBuffer == "function" && u.constructor.isBuffer(u))
      return e.from(u);
    throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.');
  }, Nn;
}
var Cn, Uu;
function Jt() {
  if (Uu) return Cn;
  Uu = 1;
  var e = Vr().Buffer, r = /* @__PURE__ */ Oh();
  function t(a, n) {
    this._block = e.alloc(a), this._finalSize = n, this._blockSize = a, this._len = 0;
  }
  return t.prototype.update = function(a, n) {
    a = r(a, n || "utf8");
    for (var i = this._block, s = this._blockSize, o = a.length, u = this._len, l = 0; l < o; ) {
      for (var f = u % s, p = Math.min(o - l, s - f), d = 0; d < p; d++)
        i[f + d] = a[l + d];
      u += p, l += p, u % s === 0 && this._update(i);
    }
    return this._len += o, this;
  }, t.prototype.digest = function(a) {
    var n = this._len % this._blockSize;
    this._block[n] = 128, this._block.fill(0, n + 1), n >= this._finalSize && (this._update(this._block), this._block.fill(0));
    var i = this._len * 8;
    if (i <= 4294967295)
      this._block.writeUInt32BE(i, this._blockSize - 4);
    else {
      var s = (i & 4294967295) >>> 0, o = (i - s) / 4294967296;
      this._block.writeUInt32BE(o, this._blockSize - 8), this._block.writeUInt32BE(s, this._blockSize - 4);
    }
    this._update(this._block);
    var u = this._hash();
    return a ? u.toString(a) : u;
  }, t.prototype._update = function() {
    throw new Error("_update must be implemented by subclass");
  }, Cn = t, Cn;
}
var Pn, Du;
function Uh() {
  if (Du) return Pn;
  Du = 1;
  var e = jr(), r = Jt(), t = Vr().Buffer, a = [
    1518500249,
    1859775393,
    -1894007588,
    -899497514
  ], n = new Array(80);
  function i() {
    this.init(), this._w = n, r.call(this, 64, 56);
  }
  e(i, r), i.prototype.init = function() {
    return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;
  };
  function s(l) {
    return l << 5 | l >>> 27;
  }
  function o(l) {
    return l << 30 | l >>> 2;
  }
  function u(l, f, p, d) {
    return l === 0 ? f & p | ~f & d : l === 2 ? f & p | f & d | p & d : f ^ p ^ d;
  }
  return i.prototype._update = function(l) {
    for (var f = this._w, p = this._a | 0, d = this._b | 0, y = this._c | 0, b = this._d | 0, v = this._e | 0, S = 0; S < 16; ++S)
      f[S] = l.readInt32BE(S * 4);
    for (; S < 80; ++S)
      f[S] = f[S - 3] ^ f[S - 8] ^ f[S - 14] ^ f[S - 16];
    for (var x = 0; x < 80; ++x) {
      var T = ~~(x / 20), k = s(p) + u(T, d, y, b) + v + f[x] + a[T] | 0;
      v = b, b = y, y = o(d), d = p, p = k;
    }
    this._a = p + this._a | 0, this._b = d + this._b | 0, this._c = y + this._c | 0, this._d = b + this._d | 0, this._e = v + this._e | 0;
  }, i.prototype._hash = function() {
    var l = t.allocUnsafe(20);
    return l.writeInt32BE(this._a | 0, 0), l.writeInt32BE(this._b | 0, 4), l.writeInt32BE(this._c | 0, 8), l.writeInt32BE(this._d | 0, 12), l.writeInt32BE(this._e | 0, 16), l;
  }, Pn = i, Pn;
}
var Mn, Lu;
function Dh() {
  if (Lu) return Mn;
  Lu = 1;
  var e = jr(), r = Jt(), t = Vr().Buffer, a = [
    1518500249,
    1859775393,
    -1894007588,
    -899497514
  ], n = new Array(80);
  function i() {
    this.init(), this._w = n, r.call(this, 64, 56);
  }
  e(i, r), i.prototype.init = function() {
    return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;
  };
  function s(f) {
    return f << 1 | f >>> 31;
  }
  function o(f) {
    return f << 5 | f >>> 27;
  }
  function u(f) {
    return f << 30 | f >>> 2;
  }
  function l(f, p, d, y) {
    return f === 0 ? p & d | ~p & y : f === 2 ? p & d | p & y | d & y : p ^ d ^ y;
  }
  return i.prototype._update = function(f) {
    for (var p = this._w, d = this._a | 0, y = this._b | 0, b = this._c | 0, v = this._d | 0, S = this._e | 0, x = 0; x < 16; ++x)
      p[x] = f.readInt32BE(x * 4);
    for (; x < 80; ++x)
      p[x] = s(p[x - 3] ^ p[x - 8] ^ p[x - 14] ^ p[x - 16]);
    for (var T = 0; T < 80; ++T) {
      var k = ~~(T / 20), B = o(d) + l(k, y, b, v) + S + p[T] + a[k] | 0;
      S = v, v = b, b = u(y), y = d, d = B;
    }
    this._a = d + this._a | 0, this._b = y + this._b | 0, this._c = b + this._c | 0, this._d = v + this._d | 0, this._e = S + this._e | 0;
  }, i.prototype._hash = function() {
    var f = t.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;
  }, Mn = i, Mn;
}
var Hn, Nu;
function nl() {
  if (Nu) return Hn;
  Nu = 1;
  var e = jr(), r = Jt(), t = Vr().Buffer, a = [
    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
  ], n = new Array(64);
  function i() {
    this.init(), this._w = n, r.call(this, 64, 56);
  }
  e(i, r), i.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 s(d, y, b) {
    return b ^ d & (y ^ b);
  }
  function o(d, y, b) {
    return d & y | b & (d | y);
  }
  function u(d) {
    return (d >>> 2 | d << 30) ^ (d >>> 13 | d << 19) ^ (d >>> 22 | d << 10);
  }
  function l(d) {
    return (d >>> 6 | d << 26) ^ (d >>> 11 | d << 21) ^ (d >>> 25 | d << 7);
  }
  function f(d) {
    return (d >>> 7 | d << 25) ^ (d >>> 18 | d << 14) ^ d >>> 3;
  }
  function p(d) {
    return (d >>> 17 | d << 15) ^ (d >>> 19 | d << 13) ^ d >>> 10;
  }
  return i.prototype._update = function(d) {
    for (var y = this._w, b = this._a | 0, v = this._b | 0, S = this._c | 0, x = this._d | 0, T = this._e | 0, k = this._f | 0, B = this._g | 0, I = this._h | 0, O = 0; O < 16; ++O)
      y[O] = d.readInt32BE(O * 4);
    for (; O < 64; ++O)
      y[O] = p(y[O - 2]) + y[O - 7] + f(y[O - 15]) + y[O - 16] | 0;
    for (var N = 0; N < 64; ++N) {
      var M = I + l(T) + s(T, k, B) + a[N] + y[N] | 0, z = u(b) + o(b, v, S) | 0;
      I = B, B = k, k = T, T = x + M | 0, x = S, S = v, v = b, b = M + z | 0;
    }
    this._a = b + this._a | 0, this._b = v + this._b | 0, this._c = S + this._c | 0, this._d = x + this._d | 0, this._e = T + this._e | 0, this._f = k + this._f | 0, this._g = B + this._g | 0, this._h = I + this._h | 0;
  }, i.prototype._hash = function() {
    var d = t.allocUnsafe(32);
    return d.writeInt32BE(this._a, 0), d.writeInt32BE(this._b, 4), d.writeInt32BE(this._c, 8), d.writeInt32BE(this._d, 12), d.writeInt32BE(this._e, 16), d.writeInt32BE(this._f, 20), d.writeInt32BE(this._g, 24), d.writeInt32BE(this._h, 28), d;
  }, Hn = i, Hn;
}
var Fn, Cu;
function Lh() {
  if (Cu) return Fn;
  Cu = 1;
  var e = jr(), r = nl(), t = Jt(), a = Vr().Buffer, n = new Array(64);
  function i() {
    this.init(), this._w = n, t.call(this, 64, 56);
  }
  return e(i, r), i.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;
  }, i.prototype._hash = function() {
    var s = a.allocUnsafe(28);
    return s.writeInt32BE(this._a, 0), s.writeInt32BE(this._b, 4), s.writeInt32BE(this._c, 8), s.writeInt32BE(this._d, 12), s.writeInt32BE(this._e, 16), s.writeInt32BE(this._f, 20), s.writeInt32BE(this._g, 24), s;
  }, Fn = i, Fn;
}
var $n, Pu;
function ol() {
  if (Pu) return $n;
  Pu = 1;
  var e = jr(), r = Jt(), t = Vr().Buffer, a = [
    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
  ], n = new Array(160);
  function i() {
    this.init(), this._w = n, r.call(this, 128, 112);
  }
  e(i, r), i.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 s(v, S, x) {
    return x ^ v & (S ^ x);
  }
  function o(v, S, x) {
    return v & S | x & (v | S);
  }
  function u(v, S) {
    return (v >>> 28 | S << 4) ^ (S >>> 2 | v << 30) ^ (S >>> 7 | v << 25);
  }
  function l(v, S) {
    return (v >>> 14 | S << 18) ^ (v >>> 18 | S << 14) ^ (S >>> 9 | v << 23);
  }
  function f(v, S) {
    return (v >>> 1 | S << 31) ^ (v >>> 8 | S << 24) ^ v >>> 7;
  }
  function p(v, S) {
    return (v >>> 1 | S << 31) ^ (v >>> 8 | S << 24) ^ (v >>> 7 | S << 25);
  }
  function d(v, S) {
    return (v >>> 19 | S << 13) ^ (S >>> 29 | v << 3) ^ v >>> 6;
  }
  function y(v, S) {
    return (v >>> 19 | S << 13) ^ (S >>> 29 | v << 3) ^ (v >>> 6 | S << 26);
  }
  function b(v, S) {
    return v >>> 0 < S >>> 0 ? 1 : 0;
  }
  return i.prototype._update = function(v) {
    for (var S = this._w, x = this._ah | 0, T = this._bh | 0, k = this._ch | 0, B = this._dh | 0, I = this._eh | 0, O = this._fh | 0, N = this._gh | 0, M = this._hh | 0, z = this._al | 0, D = this._bl | 0, P = this._cl | 0, J = this._dl | 0, K = this._el | 0, ie = this._fl | 0, ce = this._gl | 0, ue = this._hl | 0, xe = 0; xe < 32; xe += 2)
      S[xe] = v.readInt32BE(xe * 4), S[xe + 1] = v.readInt32BE(xe * 4 + 4);
    for (; xe < 160; xe += 2) {
      var De = S[xe - 30], F = S[xe - 30 + 1], he = f(De, F), de = p(F, De);
      De = S[xe - 4], F = S[xe - 4 + 1];
      var Ee = d(De, F), Ie = y(F, De), Ye = S[xe - 14], Re = S[xe - 14 + 1], $ = S[xe - 32], V = S[xe - 32 + 1], ee = de + Re | 0, pe = he + Ye + b(ee, de) | 0;
      ee = ee + Ie | 0, pe = pe + Ee + b(ee, Ie) | 0, ee = ee + V | 0, pe = pe + $ + b(ee, V) | 0, S[xe] = pe, S[xe + 1] = ee;
    }
    for (var me = 0; me < 160; me += 2) {
      pe = S[me], ee = S[me + 1];
      var j = o(x, T, k), R = o(z, D, P), X = u(x, z), fe = u(z, x), er = l(I, K), ze = l(K, I), Xe = a[me], zr = a[me + 1], yr = s(I, O, N), wr = s(K, ie, ce), ar = ue + ze | 0, ur = M + er + b(ar, ue) | 0;
      ar = ar + wr | 0, ur = ur + yr + b(ar, wr) | 0, ar = ar + zr | 0, ur = ur + Xe + b(ar, zr) | 0, ar = ar + ee | 0, ur = ur + pe + b(ar, ee) | 0;
      var _r = fe + R | 0, Rr = X + j + b(_r, fe) | 0;
      M = N, ue = ce, N = O, ce = ie, O = I, ie = K, K = J + ar | 0, I = B + ur + b(K, J) | 0, B = k, J = P, k = T, P = D, T = x, D = z, z = ar + _r | 0, x = ur + Rr + b(z, ar) | 0;
    }
    this._al = this._al + z | 0, this._bl = this._bl + D | 0, this._cl = this._cl + P | 0, this._dl = this._dl + J | 0, this._el = this._el + K | 0, this._fl = this._fl + ie | 0, this._gl = this._gl + ce | 0, this._hl = this._hl + ue | 0, this._ah = this._ah + x + b(this._al, z) | 0, this._bh = this._bh + T + b(this._bl, D) | 0, this._ch = this._ch + k + b(this._cl, P) | 0, this._dh = this._dh + B + b(this._dl, J) | 0, this._eh = this._eh + I + b(this._el, K) | 0, this._fh = this._fh + O + b(this._fl, ie) | 0, this._gh = this._gh + N + b(this._gl, ce) | 0, this._hh = this._hh + M + b(this._hl, ue) | 0;
  }, i.prototype._hash = function() {
    var v = t.allocUnsafe(64);
    function S(x, T, k) {
      v.writeInt32BE(x, k), v.writeInt32BE(T, k + 4);
    }
    return S(this._ah, this._al, 0), S(this._bh, this._bl, 8), S(this._ch, this._cl, 16), S(this._dh, this._dl, 24), S(this._eh, this._el, 32), S(this._fh, this._fl, 40), S(this._gh, this._gl, 48), S(this._hh, this._hl, 56), v;
  }, $n = i, $n;
}
var Vn, Mu;
function Nh() {
  if (Mu) return Vn;
  Mu = 1;
  var e = jr(), r = ol(), t = Jt(), a = Vr().Buffer, n = new Array(160);
  function i() {
    this.init(), this._w = n, t.call(this, 128, 112);
  }
  return e(i, r), i.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;
  }, i.prototype._hash = function() {
    var s = a.allocUnsafe(48);
    function o(u, l, f) {
      s.writeInt32BE(u, f), s.writeInt32BE(l, f + 4);
    }
    return o(this._ah, this._al, 0), o(this._bh, this._bl, 8), o(this._ch, this._cl, 16), o(this._dh, this._dl, 24), o(this._eh, this._el, 32), o(this._fh, this._fl, 40), s;
  }, Vn = i, Vn;
}
var Hu;
function Ch() {
  return Hu || (Hu = 1, function(e) {
    e.exports = function(t) {
      var a = t.toLowerCase(), n = e.exports[a];
      if (!n)
        throw new Error(a + " is not supported (we accept pull requests)");
      return new n();
    }, e.exports.sha = Uh(), e.exports.sha1 = Dh(), e.exports.sha224 = Lh(), e.exports.sha256 = nl(), e.exports.sha384 = Nh(), e.exports.sha512 = ol();
  }(Mi)), Mi.exports;
}
var Gn, Fu;
function Ph() {
  if (Fu) return Gn;
  Fu = 1;
  var e = jr(), r = Md(), t = Pc(), a = Vr().Buffer, n = Jd(), i = eh(), s = Ch(), o = a.alloc(128);
  function u(l, f) {
    t.call(this, "digest"), typeof f == "string" && (f = a.from(f));
    var p = l === "sha512" || l === "sha384" ? 128 : 64;
    if (this._alg = l, this._key = f, f.length > p) {
      var d = l === "rmd160" ? new i() : s(l);
      f = d.update(f).digest();
    } else f.length < p && (f = a.concat([f, o], p));
    for (var y = this._ipad = a.allocUnsafe(p), b = this._opad = a.allocUnsafe(p), v = 0; v < p; v++)
      y[v] = f[v] ^ 54, b[v] = f[v] ^ 92;
    this._hash = l === "rmd160" ? new i() : s(l), this._hash.update(y);
  }
  return e(u, t), u.prototype._update = function(l) {
    this._hash.update(l);
  }, u.prototype._final = function() {
    var l = this._hash.digest(), f = this._alg === "rmd160" ? new i() : s(this._alg);
    return f.update(this._opad).update(l).digest();
  }, Gn = function(f, p) {
    return f = f.toLowerCase(), f === "rmd160" || f === "ripemd160" ? new u("rmd160", p) : f === "md5" ? new r(n, p) : new u(f, p);
  }, Gn;
}
var Dt = {}, $u;
function Mh() {
  return $u || ($u = 1, Object.defineProperty(Dt, "__esModule", { value: !0 }), Dt.replaceDerive = Dt.pathRegex = void 0, Dt.pathRegex = new RegExp("^m(\\/[0-9]+')+$"), Dt.replaceDerive = (e) => e.replace("'", "")), Dt;
}
var Vu;
function Hh() {
  return Vu || (Vu = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 }), e.derivePath = e.isValidPath = e.getPublicKey = e.CKDPriv = e.getMasterKeyFromSeed = void 0;
    const r = Ph(), t = Nc(), a = Mh(), n = "ed25519 seed", i = 2147483648;
    e.getMasterKeyFromSeed = (s) => {
      const u = r("sha512", n).update(Buffer.from(s, "hex")).digest(), l = u.slice(0, 32), f = u.slice(32);
      return {
        key: l,
        chainCode: f
      };
    }, e.CKDPriv = ({ key: s, chainCode: o }, u) => {
      const l = Buffer.allocUnsafe(4);
      l.writeUInt32BE(u, 0);
      const f = Buffer.concat([Buffer.alloc(1, 0), s, l]), p = r("sha512", o).update(f).digest(), d = p.slice(0, 32), y = p.slice(32);
      return {
        key: d,
        chainCode: y
      };
    }, e.getPublicKey = (s, o = !0) => {
      const l = t.sign.keyPair.fromSeed(s).secretKey.subarray(32), f = Buffer.alloc(1, 0);
      return o ? Buffer.concat([f, Buffer.from(l)]) : Buffer.from(l);
    }, e.isValidPath = (s) => a.pathRegex.test(s) ? !s.split("/").slice(1).map(a.replaceDerive).some(isNaN) : !1, e.derivePath = (s, o, u = i) => {
      if (!e.isValidPath(s))
        throw new Error("Invalid derivation path");
      const { key: l, chainCode: f } = e.getMasterKeyFromSeed(o);
      return s.split("/").slice(1).map(a.replaceDerive).map((d) => parseInt(d, 10)).reduce((d, y) => e.CKDPriv(d, y + u), { key: l, chainCode: f });
    };
  }(gi)), gi;
}
var Gu = Hh();
const Mt = typeof globalThis == "object" && "crypto" in globalThis ? globalThis.crypto : void 0;
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
function Qa(e) {
  return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
}
function mt(e) {
  if (!Number.isSafeInteger(e) || e < 0)
    throw new Error("positive integer expected, got " + e);
}
function gt(e, ...r) {
  if (!Qa(e))
    throw new Error("Uint8Array expected");
  if (r.length > 0 && !r.includes(e.length))
    throw new Error("Uint8Array expected of length " + r + ", got length=" + e.length);
}
function sl(e) {
  if (typeof e != "function" || typeof e.create != "function")
    throw new Error("Hash should be wrapped by utils.createHasher");
  mt(e.outputLen), mt(e.blockLen);
}
function Yt(e, r = !0) {
  if (e.destroyed)
    throw new Error("Hash instance has been destroyed");
  if (r && e.finished)
    throw new Error("Hash#digest() has already been called");
}
function ul(e, r) {
  gt(e);
  const t = r.outputLen;
  if (e.length < t)
    throw new Error("digestInto() expects output buffer of length at least " + t);
}
function Ca(e) {
  return new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4));
}
function jt(...e) {
  for (let r = 0; r < e.length; r++)
    e[r].fill(0);
}
function Ta(e) {
  return new DataView(e.buffer, e.byteOffset, e.byteLength);
}
const cl = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
function ll(e) {
  return e << 24 & 4278190080 | e << 8 & 16711680 | e >>> 8 & 65280 | e >>> 24 & 255;
}
const dt = cl ? (e) => e : (e) => ll(e);
function Fh(e) {
  for (let r = 0; r < e.length; r++)
    e[r] = ll(e[r]);
  return e;
}
const Ht = cl ? (e) => e : Fh, fl = /* @ts-ignore */ typeof Uint8Array.from([]).toHex == "function" && typeof Uint8Array.fromHex == "function", $h = /* @__PURE__ */ Array.from({ length: 256 }, (e, r) => r.toString(16).padStart(2, "0"));
function ei(e) {
  if (gt(e), fl)
    return e.toHex();
  let r = "";
  for (let t = 0; t < e.length; t++)
    r += $h[e[t]];
  return r;
}
const ft = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };
function Ku(e) {
  if (e >= ft._0 && e <= ft._9)
    return e - ft._0;
  if (e >= ft.A && e <= ft.F)
    return e - (ft.A - 10);
  if (e >= ft.a && e <= ft.f)
    return e - (ft.a - 10);
}
function dl(e) {
  if (typeof e != "string")
    throw new Error("hex string expected, got " + typeof e);
  if (fl)
    return Uint8Array.fromHex(e);
  const r = e.length, t = r / 2;
  if (r % 2)
    throw new Error("hex string expected, got unpadded hex of length " + r);
  const a = new Uint8Array(t);
  for (let n = 0, i = 0; n < t; n++, i += 2) {
    const s = Ku(e.charCodeAt(i)), o = Ku(e.charCodeAt(i + 1));
    if (s === void 0 || o === void 0) {
      const u = e[i] + e[i + 1];
      throw new Error('hex string expected, got non-hex character "' + u + '" at index ' + i);
    }
    a[n] = s * 16 + o;
  }
  return a;
}
function hl(e) {
  if (typeof e != "string")
    throw new Error("string expected");
  return new Uint8Array(new TextEncoder().encode(e));
}
function zt(e) {
  return typeof e == "string" && (e = hl(e)), gt(e), e;
}
function Wu(e) {
  return typeof e == "string" && (e = hl(e)), gt(e), e;
}
function Yu(...e) {
  let r = 0;
  for (let a = 0; a < e.length; a++) {
    const n = e[a];
    gt(n), r += n.length;
  }
  const t = new Uint8Array(r);
  for (let a = 0, n = 0; a < e.length; a++) {
    const i = e[a];
    t.set(i, n), n += i.length;
  }
  return t;
}
function Vh(e, r) {
  if (r !== void 0 && {}.toString.call(r) !== "[object Object]")
    throw new Error("options should be object or undefined");
  return Object.assign(e, r);
}
class _o {
}
function Gh(e) {
  const r = (a) => e().update(zt(a)).digest(), t = e();
  return r.outputLen = t.outputLen, r.blockLen = t.blockLen, r.create = () => e(), r;
}
function Kh(e) {
  const r = (a, n) => e(n).update(zt(a)).digest(), t = e({});
  return r.outputLen = t.outputLen, r.blockLen = t.blockLen, r.create = (a) => e(a), r;
}
function Wh(e = 32) {
  if (Mt && typeof Mt.getRandomValues == "function")
    return Mt.getRandomValues(new Uint8Array(e));
  if (Mt && typeof Mt.randomBytes == "function")
    return Uint8Array.from(Mt.randomBytes(e));
  throw new Error("crypto.getRandomValues must be defined");
}
function Yh(e, r, t, a) {
  if (typeof e.setBigUint64 == "function")
    return e.setBigUint64(r, t, a);
  const n = BigInt(32), i = BigInt(4294967295), s = Number(t >> n & i), o = Number(t & i), u = a ? 4 : 0, l = a ? 0 : 4;
  e.setUint32(r + u, s, a), e.setUint32(r + l, o, a);
}
class Zh extends _o {
  constructor(r, t, a, n) {
    super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = r, this.outputLen = t, this.padOffset = a, this.isLE = n, this.buffer = new Uint8Array(r), this.view = Ta(this.buffer);
  }
  update(r) {
    Yt(this), r = zt(r), gt(r);
    const { view: t, buffer: a, blockLen: n } = this, i = r.length;
    for (let s = 0; s < i; ) {
      const o = Math.min(n - this.pos, i - s);
      if (o === n) {
        const u = Ta(r);
        for (; n <= i - s; s += n)
          this.process(u, s);
        continue;
      }
      a.set(r.subarray(s, s + o), this.pos), this.pos += o, s += o, this.pos === n && (this.process(t, 0), this.pos = 0);
    }
    return this.length += r.length, this.roundClean(), this;
  }
  digestInto(r) {
    Yt(this), ul(r, this), this.finished = !0;
    const { buffer: t, view: a, blockLen: n, isLE: i } = this;
    let { pos: s } = this;
    t[s++] = 128, jt(this.buffer.subarray(s)), this.padOffset > n - s && (this.process(a, 0), s = 0);
    for (let p = s; p < n; p++)
      t[p] = 0;
    Yh(a, n - 8, BigInt(this.length * 8), i), this.process(a, 0);
    const o = Ta(r), u = this.outputLen;
    if (u % 4)
      throw new Error("_sha2: outputLen should be aligned to 32bit");
    const l = u / 4, f = this.get();
    if (l > f.length)
      throw new Error("_sha2: outputLen bigger than state");
    for (let p = 0; p < l; p++)
      o.setUint32(4 * p, f[p], i);
  }
  digest() {
    const { buffer: r, outputLen: t } = this;
    this.digestInto(r);
    const a = r.slice(0, t);
    return this.destroy(), a;
  }
  _cloneInto(r) {
    r || (r = new this.constructor()), r.set(...this.get());
    const { blockLen: t, buffer: a, length: n, finished: i, destroyed: s, pos: o } = this;
    return r.destroyed = s, r.finished = i, r.length = n, r.pos = o, n % t && r.buffer.set(a), r;
  }
  clone() {
    return this._cloneInto();
  }
}
const Cr = /* @__PURE__ */ Uint32Array.from([
  1779033703,
  4089235720,
  3144134277,
  2227873595,
  1013904242,
  4271175723,
  2773480762,
  1595750129,
  1359893119,
  2917565137,
  2600822924,
  725511199,
  528734635,
  4215389547,
  1541459225,
  327033209
]), Ia = /* @__PURE__ */ BigInt(2 ** 32 - 1), Zu = /* @__PURE__ */ BigInt(32);
function pl(e, r = !1) {
  return r ? { h: Number(e & Ia), l: Number(e >> Zu & Ia) } : { h: Number(e >> Zu & Ia) | 0, l: Number(e & Ia) | 0 };
}
function Xh(e, r = !1) {
  const t = e.length;
  let a = new Uint32Array(t), n = new Uint32Array(t);
  for (let i = 0; i < t; i++) {
    const { h: s, l: o } = pl(e[i], r);
    [a[i], n[i]] = [s, o];
  }
  return [a, n];
}
const Xu = (e, r, t) => e >>> t, Ju = (e, r, t) => e << 32 - t | r >>> t, kt = (e, r, t) => e >>> t | r << 32 - t, St = (e, r, t) => e << 32 - t | r >>> t, oa = (e, r, t) => e << 64 - t | r >>> t - 32, sa = (e, r, t) => e >>> t - 32 | r << 64 - t, Jh = (e, r) => r, Qh = (e, r) => e;
function et(e, r, t, a) {
  const n = (r >>> 0) + (a >>> 0);
  return { h: e + t + (n / 2 ** 32 | 0) | 0, l: n | 0 };
}
const Eo = (e, r, t) => (e >>> 0) + (r >>> 0) + (t >>> 0), ko = (e, r, t, a) => r + t + a + (e / 2 ** 32 | 0) | 0, e0 = (e, r, t, a) => (e >>> 0) + (r >>> 0) + (t >>> 0) + (a >>> 0), r0 = (e, r, t, a, n) => r + t + a + n + (e / 2 ** 32 | 0) | 0, t0 = (e, r, t, a, n) => (e >>> 0) + (r >>> 0) + (t >>> 0) + (a >>> 0) + (n >>> 0), a0 = (e, r, t, a, n, i) => r + t + a + n + i + (e / 2 ** 32 | 0) | 0, ml = Xh([
  "0x428a2f98d728ae22",
  "0x7137449123ef65cd",
  "0xb5c0fbcfec4d3b2f",
  "0xe9b5dba58189dbbc",
  "0x3956c25bf348b538",
  "0x59f111f1b605d019",
  "0x923f82a4af194f9b",
  "0xab1c5ed5da6d8118",
  "0xd807aa98a3030242",
  "0x12835b0145706fbe",
  "0x243185be4ee4b28c",
  "0x550c7dc3d5ffb4e2",
  "0x72be5d74f27b896f",
  "0x80deb1fe3b1696b1",
  "0x9bdc06a725c71235",
  "0xc19bf174cf692694",
  "0xe49b69c19ef14ad2",
  "0xefbe4786384f25e3",
  "0x0fc19dc68b8cd5b5",
  "0x240ca1cc77ac9c65",
  "0x2de92c6f592b0275",
  "0x4a7484aa6ea6e483",
  "0x5cb0a9dcbd41fbd4",
  "0x76f988da831153b5",
  "0x983e5152ee66dfab",
  "0xa831c66d2db43210",
  "0xb00327c898fb213f",
  "0xbf597fc7beef0ee4",
  "0xc6e00bf33da88fc2",
  "0xd5a79147930aa725",
  "0x06ca6351e003826f",
  "0x142929670a0e6e70",
  "0x27b70a8546d22ffc",
  "0x2e1b21385c26c926",
  "0x4d2c6dfc5ac42aed",
  "0x53380d139d95b3df",
  "0x650a73548baf63de",
  "0x766a0abb3c77b2a8",
  "0x81c2c92e47edaee6",
  "0x92722c851482353b",
  "0xa2bfe8a14cf10364",
  "0xa81a664bbc423001",
  "0xc24b8b70d0f89791",
  "0xc76c51a30654be30",
  "0xd192e819d6ef5218",
  "0xd69906245565a910",
  "0xf40e35855771202a",
  "0x106aa07032bbd1b8",
  "0x19a4c116b8d2d0c8",
  "0x1e376c085141ab53",
  "0x2748774cdf8eeb99",
  "0x34b0bcb5e19b48a8",
  "0x391c0cb3c5c95a63",
  "0x4ed8aa4ae3418acb",
  "0x5b9cca4f7763e373",
  "0x682e6ff3d6b2b8a3",
  "0x748f82ee5defb2fc",
  "0x78a5636f43172f60",
  "0x84c87814a1f0ab72",
  "0x8cc702081a6439ec",
  "0x90befffa23631e28",
  "0xa4506cebde82bde9",
  "0xbef9a3f7b2c67915",
  "0xc67178f2e372532b",
  "0xca273eceea26619c",
  "0xd186b8c721c0c207",
  "0xeada7dd6cde0eb1e",
  "0xf57d4f7fee6ed178",
  "0x06f067aa72176fba",
  "0x0a637dc5a2c898a6",
  "0x113f9804bef90dae",
  "0x1b710b35131c471b",
  "0x28db77f523047d84",
  "0x32caab7b40c72493",
  "0x3c9ebe0a15c9bebc",
  "0x431d67c49c100d4c",
  "0x4cc5d4becb3e42b6",
  "0x597f299cfc657e2a",
  "0x5fcb6fab3ad6faec",
  "0x6c44198c4a475817"
].map((e) => BigInt(e))), i0 = ml[0], n0 = ml[1], bt = /* @__PURE__ */ new Uint32Array(80), vt = /* @__PURE__ */ new Uint32Array(80);
class o0 extends Zh {
  constructor(r = 64) {
    super(128, r, 16, !1), this.Ah = Cr[0] | 0, this.Al = Cr[1] | 0, this.Bh = Cr[2] | 0, this.Bl = Cr[3] | 0, this.Ch = Cr[4] | 0, this.Cl = Cr[5] | 0, this.Dh = Cr[6] | 0, this.Dl = Cr[7] | 0, this.Eh = Cr[8] | 0, this.El = Cr[9] | 0, this.Fh = Cr[10] | 0, this.Fl = Cr[11] | 0, this.Gh = Cr[12] | 0, this.Gl = Cr[13] | 0, this.Hh = Cr[14] | 0, this.Hl = Cr[15] | 0;
  }
  // prettier-ignore
  get() {
    const { Ah: r, Al: t, Bh: a, Bl: n, Ch: i, Cl: s, Dh: o, Dl: u, Eh: l, El: f, Fh: p, Fl: d, Gh: y, Gl: b, Hh: v, Hl: S } = this;
    return [r, t, a, n, i, s, o, u, l, f, p, d, y, b, v, S];
  }
  // prettier-ignore
  set(r, t, a, n, i, s, o, u, l, f, p, d, y, b, v, S) {
    this.Ah = r | 0, this.Al = t | 0, this.Bh = a | 0, this.Bl = n | 0, this.Ch = i | 0, this.Cl = s | 0, this.Dh = o | 0, this.Dl = u | 0, this.Eh = l | 0, this.El = f | 0, this.Fh = p | 0, this.Fl = d | 0, this.Gh = y | 0, this.Gl = b | 0, this.Hh = v | 0, this.Hl = S | 0;
  }
  process(r, t) {
    for (let k = 0; k < 16; k++, t += 4)
      bt[k] = r.getUint32(t), vt[k] = r.getUint32(t += 4);
    for (let k = 16; k < 80; k++) {
      const B = bt[k - 15] | 0, I = vt[k - 15] | 0, O = kt(B, I, 1) ^ kt(B, I, 8) ^ Xu(B, I, 7), N = St(B, I, 1) ^ St(B, I, 8) ^ Ju(B, I, 7), M = bt[k - 2] | 0, z = vt[k - 2] | 0, D = kt(M, z, 19) ^ oa(M, z, 61) ^ Xu(M, z, 6), P = St(M, z, 19) ^ sa(M, z, 61) ^ Ju(M, z, 6), J = e0(N, P, vt[k - 7], vt[k - 16]), K = r0(J, O, D, bt[k - 7], bt[k - 16]);
      bt[k] = K | 0, vt[k] = J | 0;
    }
    let { Ah: a, Al: n, Bh: i, Bl: s, Ch: o, Cl: u, Dh: l, Dl: f, Eh: p, El: d, Fh: y, Fl: b, Gh: v, Gl: S, Hh: x, Hl: T } = this;
    for (let k = 0; k < 80; k++) {
      const B = kt(p, d, 14) ^ kt(p, d, 18) ^ oa(p, d, 41), I = St(p, d, 14) ^ St(p, d, 18) ^ sa(p, d, 41), O = p & y ^ ~p & v, N = d & b ^ ~d & S, M = t0(T, I, N, n0[k], vt[k]), z = a0(M, x, B, O, i0[k], bt[k]), D = M | 0, P = kt(a, n, 28) ^ oa(a, n, 34) ^ oa(a, n, 39), J = St(a, n, 28) ^ sa(a, n, 34) ^ sa(a, n, 39), K = a & i ^ a & o ^ i & o, ie = n & s ^ n & u ^ s & u;
      x = v | 0, T = S | 0, v = y | 0, S = b | 0, y = p | 0, b = d | 0, { h: p, l: d } = et(l | 0, f | 0, z | 0, D | 0), l = o | 0, f = u | 0, o = i | 0, u = s | 0, i = a | 0, s = n | 0;
      const ce = Eo(D, J, ie);
      a = ko(ce, z, P, K), n = ce | 0;
    }
    ({ h: a, l: n } = et(this.Ah | 0, this.Al | 0, a | 0, n | 0)), { h: i, l: s } = et(this.Bh | 0, this.Bl | 0, i | 0, s | 0), { h: o, l: u } = et(this.Ch | 0, this.Cl | 0, o | 0, u | 0), { h: l, l: f } = et(this.Dh | 0, this.Dl | 0, l | 0, f | 0), { h: p, l: d } = et(this.Eh | 0, this.El | 0, p | 0, d | 0), { h: y, l: b } = et(this.Fh | 0, this.Fl | 0, y | 0, b | 0), { h: v, l: S } = et(this.Gh | 0, this.Gl | 0, v | 0, S | 0), { h: x, l: T } = et(this.Hh | 0, this.Hl | 0, x | 0, T | 0), this.set(a, n, i, s, o, u, l, f, p, d, y, b, v, S, x, T);
  }
  roundClean() {
    jt(bt, vt);
  }
  destroy() {
    jt(this.buffer), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
  }
}
const So = /* @__PURE__ */ Gh(() => new o0());
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
const Ao = /* @__PURE__ */ BigInt(0), no = /* @__PURE__ */ BigInt(1);
function oo(e, r = "") {
  if (typeof e != "boolean") {
    const t = r && `"${r}"`;
    throw new Error(t + "expected boolean, got type=" + typeof e);
  }
  return e;
}
function ja(e, r, t = "") {
  const a = Qa(e), n = e == null ? void 0 : e.length, i = r !== void 0;
  if (!a || i && n !== r) {
    const s = t && `"${t}" `, o = i ? ` of length ${r}` : "", u = a ? `length=${n}` : `type=${typeof e}`;
    throw new Error(s + "expected Uint8Array" + o + ", got " + u);
  }
  return e;
}
function gl(e) {
  if (typeof e != "string")
    throw new Error("hex string expected, got " + typeof e);
  return e === "" ? Ao : BigInt("0x" + e);
}
function s0(e) {
  return gl(ei(e));
}
function Pa(e) {
  return gt(e), gl(ei(Uint8Array.from(e).reverse()));
}
function bl(e, r) {
  return dl(e.toString(16).padStart(r * 2, "0"));
}
function u0(e, r) {
  return bl(e, r).reverse();
}
function _t(e, r, t) {
  let a;
  if (typeof r == "string")
    try {
      a = dl(r);
    } catch (i) {
      throw new Error(e + " must be hex string or Uint8Array, cause: " + i);
    }
  else if (Qa(r))
    a = Uint8Array.from(r);
  else
    throw new Error(e + " must be hex string or Uint8Array");
  const n = a.length;
  if (typeof t == "number" && n !== t)
    throw new Error(e + " of length " + t + " expected, got " + n);
  return a;
}
function Qu(e) {
  return Uint8Array.from(e);
}
const Kn = (e) => typeof e == "bigint" && Ao <= e;
function c0(e, r, t) {
  return Kn(e) && Kn(r) && Kn(t) && r <= e && e < t;
}
function ec(e, r, t, a) {
  if (!c0(r, t, a))
    throw new Error("expected valid " + e + ": " + t + " <= n < " + a + ", got " + r);
}
function l0(e) {
  let r;
  for (r = 0; e > Ao; e >>= no, r += 1)
    ;
  return r;
}
const Bo = (e) => (no << BigInt(e)) - no;
function Io(e, r, t = {}) {
  if (!e || typeof e != "object")
    throw new Error("expected valid options object");
  function a(n, i, s) {
    const o = e[n];
    if (s && o === void 0)
      return;
    const u = typeof o;
    if (u !== i || o === null)
      throw new Error(`param "${n}" is invalid: expected ${i}, got ${u}`);
  }
  Object.entries(r).forEach(([n, i]) => a(n, i, !1)), Object.entries(t).forEach(([n, i]) => a(n, i, !0));
}
function rc(e) {
  const r = /* @__PURE__ */ new WeakMap();
  return (t, ...a) => {
    const n = r.get(t);
    if (n !== void 0)
      return n;
    const i = e(t, ...a);
    return r.set(t, i), i;
  };
}
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
const Gr = BigInt(0), Hr = BigInt(1), Lt = /* @__PURE__ */ BigInt(2), vl = /* @__PURE__ */ BigInt(3), yl = /* @__PURE__ */ BigInt(4), xl = /* @__PURE__ */ BigInt(5), f0 = /* @__PURE__ */ BigInt(7), wl = /* @__PURE__ */ BigInt(8), d0 = /* @__PURE__ */ BigInt(9), _l = /* @__PURE__ */ BigInt(16);
function Ar(e, r) {
  const t = e % r;
  return t >= Gr ? t : r + t;
}
function nt(e, r, t) {
  let a = e;
  for (; r-- > Gr; )
    a *= a, a %= t;
  return a;
}
function tc(e, r) {
  if (e === Gr)
    throw new Error("invert: expected non-zero number");
  if (r <= Gr)
    throw new Error("invert: expected positive modulus, got " + r);
  let t = Ar(e, r), a = r, n = Gr, i = Hr;
  for (; t !== Gr; ) {
    const o = a / t, u = a % t, l = n - i * o;
    a = t, t = u, n = i, i = l;
  }
  if (a !== Hr)
    throw new Error("invert: does not exist");
  return Ar(n, r);
}
function zo(e, r, t) {
  if (!e.eql(e.sqr(r), t))
    throw new Error("Cannot find square root");
}
function El(e, r) {
  const t = (e.ORDER + Hr) / yl, a = e.pow(r, t);
  return zo(e, a, r), a;
}
function h0(e, r) {
  const t = (e.ORDER - xl) / wl, a = e.mul(r, Lt), n = e.pow(a, t), i = e.mul(r, n), s = e.mul(e.mul(i, Lt), n), o = e.mul(i, e.sub(s, e.ONE));
  return zo(e, o, r), o;
}
function p0(e) {
  const r = ya(e), t = kl(e), a = t(r, r.neg(r.ONE)), n = t(r, a), i = t(r, r.neg(a)), s = (e + f0) / _l;
  return (o, u) => {
    let l = o.pow(u, s), f = o.mul(l, a);
    const p = o.mul(l, n), d = o.mul(l, i), y = o.eql(o.sqr(f), u), b = o.eql(o.sqr(p), u);
    l = o.cmov(l, f, y), f = o.cmov(d, p, b);
    const v = o.eql(o.sqr(f), u), S = o.cmov(l, f, v);
    return zo(o, S, u), S;
  };
}
function kl(e) {
  if (e < vl)
    throw new Error("sqrt is not defined for small field");
  let r = e - Hr, t = 0;
  for (; r % Lt === Gr; )
    r /= Lt, t++;
  let a = Lt;
  const n = ya(e);
  for (; ac(n, a) === 1; )
    if (a++ > 1e3)
      throw new Error("Cannot find square root: probably non-prime P");
  if (t === 1)
    return El;
  let i = n.pow(a, r);
  const s = (r + Hr) / Lt;
  return function(u, l) {
    if (u.is0(l))
      return l;
    if (ac(u, l) !== 1)
      throw new Error("Cannot find square root");
    let f = t, p = u.mul(u.ONE, i), d = u.pow(l, r), y = u.pow(l, s);
    for (; !u.eql(d, u.ONE); ) {
      if (u.is0(d))
        return u.ZERO;
      let b = 1, v = u.sqr(d);
      for (; !u.eql(v, u.ONE); )
        if (b++, v = u.sqr(v), b === f)
          throw new Error("Cannot find square root");
      const S = Hr << BigInt(f - b - 1), x = u.pow(p, S);
      f = b, p = u.sqr(x), d = u.mul(d, p), y = u.mul(y, x);
    }
    return y;
  };
}
function m0(e) {
  return e % yl === vl ? El : e % wl === xl ? h0 : e % _l === d0 ? p0(e) : kl(e);
}
const g0 = (e, r) => (Ar(e, r) & Hr) === Hr, b0 = [
  "create",
  "isValid",
  "is0",
  "neg",
  "inv",
  "sqrt",
  "sqr",
  "eql",
  "add",
  "sub",
  "mul",
  "pow",
  "div",
  "addN",
  "subN",
  "mulN",
  "sqrN"
];
function v0(e) {
  const r = {
    ORDER: "bigint",
    MASK: "bigint",
    BYTES: "number",
    BITS: "number"
  }, t = b0.reduce((a, n) => (a[n] = "function", a), r);
  return Io(e, t), e;
}
function y0(e, r, t) {
  if (t < Gr)
    throw new Error("invalid exponent, negatives unsupported");
  if (t === Gr)
    return e.ONE;
  if (t === Hr)
    return r;
  let a = e.ONE, n = r;
  for (; t > Gr; )
    t & Hr && (a = e.mul(a, n)), n = e.sqr(n), t >>= Hr;
  return a;
}
function Sl(e, r, t = !1) {
  const a = new Array(r.length).fill(t ? e.ZERO : void 0), n = r.reduce((s, o, u) => e.is0(o) ? s : (a[u] = s, e.mul(s, o)), e.ONE), i = e.inv(n);
  return r.reduceRight((s, o, u) => e.is0(o) ? s : (a[u] = e.mul(s, a[u]), e.mul(s, o)), i), a;
}
function ac(e, r) {
  const t = (e.ORDER - Hr) / Lt, a = e.pow(r, t), n = e.eql(a, e.ONE), i = e.eql(a, e.ZERO), s = e.eql(a, e.neg(e.ONE));
  if (!n && !i && !s)
    throw new Error("invalid Legendre symbol result");
  return n ? 1 : i ? 0 : -1;
}
function x0(e, r) {
  r !== void 0 && mt(r);
  const t = r !== void 0 ? r : e.toString(2).length, a = Math.ceil(t / 8);
  return { nBitLength: t, nByteLength: a };
}
function ya(e, r, t = !1, a = {}) {
  if (e <= Gr)
    throw new Error("invalid field: expected ORDER > 0, got " + e);
  let n, i, s = !1, o;
  if (typeof r == "object" && r != null) {
    if (a.sqrt || t)
      throw new Error("cannot specify opts in two arguments");
    const d = r;
    d.BITS && (n = d.BITS), d.sqrt && (i = d.sqrt), typeof d.isLE == "boolean" && (t = d.isLE), typeof d.modFromBytes == "boolean" && (s = d.modFromBytes), o = d.allowedLengths;
  } else
    typeof r == "number" && (n = r), a.sqrt && (i = a.sqrt);
  const { nBitLength: u, nByteLength: l } = x0(e, n);
  if (l > 2048)
    throw new Error("invalid field: expected ORDER of <= 2048 bytes");
  let f;
  const p = Object.freeze({
    ORDER: e,
    isLE: t,
    BITS: u,
    BYTES: l,
    MASK: Bo(u),
    ZERO: Gr,
    ONE: Hr,
    allowedLengths: o,
    create: (d) => Ar(d, e),
    isValid: (d) => {
      if (typeof d != "bigint")
        throw new Error("invalid field element: expected bigint, got " + typeof d);
      return Gr <= d && d < e;
    },
    is0: (d) => d === Gr,
    // is valid and invertible
    isValidNot0: (d) => !p.is0(d) && p.isValid(d),
    isOdd: (d) => (d & Hr) === Hr,
    neg: (d) => Ar(-d, e),
    eql: (d, y) => d === y,
    sqr: (d) => Ar(d * d, e),
    add: (d, y) => Ar(d + y, e),
    sub: (d, y) => Ar(d - y, e),
    mul: (d, y) => Ar(d * y, e),
    pow: (d, y) => y0(p, d, y),
    div: (d, y) => Ar(d * tc(y, e), e),
    // Same as above, but doesn't normalize
    sqrN: (d) => d * d,
    addN: (d, y) => d + y,
    subN: (d, y) => d - y,
    mulN: (d, y) => d * y,
    inv: (d) => tc(d, e),
    sqrt: i || ((d) => (f || (f = m0(e)), f(p, d))),
    toBytes: (d) => t ? u0(d, l) : bl(d, l),
    fromBytes: (d, y = !0) => {
      if (o) {
        if (!o.includes(d.length) || d.length > l)
          throw new Error("Field.fromBytes: expected " + o + " bytes, got " + d.length);
        const v = new Uint8Array(l);
        v.set(d, t ? 0 : v.length - d.length), d = v;
      }
      if (d.length !== l)
        throw new Error("Field.fromBytes: expected " + l + " bytes, got " + d.length);
      let b = t ? Pa(d) : s0(d);
      if (s && (b = Ar(b, e)), !y && !p.isValid(b))
        throw new Error("invalid field element: outside of range 0..ORDER");
      return b;
    },
    // TODO: we don't need it here, move out to separate fn
    invertBatch: (d) => Sl(p, d),
    // We can't move this out because Fp6, Fp12 implement it
    // and it's unclear what to return in there.
    cmov: (d, y, b) => b ? y : d
  });
  return Object.freeze(p);
}
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
const Ma = BigInt(0), so = BigInt(1);
function ic(e, r) {
  const t = r.negate();
  return e ? t : r;
}
function za(e, r) {
  const t = Sl(e.Fp, r.map((a) => a.Z));
  return r.map((a, n) => e.fromAffine(a.toAffine(t[n])));
}
function Al(e, r) {
  if (!Number.isSafeInteger(e) || e <= 0 || e > r)
    throw new Error("invalid window size, expected [1.." + r + "], got W=" + e);
}
function Wn(e, r) {
  Al(e, r);
  const t = Math.ceil(r / e) + 1, a = 2 ** (e - 1), n = 2 ** e, i = Bo(e), s = BigInt(e);
  return { windows: t, windowSize: a, mask: i, maxNumber: n, shiftBy: s };
}
function nc(e, r, t) {
  const { windowSize: a, mask: n, maxNumber: i, shiftBy: s } = t;
  let o = Number(e & n), u = e >> s;
  o > a && (o -= i, u += so);
  const l = r * a, f = l + Math.abs(o) - 1, p = o === 0, d = o < 0, y = r % 2 !== 0;
  return { nextN: u, offset: f, isZero: p, isNeg: d, isNegF: y, offsetF: l };
}
function w0(e, r) {
  if (!Array.isArray(e))
    throw new Error("array expected");
  e.forEach((t, a) => {
    if (!(t instanceof r))
      throw new Error("invalid point at index " + a);
  });
}
function _0(e, r) {
  if (!Array.isArray(e))
    throw new Error("array of scalars expected");
  e.forEach((t, a) => {
    if (!r.isValid(t))
      throw new Error("invalid scalar at index " + a);
  });
}
const Yn = /* @__PURE__ */ new WeakMap(), Bl = /* @__PURE__ */ new WeakMap();
function Zn(e) {
  return Bl.get(e) || 1;
}
function oc(e) {
  if (e !== Ma)
    throw new Error("invalid wNAF");
}
class E0 {
  // Parametrized with a given Point class (not individual point)
  constructor(r, t) {
    this.BASE = r.BASE, this.ZERO = r.ZERO, this.Fn = r.Fn, this.bits = t;
  }
  // non-const time multiplication ladder
  _unsafeLadder(r, t, a = this.ZERO) {
    let n = r;
    for (; t > Ma; )
      t & so && (a = a.add(n)), n = n.double(), t >>= so;
    return a;
  }
  /**
   * Creates a wNAF precomputation window. Used for caching.
   * Default window size is set by `utils.precompute()` and is equal to 8.
   * Number of precomputed points depends on the curve size:
   * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:
   * - 𝑊 is the window size
   * - 𝑛 is the bitlength of the curve order.
   * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.
   * @param point Point instance
   * @param W window size
   * @returns precomputed point tables flattened to a single array
   */
  precomputeWindow(r, t) {
    const { windows: a, windowSize: n } = Wn(t, this.bits), i = [];
    let s = r, o = s;
    for (let u = 0; u < a; u++) {
      o = s, i.push(o);
      for (let l = 1; l < n; l++)
        o = o.add(s), i.push(o);
      s = o.double();
    }
    return i;
  }
  /**
   * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.
   * More compact implementation:
   * https://github.com/paulmillr/noble-secp256k1/blob/47cb1669b6e506ad66b35fe7d76132ae97465da2/index.ts#L502-L541
   * @returns real and fake (for const-time) points
   */
  wNAF(r, t, a) {
    if (!this.Fn.isValid(a))
      throw new Error("invalid scalar");
    let n = this.ZERO, i = this.BASE;
    const s = Wn(r, this.bits);
    for (let o = 0; o < s.windows; o++) {
      const { nextN: u, offset: l, isZero: f, isNeg: p, isNegF: d, offsetF: y } = nc(a, o, s);
      a = u, f ? i = i.add(ic(d, t[y])) : n = n.add(ic(p, t[l]));
    }
    return oc(a), { p: n, f: i };
  }
  /**
   * Implements ec unsafe (non const-time) multiplication using precomputed tables and w-ary non-adjacent form.
   * @param acc accumulator point to add result of multiplication
   * @returns point
   */
  wNAFUnsafe(r, t, a, n = this.ZERO) {
    const i = Wn(r, this.bits);
    for (let s = 0; s < i.windows && a !== Ma; s++) {
      const { nextN: o, offset: u, isZero: l, isNeg: f } = nc(a, s, i);
      if (a = o, !l) {
        const p = t[u];
        n = n.add(f ? p.negate() : p);
      }
    }
    return oc(a), n;
  }
  getPrecomputes(r, t, a) {
    let n = Yn.get(t);
    return n || (n = this.precomputeWindow(t, r), r !== 1 && (typeof a == "function" && (n = a(n)), Yn.set(t, n))), n;
  }
  cached(r, t, a) {
    const n = Zn(r);
    return this.wNAF(n, this.getPrecomputes(n, r, a), t);
  }
  unsafe(r, t, a, n) {
    const i = Zn(r);
    return i === 1 ? this._unsafeLadder(r, t, n) : this.wNAFUnsafe(i, this.getPrecomputes(i, r, a), t, n);
  }
  // We calculate precomputes for elliptic curve point multiplication
  // using windowed method. This specifies window size and
  // stores precomputed values. Usually only base point would be precomputed.
  createCache(r, t) {
    Al(t, this.bits), Bl.set(r, t), Yn.delete(r);
  }
  hasCache(r) {
    return Zn(r) !== 1;
  }
}
function k0(e, r, t, a) {
  w0(t, e), _0(a, r);
  const n = t.length, i = a.length;
  if (n !== i)
    throw new Error("arrays of points and scalars must have equal length");
  const s = e.ZERO, o = l0(BigInt(n));
  let u = 1;
  o > 12 ? u = o - 3 : o > 4 ? u = o - 2 : o > 0 && (u = 2);
  const l = Bo(u), f = new Array(Number(l) + 1).fill(s), p = Math.floor((r.BITS - 1) / u) * u;
  let d = s;
  for (let y = p; y >= 0; y -= u) {
    f.fill(s);
    for (let v = 0; v < i; v++) {
      const S = a[v], x = Number(S >> BigInt(y) & l);
      f[x] = f[x].add(t[v]);
    }
    let b = s;
    for (let v = f.length - 1, S = s; v > 0; v--)
      S = S.add(f[v]), b = b.add(S);
    if (d = d.add(b), y !== 0)
      for (let v = 0; v < u; v++)
        d = d.double();
  }
  return d;
}
function sc(e, r, t) {
  if (r) {
    if (r.ORDER !== e)
      throw new Error("Field.ORDER must match order: Fp == p, Fn == n");
    return v0(r), r;
  } else
    return ya(e, { isLE: t });
}
function S0(e, r, t = {}, a) {
  if (a === void 0 && (a = e === "edwards"), !r || typeof r != "object")
    throw new Error(`expected valid ${e} CURVE object`);
  for (const u of ["p", "n", "h"]) {
    const l = r[u];
    if (!(typeof l == "bigint" && l > Ma))
      throw new Error(`CURVE.${u} must be positive bigint`);
  }
  const n = sc(r.p, t.Fp, a), i = sc(r.n, t.Fn, a), o = ["Gx", "Gy", "a", "d"];
  for (const u of o)
    if (!n.isValid(r[u]))
      throw new Error(`CURVE.${u} must be valid field element of CURVE.Fp`);
  return r = Object.freeze(Object.assign({}, r)), { CURVE: r, Fp: n, Fn: i };
}
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
const yt = BigInt(0), Tr = BigInt(1), Xn = BigInt(2), A0 = BigInt(8);
function B0(e, r, t, a) {
  const n = e.sqr(t), i = e.sqr(a), s = e.add(e.mul(r.a, n), i), o = e.add(e.ONE, e.mul(r.d, e.mul(n, i)));
  return e.eql(s, o);
}
function I0(e, r = {}) {
  const t = S0("edwards", e, r, r.FpFnLE), { Fp: a, Fn: n } = t;
  let i = t.CURVE;
  const { h: s } = i;
  Io(r, {}, { uvRatio: "function" });
  const o = Xn << BigInt(n.BYTES * 8) - Tr, u = (S) => a.create(S), l = r.uvRatio || ((S, x) => {
    try {
      return { isValid: !0, value: a.sqrt(a.div(S, x)) };
    } catch {
      return { isValid: !1, value: yt };
    }
  });
  if (!B0(a, i, i.Gx, i.Gy))
    throw new Error("bad curve params: generator point");
  function f(S, x, T = !1) {
    const k = T ? Tr : yt;
    return ec("coordinate " + S, x, k, o), x;
  }
  function p(S) {
    if (!(S instanceof b))
      throw new Error("ExtendedPoint expected");
  }
  const d = rc((S, x) => {
    const { X: T, Y: k, Z: B } = S, I = S.is0();
    x == null && (x = I ? A0 : a.inv(B));
    const O = u(T * x), N = u(k * x), M = a.mul(B, x);
    if (I)
      return { x: yt, y: Tr };
    if (M !== Tr)
      throw new Error("invZ was invalid");
    return { x: O, y: N };
  }), y = rc((S) => {
    const { a: x, d: T } = i;
    if (S.is0())
      throw new Error("bad point: ZERO");
    const { X: k, Y: B, Z: I, T: O } = S, N = u(k * k), M = u(B * B), z = u(I * I), D = u(z * z), P = u(N * x), J = u(z * u(P + M)), K = u(D + u(T * u(N * M)));
    if (J !== K)
      throw new Error("bad point: equation left != right (1)");
    const ie = u(k * B), ce = u(I * O);
    if (ie !== ce)
      throw new Error("bad point: equation left != right (2)");
    return !0;
  });
  class b {
    constructor(x, T, k, B) {
      this.X = f("x", x), this.Y = f("y", T), this.Z = f("z", k, !0), this.T = f("t", B), Object.freeze(this);
    }
    static CURVE() {
      return i;
    }
    static fromAffine(x) {
      if (x instanceof b)
        throw new Error("extended point not allowed");
      const { x: T, y: k } = x || {};
      return f("x", T), f("y", k), new b(T, k, Tr, u(T * k));
    }
    // Uses algo from RFC8032 5.1.3.
    static fromBytes(x, T = !1) {
      const k = a.BYTES, { a: B, d: I } = i;
      x = Qu(ja(x, k, "point")), oo(T, "zip215");
      const O = Qu(x), N = x[k - 1];
      O[k - 1] = N & -129;
      const M = Pa(O), z = T ? o : a.ORDER;
      ec("point.y", M, yt, z);
      const D = u(M * M), P = u(D - Tr), J = u(I * D - B);
      let { isValid: K, value: ie } = l(P, J);
      if (!K)
        throw new Error("bad point: invalid y coordinate");
      const ce = (ie & Tr) === Tr, ue = (N & 128) !== 0;
      if (!T && ie === yt && ue)
        throw new Error("bad point: x=0 and x_0=1");
      return ue !== ce && (ie = u(-ie)), b.fromAffine({ x: ie, y: M });
    }
    static fromHex(x, T = !1) {
      return b.fromBytes(_t("point", x), T);
    }
    get x() {
      return this.toAffine().x;
    }
    get y() {
      return this.toAffine().y;
    }
    precompute(x = 8, T = !0) {
      return v.createCache(this, x), T || this.multiply(Xn), this;
    }
    // Useful in fromAffine() - not for fromBytes(), which always created valid points.
    assertValidity() {
      y(this);
    }
    // Compare one point to another.
    equals(x) {
      p(x);
      const { X: T, Y: k, Z: B } = this, { X: I, Y: O, Z: N } = x, M = u(T * N), z = u(I * B), D = u(k * N), P = u(O * B);
      return M === z && D === P;
    }
    is0() {
      return this.equals(b.ZERO);
    }
    negate() {
      return new b(u(-this.X), this.Y, this.Z, u(-this.T));
    }
    // Fast algo for doubling Extended Point.
    // https://hyperelliptic.org/EFD/g1p/auto-twisted-extended.html#doubling-dbl-2008-hwcd
    // Cost: 4M + 4S + 1*a + 6add + 1*2.
    double() {
      const { a: x } = i, { X: T, Y: k, Z: B } = this, I = u(T * T), O = u(k * k), N = u(Xn * u(B * B)), M = u(x * I), z = T + k, D = u(u(z * z) - I - O), P = M + O, J = P - N, K = M - O, ie = u(D * J), ce = u(P * K), ue = u(D * K), xe = u(J * P);
      return new b(ie, ce, xe, ue);
    }
    // Fast algo for adding 2 Extended Points.
    // https://hyperelliptic.org/EFD/g1p/auto-twisted-extended.html#addition-add-2008-hwcd
    // Cost: 9M + 1*a + 1*d + 7add.
    add(x) {
      p(x);
      const { a: T, d: k } = i, { X: B, Y: I, Z: O, T: N } = this, { X: M, Y: z, Z: D, T: P } = x, J = u(B * M), K = u(I * z), ie = u(N * k * P), ce = u(O * D), ue = u((B + I) * (M + z) - J - K), xe = ce - ie, De = ce + ie, F = u(K - T * J), he = u(ue * xe), de = u(De * F), Ee = u(ue * F), Ie = u(xe * De);
      return new b(he, de, Ie, Ee);
    }
    subtract(x) {
      return this.add(x.negate());
    }
    // Constant-time multiplication.
    multiply(x) {
      if (!n.isValidNot0(x))
        throw new Error("invalid scalar: expected 1 <= sc < curve.n");
      const { p: T, f: k } = v.cached(this, x, (B) => za(b, B));
      return za(b, [T, k])[0];
    }
    // Non-constant-time multiplication. Uses double-and-add algorithm.
    // It's faster, but should only be used when you don't care about
    // an exposed private key e.g. sig verification.
    // Does NOT allow scalars higher than CURVE.n.
    // Accepts optional accumulator to merge with multiply (important for sparse scalars)
    multiplyUnsafe(x, T = b.ZERO) {
      if (!n.isValid(x))
        throw new Error("invalid scalar: expected 0 <= sc < curve.n");
      return x === yt ? b.ZERO : this.is0() || x === Tr ? this : v.unsafe(this, x, (k) => za(b, k), T);
    }
    // Checks if point is of small order.
    // If you add something to small order point, you will have "dirty"
    // point with torsion component.
    // Multiplies point by cofactor and checks if the result is 0.
    isSmallOrder() {
      return this.multiplyUnsafe(s).is0();
    }
    // Multiplies point by curve order and checks if the result is 0.
    // Returns `false` is the point is dirty.
    isTorsionFree() {
      return v.unsafe(this, i.n).is0();
    }
    // Converts Extended point to default (x, y) coordinates.
    // Can accept precomputed Z^-1 - for example, from invertBatch.
    toAffine(x) {
      return d(this, x);
    }
    clearCofactor() {
      return s === Tr ? this : this.multiplyUnsafe(s);
    }
    toBytes() {
      const { x, y: T } = this.toAffine(), k = a.toBytes(T);
      return k[k.length - 1] |= x & Tr ? 128 : 0, k;
    }
    toHex() {
      return ei(this.toBytes());
    }
    toString() {
      return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
    }
    // TODO: remove
    get ex() {
      return this.X;
    }
    get ey() {
      return this.Y;
    }
    get ez() {
      return this.Z;
    }
    get et() {
      return this.T;
    }
    static normalizeZ(x) {
      return za(b, x);
    }
    static msm(x, T) {
      return k0(b, n, x, T);
    }
    _setWindowSize(x) {
      this.precompute(x);
    }
    toRawBytes() {
      return this.toBytes();
    }
  }
  b.BASE = new b(i.Gx, i.Gy, Tr, u(i.Gx * i.Gy)), b.ZERO = new b(yt, Tr, Tr, yt), b.Fp = a, b.Fn = n;
  const v = new E0(b, n.BITS);
  return b.BASE.precompute(8), b;
}
function z0(e, r, t = {}) {
  if (typeof r != "function")
    throw new Error('"hash" function param is required');
  Io(t, {}, {
    adjustScalarBytes: "function",
    randomBytes: "function",
    domain: "function",
    prehash: "function",
    mapToCurve: "function"
  });
  const { prehash: a } = t, { BASE: n, Fp: i, Fn: s } = e, o = t.randomBytes || Wh, u = t.adjustScalarBytes || ((z) => z), l = t.domain || ((z, D, P) => {
    if (oo(P, "phflag"), D.length || P)
      throw new Error("Contexts/pre-hash are not supported");
    return z;
  });
  function f(z) {
    return s.create(Pa(z));
  }
  function p(z) {
    const D = k.secretKey;
    z = _t("private key", z, D);
    const P = _t("hashed private key", r(z), 2 * D), J = u(P.slice(0, D)), K = P.slice(D, 2 * D), ie = f(J);
    return { head: J, prefix: K, scalar: ie };
  }
  function d(z) {
    const { head: D, prefix: P, scalar: J } = p(z), K = n.multiply(J), ie = K.toBytes();
    return { head: D, prefix: P, scalar: J, point: K, pointBytes: ie };
  }
  function y(z) {
    return d(z).pointBytes;
  }
  function b(z = Uint8Array.of(), ...D) {
    const P = Yu(...D);
    return f(r(l(P, _t("context", z), !!a)));
  }
  function v(z, D, P = {}) {
    z = _t("message", z), a && (z = a(z));
    const { prefix: J, scalar: K, pointBytes: ie } = d(D), ce = b(P.context, J, z), ue = n.multiply(ce).toBytes(), xe = b(P.context, ue, ie, z), De = s.create(ce + xe * K);
    if (!s.isValid(De))
      throw new Error("sign failed: invalid s");
    const F = Yu(ue, s.toBytes(De));
    return ja(F, k.signature, "result");
  }
  const S = { zip215: !0 };
  function x(z, D, P, J = S) {
    const { context: K, zip215: ie } = J, ce = k.signature;
    z = _t("signature", z, ce), D = _t("message", D), P = _t("publicKey", P, k.publicKey), ie !== void 0 && oo(ie, "zip215"), a && (D = a(D));
    const ue = ce / 2, xe = z.subarray(0, ue), De = Pa(z.subarray(ue, ce));
    let F, he, de;
    try {
      F = e.fromBytes(P, ie), he = e.fromBytes(xe, ie), de = n.multiplyUnsafe(De);
    } catch {
      return !1;
    }
    if (!ie && F.isSmallOrder())
      return !1;
    const Ee = b(K, he.toBytes(), F.toBytes(), D);
    return he.add(F.multiplyUnsafe(Ee)).subtract(de).clearCofactor().is0();
  }
  const T = i.BYTES, k = {
    secretKey: T,
    publicKey: T,
    signature: 2 * T,
    seed: T
  };
  function B(z = o(k.seed)) {
    return ja(z, k.seed, "seed");
  }
  function I(z) {
    const D = M.randomSecretKey(z);
    return { secretKey: D, publicKey: y(D) };
  }
  function O(z) {
    return Qa(z) && z.length === s.BYTES;
  }
  function N(z, D) {
    try {
      return !!e.fromBytes(z, D);
    } catch {
      return !1;
    }
  }
  const M = {
    getExtendedPublicKey: d,
    randomSecretKey: B,
    isValidSecretKey: O,
    isValidPublicKey: N,
    /**
     * Converts ed public key to x public key. Uses formula:
     * - ed25519:
     *   - `(u, v) = ((1+y)/(1-y), sqrt(-486664)*u/x)`
     *   - `(x, y) = (sqrt(-486664)*u/v, (u-1)/(u+1))`
     * - ed448:
     *   - `(u, v) = ((y-1)/(y+1), sqrt(156324)*u/x)`
     *   - `(x, y) = (sqrt(156324)*u/v, (1+u)/(1-u))`
     */
    toMontgomery(z) {
      const { y: D } = e.fromBytes(z), P = k.publicKey, J = P === 32;
      if (!J && P !== 57)
        throw new Error("only defined for 25519 and 448");
      const K = J ? i.div(Tr + D, Tr - D) : i.div(D - Tr, D + Tr);
      return i.toBytes(K);
    },
    toMontgomeryPriv(z) {
      const D = k.secretKey;
      ja(z, D);
      const P = r(z.subarray(0, D));
      return u(P).subarray(0, D);
    },
    /** @deprecated */
    randomPrivateKey: B,
    /** @deprecated */
    precompute(z = 8, D = e.BASE) {
      return D.precompute(z, !1);
    }
  };
  return Object.freeze({
    keygen: I,
    getPublicKey: y,
    sign: v,
    verify: x,
    utils: M,
    Point: e,
    lengths: k
  });
}
function T0(e) {
  const r = {
    a: e.a,
    d: e.d,
    p: e.Fp.ORDER,
    n: e.n,
    h: e.h,
    Gx: e.Gx,
    Gy: e.Gy
  }, t = e.Fp, a = ya(r.n, e.nBitLength, !0), n = { Fp: t, Fn: a, uvRatio: e.uvRatio }, i = {
    randomBytes: e.randomBytes,
    adjustScalarBytes: e.adjustScalarBytes,
    domain: e.domain,
    prehash: e.prehash,
    mapToCurve: e.mapToCurve
  };
  return { CURVE: r, curveOpts: n, hash: e.hash, eddsaOpts: i };
}
function j0(e, r) {
  const t = r.Point;
  return Object.assign({}, r, {
    ExtendedPoint: t,
    CURVE: e,
    nBitLength: t.Fn.BITS,
    nByteLength: t.Fn.BYTES
  });
}
function R0(e) {
  const { CURVE: r, curveOpts: t, hash: a, eddsaOpts: n } = T0(e), i = I0(r, t), s = z0(i, a, n);
  return j0(e, s);
}
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
const q0 = BigInt(1), uc = BigInt(2);
BigInt(3);
const O0 = BigInt(5), U0 = BigInt(8), To = BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"), Il = {
  p: To,
  n: BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),
  h: U0,
  a: BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),
  d: BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),
  Gx: BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),
  Gy: BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")
};
function D0(e) {
  const r = BigInt(10), t = BigInt(20), a = BigInt(40), n = BigInt(80), i = To, o = e * e % i * e % i, u = nt(o, uc, i) * o % i, l = nt(u, q0, i) * e % i, f = nt(l, O0, i) * l % i, p = nt(f, r, i) * f % i, d = nt(p, t, i) * p % i, y = nt(d, a, i) * d % i, b = nt(y, n, i) * y % i, v = nt(b, n, i) * y % i, S = nt(v, r, i) * f % i;
  return { pow_p_5_8: nt(S, uc, i) * e % i, b2: o };
}
function L0(e) {
  return e[0] &= 248, e[31] &= 127, e[31] |= 64, e;
}
const cc = /* @__PURE__ */ BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");
function N0(e, r) {
  const t = To, a = Ar(r * r * r, t), n = Ar(a * a * r, t), i = D0(e * n).pow_p_5_8;
  let s = Ar(e * a * i, t);
  const o = Ar(r * s * s, t), u = s, l = Ar(s * cc, t), f = o === e, p = o === Ar(-e, t), d = o === Ar(-e * cc, t);
  return f && (s = u), (p || d) && (s = l), g0(s, t) && (s = Ar(-s, t)), { isValid: f || p, value: s };
}
const C0 = ya(Il.p, { isLE: !0 }), P0 = {
  ...Il,
  Fp: C0,
  hash: So,
  adjustScalarBytes: L0,
  // dom2
  // Ratio of u to v. Allows us to combine inversion and square root. Uses algo from RFC8032 5.1.3.
  // Constant-time, u/√v
  uvRatio: N0
}, ht = R0(P0);
/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */
function jo(e) {
  return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
}
function zl(e, r) {
  return Array.isArray(r) ? r.length === 0 ? !0 : e ? r.every((t) => typeof t == "string") : r.every((t) => Number.isSafeInteger(t)) : !1;
}
function M0(e) {
  if (typeof e != "function")
    throw new Error("function expected");
  return !0;
}
function fa(e, r) {
  if (typeof r != "string")
    throw new Error(`${e}: string expected`);
  return !0;
}
function ri(e) {
  if (!Number.isSafeInteger(e))
    throw new Error(`invalid integer: ${e}`);
}
function Ha(e) {
  if (!Array.isArray(e))
    throw new Error("array expected");
}
function Tl(e, r) {
  if (!zl(!0, r))
    throw new Error(`${e}: array of strings expected`);
}
function Ro(e, r) {
  if (!zl(!1, r))
    throw new Error(`${e}: array of numbers expected`);
}
// @__NO_SIDE_EFFECTS__
function jl(...e) {
  const r = (i) => i, t = (i, s) => (o) => i(s(o)), a = e.map((i) => i.encode).reduceRight(t, r), n = e.map((i) => i.decode).reduce(t, r);
  return { encode: a, decode: n };
}
// @__NO_SIDE_EFFECTS__
function Rl(e) {
  const r = typeof e == "string" ? e.split("") : e, t = r.length;
  Tl("alphabet", r);
  const a = new Map(r.map((n, i) => [n, i]));
  return {
    encode: (n) => (Ha(n), n.map((i) => {
      if (!Number.isSafeInteger(i) || i < 0 || i >= t)
        throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${e}`);
      return r[i];
    })),
    decode: (n) => (Ha(n), n.map((i) => {
      fa("alphabet.decode", i);
      const s = a.get(i);
      if (s === void 0)
        throw new Error(`Unknown letter: "${i}". Allowed: ${e}`);
      return s;
    }))
  };
}
// @__NO_SIDE_EFFECTS__
function ql(e = "") {
  return fa("join", e), {
    encode: (r) => (Tl("join.decode", r), r.join(e)),
    decode: (r) => (fa("join.decode", r), r.split(e))
  };
}
function lc(e, r, t) {
  if (r < 2)
    throw new Error(`convertRadix: invalid from=${r}, base cannot be less than 2`);
  if (t < 2)
    throw new Error(`convertRadix: invalid to=${t}, base cannot be less than 2`);
  if (Ha(e), !e.length)
    return [];
  let a = 0;
  const n = [], i = Array.from(e, (o) => {
    if (ri(o), o < 0 || o >= r)
      throw new Error(`invalid integer: ${o}`);
    return o;
  }), s = i.length;
  for (; ; ) {
    let o = 0, u = !0;
    for (let l = a; l < s; l++) {
      const f = i[l], p = r * o, d = p + f;
      if (!Number.isSafeInteger(d) || p / r !== o || d - f !== p)
        throw new Error("convertRadix: carry overflow");
      const y = d / t;
      o = d % t;
      const b = Math.floor(y);
      if (i[l] = b, !Number.isSafeInteger(b) || b * t + o !== d)
        throw new Error("convertRadix: carry overflow");
      if (u)
        b ? u = !1 : a = l;
      else continue;
    }
    if (n.push(o), u)
      break;
  }
  for (let o = 0; o < e.length - 1 && e[o] === 0; o++)
    n.push(0);
  return n.reverse();
}
const Ol = (e, r) => r === 0 ? e : Ol(r, e % r), Fa = /* @__NO_SIDE_EFFECTS__ */ (e, r) => e + (r - Ol(e, r)), Ra = /* @__PURE__ */ (() => {
  let e = [];
  for (let r = 0; r < 40; r++)
    e.push(2 ** r);
  return e;
})();
function uo(e, r, t, a) {
  if (Ha(e), r <= 0 || r > 32)
    throw new Error(`convertRadix2: wrong from=${r}`);
  if (t <= 0 || t > 32)
    throw new Error(`convertRadix2: wrong to=${t}`);
  if (/* @__PURE__ */ Fa(r, t) > 32)
    throw new Error(`convertRadix2: carry overflow from=${r} to=${t} carryBits=${/* @__PURE__ */ Fa(r, t)}`);
  let n = 0, i = 0;
  const s = Ra[r], o = Ra[t] - 1, u = [];
  for (const l of e) {
    if (ri(l), l >= s)
      throw new Error(`convertRadix2: invalid data word=${l} from=${r}`);
    if (n = n << r | l, i + r > 32)
      throw new Error(`convertRadix2: carry overflow pos=${i} from=${r}`);
    for (i += r; i >= t; i -= t)
      u.push((n >> i - t & o) >>> 0);
    const f = Ra[i];
    if (f === void 0)
      throw new Error("invalid carry");
    n &= f - 1;
  }
  if (n = n << t - i & o, !a && i >= r)
    throw new Error("Excess padding");
  if (!a && n > 0)
    throw new Error(`Non-zero padding: ${n}`);
  return a && i > 0 && u.push(n >>> 0), u;
}
// @__NO_SIDE_EFFECTS__
function H0(e) {
  ri(e);
  const r = 2 ** 8;
  return {
    encode: (t) => {
      if (!jo(t))
        throw new Error("radix.encode input should be Uint8Array");
      return lc(Array.from(t), r, e);
    },
    decode: (t) => (Ro("radix.decode", t), Uint8Array.from(lc(t, e, r)))
  };
}
// @__NO_SIDE_EFFECTS__
function F0(e, r = !1) {
  if (ri(e), e <= 0 || e > 32)
    throw new Error("radix2: bits should be in (0..32]");
  if (/* @__PURE__ */ Fa(8, e) > 32 || /* @__PURE__ */ Fa(e, 8) > 32)
    throw new Error("radix2: carry overflow");
  return {
    encode: (t) => {
      if (!jo(t))
        throw new Error("radix2.encode input should be Uint8Array");
      return uo(Array.from(t), 8, e, !r);
    },
    decode: (t) => (Ro("radix2.decode", t), Uint8Array.from(uo(t, e, 8, r)))
  };
}
function fc(e) {
  return M0(e), function(...r) {
    try {
      return e.apply(null, r);
    } catch {
    }
  };
}
const $0 = /* @__NO_SIDE_EFFECTS__ */ (e) => /* @__PURE__ */ jl(/* @__PURE__ */ H0(58), /* @__PURE__ */ Rl(e), /* @__PURE__ */ ql("")), Ul = /* @__PURE__ */ $0("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"), co = /* @__PURE__ */ jl(/* @__PURE__ */ Rl("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), /* @__PURE__ */ ql("")), dc = [996825010, 642813549, 513874426, 1027748829, 705979059];
function ia(e) {
  const r = e >> 25;
  let t = (e & 33554431) << 5;
  for (let a = 0; a < dc.length; a++)
    (r >> a & 1) === 1 && (t ^= dc[a]);
  return t;
}
function hc(e, r, t = 1) {
  const a = e.length;
  let n = 1;
  for (let i = 0; i < a; i++) {
    const s = e.charCodeAt(i);
    if (s < 33 || s > 126)
      throw new Error(`Invalid prefix (${e})`);
    n = ia(n) ^ s >> 5;
  }
  n = ia(n);
  for (let i = 0; i < a; i++)
    n = ia(n) ^ e.charCodeAt(i) & 31;
  for (let i of r)
    n = ia(n) ^ i;
  for (let i = 0; i < 6; i++)
    n = ia(n);
  return n ^= t, co.encode(uo([n % Ra[30]], 30, 5, !1));
}
// @__NO_SIDE_EFFECTS__
function V0(e) {
  const r = e === "bech32" ? 1 : 734539939, t = /* @__PURE__ */ F0(5), a = t.decode, n = t.encode, i = fc(a);
  function s(p, d, y = 90) {
    fa("bech32.encode prefix", p), jo(d) && (d = Array.from(d)), Ro("bech32.encode", d);
    const b = p.length;
    if (b === 0)
      throw new TypeError(`Invalid prefix length ${b}`);
    const v = b + 7 + d.length;
    if (y !== !1 && v > y)
      throw new TypeError(`Length ${v} exceeds limit ${y}`);
    const S = p.toLowerCase(), x = hc(S, d, r);
    return `${S}1${co.encode(d)}${x}`;
  }
  function o(p, d = 90) {
    fa("bech32.decode input", p);
    const y = p.length;
    if (y < 8 || d !== !1 && y > d)
      throw new TypeError(`invalid string length: ${y} (${p}). Expected (8..${d})`);
    const b = p.toLowerCase();
    if (p !== b && p !== p.toUpperCase())
      throw new Error("String must be lowercase or uppercase");
    const v = b.lastIndexOf("1");
    if (v === 0 || v === -1)
      throw new Error('Letter "1" must be present between prefix and data only');
    const S = b.slice(0, v), x = b.slice(v + 1);
    if (x.length < 6)
      throw new Error("Data must be at least 6 characters long");
    const T = co.decode(x).slice(0, -6), k = hc(S, T, r);
    if (!x.endsWith(k))
      throw new Error(`Invalid checksum in ${p}: expected "${k}"`);
    return { prefix: S, words: T };
  }
  const u = fc(o);
  function l(p) {
    const { prefix: d, words: y } = o(p, !1);
    return { prefix: d, words: y, bytes: a(y) };
  }
  function f(p, d) {
    return s(p, n(d));
  }
  return {
    encode: s,
    decode: o,
    encodeFromBytes: f,
    decodeToBytes: l,
    decodeUnsafe: u,
    fromWords: a,
    fromWordsUnsafe: i,
    toWords: n
  };
}
const $a = /* @__PURE__ */ V0("bech32"), qo = (e) => Ul.encode(e), lo = (e) => Ul.decode(e);
function Ct(e) {
  return Uint8Array.from(atob(e), (r) => r.charCodeAt(0));
}
const Jn = 8192;
function it(e) {
  if (e.length < Jn)
    return btoa(String.fromCharCode(...e));
  let r = "";
  for (var t = 0; t < e.length; t += Jn) {
    const a = e.slice(t, t + Jn);
    r += String.fromCharCode(...a);
  }
  return btoa(r);
}
function Oo(e) {
  var n;
  const r = e.startsWith("0x") ? e.slice(2) : e, t = r.length % 2 === 0 ? r : `0${r}`, a = ((n = t.match(/[0-9a-fA-F]{2}/g)) == null ? void 0 : n.map((i) => parseInt(i, 16))) ?? [];
  if (a.length !== t.length / 2)
    throw new Error(`Invalid hex string ${e}`);
  return Uint8Array.from(a);
}
function da(e) {
  return e.reduce((r, t) => r + t.toString(16).padStart(2, "0"), "");
}
function Va(e) {
  const r = [];
  let t = 0;
  if (e === 0)
    return [0];
  for (; e > 0; )
    r[t] = e & 127, (e >>= 7) && (r[t] |= 128), t += 1;
  return r;
}
function G0(e) {
  let r = 0, t = 0, a = 0;
  for (; ; ) {
    const n = e[a];
    if (a += 1, r |= (n & 127) << t, (n & 128) === 0)
      break;
    t += 7;
  }
  return {
    value: r,
    length: a
  };
}
class K0 {
  /**
   * @param {Uint8Array} data Data to use as a buffer.
   */
  constructor(r) {
    this.bytePosition = 0, this.dataView = new DataView(r.buffer, r.byteOffset, r.byteLength);
  }
  /**
   * Shift current cursor position by `bytes`.
   *
   * @param {Number} bytes Number of bytes to
   * @returns {this} Self for possible chaining.
   */
  shift(r) {
    return this.bytePosition += r, this;
  }
  /**
   * Read U8 value from the buffer and shift cursor by 1.
   * @returns
   */
  read8() {
    const r = this.dataView.getUint8(this.bytePosition);
    return this.shift(1), r;
  }
  /**
   * Read U16 value from the buffer and shift cursor by 2.
   * @returns
   */
  read16() {
    const r = this.dataView.getUint16(this.bytePosition, !0);
    return this.shift(2), r;
  }
  /**
   * Read U32 value from the buffer and shift cursor by 4.
   * @returns
   */
  read32() {
    const r = this.dataView.getUint32(this.bytePosition, !0);
    return this.shift(4), r;
  }
  /**
   * Read U64 value from the buffer and shift cursor by 8.
   * @returns
   */
  read64() {
    const r = this.read32(), a = this.read32().toString(16) + r.toString(16).padStart(8, "0");
    return BigInt("0x" + a).toString(10);
  }
  /**
   * Read U128 value from the buffer and shift cursor by 16.
   */
  read128() {
    const r = BigInt(this.read64()), a = BigInt(this.read64()).toString(16) + r.toString(16).padStart(16, "0");
    return BigInt("0x" + a).toString(10);
  }
  /**
   * Read U128 value from the buffer and shift cursor by 32.
   * @returns
   */
  read256() {
    const r = BigInt(this.read128()), a = BigInt(this.read128()).toString(16) + r.toString(16).padStart(32, "0");
    return BigInt("0x" + a).toString(10);
  }
  /**
   * Read `num` number of bytes from the buffer and shift cursor by `num`.
   * @param num Number of bytes to read.
   */
  readBytes(r) {
    const t = this.bytePosition + this.dataView.byteOffset, a = new Uint8Array(this.dataView.buffer, t, r);
    return this.shift(r), a;
  }
  /**
   * Read ULEB value - an integer of varying size. Used for enum indexes and
   * vector lengths.
   * @returns {Number} The ULEB value.
   */
  readULEB() {
    const r = this.bytePosition + this.dataView.byteOffset, t = new Uint8Array(this.dataView.buffer, r), { value: a, length: n } = G0(t);
    return this.shift(n), a;
  }
  /**
   * Read a BCS vector: read a length and then apply function `cb` X times
   * where X is the length of the vector, defined as ULEB in BCS bytes.
   * @param cb Callback to process elements of vector.
   * @returns {Array<Any>} Array of the resulting values, returned by callback.
   */
  readVec(r) {
    const t = this.readULEB(), a = [];
    for (let n = 0; n < t; n++)
      a.push(r(this, n, t));
    return a;
  }
}
function W0(e, r) {
  switch (r) {
    case "base58":
      return qo(e);
    case "base64":
      return it(e);
    case "hex":
      return da(e);
    default:
      throw new Error("Unsupported encoding, supported values are: base64, hex");
  }
}
function Y0(e, r = ["<", ">"]) {
  const [t, a] = r, n = [];
  let i = "", s = 0;
  for (let o = 0; o < e.length; o++) {
    const u = e[o];
    if (u === t && s++, u === a && s--, s === 0 && u === ",") {
      n.push(i.trim()), i = "";
      continue;
    }
    i += u;
  }
  return n.push(i.trim()), n;
}
class Z0 {
  constructor({
    initialSize: r = 1024,
    maxSize: t = 1 / 0,
    allocateSize: a = 1024
  } = {}) {
    this.bytePosition = 0, this.size = r, this.maxSize = t, this.allocateSize = a, this.dataView = new DataView(new ArrayBuffer(r));
  }
  ensureSizeOrGrow(r) {
    const t = this.bytePosition + r;
    if (t > this.size) {
      const a = Math.min(this.maxSize, this.size + this.allocateSize);
      if (t > a)
        throw new Error(
          `Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${t}`
        );
      this.size = a;
      const n = new ArrayBuffer(this.size);
      new Uint8Array(n).set(new Uint8Array(this.dataView.buffer)), this.dataView = new DataView(n);
    }
  }
  /**
   * Shift current cursor position by `bytes`.
   *
   * @param {Number} bytes Number of bytes to
   * @returns {this} Self for possible chaining.
   */
  shift(r) {
    return this.bytePosition += r, this;
  }
  /**
   * Write a U8 value into a buffer and shift cursor position by 1.
   * @param {Number} value Value to write.
   * @returns {this}
   */
  write8(r) {
    return this.ensureSizeOrGrow(1), this.dataView.setUint8(this.bytePosition, Number(r)), this.shift(1);
  }
  /**
   * Write a U16 value into a buffer and shift cursor position by 2.
   * @param {Number} value Value to write.
   * @returns {this}
   */
  write16(r) {
    return this.ensureSizeOrGrow(2), this.dataView.setUint16(this.bytePosition, Number(r), !0), this.shift(2);
  }
  /**
   * Write a U32 value into a buffer and shift cursor position by 4.
   * @param {Number} value Value to write.
   * @returns {this}
   */
  write32(r) {
    return this.ensureSizeOrGrow(4), this.dataView.setUint32(this.bytePosition, Number(r), !0), this.shift(4);
  }
  /**
   * Write a U64 value into a buffer and shift cursor position by 8.
   * @param {bigint} value Value to write.
   * @returns {this}
   */
  write64(r) {
    return Qn(BigInt(r), 8).forEach((t) => this.write8(t)), this;
  }
  /**
   * Write a U128 value into a buffer and shift cursor position by 16.
   *
   * @param {bigint} value Value to write.
   * @returns {this}
   */
  write128(r) {
    return Qn(BigInt(r), 16).forEach((t) => this.write8(t)), this;
  }
  /**
   * Write a U256 value into a buffer and shift cursor position by 16.
   *
   * @param {bigint} value Value to write.
   * @returns {this}
   */
  write256(r) {
    return Qn(BigInt(r), 32).forEach((t) => this.write8(t)), this;
  }
  /**
   * Write a ULEB value into a buffer and shift cursor position by number of bytes
   * written.
   * @param {Number} value Value to write.
   * @returns {this}
   */
  writeULEB(r) {
    return Va(r).forEach((t) => this.write8(t)), this;
  }
  /**
   * Write a vector into a buffer by first writing the vector length and then calling
   * a callback on each passed value.
   *
   * @param {Array<Any>} vector Array of elements to write.
   * @param {WriteVecCb} cb Callback to call on each element of the vector.
   * @returns {this}
   */
  writeVec(r, t) {
    return this.writeULEB(r.length), Array.from(r).forEach((a, n) => t(this, a, n, r.length)), this;
  }
  /**
   * Adds support for iterations over the object.
   * @returns {Uint8Array}
   */
  *[Symbol.iterator]() {
    for (let r = 0; r < this.bytePosition; r++)
      yield this.dataView.getUint8(r);
    return this.toBytes();
  }
  /**
   * Get underlying buffer taking only value bytes (in case initial buffer size was bigger).
   * @returns {Uint8Array} Resulting bcs.
   */
  toBytes() {
    return new Uint8Array(this.dataView.buffer.slice(0, this.bytePosition));
  }
  /**
   * Represent data as 'hex' or 'base64'
   * @param encoding Encoding to use: 'base64' or 'hex'
   */
  toString(r) {
    return W0(this.toBytes(), r);
  }
}
function Qn(e, r) {
  const t = new Uint8Array(r);
  let a = 0;
  for (; e > 0; )
    t[a] = Number(e % BigInt(256)), e = e / BigInt(256), a += 1;
  return t;
}
var Dl = (e) => {
  throw TypeError(e);
}, Ll = (e, r, t) => r.has(e) || Dl("Cannot " + t), rt = (e, r, t) => (Ll(e, r, "read from private field"), t ? t.call(e) : r.get(e)), Ga = (e, r, t) => r.has(e) ? Dl("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(e) : r.set(e, t), Ka = (e, r, t, a) => (Ll(e, r, "write to private field"), r.set(e, t), t), $t, ua, qa, Et;
const X0 = class Nl {
  constructor(r) {
    Ga(this, $t), Ga(this, ua), this.name = r.name, this.read = r.read, this.serializedSize = r.serializedSize ?? (() => null), Ka(this, $t, r.write), Ka(this, ua, r.serialize ?? ((t, a) => {
      const n = new Z0({
        initialSize: this.serializedSize(t) ?? void 0,
        ...a
      });
      return rt(this, $t).call(this, t, n), n.toBytes();
    })), this.validate = r.validate ?? (() => {
    });
  }
  write(r, t) {
    this.validate(r), rt(this, $t).call(this, r, t);
  }
  serialize(r, t) {
    return this.validate(r), new Q0(this, rt(this, ua).call(this, r, t));
  }
  parse(r) {
    const t = new K0(r);
    return this.read(t);
  }
  fromHex(r) {
    return this.parse(Oo(r));
  }
  fromBase58(r) {
    return this.parse(lo(r));
  }
  fromBase64(r) {
    return this.parse(Ct(r));
  }
  transform({
    name: r,
    input: t,
    output: a,
    validate: n
  }) {
    return new Nl({
      name: r ?? this.name,
      read: (i) => a ? a(this.read(i)) : this.read(i),
      write: (i, s) => rt(this, $t).call(this, t ? t(i) : i, s),
      serializedSize: (i) => this.serializedSize(t ? t(i) : i),
      serialize: (i, s) => rt(this, ua).call(this, t ? t(i) : i, s),
      validate: (i) => {
        n == null || n(i), this.validate(t ? t(i) : i);
      }
    });
  }
};
$t = /* @__PURE__ */ new WeakMap();
ua = /* @__PURE__ */ new WeakMap();
let ct = X0;
const J0 = Symbol.for("@mysten/serialized-bcs");
class Q0 {
  constructor(r, t) {
    Ga(this, qa), Ga(this, Et), Ka(this, qa, r), Ka(this, Et, t);
  }
  // Used to brand SerializedBcs so that they can be identified, even between multiple copies
  // of the @mysten/bcs package are installed
  get [J0]() {
    return !0;
  }
  toBytes() {
    return rt(this, Et);
  }
  toHex() {
    return da(rt(this, Et));
  }
  toBase64() {
    return it(rt(this, Et));
  }
  toBase58() {
    return qo(rt(this, Et));
  }
  parse() {
    return rt(this, qa).parse(rt(this, Et));
  }
}
qa = /* @__PURE__ */ new WeakMap();
Et = /* @__PURE__ */ new WeakMap();
function Wa({
  size: e,
  ...r
}) {
  return new ct({
    ...r,
    serializedSize: () => e
  });
}
function eo({
  readMethod: e,
  writeMethod: r,
  ...t
}) {
  return Wa({
    ...t,
    read: (a) => a[e](),
    write: (a, n) => n[r](a),
    validate: (a) => {
      var n;
      if (a < 0 || a > t.maxValue)
        throw new TypeError(
          `Invalid ${t.name} value: ${a}. Expected value in range 0-${t.maxValue}`
        );
      (n = t.validate) == null || n.call(t, a);
    }
  });
}
function ro({
  readMethod: e,
  writeMethod: r,
  ...t
}) {
  return Wa({
    ...t,
    read: (a) => a[e](),
    write: (a, n) => n[r](BigInt(a)),
    validate: (a) => {
      var i;
      const n = BigInt(a);
      if (n < 0 || n > t.maxValue)
        throw new TypeError(
          `Invalid ${t.name} value: ${n}. Expected value in range 0-${t.maxValue}`
        );
      (i = t.validate) == null || i.call(t, n);
    }
  });
}
function ep({
  serialize: e,
  ...r
}) {
  const t = new ct({
    ...r,
    serialize: e,
    write: (a, n) => {
      for (const i of t.serialize(a).toBytes())
        n.write8(i);
    }
  });
  return t;
}
function rp({
  toBytes: e,
  fromBytes: r,
  ...t
}) {
  return new ct({
    ...t,
    read: (a) => {
      const n = a.readULEB(), i = a.readBytes(n);
      return r(i);
    },
    write: (a, n) => {
      const i = e(a);
      n.writeULEB(i.length);
      for (let s = 0; s < i.length; s++)
        n.write8(i[s]);
    },
    serialize: (a) => {
      const n = e(a), i = Va(n.length), s = new Uint8Array(i.length + n.length);
      return s.set(i, 0), s.set(n, i.length), s;
    },
    validate: (a) => {
      var n;
      if (typeof a != "string")
        throw new TypeError(`Invalid ${t.name} value: ${a}. Expected string`);
      (n = t.validate) == null || n.call(t, a);
    }
  });
}
function tp(e) {
  let r = null;
  function t() {
    return r || (r = e()), r;
  }
  return new ct({
    name: "lazy",
    read: (a) => t().read(a),
    serializedSize: (a) => t().serializedSize(a),
    write: (a, n) => t().write(a, n),
    serialize: (a, n) => t().serialize(a, n).toBytes()
  });
}
class ap extends ct {
  constructor({ name: r, fields: t, ...a }) {
    const n = Object.entries(t);
    super({
      name: r,
      serializedSize: (i) => {
        let s = 0;
        for (const [o, u] of n) {
          const l = u.serializedSize(i[o]);
          if (l == null)
            return null;
          s += l;
        }
        return s;
      },
      read: (i) => {
        const s = {};
        for (const [o, u] of n)
          s[o] = u.read(i);
        return s;
      },
      write: (i, s) => {
        for (const [o, u] of n)
          u.write(i[o], s);
      },
      ...a,
      validate: (i) => {
        var s;
        if ((s = a == null ? void 0 : a.validate) == null || s.call(a, i), typeof i != "object" || i == null)
          throw new TypeError(`Expected object, found ${typeof i}`);
      }
    });
  }
}
class ip extends ct {
  constructor({ fields: r, ...t }) {
    const a = Object.entries(r);
    super({
      read: (n) => {
        const i = n.readULEB(), s = a[i];
        if (!s)
          throw new TypeError(`Unknown value ${i} for enum ${name}`);
        const [o, u] = s;
        return {
          [o]: (u == null ? void 0 : u.read(n)) ?? !0,
          $kind: o
        };
      },
      write: (n, i) => {
        const [s, o] = Object.entries(n).filter(
          ([u]) => Object.hasOwn(r, u)
        )[0];
        for (let u = 0; u < a.length; u++) {
          const [l, f] = a[u];
          if (l === s) {
            i.writeULEB(u), f == null || f.write(o, i);
            return;
          }
        }
      },
      ...t,
      validate: (n) => {
        var o;
        if ((o = t == null ? void 0 : t.validate) == null || o.call(t, n), typeof n != "object" || n == null)
          throw new TypeError(`Expected object, found ${typeof n}`);
        const i = Object.keys(n).filter(
          (u) => n[u] !== void 0 && Object.hasOwn(r, u)
        );
        if (i.length !== 1)
          throw new TypeError(
            `Expected object with one key, but found ${i.length} for type ${name}}`
          );
        const [s] = i;
        if (!Object.hasOwn(r, s))
          throw new TypeError(`Invalid enum variant ${s}`);
      }
    });
  }
}
class np extends ct {
  constructor({ fields: r, name: t, ...a }) {
    super({
      name: t ?? `(${r.map((n) => n.name).join(", ")})`,
      serializedSize: (n) => {
        let i = 0;
        for (let s = 0; s < r.length; s++) {
          const o = r[s].serializedSize(n[s]);
          if (o == null)
            return null;
          i += o;
        }
        return i;
      },
      read: (n) => {
        const i = [];
        for (const s of r)
          i.push(s.read(n));
        return i;
      },
      write: (n, i) => {
        for (let s = 0; s < r.length; s++)
          r[s].write(n[s], i);
      },
      ...a,
      validate: (n) => {
        var i;
        if ((i = a == null ? void 0 : a.validate) == null || i.call(a, n), !Array.isArray(n))
          throw new TypeError(`Expected array, found ${typeof n}`);
        if (n.length !== r.length)
          throw new TypeError(`Expected array of length ${r.length}, found ${n.length}`);
      }
    });
  }
}
function op(e, r, t) {
  return new ct({
    read: (a) => {
      const n = new Array(e);
      for (let i = 0; i < e; i++)
        n[i] = r.read(a);
      return n;
    },
    write: (a, n) => {
      for (const i of a)
        r.write(i, n);
    },
    ...t,
    name: (t == null ? void 0 : t.name) ?? `${r.name}[${e}]`,
    validate: (a) => {
      var n;
      if ((n = t == null ? void 0 : t.validate) == null || n.call(t, a), !a || typeof a != "object" || !("length" in a))
        throw new TypeError(`Expected array, found ${typeof a}`);
      if (a.length !== e)
        throw new TypeError(`Expected array of length ${e}, found ${a.length}`);
    }
  });
}
function sp(e) {
  return U.enum(`Option<${e.name}>`, {
    None: null,
    Some: e
  }).transform({
    input: (r) => r == null ? { None: !0 } : { Some: r },
    output: (r) => r.$kind === "Some" ? r.Some : null
  });
}
function up(e, r) {
  return new ct({
    read: (t) => {
      const a = t.readULEB(), n = new Array(a);
      for (let i = 0; i < a; i++)
        n[i] = e.read(t);
      return n;
    },
    write: (t, a) => {
      a.writeULEB(t.length);
      for (const n of t)
        e.write(n, a);
    },
    ...r,
    name: (r == null ? void 0 : r.name) ?? `vector<${e.name}>`,
    validate: (t) => {
      var a;
      if ((a = r == null ? void 0 : r.validate) == null || a.call(r, t), !t || typeof t != "object" || !("length" in t))
        throw new TypeError(`Expected array, found ${typeof t}`);
    }
  });
}
function cp(e, r) {
  return U.vector(U.tuple([e, r])).transform({
    name: `Map<${e.name}, ${r.name}>`,
    input: (t) => [...t.entries()],
    output: (t) => {
      const a = /* @__PURE__ */ new Map();
      for (const [n, i] of t)
        a.set(n, i);
      return a;
    }
  });
}
const U = {
  /**
   * Creates a BcsType that can be used to read and write an 8-bit unsigned integer.
   * @example
   * bcs.u8().serialize(255).toBytes() // Uint8Array [ 255 ]
   */
  u8(e) {
    return eo({
      readMethod: "read8",
      writeMethod: "write8",
      size: 1,
      maxValue: 2 ** 8 - 1,
      ...e,
      name: (e == null ? void 0 : e.name) ?? "u8"
    });
  },
  /**
   * Creates a BcsType that can be used to read and write a 16-bit unsigned integer.
   * @example
   * bcs.u16().serialize(65535).toBytes() // Uint8Array [ 255, 255 ]
   */
  u16(e) {
    return eo({
      readMethod: "read16",
      writeMethod: "write16",
      size: 2,
      maxValue: 2 ** 16 - 1,
      ...e,
      name: (e == null ? void 0 : e.name) ?? "u16"
    });
  },
  /**
   * Creates a BcsType that can be used to read and write a 32-bit unsigned integer.
   * @example
   * bcs.u32().serialize(4294967295).toBytes() // Uint8Array [ 255, 255, 255, 255 ]
   */
  u32(e) {
    return eo({
      readMethod: "read32",
      writeMethod: "write32",
      size: 4,
      maxValue: 2 ** 32 - 1,
      ...e,
      name: (e == null ? void 0 : e.name) ?? "u32"
    });
  },
  /**
   * Creates a BcsType that can be used to read and write a 64-bit unsigned integer.
   * @example
   * bcs.u64().serialize(1).toBytes() // Uint8Array [ 1, 0, 0, 0, 0, 0, 0, 0 ]
   */
  u64(e) {
    return ro({
      readMethod: "read64",
      writeMethod: "write64",
      size: 8,
      maxValue: 2n ** 64n - 1n,
      ...e,
      name: (e == null ? void 0 : e.name) ?? "u64"
    });
  },
  /**
   * Creates a BcsType that can be used to read and write a 128-bit unsigned integer.
   * @example
   * bcs.u128().serialize(1).toBytes() // Uint8Array [ 1, ..., 0 ]
   */
  u128(e) {
    return ro({
      readMethod: "read128",
      writeMethod: "write128",
      size: 16,
      maxValue: 2n ** 128n - 1n,
      ...e,
      name: (e == null ? void 0 : e.name) ?? "u128"
    });
  },
  /**
   * Creates a BcsType that can be used to read and write a 256-bit unsigned integer.
   * @example
   * bcs.u256().serialize(1).toBytes() // Uint8Array [ 1, ..., 0 ]
   */
  u256(e) {
    return ro({
      readMethod: "read256",
      writeMethod: "write256",
      size: 32,
      maxValue: 2n ** 256n - 1n,
      ...e,
      name: (e == null ? void 0 : e.name) ?? "u256"
    });
  },
  /**
   * Creates a BcsType that can be used to read and write boolean values.
   * @example
   * bcs.bool().serialize(true).toBytes() // Uint8Array [ 1 ]
   */
  bool(e) {
    return Wa({
      size: 1,
      read: (r) => r.read8() === 1,
      write: (r, t) => t.write8(r ? 1 : 0),
      ...e,
      name: (e == null ? void 0 : e.name) ?? "bool",
      validate: (r) => {
        var t;
        if ((t = e == null ? void 0 : e.validate) == null || t.call(e, r), typeof r != "boolean")
          throw new TypeError(`Expected boolean, found ${typeof r}`);
      }
    });
  },
  /**
   * Creates a BcsType that can be used to read and write unsigned LEB encoded integers
   * @example
   *
   */
  uleb128(e) {
    return ep({
      read: (r) => r.readULEB(),
      serialize: (r) => Uint8Array.from(Va(r)),
      ...e,
      name: (e == null ? void 0 : e.name) ?? "uleb128"
    });
  },
  /**
   * Creates a BcsType representing a fixed length byte array
   * @param size The number of bytes this types represents
   * @example
   * bcs.bytes(3).serialize(new Uint8Array([1, 2, 3])).toBytes() // Uint8Array [1, 2, 3]
   */
  bytes(e, r) {
    return Wa({
      size: e,
      read: (t) => t.readBytes(e),
      write: (t, a) => {
        const n = new Uint8Array(t);
        for (let i = 0; i < e; i++)
          a.write8(n[i] ?? 0);
      },
      ...r,
      name: (r == null ? void 0 : r.name) ?? `bytes[${e}]`,
      validate: (t) => {
        var a;
        if ((a = r == null ? void 0 : r.validate) == null || a.call(r, t), !t || typeof t != "object" || !("length" in t))
          throw new TypeError(`Expected array, found ${typeof t}`);
        if (t.length !== e)
          throw new TypeError(`Expected array of length ${e}, found ${t.length}`);
      }
    });
  },
  /**
   * Creates a BcsType representing a variable length byte array
   *
   * @example
   * bcs.byteVector().serialize([1, 2, 3]).toBytes() // Uint8Array [3, 1, 2, 3]
   */
  byteVector(e) {
    return new ct({
      read: (r) => {
        const t = r.readULEB();
        return r.readBytes(t);
      },
      write: (r, t) => {
        const a = new Uint8Array(r);
        t.writeULEB(a.length);
        for (let n = 0; n < a.length; n++)
          t.write8(a[n] ?? 0);
      },
      ...e,
      name: (e == null ? void 0 : e.name) ?? "vector<u8>",
      serializedSize: (r) => {
        const t = "length" in r ? r.length : null;
        return t == null ? null : Va(t).length + t;
      },
      validate: (r) => {
        var t;
        if ((t = e == null ? void 0 : e.validate) == null || t.call(e, r), !r || typeof r != "object" || !("length" in r))
          throw new TypeError(`Expected array, found ${typeof r}`);
      }
    });
  },
  /**
   * Creates a BcsType that can ser/de string values.  Strings will be UTF-8 encoded
   * @example
   * bcs.string().serialize('a').toBytes() // Uint8Array [ 1, 97 ]
   */
  string(e) {
    return rp({
      toBytes: (r) => new TextEncoder().encode(r),
      fromBytes: (r) => new TextDecoder().decode(r),
      ...e,
      name: (e == null ? void 0 : e.name) ?? "string"
    });
  },
  /**
   * Creates a BcsType that represents a fixed length array of a given type
   * @param size The number of elements in the array
   * @param type The BcsType of each element in the array
   * @example
   * bcs.fixedArray(3, bcs.u8()).serialize([1, 2, 3]).toBytes() // Uint8Array [ 1, 2, 3 ]
   */
  fixedArray: op,
  /**
   * Creates a BcsType representing an optional value
   * @param type The BcsType of the optional value
   * @example
   * bcs.option(bcs.u8()).serialize(null).toBytes() // Uint8Array [ 0 ]
   * bcs.option(bcs.u8()).serialize(1).toBytes() // Uint8Array [ 1, 1 ]
   */
  option: sp,
  /**
   * Creates a BcsType representing a variable length vector of a given type
   * @param type The BcsType of each element in the vector
   *
   * @example
   * bcs.vector(bcs.u8()).toBytes([1, 2, 3]) // Uint8Array [ 3, 1, 2, 3 ]
   */
  vector: up,
  /**
   * Creates a BcsType representing a tuple of a given set of types
   * @param types The BcsTypes for each element in the tuple
   *
   * @example
   * const tuple = bcs.tuple([bcs.u8(), bcs.string(), bcs.bool()])
   * tuple.serialize([1, 'a', true]).toBytes() // Uint8Array [ 1, 1, 97, 1 ]
   */
  tuple(e, r) {
    return new np({
      fields: e,
      ...r
    });
  },
  /**
   * Creates a BcsType representing a struct of a given set of fields
   * @param name The name of the struct
   * @param fields The fields of the struct. The order of the fields affects how data is serialized and deserialized
   *
   * @example
   * const struct = bcs.struct('MyStruct', {
   *  a: bcs.u8(),
   *  b: bcs.string(),
   * })
   * struct.serialize({ a: 1, b: 'a' }).toBytes() // Uint8Array [ 1, 1, 97 ]
   */
  struct(e, r, t) {
    return new ap({
      name: e,
      fields: r,
      ...t
    });
  },
  /**
   * Creates a BcsType representing an enum of a given set of options
   * @param name The name of the enum
   * @param values The values of the enum. The order of the values affects how data is serialized and deserialized.
   * null can be used to represent a variant with no data.
   *
   * @example
   * const enum = bcs.enum('MyEnum', {
   *   A: bcs.u8(),
   *   B: bcs.string(),
   *   C: null,
   * })
   * enum.serialize({ A: 1 }).toBytes() // Uint8Array [ 0, 1 ]
   * enum.serialize({ B: 'a' }).toBytes() // Uint8Array [ 1, 1, 97 ]
   * enum.serialize({ C: true }).toBytes() // Uint8Array [ 2 ]
   */
  enum(e, r, t) {
    return new ip({
      name: e,
      fields: r,
      ...t
    });
  },
  /**
   * Creates a BcsType representing a map of a given key and value type
   * @param keyType The BcsType of the key
   * @param valueType The BcsType of the value
   * @example
   * const map = bcs.map(bcs.u8(), bcs.string())
   * map.serialize(new Map([[2, 'a']])).toBytes() // Uint8Array [ 1, 2, 1, 97 ]
   */
  map: cp,
  /**
   * Creates a BcsType that wraps another BcsType which is lazily evaluated. This is useful for creating recursive types.
   * @param cb A callback that returns the BcsType
   */
  lazy(e) {
    return tp(e);
  }
}, lp = /* @__PURE__ */ Uint8Array.from([
  0,
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12,
  13,
  14,
  15,
  14,
  10,
  4,
  8,
  9,
  15,
  13,
  6,
  1,
  12,
  0,
  2,
  11,
  7,
  5,
  3,
  11,
  8,
  12,
  0,
  5,
  2,
  15,
  13,
  10,
  14,
  3,
  6,
  7,
  1,
  9,
  4,
  7,
  9,
  3,
  1,
  13,
  12,
  11,
  14,
  2,
  6,
  5,
  10,
  4,
  0,
  15,
  8,
  9,
  0,
  5,
  7,
  2,
  4,
  10,
  15,
  14,
  1,
  11,
  12,
  6,
  8,
  3,
  13,
  2,
  12,
  6,
  10,
  0,
  11,
  8,
  3,
  4,
  13,
  7,
  5,
  15,
  14,
  1,
  9,
  12,
  5,
  1,
  15,
  14,
  13,
  4,
  10,
  0,
  7,
  6,
  3,
  9,
  2,
  8,
  11,
  13,
  11,
  7,
  14,
  12,
  1,
  3,
  9,
  5,
  0,
  15,
  4,
  8,
  6,
  2,
  10,
  6,
  15,
  14,
  9,
  11,
  3,
  0,
  8,
  12,
  2,
  13,
  7,
  1,
  4,
  10,
  5,
  10,
  2,
  8,
  4,
  7,
  6,
  1,
  5,
  15,
  11,
  9,
  14,
  3,
  12,
  13,
  0,
  0,
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12,
  13,
  14,
  15,
  14,
  10,
  4,
  8,
  9,
  15,
  13,
  6,
  1,
  12,
  0,
  2,
  11,
  7,
  5,
  3,
  // Blake1, unused in others
  11,
  8,
  12,
  0,
  5,
  2,
  15,
  13,
  10,
  14,
  3,
  6,
  7,
  1,
  9,
  4,
  7,
  9,
  3,
  1,
  13,
  12,
  11,
  14,
  2,
  6,
  5,
  10,
  4,
  0,
  15,
  8,
  9,
  0,
  5,
  7,
  2,
  4,
  10,
  15,
  14,
  1,
  11,
  12,
  6,
  8,
  3,
  13,
  2,
  12,
  6,
  10,
  0,
  11,
  8,
  3,
  4,
  13,
  7,
  5,
  15,
  14,
  1,
  9
]), Sr = /* @__PURE__ */ Uint32Array.from([
  4089235720,
  1779033703,
  2227873595,
  3144134277,
  4271175723,
  1013904242,
  1595750129,
  2773480762,
  2917565137,
  1359893119,
  725511199,
  2600822924,
  4215389547,
  528734635,
  327033209,
  1541459225
]), be = /* @__PURE__ */ new Uint32Array(32);
function xt(e, r, t, a, n, i) {
  const s = n[i], o = n[i + 1];
  let u = be[2 * e], l = be[2 * e + 1], f = be[2 * r], p = be[2 * r + 1], d = be[2 * t], y = be[2 * t + 1], b = be[2 * a], v = be[2 * a + 1], S = Eo(u, f, s);
  l = ko(S, l, p, o), u = S | 0, { Dh: v, Dl: b } = { Dh: v ^ l, Dl: b ^ u }, { Dh: v, Dl: b } = { Dh: Jh(v, b), Dl: Qh(v) }, { h: y, l: d } = et(y, d, v, b), { Bh: p, Bl: f } = { Bh: p ^ y, Bl: f ^ d }, { Bh: p, Bl: f } = { Bh: kt(p, f, 24), Bl: St(p, f, 24) }, be[2 * e] = u, be[2 * e + 1] = l, be[2 * r] = f, be[2 * r + 1] = p, be[2 * t] = d, be[2 * t + 1] = y, be[2 * a] = b, be[2 * a + 1] = v;
}
function wt(e, r, t, a, n, i) {
  const s = n[i], o = n[i + 1];
  let u = be[2 * e], l = be[2 * e + 1], f = be[2 * r], p = be[2 * r + 1], d = be[2 * t], y = be[2 * t + 1], b = be[2 * a], v = be[2 * a + 1], S = Eo(u, f, s);
  l = ko(S, l, p, o), u = S | 0, { Dh: v, Dl: b } = { Dh: v ^ l, Dl: b ^ u }, { Dh: v, Dl: b } = { Dh: kt(v, b, 16), Dl: St(v, b, 16) }, { h: y, l: d } = et(y, d, v, b), { Bh: p, Bl: f } = { Bh: p ^ y, Bl: f ^ d }, { Bh: p, Bl: f } = { Bh: oa(p, f, 63), Bl: sa(p, f, 63) }, be[2 * e] = u, be[2 * e + 1] = l, be[2 * r] = f, be[2 * r + 1] = p, be[2 * t] = d, be[2 * t + 1] = y, be[2 * a] = b, be[2 * a + 1] = v;
}
function fp(e, r = {}, t, a, n) {
  if (mt(t), e < 0 || e > t)
    throw new Error("outputLen bigger than keyLen");
  const { key: i, salt: s, personalization: o } = r;
  if (i !== void 0 && (i.length < 1 || i.length > t))
    throw new Error("key length must be undefined or 1.." + t);
  if (s !== void 0 && s.length !== a)
    throw new Error("salt must be undefined or " + a);
  if (o !== void 0 && o.length !== n)
    throw new Error("personalization must be undefined or " + n);
}
class dp extends _o {
  constructor(r, t) {
    super(), this.finished = !1, this.destroyed = !1, this.length = 0, this.pos = 0, mt(r), mt(t), this.blockLen = r, this.outputLen = t, this.buffer = new Uint8Array(r), this.buffer32 = Ca(this.buffer);
  }
  update(r) {
    Yt(this), r = zt(r), gt(r);
    const { blockLen: t, buffer: a, buffer32: n } = this, i = r.length, s = r.byteOffset, o = r.buffer;
    for (let u = 0; u < i; ) {
      this.pos === t && (Ht(n), this.compress(n, 0, !1), Ht(n), this.pos = 0);
      const l = Math.min(t - this.pos, i - u), f = s + u;
      if (l === t && !(f % 4) && u + l < i) {
        const p = new Uint32Array(o, f, Math.floor((i - u) / 4));
        Ht(p);
        for (let d = 0; u + t < i; d += n.length, u += t)
          this.length += t, this.compress(p, d, !1);
        Ht(p);
        continue;
      }
      a.set(r.subarray(u, u + l), this.pos), this.pos += l, this.length += l, u += l;
    }
    return this;
  }
  digestInto(r) {
    Yt(this), ul(r, this);
    const { pos: t, buffer32: a } = this;
    this.finished = !0, jt(this.buffer.subarray(t)), Ht(a), this.compress(a, 0, !0), Ht(a);
    const n = Ca(r);
    this.get().forEach((i, s) => n[s] = dt(i));
  }
  digest() {
    const { buffer: r, outputLen: t } = this;
    this.digestInto(r);
    const a = r.slice(0, t);
    return this.destroy(), a;
  }
  _cloneInto(r) {
    const { buffer: t, length: a, finished: n, destroyed: i, outputLen: s, pos: o } = this;
    return r || (r = new this.constructor({ dkLen: s })), r.set(...this.get()), r.buffer.set(t), r.destroyed = i, r.finished = n, r.length = a, r.pos = o, r.outputLen = s, r;
  }
  clone() {
    return this._cloneInto();
  }
}
class hp extends dp {
  constructor(r = {}) {
    const t = r.dkLen === void 0 ? 64 : r.dkLen;
    super(128, t), this.v0l = Sr[0] | 0, this.v0h = Sr[1] | 0, this.v1l = Sr[2] | 0, this.v1h = Sr[3] | 0, this.v2l = Sr[4] | 0, this.v2h = Sr[5] | 0, this.v3l = Sr[6] | 0, this.v3h = Sr[7] | 0, this.v4l = Sr[8] | 0, this.v4h = Sr[9] | 0, this.v5l = Sr[10] | 0, this.v5h = Sr[11] | 0, this.v6l = Sr[12] | 0, this.v6h = Sr[13] | 0, this.v7l = Sr[14] | 0, this.v7h = Sr[15] | 0, fp(t, r, 64, 16, 16);
    let { key: a, personalization: n, salt: i } = r, s = 0;
    if (a !== void 0 && (a = zt(a), s = a.length), this.v0l ^= this.outputLen | s << 8 | 65536 | 1 << 24, i !== void 0) {
      i = zt(i);
      const o = Ca(i);
      this.v4l ^= dt(o[0]), this.v4h ^= dt(o[1]), this.v5l ^= dt(o[2]), this.v5h ^= dt(o[3]);
    }
    if (n !== void 0) {
      n = zt(n);
      const o = Ca(n);
      this.v6l ^= dt(o[0]), this.v6h ^= dt(o[1]), this.v7l ^= dt(o[2]), this.v7h ^= dt(o[3]);
    }
    if (a !== void 0) {
      const o = new Uint8Array(this.blockLen);
      o.set(a), this.update(o);
    }
  }
  // prettier-ignore
  get() {
    let { v0l: r, v0h: t, v1l: a, v1h: n, v2l: i, v2h: s, v3l: o, v3h: u, v4l: l, v4h: f, v5l: p, v5h: d, v6l: y, v6h: b, v7l: v, v7h: S } = this;
    return [r, t, a, n, i, s, o, u, l, f, p, d, y, b, v, S];
  }
  // prettier-ignore
  set(r, t, a, n, i, s, o, u, l, f, p, d, y, b, v, S) {
    this.v0l = r | 0, this.v0h = t | 0, this.v1l = a | 0, this.v1h = n | 0, this.v2l = i | 0, this.v2h = s | 0, this.v3l = o | 0, this.v3h = u | 0, this.v4l = l | 0, this.v4h = f | 0, this.v5l = p | 0, this.v5h = d | 0, this.v6l = y | 0, this.v6h = b | 0, this.v7l = v | 0, this.v7h = S | 0;
  }
  compress(r, t, a) {
    this.get().forEach((u, l) => be[l] = u), be.set(Sr, 16);
    let { h: n, l: i } = pl(BigInt(this.length));
    be[24] = Sr[8] ^ i, be[25] = Sr[9] ^ n, a && (be[28] = ~be[28], be[29] = ~be[29]);
    let s = 0;
    const o = lp;
    for (let u = 0; u < 12; u++)
      xt(0, 4, 8, 12, r, t + 2 * o[s++]), wt(0, 4, 8, 12, r, t + 2 * o[s++]), xt(1, 5, 9, 13, r, t + 2 * o[s++]), wt(1, 5, 9, 13, r, t + 2 * o[s++]), xt(2, 6, 10, 14, r, t + 2 * o[s++]), wt(2, 6, 10, 14, r, t + 2 * o[s++]), xt(3, 7, 11, 15, r, t + 2 * o[s++]), wt(3, 7, 11, 15, r, t + 2 * o[s++]), xt(0, 5, 10, 15, r, t + 2 * o[s++]), wt(0, 5, 10, 15, r, t + 2 * o[s++]), xt(1, 6, 11, 12, r, t + 2 * o[s++]), wt(1, 6, 11, 12, r, t + 2 * o[s++]), xt(2, 7, 8, 13, r, t + 2 * o[s++]), wt(2, 7, 8, 13, r, t + 2 * o[s++]), xt(3, 4, 9, 14, r, t + 2 * o[s++]), wt(3, 4, 9, 14, r, t + 2 * o[s++]);
    this.v0l ^= be[0] ^ be[16], this.v0h ^= be[1] ^ be[17], this.v1l ^= be[2] ^ be[18], this.v1h ^= be[3] ^ be[19], this.v2l ^= be[4] ^ be[20], this.v2h ^= be[5] ^ be[21], this.v3l ^= be[6] ^ be[22], this.v3h ^= be[7] ^ be[23], this.v4l ^= be[8] ^ be[24], this.v4h ^= be[9] ^ be[25], this.v5l ^= be[10] ^ be[26], this.v5h ^= be[11] ^ be[27], this.v6l ^= be[12] ^ be[28], this.v6h ^= be[13] ^ be[29], this.v7l ^= be[14] ^ be[30], this.v7h ^= be[15] ^ be[31], jt(be);
  }
  destroy() {
    this.destroyed = !0, jt(this.buffer32), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
  }
}
const pp = /* @__PURE__ */ Kh((e) => new hp(e)), fo = pp, ti = 32;
function mp(e) {
  return gp(e) && bp(e) === ti;
}
function ca(e, r = !1) {
  let t = e.toLowerCase();
  return !r && t.startsWith("0x") && (t = t.slice(2)), `0x${t.padStart(ti * 2, "0")}`;
}
function gp(e) {
  return /^(0x|0X)?[a-fA-F0-9]+$/.test(e) && e.length % 2 === 0;
}
function bp(e) {
  return /^(0x|0X)/.test(e) ? (e.length - 2) / 2 : e.length / 2;
}
const vp = /^vector<(.+)>$/, yp = /^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;
class Bt {
  static parseFromStr(r, t = !1) {
    if (r === "address")
      return { address: null };
    if (r === "bool")
      return { bool: null };
    if (r === "u8")
      return { u8: null };
    if (r === "u16")
      return { u16: null };
    if (r === "u32")
      return { u32: null };
    if (r === "u64")
      return { u64: null };
    if (r === "u128")
      return { u128: null };
    if (r === "u256")
      return { u256: null };
    if (r === "signer")
      return { signer: null };
    const a = r.match(vp);
    if (a)
      return {
        vector: Bt.parseFromStr(a[1], t)
      };
    const n = r.match(yp);
    if (n)
      return {
        struct: {
          address: t ? ca(n[1]) : n[1],
          module: n[2],
          name: n[3],
          typeParams: n[5] === void 0 ? [] : Bt.parseStructTypeArgs(n[5], t)
        }
      };
    throw new Error(`Encountered unexpected token when parsing type args for ${r}`);
  }
  static parseStructTypeArgs(r, t = !1) {
    return Y0(r).map(
      (a) => Bt.parseFromStr(a, t)
    );
  }
  static tagToString(r) {
    if ("bool" in r)
      return "bool";
    if ("u8" in r)
      return "u8";
    if ("u16" in r)
      return "u16";
    if ("u32" in r)
      return "u32";
    if ("u64" in r)
      return "u64";
    if ("u128" in r)
      return "u128";
    if ("u256" in r)
      return "u256";
    if ("address" in r)
      return "address";
    if ("signer" in r)
      return "signer";
    if ("vector" in r)
      return `vector<${Bt.tagToString(r.vector)}>`;
    if ("struct" in r) {
      const t = r.struct, a = t.typeParams.map(Bt.tagToString).join(", ");
      return `${t.address}::${t.module}::${t.name}${a ? `<${a}>` : ""}`;
    }
    throw new Error("Invalid TypeTag");
  }
}
function xp(e) {
  return U.u64({
    name: "unsafe_u64",
    ...e
  }).transform({
    input: (r) => r,
    output: (r) => Number(r)
  });
}
function wp(e) {
  return U.enum("Option", {
    None: null,
    Some: e
  });
}
const mr = U.bytes(ti).transform({
  validate: (e) => {
    const r = typeof e == "string" ? e : da(e);
    if (!r || !mp(ca(r)))
      throw new Error(`Invalid Sui address ${r}`);
  },
  input: (e) => typeof e == "string" ? Oo(ca(e)) : e,
  output: (e) => ca(da(e))
}), tt = U.vector(U.u8()).transform({
  name: "ObjectDigest",
  input: (e) => lo(e),
  output: (e) => qo(new Uint8Array(e)),
  validate: (e) => {
    if (lo(e).length !== 32)
      throw new Error("ObjectDigest must be 32 bytes");
  }
}), Jr = U.struct("SuiObjectRef", {
  objectId: mr,
  version: U.u64(),
  digest: tt
}), Cl = U.struct("SharedObjectRef", {
  objectId: mr,
  initialSharedVersion: U.u64(),
  mutable: U.bool()
}), Pl = U.enum("ObjectArg", {
  ImmOrOwnedObject: Jr,
  SharedObject: Cl,
  Receiving: Jr
}), Nt = U.enum("Owner", {
  AddressOwner: mr,
  ObjectOwner: mr,
  Shared: U.struct("Shared", {
    initialSharedVersion: U.u64()
  }),
  Immutable: null,
  ConsensusAddressOwner: U.struct("ConsensusAddressOwner", {
    owner: mr,
    startVersion: U.u64()
  })
}), Ml = U.enum("CallArg", {
  Pure: U.struct("Pure", {
    bytes: U.vector(U.u8()).transform({
      input: (e) => typeof e == "string" ? Ct(e) : e,
      output: (e) => it(new Uint8Array(e))
    })
  }),
  Object: Pl
}), Uo = U.enum("TypeTag", {
  bool: null,
  u8: null,
  u64: null,
  u128: null,
  address: null,
  signer: null,
  vector: U.lazy(() => Uo),
  struct: U.lazy(() => Kl),
  u16: null,
  u32: null,
  u256: null
}), Do = Uo.transform({
  input: (e) => typeof e == "string" ? Bt.parseFromStr(e, !0) : e,
  output: (e) => Bt.tagToString(e)
}), ot = U.enum("Argument", {
  GasCoin: null,
  Input: U.u16(),
  Result: U.u16(),
  NestedResult: U.tuple([U.u16(), U.u16()])
}), Hl = U.struct("ProgrammableMoveCall", {
  package: mr,
  module: U.string(),
  function: U.string(),
  typeArguments: U.vector(Do),
  arguments: U.vector(ot)
}), Fl = U.enum("Command", {
  /**
   * A Move Call - any public Move function can be called via
   * this transaction. The results can be used that instant to pass
   * into the next transaction.
   */
  MoveCall: Hl,
  /**
   * Transfer vector of objects to a receiver.
   */
  TransferObjects: U.struct("TransferObjects", {
    objects: U.vector(ot),
    address: ot
  }),
  // /**
  //  * Split `amount` from a `coin`.
  //  */
  SplitCoins: U.struct("SplitCoins", {
    coin: ot,
    amounts: U.vector(ot)
  }),
  // /**
  //  * Merge Vector of Coins (`sources`) into a `destination`.
  //  */
  MergeCoins: U.struct("MergeCoins", {
    destination: ot,
    sources: U.vector(ot)
  }),
  // /**
  //  * Publish a Move module.
  //  */
  Publish: U.struct("Publish", {
    modules: U.vector(
      U.vector(U.u8()).transform({
        input: (e) => typeof e == "string" ? Ct(e) : e,
        output: (e) => it(new Uint8Array(e))
      })
    ),
    dependencies: U.vector(mr)
  }),
  // /**
  //  * Build a vector of objects using the input arguments.
  //  * It is impossible to export construct a `vector<T: key>` otherwise,
  //  * so this call serves a utility function.
  //  */
  MakeMoveVec: U.struct("MakeMoveVec", {
    type: wp(Do).transform({
      input: (e) => e === null ? {
        None: !0
      } : {
        Some: e
      },
      output: (e) => e.Some ?? null
    }),
    elements: U.vector(ot)
  }),
  Upgrade: U.struct("Upgrade", {
    modules: U.vector(
      U.vector(U.u8()).transform({
        input: (e) => typeof e == "string" ? Ct(e) : e,
        output: (e) => it(new Uint8Array(e))
      })
    ),
    dependencies: U.vector(mr),
    package: mr,
    ticket: ot
  })
}), $l = U.struct("ProgrammableTransaction", {
  inputs: U.vector(Ml),
  commands: U.vector(Fl)
}), Vl = U.enum("TransactionKind", {
  ProgrammableTransaction: $l,
  ChangeEpoch: null,
  Genesis: null,
  ConsensusCommitPrologue: null
}), Gl = U.enum("TransactionExpiration", {
  None: null,
  Epoch: xp()
}), Kl = U.struct("StructTag", {
  address: mr,
  module: U.string(),
  name: U.string(),
  typeParams: U.vector(Uo)
}), Wl = U.struct("GasData", {
  payment: U.vector(Jr),
  owner: mr,
  price: U.u64(),
  budget: U.u64()
}), Yl = U.struct("TransactionDataV1", {
  kind: Vl,
  sender: mr,
  gasData: Wl,
  expiration: Gl
}), Zl = U.enum("TransactionData", {
  V1: Yl
}), Xl = U.enum("IntentScope", {
  TransactionData: null,
  TransactionEffects: null,
  CheckpointSummary: null,
  PersonalMessage: null
}), Jl = U.enum("IntentVersion", {
  V0: null
}), Ql = U.enum("AppId", {
  Sui: null
}), ef = U.struct("Intent", {
  scope: Xl,
  version: Jl,
  appId: Ql
});
function rf(e) {
  return U.struct(`IntentMessage<${e.name}>`, {
    intent: ef,
    value: e
  });
}
const tf = U.enum("CompressedSignature", {
  ED25519: U.fixedArray(64, U.u8()),
  Secp256k1: U.fixedArray(64, U.u8()),
  Secp256r1: U.fixedArray(64, U.u8()),
  ZkLogin: U.vector(U.u8()),
  Passkey: U.vector(U.u8())
}), af = U.enum("PublicKey", {
  ED25519: U.fixedArray(32, U.u8()),
  Secp256k1: U.fixedArray(33, U.u8()),
  Secp256r1: U.fixedArray(33, U.u8()),
  ZkLogin: U.vector(U.u8()),
  Passkey: U.fixedArray(33, U.u8())
}), nf = U.struct("MultiSigPkMap", {
  pubKey: af,
  weight: U.u8()
}), of = U.struct("MultiSigPublicKey", {
  pk_map: U.vector(nf),
  threshold: U.u16()
}), _p = U.struct("MultiSig", {
  sigs: U.vector(tf),
  bitmap: U.u16(),
  multisig_pk: of
}), Ep = U.vector(U.u8()).transform({
  input: (e) => typeof e == "string" ? Ct(e) : e,
  output: (e) => it(new Uint8Array(e))
}), sf = U.struct("SenderSignedTransaction", {
  intentMessage: rf(Zl),
  txSignatures: U.vector(Ep)
}), kp = U.vector(sf, {
  name: "SenderSignedData"
}), Sp = U.struct("PasskeyAuthenticator", {
  authenticatorData: U.vector(U.u8()),
  clientDataJson: U.string(),
  userSignature: U.vector(U.u8())
}), Ap = U.enum("PackageUpgradeError", {
  UnableToFetchPackage: U.struct("UnableToFetchPackage", { packageId: mr }),
  NotAPackage: U.struct("NotAPackage", { objectId: mr }),
  IncompatibleUpgrade: null,
  DigestDoesNotMatch: U.struct("DigestDoesNotMatch", { digest: U.vector(U.u8()) }),
  UnknownUpgradePolicy: U.struct("UnknownUpgradePolicy", { policy: U.u8() }),
  PackageIDDoesNotMatch: U.struct("PackageIDDoesNotMatch", {
    packageId: mr,
    ticketId: mr
  })
}), Bp = U.struct("ModuleId", {
  address: mr,
  name: U.string()
}), pc = U.struct("MoveLocation", {
  module: Bp,
  function: U.u16(),
  instruction: U.u16(),
  functionName: U.option(U.string())
}), Ip = U.enum("CommandArgumentError", {
  TypeMismatch: null,
  InvalidBCSBytes: null,
  InvalidUsageOfPureArg: null,
  InvalidArgumentToPrivateEntryFunction: null,
  IndexOutOfBounds: U.struct("IndexOutOfBounds", { idx: U.u16() }),
  SecondaryIndexOutOfBounds: U.struct("SecondaryIndexOutOfBounds", {
    resultIdx: U.u16(),
    secondaryIdx: U.u16()
  }),
  InvalidResultArity: U.struct("InvalidResultArity", { resultIdx: U.u16() }),
  InvalidGasCoinUsage: null,
  InvalidValueUsage: null,
  InvalidObjectByValue: null,
  InvalidObjectByMutRef: null,
  SharedObjectOperationNotAllowed: null
}), zp = U.enum("TypeArgumentError", {
  TypeNotFound: null,
  ConstraintNotSatisfied: null
}), Tp = U.enum("ExecutionFailureStatus", {
  InsufficientGas: null,
  InvalidGasObject: null,
  InvariantViolation: null,
  FeatureNotYetSupported: null,
  MoveObjectTooBig: U.struct("MoveObjectTooBig", {
    objectSize: U.u64(),
    maxObjectSize: U.u64()
  }),
  MovePackageTooBig: U.struct("MovePackageTooBig", {
    objectSize: U.u64(),
    maxObjectSize: U.u64()
  }),
  CircularObjectOwnership: U.struct("CircularObjectOwnership", { object: mr }),
  InsufficientCoinBalance: null,
  CoinBalanceOverflow: null,
  PublishErrorNonZeroAddress: null,
  SuiMoveVerificationError: null,
  MovePrimitiveRuntimeError: U.option(pc),
  MoveAbort: U.tuple([pc, U.u64()]),
  VMVerificationOrDeserializationError: null,
  VMInvariantViolation: null,
  FunctionNotFound: null,
  ArityMismatch: null,
  TypeArityMismatch: null,
  NonEntryFunctionInvoked: null,
  CommandArgumentError: U.struct("CommandArgumentError", {
    argIdx: U.u16(),
    kind: Ip
  }),
  TypeArgumentError: U.struct("TypeArgumentError", {
    argumentIdx: U.u16(),
    kind: zp
  }),
  UnusedValueWithoutDrop: U.struct("UnusedValueWithoutDrop", {
    resultIdx: U.u16(),
    secondaryIdx: U.u16()
  }),
  InvalidPublicFunctionReturnType: U.struct("InvalidPublicFunctionReturnType", {
    idx: U.u16()
  }),
  InvalidTransferObject: null,
  EffectsTooLarge: U.struct("EffectsTooLarge", { currentSize: U.u64(), maxSize: U.u64() }),
  PublishUpgradeMissingDependency: null,
  PublishUpgradeDependencyDowngrade: null,
  PackageUpgradeError: U.struct("PackageUpgradeError", { upgradeError: Ap }),
  WrittenObjectsTooLarge: U.struct("WrittenObjectsTooLarge", {
    currentSize: U.u64(),
    maxSize: U.u64()
  }),
  CertificateDenied: null,
  SuiMoveVerificationTimedout: null,
  SharedObjectOperationNotAllowed: null,
  InputObjectDeleted: null,
  ExecutionCancelledDueToSharedObjectCongestion: U.struct(
    "ExecutionCancelledDueToSharedObjectCongestion",
    {
      congestedObjects: U.vector(mr)
    }
  ),
  AddressDeniedForCoin: U.struct("AddressDeniedForCoin", {
    address: mr,
    coinType: U.string()
  }),
  CoinTypeGlobalPause: U.struct("CoinTypeGlobalPause", { coinType: U.string() }),
  ExecutionCancelledDueToRandomnessUnavailable: null
}), uf = U.enum("ExecutionStatus", {
  Success: null,
  Failed: U.struct("ExecutionFailed", {
    error: Tp,
    command: U.option(U.u64())
  })
}), cf = U.struct("GasCostSummary", {
  computationCost: U.u64(),
  storageCost: U.u64(),
  storageRebate: U.u64(),
  nonRefundableStorageFee: U.u64()
}), jp = U.struct("TransactionEffectsV1", {
  status: uf,
  executedEpoch: U.u64(),
  gasUsed: cf,
  modifiedAtVersions: U.vector(U.tuple([mr, U.u64()])),
  sharedObjects: U.vector(Jr),
  transactionDigest: tt,
  created: U.vector(U.tuple([Jr, Nt])),
  mutated: U.vector(U.tuple([Jr, Nt])),
  unwrapped: U.vector(U.tuple([Jr, Nt])),
  deleted: U.vector(Jr),
  unwrappedThenDeleted: U.vector(Jr),
  wrapped: U.vector(Jr),
  gasObject: U.tuple([Jr, Nt]),
  eventsDigest: U.option(tt),
  dependencies: U.vector(tt)
}), Lo = U.tuple([U.u64(), tt]), Rp = U.enum("ObjectIn", {
  NotExist: null,
  Exist: U.tuple([Lo, Nt])
}), qp = U.enum("ObjectOut", {
  NotExist: null,
  ObjectWrite: U.tuple([tt, Nt]),
  PackageWrite: Lo
}), Op = U.enum("IDOperation", {
  None: null,
  Created: null,
  Deleted: null
}), Up = U.struct("EffectsObjectChange", {
  inputState: Rp,
  outputState: qp,
  idOperation: Op
}), Dp = U.enum("UnchangedSharedKind", {
  ReadOnlyRoot: Lo,
  // TODO: these have been renamed to MutateConsensusStreamEnded and ReadConsensusStreamEnded
  MutateDeleted: U.u64(),
  ReadDeleted: U.u64(),
  Cancelled: U.u64(),
  PerEpochConfig: null
}), Lp = U.struct("TransactionEffectsV2", {
  status: uf,
  executedEpoch: U.u64(),
  gasUsed: cf,
  transactionDigest: tt,
  gasObjectIndex: U.option(U.u32()),
  eventsDigest: U.option(tt),
  dependencies: U.vector(tt),
  lamportVersion: U.u64(),
  changedObjects: U.vector(U.tuple([mr, Up])),
  unchangedSharedObjects: U.vector(U.tuple([mr, Dp])),
  auxDataDigest: U.option(tt)
}), Np = U.enum("TransactionEffects", {
  V1: jp,
  V2: Lp
}), la = {
  ...U,
  U8: U.u8(),
  U16: U.u16(),
  U32: U.u32(),
  U64: U.u64(),
  U128: U.u128(),
  U256: U.u256(),
  ULEB128: U.uleb128(),
  Bool: U.bool(),
  String: U.string(),
  Address: mr,
  AppId: Ql,
  Argument: ot,
  CallArg: Ml,
  Command: Fl,
  CompressedSignature: tf,
  GasData: Wl,
  Intent: ef,
  IntentMessage: rf,
  IntentScope: Xl,
  IntentVersion: Jl,
  MultiSig: _p,
  MultiSigPkMap: nf,
  MultiSigPublicKey: of,
  ObjectArg: Pl,
  ObjectDigest: tt,
  Owner: Nt,
  PasskeyAuthenticator: Sp,
  ProgrammableMoveCall: Hl,
  ProgrammableTransaction: $l,
  PublicKey: af,
  SenderSignedData: kp,
  SenderSignedTransaction: sf,
  SharedObjectRef: Cl,
  StructTag: Kl,
  SuiObjectRef: Jr,
  TransactionData: Zl,
  TransactionDataV1: Yl,
  TransactionEffects: Np,
  TransactionExpiration: Gl,
  TransactionKind: Vl,
  TypeTag: Do
};
function lf(e, r) {
  return la.IntentMessage(la.fixedArray(r.length, la.u8())).serialize({
    intent: {
      scope: { [e]: !0 },
      version: { V0: !0 },
      appId: { Sui: !0 }
    },
    value: r
  }).toBytes();
}
const No = {
  ED25519: 0,
  Secp256k1: 1,
  Secp256r1: 2,
  MultiSig: 3,
  ZkLogin: 5,
  Passkey: 6
}, Cp = {
  ED25519: 32,
  Secp256k1: 33,
  Secp256r1: 33,
  Passkey: 33
}, ff = {
  0: "ED25519",
  1: "Secp256k1",
  2: "Secp256r1",
  3: "MultiSig",
  5: "ZkLogin",
  6: "Passkey"
};
class df extends _o {
  constructor(r, t) {
    super(), this.finished = !1, this.destroyed = !1, sl(r);
    const a = zt(t);
    if (this.iHash = r.create(), typeof this.iHash.update != "function")
      throw new Error("Expected instance of class which extends utils.Hash");
    this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
    const n = this.blockLen, i = new Uint8Array(n);
    i.set(a.length > n ? r.create().update(a).digest() : a);
    for (let s = 0; s < i.length; s++)
      i[s] ^= 54;
    this.iHash.update(i), this.oHash = r.create();
    for (let s = 0; s < i.length; s++)
      i[s] ^= 106;
    this.oHash.update(i), jt(i);
  }
  update(r) {
    return Yt(this), this.iHash.update(r), this;
  }
  digestInto(r) {
    Yt(this), gt(r, this.outputLen), this.finished = !0, this.iHash.digestInto(r), this.oHash.update(r), this.oHash.digestInto(r), this.destroy();
  }
  digest() {
    const r = new Uint8Array(this.oHash.outputLen);
    return this.digestInto(r), r;
  }
  _cloneInto(r) {
    r || (r = Object.create(Object.getPrototypeOf(this), {}));
    const { oHash: t, iHash: a, finished: n, destroyed: i, blockLen: s, outputLen: o } = this;
    return r = r, r.finished = n, r.destroyed = i, r.blockLen = s, r.outputLen = o, r.oHash = t._cloneInto(r.oHash), r.iHash = a._cloneInto(r.iHash), r;
  }
  clone() {
    return this._cloneInto();
  }
  destroy() {
    this.destroyed = !0, this.oHash.destroy(), this.iHash.destroy();
  }
}
const ai = (e, r, t) => new df(e, r).update(t).digest();
ai.create = (e, r) => new df(e, r);
function hf(e, r) {
  if (e === r) return !0;
  if (e.length !== r.length)
    return !1;
  for (let t = 0; t < e.length; t++)
    if (e[t] !== r[t])
      return !1;
  return !0;
}
class Pp {
  /**
   * Checks if two public keys are equal
   */
  equals(r) {
    return hf(this.toRawBytes(), r.toRawBytes());
  }
  /**
   * Return the base-64 representation of the public key
   */
  toBase64() {
    return it(this.toRawBytes());
  }
  toString() {
    throw new Error(
      "`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead."
    );
  }
  /**
   * Return the Sui representation of the public key encoded in
   * base-64. A Sui public key is formed by the concatenation
   * of the scheme flag with the raw bytes of the public key
   */
  toSuiPublicKey() {
    const r = this.toSuiBytes();
    return it(r);
  }
  verifyWithIntent(r, t, a) {
    const n = lf(a, r), i = fo(n, { dkLen: 32 });
    return this.verify(i, t);
  }
  /**
   * Verifies that the signature is valid for for the provided PersonalMessage
   */
  verifyPersonalMessage(r, t) {
    return this.verifyWithIntent(
      la.vector(la.u8()).serialize(r).toBytes(),
      t,
      "PersonalMessage"
    );
  }
  /**
   * Verifies that the signature is valid for for the provided Transaction
   */
  verifyTransaction(r, t) {
    return this.verifyWithIntent(r, t, "TransactionData");
  }
  /**
   * Verifies that the public key is associated with the provided address
   */
  verifyAddress(r) {
    return this.toSuiAddress() === r;
  }
  /**
   * Returns the bytes representation of the public key
   * prefixed with the signature scheme flag
   */
  toSuiBytes() {
    const r = this.toRawBytes(), t = new Uint8Array(r.length + 1);
    return t.set([this.flag()]), t.set(r, 1), t;
  }
  /**
   * Return the Sui address associated with this Ed25519 public key
   */
  toSuiAddress() {
    return ca(
      ei(fo(this.toSuiBytes(), { dkLen: 32 })).slice(0, ti * 2)
    );
  }
}
function Mp(e) {
  const r = Ct(e), t = ff[r[0]];
  switch (t) {
    case "ED25519":
    case "Secp256k1":
    case "Secp256r1":
      const a = Cp[t], n = r.slice(1, r.length - a), i = r.slice(1 + n.length);
      return {
        serializedSignature: e,
        signatureScheme: t,
        signature: n,
        publicKey: i,
        bytes: r
      };
    default:
      throw new Error("Unsupported signature scheme");
  }
}
function Hp({
  signature: e,
  signatureScheme: r,
  publicKey: t
}) {
  if (!t)
    throw new Error("`publicKey` is required");
  const a = t.toRawBytes(), n = new Uint8Array(1 + e.length + a.length);
  return n.set([No[r]]), n.set(e, 1), n.set(a, 1 + e.length), it(n);
}
const Oa = 32, pf = "suiprivkey";
class Fp {
  /**
   * Sign messages with a specific intent. By combining the message bytes with the intent before hashing and signing,
   * it ensures that a signed message is tied to a specific purpose and domain separator is provided
   */
  async signWithIntent(r, t) {
    const a = lf(t, r), n = fo(a, { dkLen: 32 });
    return {
      signature: Hp({
        signature: await this.sign(n),
        signatureScheme: this.getKeyScheme(),
        publicKey: this.getPublicKey()
      }),
      bytes: it(r)
    };
  }
  /**
   * Signs provided transaction by calling `signWithIntent()` with a `TransactionData` provided as intent scope
   */
  async signTransaction(r) {
    return this.signWithIntent(r, "TransactionData");
  }
  /**
   * Signs provided personal message by calling `signWithIntent()` with a `PersonalMessage` provided as intent scope
   */
  async signPersonalMessage(r) {
    const { signature: t } = await this.signWithIntent(
      U.vector(U.u8()).serialize(r).toBytes(),
      "PersonalMessage"
    );
    return {
      bytes: it(r),
      signature: t
    };
  }
  async signAndExecuteTransaction({
    transaction: r,
    client: t
  }) {
    const a = await r.build({ client: t }), { signature: n } = await this.signTransaction(a);
    return (await t.core.executeTransaction({
      transaction: a,
      signatures: [n]
    })).transaction;
  }
  toSuiAddress() {
    return this.getPublicKey().toSuiAddress();
  }
}
class $p extends Fp {
}
function Vp(e) {
  const { prefix: r, words: t } = $a.decode(e);
  if (r !== pf)
    throw new Error("invalid private key prefix");
  const a = new Uint8Array($a.fromWords(t)), n = a.slice(1), i = ff[a[0]];
  return {
    scheme: i,
    schema: i,
    secretKey: n
  };
}
function Gp(e, r) {
  if (e.length !== Oa)
    throw new Error("Invalid bytes length");
  const t = No[r], a = new Uint8Array(e.length + 1);
  return a.set([t]), a.set(e, 1), $a.encode(pf, $a.toWords(a));
}
function Kp(e, r, t, a) {
  sl(e);
  const n = Vh({ dkLen: 32, asyncTick: 10 }, a), { c: i, dkLen: s, asyncTick: o } = n;
  if (mt(i), mt(s), mt(o), i < 1)
    throw new Error("iterations (c) should be >= 1");
  const u = Wu(r), l = Wu(t), f = new Uint8Array(s), p = ai.create(e, u), d = p._cloneInto().update(l);
  return { c: i, dkLen: s, asyncTick: o, DK: f, PRF: p, PRFSalt: d };
}
function Wp(e, r, t, a, n) {
  return e.destroy(), r.destroy(), a && a.destroy(), jt(n), t;
}
function Yp(e, r, t, a) {
  const { c: n, dkLen: i, DK: s, PRF: o, PRFSalt: u } = Kp(e, r, t, a);
  let l;
  const f = new Uint8Array(4), p = Ta(f), d = new Uint8Array(o.outputLen);
  for (let y = 1, b = 0; b < i; y++, b += o.outputLen) {
    const v = s.subarray(b, b + o.outputLen);
    p.setInt32(0, y, !1), (l = u._cloneInto(l)).update(f).digestInto(d), v.set(d.subarray(0, v.length));
    for (let S = 1; S < n; S++) {
      o._cloneInto(l).update(d).digestInto(d);
      for (let x = 0; x < v.length; x++)
        v[x] ^= d[x];
    }
  }
  return Wp(o, u, s, l, d);
}
/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */
function mf(e) {
  if (typeof e != "string")
    throw new TypeError("invalid mnemonic type: " + typeof e);
  return e.normalize("NFKD");
}
function Zp(e) {
  const r = mf(e), t = r.split(" ");
  if (![12, 15, 18, 21, 24].includes(t.length))
    throw new Error("Invalid mnemonic");
  return { nfkd: r, words: t };
}
const Xp = (e) => mf("mnemonic" + e);
function Jp(e, r = "") {
  return Yp(So, Zp(e).nfkd, Xp(r), { c: 2048, dkLen: 64 });
}
function mc(e) {
  return !!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(e);
}
function Qp(e) {
  return Jp(e, "");
}
function em(e) {
  return da(Qp(e));
}
const gf = So, rm = "ed25519 seed", tm = 2147483648, am = new RegExp("^m(\\/[0-9]+')+$"), bf = (e) => e.replace("'", ""), im = (e) => {
  const t = ai.create(gf, rm).update(Oo(e)).digest(), a = t.slice(0, 32), n = t.slice(32);
  return {
    key: a,
    chainCode: n
  };
}, nm = ({ key: e, chainCode: r }, t) => {
  const a = new ArrayBuffer(4);
  new DataView(a).setUint32(0, t);
  const i = new Uint8Array(1 + e.length + a.byteLength);
  i.set(new Uint8Array(1).fill(0)), i.set(e, 1), i.set(new Uint8Array(a, 0, a.byteLength), e.length + 1);
  const s = ai.create(gf, r).update(i).digest(), o = s.slice(0, 32), u = s.slice(32);
  return {
    key: o,
    chainCode: u
  };
}, om = (e) => am.test(e) ? !e.split("/").slice(1).map(bf).some(
  isNaN
  /* ts T_T*/
) : !1, gc = (e, r, t = tm) => {
  if (!om(e))
    throw new Error("Invalid derivation path");
  const { key: a, chainCode: n } = im(r);
  return e.split("/").slice(1).map(bf).map((s) => parseInt(s, 10)).reduce((s, o) => nm(s, o + t), {
    key: a,
    chainCode: n
  });
}, ho = 32;
class vf extends Pp {
  /**
   * Create a new Ed25519PublicKey object
   * @param value ed25519 public key as buffer or base-64 encoded string
   */
  constructor(r) {
    if (super(), typeof r == "string" ? this.data = Ct(r) : r instanceof Uint8Array ? this.data = r : this.data = Uint8Array.from(r), this.data.length !== ho)
      throw new Error(
        `Invalid public key input. Expected ${ho} bytes, got ${this.data.length}`
      );
  }
  /**
   * Checks if two Ed25519 public keys are equal
   */
  equals(r) {
    return super.equals(r);
  }
  /**
   * Return the byte array representation of the Ed25519 public key
   */
  toRawBytes() {
    return this.data;
  }
  /**
   * Return the Sui address associated with this Ed25519 public key
   */
  flag() {
    return No.ED25519;
  }
  /**
   * Verifies that the signature is valid for for the provided message
   */
  async verify(r, t) {
    let a;
    if (typeof t == "string") {
      const n = Mp(t);
      if (n.signatureScheme !== "ED25519")
        throw new Error("Invalid signature scheme");
      if (!hf(this.toRawBytes(), n.publicKey))
        throw new Error("Signature does not match public key");
      a = n.signature;
    } else
      a = t;
    return ht.verify(a, r, this.toRawBytes());
  }
}
vf.SIZE = ho;
const bc = "m/44'/784'/0'/0'/0'";
class Vt extends $p {
  /**
   * Create a new Ed25519 keypair instance.
   * Generate random keypair if no {@link Ed25519Keypair} is provided.
   *
   * @param keypair Ed25519 keypair
   */
  constructor(r) {
    if (super(), r)
      this.keypair = {
        publicKey: r.publicKey,
        secretKey: r.secretKey.slice(0, 32)
      };
    else {
      const t = ht.utils.randomPrivateKey();
      this.keypair = {
        publicKey: ht.getPublicKey(t),
        secretKey: t
      };
    }
  }
  /**
   * Get the key scheme of the keypair ED25519
   */
  getKeyScheme() {
    return "ED25519";
  }
  /**
   * Generate a new random Ed25519 keypair
   */
  static generate() {
    const r = ht.utils.randomPrivateKey();
    return new Vt({
      publicKey: ht.getPublicKey(r),
      secretKey: r
    });
  }
  /**
   * Create a Ed25519 keypair from a raw secret key byte array, also known as seed.
   * This is NOT the private scalar which is result of hashing and bit clamping of
   * the raw secret key.
   *
   * @throws error if the provided secret key is invalid and validation is not skipped.
   *
   * @param secretKey secret key as a byte array or Bech32 secret key string
   * @param options: skip secret key validation
   */
  static fromSecretKey(r, t) {
    if (typeof r == "string") {
      const i = Vp(r);
      if (i.schema !== "ED25519")
        throw new Error(`Expected a ED25519 keypair, got ${i.schema}`);
      return this.fromSecretKey(i.secretKey, t);
    }
    const a = r.length;
    if (a !== Oa)
      throw new Error(
        `Wrong secretKey size. Expected ${Oa} bytes, got ${a}.`
      );
    const n = {
      publicKey: ht.getPublicKey(r),
      secretKey: r
    };
    if (!t || !t.skipValidation) {
      const s = new TextEncoder().encode("sui validation"), o = ht.sign(s, r);
      if (!ht.verify(o, s, n.publicKey))
        throw new Error("provided secretKey is invalid");
    }
    return new Vt(n);
  }
  /**
   * The public key for this Ed25519 keypair
   */
  getPublicKey() {
    return new vf(this.keypair.publicKey);
  }
  /**
   * The Bech32 secret key string for this Ed25519 keypair
   */
  getSecretKey() {
    return Gp(
      this.keypair.secretKey.slice(0, Oa),
      this.getKeyScheme()
    );
  }
  /**
   * Return the signature for the provided data using Ed25519.
   */
  async sign(r) {
    return ht.sign(r, this.keypair.secretKey);
  }
  /**
   * Derive Ed25519 keypair from mnemonics and path. The mnemonics must be normalized
   * and validated against the english wordlist.
   *
   * If path is none, it will default to m/44'/784'/0'/0'/0', otherwise the path must
   * be compliant to SLIP-0010 in form m/44'/784'/{account_index}'/{change_index}'/{address_index}'.
   */
  static deriveKeypair(r, t) {
    if (t == null && (t = bc), !mc(t))
      throw new Error("Invalid derivation path");
    const { key: a } = gc(t, em(r));
    return Vt.fromSecretKey(a);
  }
  /**
   * Derive Ed25519 keypair from mnemonicSeed and path.
   *
   * If path is none, it will default to m/44'/784'/0'/0'/0', otherwise the path must
   * be compliant to SLIP-0010 in form m/44'/784'/{account_index}'/{change_index}'/{address_index}'.
   */
  static deriveKeypairFromSeed(r, t) {
    if (t == null && (t = bc), !mc(t))
      throw new Error("Invalid derivation path");
    const { key: a } = gc(t, r);
    return Vt.fromSecretKey(a);
  }
}
function Co(e, r, t) {
  if (!process.env.PREFIX_HASH)
    throw new Error("PREFIX_HASH is not set");
  const a = Buffer.from(
    Dc.createHash("md5").update(process.env.PREFIX_HASH + r).digest("hex")
  ), n = "m/44'/60'/0'/0/0", i = "m/44'/501'/0'/0'", s = "m/44'/784'/0'/0'/0'", o = us.entropyToMnemonic(Buffer.from(a)), u = us.mnemonicToSeedSync(o, t), l = Xf.fromPhrase(o, t), f = Gu.derivePath(i, u.toString("hex"), 0).key, p = Gu.derivePath(s, u.toString("hex"), 0).key, d = Jf.fromMnemonic(l, n), y = new Wf(Na.sign.keyPair.fromSeed(f)), b = new Vt(Na.sign.keyPair.fromSeed(p));
  let v = {};
  switch (e) {
    case Kr.eth:
      v = {
        address: d.address,
        keypair: d
      };
      break;
    case Kr.sol:
      v = {
        address: y.publicKey.toBase58(),
        keypair: y
      };
      break;
    case Kr.sui:
      v = {
        address: b.getPublicKey().toSuiAddress(),
        keypair: b
      };
      break;
    default:
      throw new Error("Invalid network");
  }
  return v;
}
const yf = ["GhFe8kGu454dbcCDjGaM5VuMZwCWX9Yv4woikADEGS2F"], sm = ["talentdevstar@gmail.com"];
async function xf(e, r, t, a, n) {
  var f;
  await Lc();
  const i = await Hf();
  let s = null;
  (f = i == null ? void 0 : i.user) != null && f.id && (s = await na.findById(i.user.id));
  const o = await na.findOne({
    "users.network": r,
    "users.address": t
  });
  if (s && o && s._id.toString() !== o._id.toString()) {
    const p = [...s.users, ...o.users].filter(
      (d, y, b) => b.findIndex(
        (v) => v.address.toLowerCase() === d.address.toLowerCase() && v.network.toLowerCase() === d.network.toLowerCase()
      ) === y
    );
    return await na.deleteOne({ _id: o._id }), s.users = p, s.lastAddress = t, s.lastNetwork = r, await s.save(), s.toObject();
  }
  if (s || o) {
    const p = s || o;
    if (!p)
      throw new Error("User profile not found");
    return p.users.some(
      (d) => d.address.toLowerCase() === t.toLowerCase() && d.network.toLowerCase() === r.toLowerCase()
    ) || p.users.push({
      address: t,
      network: r,
      social: a,
      provider: e
    }), p.lastAddress = t, p.lastNetwork = r, await p.save(), p.toObject();
  }
  let u = "";
  switch (r) {
    case Kr.sol:
      u = t.slice(0, 8);
      break;
    case Kr.eth:
    default:
      u = t.slice(2, 10);
  }
  const l = new na({
    name: u,
    image: n,
    lastAddress: t,
    lastNetwork: r,
    users: [
      {
        address: t,
        network: r,
        social: a,
        provider: e
      }
    ]
  });
  return await l.save(), l.toObject();
}
async function to(e, r, t, a) {
  let n = Kt.USER;
  sm.includes(`${r}@${e}`) && (n = Kt.ADMIN);
  const i = Number(process.env.DEFAULT_CHAINID || id.id), s = La.find((l) => l.id === i);
  if (!s)
    throw new Error("Chain not found");
  let o = null;
  const u = s.network.symbol;
  for (const l of Object.values(Kr)) {
    const { address: f } = Co(l, r, e), p = await xf(
      e,
      l,
      f,
      r,
      t
    );
    u === l && (yf.includes(f) && (n = Kt.ADMIN), o = {
      id: p.id,
      provider: e,
      chainId: s.id,
      network: u,
      address: f,
      social: r,
      name: p.name,
      image: p.image,
      role: n
    });
  }
  if (!o)
    throw new Error("User not found");
  return o;
}
async function um(e, r, t, a) {
  await Lc();
  let n = Kt.USER;
  yf.includes(a) && (n = Kt.ADMIN);
  const s = await xf(
    e,
    t,
    a,
    "",
    "/apple-icon.png"
  );
  return {
    id: s.id,
    provider: e,
    chainId: r,
    network: t,
    social: "",
    address: a,
    name: s.name,
    image: s.image,
    role: n
  };
}
async function gg(e, r) {
  try {
    const { MemeTokenModel: t } = await import("./index-gOL5Iaxt.mjs"), a = e.users.map(async (n) => {
      const i = await t.updateMany(
        {
          owner: n.address,
          // Only update if the name is different to avoid unnecessary updates
          ownerName: { $ne: e.name }
        },
        {
          ownerName: e.name
        }
      );
      return console.log(
        `Updated ${i.modifiedCount} tokens for address ${n.address} (${n.network}) - name changed from "${r}" to "${e.name}"`
      ), i;
    });
    await Promise.all(a);
  } catch (t) {
    console.error("Error updating token owner names:", t);
  }
}
const wf = new _e(
  {
    message: {
      type: String,
      required: !0
    },
    isActive: {
      type: Boolean,
      default: !0
    },
    createdBy: {
      address: {
        type: String
      },
      network: {
        enum: Object.values(Kr),
        type: String
      }
    },
    updatedBy: {
      address: {
        type: String
      },
      network: {
        enum: Object.values(Kr),
        type: String
      }
    }
  },
  {
    timestamps: !0,
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => {
        r.id = r._id.toString(), delete r.__v, delete r._id;
      }
    }
  }
);
wf.index(
  { chainId: 1, account: 1, createdAt: -1 },
  { unique: !0 }
);
var wc;
(wc = Fr) != null && wc.Announcement || $r("Announcement", wf);
const _f = new _e(
  {
    chainId: { type: Number, required: !0 },
    contract: { type: String, required: !0 },
    block: { type: Number, required: !0 },
    signature: { type: String, required: !0 }
  },
  {
    toObject: {
      getters: !0,
      versionKey: !1
    }
  }
);
_f.index({ chainId: 1 });
var _c;
(_c = Fr) != null && _c.Block || $r("Block", _f);
/*!
 *  decimal.js v10.6.0
 *  An arbitrary-precision Decimal type for JavaScript.
 *  https://github.com/MikeMcl/decimal.js
 *  Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
 *  MIT Licence
 */
var Gt = 9e15, qt = 1e9, po = "0123456789abcdef", Ya = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058", Za = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789", mo = {
  // These values must be integers within the stated ranges (inclusive).
  // Most of these values can be changed at run-time using the `Decimal.config` method.
  // The maximum number of significant digits of the result of a calculation or base conversion.
  // E.g. `Decimal.config({ precision: 20 });`
  precision: 20,
  // 1 to MAX_DIGITS
  // The rounding mode used when rounding to `precision`.
  //
  // ROUND_UP         0 Away from zero.
  // ROUND_DOWN       1 Towards zero.
  // ROUND_CEIL       2 Towards +Infinity.
  // ROUND_FLOOR      3 Towards -Infinity.
  // ROUND_HALF_UP    4 Towards nearest neighbour. If equidistant, up.
  // ROUND_HALF_DOWN  5 Towards nearest neighbour. If equidistant, down.
  // ROUND_HALF_EVEN  6 Towards nearest neighbour. If equidistant, towards even neighbour.
  // ROUND_HALF_CEIL  7 Towards nearest neighbour. If equidistant, towards +Infinity.
  // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.
  //
  // E.g.
  // `Decimal.rounding = 4;`
  // `Decimal.rounding = Decimal.ROUND_HALF_UP;`
  rounding: 4,
  // 0 to 8
  // The modulo mode used when calculating the modulus: a mod n.
  // The quotient (q = a / n) is calculated according to the corresponding rounding mode.
  // The remainder (r) is calculated as: r = a - n * q.
  //
  // UP         0 The remainder is positive if the dividend is negative, else is negative.
  // DOWN       1 The remainder has the same sign as the dividend (JavaScript %).
  // FLOOR      3 The remainder has the same sign as the divisor (Python %).
  // HALF_EVEN  6 The IEEE 754 remainder function.
  // EUCLID     9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.
  //
  // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian
  // division (9) are commonly used for the modulus operation. The other rounding modes can also
  // be used, but they may not give useful results.
  modulo: 1,
  // 0 to 9
  // The exponent value at and beneath which `toString` returns exponential notation.
  // JavaScript numbers: -7
  toExpNeg: -7,
  // 0 to -EXP_LIMIT
  // The exponent value at and above which `toString` returns exponential notation.
  // JavaScript numbers: 21
  toExpPos: 21,
  // 0 to EXP_LIMIT
  // The minimum exponent value, beneath which underflow to zero occurs.
  // JavaScript numbers: -324  (5e-324)
  minE: -Gt,
  // -1 to -EXP_LIMIT
  // The maximum exponent value, above which overflow to Infinity occurs.
  // JavaScript numbers: 308  (1.7976931348623157e+308)
  maxE: Gt,
  // 1 to EXP_LIMIT
  // Whether to use cryptographically-secure random number generation, if available.
  crypto: !1
  // true/false
}, Ef, pt, Me = !0, ii = "[DecimalError] ", Rt = ii + "Invalid argument: ", kf = ii + "Precision limit exceeded", Sf = ii + "crypto unavailable", Af = "[object Decimal]", Pr = Math.floor, Br = Math.pow, cm = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i, lm = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i, fm = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i, Bf = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, at = 1e7, Oe = 7, dm = 9007199254740991, hm = Ya.length - 1, go = Za.length - 1, ne = { toStringTag: Af };
ne.absoluteValue = ne.abs = function() {
  var e = new this.constructor(this);
  return e.s < 0 && (e.s = 1), je(e);
};
ne.ceil = function() {
  return je(new this.constructor(this), this.e + 1, 2);
};
ne.clampedTo = ne.clamp = function(e, r) {
  var t, a = this, n = a.constructor;
  if (e = new n(e), r = new n(r), !e.s || !r.s) return new n(NaN);
  if (e.gt(r)) throw Error(Rt + r);
  return t = a.cmp(e), t < 0 ? e : a.cmp(r) > 0 ? r : new n(a);
};
ne.comparedTo = ne.cmp = function(e) {
  var r, t, a, n, i = this, s = i.d, o = (e = new i.constructor(e)).d, u = i.s, l = e.s;
  if (!s || !o)
    return !u || !l ? NaN : u !== l ? u : s === o ? 0 : !s ^ u < 0 ? 1 : -1;
  if (!s[0] || !o[0]) return s[0] ? u : o[0] ? -l : 0;
  if (u !== l) return u;
  if (i.e !== e.e) return i.e > e.e ^ u < 0 ? 1 : -1;
  for (a = s.length, n = o.length, r = 0, t = a < n ? a : n; r < t; ++r)
    if (s[r] !== o[r]) return s[r] > o[r] ^ u < 0 ? 1 : -1;
  return a === n ? 0 : a > n ^ u < 0 ? 1 : -1;
};
ne.cosine = ne.cos = function() {
  var e, r, t = this, a = t.constructor;
  return t.d ? t.d[0] ? (e = a.precision, r = a.rounding, a.precision = e + Math.max(t.e, t.sd()) + Oe, a.rounding = 1, t = pm(a, Rf(a, t)), a.precision = e, a.rounding = r, je(pt == 2 || pt == 3 ? t.neg() : t, e, r, !0)) : new a(1) : new a(NaN);
};
ne.cubeRoot = ne.cbrt = function() {
  var e, r, t, a, n, i, s, o, u, l, f = this, p = f.constructor;
  if (!f.isFinite() || f.isZero()) return new p(f);
  for (Me = !1, i = f.s * Br(f.s * f, 1 / 3), !i || Math.abs(i) == 1 / 0 ? (t = qr(f.d), e = f.e, (i = (e - t.length + 1) % 3) && (t += i == 1 || i == -2 ? "0" : "00"), i = Br(t, 1 / 3), e = Pr((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2)), i == 1 / 0 ? t = "5e" + e : (t = i.toExponential(), t = t.slice(0, t.indexOf("e") + 1) + e), a = new p(t), a.s = f.s) : a = new p(i.toString()), s = (e = p.precision) + 3; ; )
    if (o = a, u = o.times(o).times(o), l = u.plus(f), a = pr(l.plus(f).times(o), l.plus(u), s + 2, 1), qr(o.d).slice(0, s) === (t = qr(a.d)).slice(0, s))
      if (t = t.slice(s - 3, s + 1), t == "9999" || !n && t == "4999") {
        if (!n && (je(o, e + 1, 0), o.times(o).times(o).eq(f))) {
          a = o;
          break;
        }
        s += 4, n = 1;
      } else {
        (!+t || !+t.slice(1) && t.charAt(0) == "5") && (je(a, e + 1, 1), r = !a.times(a).times(a).eq(f));
        break;
      }
  return Me = !0, je(a, e, p.rounding, r);
};
ne.decimalPlaces = ne.dp = function() {
  var e, r = this.d, t = NaN;
  if (r) {
    if (e = r.length - 1, t = (e - Pr(this.e / Oe)) * Oe, e = r[e], e) for (; e % 10 == 0; e /= 10) t--;
    t < 0 && (t = 0);
  }
  return t;
};
ne.dividedBy = ne.div = function(e) {
  return pr(this, new this.constructor(e));
};
ne.dividedToIntegerBy = ne.divToInt = function(e) {
  var r = this, t = r.constructor;
  return je(pr(r, new t(e), 0, 1, 1), t.precision, t.rounding);
};
ne.equals = ne.eq = function(e) {
  return this.cmp(e) === 0;
};
ne.floor = function() {
  return je(new this.constructor(this), this.e + 1, 3);
};
ne.greaterThan = ne.gt = function(e) {
  return this.cmp(e) > 0;
};
ne.greaterThanOrEqualTo = ne.gte = function(e) {
  var r = this.cmp(e);
  return r == 1 || r === 0;
};
ne.hyperbolicCosine = ne.cosh = function() {
  var e, r, t, a, n, i = this, s = i.constructor, o = new s(1);
  if (!i.isFinite()) return new s(i.s ? 1 / 0 : NaN);
  if (i.isZero()) return o;
  t = s.precision, a = s.rounding, s.precision = t + Math.max(i.e, i.sd()) + 4, s.rounding = 1, n = i.d.length, n < 32 ? (e = Math.ceil(n / 3), r = (1 / oi(4, e)).toString()) : (e = 16, r = "2.3283064365386962890625e-10"), i = Zt(s, 1, i.times(r), new s(1), !0);
  for (var u, l = e, f = new s(8); l--; )
    u = i.times(i), i = o.minus(u.times(f.minus(u.times(f))));
  return je(i, s.precision = t, s.rounding = a, !0);
};
ne.hyperbolicSine = ne.sinh = function() {
  var e, r, t, a, n = this, i = n.constructor;
  if (!n.isFinite() || n.isZero()) return new i(n);
  if (r = i.precision, t = i.rounding, i.precision = r + Math.max(n.e, n.sd()) + 4, i.rounding = 1, a = n.d.length, a < 3)
    n = Zt(i, 2, n, n, !0);
  else {
    e = 1.4 * Math.sqrt(a), e = e > 16 ? 16 : e | 0, n = n.times(1 / oi(5, e)), n = Zt(i, 2, n, n, !0);
    for (var s, o = new i(5), u = new i(16), l = new i(20); e--; )
      s = n.times(n), n = n.times(o.plus(s.times(u.times(s).plus(l))));
  }
  return i.precision = r, i.rounding = t, je(n, r, t, !0);
};
ne.hyperbolicTangent = ne.tanh = function() {
  var e, r, t = this, a = t.constructor;
  return t.isFinite() ? t.isZero() ? new a(t) : (e = a.precision, r = a.rounding, a.precision = e + 7, a.rounding = 1, pr(t.sinh(), t.cosh(), a.precision = e, a.rounding = r)) : new a(t.s);
};
ne.inverseCosine = ne.acos = function() {
  var e = this, r = e.constructor, t = e.abs().cmp(1), a = r.precision, n = r.rounding;
  return t !== -1 ? t === 0 ? e.isNeg() ? st(r, a, n) : new r(0) : new r(NaN) : e.isZero() ? st(r, a + 4, n).times(0.5) : (r.precision = a + 6, r.rounding = 1, e = new r(1).minus(e).div(e.plus(1)).sqrt().atan(), r.precision = a, r.rounding = n, e.times(2));
};
ne.inverseHyperbolicCosine = ne.acosh = function() {
  var e, r, t = this, a = t.constructor;
  return t.lte(1) ? new a(t.eq(1) ? 0 : NaN) : t.isFinite() ? (e = a.precision, r = a.rounding, a.precision = e + Math.max(Math.abs(t.e), t.sd()) + 4, a.rounding = 1, Me = !1, t = t.times(t).minus(1).sqrt().plus(t), Me = !0, a.precision = e, a.rounding = r, t.ln()) : new a(t);
};
ne.inverseHyperbolicSine = ne.asinh = function() {
  var e, r, t = this, a = t.constructor;
  return !t.isFinite() || t.isZero() ? new a(t) : (e = a.precision, r = a.rounding, a.precision = e + 2 * Math.max(Math.abs(t.e), t.sd()) + 6, a.rounding = 1, Me = !1, t = t.times(t).plus(1).sqrt().plus(t), Me = !0, a.precision = e, a.rounding = r, t.ln());
};
ne.inverseHyperbolicTangent = ne.atanh = function() {
  var e, r, t, a, n = this, i = n.constructor;
  return n.isFinite() ? n.e >= 0 ? new i(n.abs().eq(1) ? n.s / 0 : n.isZero() ? n : NaN) : (e = i.precision, r = i.rounding, a = n.sd(), Math.max(a, e) < 2 * -n.e - 1 ? je(new i(n), e, r, !0) : (i.precision = t = a - n.e, n = pr(n.plus(1), new i(1).minus(n), t + e, 1), i.precision = e + 4, i.rounding = 1, n = n.ln(), i.precision = e, i.rounding = r, n.times(0.5))) : new i(NaN);
};
ne.inverseSine = ne.asin = function() {
  var e, r, t, a, n = this, i = n.constructor;
  return n.isZero() ? new i(n) : (r = n.abs().cmp(1), t = i.precision, a = i.rounding, r !== -1 ? r === 0 ? (e = st(i, t + 4, a).times(0.5), e.s = n.s, e) : new i(NaN) : (i.precision = t + 6, i.rounding = 1, n = n.div(new i(1).minus(n.times(n)).sqrt().plus(1)).atan(), i.precision = t, i.rounding = a, n.times(2)));
};
ne.inverseTangent = ne.atan = function() {
  var e, r, t, a, n, i, s, o, u, l = this, f = l.constructor, p = f.precision, d = f.rounding;
  if (l.isFinite()) {
    if (l.isZero())
      return new f(l);
    if (l.abs().eq(1) && p + 4 <= go)
      return s = st(f, p + 4, d).times(0.25), s.s = l.s, s;
  } else {
    if (!l.s) return new f(NaN);
    if (p + 4 <= go)
      return s = st(f, p + 4, d).times(0.5), s.s = l.s, s;
  }
  for (f.precision = o = p + 10, f.rounding = 1, t = Math.min(28, o / Oe + 2 | 0), e = t; e; --e) l = l.div(l.times(l).plus(1).sqrt().plus(1));
  for (Me = !1, r = Math.ceil(o / Oe), a = 1, u = l.times(l), s = new f(l), n = l; e !== -1; )
    if (n = n.times(u), i = s.minus(n.div(a += 2)), n = n.times(u), s = i.plus(n.div(a += 2)), s.d[r] !== void 0) for (e = r; s.d[e] === i.d[e] && e--; ) ;
  return t && (s = s.times(2 << t - 1)), Me = !0, je(s, f.precision = p, f.rounding = d, !0);
};
ne.isFinite = function() {
  return !!this.d;
};
ne.isInteger = ne.isInt = function() {
  return !!this.d && Pr(this.e / Oe) > this.d.length - 2;
};
ne.isNaN = function() {
  return !this.s;
};
ne.isNegative = ne.isNeg = function() {
  return this.s < 0;
};
ne.isPositive = ne.isPos = function() {
  return this.s > 0;
};
ne.isZero = function() {
  return !!this.d && this.d[0] === 0;
};
ne.lessThan = ne.lt = function(e) {
  return this.cmp(e) < 0;
};
ne.lessThanOrEqualTo = ne.lte = function(e) {
  return this.cmp(e) < 1;
};
ne.logarithm = ne.log = function(e) {
  var r, t, a, n, i, s, o, u, l = this, f = l.constructor, p = f.precision, d = f.rounding, y = 5;
  if (e == null)
    e = new f(10), r = !0;
  else {
    if (e = new f(e), t = e.d, e.s < 0 || !t || !t[0] || e.eq(1)) return new f(NaN);
    r = e.eq(10);
  }
  if (t = l.d, l.s < 0 || !t || !t[0] || l.eq(1))
    return new f(t && !t[0] ? -1 / 0 : l.s != 1 ? NaN : t ? 0 : 1 / 0);
  if (r)
    if (t.length > 1)
      i = !0;
    else {
      for (n = t[0]; n % 10 === 0; ) n /= 10;
      i = n !== 1;
    }
  if (Me = !1, o = p + y, s = It(l, o), a = r ? Xa(f, o + 10) : It(e, o), u = pr(s, a, o, 1), ha(u.d, n = p, d))
    do
      if (o += 10, s = It(l, o), a = r ? Xa(f, o + 10) : It(e, o), u = pr(s, a, o, 1), !i) {
        +qr(u.d).slice(n + 1, n + 15) + 1 == 1e14 && (u = je(u, p + 1, 0));
        break;
      }
    while (ha(u.d, n += 10, d));
  return Me = !0, je(u, p, d);
};
ne.minus = ne.sub = function(e) {
  var r, t, a, n, i, s, o, u, l, f, p, d, y = this, b = y.constructor;
  if (e = new b(e), !y.d || !e.d)
    return !y.s || !e.s ? e = new b(NaN) : y.d ? e.s = -e.s : e = new b(e.d || y.s !== e.s ? y : NaN), e;
  if (y.s != e.s)
    return e.s = -e.s, y.plus(e);
  if (l = y.d, d = e.d, o = b.precision, u = b.rounding, !l[0] || !d[0]) {
    if (d[0]) e.s = -e.s;
    else if (l[0]) e = new b(y);
    else return new b(u === 3 ? -0 : 0);
    return Me ? je(e, o, u) : e;
  }
  if (t = Pr(e.e / Oe), f = Pr(y.e / Oe), l = l.slice(), i = f - t, i) {
    for (p = i < 0, p ? (r = l, i = -i, s = d.length) : (r = d, t = f, s = l.length), a = Math.max(Math.ceil(o / Oe), s) + 2, i > a && (i = a, r.length = 1), r.reverse(), a = i; a--; ) r.push(0);
    r.reverse();
  } else {
    for (a = l.length, s = d.length, p = a < s, p && (s = a), a = 0; a < s; a++)
      if (l[a] != d[a]) {
        p = l[a] < d[a];
        break;
      }
    i = 0;
  }
  for (p && (r = l, l = d, d = r, e.s = -e.s), s = l.length, a = d.length - s; a > 0; --a) l[s++] = 0;
  for (a = d.length; a > i; ) {
    if (l[--a] < d[a]) {
      for (n = a; n && l[--n] === 0; ) l[n] = at - 1;
      --l[n], l[a] += at;
    }
    l[a] -= d[a];
  }
  for (; l[--s] === 0; ) l.pop();
  for (; l[0] === 0; l.shift()) --t;
  return l[0] ? (e.d = l, e.e = ni(l, t), Me ? je(e, o, u) : e) : new b(u === 3 ? -0 : 0);
};
ne.modulo = ne.mod = function(e) {
  var r, t = this, a = t.constructor;
  return e = new a(e), !t.d || !e.s || e.d && !e.d[0] ? new a(NaN) : !e.d || t.d && !t.d[0] ? je(new a(t), a.precision, a.rounding) : (Me = !1, a.modulo == 9 ? (r = pr(t, e.abs(), 0, 3, 1), r.s *= e.s) : r = pr(t, e, 0, a.modulo, 1), r = r.times(e), Me = !0, t.minus(r));
};
ne.naturalExponential = ne.exp = function() {
  return bo(this);
};
ne.naturalLogarithm = ne.ln = function() {
  return It(this);
};
ne.negated = ne.neg = function() {
  var e = new this.constructor(this);
  return e.s = -e.s, je(e);
};
ne.plus = ne.add = function(e) {
  var r, t, a, n, i, s, o, u, l, f, p = this, d = p.constructor;
  if (e = new d(e), !p.d || !e.d)
    return !p.s || !e.s ? e = new d(NaN) : p.d || (e = new d(e.d || p.s === e.s ? p : NaN)), e;
  if (p.s != e.s)
    return e.s = -e.s, p.minus(e);
  if (l = p.d, f = e.d, o = d.precision, u = d.rounding, !l[0] || !f[0])
    return f[0] || (e = new d(p)), Me ? je(e, o, u) : e;
  if (i = Pr(p.e / Oe), a = Pr(e.e / Oe), l = l.slice(), n = i - a, n) {
    for (n < 0 ? (t = l, n = -n, s = f.length) : (t = f, a = i, s = l.length), i = Math.ceil(o / Oe), s = i > s ? i + 1 : s + 1, n > s && (n = s, t.length = 1), t.reverse(); n--; ) t.push(0);
    t.reverse();
  }
  for (s = l.length, n = f.length, s - n < 0 && (n = s, t = f, f = l, l = t), r = 0; n; )
    r = (l[--n] = l[n] + f[n] + r) / at | 0, l[n] %= at;
  for (r && (l.unshift(r), ++a), s = l.length; l[--s] == 0; ) l.pop();
  return e.d = l, e.e = ni(l, a), Me ? je(e, o, u) : e;
};
ne.precision = ne.sd = function(e) {
  var r, t = this;
  if (e !== void 0 && e !== !!e && e !== 1 && e !== 0) throw Error(Rt + e);
  return t.d ? (r = If(t.d), e && t.e + 1 > r && (r = t.e + 1)) : r = NaN, r;
};
ne.round = function() {
  var e = this, r = e.constructor;
  return je(new r(e), e.e + 1, r.rounding);
};
ne.sine = ne.sin = function() {
  var e, r, t = this, a = t.constructor;
  return t.isFinite() ? t.isZero() ? new a(t) : (e = a.precision, r = a.rounding, a.precision = e + Math.max(t.e, t.sd()) + Oe, a.rounding = 1, t = gm(a, Rf(a, t)), a.precision = e, a.rounding = r, je(pt > 2 ? t.neg() : t, e, r, !0)) : new a(NaN);
};
ne.squareRoot = ne.sqrt = function() {
  var e, r, t, a, n, i, s = this, o = s.d, u = s.e, l = s.s, f = s.constructor;
  if (l !== 1 || !o || !o[0])
    return new f(!l || l < 0 && (!o || o[0]) ? NaN : o ? s : 1 / 0);
  for (Me = !1, l = Math.sqrt(+s), l == 0 || l == 1 / 0 ? (r = qr(o), (r.length + u) % 2 == 0 && (r += "0"), l = Math.sqrt(r), u = Pr((u + 1) / 2) - (u < 0 || u % 2), l == 1 / 0 ? r = "5e" + u : (r = l.toExponential(), r = r.slice(0, r.indexOf("e") + 1) + u), a = new f(r)) : a = new f(l.toString()), t = (u = f.precision) + 3; ; )
    if (i = a, a = i.plus(pr(s, i, t + 2, 1)).times(0.5), qr(i.d).slice(0, t) === (r = qr(a.d)).slice(0, t))
      if (r = r.slice(t - 3, t + 1), r == "9999" || !n && r == "4999") {
        if (!n && (je(i, u + 1, 0), i.times(i).eq(s))) {
          a = i;
          break;
        }
        t += 4, n = 1;
      } else {
        (!+r || !+r.slice(1) && r.charAt(0) == "5") && (je(a, u + 1, 1), e = !a.times(a).eq(s));
        break;
      }
  return Me = !0, je(a, u, f.rounding, e);
};
ne.tangent = ne.tan = function() {
  var e, r, t = this, a = t.constructor;
  return t.isFinite() ? t.isZero() ? new a(t) : (e = a.precision, r = a.rounding, a.precision = e + 10, a.rounding = 1, t = t.sin(), t.s = 1, t = pr(t, new a(1).minus(t.times(t)).sqrt(), e + 10, 0), a.precision = e, a.rounding = r, je(pt == 2 || pt == 4 ? t.neg() : t, e, r, !0)) : new a(NaN);
};
ne.times = ne.mul = function(e) {
  var r, t, a, n, i, s, o, u, l, f = this, p = f.constructor, d = f.d, y = (e = new p(e)).d;
  if (e.s *= f.s, !d || !d[0] || !y || !y[0])
    return new p(!e.s || d && !d[0] && !y || y && !y[0] && !d ? NaN : !d || !y ? e.s / 0 : e.s * 0);
  for (t = Pr(f.e / Oe) + Pr(e.e / Oe), u = d.length, l = y.length, u < l && (i = d, d = y, y = i, s = u, u = l, l = s), i = [], s = u + l, a = s; a--; ) i.push(0);
  for (a = l; --a >= 0; ) {
    for (r = 0, n = u + a; n > a; )
      o = i[n] + y[a] * d[n - a - 1] + r, i[n--] = o % at | 0, r = o / at | 0;
    i[n] = (i[n] + r) % at | 0;
  }
  for (; !i[--s]; ) i.pop();
  return r ? ++t : i.shift(), e.d = i, e.e = ni(i, t), Me ? je(e, p.precision, p.rounding) : e;
};
ne.toBinary = function(e, r) {
  return Po(this, 2, e, r);
};
ne.toDecimalPlaces = ne.toDP = function(e, r) {
  var t = this, a = t.constructor;
  return t = new a(t), e === void 0 ? t : (Wr(e, 0, qt), r === void 0 ? r = a.rounding : Wr(r, 0, 8), je(t, e + t.e + 1, r));
};
ne.toExponential = function(e, r) {
  var t, a = this, n = a.constructor;
  return e === void 0 ? t = ut(a, !0) : (Wr(e, 0, qt), r === void 0 ? r = n.rounding : Wr(r, 0, 8), a = je(new n(a), e + 1, r), t = ut(a, !0, e + 1)), a.isNeg() && !a.isZero() ? "-" + t : t;
};
ne.toFixed = function(e, r) {
  var t, a, n = this, i = n.constructor;
  return e === void 0 ? t = ut(n) : (Wr(e, 0, qt), r === void 0 ? r = i.rounding : Wr(r, 0, 8), a = je(new i(n), e + n.e + 1, r), t = ut(a, !1, e + a.e + 1)), n.isNeg() && !n.isZero() ? "-" + t : t;
};
ne.toFraction = function(e) {
  var r, t, a, n, i, s, o, u, l, f, p, d, y = this, b = y.d, v = y.constructor;
  if (!b) return new v(y);
  if (l = t = new v(1), a = u = new v(0), r = new v(a), i = r.e = If(b) - y.e - 1, s = i % Oe, r.d[0] = Br(10, s < 0 ? Oe + s : s), e == null)
    e = i > 0 ? r : l;
  else {
    if (o = new v(e), !o.isInt() || o.lt(l)) throw Error(Rt + o);
    e = o.gt(r) ? i > 0 ? r : l : o;
  }
  for (Me = !1, o = new v(qr(b)), f = v.precision, v.precision = i = b.length * Oe * 2; p = pr(o, r, 0, 1, 1), n = t.plus(p.times(a)), n.cmp(e) != 1; )
    t = a, a = n, n = l, l = u.plus(p.times(n)), u = n, n = r, r = o.minus(p.times(n)), o = n;
  return n = pr(e.minus(t), a, 0, 1, 1), u = u.plus(n.times(l)), t = t.plus(n.times(a)), u.s = l.s = y.s, d = pr(l, a, i, 1).minus(y).abs().cmp(pr(u, t, i, 1).minus(y).abs()) < 1 ? [l, a] : [u, t], v.precision = f, Me = !0, d;
};
ne.toHexadecimal = ne.toHex = function(e, r) {
  return Po(this, 16, e, r);
};
ne.toNearest = function(e, r) {
  var t = this, a = t.constructor;
  if (t = new a(t), e == null) {
    if (!t.d) return t;
    e = new a(1), r = a.rounding;
  } else {
    if (e = new a(e), r === void 0 ? r = a.rounding : Wr(r, 0, 8), !t.d) return e.s ? t : e;
    if (!e.d)
      return e.s && (e.s = t.s), e;
  }
  return e.d[0] ? (Me = !1, t = pr(t, e, 0, r, 1).times(e), Me = !0, je(t)) : (e.s = t.s, t = e), t;
};
ne.toNumber = function() {
  return +this;
};
ne.toOctal = function(e, r) {
  return Po(this, 8, e, r);
};
ne.toPower = ne.pow = function(e) {
  var r, t, a, n, i, s, o = this, u = o.constructor, l = +(e = new u(e));
  if (!o.d || !e.d || !o.d[0] || !e.d[0]) return new u(Br(+o, l));
  if (o = new u(o), o.eq(1)) return o;
  if (a = u.precision, i = u.rounding, e.eq(1)) return je(o, a, i);
  if (r = Pr(e.e / Oe), r >= e.d.length - 1 && (t = l < 0 ? -l : l) <= dm)
    return n = zf(u, o, t, a), e.s < 0 ? new u(1).div(n) : je(n, a, i);
  if (s = o.s, s < 0) {
    if (r < e.d.length - 1) return new u(NaN);
    if ((e.d[r] & 1) == 0 && (s = 1), o.e == 0 && o.d[0] == 1 && o.d.length == 1)
      return o.s = s, o;
  }
  return t = Br(+o, l), r = t == 0 || !isFinite(t) ? Pr(l * (Math.log("0." + qr(o.d)) / Math.LN10 + o.e + 1)) : new u(t + "").e, r > u.maxE + 1 || r < u.minE - 1 ? new u(r > 0 ? s / 0 : 0) : (Me = !1, u.rounding = o.s = 1, t = Math.min(12, (r + "").length), n = bo(e.times(It(o, a + t)), a), n.d && (n = je(n, a + 5, 1), ha(n.d, a, i) && (r = a + 10, n = je(bo(e.times(It(o, r + t)), r), r + 5, 1), +qr(n.d).slice(a + 1, a + 15) + 1 == 1e14 && (n = je(n, a + 1, 0)))), n.s = s, Me = !0, u.rounding = i, je(n, a, i));
};
ne.toPrecision = function(e, r) {
  var t, a = this, n = a.constructor;
  return e === void 0 ? t = ut(a, a.e <= n.toExpNeg || a.e >= n.toExpPos) : (Wr(e, 1, qt), r === void 0 ? r = n.rounding : Wr(r, 0, 8), a = je(new n(a), e, r), t = ut(a, e <= a.e || a.e <= n.toExpNeg, e)), a.isNeg() && !a.isZero() ? "-" + t : t;
};
ne.toSignificantDigits = ne.toSD = function(e, r) {
  var t = this, a = t.constructor;
  return e === void 0 ? (e = a.precision, r = a.rounding) : (Wr(e, 1, qt), r === void 0 ? r = a.rounding : Wr(r, 0, 8)), je(new a(t), e, r);
};
ne.toString = function() {
  var e = this, r = e.constructor, t = ut(e, e.e <= r.toExpNeg || e.e >= r.toExpPos);
  return e.isNeg() && !e.isZero() ? "-" + t : t;
};
ne.truncated = ne.trunc = function() {
  return je(new this.constructor(this), this.e + 1, 1);
};
ne.valueOf = ne.toJSON = function() {
  var e = this, r = e.constructor, t = ut(e, e.e <= r.toExpNeg || e.e >= r.toExpPos);
  return e.isNeg() ? "-" + t : t;
};
function qr(e) {
  var r, t, a, n = e.length - 1, i = "", s = e[0];
  if (n > 0) {
    for (i += s, r = 1; r < n; r++)
      a = e[r] + "", t = Oe - a.length, t && (i += At(t)), i += a;
    s = e[r], a = s + "", t = Oe - a.length, t && (i += At(t));
  } else if (s === 0)
    return "0";
  for (; s % 10 === 0; ) s /= 10;
  return i + s;
}
function Wr(e, r, t) {
  if (e !== ~~e || e < r || e > t)
    throw Error(Rt + e);
}
function ha(e, r, t, a) {
  var n, i, s, o;
  for (i = e[0]; i >= 10; i /= 10) --r;
  return --r < 0 ? (r += Oe, n = 0) : (n = Math.ceil((r + 1) / Oe), r %= Oe), i = Br(10, Oe - r), o = e[n] % i | 0, a == null ? r < 3 ? (r == 0 ? o = o / 100 | 0 : r == 1 && (o = o / 10 | 0), s = t < 4 && o == 99999 || t > 3 && o == 49999 || o == 5e4 || o == 0) : s = (t < 4 && o + 1 == i || t > 3 && o + 1 == i / 2) && (e[n + 1] / i / 100 | 0) == Br(10, r - 2) - 1 || (o == i / 2 || o == 0) && (e[n + 1] / i / 100 | 0) == 0 : r < 4 ? (r == 0 ? o = o / 1e3 | 0 : r == 1 ? o = o / 100 | 0 : r == 2 && (o = o / 10 | 0), s = (a || t < 4) && o == 9999 || !a && t > 3 && o == 4999) : s = ((a || t < 4) && o + 1 == i || !a && t > 3 && o + 1 == i / 2) && (e[n + 1] / i / 1e3 | 0) == Br(10, r - 3) - 1, s;
}
function Ua(e, r, t) {
  for (var a, n = [0], i, s = 0, o = e.length; s < o; ) {
    for (i = n.length; i--; ) n[i] *= r;
    for (n[0] += po.indexOf(e.charAt(s++)), a = 0; a < n.length; a++)
      n[a] > t - 1 && (n[a + 1] === void 0 && (n[a + 1] = 0), n[a + 1] += n[a] / t | 0, n[a] %= t);
  }
  return n.reverse();
}
function pm(e, r) {
  var t, a, n;
  if (r.isZero()) return r;
  a = r.d.length, a < 32 ? (t = Math.ceil(a / 3), n = (1 / oi(4, t)).toString()) : (t = 16, n = "2.3283064365386962890625e-10"), e.precision += t, r = Zt(e, 1, r.times(n), new e(1));
  for (var i = t; i--; ) {
    var s = r.times(r);
    r = s.times(s).minus(s).times(8).plus(1);
  }
  return e.precision -= t, r;
}
var pr = /* @__PURE__ */ function() {
  function e(a, n, i) {
    var s, o = 0, u = a.length;
    for (a = a.slice(); u--; )
      s = a[u] * n + o, a[u] = s % i | 0, o = s / i | 0;
    return o && a.unshift(o), a;
  }
  function r(a, n, i, s) {
    var o, u;
    if (i != s)
      u = i > s ? 1 : -1;
    else
      for (o = u = 0; o < i; o++)
        if (a[o] != n[o]) {
          u = a[o] > n[o] ? 1 : -1;
          break;
        }
    return u;
  }
  function t(a, n, i, s) {
    for (var o = 0; i--; )
      a[i] -= o, o = a[i] < n[i] ? 1 : 0, a[i] = o * s + a[i] - n[i];
    for (; !a[0] && a.length > 1; ) a.shift();
  }
  return function(a, n, i, s, o, u) {
    var l, f, p, d, y, b, v, S, x, T, k, B, I, O, N, M, z, D, P, J, K = a.constructor, ie = a.s == n.s ? 1 : -1, ce = a.d, ue = n.d;
    if (!ce || !ce[0] || !ue || !ue[0])
      return new K(
        // Return NaN if either NaN, or both Infinity or 0.
        !a.s || !n.s || (ce ? ue && ce[0] == ue[0] : !ue) ? NaN : (
          // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0.
          ce && ce[0] == 0 || !ue ? ie * 0 : ie / 0
        )
      );
    for (u ? (y = 1, f = a.e - n.e) : (u = at, y = Oe, f = Pr(a.e / y) - Pr(n.e / y)), P = ue.length, z = ce.length, x = new K(ie), T = x.d = [], p = 0; ue[p] == (ce[p] || 0); p++) ;
    if (ue[p] > (ce[p] || 0) && f--, i == null ? (O = i = K.precision, s = K.rounding) : o ? O = i + (a.e - n.e) + 1 : O = i, O < 0)
      T.push(1), b = !0;
    else {
      if (O = O / y + 2 | 0, p = 0, P == 1) {
        for (d = 0, ue = ue[0], O++; (p < z || d) && O--; p++)
          N = d * u + (ce[p] || 0), T[p] = N / ue | 0, d = N % ue | 0;
        b = d || p < z;
      } else {
        for (d = u / (ue[0] + 1) | 0, d > 1 && (ue = e(ue, d, u), ce = e(ce, d, u), P = ue.length, z = ce.length), M = P, k = ce.slice(0, P), B = k.length; B < P; ) k[B++] = 0;
        J = ue.slice(), J.unshift(0), D = ue[0], ue[1] >= u / 2 && ++D;
        do
          d = 0, l = r(ue, k, P, B), l < 0 ? (I = k[0], P != B && (I = I * u + (k[1] || 0)), d = I / D | 0, d > 1 ? (d >= u && (d = u - 1), v = e(ue, d, u), S = v.length, B = k.length, l = r(v, k, S, B), l == 1 && (d--, t(v, P < S ? J : ue, S, u))) : (d == 0 && (l = d = 1), v = ue.slice()), S = v.length, S < B && v.unshift(0), t(k, v, B, u), l == -1 && (B = k.length, l = r(ue, k, P, B), l < 1 && (d++, t(k, P < B ? J : ue, B, u))), B = k.length) : l === 0 && (d++, k = [0]), T[p++] = d, l && k[0] ? k[B++] = ce[M] || 0 : (k = [ce[M]], B = 1);
        while ((M++ < z || k[0] !== void 0) && O--);
        b = k[0] !== void 0;
      }
      T[0] || T.shift();
    }
    if (y == 1)
      x.e = f, Ef = b;
    else {
      for (p = 1, d = T[0]; d >= 10; d /= 10) p++;
      x.e = p + f * y - 1, je(x, o ? i + x.e + 1 : i, s, b);
    }
    return x;
  };
}();
function je(e, r, t, a) {
  var n, i, s, o, u, l, f, p, d, y = e.constructor;
  e: if (r != null) {
    if (p = e.d, !p) return e;
    for (n = 1, o = p[0]; o >= 10; o /= 10) n++;
    if (i = r - n, i < 0)
      i += Oe, s = r, f = p[d = 0], u = f / Br(10, n - s - 1) % 10 | 0;
    else if (d = Math.ceil((i + 1) / Oe), o = p.length, d >= o)
      if (a) {
        for (; o++ <= d; ) p.push(0);
        f = u = 0, n = 1, i %= Oe, s = i - Oe + 1;
      } else
        break e;
    else {
      for (f = o = p[d], n = 1; o >= 10; o /= 10) n++;
      i %= Oe, s = i - Oe + n, u = s < 0 ? 0 : f / Br(10, n - s - 1) % 10 | 0;
    }
    if (a = a || r < 0 || p[d + 1] !== void 0 || (s < 0 ? f : f % Br(10, n - s - 1)), l = t < 4 ? (u || a) && (t == 0 || t == (e.s < 0 ? 3 : 2)) : u > 5 || u == 5 && (t == 4 || a || t == 6 && // Check whether the digit to the left of the rounding digit is odd.
    (i > 0 ? s > 0 ? f / Br(10, n - s) : 0 : p[d - 1]) % 10 & 1 || t == (e.s < 0 ? 8 : 7)), r < 1 || !p[0])
      return p.length = 0, l ? (r -= e.e + 1, p[0] = Br(10, (Oe - r % Oe) % Oe), e.e = -r || 0) : p[0] = e.e = 0, e;
    if (i == 0 ? (p.length = d, o = 1, d--) : (p.length = d + 1, o = Br(10, Oe - i), p[d] = s > 0 ? (f / Br(10, n - s) % Br(10, s) | 0) * o : 0), l)
      for (; ; )
        if (d == 0) {
          for (i = 1, s = p[0]; s >= 10; s /= 10) i++;
          for (s = p[0] += o, o = 1; s >= 10; s /= 10) o++;
          i != o && (e.e++, p[0] == at && (p[0] = 1));
          break;
        } else {
          if (p[d] += o, p[d] != at) break;
          p[d--] = 0, o = 1;
        }
    for (i = p.length; p[--i] === 0; ) p.pop();
  }
  return Me && (e.e > y.maxE ? (e.d = null, e.e = NaN) : e.e < y.minE && (e.e = 0, e.d = [0])), e;
}
function ut(e, r, t) {
  if (!e.isFinite()) return jf(e);
  var a, n = e.e, i = qr(e.d), s = i.length;
  return r ? (t && (a = t - s) > 0 ? i = i.charAt(0) + "." + i.slice(1) + At(a) : s > 1 && (i = i.charAt(0) + "." + i.slice(1)), i = i + (e.e < 0 ? "e" : "e+") + e.e) : n < 0 ? (i = "0." + At(-n - 1) + i, t && (a = t - s) > 0 && (i += At(a))) : n >= s ? (i += At(n + 1 - s), t && (a = t - n - 1) > 0 && (i = i + "." + At(a))) : ((a = n + 1) < s && (i = i.slice(0, a) + "." + i.slice(a)), t && (a = t - s) > 0 && (n + 1 === s && (i += "."), i += At(a))), i;
}
function ni(e, r) {
  var t = e[0];
  for (r *= Oe; t >= 10; t /= 10) r++;
  return r;
}
function Xa(e, r, t) {
  if (r > hm)
    throw Me = !0, t && (e.precision = t), Error(kf);
  return je(new e(Ya), r, 1, !0);
}
function st(e, r, t) {
  if (r > go) throw Error(kf);
  return je(new e(Za), r, t, !0);
}
function If(e) {
  var r = e.length - 1, t = r * Oe + 1;
  if (r = e[r], r) {
    for (; r % 10 == 0; r /= 10) t--;
    for (r = e[0]; r >= 10; r /= 10) t++;
  }
  return t;
}
function At(e) {
  for (var r = ""; e--; ) r += "0";
  return r;
}
function zf(e, r, t, a) {
  var n, i = new e(1), s = Math.ceil(a / Oe + 4);
  for (Me = !1; ; ) {
    if (t % 2 && (i = i.times(r), yc(i.d, s) && (n = !0)), t = Pr(t / 2), t === 0) {
      t = i.d.length - 1, n && i.d[t] === 0 && ++i.d[t];
      break;
    }
    r = r.times(r), yc(r.d, s);
  }
  return Me = !0, i;
}
function vc(e) {
  return e.d[e.d.length - 1] & 1;
}
function Tf(e, r, t) {
  for (var a, n, i = new e(r[0]), s = 0; ++s < r.length; ) {
    if (n = new e(r[s]), !n.s) {
      i = n;
      break;
    }
    a = i.cmp(n), (a === t || a === 0 && i.s === t) && (i = n);
  }
  return i;
}
function bo(e, r) {
  var t, a, n, i, s, o, u, l = 0, f = 0, p = 0, d = e.constructor, y = d.rounding, b = d.precision;
  if (!e.d || !e.d[0] || e.e > 17)
    return new d(e.d ? e.d[0] ? e.s < 0 ? 0 : 1 / 0 : 1 : e.s ? e.s < 0 ? 0 : e : NaN);
  for (r == null ? (Me = !1, u = b) : u = r, o = new d(0.03125); e.e > -2; )
    e = e.times(o), p += 5;
  for (a = Math.log(Br(2, p)) / Math.LN10 * 2 + 5 | 0, u += a, t = i = s = new d(1), d.precision = u; ; ) {
    if (i = je(i.times(e), u, 1), t = t.times(++f), o = s.plus(pr(i, t, u, 1)), qr(o.d).slice(0, u) === qr(s.d).slice(0, u)) {
      for (n = p; n--; ) s = je(s.times(s), u, 1);
      if (r == null)
        if (l < 3 && ha(s.d, u - a, y, l))
          d.precision = u += 10, t = i = o = new d(1), f = 0, l++;
        else
          return je(s, d.precision = b, y, Me = !0);
      else
        return d.precision = b, s;
    }
    s = o;
  }
}
function It(e, r) {
  var t, a, n, i, s, o, u, l, f, p, d, y = 1, b = 10, v = e, S = v.d, x = v.constructor, T = x.rounding, k = x.precision;
  if (v.s < 0 || !S || !S[0] || !v.e && S[0] == 1 && S.length == 1)
    return new x(S && !S[0] ? -1 / 0 : v.s != 1 ? NaN : S ? 0 : v);
  if (r == null ? (Me = !1, f = k) : f = r, x.precision = f += b, t = qr(S), a = t.charAt(0), Math.abs(i = v.e) < 15e14) {
    for (; a < 7 && a != 1 || a == 1 && t.charAt(1) > 3; )
      v = v.times(e), t = qr(v.d), a = t.charAt(0), y++;
    i = v.e, a > 1 ? (v = new x("0." + t), i++) : v = new x(a + "." + t.slice(1));
  } else
    return l = Xa(x, f + 2, k).times(i + ""), v = It(new x(a + "." + t.slice(1)), f - b).plus(l), x.precision = k, r == null ? je(v, k, T, Me = !0) : v;
  for (p = v, u = s = v = pr(v.minus(1), v.plus(1), f, 1), d = je(v.times(v), f, 1), n = 3; ; ) {
    if (s = je(s.times(d), f, 1), l = u.plus(pr(s, new x(n), f, 1)), qr(l.d).slice(0, f) === qr(u.d).slice(0, f))
      if (u = u.times(2), i !== 0 && (u = u.plus(Xa(x, f + 2, k).times(i + ""))), u = pr(u, new x(y), f, 1), r == null)
        if (ha(u.d, f - b, T, o))
          x.precision = f += b, l = s = v = pr(p.minus(1), p.plus(1), f, 1), d = je(v.times(v), f, 1), n = o = 1;
        else
          return je(u, x.precision = k, T, Me = !0);
      else
        return x.precision = k, u;
    u = l, n += 2;
  }
}
function jf(e) {
  return String(e.s * e.s / 0);
}
function Da(e, r) {
  var t, a, n;
  for ((t = r.indexOf(".")) > -1 && (r = r.replace(".", "")), (a = r.search(/e/i)) > 0 ? (t < 0 && (t = a), t += +r.slice(a + 1), r = r.substring(0, a)) : t < 0 && (t = r.length), a = 0; r.charCodeAt(a) === 48; a++) ;
  for (n = r.length; r.charCodeAt(n - 1) === 48; --n) ;
  if (r = r.slice(a, n), r) {
    if (n -= a, e.e = t = t - a - 1, e.d = [], a = (t + 1) % Oe, t < 0 && (a += Oe), a < n) {
      for (a && e.d.push(+r.slice(0, a)), n -= Oe; a < n; ) e.d.push(+r.slice(a, a += Oe));
      r = r.slice(a), a = Oe - r.length;
    } else
      a -= n;
    for (; a--; ) r += "0";
    e.d.push(+r), Me && (e.e > e.constructor.maxE ? (e.d = null, e.e = NaN) : e.e < e.constructor.minE && (e.e = 0, e.d = [0]));
  } else
    e.e = 0, e.d = [0];
  return e;
}
function mm(e, r) {
  var t, a, n, i, s, o, u, l, f;
  if (r.indexOf("_") > -1) {
    if (r = r.replace(/(\d)_(?=\d)/g, "$1"), Bf.test(r)) return Da(e, r);
  } else if (r === "Infinity" || r === "NaN")
    return +r || (e.s = NaN), e.e = NaN, e.d = null, e;
  if (lm.test(r))
    t = 16, r = r.toLowerCase();
  else if (cm.test(r))
    t = 2;
  else if (fm.test(r))
    t = 8;
  else
    throw Error(Rt + r);
  for (i = r.search(/p/i), i > 0 ? (u = +r.slice(i + 1), r = r.substring(2, i)) : r = r.slice(2), i = r.indexOf("."), s = i >= 0, a = e.constructor, s && (r = r.replace(".", ""), o = r.length, i = o - i, n = zf(a, new a(t), i, i * 2)), l = Ua(r, t, at), f = l.length - 1, i = f; l[i] === 0; --i) l.pop();
  return i < 0 ? new a(e.s * 0) : (e.e = ni(l, f), e.d = l, Me = !1, s && (e = pr(e, n, o * 4)), u && (e = e.times(Math.abs(u) < 54 ? Br(2, u) : xa.pow(2, u))), Me = !0, e);
}
function gm(e, r) {
  var t, a = r.d.length;
  if (a < 3)
    return r.isZero() ? r : Zt(e, 2, r, r);
  t = 1.4 * Math.sqrt(a), t = t > 16 ? 16 : t | 0, r = r.times(1 / oi(5, t)), r = Zt(e, 2, r, r);
  for (var n, i = new e(5), s = new e(16), o = new e(20); t--; )
    n = r.times(r), r = r.times(i.plus(n.times(s.times(n).minus(o))));
  return r;
}
function Zt(e, r, t, a, n) {
  var i, s, o, u, l = e.precision, f = Math.ceil(l / Oe);
  for (Me = !1, u = t.times(t), o = new e(a); ; ) {
    if (s = pr(o.times(u), new e(r++ * r++), l, 1), o = n ? a.plus(s) : a.minus(s), a = pr(s.times(u), new e(r++ * r++), l, 1), s = o.plus(a), s.d[f] !== void 0) {
      for (i = f; s.d[i] === o.d[i] && i--; ) ;
      if (i == -1) break;
    }
    i = o, o = a, a = s, s = i;
  }
  return Me = !0, s.d.length = f + 1, s;
}
function oi(e, r) {
  for (var t = e; --r; ) t *= e;
  return t;
}
function Rf(e, r) {
  var t, a = r.s < 0, n = st(e, e.precision, 1), i = n.times(0.5);
  if (r = r.abs(), r.lte(i))
    return pt = a ? 4 : 1, r;
  if (t = r.divToInt(n), t.isZero())
    pt = a ? 3 : 2;
  else {
    if (r = r.minus(t.times(n)), r.lte(i))
      return pt = vc(t) ? a ? 2 : 3 : a ? 4 : 1, r;
    pt = vc(t) ? a ? 1 : 4 : a ? 3 : 2;
  }
  return r.minus(n).abs();
}
function Po(e, r, t, a) {
  var n, i, s, o, u, l, f, p, d, y = e.constructor, b = t !== void 0;
  if (b ? (Wr(t, 1, qt), a === void 0 ? a = y.rounding : Wr(a, 0, 8)) : (t = y.precision, a = y.rounding), !e.isFinite())
    f = jf(e);
  else {
    for (f = ut(e), s = f.indexOf("."), b ? (n = 2, r == 16 ? t = t * 4 - 3 : r == 8 && (t = t * 3 - 2)) : n = r, s >= 0 && (f = f.replace(".", ""), d = new y(1), d.e = f.length - s, d.d = Ua(ut(d), 10, n), d.e = d.d.length), p = Ua(f, 10, n), i = u = p.length; p[--u] == 0; ) p.pop();
    if (!p[0])
      f = b ? "0p+0" : "0";
    else {
      if (s < 0 ? i-- : (e = new y(e), e.d = p, e.e = i, e = pr(e, d, t, a, 0, n), p = e.d, i = e.e, l = Ef), s = p[t], o = n / 2, l = l || p[t + 1] !== void 0, l = a < 4 ? (s !== void 0 || l) && (a === 0 || a === (e.s < 0 ? 3 : 2)) : s > o || s === o && (a === 4 || l || a === 6 && p[t - 1] & 1 || a === (e.s < 0 ? 8 : 7)), p.length = t, l)
        for (; ++p[--t] > n - 1; )
          p[t] = 0, t || (++i, p.unshift(1));
      for (u = p.length; !p[u - 1]; --u) ;
      for (s = 0, f = ""; s < u; s++) f += po.charAt(p[s]);
      if (b) {
        if (u > 1)
          if (r == 16 || r == 8) {
            for (s = r == 16 ? 4 : 3, --u; u % s; u++) f += "0";
            for (p = Ua(f, n, r), u = p.length; !p[u - 1]; --u) ;
            for (s = 1, f = "1."; s < u; s++) f += po.charAt(p[s]);
          } else
            f = f.charAt(0) + "." + f.slice(1);
        f = f + (i < 0 ? "p" : "p+") + i;
      } else if (i < 0) {
        for (; ++i; ) f = "0" + f;
        f = "0." + f;
      } else if (++i > u) for (i -= u; i--; ) f += "0";
      else i < u && (f = f.slice(0, i) + "." + f.slice(i));
    }
    f = (r == 16 ? "0x" : r == 2 ? "0b" : r == 8 ? "0o" : "") + f;
  }
  return e.s < 0 ? "-" + f : f;
}
function yc(e, r) {
  if (e.length > r)
    return e.length = r, !0;
}
function bm(e) {
  return new this(e).abs();
}
function vm(e) {
  return new this(e).acos();
}
function ym(e) {
  return new this(e).acosh();
}
function xm(e, r) {
  return new this(e).plus(r);
}
function wm(e) {
  return new this(e).asin();
}
function _m(e) {
  return new this(e).asinh();
}
function Em(e) {
  return new this(e).atan();
}
function km(e) {
  return new this(e).atanh();
}
function Sm(e, r) {
  e = new this(e), r = new this(r);
  var t, a = this.precision, n = this.rounding, i = a + 4;
  return !e.s || !r.s ? t = new this(NaN) : !e.d && !r.d ? (t = st(this, i, 1).times(r.s > 0 ? 0.25 : 0.75), t.s = e.s) : !r.d || e.isZero() ? (t = r.s < 0 ? st(this, a, n) : new this(0), t.s = e.s) : !e.d || r.isZero() ? (t = st(this, i, 1).times(0.5), t.s = e.s) : r.s < 0 ? (this.precision = i, this.rounding = 1, t = this.atan(pr(e, r, i, 1)), r = st(this, i, 1), this.precision = a, this.rounding = n, t = e.s < 0 ? t.minus(r) : t.plus(r)) : t = this.atan(pr(e, r, i, 1)), t;
}
function Am(e) {
  return new this(e).cbrt();
}
function Bm(e) {
  return je(e = new this(e), e.e + 1, 2);
}
function Im(e, r, t) {
  return new this(e).clamp(r, t);
}
function zm(e) {
  if (!e || typeof e != "object") throw Error(ii + "Object expected");
  var r, t, a, n = e.defaults === !0, i = [
    "precision",
    1,
    qt,
    "rounding",
    0,
    8,
    "toExpNeg",
    -Gt,
    0,
    "toExpPos",
    0,
    Gt,
    "maxE",
    0,
    Gt,
    "minE",
    -Gt,
    0,
    "modulo",
    0,
    9
  ];
  for (r = 0; r < i.length; r += 3)
    if (t = i[r], n && (this[t] = mo[t]), (a = e[t]) !== void 0)
      if (Pr(a) === a && a >= i[r + 1] && a <= i[r + 2]) this[t] = a;
      else throw Error(Rt + t + ": " + a);
  if (t = "crypto", n && (this[t] = mo[t]), (a = e[t]) !== void 0)
    if (a === !0 || a === !1 || a === 0 || a === 1)
      if (a)
        if (typeof crypto < "u" && crypto && (crypto.getRandomValues || crypto.randomBytes))
          this[t] = !0;
        else
          throw Error(Sf);
      else
        this[t] = !1;
    else
      throw Error(Rt + t + ": " + a);
  return this;
}
function Tm(e) {
  return new this(e).cos();
}
function jm(e) {
  return new this(e).cosh();
}
function qf(e) {
  var r, t, a;
  function n(i) {
    var s, o, u, l = this;
    if (!(l instanceof n)) return new n(i);
    if (l.constructor = n, xc(i)) {
      l.s = i.s, Me ? !i.d || i.e > n.maxE ? (l.e = NaN, l.d = null) : i.e < n.minE ? (l.e = 0, l.d = [0]) : (l.e = i.e, l.d = i.d.slice()) : (l.e = i.e, l.d = i.d ? i.d.slice() : i.d);
      return;
    }
    if (u = typeof i, u === "number") {
      if (i === 0) {
        l.s = 1 / i < 0 ? -1 : 1, l.e = 0, l.d = [0];
        return;
      }
      if (i < 0 ? (i = -i, l.s = -1) : l.s = 1, i === ~~i && i < 1e7) {
        for (s = 0, o = i; o >= 10; o /= 10) s++;
        Me ? s > n.maxE ? (l.e = NaN, l.d = null) : s < n.minE ? (l.e = 0, l.d = [0]) : (l.e = s, l.d = [i]) : (l.e = s, l.d = [i]);
        return;
      }
      if (i * 0 !== 0) {
        i || (l.s = NaN), l.e = NaN, l.d = null;
        return;
      }
      return Da(l, i.toString());
    }
    if (u === "string")
      return (o = i.charCodeAt(0)) === 45 ? (i = i.slice(1), l.s = -1) : (o === 43 && (i = i.slice(1)), l.s = 1), Bf.test(i) ? Da(l, i) : mm(l, i);
    if (u === "bigint")
      return i < 0 ? (i = -i, l.s = -1) : l.s = 1, Da(l, i.toString());
    throw Error(Rt + i);
  }
  if (n.prototype = ne, n.ROUND_UP = 0, n.ROUND_DOWN = 1, n.ROUND_CEIL = 2, n.ROUND_FLOOR = 3, n.ROUND_HALF_UP = 4, n.ROUND_HALF_DOWN = 5, n.ROUND_HALF_EVEN = 6, n.ROUND_HALF_CEIL = 7, n.ROUND_HALF_FLOOR = 8, n.EUCLID = 9, n.config = n.set = zm, n.clone = qf, n.isDecimal = xc, n.abs = bm, n.acos = vm, n.acosh = ym, n.add = xm, n.asin = wm, n.asinh = _m, n.atan = Em, n.atanh = km, n.atan2 = Sm, n.cbrt = Am, n.ceil = Bm, n.clamp = Im, n.cos = Tm, n.cosh = jm, n.div = Rm, n.exp = qm, n.floor = Om, n.hypot = Um, n.ln = Dm, n.log = Lm, n.log10 = Cm, n.log2 = Nm, n.max = Pm, n.min = Mm, n.mod = Hm, n.mul = Fm, n.pow = $m, n.random = Vm, n.round = Gm, n.sign = Km, n.sin = Wm, n.sinh = Ym, n.sqrt = Zm, n.sub = Xm, n.sum = Jm, n.tan = Qm, n.tanh = eg, n.trunc = rg, e === void 0 && (e = {}), e && e.defaults !== !0)
    for (a = ["precision", "rounding", "toExpNeg", "toExpPos", "maxE", "minE", "modulo", "crypto"], r = 0; r < a.length; ) e.hasOwnProperty(t = a[r++]) || (e[t] = this[t]);
  return n.config(e), n;
}
function Rm(e, r) {
  return new this(e).div(r);
}
function qm(e) {
  return new this(e).exp();
}
function Om(e) {
  return je(e = new this(e), e.e + 1, 3);
}
function Um() {
  var e, r, t = new this(0);
  for (Me = !1, e = 0; e < arguments.length; )
    if (r = new this(arguments[e++]), r.d)
      t.d && (t = t.plus(r.times(r)));
    else {
      if (r.s)
        return Me = !0, new this(1 / 0);
      t = r;
    }
  return Me = !0, t.sqrt();
}
function xc(e) {
  return e instanceof xa || e && e.toStringTag === Af || !1;
}
function Dm(e) {
  return new this(e).ln();
}
function Lm(e, r) {
  return new this(e).log(r);
}
function Nm(e) {
  return new this(e).log(2);
}
function Cm(e) {
  return new this(e).log(10);
}
function Pm() {
  return Tf(this, arguments, -1);
}
function Mm() {
  return Tf(this, arguments, 1);
}
function Hm(e, r) {
  return new this(e).mod(r);
}
function Fm(e, r) {
  return new this(e).mul(r);
}
function $m(e, r) {
  return new this(e).pow(r);
}
function Vm(e) {
  var r, t, a, n, i = 0, s = new this(1), o = [];
  if (e === void 0 ? e = this.precision : Wr(e, 1, qt), a = Math.ceil(e / Oe), this.crypto)
    if (crypto.getRandomValues)
      for (r = crypto.getRandomValues(new Uint32Array(a)); i < a; )
        n = r[i], n >= 429e7 ? r[i] = crypto.getRandomValues(new Uint32Array(1))[0] : o[i++] = n % 1e7;
    else if (crypto.randomBytes) {
      for (r = crypto.randomBytes(a *= 4); i < a; )
        n = r[i] + (r[i + 1] << 8) + (r[i + 2] << 16) + ((r[i + 3] & 127) << 24), n >= 214e7 ? crypto.randomBytes(4).copy(r, i) : (o.push(n % 1e7), i += 4);
      i = a / 4;
    } else
      throw Error(Sf);
  else for (; i < a; ) o[i++] = Math.random() * 1e7 | 0;
  for (a = o[--i], e %= Oe, a && e && (n = Br(10, Oe - e), o[i] = (a / n | 0) * n); o[i] === 0; i--) o.pop();
  if (i < 0)
    t = 0, o = [0];
  else {
    for (t = -1; o[0] === 0; t -= Oe) o.shift();
    for (a = 1, n = o[0]; n >= 10; n /= 10) a++;
    a < Oe && (t -= Oe - a);
  }
  return s.e = t, s.d = o, s;
}
function Gm(e) {
  return je(e = new this(e), e.e + 1, this.rounding);
}
function Km(e) {
  return e = new this(e), e.d ? e.d[0] ? e.s : 0 * e.s : e.s || NaN;
}
function Wm(e) {
  return new this(e).sin();
}
function Ym(e) {
  return new this(e).sinh();
}
function Zm(e) {
  return new this(e).sqrt();
}
function Xm(e, r) {
  return new this(e).sub(r);
}
function Jm() {
  var e = 0, r = arguments, t = new this(r[e]);
  for (Me = !1; t.s && ++e < r.length; ) t = t.plus(r[e]);
  return Me = !0, je(t, this.precision, this.rounding);
}
function Qm(e) {
  return new this(e).tan();
}
function eg(e) {
  return new this(e).tanh();
}
function rg(e) {
  return je(e = new this(e), e.e + 1, 1);
}
ne[Symbol.for("nodejs.util.inspect.custom")] = ne.toString;
ne[Symbol.toStringTag] = "Decimal";
var xa = ne.constructor = qf(mo);
Ya = new xa(Ya);
Za = new xa(Za);
function Qt(e) {
  return JSON.parse(
    JSON.stringify(e, (r, t) => {
      if (t != null)
        return typeof t == "object" && "$numberDecimal" in t ? new xa(t.$numberDecimal).toFixed() : typeof t == "string" && !isNaN(Date.parse(t)) ? {
          __type: "date",
          value: new Date(t).getTime()
        } : t;
    }),
    (r, t) => {
      if (t != null)
        return typeof t == "object" && t.__type === "date" ? new Date(t.value) : t;
    }
  );
}
const si = new _e(
  {
    boardId: { type: String, required: !0 },
    chainId: { type: Number, required: !0 },
    boardTitle: { type: String, required: !0 },
    invitedBy: {
      network: {
        type: String,
        required: !0
      },
      address: {
        type: String,
        required: !0
      }
    },
    invitee: {
      type: {
        type: String,
        enum: ["wallet", "profile", "twitter"],
        required: !0
      },
      identifier: {
        type: String,
        required: !0
      },
      network: {
        type: String,
        required: !1
      }
    },
    status: {
      type: String,
      enum: ["pending", "accepted", "rejected", "expired"],
      default: "pending"
    },
    message: {
      type: String,
      required: !1
    },
    expiresAt: {
      type: Date,
      required: !1
    },
    respondedAt: {
      type: Date,
      required: !1
    }
  },
  {
    timestamps: !0,
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => (r.id = r._id.toString(), delete r._id, delete r.__v, Qt(r))
    }
  }
);
si.index({ boardId: 1, "invitee.identifier": 1 });
si.index({ "invitedBy.address": 1, "invitedBy.network": 1 });
si.index({ status: 1, expiresAt: 1 });
var Ec;
(Ec = Fr) != null && Ec.BoardInvitation || $r("BoardInvitation", si);
const ui = new _e(
  {
    boardId: { type: String, required: !0 },
    chainId: { type: Number, required: !0 },
    boardTitle: { type: String, required: !0 },
    requester: {
      network: {
        type: String,
        required: !0
      },
      address: {
        type: String,
        required: !0
      }
    },
    status: {
      type: String,
      enum: ["pending", "approved", "rejected", "expired"],
      default: "pending"
    },
    message: {
      type: String,
      required: !1
    },
    requestedAt: {
      type: Date,
      default: Date.now
    },
    respondedAt: {
      type: Date,
      required: !1
    },
    respondedBy: {
      network: {
        type: String,
        required: !1
      },
      address: {
        type: String,
        required: !1
      }
    },
    responseMessage: {
      type: String,
      required: !1
    }
  },
  {
    timestamps: !0,
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => (r.id = r._id.toString(), delete r._id, delete r.__v, Qt(r))
    }
  }
);
ui.index({ boardId: 1, "requester.address": 1, "requester.network": 1 }, { unique: !0 });
ui.index({ status: 1, requestedAt: 1 });
ui.index({ "respondedBy.address": 1, "respondedBy.network": 1 });
var kc;
(kc = Fr) != null && kc.BoardJoinRequest || $r("BoardJoinRequest", ui);
const ao = {
  address: { type: String, required: !0 },
  network: {
    type: String,
    enum: Object.values(Kr),
    required: !0
  }
}, ci = new _e(
  {
    chainId: { type: Number, required: !0 },
    address: { type: String, required: !0 },
    wroteBy: ao,
    content: [
      {
        type: {
          type: String,
          enum: ["text", "image"],
          required: !0
        },
        data: {
          type: String,
          default: ""
        }
      }
    ],
    timestamp: {
      type: Number,
      default: Date.now
    },
    updatedAt: {
      type: Number,
      default: null
    },
    likedBy: {
      type: [ao],
      default: []
    },
    dislikedBy: {
      type: [ao],
      default: []
    },
    parentId: {
      type: String,
      default: null
    },
    isEdited: {
      type: Boolean,
      default: !1
    }
  },
  {
    timestamps: !0,
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => {
        r.id = r._id.toString(), delete r._id;
        for (const t of r.content)
          delete t._id;
        for (const t of r.likedBy)
          delete t._id;
        for (const t of r.dislikedBy)
          delete t._id;
      }
    }
  }
);
ci.virtual("score").get(function() {
  return this.likedBy.length - this.dislikedBy.length;
});
ci.index(
  { chainId: 1, address: 1, wroteBy: 1, timestamp: 1 },
  { unique: !0 }
);
ci.methods.getChildren = async function() {
  return await tg.find({ parentId: this._id });
};
var Sc;
const tg = ((Sc = Fr) == null ? void 0 : Sc.Comment) || $r("Comment", ci), Ir = new _e(
  {
    chainId: { type: Number, required: !0 },
    address: { type: String, default: "" },
    packageIndex: {
      type: Number,
      set: (e) => Number(e)
    },
    owner: { type: String, default: "" },
    ownerName: { type: String, default: "" },
    volume: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    reserveToken: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    reserveETH: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    currentPrice: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    initialETH: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    initialToken: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    initialPrice: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    initialBuyAmount: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    isListed: { type: Boolean, default: !1 },
    isListedAt: {
      type: Number,
      set: (e) => Number(e),
      default: Date.now
    },
    isCancelled: { type: Boolean, default: !1 },
    isCancelledAt: {
      type: Number,
      set: (e) => Number(e),
      default: Date.now
    },
    isHot: {
      type: Boolean,
      default: !1
    },
    isHardCapReached: { type: Boolean, default: !1 },
    isHardCapReachedAt: {
      type: Number,
      set: (e) => Number(e),
      default: Date.now
    },
    isXSale: { type: Boolean, default: !1 },
    keyForXSale: { type: String, default: "" },
    isUniswapV3Compatible: { type: Boolean, default: !1 },
    buyRefFee: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    sellFee: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    buyFee: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    hardCap: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    softCap: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    initialMarketCap: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    currentMarketCap: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    liqHardCap: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    liqSoftCap: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    maxAllocationPerUser: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    routers: [
      {
        baseTokenForPair: { type: String },
        router: { type: String },
        positionManager: { type: String },
        version: {
          type: Number,
          set: (e) => Number(e)
        },
        fee: {
          type: _e.Types.Decimal128,
          default: new Ue.Decimal128("0")
        },
        per: {
          type: _e.Types.Decimal128,
          default: new Ue.Decimal128("0")
        },
        pair: { type: String },
        lpAmount: {
          type: _e.Types.Decimal128,
          default: new Ue.Decimal128("0")
        },
        isLPBurn: { type: Boolean, default: !0 },
        lpLockUp: {
          type: Number,
          set: (e) => Number(e)
        }
      }
    ],
    metaUri: { type: String, default: "" },
    metaInfo: {
      seo: { type: String, default: "" },
      logo: { type: String, default: "" },
      banner: { type: String, default: "" },
      twitter: { type: String, default: "" },
      telegram: { type: String, default: "" },
      website: { type: String, default: "" },
      protocol: { type: String, default: "" },
      subOwner: { type: String, default: "" },
      seed: { type: String, default: "" },
      description: { type: String, default: "" }
    },
    metaInfoUpdatedAt: {
      type: Number,
      set: (e) => Number(e),
      default: Date.now
    },
    isWhitelist: { type: Boolean, default: !1 },
    whitelistId: { type: String, default: "" },
    whitelist: [{ type: String }],
    whitelistMerkleRoot: { type: String, default: "" },
    maxAllocationPerWhitelistedUser: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    whitelistUpdatedAt: {
      type: Number,
      set: (e) => Number(e),
      default: Date.now
    },
    tokenInfo: {
      name: { type: String, default: "" },
      symbol: { type: String, default: "" },
      decimals: {
        type: Number,
        set: (e) => Number(e)
      },
      totalSupply: {
        type: _e.Types.Decimal128,
        default: new Ue.Decimal128("0")
      }
    },
    softPercent: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    hardPercent: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    startTime: {
      type: Date,
      default: Date.now
    },
    endTime: {
      type: Date,
      default: Date.now
    },
    txCount: {
      type: Number,
      default: 0
    },
    likedBy: [
      {
        network: { type: String },
        address: { type: String }
      }
    ],
    cntComments: {
      type: Number,
      default: 0
    }
  },
  {
    timestamps: !0,
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => (r._id && (r.id = r._id.toString(), delete r._id), delete r.__v, Qt(r))
    }
  }
);
Ir.index({ chainId: 1, address: 1 }, { unique: !0 });
Ir.index({ chainId: 1, owner: 1 });
Ir.index({ chainId: 1, ownerName: 1 });
Ir.index({ chainId: 1, isListed: 1 });
Ir.index({ chainId: 1, isHot: 1 });
Ir.index({ chainId: 1, isHardCapReached: 1 });
Ir.index({ chainId: 1, isCancelled: 1 });
Ir.index({ chainId: 1, isWhitelist: 1 });
Ir.index({ chainId: 1, "metaInfo.seo": 1 });
Ir.index({ chainId: 1, "metaInfo.twitter": 1 });
Ir.index({ chainId: 1, "metaInfo.telegram": 1 });
Ir.index({ chainId: 1, "metaInfo.website": 1 });
Ir.index({ chainId: 1, "metaInfo.protocol": 1 });
Ir.index({ chainId: 1, "metaInfo.subOwner": 1 });
Ir.index({ chainId: 1, "metaInfo.seed": 1 });
Ir.index({ chainId: 1, "metaInfo.description": 1 });
Ir.index({ chainId: 1, "tokenInfo.name": 1 });
Ir.index({ chainId: 1, "tokenInfo.symbol": 1 });
var Ac;
const bg = ((Ac = Fr) == null ? void 0 : Ac.MemeToken) || $r("MemeToken", Ir), Of = new _e(
  {
    chainId: { type: Number, required: !0 },
    account: { type: String, required: !0 },
    role: {
      type: String,
      enum: ["admin", "mods"],
      required: !0
    },
    isAllowed: {
      type: Boolean,
      default: !0
    }
  },
  {
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => {
        r.id = r._id.toString(), delete r._id;
      }
    }
  }
);
Of.index({ chainId: 1, account: 1 }, { unique: !0 });
var Bc;
(Bc = Fr) != null && Bc.Mods || $r("Mods", Of);
const Uf = new _e(
  {
    chainId: {
      type: Number,
      required: !0
    },
    value: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    time: {
      type: Date,
      default: Date.now
    }
  },
  {
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => (r.id = r._id.toString(), delete r._id, r.value = r.value.toString(), r)
    }
  }
);
Uf.index({ chainId: 1, time: 1 }, { unique: !0 });
var Ic;
(Ic = Fr) != null && Ic.NativePrice || $r("NativePrice", Uf);
var Df = /* @__PURE__ */ ((e) => (e.FOLLOW = "FOLLOW", e.UNFOLLOW = "UNFOLLOW", e.INVITE = "INVITE", e.GIVE_INVITE_ROLE = "GIVE_INVITE_ROLE", e.TRADING_FEE_EARNED = "TRADING_FEE_EARNED", e.TOKEN_LAUNCHED = "TOKEN_LAUNCHED", e))(Df || {});
const wa = new _e(
  {
    recipient: {
      network: {
        type: String,
        required: !0,
        enum: Object.values(Kr)
      },
      address: { type: String, required: !0 }
    },
    actor: {
      network: {
        type: String,
        required: !0,
        enum: Object.values(Kr)
      },
      address: { type: String, required: !0 },
      name: String,
      image: String
    },
    type: {
      type: String,
      required: !0,
      enum: Object.values(Df)
    },
    read: {
      type: Boolean,
      default: !1
    },
    data: {
      type: _e.Types.Mixed,
      default: {}
    }
  },
  {
    timestamps: !0,
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => {
        r.id = r._id.toString(), delete r.__v, delete r._id;
      }
    }
  }
);
wa.index({ "recipient.chainId": 1, "recipient.address": 1 });
wa.index({ createdAt: -1 });
wa.index({ read: 1 });
wa.methods.formatMessage = function() {
  const e = this.actor.name || `${this.actor.address.slice(0, 6)}...${this.actor.address.slice(-4)}`;
  switch (this.type) {
    case "FOLLOW":
      return `${e} started following you`;
    case "UNFOLLOW":
      return `${e} unfollowed you`;
    case "INVITE":
      return `${e} invited you to join their meme`;
    case "GIVE_INVITE_ROLE":
      return `${e} gave you the invite role`;
    case "TRADING_FEE_EARNED":
      return `You earned $${this.data.amount} from trading fees!`;
    case "TOKEN_LAUNCHED":
      return `${this.data.tokenName || "A token"} you invested in has been launched!`;
    default:
      return "New notification";
  }
};
var zc;
(zc = Fr) != null && zc.Notification || $r("Notification", wa);
const Lf = new _e(
  {
    chainId: { type: Number, required: !0 },
    treasury: { type: String, default: "" },
    lock: { type: String, default: "" },
    mainRouter: { type: String, default: "" }
  },
  {
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => {
        r.id = r._id.toString(), delete r._id;
      }
    }
  }
);
Lf.index({ chainId: 1 });
var Tc;
(Tc = Fr) != null && Tc.Owner || $r("Owner", Lf);
const Nf = new _e(
  {
    chainId: { type: Number, required: !0 },
    packageIndex: { type: Number, required: !0 },
    listingFee: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    listingReferralFee: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    buyFeePer: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    sellFeePer: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    finalizeFeePer: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    }
  },
  {
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => (r.id = r._id.toString(), delete r._id, Qt(r))
    }
  }
);
Nf.index({ chainId: 1, packageIndex: 1 }, { unique: !0 });
var jc;
(jc = Fr) != null && jc.OwnerFee || $r("OwnerFee", Nf);
const Cf = new _e(
  {
    chainId: { type: Number, required: !0 },
    packageIndex: { type: Number, required: !0 },
    presetIndex: { type: Number, required: !0 },
    totalSupply: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    decimals: {
      type: Number,
      default: 0,
      set: (e) => Number(e)
    },
    liquidity: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    marketCap: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    reserveETH: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    reserveToken: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    }
  },
  {
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => (r.id = r._id.toString(), delete r._id, r.totalSupply = r.totalSupply.toString(), r.liquidity = r.liquidity.toString(), r.marketCap = r.marketCap.toString(), r.reserveETH = r.reserveETH.toString(), r.reserveToken = r.reserveToken.toString(), r)
    }
  }
);
Cf.index({ chainId: 1, packageIndex: 1, presetIndex: 1 });
var Rc;
(Rc = Fr) != null && Rc.Preset || $r("Preset", Cf);
const _a = new _e(
  {
    chainId: { type: Number, required: !0 },
    account: { type: String, required: !0 },
    title: {
      type: String,
      required: !0,
      maxLength: nd,
      match: /^[a-zA-Z0-9]+$/
    },
    logo: {
      type: String,
      default: ""
    },
    banner: {
      type: String,
      default: ""
    },
    description: {
      type: String,
      default: ""
    },
    telegram: {
      type: String,
      default: ""
    },
    twitter: {
      type: String,
      default: ""
    },
    gitbook: {
      type: String,
      default: ""
    },
    tiktok: {
      type: String,
      default: ""
    },
    youtube: {
      type: String,
      default: ""
    },
    fees: [
      {
        listingFee: {
          type: _e.Types.Decimal128,
          default: new Ue.Decimal128("0")
        },
        listingReferralFee: {
          type: _e.Types.Decimal128,
          default: new Ue.Decimal128("0")
        },
        buyFeePer: {
          type: _e.Types.Decimal128,
          default: new Ue.Decimal128("0")
        },
        sellFeePer: {
          type: _e.Types.Decimal128,
          default: new Ue.Decimal128("0")
        },
        finalizeFeePer: {
          type: _e.Types.Decimal128,
          default: new Ue.Decimal128("0")
        }
      }
    ],
    isAllowed: {
      type: Boolean,
      default: !0
    },
    followers: [
      {
        network: {
          type: String,
          required: !0
        },
        address: {
          type: String,
          required: !0
        }
      }
    ],
    // Privacy and Access Control
    privacy: {
      mode: {
        type: String,
        enum: ["public", "private", "request_to_join"],
        default: "public"
      },
      allowRequests: {
        type: Boolean,
        default: !0
      },
      requestsActiveUntil: {
        type: Date,
        required: !1
      },
      requestTimeLimit: {
        type: Number,
        required: !1
      }
    },
    members: [
      {
        network: {
          type: String,
          required: !0
        },
        address: {
          type: String,
          required: !0
        }
      }
    ],
    invitations: [
      {
        type: String,
        ref: "BoardInvitation"
      }
    ],
    metaUri: {
      type: String,
      required: !0
    }
  },
  {
    timestamps: !0,
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => (r.id = r._id.toString(), delete r._id, delete r.__v, Qt(r))
    }
  }
);
_a.index({ title: 1 });
_a.index({ chainId: 1, title: 1 }, { unique: !0 });
_a.index({ chainId: 1, account: 1, title: 1 });
_a.index({ "followers.address": 1, "followers.network": 1 });
var qc;
(qc = Fr) != null && qc.SubBoard || $r("SubBoard", _a);
const Pf = new _e(
  {
    chainId: { type: Number, required: !0 },
    packageIndex: { type: Number, required: !0 },
    address: {
      type: String,
      required: !0
    },
    isUniswapV3Compatible: {
      type: Boolean,
      default: !1
    }
  },
  {
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => {
        r.id = r._id.toString(), delete r._id;
      }
    }
  }
);
Pf.index({ chainId: 1, packageIndex: 1 });
var Oc;
(Oc = Fr) != null && Oc.TokenImp || $r("TokenImp", Pf);
const Mo = new _e(
  {
    chainId: { type: Number, required: !0 },
    address: { type: String, required: !0 },
    account: { type: String, required: !0 },
    referrer: { type: String, default: "" },
    time: {
      type: Date,
      required: !0
    },
    currentPrice: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    isBought: {
      type: Boolean,
      default: !0
    },
    signature: {
      type: String,
      required: !0
    },
    decimals: {
      type: Number,
      required: !0,
      set: (e) => Number(e)
    },
    reserveETH: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    reserveToken: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    amountETH: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    amountToken: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    amountOwnerFee: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    amountSubBoardFee: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    amountTokenOwnerFee: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    },
    amountReferralFee: {
      type: _e.Types.Decimal128,
      default: new Ue.Decimal128("0")
    }
  },
  {
    toObject: {
      getters: !0,
      versionKey: !1,
      transform: (e, r) => (r._id && (r.id = r._id.toString(), delete r._id), delete r.__v, Qt(r))
    }
  }
);
Mo.index(
  {
    referrer: 1,
    signature: 1
  },
  { unique: !0 }
);
Mo.index(
  {
    chainId: 1,
    address: 1,
    account: 1,
    time: 1
  },
  { unique: !0 }
);
var Uc;
(Uc = Fr) != null && Uc.Transaction || $r("Transaction", Mo);
if (!process.env.AUTH_GOOGLE_ID || !process.env.AUTH_GOOGLE_SECRET)
  throw new Error("AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET must be set");
if (!process.env.AUTH_GITHUB_ID || !process.env.AUTH_GITHUB_SECRET)
  throw new Error("AUTH_GITHUB_ID and AUTH_GITHUB_SECRET must be set");
if (!process.env.AUTH_TWITTER_ID || !process.env.AUTH_TWITTER_SECRET)
  throw new Error("AUTH_TWITTER_ID and AUTH_TWITTER_SECRET must be set");
const Mf = Kf({
  providers: [
    bd({
      version: "2.0",
      clientId: process.env.AUTH_TWITTER_ID,
      clientSecret: process.env.AUTH_TWITTER_SECRET,
      profile: async ({
        data: { profile_image_url: e, name: r, username: t }
      }) => (console.log({
        provider: "twitter",
        name: r,
        userid: t,
        image: e
      }), await to("twitter", t, e))
    }),
    md({
      clientId: process.env.AUTH_GOOGLE_ID,
      clientSecret: process.env.AUTH_GOOGLE_SECRET,
      profile: async ({ email: e, picture: r }) => {
        const t = e.split("@")[0];
        return await to("google", t, r);
      }
    }),
    gd({
      clientId: process.env.AUTH_GITHUB_ID,
      clientSecret: process.env.AUTH_GITHUB_SECRET,
      profile: async ({ name: e, login: r, avatar_url: t }) => await to("github", r, t)
    }),
    vd({
      name: "Connect Wallet",
      credentials: {
        chainId: {
          label: "Chain Id",
          type: "number",
          placeholder: "1..."
        },
        address: {
          label: "Address",
          type: "text",
          placeholder: "0x0..."
        },
        message: {
          label: "Message",
          type: "text",
          placeholder: "hi..."
        },
        signature: {
          label: "Signature",
          type: "text",
          placeholder: "0x0..."
        }
      },
      async authorize(e) {
        if (!e.provider || !e.chainId || !e.address || !e.message || !e.signature)
          return console.log("Missing credentials"), null;
        const r = e.provider, t = Number(e.chainId), a = e.address.toString(), n = e.message.toString(), i = e.signature.toString(), s = La.find((u) => u.id === t);
        if (!s)
          return console.log("Invalid chain", t), null;
        const o = s.network.symbol;
        switch (o) {
          case "eth":
            const u = Qf(n);
            if (ed(
              rd(u),
              i
            ).toLowerCase() !== a.toLowerCase())
              return console.log("Invalid signature"), null;
            break;
          case "sol":
            Na.sign.detached.verify(
              new TextEncoder().encode(n),
              Buffer.from(i, "base64"),
              new Ft(a).toBytes()
            );
            break;
          default:
            throw new Error("Invalid network");
        }
        return await um(r, t, o, a);
      }
    })
  ],
  theme: {
    colorScheme: "dark"
  },
  callbacks: {
    async jwt({ token: e, user: r, trigger: t, session: a }) {
      if (t === "update" && a.id === "switchChain") {
        const n = La.find((f) => f.id === a.chainId);
        if (!n)
          return e;
        const i = e.chainId, s = e.address, o = e.network;
        if (e.chainId = n.id, e.network = n.network.symbol, !e.social)
          return e;
        const { address: u } = Co(
          e.network,
          e.social,
          e.provider
        ), l = await na.findOne({
          "users.address": s,
          "users.network": o
        });
        return l ? (l.users.push({
          address: u,
          network: n.network.symbol,
          social: e.social,
          provider: e.provider
        }), await l.save(), e.address = u, e.multipleUsers = l.users.length > 1, e) : (e.chainId = i, e.network = o, e);
      } else if (t === "update" && a.id === "switchAccount") {
        const n = await od(a.address, a.network), s = ((n == null ? void 0 : n.users) || []).find(
          (o) => o.network === a.network && o.address === a.address
        );
        return s && (e.network = s.network, e.address = s.address, e.social = s.social, e.name = s.name, e.image = s.image, e.role = s.role, e.provider = s.provider), e;
      }
      return r ? { ...e, ...r } : e;
    },
    async session({ session: e, token: r }) {
      return e.user = {
        id: r.id ? String(r.id) : "",
        name: typeof r.name == "string" ? r.name : void 0,
        chainId: typeof r.chainId == "number" ? r.chainId : void 0,
        network: typeof r.network == "string" ? r.network : void 0,
        address: typeof r.address == "string" ? r.address : void 0,
        provider: typeof r.provider == "string" ? r.provider : void 0,
        image: typeof r.image == "string" ? r.image : void 0,
        social: typeof r.social == "string" ? r.social : void 0,
        role: typeof r.role == "string" ? r.role : void 0
      }, e;
    }
  },
  session: { strategy: "jwt", maxAge: 86400 },
  secret: process.env.AUTH_SECRET
}), { handlers: vg, signIn: yg, signOut: xg } = Mf, Hf = Mf.auth;
var Ff = /* @__PURE__ */ ((e) => (e.transfer = "transfer", e.readContract = "read-contract", e.writeContract = "write-contract", e.signMessage = "sign-message", e.signTypedData = "sign-typed-data", e))(Ff || {});
async function wg(e, { params: r }) {
  var t;
  try {
    const {
      args: [a]
    } = await r;
    if (!Object.values(Ff).includes(a))
      throw new Error("Invalid operation");
    const n = await Hf();
    if (!(n != null && n.user))
      throw new Error("Unauthorized");
    const {
      chainId: i,
      network: s,
      social: o,
      provider: u,
      address: l
    } = n.user;
    if (!o)
      throw new Error("Chain not found");
    const f = await e.json(), {
      abi: p,
      address: d,
      functionName: y,
      args: b = [],
      prependInstructions: v = [],
      accounts: S = {},
      value: x = 0n
    } = cd(f), T = La.find((O) => O.id === i);
    if (!T)
      throw new Error("Invalid chain");
    const k = sd[T.symbol][0];
    if (!k)
      throw new Error("No web socket provider");
    const B = Co(s, o, u).keypair;
    let I = "";
    if (s === Kr.eth) {
      const O = new td(k.url), N = B.connect(O), [M, z] = await Promise.all([
        O.getBalance(l),
        O.getFeeData()
      ]), D = z.gasPrice;
      if (!D)
        throw new Error("Failed to get gas price");
      const P = 21000n, J = D * P;
      if (x > M - J)
        throw new Error("Insufficient balance");
      if (a === "transfer") {
        const K = await N.sendTransaction({
          to: d,
          value: x,
          gasLimit: P,
          gasPrice: D
        });
        return Ut.json({ hash: K.hash }, { status: 200 });
      }
      if (a === "read-contract" || a === "write-contract") {
        const ie = await new ad(d, p, N)[y](...b, { value: x });
        if (a === "read-contract")
          return Ut.json(ld(Kr.eth, ie), {
            status: 200
          });
        a === "write-contract" && (I = ie);
      } else if (a === "sign-message") {
        const K = b[0], ie = await N.signMessage(K);
        return Ut.json(ie, {
          status: 200
        });
      } else if (a === "sign-typed-data") {
        const { types: K, domain: ie, message: ce } = f, ue = await N.signTypedData(ie, K, ce);
        return Ut.json(ue, {
          status: 200
        });
      } else
        throw new Error("Invalid operation");
    } else if (s === Kr.sol) {
      const O = new Yf(k.url, "finalized"), N = await O.getBalance(new Ft(l));
      if (x > N)
        throw new Error("Insufficient balance");
      if (a === "transfer") {
        const M = new Vo().add(
          Go.transfer({
            fromPubkey: new Ft(l),
            toPubkey: new Ft(d),
            lamports: x
          })
        );
        I = await Ko(O, M, [
          B
        ]);
      } else if (a === "read-contract" || a === "write-contract") {
        const M = new fd(O, B, {}), z = new dd(
          p,
          new Ft(d),
          M
        ), D = new Vo(), P = [
          Wo.setComputeUnitLimit({
            units: 4e5
          }),
          Wo.setComputeUnitPrice({
            microLamports: 1e5
          })
        ], J = await z.methods[y](...b).accounts({
          ...Object.fromEntries(
            Object.keys(S).map((K) => [
              K,
              new Ft(S[K])
            ])
          ),
          signer: B.publicKey,
          rent: Zf,
          systemProgram: Go.programId
        }).instruction();
        D.add(...P, J), I = await Ko(
          O,
          D,
          [B],
          { commitment: "finalized" }
        ), await O.getParsedTransaction(I, {
          commitment: "finalized"
        });
      } else if (a === "sign-message") {
        const M = b[0], z = Na.sign.detached(
          Buffer.from(M),
          B.secretKey
        );
        return Ut.json(Buffer.from(z).toString("base64"), {
          status: 200
        });
      } else
        throw new Error("Invalid operation");
    } else
      throw new Error("Invalid network");
    return Ut.json({ hash: I }, { status: 200 });
  } catch (a) {
    return console.log(a), Ut.json(
      {
        message: a.reason || a.shortMessage || a.message || ((t = a.logs) == null ? void 0 : t.join(`
`)) || "Failed to interact with contract."
      },
      {
        status: 500
      }
    );
  }
}
export {
  tg as C,
  bg as M,
  Df as N,
  wg as P,
  Hf as a,
  xg as b,
  vg as h,
  yg as s,
  gg as u
};
//# sourceMappingURL=index-CiAm_SJa.mjs.map