PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/asmcrypto.js

Просмотр файла: asmcrypto.mjs.map

{"version":3,"file":null,"sources":["/mnt/c/Repositories/asmcrypto.js/src/utils.js","/mnt/c/Repositories/asmcrypto.js/src/exportedUtils.js","/mnt/c/Repositories/asmcrypto.js/src/errors.js","/mnt/c/Repositories/asmcrypto.js/src/aes/aes.asm.js","/mnt/c/Repositories/asmcrypto.js/src/aes/exports.js","/mnt/c/Repositories/asmcrypto.js/src/aes/aes.js","/mnt/c/Repositories/asmcrypto.js/src/aes/cbc/cbc.js","/mnt/c/Repositories/asmcrypto.js/src/aes/cbc/exports.js","/mnt/c/Repositories/asmcrypto.js/src/aes/ccm/ccm.js","/mnt/c/Repositories/asmcrypto.js/src/aes/ccm/exports.js","/mnt/c/Repositories/asmcrypto.js/src/aes/cfb/cfb.js","/mnt/c/Repositories/asmcrypto.js/src/aes/cfb/exports.js","/mnt/c/Repositories/asmcrypto.js/src/aes/ecb/ecb.js","/mnt/c/Repositories/asmcrypto.js/src/aes/cmac/cmac.js","/mnt/c/Repositories/asmcrypto.js/src/aes/cmac/exports.js","/mnt/c/Repositories/asmcrypto.js/src/aes/ctr/ctr.js","/mnt/c/Repositories/asmcrypto.js/src/aes/ctr/exports.js","/mnt/c/Repositories/asmcrypto.js/src/aes/ecb/exports.js","/mnt/c/Repositories/asmcrypto.js/src/aes/gcm/gcm.js","/mnt/c/Repositories/asmcrypto.js/src/aes/gcm/exports.js","/mnt/c/Repositories/asmcrypto.js/src/aes/ofb/ofb.js","/mnt/c/Repositories/asmcrypto.js/src/aes/ofb/exports.js","/mnt/c/Repositories/asmcrypto.js/src/random/isaac.js","/mnt/c/Repositories/asmcrypto.js/src/pbkdf2/pbkdf2.js","/mnt/c/Repositories/asmcrypto.js/src/hmac/hmac.js","/mnt/c/Repositories/asmcrypto.js/src/hash/sha256/sha256.asm.js","/mnt/c/Repositories/asmcrypto.js/src/hash/hash.js","/mnt/c/Repositories/asmcrypto.js/src/hash/sha256/sha256.js","/mnt/c/Repositories/asmcrypto.js/src/hmac/hmac-sha256.js","/mnt/c/Repositories/asmcrypto.js/src/pbkdf2/pbkdf2-hmac-sha256.js","/mnt/c/Repositories/asmcrypto.js/src/random/random.js","/mnt/c/Repositories/asmcrypto.js/src/bignum/bigint.asm.js","/mnt/c/Repositories/asmcrypto.js/src/bignum/extgcd.js","/mnt/c/Repositories/asmcrypto.js/src/bignum/bignum.js","/mnt/c/Repositories/asmcrypto.js/src/bignum/exports.js","/mnt/c/Repositories/asmcrypto.js/src/hash/sha1/sha1.asm.js","/mnt/c/Repositories/asmcrypto.js/src/hash/sha1/sha1.js","/mnt/c/Repositories/asmcrypto.js/src/hash/sha1/exports.js","/mnt/c/Repositories/asmcrypto.js/src/hash/sha256/exports.js","/mnt/c/Repositories/asmcrypto.js/src/hash/sha512/sha512.asm.js","/mnt/c/Repositories/asmcrypto.js/src/hash/sha512/sha512.js","/mnt/c/Repositories/asmcrypto.js/src/hash/sha512/exports.js","/mnt/c/Repositories/asmcrypto.js/src/hmac/hmac-sha1.js","/mnt/c/Repositories/asmcrypto.js/src/hmac/exports-hmac-sha1.js","/mnt/c/Repositories/asmcrypto.js/src/hmac/exports-hmac-sha256.js","/mnt/c/Repositories/asmcrypto.js/src/hmac/hmac-sha512.js","/mnt/c/Repositories/asmcrypto.js/src/hmac/exports-hmac-sha512.js","/mnt/c/Repositories/asmcrypto.js/src/pbkdf2/pbkdf2-hmac-sha1.js","/mnt/c/Repositories/asmcrypto.js/src/pbkdf2/exports-pbkdf2-hmac-sha1.js","/mnt/c/Repositories/asmcrypto.js/src/pbkdf2/exports-pbkdf2-hmac-sha256.js","/mnt/c/Repositories/asmcrypto.js/src/pbkdf2/pbkdf2-hmac-sha512.js","/mnt/c/Repositories/asmcrypto.js/src/pbkdf2/exports-pbkdf2-hmac-sha512.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/rsa.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/genkey.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/exports-keygen.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/pkcs1.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/exports-oaep-sha1.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/exports-oaep-sha256.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/exports-oaep-sha512.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/exports-pss-sha1.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/exports-pss-sha256.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/exports-pss-sha512.js","/mnt/c/Repositories/asmcrypto.js/src/rsa/exports-raw.js","/mnt/c/Repositories/asmcrypto.js/src/origin.js"],"sourcesContent":["export var FloatArray = typeof Float64Array !== 'undefined' ? Float64Array : Float32Array; // make PhantomJS happy\n\n/**\n * @param {string} str\n * @param {boolean} [utf8]\n * @return {Uint8Array}\n */\nexport function string_to_bytes(str, utf8) {\n  utf8 = !!utf8;\n\n  var len = str.length,\n    bytes = new Uint8Array(utf8 ? 4 * len : len);\n\n  for (var i = 0, j = 0; i < len; i++) {\n    var c = str.charCodeAt(i);\n\n    if (utf8 && 0xd800 <= c && c <= 0xdbff) {\n      if (++i >= len) throw new Error('Malformed string, low surrogate expected at position ' + i);\n      c = ((c ^ 0xd800) << 10) | 0x10000 | (str.charCodeAt(i) ^ 0xdc00);\n    } else if (!utf8 && c >>> 8) {\n      throw new Error('Wide characters are not allowed.');\n    }\n\n    if (!utf8 || c <= 0x7f) {\n      bytes[j++] = c;\n    } else if (c <= 0x7ff) {\n      bytes[j++] = 0xc0 | (c >> 6);\n      bytes[j++] = 0x80 | (c & 0x3f);\n    } else if (c <= 0xffff) {\n      bytes[j++] = 0xe0 | (c >> 12);\n      bytes[j++] = 0x80 | ((c >> 6) & 0x3f);\n      bytes[j++] = 0x80 | (c & 0x3f);\n    } else {\n      bytes[j++] = 0xf0 | (c >> 18);\n      bytes[j++] = 0x80 | ((c >> 12) & 0x3f);\n      bytes[j++] = 0x80 | ((c >> 6) & 0x3f);\n      bytes[j++] = 0x80 | (c & 0x3f);\n    }\n  }\n\n  return bytes.subarray(0, j);\n}\n\nexport function hex_to_bytes(str) {\n  var len = str.length;\n  if (len & 1) {\n    str = '0' + str;\n    len++;\n  }\n  var bytes = new Uint8Array(len >> 1);\n  for (var i = 0; i < len; i += 2) {\n    bytes[i >> 1] = parseInt(str.substr(i, 2), 16);\n  }\n  return bytes;\n}\n\nexport function base64_to_bytes(str) {\n  return string_to_bytes(atob(str));\n}\n\nexport function bytes_to_string(bytes, utf8) {\n  utf8 = !!utf8;\n\n  var len = bytes.length,\n    chars = new Array(len);\n\n  for (var i = 0, j = 0; i < len; i++) {\n    var b = bytes[i];\n    if (!utf8 || b < 128) {\n      chars[j++] = b;\n    } else if (b >= 192 && b < 224 && i + 1 < len) {\n      chars[j++] = ((b & 0x1f) << 6) | (bytes[++i] & 0x3f);\n    } else if (b >= 224 && b < 240 && i + 2 < len) {\n      chars[j++] = ((b & 0xf) << 12) | ((bytes[++i] & 0x3f) << 6) | (bytes[++i] & 0x3f);\n    } else if (b >= 240 && b < 248 && i + 3 < len) {\n      var c = ((b & 7) << 18) | ((bytes[++i] & 0x3f) << 12) | ((bytes[++i] & 0x3f) << 6) | (bytes[++i] & 0x3f);\n      if (c <= 0xffff) {\n        chars[j++] = c;\n      } else {\n        c ^= 0x10000;\n        chars[j++] = 0xd800 | (c >> 10);\n        chars[j++] = 0xdc00 | (c & 0x3ff);\n      }\n    } else {\n      throw new Error('Malformed UTF8 character at byte offset ' + i);\n    }\n  }\n\n  var str = '',\n    bs = 16384;\n  for (var i = 0; i < j; i += bs) {\n    str += String.fromCharCode.apply(String, chars.slice(i, i + bs <= j ? i + bs : j));\n  }\n\n  return str;\n}\n\nexport function bytes_to_hex(arr) {\n  var str = '';\n  for (var i = 0; i < arr.length; i++) {\n    var h = (arr[i] & 0xff).toString(16);\n    if (h.length < 2) str += '0';\n    str += h;\n  }\n  return str;\n}\n\nexport function bytes_to_base64(arr) {\n  return btoa(bytes_to_string(arr));\n}\n\nexport function pow2_ceil(a) {\n  a -= 1;\n  a |= a >>> 1;\n  a |= a >>> 2;\n  a |= a >>> 4;\n  a |= a >>> 8;\n  a |= a >>> 16;\n  a += 1;\n  return a;\n}\n\nexport function is_number(a) {\n  return typeof a === 'number';\n}\n\nexport function is_string(a) {\n  return typeof a === 'string';\n}\n\nexport function is_buffer(a) {\n  return a instanceof ArrayBuffer;\n}\n\nexport function is_bytes(a) {\n  return a instanceof Uint8Array;\n}\n\nexport function is_typed_array(a) {\n  return (\n    a instanceof Int8Array ||\n    a instanceof Uint8Array ||\n    a instanceof Int16Array ||\n    a instanceof Uint16Array ||\n    a instanceof Int32Array ||\n    a instanceof Uint32Array ||\n    a instanceof Float32Array ||\n    a instanceof Float64Array\n  );\n}\n\nexport function _heap_init(constructor, heap, heapSize) {\n  var size = heap ? heap.byteLength : heapSize || 65536;\n\n  if (size & 0xfff || size <= 0) throw new Error('heap size must be a positive integer and a multiple of 4096');\n\n  heap = heap || new constructor(new ArrayBuffer(size));\n\n  return heap;\n}\n\nexport function _heap_write(heap, hpos, data, dpos, dlen) {\n  var hlen = heap.length - hpos,\n    wlen = hlen < dlen ? hlen : dlen;\n\n  heap.set(data.subarray(dpos, dpos + wlen), hpos);\n\n  return wlen;\n}\n","/**\n * Util exports\n */\n\nexport {\n  string_to_bytes,\n  hex_to_bytes,\n  base64_to_bytes,\n  bytes_to_string,\n  bytes_to_hex,\n  bytes_to_base64,\n} from './utils.js';\n","export function IllegalStateError() {\n  var err = Error.apply(this, arguments);\n  (this.message = err.message), (this.stack = err.stack);\n}\nIllegalStateError.prototype = Object.create(Error.prototype, { name: { value: 'IllegalStateError' } });\n\nexport function IllegalArgumentError() {\n  var err = Error.apply(this, arguments);\n  (this.message = err.message), (this.stack = err.stack);\n}\nIllegalArgumentError.prototype = Object.create(Error.prototype, { name: { value: 'IllegalArgumentError' } });\n\nexport function SecurityError() {\n  var err = Error.apply(this, arguments);\n  (this.message = err.message), (this.stack = err.stack);\n}\nSecurityError.prototype = Object.create(Error.prototype, { name: { value: 'SecurityError' } });\n","/**\n * @file {@link http://asmjs.org Asm.js} implementation of the {@link https://en.wikipedia.org/wiki/Advanced_Encryption_Standard Advanced Encryption Standard}.\n * @author Artem S Vybornov <vybornov@gmail.com>\n * @license MIT\n */\nexport var AES_asm = function () {\n  \"use strict\";\n\n  /**\n   * Galois Field stuff init flag\n   */\n  var ginit_done = false;\n\n  /**\n   * Galois Field exponentiation and logarithm tables for 3 (the generator)\n   */\n  var gexp3, glog3;\n\n  /**\n   * Init Galois Field tables\n   */\n  function ginit() {\n    gexp3 = [],\n      glog3 = [];\n\n    var a = 1, c, d;\n    for (c = 0; c < 255; c++) {\n      gexp3[c] = a;\n\n      // Multiply by three\n      d = a & 0x80, a <<= 1, a &= 255;\n      if (d === 0x80) a ^= 0x1b;\n      a ^= gexp3[c];\n\n      // Set the log table value\n      glog3[gexp3[c]] = c;\n    }\n    gexp3[255] = gexp3[0];\n    glog3[0] = 0;\n\n    ginit_done = true;\n  }\n\n  /**\n   * Galois Field multiplication\n   * @param {number} a\n   * @param {number} b\n   * @return {number}\n   */\n  function gmul(a, b) {\n    var c = gexp3[(glog3[a] + glog3[b]) % 255];\n    if (a === 0 || b === 0) c = 0;\n    return c;\n  }\n\n  /**\n   * Galois Field reciprocal\n   * @param {number} a\n   * @return {number}\n   */\n  function ginv(a) {\n    var i = gexp3[255 - glog3[a]];\n    if (a === 0) i = 0;\n    return i;\n  }\n\n  /**\n   * AES stuff init flag\n   */\n  var aes_init_done = false;\n\n  /**\n   * Encryption, Decryption, S-Box and KeyTransform tables\n   *\n   * @type {number[]}\n   */\n  var aes_sbox;\n\n  /**\n   * @type {number[]}\n   */\n  var aes_sinv;\n\n  /**\n   * @type {number[][]}\n   */\n  var aes_enc;\n\n  /**\n   * @type {number[][]}\n   */\n  var aes_dec;\n\n  /**\n   * Init AES tables\n   */\n  function aes_init() {\n    if (!ginit_done) ginit();\n\n    // Calculates AES S-Box value\n    function _s(a) {\n      var c, s, x;\n      s = x = ginv(a);\n      for (c = 0; c < 4; c++) {\n        s = ((s << 1) | (s >>> 7)) & 255;\n        x ^= s;\n      }\n      x ^= 99;\n      return x;\n    }\n\n    // Tables\n    aes_sbox = [],\n      aes_sinv = [],\n      aes_enc = [[], [], [], []],\n      aes_dec = [[], [], [], []];\n\n    for (var i = 0; i < 256; i++) {\n      var s = _s(i);\n\n      // S-Box and its inverse\n      aes_sbox[i] = s;\n      aes_sinv[s] = i;\n\n      // Ecryption and Decryption tables\n      aes_enc[0][i] = (gmul(2, s) << 24) | (s << 16) | (s << 8) | gmul(3, s);\n      aes_dec[0][s] = (gmul(14, i) << 24) | (gmul(9, i) << 16) | (gmul(13, i) << 8) | gmul(11, i);\n      // Rotate tables\n      for (var t = 1; t < 4; t++) {\n        aes_enc[t][i] = (aes_enc[t - 1][i] >>> 8) | (aes_enc[t - 1][i] << 24);\n        aes_dec[t][s] = (aes_dec[t - 1][s] >>> 8) | (aes_dec[t - 1][s] << 24);\n      }\n    }\n  }\n\n  /**\n   * Asm.js module constructor.\n   *\n   * <p>\n   * Heap buffer layout by offset:\n   * <pre>\n   * 0x0000   encryption key schedule\n   * 0x0400   decryption key schedule\n   * 0x0800   sbox\n   * 0x0c00   inv sbox\n   * 0x1000   encryption tables\n   * 0x2000   decryption tables\n   * 0x3000   reserved (future GCM multiplication lookup table)\n   * 0x4000   data\n   * </pre>\n   * Don't touch anything before <code>0x400</code>.\n   * </p>\n   *\n   * @alias AES_asm\n   * @class\n   * @param {Object} foreign - <i>ignored</i>\n   * @param {ArrayBuffer} buffer - heap buffer to link with\n   */\n  var wrapper = function (foreign, buffer) {\n    // Init AES stuff for the first time\n    if (!aes_init_done) aes_init();\n\n    // Fill up AES tables\n    var heap = new Uint32Array(buffer);\n    heap.set(aes_sbox, 0x0800 >> 2);\n    heap.set(aes_sinv, 0x0c00 >> 2);\n    for (var i = 0; i < 4; i++) {\n      heap.set(aes_enc[i], (0x1000 + 0x400 * i) >> 2);\n      heap.set(aes_dec[i], (0x2000 + 0x400 * i) >> 2);\n    }\n\n    /**\n     * Calculate AES key schedules.\n     * @instance\n     * @memberof AES_asm\n     * @param {number} ks - key size, 4/6/8 (for 128/192/256-bit key correspondingly)\n     * @param {number} k0 - key vector components\n     * @param {number} k1 - key vector components\n     * @param {number} k2 - key vector components\n     * @param {number} k3 - key vector components\n     * @param {number} k4 - key vector components\n     * @param {number} k5 - key vector components\n     * @param {number} k6 - key vector components\n     * @param {number} k7 - key vector components\n     */\n    function set_key(ks, k0, k1, k2, k3, k4, k5, k6, k7) {\n      var ekeys = heap.subarray(0x000, 60),\n        dkeys = heap.subarray(0x100, 0x100 + 60);\n\n      // Encryption key schedule\n      ekeys.set([k0, k1, k2, k3, k4, k5, k6, k7]);\n      for (var i = ks, rcon = 1; i < 4 * ks + 28; i++) {\n        var k = ekeys[i - 1];\n        if ((i % ks === 0) || (ks === 8 && i % ks === 4)) {\n          k = aes_sbox[k >>> 24] << 24 ^ aes_sbox[k >>> 16 & 255] << 16 ^ aes_sbox[k >>> 8 & 255] << 8 ^ aes_sbox[k & 255];\n        }\n        if (i % ks === 0) {\n          k = (k << 8) ^ (k >>> 24) ^ (rcon << 24);\n          rcon = (rcon << 1) ^ ((rcon & 0x80) ? 0x1b : 0);\n        }\n        ekeys[i] = ekeys[i - ks] ^ k;\n      }\n\n      // Decryption key schedule\n      for (var j = 0; j < i; j += 4) {\n        for (var jj = 0; jj < 4; jj++) {\n          var k = ekeys[i - (4 + j) + (4 - jj) % 4];\n          if (j < 4 || j >= i - 4) {\n            dkeys[j + jj] = k;\n          } else {\n            dkeys[j + jj] = aes_dec[0][aes_sbox[k >>> 24]]\n              ^ aes_dec[1][aes_sbox[k >>> 16 & 255]]\n              ^ aes_dec[2][aes_sbox[k >>> 8 & 255]]\n              ^ aes_dec[3][aes_sbox[k & 255]];\n          }\n        }\n      }\n\n      // Set rounds number\n      asm.set_rounds(ks + 5);\n    }\n\n    // create library object with necessary properties\n    var stdlib = {Uint8Array: Uint8Array, Uint32Array: Uint32Array};\n\n    var asm = function (stdlib, foreign, buffer) {\n      \"use asm\";\n\n      var S0 = 0, S1 = 0, S2 = 0, S3 = 0,\n        I0 = 0, I1 = 0, I2 = 0, I3 = 0,\n        N0 = 0, N1 = 0, N2 = 0, N3 = 0,\n        M0 = 0, M1 = 0, M2 = 0, M3 = 0,\n        H0 = 0, H1 = 0, H2 = 0, H3 = 0,\n        R = 0;\n\n      var HEAP = new stdlib.Uint32Array(buffer),\n        DATA = new stdlib.Uint8Array(buffer);\n\n      /**\n       * AES core\n       * @param {number} k - precomputed key schedule offset\n       * @param {number} s - precomputed sbox table offset\n       * @param {number} t - precomputed round table offset\n       * @param {number} r - number of inner rounds to perform\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _core(k, s, t, r, x0, x1, x2, x3) {\n        k = k | 0;\n        s = s | 0;\n        t = t | 0;\n        r = r | 0;\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        var t1 = 0, t2 = 0, t3 = 0,\n          y0 = 0, y1 = 0, y2 = 0, y3 = 0,\n          i = 0;\n\n        t1 = t | 0x400, t2 = t | 0x800, t3 = t | 0xc00;\n\n        // round 0\n        x0 = x0 ^ HEAP[(k | 0) >> 2],\n          x1 = x1 ^ HEAP[(k | 4) >> 2],\n          x2 = x2 ^ HEAP[(k | 8) >> 2],\n          x3 = x3 ^ HEAP[(k | 12) >> 2];\n\n        // round 1..r\n        for (i = 16; (i | 0) <= (r << 4); i = (i + 16) | 0) {\n          y0 = HEAP[(t | x0 >> 22 & 1020) >> 2] ^ HEAP[(t1 | x1 >> 14 & 1020) >> 2] ^ HEAP[(t2 | x2 >> 6 & 1020) >> 2] ^ HEAP[(t3 | x3 << 2 & 1020) >> 2] ^ HEAP[(k | i | 0) >> 2],\n            y1 = HEAP[(t | x1 >> 22 & 1020) >> 2] ^ HEAP[(t1 | x2 >> 14 & 1020) >> 2] ^ HEAP[(t2 | x3 >> 6 & 1020) >> 2] ^ HEAP[(t3 | x0 << 2 & 1020) >> 2] ^ HEAP[(k | i | 4) >> 2],\n            y2 = HEAP[(t | x2 >> 22 & 1020) >> 2] ^ HEAP[(t1 | x3 >> 14 & 1020) >> 2] ^ HEAP[(t2 | x0 >> 6 & 1020) >> 2] ^ HEAP[(t3 | x1 << 2 & 1020) >> 2] ^ HEAP[(k | i | 8) >> 2],\n            y3 = HEAP[(t | x3 >> 22 & 1020) >> 2] ^ HEAP[(t1 | x0 >> 14 & 1020) >> 2] ^ HEAP[(t2 | x1 >> 6 & 1020) >> 2] ^ HEAP[(t3 | x2 << 2 & 1020) >> 2] ^ HEAP[(k | i | 12) >> 2];\n          x0 = y0, x1 = y1, x2 = y2, x3 = y3;\n        }\n\n        // final round\n        S0 = HEAP[(s | x0 >> 22 & 1020) >> 2] << 24 ^ HEAP[(s | x1 >> 14 & 1020) >> 2] << 16 ^ HEAP[(s | x2 >> 6 & 1020) >> 2] << 8 ^ HEAP[(s | x3 << 2 & 1020) >> 2] ^ HEAP[(k | i | 0) >> 2],\n          S1 = HEAP[(s | x1 >> 22 & 1020) >> 2] << 24 ^ HEAP[(s | x2 >> 14 & 1020) >> 2] << 16 ^ HEAP[(s | x3 >> 6 & 1020) >> 2] << 8 ^ HEAP[(s | x0 << 2 & 1020) >> 2] ^ HEAP[(k | i | 4) >> 2],\n          S2 = HEAP[(s | x2 >> 22 & 1020) >> 2] << 24 ^ HEAP[(s | x3 >> 14 & 1020) >> 2] << 16 ^ HEAP[(s | x0 >> 6 & 1020) >> 2] << 8 ^ HEAP[(s | x1 << 2 & 1020) >> 2] ^ HEAP[(k | i | 8) >> 2],\n          S3 = HEAP[(s | x3 >> 22 & 1020) >> 2] << 24 ^ HEAP[(s | x0 >> 14 & 1020) >> 2] << 16 ^ HEAP[(s | x1 >> 6 & 1020) >> 2] << 8 ^ HEAP[(s | x2 << 2 & 1020) >> 2] ^ HEAP[(k | i | 12) >> 2];\n      }\n\n      /**\n       * ECB mode encryption\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _ecb_enc(x0, x1, x2, x3) {\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        _core(\n          0x0000, 0x0800, 0x1000,\n          R,\n          x0,\n          x1,\n          x2,\n          x3,\n        );\n      }\n\n      /**\n       * ECB mode decryption\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _ecb_dec(x0, x1, x2, x3) {\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        var t = 0;\n\n        _core(\n          0x0400, 0x0c00, 0x2000,\n          R,\n          x0,\n          x3,\n          x2,\n          x1,\n        );\n\n        t = S1, S1 = S3, S3 = t;\n      }\n\n\n      /**\n       * CBC mode encryption\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _cbc_enc(x0, x1, x2, x3) {\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        _core(\n          0x0000, 0x0800, 0x1000,\n          R,\n          I0 ^ x0,\n          I1 ^ x1,\n          I2 ^ x2,\n          I3 ^ x3,\n        );\n\n        I0 = S0,\n          I1 = S1,\n          I2 = S2,\n          I3 = S3;\n      }\n\n      /**\n       * CBC mode decryption\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _cbc_dec(x0, x1, x2, x3) {\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        var t = 0;\n\n        _core(\n          0x0400, 0x0c00, 0x2000,\n          R,\n          x0,\n          x3,\n          x2,\n          x1,\n        );\n\n        t = S1, S1 = S3, S3 = t;\n\n        S0 = S0 ^ I0,\n          S1 = S1 ^ I1,\n          S2 = S2 ^ I2,\n          S3 = S3 ^ I3;\n\n        I0 = x0,\n          I1 = x1,\n          I2 = x2,\n          I3 = x3;\n      }\n\n      /**\n       * CFB mode encryption\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _cfb_enc(x0, x1, x2, x3) {\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        _core(\n          0x0000, 0x0800, 0x1000,\n          R,\n          I0,\n          I1,\n          I2,\n          I3,\n        );\n\n        I0 = S0 = S0 ^ x0,\n          I1 = S1 = S1 ^ x1,\n          I2 = S2 = S2 ^ x2,\n          I3 = S3 = S3 ^ x3;\n      }\n\n\n      /**\n       * CFB mode decryption\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _cfb_dec(x0, x1, x2, x3) {\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        _core(\n          0x0000, 0x0800, 0x1000,\n          R,\n          I0,\n          I1,\n          I2,\n          I3,\n        );\n\n        S0 = S0 ^ x0,\n          S1 = S1 ^ x1,\n          S2 = S2 ^ x2,\n          S3 = S3 ^ x3;\n\n        I0 = x0,\n          I1 = x1,\n          I2 = x2,\n          I3 = x3;\n      }\n\n      /**\n       * OFB mode encryption / decryption\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _ofb(x0, x1, x2, x3) {\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        _core(\n          0x0000, 0x0800, 0x1000,\n          R,\n          I0,\n          I1,\n          I2,\n          I3,\n        );\n\n        I0 = S0,\n          I1 = S1,\n          I2 = S2,\n          I3 = S3;\n\n        S0 = S0 ^ x0,\n          S1 = S1 ^ x1,\n          S2 = S2 ^ x2,\n          S3 = S3 ^ x3;\n      }\n\n      /**\n       * CTR mode encryption / decryption\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _ctr(x0, x1, x2, x3) {\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        _core(\n          0x0000, 0x0800, 0x1000,\n          R,\n          N0,\n          N1,\n          N2,\n          N3,\n        );\n\n        N3 = (~M3 & N3) | M3 & (N3 + 1);\n          N2 = (~M2 & N2) | M2 & (N2 + ((N3 | 0) == 0));\n          N1 = (~M1 & N1) | M1 & (N1 + ((N2 | 0) == 0));\n          N0 = (~M0 & N0) | M0 & (N0 + ((N1 | 0) == 0));\n\n        S0 = S0 ^ x0;\n          S1 = S1 ^ x1;\n          S2 = S2 ^ x2;\n          S3 = S3 ^ x3;\n      }\n\n      /**\n       * GCM mode MAC calculation\n       * @param {number} x0 - 128-bit input block vector\n       * @param {number} x1 - 128-bit input block vector\n       * @param {number} x2 - 128-bit input block vector\n       * @param {number} x3 - 128-bit input block vector\n       */\n      function _gcm_mac(x0, x1, x2, x3) {\n        x0 = x0 | 0;\n        x1 = x1 | 0;\n        x2 = x2 | 0;\n        x3 = x3 | 0;\n\n        var y0 = 0, y1 = 0, y2 = 0, y3 = 0,\n          z0 = 0, z1 = 0, z2 = 0, z3 = 0,\n          i = 0, c = 0;\n\n        x0 = x0 ^ I0,\n          x1 = x1 ^ I1,\n          x2 = x2 ^ I2,\n          x3 = x3 ^ I3;\n\n        y0 = H0 | 0,\n          y1 = H1 | 0,\n          y2 = H2 | 0,\n          y3 = H3 | 0;\n\n        for (; (i | 0) < 128; i = (i + 1) | 0) {\n          if (y0 >>> 31) {\n            z0 = z0 ^ x0,\n              z1 = z1 ^ x1,\n              z2 = z2 ^ x2,\n              z3 = z3 ^ x3;\n          }\n\n          y0 = (y0 << 1) | (y1 >>> 31),\n            y1 = (y1 << 1) | (y2 >>> 31),\n            y2 = (y2 << 1) | (y3 >>> 31),\n            y3 = (y3 << 1);\n\n          c = x3 & 1;\n\n          x3 = (x3 >>> 1) | (x2 << 31),\n            x2 = (x2 >>> 1) | (x1 << 31),\n            x1 = (x1 >>> 1) | (x0 << 31),\n            x0 = (x0 >>> 1);\n\n          if (c) x0 = x0 ^ 0xe1000000;\n        }\n\n        I0 = z0,\n          I1 = z1,\n          I2 = z2,\n          I3 = z3;\n      }\n\n      /**\n       * Set the internal rounds number.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} r - number if inner AES rounds\n       */\n      function set_rounds(r) {\n        r = r | 0;\n        R = r;\n      }\n\n      /**\n       * Populate the internal state of the module.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} s0 - state vector\n       * @param {number} s1 - state vector\n       * @param {number} s2 - state vector\n       * @param {number} s3 - state vector\n       */\n      function set_state(s0, s1, s2, s3) {\n        s0 = s0 | 0;\n        s1 = s1 | 0;\n        s2 = s2 | 0;\n        s3 = s3 | 0;\n\n        S0 = s0,\n          S1 = s1,\n          S2 = s2,\n          S3 = s3;\n      }\n\n      /**\n       * Populate the internal iv of the module.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} i0 - iv vector\n       * @param {number} i1 - iv vector\n       * @param {number} i2 - iv vector\n       * @param {number} i3 - iv vector\n       */\n      function set_iv(i0, i1, i2, i3) {\n        i0 = i0 | 0;\n        i1 = i1 | 0;\n        i2 = i2 | 0;\n        i3 = i3 | 0;\n\n        I0 = i0,\n          I1 = i1,\n          I2 = i2,\n          I3 = i3;\n      }\n\n      /**\n       * Set nonce for CTR-family modes.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} n0 - nonce vector\n       * @param {number} n1 - nonce vector\n       * @param {number} n2 - nonce vector\n       * @param {number} n3 - nonce vector\n       */\n      function set_nonce(n0, n1, n2, n3) {\n        n0 = n0 | 0;\n        n1 = n1 | 0;\n        n2 = n2 | 0;\n        n3 = n3 | 0;\n\n        N0 = n0,\n          N1 = n1,\n          N2 = n2,\n          N3 = n3;\n      }\n\n      /**\n       * Set counter mask for CTR-family modes.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} m0 - counter mask vector\n       * @param {number} m1 - counter mask vector\n       * @param {number} m2 - counter mask vector\n       * @param {number} m3 - counter mask vector\n       */\n      function set_mask(m0, m1, m2, m3) {\n        m0 = m0 | 0;\n        m1 = m1 | 0;\n        m2 = m2 | 0;\n        m3 = m3 | 0;\n\n        M0 = m0,\n          M1 = m1,\n          M2 = m2,\n          M3 = m3;\n      }\n\n      /**\n       * Set counter for CTR-family modes.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} c0 - counter vector\n       * @param {number} c1 - counter vector\n       * @param {number} c2 - counter vector\n       * @param {number} c3 - counter vector\n       */\n      function set_counter(c0, c1, c2, c3) {\n        c0 = c0 | 0;\n        c1 = c1 | 0;\n        c2 = c2 | 0;\n        c3 = c3 | 0;\n\n        N3 = (~M3 & N3) | M3 & c3,\n          N2 = (~M2 & N2) | M2 & c2,\n          N1 = (~M1 & N1) | M1 & c1,\n          N0 = (~M0 & N0) | M0 & c0;\n      }\n\n      /**\n       * Store the internal state vector into the heap.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} pos - offset where to put the data\n       * @return {number} The number of bytes have been written into the heap, always 16.\n       */\n      function get_state(pos) {\n        pos = pos | 0;\n\n        if (pos & 15) return -1;\n\n        DATA[pos | 0] = S0 >>> 24,\n          DATA[pos | 1] = S0 >>> 16 & 255,\n          DATA[pos | 2] = S0 >>> 8 & 255,\n          DATA[pos | 3] = S0 & 255,\n          DATA[pos | 4] = S1 >>> 24,\n          DATA[pos | 5] = S1 >>> 16 & 255,\n          DATA[pos | 6] = S1 >>> 8 & 255,\n          DATA[pos | 7] = S1 & 255,\n          DATA[pos | 8] = S2 >>> 24,\n          DATA[pos | 9] = S2 >>> 16 & 255,\n          DATA[pos | 10] = S2 >>> 8 & 255,\n          DATA[pos | 11] = S2 & 255,\n          DATA[pos | 12] = S3 >>> 24,\n          DATA[pos | 13] = S3 >>> 16 & 255,\n          DATA[pos | 14] = S3 >>> 8 & 255,\n          DATA[pos | 15] = S3 & 255;\n\n        return 16;\n      }\n\n      /**\n       * Store the internal iv vector into the heap.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} pos - offset where to put the data\n       * @return {number} The number of bytes have been written into the heap, always 16.\n       */\n      function get_iv(pos) {\n        pos = pos | 0;\n\n        if (pos & 15) return -1;\n\n        DATA[pos | 0] = I0 >>> 24,\n          DATA[pos | 1] = I0 >>> 16 & 255,\n          DATA[pos | 2] = I0 >>> 8 & 255,\n          DATA[pos | 3] = I0 & 255,\n          DATA[pos | 4] = I1 >>> 24,\n          DATA[pos | 5] = I1 >>> 16 & 255,\n          DATA[pos | 6] = I1 >>> 8 & 255,\n          DATA[pos | 7] = I1 & 255,\n          DATA[pos | 8] = I2 >>> 24,\n          DATA[pos | 9] = I2 >>> 16 & 255,\n          DATA[pos | 10] = I2 >>> 8 & 255,\n          DATA[pos | 11] = I2 & 255,\n          DATA[pos | 12] = I3 >>> 24,\n          DATA[pos | 13] = I3 >>> 16 & 255,\n          DATA[pos | 14] = I3 >>> 8 & 255,\n          DATA[pos | 15] = I3 & 255;\n\n        return 16;\n      }\n\n      /**\n       * GCM initialization.\n       * @instance\n       * @memberof AES_asm\n       */\n      function gcm_init() {\n        _ecb_enc(0, 0, 0, 0);\n        H0 = S0,\n          H1 = S1,\n          H2 = S2,\n          H3 = S3;\n      }\n\n      /**\n       * Perform ciphering operation on the supplied data.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} mode - block cipher mode (see {@link AES_asm} mode constants)\n       * @param {number} pos - offset of the data being processed\n       * @param {number} len - length of the data being processed\n       * @return {number} Actual amount of data have been processed.\n       */\n      function cipher(mode, pos, len) {\n        mode = mode | 0;\n        pos = pos | 0;\n        len = len | 0;\n\n        var ret = 0;\n\n        if (pos & 15) return -1;\n\n        while ((len | 0) >= 16) {\n          _cipher_modes[mode & 7](\n            DATA[pos | 0] << 24 | DATA[pos | 1] << 16 | DATA[pos | 2] << 8 | DATA[pos | 3],\n            DATA[pos | 4] << 24 | DATA[pos | 5] << 16 | DATA[pos | 6] << 8 | DATA[pos | 7],\n            DATA[pos | 8] << 24 | DATA[pos | 9] << 16 | DATA[pos | 10] << 8 | DATA[pos | 11],\n            DATA[pos | 12] << 24 | DATA[pos | 13] << 16 | DATA[pos | 14] << 8 | DATA[pos | 15],\n          );\n\n          DATA[pos | 0] = S0 >>> 24,\n            DATA[pos | 1] = S0 >>> 16 & 255,\n            DATA[pos | 2] = S0 >>> 8 & 255,\n            DATA[pos | 3] = S0 & 255,\n            DATA[pos | 4] = S1 >>> 24,\n            DATA[pos | 5] = S1 >>> 16 & 255,\n            DATA[pos | 6] = S1 >>> 8 & 255,\n            DATA[pos | 7] = S1 & 255,\n            DATA[pos | 8] = S2 >>> 24,\n            DATA[pos | 9] = S2 >>> 16 & 255,\n            DATA[pos | 10] = S2 >>> 8 & 255,\n            DATA[pos | 11] = S2 & 255,\n            DATA[pos | 12] = S3 >>> 24,\n            DATA[pos | 13] = S3 >>> 16 & 255,\n            DATA[pos | 14] = S3 >>> 8 & 255,\n            DATA[pos | 15] = S3 & 255;\n\n          ret = (ret + 16) | 0,\n            pos = (pos + 16) | 0,\n            len = (len - 16) | 0;\n        }\n\n        return ret | 0;\n      }\n\n      /**\n       * Calculates MAC of the supplied data.\n       * @instance\n       * @memberof AES_asm\n       * @param {number} mode - block cipher mode (see {@link AES_asm} mode constants)\n       * @param {number} pos - offset of the data being processed\n       * @param {number} len - length of the data being processed\n       * @return {number} Actual amount of data have been processed.\n       */\n      function mac(mode, pos, len) {\n        mode = mode | 0;\n        pos = pos | 0;\n        len = len | 0;\n\n        var ret = 0;\n\n        if (pos & 15) return -1;\n\n        while ((len | 0) >= 16) {\n          _mac_modes[mode & 1](\n            DATA[pos | 0] << 24 | DATA[pos | 1] << 16 | DATA[pos | 2] << 8 | DATA[pos | 3],\n            DATA[pos | 4] << 24 | DATA[pos | 5] << 16 | DATA[pos | 6] << 8 | DATA[pos | 7],\n            DATA[pos | 8] << 24 | DATA[pos | 9] << 16 | DATA[pos | 10] << 8 | DATA[pos | 11],\n            DATA[pos | 12] << 24 | DATA[pos | 13] << 16 | DATA[pos | 14] << 8 | DATA[pos | 15],\n          );\n\n          ret = (ret + 16) | 0,\n            pos = (pos + 16) | 0,\n            len = (len - 16) | 0;\n        }\n\n        return ret | 0;\n      }\n\n      /**\n       * AES cipher modes table (virual methods)\n       */\n      var _cipher_modes = [_ecb_enc, _ecb_dec, _cbc_enc, _cbc_dec, _cfb_enc, _cfb_dec, _ofb, _ctr];\n\n      /**\n       * AES MAC modes table (virual methods)\n       */\n      var _mac_modes = [_cbc_enc, _gcm_mac];\n\n      /**\n       * Asm.js module exports\n       */\n      return {\n        set_rounds: set_rounds,\n        set_state: set_state,\n        set_iv: set_iv,\n        set_nonce: set_nonce,\n        set_mask: set_mask,\n        set_counter: set_counter,\n        get_state: get_state,\n        get_iv: get_iv,\n        gcm_init: gcm_init,\n        cipher: cipher,\n        mac: mac,\n      };\n    }(stdlib, foreign, buffer);\n\n    asm.set_key = set_key;\n\n    return asm;\n  };\n\n  /**\n   * AES enciphering mode constants\n   * @enum {number}\n   * @const\n   */\n  wrapper.ENC = {\n    ECB: 0,\n    CBC: 2,\n    CFB: 4,\n    OFB: 6,\n    CTR: 7,\n  },\n\n    /**\n     * AES deciphering mode constants\n     * @enum {number}\n     * @const\n     */\n    wrapper.DEC = {\n      ECB: 1,\n      CBC: 3,\n      CFB: 5,\n      OFB: 6,\n      CTR: 7,\n    },\n\n    /**\n     * AES MAC mode constants\n     * @enum {number}\n     * @const\n     */\n    wrapper.MAC = {\n      CBC: 0,\n      GCM: 1,\n    };\n\n  /**\n   * Heap data offset\n   * @type {number}\n   * @const\n   */\n  wrapper.HEAP_DATA = 0x4000;\n\n  return wrapper;\n}();\n","// shared asm.js module and heap\nimport { AES_asm } from './aes.asm';\n\nexport var _AES_heap_instance = new Uint8Array(0x100000); // 1MB\nexport var _AES_asm_instance = AES_asm(null, _AES_heap_instance.buffer);\n","import { AES_asm } from './aes.asm';\nimport { _heap_init, _heap_write, is_bytes, is_number } from '../utils';\nimport { IllegalArgumentError, SecurityError } from '../errors';\n\nexport class AES {\n  constructor(key, iv, padding, heap, asm) {\n    this.nonce = null;\n    this.counter = 0;\n    this.counterSize = 0;\n\n    this.heap = _heap_init(Uint8Array, heap).subarray(AES_asm.HEAP_DATA);\n    this.asm = asm || AES_asm(null, this.heap.buffer);\n    this.mode = null;\n    this.key = null;\n\n    this.AES_reset(key, iv, padding);\n  }\n\n  /**\n   * @param {Uint8Array} key\n   */\n  AES_set_key(key) {\n    if (key !== undefined) {\n      if (!is_bytes(key)) {\n        throw new TypeError('unexpected key type');\n      }\n\n      var keylen = key.length;\n      if (keylen !== 16 && keylen !== 24 && keylen !== 32) throw new IllegalArgumentError('illegal key size');\n\n      var keyview = new DataView(key.buffer, key.byteOffset, key.byteLength);\n      this.asm.set_key(\n        keylen >> 2,\n        keyview.getUint32(0),\n        keyview.getUint32(4),\n        keyview.getUint32(8),\n        keyview.getUint32(12),\n        keylen > 16 ? keyview.getUint32(16) : 0,\n        keylen > 16 ? keyview.getUint32(20) : 0,\n        keylen > 24 ? keyview.getUint32(24) : 0,\n        keylen > 24 ? keyview.getUint32(28) : 0,\n      );\n\n      this.key = key;\n    } else if (!this.key) {\n      throw new Error('key is required');\n    }\n  }\n\n  /**\n   * This should be mixin instead of inheritance\n   *\n   * @param {Uint8Array} nonce\n   * @param {number} [counter]\n   * @param {number} [size]\n   */\n  AES_CTR_set_options(nonce, counter, size) {\n    if (size !== undefined) {\n      if (size < 8 || size > 48) throw new IllegalArgumentError('illegal counter size');\n\n      this.counterSize = size;\n\n      var mask = Math.pow(2, size) - 1;\n      this.asm.set_mask(0, 0, (mask / 0x100000000) | 0, mask | 0);\n    } else {\n      this.counterSize = size = 48;\n      this.asm.set_mask(0, 0, 0xffff, 0xffffffff);\n    }\n\n    if (nonce !== undefined) {\n      if (!is_bytes(nonce)) {\n        throw new TypeError('unexpected nonce type');\n      }\n\n      var len = nonce.length;\n      if (!len || len > 16) throw new IllegalArgumentError('illegal nonce size');\n\n      this.nonce = nonce;\n\n      var view = new DataView(new ArrayBuffer(16));\n      new Uint8Array(view.buffer).set(nonce);\n\n      this.asm.set_nonce(view.getUint32(0), view.getUint32(4), view.getUint32(8), view.getUint32(12));\n    } else {\n      throw new Error('nonce is required');\n    }\n\n    if (counter !== undefined) {\n      if (!is_number(counter)) throw new TypeError('unexpected counter type');\n\n      if (counter < 0 || counter >= Math.pow(2, size)) throw new IllegalArgumentError('illegal counter value');\n\n      this.counter = counter;\n\n      this.asm.set_counter(0, 0, (counter / 0x100000000) | 0, counter | 0);\n    } else {\n      this.counter = 0;\n    }\n  }\n\n  /**\n   * @param {Uint8Array} iv\n   */\n  AES_set_iv(iv) {\n    if (iv !== undefined) {\n      if (!is_bytes(iv)) {\n        throw new TypeError('unexpected iv type');\n      }\n\n      if (iv.length !== 16) throw new IllegalArgumentError('illegal iv size');\n\n      var ivview = new DataView(iv.buffer, iv.byteOffset, iv.byteLength);\n\n      this.iv = iv;\n      this.asm.set_iv(ivview.getUint32(0), ivview.getUint32(4), ivview.getUint32(8), ivview.getUint32(12));\n    } else {\n      this.iv = null;\n      this.asm.set_iv(0, 0, 0, 0);\n    }\n  }\n\n  /**\n   * @param {boolean} padding\n   */\n  AES_set_padding(padding) {\n    if (padding !== undefined) {\n      this.padding = !!padding;\n    } else {\n      this.padding = true;\n    }\n  }\n\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [iv]\n   * @param {boolean} [padding]\n   */\n  AES_reset(key, iv, padding) {\n    this.result = null;\n    this.pos = 0;\n    this.len = 0;\n\n    this.AES_set_key(key);\n    this.AES_set_iv(iv);\n    this.AES_set_padding(padding);\n\n    return this;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   */\n  AES_Encrypt_process(data) {\n    if (!is_bytes(data)) throw new TypeError(\"data isn't of expected type\");\n\n    var asm = this.asm,\n      heap = this.heap,\n      amode = AES_asm.ENC[this.mode],\n      hpos = AES_asm.HEAP_DATA,\n      pos = this.pos,\n      len = this.len,\n      dpos = 0,\n      dlen = data.length || 0,\n      rpos = 0,\n      rlen = (len + dlen) & -16,\n      wlen = 0;\n\n    var result = new Uint8Array(rlen);\n\n    while (dlen > 0) {\n      wlen = _heap_write(heap, pos + len, data, dpos, dlen);\n      len += wlen;\n      dpos += wlen;\n      dlen -= wlen;\n\n      wlen = asm.cipher(amode, hpos + pos, len);\n\n      if (wlen) result.set(heap.subarray(pos, pos + wlen), rpos);\n      rpos += wlen;\n\n      if (wlen < len) {\n        pos += wlen;\n        len -= wlen;\n      } else {\n        pos = 0;\n        len = 0;\n      }\n    }\n\n    this.result = result;\n    this.pos = pos;\n    this.len = len;\n\n    return this;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   */\n  AES_Encrypt_finish(data) {\n    var presult = null,\n      prlen = 0;\n\n    if (data !== undefined) {\n      presult = this.AES_Encrypt_process(data).result;\n      prlen = presult.length;\n    }\n\n    var asm = this.asm,\n      heap = this.heap,\n      amode = AES_asm.ENC[this.mode],\n      hpos = AES_asm.HEAP_DATA,\n      pos = this.pos,\n      len = this.len,\n      plen = 16 - len % 16,\n      rlen = len;\n\n    if (this.hasOwnProperty('padding')) {\n      if (this.padding) {\n        for (var p = 0; p < plen; ++p) heap[pos + len + p] = plen;\n        len += plen;\n        rlen = len;\n      } else if (len % 16) {\n        throw new IllegalArgumentError('data length must be a multiple of the block size');\n      }\n    } else {\n      len += plen;\n    }\n\n    var result = new Uint8Array(prlen + rlen);\n\n    if (prlen) result.set(presult);\n\n    if (len) asm.cipher(amode, hpos + pos, len);\n\n    if (rlen) result.set(heap.subarray(pos, pos + rlen), prlen);\n\n    this.result = result;\n    this.pos = 0;\n    this.len = 0;\n\n    return this;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   */\n  AES_Decrypt_process(data) {\n    if (!is_bytes(data)) throw new TypeError(\"data isn't of expected type\");\n\n    var asm = this.asm,\n      heap = this.heap,\n      amode = AES_asm.DEC[this.mode],\n      hpos = AES_asm.HEAP_DATA,\n      pos = this.pos,\n      len = this.len,\n      dpos = 0,\n      dlen = data.length || 0,\n      rpos = 0,\n      rlen = (len + dlen) & -16,\n      plen = 0,\n      wlen = 0;\n\n    if (this.padding) {\n      plen = len + dlen - rlen || 16;\n      rlen -= plen;\n    }\n\n    var result = new Uint8Array(rlen);\n\n    while (dlen > 0) {\n      wlen = _heap_write(heap, pos + len, data, dpos, dlen);\n      len += wlen;\n      dpos += wlen;\n      dlen -= wlen;\n\n      wlen = asm.cipher(amode, hpos + pos, len - (!dlen ? plen : 0));\n\n      if (wlen) result.set(heap.subarray(pos, pos + wlen), rpos);\n      rpos += wlen;\n\n      if (wlen < len) {\n        pos += wlen;\n        len -= wlen;\n      } else {\n        pos = 0;\n        len = 0;\n      }\n    }\n\n    this.result = result;\n    this.pos = pos;\n    this.len = len;\n\n    return this;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   */\n  AES_Decrypt_finish(data) {\n    var presult = null,\n      prlen = 0;\n\n    if (data !== undefined) {\n      presult = this.AES_Decrypt_process(data).result;\n      prlen = presult.length;\n    }\n\n    var asm = this.asm,\n      heap = this.heap,\n      amode = AES_asm.DEC[this.mode],\n      hpos = AES_asm.HEAP_DATA,\n      pos = this.pos,\n      len = this.len,\n      rlen = len;\n\n    if (len > 0) {\n      if (len % 16) {\n        if (this.hasOwnProperty('padding')) {\n          throw new IllegalArgumentError('data length must be a multiple of the block size');\n        } else {\n          len += 16 - len % 16;\n        }\n      }\n\n      asm.cipher(amode, hpos + pos, len);\n\n      if (this.hasOwnProperty('padding') && this.padding) {\n        var pad = heap[pos + rlen - 1];\n        if (pad < 1 || pad > 16 || pad > rlen) throw new SecurityError('bad padding');\n\n        var pcheck = 0;\n        for (var i = pad; i > 1; i--) pcheck |= pad ^ heap[pos + rlen - i];\n        if (pcheck) throw new SecurityError('bad padding');\n\n        rlen -= pad;\n      }\n    }\n\n    var result = new Uint8Array(prlen + rlen);\n\n    if (prlen > 0) {\n      result.set(presult);\n    }\n\n    if (rlen > 0) {\n      result.set(heap.subarray(pos, pos + rlen), prlen);\n    }\n\n    this.result = result;\n    this.pos = 0;\n    this.len = 0;\n\n    return this;\n  }\n}\n","/**\n * Cipher Block Chaining Mode (CBC)\n */\nimport { AES } from '../aes';\n\nexport class AES_CBC extends AES {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [iv=null]\n   * @param {boolean} [padding=true]\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, iv = null, padding = true, heap, asm) {\n    super(key, iv, padding, heap, asm);\n\n    this.mode = 'CBC';\n    this.BLOCK_SIZE = 16;\n  }\n\n  encrypt(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n\n  decrypt(data) {\n    return this.AES_Decrypt_finish(data);\n  }\n}\n\nexport class AES_CBC_Encrypt extends AES_CBC {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [iv=null]\n   * @param {boolean} [padding=true]\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, iv, padding, heap, asm) {\n    super(key, iv, padding, heap, asm);\n  }\n\n  /**\n   * @param {Uint8Array} key\n   * @returns {AES_CBC_Encrypt}\n   */\n  reset(key) {\n    return this.AES_reset(key, null, true);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CBC_Encrypt}\n   */\n  process(data) {\n    return this.AES_Encrypt_process(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CBC_Encrypt}\n   */\n  finish(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n}\n\nexport class AES_CBC_Decrypt extends AES_CBC {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [iv=null]\n   * @param {boolean} [padding=true]\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, iv, padding, heap, asm) {\n    super(key, iv, padding, heap, asm);\n  }\n\n  /**\n   * @param {Uint8Array} key\n   * @returns {AES_CBC_Decrypt}\n   */\n  reset(key) {\n    return this.AES_reset(key, null, true);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CBC_Decrypt}\n   */\n  process(data) {\n    return this.AES_Decrypt_process(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CBC_Decrypt}\n   */\n  finish(data) {\n    return this.AES_Decrypt_finish(data);\n  }\n}\n","import { _AES_asm_instance, _AES_heap_instance } from '../exports';\nimport { AES_CBC, AES_CBC_Decrypt, AES_CBC_Encrypt } from './cbc';\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {boolean} [padding]\n * @param {Uint8Array} [iv]\n * @returns {Uint8Array}\n */\nfunction AES_CBC_encrypt_bytes(data, key, padding, iv) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new AES_CBC(key, iv, padding, _AES_heap_instance, _AES_asm_instance).encrypt(data).result;\n}\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {boolean} [padding]\n * @param {Uint8Array} [iv]\n * @returns {Uint8Array}\n */\nfunction AES_CBC_decrypt_bytes(data, key, padding, iv) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new AES_CBC(key, iv, padding, _AES_heap_instance, _AES_asm_instance).decrypt(data).result;\n}\n\nAES_CBC.encrypt = AES_CBC_encrypt_bytes;\nAES_CBC.decrypt = AES_CBC_decrypt_bytes;\n\nexport { AES_CBC, AES_CBC_Encrypt, AES_CBC_Decrypt };\n","/**\n * Counter with CBC-MAC (CCM)\n *\n * Due to JS limitations (52 bits of Number precision) maximum encrypted message length\n * is limited to ~4 PiB ( 2^52 - 16 ) per `nonce`-`key` pair.\n * That also limits `lengthSize` parameter maximum value to 7 (not 8 as described in RFC3610).\n *\n * Additional authenticated data `adata` maximum length is choosen to be no more than 65279 bytes ( 2^16 - 2^8 ),\n * wich is considered enough for the most of use-cases.\n *\n * And one more important thing: in case of progressive ciphering of a data stream (in other\n * words when data can't be held in-memory at a whole and are ciphered chunk-by-chunk)\n * you have to know the `dataLength` in advance and pass that value to the cipher options.\n */\n\nimport { AES_asm } from '../aes.asm';\nimport { AES } from '../aes';\nimport { _heap_write, is_bytes, is_number } from '../../utils';\nimport { IllegalArgumentError, IllegalStateError, SecurityError } from '../../errors';\n\nvar _AES_CCM_adata_maxLength = 65279, // 2^16 - 2^8\n  _AES_CCM_data_maxLength = 4503599627370480; // 2^52 - 2^4\n\nexport class AES_CCM extends AES {\n  constructor(key, nonce, adata, tagSize, dataLength, heap, asm) {\n    super(key, undefined, undefined, heap, asm);\n    this.tagSize = 16;\n    this.lengthSize = 4;\n    this.nonce = null;\n    this.adata = null;\n    this.iv = null;\n    this.counter = 1;\n    this.dataLength = -1;\n\n    this.AES_CCM_reset(key, undefined, nonce, adata, undefined, undefined, tagSize, dataLength);\n\n    this.mode = 'CCM';\n    this.BLOCK_SIZE = 16;\n  }\n\n  encrypt(data) {\n    return this.AES_CCM_encrypt(data);\n  }\n  decrypt(data) {\n    return this.AES_CCM_decrypt(data);\n  }\n\n  AES_CCM_reset(key, iv, nonce, adata, counter, lengthSize, tagSize, dataLength) {\n    this.AES_reset(key, iv);\n\n    if (tagSize !== undefined) {\n      if (!is_number(tagSize)) throw new TypeError('tagSize must be a number');\n\n      if (tagSize < 4 || tagSize > 16 || tagSize & 1) throw new IllegalArgumentError('illegal tagSize value');\n\n      this.tagSize = tagSize;\n    } else {\n      this.tagSize = 16;\n    }\n\n    if (nonce !== undefined) {\n      if (!is_bytes(nonce)) {\n        throw new TypeError('unexpected nonce type');\n      }\n\n      if (nonce.length < 8 || nonce.length > 13) throw new IllegalArgumentError('illegal nonce length');\n\n      this.nonce = nonce;\n      this.lengthSize = lengthSize = 15 - nonce.length;\n\n      nonce = new Uint8Array(nonce.length + 1);\n      (nonce[0] = lengthSize - 1), nonce.set(this.nonce, 1);\n    } else {\n      throw new Error('nonce is required');\n    }\n\n    // Either counter, iv\n    if (iv !== undefined) {\n      if (adata !== undefined) throw new IllegalStateError('you should specify either adata or iv, not both');\n\n      if (!is_number(counter)) throw new TypeError('counter must be a number');\n\n      if (counter < 1 || counter >= Math.pow(2, 8 * lengthSize) - 16)\n        throw new IllegalArgumentError('illegal counter value');\n\n      this.counter = counter;\n    } else if (adata !== undefined && adata !== null) {\n      // Or adata, dataLength\n      if (!is_bytes(adata)) {\n        throw new TypeError('unexpected adata type');\n      }\n\n      if (adata.length > _AES_CCM_adata_maxLength) throw new IllegalArgumentError('illegal adata length');\n\n      if (!is_number(dataLength)) throw new TypeError('dataLength must be a number');\n\n      if (dataLength < 0 || dataLength > _AES_CCM_data_maxLength || dataLength > Math.pow(2, 8 * lengthSize) - 16)\n        throw new IllegalArgumentError('illegal dataLength value');\n\n      this.adata = adata.length ? adata : null;\n      this.dataLength = dataLength;\n      this.counter = counter = 1;\n\n      this.AES_CCM_calculate_iv();\n      iv = this.iv;\n    } else {\n      // Assume adata is empty, check dataLength\n      if (!is_number(dataLength)) throw new TypeError('dataLength must be a number');\n\n      if (dataLength < 0 || dataLength > _AES_CCM_data_maxLength || dataLength > Math.pow(2, 8 * lengthSize) - 16)\n        throw new IllegalArgumentError('illegal dataLength value');\n\n      this.adata = null;\n      this.dataLength = dataLength;\n      this.counter = counter = 1;\n\n      this.AES_CCM_calculate_iv();\n      iv = this.iv;\n    }\n\n    this.AES_set_iv(iv);\n    this.AES_CTR_set_options(nonce, counter, 8 * lengthSize);\n\n    return this;\n  }\n\n  AES_CCM_calculate_iv() {\n    var nonce = this.nonce,\n      adata = this.adata,\n      tagSize = this.tagSize,\n      lengthSize = this.lengthSize,\n      dataLength = this.dataLength;\n\n    var data = new Uint8Array(16 + (adata ? 2 + adata.length : 0));\n\n    // B0: flags(adata?, M', L'), nonce, len(data)\n    data[0] = (adata ? 64 : 0) | ((tagSize - 2) << 2) | (lengthSize - 1);\n    data.set(nonce, 1);\n    if (lengthSize > 6) data[9] = ((dataLength / 0x100000000) >>> 16) & 15;\n    if (lengthSize > 5) data[10] = ((dataLength / 0x100000000) >>> 8) & 255;\n    if (lengthSize > 4) data[11] = (dataLength / 0x100000000) & 255;\n    if (lengthSize > 3) data[12] = dataLength >>> 24;\n    if (lengthSize > 2) data[13] = (dataLength >>> 16) & 255;\n    data[14] = (dataLength >>> 8) & 255;\n    data[15] = dataLength & 255;\n\n    // B*: len(adata), adata\n    if (adata) {\n      data[16] = (adata.length >>> 8) & 255;\n      data[17] = adata.length & 255;\n      data.set(adata, 18);\n    }\n\n    this._cbc_mac_process(data);\n    this.asm.get_state(AES_asm.HEAP_DATA);\n\n    this.iv = new Uint8Array(this.heap.subarray(0, 16));\n  }\n\n  _cbc_mac_process(data) {\n    var heap = this.heap,\n      asm = this.asm,\n      dpos = 0,\n      dlen = data.length || 0,\n      wlen = 0;\n\n    while (dlen > 0) {\n      wlen = _heap_write(heap, 0, data, dpos, dlen);\n      while (wlen & 15) heap[wlen++] = 0;\n      dpos += wlen;\n      dlen -= wlen;\n\n      asm.mac(AES_asm.MAC.CBC, AES_asm.HEAP_DATA, wlen);\n    }\n  }\n\n  AES_CCM_decrypt(data) {\n    this.dataLength = data.length || 0;\n\n    var result1 = this.AES_CCM_Decrypt_process(data).result;\n    var result2 = this.AES_CCM_Decrypt_finish().result;\n\n    var result = new Uint8Array(result1.length + result2.length);\n    if (result1.length) result.set(result1);\n    if (result2.length) result.set(result2, result1.length);\n    this.result = result;\n\n    return this;\n  }\n\n  AES_CCM_encrypt(data) {\n    this.dataLength = data.length || 0;\n\n    var result1 = this.AES_CCM_Encrypt_process(data).result;\n    var result2 = this.AES_CCM_Encrypt_finish().result;\n\n    var result = new Uint8Array(result1.length + result2.length);\n    if (result1.length) result.set(result1);\n    if (result2.length) result.set(result2, result1.length);\n    this.result = result;\n\n    return this;\n  }\n\n  AES_CCM_Encrypt_process(data) {\n    if (!is_bytes(data)) throw new TypeError(\"data isn't of expected type\");\n\n    var dpos = 0,\n      dlen = data.length || 0,\n      asm = this.asm,\n      heap = this.heap,\n      counter = this.counter,\n      pos = this.pos,\n      len = this.len,\n      rpos = 0,\n      rlen = (len + dlen) & -16,\n      wlen = 0;\n\n    if (((counter - 1) << 4) + len + dlen > _AES_CCM_data_maxLength)\n      // ??? should check against lengthSize\n      throw new RangeError('counter overflow');\n\n    var result = new Uint8Array(rlen);\n\n    while (dlen > 0) {\n      wlen = _heap_write(heap, pos + len, data, dpos, dlen);\n      len += wlen;\n      dpos += wlen;\n      dlen -= wlen;\n\n      wlen = asm.mac(AES_asm.MAC.CBC, AES_asm.HEAP_DATA + pos, len);\n      wlen = asm.cipher(AES_asm.ENC.CTR, AES_asm.HEAP_DATA + pos, wlen);\n\n      if (wlen) result.set(heap.subarray(pos, pos + wlen), rpos);\n      counter += wlen >>> 4;\n      rpos += wlen;\n\n      if (wlen < len) {\n        pos += wlen;\n        len -= wlen;\n      } else {\n        pos = 0;\n        len = 0;\n      }\n    }\n\n    this.result = result;\n    this.counter = counter;\n    this.pos = pos;\n    this.len = len;\n\n    return this;\n  }\n\n  AES_CCM_Encrypt_finish() {\n    var asm = this.asm,\n      heap = this.heap,\n      tagSize = this.tagSize,\n      pos = this.pos,\n      len = this.len,\n      wlen = 0;\n\n    var result = new Uint8Array(len + tagSize);\n\n    for (var i = len; i & 15; i++) heap[pos + i] = 0;\n\n    wlen = asm.mac(AES_asm.MAC.CBC, AES_asm.HEAP_DATA + pos, i);\n    wlen = asm.cipher(AES_asm.ENC.CTR, AES_asm.HEAP_DATA + pos, i);\n    if (len) result.set(heap.subarray(pos, pos + len));\n\n    asm.set_counter(0, 0, 0, 0);\n    asm.get_iv(AES_asm.HEAP_DATA);\n    asm.cipher(AES_asm.ENC.CTR, AES_asm.HEAP_DATA, 16);\n    result.set(heap.subarray(0, tagSize), len);\n\n    this.result = result;\n    this.counter = 1;\n    this.pos = 0;\n    this.len = 0;\n\n    return this;\n  }\n\n  AES_CCM_Decrypt_process(data) {\n    if (!is_bytes(data)) throw new TypeError(\"data isn't of expected type\");\n\n    var dpos = 0,\n      dlen = data.length || 0,\n      asm = this.asm,\n      heap = this.heap,\n      counter = this.counter,\n      tagSize = this.tagSize,\n      pos = this.pos,\n      len = this.len,\n      rpos = 0,\n      rlen = len + dlen > tagSize ? (len + dlen - tagSize) & -16 : 0,\n      tlen = len + dlen - rlen,\n      wlen = 0;\n\n    if (((counter - 1) << 4) + len + dlen > _AES_CCM_data_maxLength) throw new RangeError('counter overflow');\n\n    var result = new Uint8Array(rlen);\n\n    while (dlen > tlen) {\n      wlen = _heap_write(heap, pos + len, data, dpos, dlen - tlen);\n      len += wlen;\n      dpos += wlen;\n      dlen -= wlen;\n\n      wlen = asm.cipher(AES_asm.DEC.CTR, AES_asm.HEAP_DATA + pos, wlen);\n      wlen = asm.mac(AES_asm.MAC.CBC, AES_asm.HEAP_DATA + pos, wlen);\n\n      if (wlen) result.set(heap.subarray(pos, pos + wlen), rpos);\n      counter += wlen >>> 4;\n      rpos += wlen;\n\n      pos = 0;\n      len = 0;\n    }\n\n    if (dlen > 0) {\n      len += _heap_write(heap, 0, data, dpos, dlen);\n    }\n\n    this.result = result;\n    this.counter = counter;\n    this.pos = pos;\n    this.len = len;\n\n    return this;\n  }\n\n  AES_CCM_Decrypt_finish() {\n    var asm = this.asm,\n      heap = this.heap,\n      tagSize = this.tagSize,\n      pos = this.pos,\n      len = this.len,\n      rlen = len - tagSize,\n      wlen = 0;\n\n    if (len < tagSize) throw new IllegalStateError('authentication tag not found');\n\n    var result = new Uint8Array(rlen),\n      atag = new Uint8Array(heap.subarray(pos + rlen, pos + len));\n\n    wlen = asm.cipher(AES_asm.DEC.CTR, AES_asm.HEAP_DATA + pos, (rlen + 15) & -16);\n    result.set(heap.subarray(pos, pos + rlen));\n\n    for (var i = rlen; i & 15; i++) heap[pos + i] = 0;\n    wlen = asm.mac(AES_asm.MAC.CBC, AES_asm.HEAP_DATA + pos, i);\n\n    asm.set_counter(0, 0, 0, 0);\n    asm.get_iv(AES_asm.HEAP_DATA);\n    asm.cipher(AES_asm.ENC.CTR, AES_asm.HEAP_DATA, 16);\n\n    var acheck = 0;\n    for (var i = 0; i < tagSize; ++i) acheck |= atag[i] ^ heap[i];\n    if (acheck) throw new SecurityError('data integrity check failed');\n\n    this.result = result;\n    this.counter = 1;\n    this.pos = 0;\n    this.len = 0;\n\n    return this;\n  }\n\n  reset() {}\n}\n\nexport class AES_CCM_Encrypt extends AES_CCM {\n  constructor(key, nonce, adata, tagSize, dataLength, heap, asm) {\n    super(key, nonce, adata, tagSize, dataLength, heap, asm);\n  }\n  process(data) {\n    return this.AES_CCM_Encrypt_process(data);\n  }\n  finish() {\n    return this.AES_CCM_Encrypt_finish();\n  }\n}\n\nexport class AES_CCM_Decrypt extends AES_CCM {\n  constructor(key, nonce, adata, tagSize, dataLength, heap, asm) {\n    super(key, nonce, adata, tagSize, dataLength, heap, asm);\n  }\n  process(data) {\n    return this.AES_CCM_Decrypt_process(data);\n  }\n  finish() {\n    return this.AES_CCM_Decrypt_finish();\n  }\n}\n","/**\n * AES-CCM exports\n */\n\nimport { _AES_asm_instance, _AES_heap_instance } from '../exports';\nimport { AES_CCM, AES_CCM_Decrypt, AES_CCM_Encrypt } from './ccm';\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {Uint8Array} nonce\n * @param {Uint8Array} [adata]\n * @param {number} [tagSize]\n */\nfunction AES_CCM_encrypt_bytes(data, key, nonce, adata, tagSize) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  if (nonce === undefined) throw new SyntaxError('nonce required');\n  var dataLength = data.length || 0;\n  return new AES_CCM(key, nonce, adata, tagSize, dataLength, _AES_heap_instance, _AES_asm_instance).encrypt(data)\n    .result;\n}\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {Uint8Array} nonce\n * @param {Uint8Array} [adata]\n * @param {number} [tagSize]\n */\nfunction AES_CCM_decrypt_bytes(data, key, nonce, adata, tagSize) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  if (nonce === undefined) throw new SyntaxError('nonce required');\n  var dataLength = data.length || 0;\n  tagSize = tagSize || 16;\n  return new AES_CCM(key, nonce, adata, tagSize, dataLength - tagSize, _AES_heap_instance, _AES_asm_instance).decrypt(\n    data,\n  ).result;\n}\n\nAES_CCM.encrypt = AES_CCM_encrypt_bytes;\nAES_CCM.decrypt = AES_CCM_decrypt_bytes;\n\nexport { AES_CCM, AES_CCM_Encrypt, AES_CCM_Decrypt };\n","/**\n * Cipher Feedback Mode (CFB)\n */\n\nimport { AES } from '../aes';\n\nexport class AES_CFB extends AES {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [iv]\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, iv, heap, asm) {\n    super(key, iv, true, heap, asm);\n    delete this.padding;\n\n    this.mode = 'CFB';\n    this.BLOCK_SIZE = 16;\n  }\n\n  encrypt(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n\n  decrypt(data) {\n    return this.AES_Decrypt_finish(data);\n  }\n}\n\nexport class AES_CFB_Encrypt extends AES_CFB {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [iv=null]\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, iv, heap, asm) {\n    super(key, iv, heap, asm);\n  }\n\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [iv]\n   * @param {boolean} [padding]\n   * @returns {AES_CFB_Encrypt}\n   */\n  reset(key, iv, padding) {\n    return this.AES_reset(key, iv, padding);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CFB_Encrypt}\n   */\n  process(data) {\n    return this.AES_Encrypt_process(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CFB_Encrypt}\n   */\n  finish(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n}\n\nexport class AES_CFB_Decrypt extends AES_CFB {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [iv=null]\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, iv, heap, asm) {\n    super(key, iv, heap, asm);\n  }\n\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [iv]\n   * @param {boolean} [padding]\n   * @returns {AES_CFB_Decrypt}\n   */\n  reset(key, iv, padding) {\n    return this.AES_reset(key, iv, padding);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CFB_Decrypt}\n   */\n  process(data) {\n    return this.AES_Decrypt_process(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CFB_Decrypt}\n   */\n  finish(data) {\n    return this.AES_Decrypt_finish(data);\n  }\n}\n","/**\n * AES-CFB exports\n */\n\nimport { _AES_asm_instance, _AES_heap_instance } from '../exports';\nimport { AES_CFB, AES_CFB_Decrypt, AES_CFB_Encrypt } from './cfb';\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {Uint8Array} [iv]\n * @returns {Uint8Array}\n */\nfunction AES_CFB_encrypt_bytes(data, key, iv) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new AES_CFB(key, iv, _AES_heap_instance, _AES_asm_instance).encrypt(data).result;\n}\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {Uint8Array} [iv]\n * @returns {Uint8Array}\n */\nfunction AES_CFB_decrypt_bytes(data, key, iv) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new AES_CFB(key, iv, _AES_heap_instance, _AES_asm_instance).decrypt(data).result;\n}\n\nAES_CFB.encrypt = AES_CFB_encrypt_bytes;\nAES_CFB.decrypt = AES_CFB_decrypt_bytes;\n\nexport { AES_CFB, AES_CFB_Encrypt, AES_CFB_Decrypt };\n","import { AES } from '../aes';\n\n/**\n * Electronic Code Book Mode (ECB)\n */\nexport class AES_ECB extends AES {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, heap, asm) {\n    super(key, undefined, false, heap, asm);\n\n    this.mode = 'ECB';\n    this.BLOCK_SIZE = 16;\n  }\n\n  encrypt(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n\n  decrypt(data) {\n    return this.AES_Decrypt_finish(data);\n  }\n}\n\nexport class AES_ECB_Encrypt extends AES_ECB {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, heap, asm) {\n    super(key, heap, asm);\n  }\n\n  /**\n   * @param {Uint8Array} key\n   * @returns {AES_ECB_Encrypt}\n   */\n  reset(key) {\n    return this.AES_reset(key, null, true);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_ECB_Encrypt}\n   */\n  process(data) {\n    return this.AES_Encrypt_process(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_ECB_Encrypt}\n   */\n  finish(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n}\n\nexport class AES_ECB_Decrypt extends AES_ECB {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, heap, asm) {\n    super(key, heap, asm);\n  }\n\n  /**\n   * @param {Uint8Array} key\n   * @returns {AES_ECB_Decrypt}\n   */\n  reset(key) {\n    return this.AES_reset(key, null, true);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_ECB_Decrypt}\n   */\n  process(data) {\n    return this.AES_Decrypt_process(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_ECB_Decrypt}\n   */\n  finish(data) {\n    return this.AES_Decrypt_finish(data);\n  }\n}\n","import { AES_ECB } from '../ecb/ecb';\nimport { AES_CBC_Encrypt } from '../cbc/cbc';\nimport { bytes_to_hex, hex_to_bytes } from '../../utils';\n\n/**\n * @param {Uint8Array} data\n */\nfunction mul2(data) {\n  const t = data[0] & 0x80;\n  for (var i = 0; i < 15; i++) {\n    data[i] = (data[i] << 1) ^ ((data[i+1] & 0x80) ? 1 : 0);\n  }\n  data[15] = (data[15] << 1) ^ (t ? 0x87 : 0);\n}\n\nexport class AES_CMAC {\n  /**\n   * @param {Uint8Array} key\n   */\n  constructor(key) {\n    this.k = new AES_ECB(key).encrypt(new Uint8Array(16)).result;\n    mul2(this.k);\n    this.cbc = new AES_CBC_Encrypt(key, new Uint8Array(16), false);\n\n    this.buffer = new Uint8Array(16);\n    this.bufferLength = 0;\n    this.result = null;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   */\n  process(data) {\n    if (this.bufferLength + data.length > 16) {\n      this.cbc.process(this.buffer.subarray(0, this.bufferLength));\n      const offset = ((this.bufferLength + data.length - 1) & ~15) - this.bufferLength;\n      this.cbc.process(data.subarray(0, offset));\n      this.buffer.set(data.subarray(offset));\n      this.bufferLength = data.length - offset;\n    } else {\n      this.buffer.set(data, this.bufferLength);\n      this.bufferLength += data.length;\n    }\n    return this;\n  }\n\n  finish() {\n    if (this.bufferLength !== 16) {\n      this.buffer[this.bufferLength] = 0x80;\n      for (let i = this.bufferLength + 1; i < 16; i++) {\n        this.buffer[i] = 0;\n      }\n      mul2(this.k);\n    }\n\n    for (let i = 0; i < 16; i++) {\n      this.buffer[i] ^= this.k[i];\n    }\n\n    this.result = this.cbc.process(this.buffer).result;\n    return this;\n  }\n}\n","import { AES_CMAC } from './cmac';\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @returns {Uint8Array}\n */\nfunction AES_CMAC_bytes(data, key) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new AES_CMAC(key).process(data).finish().result;\n}\n\nAES_CMAC.bytes = AES_CMAC_bytes;\n\nexport { AES_CMAC };\n","/**\n * Counter Mode (CTR)\n */\n\nimport { AES } from '../aes';\n\nexport class AES_CTR extends AES {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} nonce\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, nonce, heap, asm) {\n    super(key, undefined, undefined, heap, asm);\n    this.reset(key, nonce);\n\n    this.AES_CTR_set_options(nonce);\n    delete this.padding;\n\n    this.mode = 'CTR';\n    this.BLOCK_SIZE = 16;\n  }\n\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} nonce\n   * @param {number} [counter]\n   * @param {number} [counterSize]\n   * @returns {AES_CTR}\n   */\n  reset(key, nonce, counter, counterSize) {\n    this.AES_reset(key, undefined, undefined);\n\n    this.AES_CTR_set_options(nonce, counter, counterSize);\n\n    return this;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CTR}\n   */\n  encrypt(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CTR}\n   */\n  decrypt(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n}\n\nexport class AES_CTR_Crypt extends AES_CTR {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} nonce\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, nonce, heap, asm) {\n    super(key, nonce, heap, asm);\n    this.BLOCK_SIZE = 16;\n  }\n\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} nonce\n   * @param {number} [counter]\n   * @param {number} [counterSize]\n   * @returns {AES_CTR_Crypt}\n   */\n  reset(key, nonce, counter, counterSize) {\n    this.AES_reset(key, undefined, undefined);\n\n    this.AES_CTR_set_options(nonce, counter, counterSize);\n\n    return this;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CTR_Crypt}\n   */\n  process(data) {\n    return this.AES_Encrypt_process(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @returns {AES_CTR_Crypt}\n   */\n  finish(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n}\n","/**\n * AES-CTR exports\n */\n\nimport { _AES_asm_instance, _AES_heap_instance } from '../exports';\nimport { AES_CTR } from './ctr';\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {Uint8Array} nonce\n * @returns {Uint8Array}\n */\nfunction AES_CTR_crypt_bytes(data, key, nonce) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  if (nonce === undefined) throw new SyntaxError('nonce required');\n  return new AES_CTR(key, nonce, _AES_heap_instance, _AES_asm_instance).encrypt(data).result;\n}\n\nAES_CTR.encrypt = AES_CTR_crypt_bytes;\nAES_CTR.decrypt = AES_CTR_crypt_bytes;\n\nexport { AES_CTR };\n","/**\n * AES-ECB exports\n */\n\nimport { _AES_asm_instance, _AES_heap_instance } from '../exports';\nimport { AES_ECB, AES_ECB_Decrypt, AES_ECB_Encrypt } from './ecb';\n\nfunction AES_ECB_encrypt_bytes(data, key) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new AES_ECB(key, _AES_heap_instance, _AES_asm_instance).encrypt(data).result;\n}\n\nfunction AES_ECB_decrypt_bytes(data, key) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new AES_ECB(key, _AES_heap_instance, _AES_asm_instance).decrypt(data).result;\n}\n\nAES_ECB.encrypt = AES_ECB_encrypt_bytes;\nAES_ECB.decrypt = AES_ECB_decrypt_bytes;\n\nexport { AES_ECB, AES_ECB_Encrypt, AES_ECB_Decrypt };\n","/**\n * Galois/Counter mode\n */\n\nimport { IllegalArgumentError, IllegalStateError, SecurityError } from '../../errors';\nimport { _heap_write, is_bytes, is_number } from '../../utils';\nimport { AES } from '../aes';\nimport { AES_asm } from '../aes.asm';\n\nvar _AES_GCM_data_maxLength = 68719476704; // 2^36 - 2^5\n\nexport class AES_GCM extends AES {\n  constructor(key, nonce, adata, tagSize, heap, asm) {\n    super(key, undefined, false, heap, asm);\n\n    this.nonce = null;\n    this.adata = null;\n    this.iv = null;\n    this.counter = 1;\n    this.tagSize = 16;\n    this.mode = 'GCM';\n    this.BLOCK_SIZE = 16;\n\n    this.reset(key, tagSize, nonce, adata);\n  }\n\n  reset(key, tagSize, nonce, adata) {\n    return this.AES_GCM_reset(key, tagSize, nonce, adata);\n  }\n\n  encrypt(data) {\n    return this.AES_GCM_encrypt(data);\n  }\n\n  decrypt(data) {\n    return this.AES_GCM_decrypt(data);\n  }\n\n  AES_GCM_Encrypt_process(data) {\n    if (!is_bytes(data)) throw new TypeError(\"data isn't of expected type\");\n\n    var dpos = 0,\n      dlen = data.length || 0,\n      asm = this.asm,\n      heap = this.heap,\n      counter = this.counter,\n      pos = this.pos,\n      len = this.len,\n      rpos = 0,\n      rlen = (len + dlen) & -16,\n      wlen = 0;\n\n    if (((counter - 1) << 4) + len + dlen > _AES_GCM_data_maxLength) throw new RangeError('counter overflow');\n\n    var result = new Uint8Array(rlen);\n\n    while (dlen > 0) {\n      wlen = _heap_write(heap, pos + len, data, dpos, dlen);\n      len += wlen;\n      dpos += wlen;\n      dlen -= wlen;\n\n      wlen = asm.cipher(AES_asm.ENC.CTR, AES_asm.HEAP_DATA + pos, len);\n      wlen = asm.mac(AES_asm.MAC.GCM, AES_asm.HEAP_DATA + pos, wlen);\n\n      if (wlen) result.set(heap.subarray(pos, pos + wlen), rpos);\n      counter += wlen >>> 4;\n      rpos += wlen;\n\n      if (wlen < len) {\n        pos += wlen;\n        len -= wlen;\n      } else {\n        pos = 0;\n        len = 0;\n      }\n    }\n\n    this.result = result;\n    this.counter = counter;\n    this.pos = pos;\n    this.len = len;\n\n    return this;\n  }\n\n  AES_GCM_Encrypt_finish() {\n    var asm = this.asm,\n      heap = this.heap,\n      counter = this.counter,\n      tagSize = this.tagSize,\n      adata = this.adata,\n      pos = this.pos,\n      len = this.len;\n\n    var result = new Uint8Array(len + tagSize);\n\n    asm.cipher(AES_asm.ENC.CTR, AES_asm.HEAP_DATA + pos, (len + 15) & -16);\n    if (len) result.set(heap.subarray(pos, pos + len));\n\n    for (var i = len; i & 15; i++) heap[pos + i] = 0;\n    asm.mac(AES_asm.MAC.GCM, AES_asm.HEAP_DATA + pos, i);\n\n    var alen = adata !== null ? adata.length : 0,\n      clen = ((counter - 1) << 4) + len;\n    (heap[0] = heap[1] = heap[2] = 0),\n      (heap[3] = alen >>> 29),\n      (heap[4] = alen >>> 21),\n      (heap[5] = (alen >>> 13) & 255),\n      (heap[6] = (alen >>> 5) & 255),\n      (heap[7] = (alen << 3) & 255),\n      (heap[8] = heap[9] = heap[10] = 0),\n      (heap[11] = clen >>> 29),\n      (heap[12] = (clen >>> 21) & 255),\n      (heap[13] = (clen >>> 13) & 255),\n      (heap[14] = (clen >>> 5) & 255),\n      (heap[15] = (clen << 3) & 255);\n    asm.mac(AES_asm.MAC.GCM, AES_asm.HEAP_DATA, 16);\n    asm.get_iv(AES_asm.HEAP_DATA);\n\n    asm.set_counter(0, 0, 0, this.gamma0);\n    asm.cipher(AES_asm.ENC.CTR, AES_asm.HEAP_DATA, 16);\n    result.set(heap.subarray(0, tagSize), len);\n\n    this.result = result;\n    this.counter = 1;\n    this.pos = 0;\n    this.len = 0;\n\n    return this;\n  }\n\n  AES_GCM_Decrypt_process(data) {\n    if (!is_bytes(data)) throw new TypeError(\"data isn't of expected type\");\n\n    var dpos = 0,\n      dlen = data.length || 0,\n      asm = this.asm,\n      heap = this.heap,\n      counter = this.counter,\n      tagSize = this.tagSize,\n      pos = this.pos,\n      len = this.len,\n      rpos = 0,\n      rlen = len + dlen > tagSize ? (len + dlen - tagSize) & -16 : 0,\n      tlen = len + dlen - rlen,\n      wlen = 0;\n\n    if (((counter - 1) << 4) + len + dlen > _AES_GCM_data_maxLength) throw new RangeError('counter overflow');\n\n    var result = new Uint8Array(rlen);\n\n    while (dlen > tlen) {\n      wlen = _heap_write(heap, pos + len, data, dpos, dlen - tlen);\n      len += wlen;\n      dpos += wlen;\n      dlen -= wlen;\n\n      wlen = asm.mac(AES_asm.MAC.GCM, AES_asm.HEAP_DATA + pos, wlen);\n      wlen = asm.cipher(AES_asm.DEC.CTR, AES_asm.HEAP_DATA + pos, wlen);\n\n      if (wlen) result.set(heap.subarray(pos, pos + wlen), rpos);\n      counter += wlen >>> 4;\n      rpos += wlen;\n\n      pos = 0;\n      len = 0;\n    }\n\n    if (dlen > 0) {\n      len += _heap_write(heap, 0, data, dpos, dlen);\n    }\n\n    this.result = result;\n    this.counter = counter;\n    this.pos = pos;\n    this.len = len;\n\n    return this;\n  }\n\n  AES_GCM_Decrypt_finish() {\n    var asm = this.asm,\n      heap = this.heap,\n      tagSize = this.tagSize,\n      adata = this.adata,\n      counter = this.counter,\n      pos = this.pos,\n      len = this.len,\n      rlen = len - tagSize,\n      wlen = 0;\n\n    if (len < tagSize) throw new IllegalStateError('authentication tag not found');\n\n    var result = new Uint8Array(rlen),\n      atag = new Uint8Array(heap.subarray(pos + rlen, pos + len));\n\n    for (var i = rlen; i & 15; i++) heap[pos + i] = 0;\n\n    wlen = asm.mac(AES_asm.MAC.GCM, AES_asm.HEAP_DATA + pos, i);\n    wlen = asm.cipher(AES_asm.DEC.CTR, AES_asm.HEAP_DATA + pos, i);\n    if (rlen) result.set(heap.subarray(pos, pos + rlen));\n\n    var alen = adata !== null ? adata.length : 0,\n      clen = ((counter - 1) << 4) + len - tagSize;\n    (heap[0] = heap[1] = heap[2] = 0),\n      (heap[3] = alen >>> 29),\n      (heap[4] = alen >>> 21),\n      (heap[5] = (alen >>> 13) & 255),\n      (heap[6] = (alen >>> 5) & 255),\n      (heap[7] = (alen << 3) & 255),\n      (heap[8] = heap[9] = heap[10] = 0),\n      (heap[11] = clen >>> 29),\n      (heap[12] = (clen >>> 21) & 255),\n      (heap[13] = (clen >>> 13) & 255),\n      (heap[14] = (clen >>> 5) & 255),\n      (heap[15] = (clen << 3) & 255);\n    asm.mac(AES_asm.MAC.GCM, AES_asm.HEAP_DATA, 16);\n    asm.get_iv(AES_asm.HEAP_DATA);\n\n    asm.set_counter(0, 0, 0, this.gamma0);\n    asm.cipher(AES_asm.ENC.CTR, AES_asm.HEAP_DATA, 16);\n\n    var acheck = 0;\n    for (var i = 0; i < tagSize; ++i) acheck |= atag[i] ^ heap[i];\n    if (acheck) throw new SecurityError('data integrity check failed');\n\n    this.result = result;\n    this.counter = 1;\n    this.pos = 0;\n    this.len = 0;\n\n    return this;\n  }\n\n  AES_GCM_decrypt(data) {\n    var result1 = this.AES_GCM_Decrypt_process(data).result;\n    var result2 = this.AES_GCM_Decrypt_finish().result;\n\n    var result = new Uint8Array(result1.length + result2.length);\n    if (result1.length) result.set(result1);\n    if (result2.length) result.set(result2, result1.length);\n    this.result = result;\n\n    return this;\n  }\n\n  AES_GCM_encrypt(data) {\n    var result1 = this.AES_GCM_Encrypt_process(data).result;\n    var result2 = this.AES_GCM_Encrypt_finish().result;\n\n    var result = new Uint8Array(result1.length + result2.length);\n    if (result1.length) result.set(result1);\n    if (result2.length) result.set(result2, result1.length);\n    this.result = result;\n\n    return this;\n  }\n\n  AES_GCM_reset(key, tagSize, nonce, adata, counter, iv) {\n    this.AES_reset(key, undefined, false);\n\n    var asm = this.asm;\n    var heap = this.heap;\n\n    asm.gcm_init();\n\n    var tagSize = tagSize;\n    if (tagSize !== undefined) {\n      if (!is_number(tagSize)) throw new TypeError('tagSize must be a number');\n\n      if (tagSize < 4 || tagSize > 16) throw new IllegalArgumentError('illegal tagSize value');\n\n      this.tagSize = tagSize;\n    } else {\n      this.tagSize = 16;\n    }\n\n    if (nonce !== undefined) {\n      if (!is_bytes(nonce)) {\n        throw new TypeError('unexpected nonce type');\n      }\n\n      this.nonce = nonce;\n\n      var noncelen = nonce.length || 0,\n        noncebuf = new Uint8Array(16);\n      if (noncelen !== 12) {\n        this._gcm_mac_process(nonce);\n\n        (heap[0] = heap[1] = heap[2] = heap[3] = heap[4] = heap[5] = heap[6] = heap[7] = heap[8] = heap[9] = heap[10] = 0),\n          (heap[11] = noncelen >>> 29),\n          (heap[12] = (noncelen >>> 21) & 255),\n          (heap[13] = (noncelen >>> 13) & 255),\n          (heap[14] = (noncelen >>> 5) & 255),\n          (heap[15] = (noncelen << 3) & 255);\n        asm.mac(AES_asm.MAC.GCM, AES_asm.HEAP_DATA, 16);\n\n        asm.get_iv(AES_asm.HEAP_DATA);\n        asm.set_iv();\n\n        noncebuf.set(heap.subarray(0, 16));\n      } else {\n        noncebuf.set(nonce);\n        noncebuf[15] = 1;\n      }\n\n      var nonceview = new DataView(noncebuf.buffer);\n      this.gamma0 = nonceview.getUint32(12);\n\n      asm.set_nonce(nonceview.getUint32(0), nonceview.getUint32(4), nonceview.getUint32(8), 0);\n      asm.set_mask(0, 0, 0, 0xffffffff);\n    } else {\n      throw new Error('nonce is required');\n    }\n\n    if (adata !== undefined && adata !== null) {\n      if (!is_bytes(adata)) {\n        throw new TypeError('unexpected adata type');\n      }\n\n      if (adata.length > _AES_GCM_data_maxLength) throw new IllegalArgumentError('illegal adata length');\n\n      if (adata.length) {\n        this.adata = adata;\n        this._gcm_mac_process(adata);\n      } else {\n        this.adata = null;\n      }\n    } else {\n      this.adata = null;\n    }\n\n    if (counter !== undefined) {\n      if (!is_number(counter)) throw new TypeError('counter must be a number');\n\n      if (counter < 1 || counter > 0xffffffff) throw new RangeError('counter must be a positive 32-bit integer');\n\n      this.counter = counter;\n      asm.set_counter(0, 0, 0, (this.gamma0 + counter) | 0);\n    } else {\n      this.counter = 1;\n      asm.set_counter(0, 0, 0, (this.gamma0 + 1) | 0);\n    }\n\n    if (iv !== undefined) {\n      if (!is_number(iv)) throw new TypeError('iv must be a number');\n\n      this.iv = iv;\n\n      this.AES_set_iv(iv);\n    }\n\n    return this;\n  }\n\n  _gcm_mac_process(data) {\n    var heap = this.heap,\n      asm = this.asm,\n      dpos = 0,\n      dlen = data.length || 0,\n      wlen = 0;\n\n    while (dlen > 0) {\n      wlen = _heap_write(heap, 0, data, dpos, dlen);\n      dpos += wlen;\n      dlen -= wlen;\n\n      while (wlen & 15) heap[wlen++] = 0;\n\n      asm.mac(AES_asm.MAC.GCM, AES_asm.HEAP_DATA, wlen);\n    }\n  }\n}\n\nexport class AES_GCM_Encrypt extends AES_GCM {\n  constructor(key, nonce, adata, tagSize, heap, asm) {\n    super(key, nonce, adata, tagSize, heap, asm);\n  }\n  process(data) {\n    return this.AES_GCM_Encrypt_process(data);\n  }\n  finish() {\n    return this.AES_GCM_Encrypt_finish();\n  }\n}\n\nexport class AES_GCM_Decrypt extends AES_GCM {\n  constructor(key, nonce, adata, tagSize, heap, asm) {\n    super(key, nonce, adata, tagSize, heap, asm);\n  }\n\n  process(data) {\n    return this.AES_GCM_Decrypt_process(data);\n  }\n  finish() {\n    return this.AES_GCM_Decrypt_finish();\n  }\n}\n","/**\n * AES-GCM exports\n */\n\nimport { _AES_asm_instance, _AES_heap_instance } from '../exports';\nimport { AES_GCM, AES_GCM_Decrypt, AES_GCM_Encrypt } from './gcm';\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {Uint8Array} nonce\n * @param {Uint8Array} [adata]\n * @param {number} [tagSize]\n * @return {Uint8Array}\n */\nfunction AES_GCM_encrypt_bytes(data, key, nonce, adata, tagSize) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  if (nonce === undefined) throw new SyntaxError('nonce required');\n  return new AES_GCM(key, nonce, adata, tagSize, _AES_heap_instance, _AES_asm_instance).encrypt(data).result;\n}\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {Uint8Array} nonce\n * @param {Uint8Array} [adata]\n * @param {number} [tagSize]\n * @return {Uint8Array}\n */\nfunction AES_GCM_decrypt_bytes(data, key, nonce, adata, tagSize) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  if (nonce === undefined) throw new SyntaxError('nonce required');\n  return new AES_GCM(key, nonce, adata, tagSize, _AES_heap_instance, _AES_asm_instance).decrypt(data).result;\n}\n\nAES_GCM.encrypt = AES_GCM_encrypt_bytes;\nAES_GCM.decrypt = AES_GCM_decrypt_bytes;\n\nexport { AES_GCM, AES_GCM_Encrypt, AES_GCM_Decrypt };\n","/**\n * Output Feedback (OFB)\n */\n\nimport { AES } from '../aes';\n\nexport class AES_OFB extends AES {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} iv\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, iv, heap, asm) {\n    super(key, iv, false, heap, asm);\n\n    this.mode = 'OFB';\n    this.BLOCK_SIZE = 16;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @return {AES_OFB}\n   */\n  encrypt(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @return {AES_OFB}\n   */\n  decrypt(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n}\n\nexport class AES_OFB_Crypt extends AES_OFB {\n  /**\n   * @param {Uint8Array} key\n   * @param {Uint8Array} iv\n   * @param {Uint8Array} [heap]\n   * @param {Uint8Array} [asm]\n   */\n  constructor(key, iv, heap, asm) {\n    super(key, iv, heap, asm);\n    this.BLOCK_SIZE = 16;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @return {AES_OFB_Crypt}\n   */\n  process(data) {\n    return this.AES_Encrypt_process(data);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @return {AES_OFB_Crypt}\n   */\n  finish(data) {\n    return this.AES_Encrypt_finish(data);\n  }\n}\n","/**\n * AES-OFB exports\n */\n\nimport { _AES_asm_instance, _AES_heap_instance } from '../exports';\nimport { AES_OFB, AES_OFB_Crypt } from './ofb';\n\n/**\n * @param {Uint8Array} data\n * @param {Uint8Array} key\n * @param {Uint8Array} iv\n */\nfunction AES_OFB_crypt_bytes(data, key, iv) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new AES_OFB(key, iv, _AES_heap_instance, _AES_asm_instance).encrypt(data).result;\n}\n\nAES_OFB.encrypt = AES_OFB_crypt_bytes;\nAES_OFB.decrypt = AES_OFB_crypt_bytes;\n\nexport { AES_OFB, AES_OFB_Crypt };\n","/* ----------------------------------------------------------------------\n * Copyright (c) 2014 Artem S Vybornov\n *\n * Copyright (c) 2012 Yves-Marie K. Rinquin\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * ----------------------------------------------------------------------\n *\n * ISAAC is a cryptographically secure pseudo-random number generator\n * (or CSPRNG for short) designed by Robert J. Jenkins Jr. in 1996 and\n * based on RC4. It is designed for speed and security.\n *\n * ISAAC's informations & analysis:\n *   http://burtleburtle.net/bob/rand/isaac.html\n * ISAAC's implementation details:\n *   http://burtleburtle.net/bob/rand/isaacafa.html\n *\n * ISAAC succesfully passed TestU01\n */\n\nimport { FloatArray, is_buffer, is_number, is_string, is_typed_array, string_to_bytes } from '../utils';\n\nexport var ISAAC = (function() {\n  var m = new Uint32Array(256), // internal memory\n    r = new Uint32Array(256), // result array\n    acc = 0, // accumulator\n    brs = 0, // last result\n    cnt = 0, // counter\n    gnt = 0; // generation counter\n\n  /* private: randinit function, same as ISAAC reference implementation */\n  function randinit() {\n    var a, b, c, d, e, f, g, h;\n\n    /* private mixing function */\n    function mix() {\n      a ^= b << 11;\n      d = (d + a) | 0;\n      b = (b + c) | 0;\n      b ^= c >>> 2;\n      e = (e + b) | 0;\n      c = (c + d) | 0;\n      c ^= d << 8;\n      f = (f + c) | 0;\n      d = (d + e) | 0;\n      d ^= e >>> 16;\n      g = (g + d) | 0;\n      e = (e + f) | 0;\n      e ^= f << 10;\n      h = (h + e) | 0;\n      f = (f + g) | 0;\n      f ^= g >>> 4;\n      a = (a + f) | 0;\n      g = (g + h) | 0;\n      g ^= h << 8;\n      b = (b + g) | 0;\n      h = (h + a) | 0;\n      h ^= a >>> 9;\n      c = (c + h) | 0;\n      a = (a + b) | 0;\n    }\n\n    acc = brs = cnt = 0;\n\n    // the golden ratio\n    a = b = c = d = e = f = g = h = 0x9e3779b9;\n\n    // scramble it\n    for (var i = 0; i < 4; i++) mix();\n\n    // mix it and combine with the internal state\n    for (var i = 0; i < 256; i += 8) {\n      a = (a + r[i | 0]) | 0;\n      b = (b + r[i | 1]) | 0;\n      c = (c + r[i | 2]) | 0;\n      d = (d + r[i | 3]) | 0;\n      e = (e + r[i | 4]) | 0;\n      f = (f + r[i | 5]) | 0;\n      g = (g + r[i | 6]) | 0;\n      h = (h + r[i | 7]) | 0;\n      mix();\n      m.set([a, b, c, d, e, f, g, h], i);\n    }\n\n    // mix it again\n    for (var i = 0; i < 256; i += 8) {\n      a = (a + m[i | 0]) | 0;\n      b = (b + m[i | 1]) | 0;\n      c = (c + m[i | 2]) | 0;\n      d = (d + m[i | 3]) | 0;\n      e = (e + m[i | 4]) | 0;\n      f = (f + m[i | 5]) | 0;\n      g = (g + m[i | 6]) | 0;\n      h = (h + m[i | 7]) | 0;\n      mix();\n      m.set([a, b, c, d, e, f, g, h], i);\n    }\n\n    // fill in the first set of results\n    prng(1), (gnt = 256);\n  }\n\n  /* public: seeding function */\n  function seed(s) {\n    var i, j, k, n, l;\n\n    if (!is_typed_array(s)) {\n      if (is_number(s)) {\n        (n = new FloatArray(1)), (n[0] = s);\n        s = new Uint8Array(n.buffer);\n      } else if (is_string(s)) {\n        s = string_to_bytes(s);\n      } else if (is_buffer(s)) {\n        s = new Uint8Array(s);\n      } else {\n        throw new TypeError('bad seed type');\n      }\n    } else {\n      s = new Uint8Array(s.buffer);\n    }\n\n    // preprocess the seed\n    l = s.length;\n    for (j = 0; j < l; j += 1024) {\n      // xor each chunk of 1024 bytes with r, for randinit() to mix in\n      for (k = j, i = 0; i < 1024 && k < l; k = j | ++i) {\n        r[i >> 2] ^= s[k] << ((i & 3) << 3);\n      }\n      randinit();\n    }\n  }\n\n  /* public: isaac generator, n = number of run */\n  function prng(n) {\n    n = n || 1;\n\n    var i, x, y;\n\n    while (n--) {\n      cnt = (cnt + 1) | 0;\n      brs = (brs + cnt) | 0;\n\n      for (i = 0; i < 256; i += 4) {\n        acc ^= acc << 13;\n        acc = (m[(i + 128) & 0xff] + acc) | 0;\n        x = m[i | 0];\n        m[i | 0] = y = (m[(x >>> 2) & 0xff] + ((acc + brs) | 0)) | 0;\n        r[i | 0] = brs = (m[(y >>> 10) & 0xff] + x) | 0;\n\n        acc ^= acc >>> 6;\n        acc = (m[(i + 129) & 0xff] + acc) | 0;\n        x = m[i | 1];\n        m[i | 1] = y = (m[(x >>> 2) & 0xff] + ((acc + brs) | 0)) | 0;\n        r[i | 1] = brs = (m[(y >>> 10) & 0xff] + x) | 0;\n\n        acc ^= acc << 2;\n        acc = (m[(i + 130) & 0xff] + acc) | 0;\n        x = m[i | 2];\n        m[i | 2] = y = (m[(x >>> 2) & 0xff] + ((acc + brs) | 0)) | 0;\n        r[i | 2] = brs = (m[(y >>> 10) & 0xff] + x) | 0;\n\n        acc ^= acc >>> 16;\n        acc = (m[(i + 131) & 0xff] + acc) | 0;\n        x = m[i | 3];\n        m[i | 3] = y = (m[(x >>> 2) & 0xff] + ((acc + brs) | 0)) | 0;\n        r[i | 3] = brs = (m[(y >>> 10) & 0xff] + x) | 0;\n      }\n    }\n  }\n\n  /* public: return a random number */\n  function rand() {\n    if (!gnt--) prng(1), (gnt = 255);\n\n    return r[gnt];\n  }\n\n  /* return class object */\n  return {\n    seed: seed,\n    prng: prng,\n    rand: rand,\n  };\n})();\n","import { is_string } from '../utils';\nimport { IllegalArgumentError, IllegalStateError } from '../errors';\n\nexport class pbkdf2_constructor {\n  constructor(options) {\n    options = options || {};\n\n    if (!options.hmac) throw new SyntaxError(\"option 'hmac' is required\");\n\n    if (!options.hmac.HMAC_SIZE)\n      throw new SyntaxError(\"option 'hmac' supplied doesn't seem to be a valid HMAC function\");\n\n    this.hmac = options.hmac;\n    this.count = options.count || 4096;\n    this.length = options.length || this.hmac.HMAC_SIZE;\n\n    this.result = null;\n\n    var password = options.password;\n    if (password || is_string(password)) this.reset(options);\n\n    return this;\n  }\n\n  reset(options) {\n    this.result = null;\n\n    this.hmac.reset(options);\n\n    return this;\n  }\n\n  generate(salt, count, length) {\n    if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n    if (!salt && !is_string(salt)) throw new IllegalArgumentError(\"bad 'salt' value\");\n\n    count = count || this.count;\n    length = length || this.length;\n\n    this.result = new Uint8Array(length);\n\n    var blocks = Math.ceil(length / this.hmac.HMAC_SIZE);\n\n    for (var i = 1; i <= blocks; ++i) {\n      var j = (i - 1) * this.hmac.HMAC_SIZE;\n      var l = (i < blocks ? 0 : length % this.hmac.HMAC_SIZE) || this.hmac.HMAC_SIZE;\n      var tmp = new Uint8Array(\n        this.hmac\n          .reset()\n          .process(salt)\n          .process(new Uint8Array([(i >>> 24) & 0xff, (i >>> 16) & 0xff, (i >>> 8) & 0xff, i & 0xff]))\n          .finish().result,\n      );\n      this.result.set(tmp.subarray(0, l), j);\n      for (var k = 1; k < count; ++k) {\n        tmp = new Uint8Array(\n          this.hmac\n            .reset()\n            .process(tmp)\n            .finish().result,\n        );\n        for (var r = 0; r < l; ++r) this.result[j + r] ^= tmp[r];\n      }\n    }\n\n    return this;\n  }\n}\n","import { is_buffer, is_bytes, is_string, string_to_bytes } from '../utils';\nimport { IllegalArgumentError, IllegalStateError } from '../errors';\n\nexport class hmac_constructor {\n  constructor(options) {\n    options = options || {};\n\n    if (!options.hash) throw new SyntaxError(\"option 'hash' is required\");\n\n    if (!options.hash.HASH_SIZE)\n      throw new SyntaxError(\"option 'hash' supplied doesn't seem to be a valid hash function\");\n\n    this.hash = options.hash;\n    this.BLOCK_SIZE = this.hash.BLOCK_SIZE;\n    this.HMAC_SIZE = this.hash.HASH_SIZE;\n\n    this.key = null;\n    this.verify = null;\n    this.result = null;\n\n    if (options.password !== undefined || options.verify !== undefined) this.reset(options);\n\n    return this;\n  }\n\n  reset(options) {\n    options = options || {};\n    var password = options.password;\n\n    if (this.key === null && !is_string(password) && !password)\n      throw new IllegalStateError('no key is associated with the instance');\n\n    this.result = null;\n    this.hash.reset();\n\n    if (password || is_string(password)) this.key = _hmac_key(this.hash, password);\n\n    var ipad = new Uint8Array(this.key);\n    for (var i = 0; i < ipad.length; ++i) ipad[i] ^= 0x36;\n\n    this.hash.process(ipad);\n\n    var verify = options.verify;\n    if (verify !== undefined) {\n      this._hmac_init_verify(verify);\n    } else {\n      this.verify = null;\n    }\n\n    return this;\n  }\n\n  process(data) {\n    if (this.key === null) throw new IllegalStateError('no key is associated with the instance');\n\n    if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n    this.hash.process(data);\n\n    return this;\n  }\n\n  finish() {\n    if (this.key === null) throw new IllegalStateError('no key is associated with the instance');\n\n    if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n    var inner_result = this.hash.finish().result;\n\n    var opad = new Uint8Array(this.key);\n    for (var i = 0; i < opad.length; ++i) opad[i] ^= 0x5c;\n\n    var verify = this.verify;\n    var result = this.hash\n      .reset()\n      .process(opad)\n      .process(inner_result)\n      .finish().result;\n\n    if (verify) {\n      if (verify.length === result.length) {\n        var diff = 0;\n        for (var i = 0; i < verify.length; i++) {\n          diff |= verify[i] ^ result[i];\n        }\n        this.result = !diff;\n      } else {\n        this.result = false;\n      }\n    } else {\n      this.result = result;\n    }\n\n    return this;\n  }\n\n  _hmac_init_verify(verify) {\n    if (is_buffer(verify) || is_bytes(verify)) {\n      verify = new Uint8Array(verify);\n    } else if (is_string(verify)) {\n      verify = string_to_bytes(verify);\n    } else {\n      throw new TypeError(\"verify tag isn't of expected type\");\n    }\n\n    if (verify.length !== this.HMAC_SIZE) throw new IllegalArgumentError('illegal verification tag size');\n\n    this.verify = verify;\n  }\n}\n\nexport function _hmac_key(hash, password) {\n  if (is_buffer(password)) password = new Uint8Array(password);\n\n  if (is_string(password)) password = string_to_bytes(password);\n\n  if (!is_bytes(password)) throw new TypeError(\"password isn't of expected type\");\n\n  var key = new Uint8Array(hash.BLOCK_SIZE);\n\n  if (password.length > hash.BLOCK_SIZE) {\n    key.set(\n      hash\n        .reset()\n        .process(password)\n        .finish().result,\n    );\n  } else {\n    key.set(password);\n  }\n\n  return key;\n}\n","export function sha256_asm ( stdlib, foreign, buffer ) {\n    \"use asm\";\n\n    // SHA256 state\n    var H0 = 0, H1 = 0, H2 = 0, H3 = 0, H4 = 0, H5 = 0, H6 = 0, H7 = 0,\n        TOTAL0 = 0, TOTAL1 = 0;\n\n    // HMAC state\n    var I0 = 0, I1 = 0, I2 = 0, I3 = 0, I4 = 0, I5 = 0, I6 = 0, I7 = 0,\n        O0 = 0, O1 = 0, O2 = 0, O3 = 0, O4 = 0, O5 = 0, O6 = 0, O7 = 0;\n\n    // I/O buffer\n    var HEAP = new stdlib.Uint8Array(buffer);\n\n    function _core ( w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15 ) {\n        w0 = w0|0;\n        w1 = w1|0;\n        w2 = w2|0;\n        w3 = w3|0;\n        w4 = w4|0;\n        w5 = w5|0;\n        w6 = w6|0;\n        w7 = w7|0;\n        w8 = w8|0;\n        w9 = w9|0;\n        w10 = w10|0;\n        w11 = w11|0;\n        w12 = w12|0;\n        w13 = w13|0;\n        w14 = w14|0;\n        w15 = w15|0;\n\n        var a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;\n\n        a = H0;\n        b = H1;\n        c = H2;\n        d = H3;\n        e = H4;\n        f = H5;\n        g = H6;\n        h = H7;\n        \n        // 0\n        h = ( w0 + h + ( e>>>6 ^ e>>>11 ^ e>>>25 ^ e<<26 ^ e<<21 ^ e<<7 ) +  ( g ^ e & (f^g) ) + 0x428a2f98 )|0;\n        d = ( d + h )|0;\n        h = ( h + ( (a & b) ^ ( c & (a ^ b) ) ) + ( a>>>2 ^ a>>>13 ^ a>>>22 ^ a<<30 ^ a<<19 ^ a<<10 ) )|0;\n\n        // 1\n        g = ( w1 + g + ( d>>>6 ^ d>>>11 ^ d>>>25 ^ d<<26 ^ d<<21 ^ d<<7 ) +  ( f ^ d & (e^f) ) + 0x71374491 )|0;\n        c = ( c + g )|0;\n        g = ( g + ( (h & a) ^ ( b & (h ^ a) ) ) + ( h>>>2 ^ h>>>13 ^ h>>>22 ^ h<<30 ^ h<<19 ^ h<<10 ) )|0;\n\n        // 2\n        f = ( w2 + f + ( c>>>6 ^ c>>>11 ^ c>>>25 ^ c<<26 ^ c<<21 ^ c<<7 ) +  ( e ^ c & (d^e) ) + 0xb5c0fbcf )|0;\n        b = ( b + f )|0;\n        f = ( f + ( (g & h) ^ ( a & (g ^ h) ) ) + ( g>>>2 ^ g>>>13 ^ g>>>22 ^ g<<30 ^ g<<19 ^ g<<10 ) )|0;\n\n        // 3\n        e = ( w3 + e + ( b>>>6 ^ b>>>11 ^ b>>>25 ^ b<<26 ^ b<<21 ^ b<<7 ) +  ( d ^ b & (c^d) ) + 0xe9b5dba5 )|0;\n        a = ( a + e )|0;\n        e = ( e + ( (f & g) ^ ( h & (f ^ g) ) ) + ( f>>>2 ^ f>>>13 ^ f>>>22 ^ f<<30 ^ f<<19 ^ f<<10 ) )|0;\n\n        // 4\n        d = ( w4 + d + ( a>>>6 ^ a>>>11 ^ a>>>25 ^ a<<26 ^ a<<21 ^ a<<7 ) +  ( c ^ a & (b^c) ) + 0x3956c25b )|0;\n        h = ( h + d )|0;\n        d = ( d + ( (e & f) ^ ( g & (e ^ f) ) ) + ( e>>>2 ^ e>>>13 ^ e>>>22 ^ e<<30 ^ e<<19 ^ e<<10 ) )|0;\n\n        // 5\n        c = ( w5 + c + ( h>>>6 ^ h>>>11 ^ h>>>25 ^ h<<26 ^ h<<21 ^ h<<7 ) +  ( b ^ h & (a^b) ) + 0x59f111f1 )|0;\n        g = ( g + c )|0;\n        c = ( c + ( (d & e) ^ ( f & (d ^ e) ) ) + ( d>>>2 ^ d>>>13 ^ d>>>22 ^ d<<30 ^ d<<19 ^ d<<10 ) )|0;\n\n        // 6\n        b = ( w6 + b + ( g>>>6 ^ g>>>11 ^ g>>>25 ^ g<<26 ^ g<<21 ^ g<<7 ) +  ( a ^ g & (h^a) ) + 0x923f82a4 )|0;\n        f = ( f + b )|0;\n        b = ( b + ( (c & d) ^ ( e & (c ^ d) ) ) + ( c>>>2 ^ c>>>13 ^ c>>>22 ^ c<<30 ^ c<<19 ^ c<<10 ) )|0;\n\n        // 7\n        a = ( w7 + a + ( f>>>6 ^ f>>>11 ^ f>>>25 ^ f<<26 ^ f<<21 ^ f<<7 ) +  ( h ^ f & (g^h) ) + 0xab1c5ed5 )|0;\n        e = ( e + a )|0;\n        a = ( a + ( (b & c) ^ ( d & (b ^ c) ) ) + ( b>>>2 ^ b>>>13 ^ b>>>22 ^ b<<30 ^ b<<19 ^ b<<10 ) )|0;\n\n        // 8\n        h = ( w8 + h + ( e>>>6 ^ e>>>11 ^ e>>>25 ^ e<<26 ^ e<<21 ^ e<<7 ) +  ( g ^ e & (f^g) ) + 0xd807aa98 )|0;\n        d = ( d + h )|0;\n        h = ( h + ( (a & b) ^ ( c & (a ^ b) ) ) + ( a>>>2 ^ a>>>13 ^ a>>>22 ^ a<<30 ^ a<<19 ^ a<<10 ) )|0;\n\n        // 9\n        g = ( w9 + g + ( d>>>6 ^ d>>>11 ^ d>>>25 ^ d<<26 ^ d<<21 ^ d<<7 ) +  ( f ^ d & (e^f) ) + 0x12835b01 )|0;\n        c = ( c + g )|0;\n        g = ( g + ( (h & a) ^ ( b & (h ^ a) ) ) + ( h>>>2 ^ h>>>13 ^ h>>>22 ^ h<<30 ^ h<<19 ^ h<<10 ) )|0;\n\n        // 10\n        f = ( w10 + f + ( c>>>6 ^ c>>>11 ^ c>>>25 ^ c<<26 ^ c<<21 ^ c<<7 ) +  ( e ^ c & (d^e) ) + 0x243185be )|0;\n        b = ( b + f )|0;\n        f = ( f + ( (g & h) ^ ( a & (g ^ h) ) ) + ( g>>>2 ^ g>>>13 ^ g>>>22 ^ g<<30 ^ g<<19 ^ g<<10 ) )|0;\n\n        // 11\n        e = ( w11 + e + ( b>>>6 ^ b>>>11 ^ b>>>25 ^ b<<26 ^ b<<21 ^ b<<7 ) +  ( d ^ b & (c^d) ) + 0x550c7dc3 )|0;\n        a = ( a + e )|0;\n        e = ( e + ( (f & g) ^ ( h & (f ^ g) ) ) + ( f>>>2 ^ f>>>13 ^ f>>>22 ^ f<<30 ^ f<<19 ^ f<<10 ) )|0;\n\n        // 12\n        d = ( w12 + d + ( a>>>6 ^ a>>>11 ^ a>>>25 ^ a<<26 ^ a<<21 ^ a<<7 ) +  ( c ^ a & (b^c) ) + 0x72be5d74 )|0;\n        h = ( h + d )|0;\n        d = ( d + ( (e & f) ^ ( g & (e ^ f) ) ) + ( e>>>2 ^ e>>>13 ^ e>>>22 ^ e<<30 ^ e<<19 ^ e<<10 ) )|0;\n\n        // 13\n        c = ( w13 + c + ( h>>>6 ^ h>>>11 ^ h>>>25 ^ h<<26 ^ h<<21 ^ h<<7 ) +  ( b ^ h & (a^b) ) + 0x80deb1fe )|0;\n        g = ( g + c )|0;\n        c = ( c + ( (d & e) ^ ( f & (d ^ e) ) ) + ( d>>>2 ^ d>>>13 ^ d>>>22 ^ d<<30 ^ d<<19 ^ d<<10 ) )|0;\n\n        // 14\n        b = ( w14 + b + ( g>>>6 ^ g>>>11 ^ g>>>25 ^ g<<26 ^ g<<21 ^ g<<7 ) +  ( a ^ g & (h^a) ) + 0x9bdc06a7 )|0;\n        f = ( f + b )|0;\n        b = ( b + ( (c & d) ^ ( e & (c ^ d) ) ) + ( c>>>2 ^ c>>>13 ^ c>>>22 ^ c<<30 ^ c<<19 ^ c<<10 ) )|0;\n\n        // 15\n        a = ( w15 + a + ( f>>>6 ^ f>>>11 ^ f>>>25 ^ f<<26 ^ f<<21 ^ f<<7 ) +  ( h ^ f & (g^h) ) + 0xc19bf174 )|0;\n        e = ( e + a )|0;\n        a = ( a + ( (b & c) ^ ( d & (b ^ c) ) ) + ( b>>>2 ^ b>>>13 ^ b>>>22 ^ b<<30 ^ b<<19 ^ b<<10 ) )|0;\n\n        // 16\n        w0 = ( ( w1>>>7  ^ w1>>>18 ^ w1>>>3  ^ w1<<25 ^ w1<<14 ) + ( w14>>>17 ^ w14>>>19 ^ w14>>>10 ^ w14<<15 ^ w14<<13 ) + w0 + w9 )|0;\n        h = ( w0 + h + ( e>>>6 ^ e>>>11 ^ e>>>25 ^ e<<26 ^ e<<21 ^ e<<7 ) +  ( g ^ e & (f^g) ) + 0xe49b69c1 )|0;\n        d = ( d + h )|0;\n        h = ( h + ( (a & b) ^ ( c & (a ^ b) ) ) + ( a>>>2 ^ a>>>13 ^ a>>>22 ^ a<<30 ^ a<<19 ^ a<<10 ) )|0;\n\n        // 17\n        w1 = ( ( w2>>>7  ^ w2>>>18 ^ w2>>>3  ^ w2<<25 ^ w2<<14 ) + ( w15>>>17 ^ w15>>>19 ^ w15>>>10 ^ w15<<15 ^ w15<<13 ) + w1 + w10 )|0;\n        g = ( w1 + g + ( d>>>6 ^ d>>>11 ^ d>>>25 ^ d<<26 ^ d<<21 ^ d<<7 ) +  ( f ^ d & (e^f) ) + 0xefbe4786 )|0;\n        c = ( c + g )|0;\n        g = ( g + ( (h & a) ^ ( b & (h ^ a) ) ) + ( h>>>2 ^ h>>>13 ^ h>>>22 ^ h<<30 ^ h<<19 ^ h<<10 ) )|0;\n\n        // 18\n        w2 = ( ( w3>>>7  ^ w3>>>18 ^ w3>>>3  ^ w3<<25 ^ w3<<14 ) + ( w0>>>17 ^ w0>>>19 ^ w0>>>10 ^ w0<<15 ^ w0<<13 ) + w2 + w11 )|0;\n        f = ( w2 + f + ( c>>>6 ^ c>>>11 ^ c>>>25 ^ c<<26 ^ c<<21 ^ c<<7 ) +  ( e ^ c & (d^e) ) + 0x0fc19dc6 )|0;\n        b = ( b + f )|0;\n        f = ( f + ( (g & h) ^ ( a & (g ^ h) ) ) + ( g>>>2 ^ g>>>13 ^ g>>>22 ^ g<<30 ^ g<<19 ^ g<<10 ) )|0;\n\n        // 19\n        w3 = ( ( w4>>>7  ^ w4>>>18 ^ w4>>>3  ^ w4<<25 ^ w4<<14 ) + ( w1>>>17 ^ w1>>>19 ^ w1>>>10 ^ w1<<15 ^ w1<<13 ) + w3 + w12 )|0;\n        e = ( w3 + e + ( b>>>6 ^ b>>>11 ^ b>>>25 ^ b<<26 ^ b<<21 ^ b<<7 ) +  ( d ^ b & (c^d) ) + 0x240ca1cc )|0;\n        a = ( a + e )|0;\n        e = ( e + ( (f & g) ^ ( h & (f ^ g) ) ) + ( f>>>2 ^ f>>>13 ^ f>>>22 ^ f<<30 ^ f<<19 ^ f<<10 ) )|0;\n\n        // 20\n        w4 = ( ( w5>>>7  ^ w5>>>18 ^ w5>>>3  ^ w5<<25 ^ w5<<14 ) + ( w2>>>17 ^ w2>>>19 ^ w2>>>10 ^ w2<<15 ^ w2<<13 ) + w4 + w13 )|0;\n        d = ( w4 + d + ( a>>>6 ^ a>>>11 ^ a>>>25 ^ a<<26 ^ a<<21 ^ a<<7 ) +  ( c ^ a & (b^c) ) + 0x2de92c6f )|0;\n        h = ( h + d )|0;\n        d = ( d + ( (e & f) ^ ( g & (e ^ f) ) ) + ( e>>>2 ^ e>>>13 ^ e>>>22 ^ e<<30 ^ e<<19 ^ e<<10 ) )|0;\n\n        // 21\n        w5 = ( ( w6>>>7  ^ w6>>>18 ^ w6>>>3  ^ w6<<25 ^ w6<<14 ) + ( w3>>>17 ^ w3>>>19 ^ w3>>>10 ^ w3<<15 ^ w3<<13 ) + w5 + w14 )|0;\n        c = ( w5 + c + ( h>>>6 ^ h>>>11 ^ h>>>25 ^ h<<26 ^ h<<21 ^ h<<7 ) +  ( b ^ h & (a^b) ) + 0x4a7484aa )|0;\n        g = ( g + c )|0;\n        c = ( c + ( (d & e) ^ ( f & (d ^ e) ) ) + ( d>>>2 ^ d>>>13 ^ d>>>22 ^ d<<30 ^ d<<19 ^ d<<10 ) )|0;\n\n        // 22\n        w6 = ( ( w7>>>7  ^ w7>>>18 ^ w7>>>3  ^ w7<<25 ^ w7<<14 ) + ( w4>>>17 ^ w4>>>19 ^ w4>>>10 ^ w4<<15 ^ w4<<13 ) + w6 + w15 )|0;\n        b = ( w6 + b + ( g>>>6 ^ g>>>11 ^ g>>>25 ^ g<<26 ^ g<<21 ^ g<<7 ) +  ( a ^ g & (h^a) ) + 0x5cb0a9dc )|0;\n        f = ( f + b )|0;\n        b = ( b + ( (c & d) ^ ( e & (c ^ d) ) ) + ( c>>>2 ^ c>>>13 ^ c>>>22 ^ c<<30 ^ c<<19 ^ c<<10 ) )|0;\n\n        // 23\n        w7 = ( ( w8>>>7  ^ w8>>>18 ^ w8>>>3  ^ w8<<25 ^ w8<<14 ) + ( w5>>>17 ^ w5>>>19 ^ w5>>>10 ^ w5<<15 ^ w5<<13 ) + w7 + w0 )|0;\n        a = ( w7 + a + ( f>>>6 ^ f>>>11 ^ f>>>25 ^ f<<26 ^ f<<21 ^ f<<7 ) +  ( h ^ f & (g^h) ) + 0x76f988da )|0;\n        e = ( e + a )|0;\n        a = ( a + ( (b & c) ^ ( d & (b ^ c) ) ) + ( b>>>2 ^ b>>>13 ^ b>>>22 ^ b<<30 ^ b<<19 ^ b<<10 ) )|0;\n\n        // 24\n        w8 = ( ( w9>>>7  ^ w9>>>18 ^ w9>>>3  ^ w9<<25 ^ w9<<14 ) + ( w6>>>17 ^ w6>>>19 ^ w6>>>10 ^ w6<<15 ^ w6<<13 ) + w8 + w1 )|0;\n        h = ( w8 + h + ( e>>>6 ^ e>>>11 ^ e>>>25 ^ e<<26 ^ e<<21 ^ e<<7 ) +  ( g ^ e & (f^g) ) + 0x983e5152 )|0;\n        d = ( d + h )|0;\n        h = ( h + ( (a & b) ^ ( c & (a ^ b) ) ) + ( a>>>2 ^ a>>>13 ^ a>>>22 ^ a<<30 ^ a<<19 ^ a<<10 ) )|0;\n\n        // 25\n        w9 = ( ( w10>>>7  ^ w10>>>18 ^ w10>>>3  ^ w10<<25 ^ w10<<14 ) + ( w7>>>17 ^ w7>>>19 ^ w7>>>10 ^ w7<<15 ^ w7<<13 ) + w9 + w2 )|0;\n        g = ( w9 + g + ( d>>>6 ^ d>>>11 ^ d>>>25 ^ d<<26 ^ d<<21 ^ d<<7 ) +  ( f ^ d & (e^f) ) + 0xa831c66d )|0;\n        c = ( c + g )|0;\n        g = ( g + ( (h & a) ^ ( b & (h ^ a) ) ) + ( h>>>2 ^ h>>>13 ^ h>>>22 ^ h<<30 ^ h<<19 ^ h<<10 ) )|0;\n\n        // 26\n        w10 = ( ( w11>>>7  ^ w11>>>18 ^ w11>>>3  ^ w11<<25 ^ w11<<14 ) + ( w8>>>17 ^ w8>>>19 ^ w8>>>10 ^ w8<<15 ^ w8<<13 ) + w10 + w3 )|0;\n        f = ( w10 + f + ( c>>>6 ^ c>>>11 ^ c>>>25 ^ c<<26 ^ c<<21 ^ c<<7 ) +  ( e ^ c & (d^e) ) + 0xb00327c8 )|0;\n        b = ( b + f )|0;\n        f = ( f + ( (g & h) ^ ( a & (g ^ h) ) ) + ( g>>>2 ^ g>>>13 ^ g>>>22 ^ g<<30 ^ g<<19 ^ g<<10 ) )|0;\n\n        // 27\n        w11 = ( ( w12>>>7  ^ w12>>>18 ^ w12>>>3  ^ w12<<25 ^ w12<<14 ) + ( w9>>>17 ^ w9>>>19 ^ w9>>>10 ^ w9<<15 ^ w9<<13 ) + w11 + w4 )|0;\n        e = ( w11 + e + ( b>>>6 ^ b>>>11 ^ b>>>25 ^ b<<26 ^ b<<21 ^ b<<7 ) +  ( d ^ b & (c^d) ) + 0xbf597fc7 )|0;\n        a = ( a + e )|0;\n        e = ( e + ( (f & g) ^ ( h & (f ^ g) ) ) + ( f>>>2 ^ f>>>13 ^ f>>>22 ^ f<<30 ^ f<<19 ^ f<<10 ) )|0;\n\n        // 28\n        w12 = ( ( w13>>>7  ^ w13>>>18 ^ w13>>>3  ^ w13<<25 ^ w13<<14 ) + ( w10>>>17 ^ w10>>>19 ^ w10>>>10 ^ w10<<15 ^ w10<<13 ) + w12 + w5 )|0;\n        d = ( w12 + d + ( a>>>6 ^ a>>>11 ^ a>>>25 ^ a<<26 ^ a<<21 ^ a<<7 ) +  ( c ^ a & (b^c) ) + 0xc6e00bf3 )|0;\n        h = ( h + d )|0;\n        d = ( d + ( (e & f) ^ ( g & (e ^ f) ) ) + ( e>>>2 ^ e>>>13 ^ e>>>22 ^ e<<30 ^ e<<19 ^ e<<10 ) )|0;\n\n        // 29\n        w13 = ( ( w14>>>7  ^ w14>>>18 ^ w14>>>3  ^ w14<<25 ^ w14<<14 ) + ( w11>>>17 ^ w11>>>19 ^ w11>>>10 ^ w11<<15 ^ w11<<13 ) + w13 + w6 )|0;\n        c = ( w13 + c + ( h>>>6 ^ h>>>11 ^ h>>>25 ^ h<<26 ^ h<<21 ^ h<<7 ) +  ( b ^ h & (a^b) ) + 0xd5a79147 )|0;\n        g = ( g + c )|0;\n        c = ( c + ( (d & e) ^ ( f & (d ^ e) ) ) + ( d>>>2 ^ d>>>13 ^ d>>>22 ^ d<<30 ^ d<<19 ^ d<<10 ) )|0;\n\n        // 30\n        w14 = ( ( w15>>>7  ^ w15>>>18 ^ w15>>>3  ^ w15<<25 ^ w15<<14 ) + ( w12>>>17 ^ w12>>>19 ^ w12>>>10 ^ w12<<15 ^ w12<<13 ) + w14 + w7 )|0;\n        b = ( w14 + b + ( g>>>6 ^ g>>>11 ^ g>>>25 ^ g<<26 ^ g<<21 ^ g<<7 ) +  ( a ^ g & (h^a) ) + 0x06ca6351 )|0;\n        f = ( f + b )|0;\n        b = ( b + ( (c & d) ^ ( e & (c ^ d) ) ) + ( c>>>2 ^ c>>>13 ^ c>>>22 ^ c<<30 ^ c<<19 ^ c<<10 ) )|0;\n\n        // 31\n        w15 = ( ( w0>>>7  ^ w0>>>18 ^ w0>>>3  ^ w0<<25 ^ w0<<14 ) + ( w13>>>17 ^ w13>>>19 ^ w13>>>10 ^ w13<<15 ^ w13<<13 ) + w15 + w8 )|0;\n        a = ( w15 + a + ( f>>>6 ^ f>>>11 ^ f>>>25 ^ f<<26 ^ f<<21 ^ f<<7 ) +  ( h ^ f & (g^h) ) + 0x14292967 )|0;\n        e = ( e + a )|0;\n        a = ( a + ( (b & c) ^ ( d & (b ^ c) ) ) + ( b>>>2 ^ b>>>13 ^ b>>>22 ^ b<<30 ^ b<<19 ^ b<<10 ) )|0;\n\n        // 32\n        w0 = ( ( w1>>>7  ^ w1>>>18 ^ w1>>>3  ^ w1<<25 ^ w1<<14 ) + ( w14>>>17 ^ w14>>>19 ^ w14>>>10 ^ w14<<15 ^ w14<<13 ) + w0 + w9 )|0;\n        h = ( w0 + h + ( e>>>6 ^ e>>>11 ^ e>>>25 ^ e<<26 ^ e<<21 ^ e<<7 ) +  ( g ^ e & (f^g) ) + 0x27b70a85 )|0;\n        d = ( d + h )|0;\n        h = ( h + ( (a & b) ^ ( c & (a ^ b) ) ) + ( a>>>2 ^ a>>>13 ^ a>>>22 ^ a<<30 ^ a<<19 ^ a<<10 ) )|0;\n\n        // 33\n        w1 = ( ( w2>>>7  ^ w2>>>18 ^ w2>>>3  ^ w2<<25 ^ w2<<14 ) + ( w15>>>17 ^ w15>>>19 ^ w15>>>10 ^ w15<<15 ^ w15<<13 ) + w1 + w10 )|0;\n        g = ( w1 + g + ( d>>>6 ^ d>>>11 ^ d>>>25 ^ d<<26 ^ d<<21 ^ d<<7 ) +  ( f ^ d & (e^f) ) + 0x2e1b2138 )|0;\n        c = ( c + g )|0;\n        g = ( g + ( (h & a) ^ ( b & (h ^ a) ) ) + ( h>>>2 ^ h>>>13 ^ h>>>22 ^ h<<30 ^ h<<19 ^ h<<10 ) )|0;\n\n        // 34\n        w2 = ( ( w3>>>7  ^ w3>>>18 ^ w3>>>3  ^ w3<<25 ^ w3<<14 ) + ( w0>>>17 ^ w0>>>19 ^ w0>>>10 ^ w0<<15 ^ w0<<13 ) + w2 + w11 )|0;\n        f = ( w2 + f + ( c>>>6 ^ c>>>11 ^ c>>>25 ^ c<<26 ^ c<<21 ^ c<<7 ) +  ( e ^ c & (d^e) ) + 0x4d2c6dfc )|0;\n        b = ( b + f )|0;\n        f = ( f + ( (g & h) ^ ( a & (g ^ h) ) ) + ( g>>>2 ^ g>>>13 ^ g>>>22 ^ g<<30 ^ g<<19 ^ g<<10 ) )|0;\n\n        // 35\n        w3 = ( ( w4>>>7  ^ w4>>>18 ^ w4>>>3  ^ w4<<25 ^ w4<<14 ) + ( w1>>>17 ^ w1>>>19 ^ w1>>>10 ^ w1<<15 ^ w1<<13 ) + w3 + w12 )|0;\n        e = ( w3 + e + ( b>>>6 ^ b>>>11 ^ b>>>25 ^ b<<26 ^ b<<21 ^ b<<7 ) +  ( d ^ b & (c^d) ) + 0x53380d13 )|0;\n        a = ( a + e )|0;\n        e = ( e + ( (f & g) ^ ( h & (f ^ g) ) ) + ( f>>>2 ^ f>>>13 ^ f>>>22 ^ f<<30 ^ f<<19 ^ f<<10 ) )|0;\n\n        // 36\n        w4 = ( ( w5>>>7  ^ w5>>>18 ^ w5>>>3  ^ w5<<25 ^ w5<<14 ) + ( w2>>>17 ^ w2>>>19 ^ w2>>>10 ^ w2<<15 ^ w2<<13 ) + w4 + w13 )|0;\n        d = ( w4 + d + ( a>>>6 ^ a>>>11 ^ a>>>25 ^ a<<26 ^ a<<21 ^ a<<7 ) +  ( c ^ a & (b^c) ) + 0x650a7354 )|0;\n        h = ( h + d )|0;\n        d = ( d + ( (e & f) ^ ( g & (e ^ f) ) ) + ( e>>>2 ^ e>>>13 ^ e>>>22 ^ e<<30 ^ e<<19 ^ e<<10 ) )|0;\n\n        // 37\n        w5 = ( ( w6>>>7  ^ w6>>>18 ^ w6>>>3  ^ w6<<25 ^ w6<<14 ) + ( w3>>>17 ^ w3>>>19 ^ w3>>>10 ^ w3<<15 ^ w3<<13 ) + w5 + w14 )|0;\n        c = ( w5 + c + ( h>>>6 ^ h>>>11 ^ h>>>25 ^ h<<26 ^ h<<21 ^ h<<7 ) +  ( b ^ h & (a^b) ) + 0x766a0abb )|0;\n        g = ( g + c )|0;\n        c = ( c + ( (d & e) ^ ( f & (d ^ e) ) ) + ( d>>>2 ^ d>>>13 ^ d>>>22 ^ d<<30 ^ d<<19 ^ d<<10 ) )|0;\n\n        // 38\n        w6 = ( ( w7>>>7  ^ w7>>>18 ^ w7>>>3  ^ w7<<25 ^ w7<<14 ) + ( w4>>>17 ^ w4>>>19 ^ w4>>>10 ^ w4<<15 ^ w4<<13 ) + w6 + w15 )|0;\n        b = ( w6 + b + ( g>>>6 ^ g>>>11 ^ g>>>25 ^ g<<26 ^ g<<21 ^ g<<7 ) +  ( a ^ g & (h^a) ) + 0x81c2c92e )|0;\n        f = ( f + b )|0;\n        b = ( b + ( (c & d) ^ ( e & (c ^ d) ) ) + ( c>>>2 ^ c>>>13 ^ c>>>22 ^ c<<30 ^ c<<19 ^ c<<10 ) )|0;\n\n        // 39\n        w7 = ( ( w8>>>7  ^ w8>>>18 ^ w8>>>3  ^ w8<<25 ^ w8<<14 ) + ( w5>>>17 ^ w5>>>19 ^ w5>>>10 ^ w5<<15 ^ w5<<13 ) + w7 + w0 )|0;\n        a = ( w7 + a + ( f>>>6 ^ f>>>11 ^ f>>>25 ^ f<<26 ^ f<<21 ^ f<<7 ) +  ( h ^ f & (g^h) ) + 0x92722c85 )|0;\n        e = ( e + a )|0;\n        a = ( a + ( (b & c) ^ ( d & (b ^ c) ) ) + ( b>>>2 ^ b>>>13 ^ b>>>22 ^ b<<30 ^ b<<19 ^ b<<10 ) )|0;\n\n        // 40\n        w8 = ( ( w9>>>7  ^ w9>>>18 ^ w9>>>3  ^ w9<<25 ^ w9<<14 ) + ( w6>>>17 ^ w6>>>19 ^ w6>>>10 ^ w6<<15 ^ w6<<13 ) + w8 + w1 )|0;\n        h = ( w8 + h + ( e>>>6 ^ e>>>11 ^ e>>>25 ^ e<<26 ^ e<<21 ^ e<<7 ) +  ( g ^ e & (f^g) ) + 0xa2bfe8a1 )|0;\n        d = ( d + h )|0;\n        h = ( h + ( (a & b) ^ ( c & (a ^ b) ) ) + ( a>>>2 ^ a>>>13 ^ a>>>22 ^ a<<30 ^ a<<19 ^ a<<10 ) )|0;\n\n        // 41\n        w9 = ( ( w10>>>7  ^ w10>>>18 ^ w10>>>3  ^ w10<<25 ^ w10<<14 ) + ( w7>>>17 ^ w7>>>19 ^ w7>>>10 ^ w7<<15 ^ w7<<13 ) + w9 + w2 )|0;\n        g = ( w9 + g + ( d>>>6 ^ d>>>11 ^ d>>>25 ^ d<<26 ^ d<<21 ^ d<<7 ) +  ( f ^ d & (e^f) ) + 0xa81a664b )|0;\n        c = ( c + g )|0;\n        g = ( g + ( (h & a) ^ ( b & (h ^ a) ) ) + ( h>>>2 ^ h>>>13 ^ h>>>22 ^ h<<30 ^ h<<19 ^ h<<10 ) )|0;\n\n        // 42\n        w10 = ( ( w11>>>7  ^ w11>>>18 ^ w11>>>3  ^ w11<<25 ^ w11<<14 ) + ( w8>>>17 ^ w8>>>19 ^ w8>>>10 ^ w8<<15 ^ w8<<13 ) + w10 + w3 )|0;\n        f = ( w10 + f + ( c>>>6 ^ c>>>11 ^ c>>>25 ^ c<<26 ^ c<<21 ^ c<<7 ) +  ( e ^ c & (d^e) ) + 0xc24b8b70 )|0;\n        b = ( b + f )|0;\n        f = ( f + ( (g & h) ^ ( a & (g ^ h) ) ) + ( g>>>2 ^ g>>>13 ^ g>>>22 ^ g<<30 ^ g<<19 ^ g<<10 ) )|0;\n\n        // 43\n        w11 = ( ( w12>>>7  ^ w12>>>18 ^ w12>>>3  ^ w12<<25 ^ w12<<14 ) + ( w9>>>17 ^ w9>>>19 ^ w9>>>10 ^ w9<<15 ^ w9<<13 ) + w11 + w4 )|0;\n        e = ( w11 + e + ( b>>>6 ^ b>>>11 ^ b>>>25 ^ b<<26 ^ b<<21 ^ b<<7 ) +  ( d ^ b & (c^d) ) + 0xc76c51a3 )|0;\n        a = ( a + e )|0;\n        e = ( e + ( (f & g) ^ ( h & (f ^ g) ) ) + ( f>>>2 ^ f>>>13 ^ f>>>22 ^ f<<30 ^ f<<19 ^ f<<10 ) )|0;\n\n        // 44\n        w12 = ( ( w13>>>7  ^ w13>>>18 ^ w13>>>3  ^ w13<<25 ^ w13<<14 ) + ( w10>>>17 ^ w10>>>19 ^ w10>>>10 ^ w10<<15 ^ w10<<13 ) + w12 + w5 )|0;\n        d = ( w12 + d + ( a>>>6 ^ a>>>11 ^ a>>>25 ^ a<<26 ^ a<<21 ^ a<<7 ) +  ( c ^ a & (b^c) ) + 0xd192e819 )|0;\n        h = ( h + d )|0;\n        d = ( d + ( (e & f) ^ ( g & (e ^ f) ) ) + ( e>>>2 ^ e>>>13 ^ e>>>22 ^ e<<30 ^ e<<19 ^ e<<10 ) )|0;\n\n        // 45\n        w13 = ( ( w14>>>7  ^ w14>>>18 ^ w14>>>3  ^ w14<<25 ^ w14<<14 ) + ( w11>>>17 ^ w11>>>19 ^ w11>>>10 ^ w11<<15 ^ w11<<13 ) + w13 + w6 )|0;\n        c = ( w13 + c + ( h>>>6 ^ h>>>11 ^ h>>>25 ^ h<<26 ^ h<<21 ^ h<<7 ) +  ( b ^ h & (a^b) ) + 0xd6990624 )|0;\n        g = ( g + c )|0;\n        c = ( c + ( (d & e) ^ ( f & (d ^ e) ) ) + ( d>>>2 ^ d>>>13 ^ d>>>22 ^ d<<30 ^ d<<19 ^ d<<10 ) )|0;\n\n        // 46\n        w14 = ( ( w15>>>7  ^ w15>>>18 ^ w15>>>3  ^ w15<<25 ^ w15<<14 ) + ( w12>>>17 ^ w12>>>19 ^ w12>>>10 ^ w12<<15 ^ w12<<13 ) + w14 + w7 )|0;\n        b = ( w14 + b + ( g>>>6 ^ g>>>11 ^ g>>>25 ^ g<<26 ^ g<<21 ^ g<<7 ) +  ( a ^ g & (h^a) ) + 0xf40e3585 )|0;\n        f = ( f + b )|0;\n        b = ( b + ( (c & d) ^ ( e & (c ^ d) ) ) + ( c>>>2 ^ c>>>13 ^ c>>>22 ^ c<<30 ^ c<<19 ^ c<<10 ) )|0;\n\n        // 47\n        w15 = ( ( w0>>>7  ^ w0>>>18 ^ w0>>>3  ^ w0<<25 ^ w0<<14 ) + ( w13>>>17 ^ w13>>>19 ^ w13>>>10 ^ w13<<15 ^ w13<<13 ) + w15 + w8 )|0;\n        a = ( w15 + a + ( f>>>6 ^ f>>>11 ^ f>>>25 ^ f<<26 ^ f<<21 ^ f<<7 ) +  ( h ^ f & (g^h) ) + 0x106aa070 )|0;\n        e = ( e + a )|0;\n        a = ( a + ( (b & c) ^ ( d & (b ^ c) ) ) + ( b>>>2 ^ b>>>13 ^ b>>>22 ^ b<<30 ^ b<<19 ^ b<<10 ) )|0;\n\n        // 48\n        w0 = ( ( w1>>>7  ^ w1>>>18 ^ w1>>>3  ^ w1<<25 ^ w1<<14 ) + ( w14>>>17 ^ w14>>>19 ^ w14>>>10 ^ w14<<15 ^ w14<<13 ) + w0 + w9 )|0;\n        h = ( w0 + h + ( e>>>6 ^ e>>>11 ^ e>>>25 ^ e<<26 ^ e<<21 ^ e<<7 ) +  ( g ^ e & (f^g) ) + 0x19a4c116 )|0;\n        d = ( d + h )|0;\n        h = ( h + ( (a & b) ^ ( c & (a ^ b) ) ) + ( a>>>2 ^ a>>>13 ^ a>>>22 ^ a<<30 ^ a<<19 ^ a<<10 ) )|0;\n\n        // 49\n        w1 = ( ( w2>>>7  ^ w2>>>18 ^ w2>>>3  ^ w2<<25 ^ w2<<14 ) + ( w15>>>17 ^ w15>>>19 ^ w15>>>10 ^ w15<<15 ^ w15<<13 ) + w1 + w10 )|0;\n        g = ( w1 + g + ( d>>>6 ^ d>>>11 ^ d>>>25 ^ d<<26 ^ d<<21 ^ d<<7 ) +  ( f ^ d & (e^f) ) + 0x1e376c08 )|0;\n        c = ( c + g )|0;\n        g = ( g + ( (h & a) ^ ( b & (h ^ a) ) ) + ( h>>>2 ^ h>>>13 ^ h>>>22 ^ h<<30 ^ h<<19 ^ h<<10 ) )|0;\n\n        // 50\n        w2 = ( ( w3>>>7  ^ w3>>>18 ^ w3>>>3  ^ w3<<25 ^ w3<<14 ) + ( w0>>>17 ^ w0>>>19 ^ w0>>>10 ^ w0<<15 ^ w0<<13 ) + w2 + w11 )|0;\n        f = ( w2 + f + ( c>>>6 ^ c>>>11 ^ c>>>25 ^ c<<26 ^ c<<21 ^ c<<7 ) +  ( e ^ c & (d^e) ) + 0x2748774c )|0;\n        b = ( b + f )|0;\n        f = ( f + ( (g & h) ^ ( a & (g ^ h) ) ) + ( g>>>2 ^ g>>>13 ^ g>>>22 ^ g<<30 ^ g<<19 ^ g<<10 ) )|0;\n\n        // 51\n        w3 = ( ( w4>>>7  ^ w4>>>18 ^ w4>>>3  ^ w4<<25 ^ w4<<14 ) + ( w1>>>17 ^ w1>>>19 ^ w1>>>10 ^ w1<<15 ^ w1<<13 ) + w3 + w12 )|0;\n        e = ( w3 + e + ( b>>>6 ^ b>>>11 ^ b>>>25 ^ b<<26 ^ b<<21 ^ b<<7 ) +  ( d ^ b & (c^d) ) + 0x34b0bcb5 )|0;\n        a = ( a + e )|0;\n        e = ( e + ( (f & g) ^ ( h & (f ^ g) ) ) + ( f>>>2 ^ f>>>13 ^ f>>>22 ^ f<<30 ^ f<<19 ^ f<<10 ) )|0;\n\n        // 52\n        w4 = ( ( w5>>>7  ^ w5>>>18 ^ w5>>>3  ^ w5<<25 ^ w5<<14 ) + ( w2>>>17 ^ w2>>>19 ^ w2>>>10 ^ w2<<15 ^ w2<<13 ) + w4 + w13 )|0;\n        d = ( w4 + d + ( a>>>6 ^ a>>>11 ^ a>>>25 ^ a<<26 ^ a<<21 ^ a<<7 ) +  ( c ^ a & (b^c) ) + 0x391c0cb3 )|0;\n        h = ( h + d )|0;\n        d = ( d + ( (e & f) ^ ( g & (e ^ f) ) ) + ( e>>>2 ^ e>>>13 ^ e>>>22 ^ e<<30 ^ e<<19 ^ e<<10 ) )|0;\n\n        // 53\n        w5 = ( ( w6>>>7  ^ w6>>>18 ^ w6>>>3  ^ w6<<25 ^ w6<<14 ) + ( w3>>>17 ^ w3>>>19 ^ w3>>>10 ^ w3<<15 ^ w3<<13 ) + w5 + w14 )|0;\n        c = ( w5 + c + ( h>>>6 ^ h>>>11 ^ h>>>25 ^ h<<26 ^ h<<21 ^ h<<7 ) +  ( b ^ h & (a^b) ) + 0x4ed8aa4a )|0;\n        g = ( g + c )|0;\n        c = ( c + ( (d & e) ^ ( f & (d ^ e) ) ) + ( d>>>2 ^ d>>>13 ^ d>>>22 ^ d<<30 ^ d<<19 ^ d<<10 ) )|0;\n\n        // 54\n        w6 = ( ( w7>>>7  ^ w7>>>18 ^ w7>>>3  ^ w7<<25 ^ w7<<14 ) + ( w4>>>17 ^ w4>>>19 ^ w4>>>10 ^ w4<<15 ^ w4<<13 ) + w6 + w15 )|0;\n        b = ( w6 + b + ( g>>>6 ^ g>>>11 ^ g>>>25 ^ g<<26 ^ g<<21 ^ g<<7 ) +  ( a ^ g & (h^a) ) + 0x5b9cca4f )|0;\n        f = ( f + b )|0;\n        b = ( b + ( (c & d) ^ ( e & (c ^ d) ) ) + ( c>>>2 ^ c>>>13 ^ c>>>22 ^ c<<30 ^ c<<19 ^ c<<10 ) )|0;\n\n        // 55\n        w7 = ( ( w8>>>7  ^ w8>>>18 ^ w8>>>3  ^ w8<<25 ^ w8<<14 ) + ( w5>>>17 ^ w5>>>19 ^ w5>>>10 ^ w5<<15 ^ w5<<13 ) + w7 + w0 )|0;\n        a = ( w7 + a + ( f>>>6 ^ f>>>11 ^ f>>>25 ^ f<<26 ^ f<<21 ^ f<<7 ) +  ( h ^ f & (g^h) ) + 0x682e6ff3 )|0;\n        e = ( e + a )|0;\n        a = ( a + ( (b & c) ^ ( d & (b ^ c) ) ) + ( b>>>2 ^ b>>>13 ^ b>>>22 ^ b<<30 ^ b<<19 ^ b<<10 ) )|0;\n\n        // 56\n        w8 = ( ( w9>>>7  ^ w9>>>18 ^ w9>>>3  ^ w9<<25 ^ w9<<14 ) + ( w6>>>17 ^ w6>>>19 ^ w6>>>10 ^ w6<<15 ^ w6<<13 ) + w8 + w1 )|0;\n        h = ( w8 + h + ( e>>>6 ^ e>>>11 ^ e>>>25 ^ e<<26 ^ e<<21 ^ e<<7 ) +  ( g ^ e & (f^g) ) + 0x748f82ee )|0;\n        d = ( d + h )|0;\n        h = ( h + ( (a & b) ^ ( c & (a ^ b) ) ) + ( a>>>2 ^ a>>>13 ^ a>>>22 ^ a<<30 ^ a<<19 ^ a<<10 ) )|0;\n\n        // 57\n        w9 = ( ( w10>>>7  ^ w10>>>18 ^ w10>>>3  ^ w10<<25 ^ w10<<14 ) + ( w7>>>17 ^ w7>>>19 ^ w7>>>10 ^ w7<<15 ^ w7<<13 ) + w9 + w2 )|0;\n        g = ( w9 + g + ( d>>>6 ^ d>>>11 ^ d>>>25 ^ d<<26 ^ d<<21 ^ d<<7 ) +  ( f ^ d & (e^f) ) + 0x78a5636f )|0;\n        c = ( c + g )|0;\n        g = ( g + ( (h & a) ^ ( b & (h ^ a) ) ) + ( h>>>2 ^ h>>>13 ^ h>>>22 ^ h<<30 ^ h<<19 ^ h<<10 ) )|0;\n\n        // 58\n        w10 = ( ( w11>>>7  ^ w11>>>18 ^ w11>>>3  ^ w11<<25 ^ w11<<14 ) + ( w8>>>17 ^ w8>>>19 ^ w8>>>10 ^ w8<<15 ^ w8<<13 ) + w10 + w3 )|0;\n        f = ( w10 + f + ( c>>>6 ^ c>>>11 ^ c>>>25 ^ c<<26 ^ c<<21 ^ c<<7 ) +  ( e ^ c & (d^e) ) + 0x84c87814 )|0;\n        b = ( b + f )|0;\n        f = ( f + ( (g & h) ^ ( a & (g ^ h) ) ) + ( g>>>2 ^ g>>>13 ^ g>>>22 ^ g<<30 ^ g<<19 ^ g<<10 ) )|0;\n\n        // 59\n        w11 = ( ( w12>>>7  ^ w12>>>18 ^ w12>>>3  ^ w12<<25 ^ w12<<14 ) + ( w9>>>17 ^ w9>>>19 ^ w9>>>10 ^ w9<<15 ^ w9<<13 ) + w11 + w4 )|0;\n        e = ( w11 + e + ( b>>>6 ^ b>>>11 ^ b>>>25 ^ b<<26 ^ b<<21 ^ b<<7 ) +  ( d ^ b & (c^d) ) + 0x8cc70208 )|0;\n        a = ( a + e )|0;\n        e = ( e + ( (f & g) ^ ( h & (f ^ g) ) ) + ( f>>>2 ^ f>>>13 ^ f>>>22 ^ f<<30 ^ f<<19 ^ f<<10 ) )|0;\n\n        // 60\n        w12 = ( ( w13>>>7  ^ w13>>>18 ^ w13>>>3  ^ w13<<25 ^ w13<<14 ) + ( w10>>>17 ^ w10>>>19 ^ w10>>>10 ^ w10<<15 ^ w10<<13 ) + w12 + w5 )|0;\n        d = ( w12 + d + ( a>>>6 ^ a>>>11 ^ a>>>25 ^ a<<26 ^ a<<21 ^ a<<7 ) +  ( c ^ a & (b^c) ) + 0x90befffa )|0;\n        h = ( h + d )|0;\n        d = ( d + ( (e & f) ^ ( g & (e ^ f) ) ) + ( e>>>2 ^ e>>>13 ^ e>>>22 ^ e<<30 ^ e<<19 ^ e<<10 ) )|0;\n\n        // 61\n        w13 = ( ( w14>>>7  ^ w14>>>18 ^ w14>>>3  ^ w14<<25 ^ w14<<14 ) + ( w11>>>17 ^ w11>>>19 ^ w11>>>10 ^ w11<<15 ^ w11<<13 ) + w13 + w6 )|0;\n        c = ( w13 + c + ( h>>>6 ^ h>>>11 ^ h>>>25 ^ h<<26 ^ h<<21 ^ h<<7 ) +  ( b ^ h & (a^b) ) + 0xa4506ceb )|0;\n        g = ( g + c )|0;\n        c = ( c + ( (d & e) ^ ( f & (d ^ e) ) ) + ( d>>>2 ^ d>>>13 ^ d>>>22 ^ d<<30 ^ d<<19 ^ d<<10 ) )|0;\n\n        // 62\n        w14 = ( ( w15>>>7  ^ w15>>>18 ^ w15>>>3  ^ w15<<25 ^ w15<<14 ) + ( w12>>>17 ^ w12>>>19 ^ w12>>>10 ^ w12<<15 ^ w12<<13 ) + w14 + w7 )|0;\n        b = ( w14 + b + ( g>>>6 ^ g>>>11 ^ g>>>25 ^ g<<26 ^ g<<21 ^ g<<7 ) +  ( a ^ g & (h^a) ) + 0xbef9a3f7 )|0;\n        f = ( f + b )|0;\n        b = ( b + ( (c & d) ^ ( e & (c ^ d) ) ) + ( c>>>2 ^ c>>>13 ^ c>>>22 ^ c<<30 ^ c<<19 ^ c<<10 ) )|0;\n\n        // 63\n        w15 = ( ( w0>>>7  ^ w0>>>18 ^ w0>>>3  ^ w0<<25 ^ w0<<14 ) + ( w13>>>17 ^ w13>>>19 ^ w13>>>10 ^ w13<<15 ^ w13<<13 ) + w15 + w8 )|0;\n        a = ( w15 + a + ( f>>>6 ^ f>>>11 ^ f>>>25 ^ f<<26 ^ f<<21 ^ f<<7 ) +  ( h ^ f & (g^h) ) + 0xc67178f2 )|0;\n        e = ( e + a )|0;\n        a = ( a + ( (b & c) ^ ( d & (b ^ c) ) ) + ( b>>>2 ^ b>>>13 ^ b>>>22 ^ b<<30 ^ b<<19 ^ b<<10 ) )|0;\n\n        H0 = ( H0 + a )|0;\n        H1 = ( H1 + b )|0;\n        H2 = ( H2 + c )|0;\n        H3 = ( H3 + d )|0;\n        H4 = ( H4 + e )|0;\n        H5 = ( H5 + f )|0;\n        H6 = ( H6 + g )|0;\n        H7 = ( H7 + h )|0;\n    }\n\n    function _core_heap ( offset ) {\n        offset = offset|0;\n\n        _core(\n            HEAP[offset|0]<<24 | HEAP[offset|1]<<16 | HEAP[offset|2]<<8 | HEAP[offset|3],\n            HEAP[offset|4]<<24 | HEAP[offset|5]<<16 | HEAP[offset|6]<<8 | HEAP[offset|7],\n            HEAP[offset|8]<<24 | HEAP[offset|9]<<16 | HEAP[offset|10]<<8 | HEAP[offset|11],\n            HEAP[offset|12]<<24 | HEAP[offset|13]<<16 | HEAP[offset|14]<<8 | HEAP[offset|15],\n            HEAP[offset|16]<<24 | HEAP[offset|17]<<16 | HEAP[offset|18]<<8 | HEAP[offset|19],\n            HEAP[offset|20]<<24 | HEAP[offset|21]<<16 | HEAP[offset|22]<<8 | HEAP[offset|23],\n            HEAP[offset|24]<<24 | HEAP[offset|25]<<16 | HEAP[offset|26]<<8 | HEAP[offset|27],\n            HEAP[offset|28]<<24 | HEAP[offset|29]<<16 | HEAP[offset|30]<<8 | HEAP[offset|31],\n            HEAP[offset|32]<<24 | HEAP[offset|33]<<16 | HEAP[offset|34]<<8 | HEAP[offset|35],\n            HEAP[offset|36]<<24 | HEAP[offset|37]<<16 | HEAP[offset|38]<<8 | HEAP[offset|39],\n            HEAP[offset|40]<<24 | HEAP[offset|41]<<16 | HEAP[offset|42]<<8 | HEAP[offset|43],\n            HEAP[offset|44]<<24 | HEAP[offset|45]<<16 | HEAP[offset|46]<<8 | HEAP[offset|47],\n            HEAP[offset|48]<<24 | HEAP[offset|49]<<16 | HEAP[offset|50]<<8 | HEAP[offset|51],\n            HEAP[offset|52]<<24 | HEAP[offset|53]<<16 | HEAP[offset|54]<<8 | HEAP[offset|55],\n            HEAP[offset|56]<<24 | HEAP[offset|57]<<16 | HEAP[offset|58]<<8 | HEAP[offset|59],\n            HEAP[offset|60]<<24 | HEAP[offset|61]<<16 | HEAP[offset|62]<<8 | HEAP[offset|63]\n        );\n    }\n\n    // offset — multiple of 32\n    function _state_to_heap ( output ) {\n        output = output|0;\n\n        HEAP[output|0] = H0>>>24;\n        HEAP[output|1] = H0>>>16&255;\n        HEAP[output|2] = H0>>>8&255;\n        HEAP[output|3] = H0&255;\n        HEAP[output|4] = H1>>>24;\n        HEAP[output|5] = H1>>>16&255;\n        HEAP[output|6] = H1>>>8&255;\n        HEAP[output|7] = H1&255;\n        HEAP[output|8] = H2>>>24;\n        HEAP[output|9] = H2>>>16&255;\n        HEAP[output|10] = H2>>>8&255;\n        HEAP[output|11] = H2&255;\n        HEAP[output|12] = H3>>>24;\n        HEAP[output|13] = H3>>>16&255;\n        HEAP[output|14] = H3>>>8&255;\n        HEAP[output|15] = H3&255;\n        HEAP[output|16] = H4>>>24;\n        HEAP[output|17] = H4>>>16&255;\n        HEAP[output|18] = H4>>>8&255;\n        HEAP[output|19] = H4&255;\n        HEAP[output|20] = H5>>>24;\n        HEAP[output|21] = H5>>>16&255;\n        HEAP[output|22] = H5>>>8&255;\n        HEAP[output|23] = H5&255;\n        HEAP[output|24] = H6>>>24;\n        HEAP[output|25] = H6>>>16&255;\n        HEAP[output|26] = H6>>>8&255;\n        HEAP[output|27] = H6&255;\n        HEAP[output|28] = H7>>>24;\n        HEAP[output|29] = H7>>>16&255;\n        HEAP[output|30] = H7>>>8&255;\n        HEAP[output|31] = H7&255;\n    }\n\n    function reset () {\n        H0 = 0x6a09e667;\n        H1 = 0xbb67ae85;\n        H2 = 0x3c6ef372;\n        H3 = 0xa54ff53a;\n        H4 = 0x510e527f;\n        H5 = 0x9b05688c;\n        H6 = 0x1f83d9ab;\n        H7 = 0x5be0cd19;\n        TOTAL0 = TOTAL1 = 0;\n    }\n\n    function init ( h0, h1, h2, h3, h4, h5, h6, h7, total0, total1 ) {\n        h0 = h0|0;\n        h1 = h1|0;\n        h2 = h2|0;\n        h3 = h3|0;\n        h4 = h4|0;\n        h5 = h5|0;\n        h6 = h6|0;\n        h7 = h7|0;\n        total0 = total0|0;\n        total1 = total1|0;\n\n        H0 = h0;\n        H1 = h1;\n        H2 = h2;\n        H3 = h3;\n        H4 = h4;\n        H5 = h5;\n        H6 = h6;\n        H7 = h7;\n        TOTAL0 = total0;\n        TOTAL1 = total1;\n    }\n\n    // offset — multiple of 64\n    function process ( offset, length ) {\n        offset = offset|0;\n        length = length|0;\n\n        var hashed = 0;\n\n        if ( offset & 63 )\n            return -1;\n\n        while ( (length|0) >= 64 ) {\n            _core_heap(offset);\n\n            offset = ( offset + 64 )|0;\n            length = ( length - 64 )|0;\n\n            hashed = ( hashed + 64 )|0;\n        }\n\n        TOTAL0 = ( TOTAL0 + hashed )|0;\n        if ( TOTAL0>>>0 < hashed>>>0 ) TOTAL1 = ( TOTAL1 + 1 )|0;\n\n        return hashed|0;\n    }\n\n    // offset — multiple of 64\n    // output — multiple of 32\n    function finish ( offset, length, output ) {\n        offset = offset|0;\n        length = length|0;\n        output = output|0;\n\n        var hashed = 0,\n            i = 0;\n\n        if ( offset & 63 )\n            return -1;\n\n        if ( ~output )\n            if ( output & 31 )\n                return -1;\n\n        if ( (length|0) >= 64 ) {\n            hashed = process( offset, length )|0;\n            if ( (hashed|0) == -1 )\n                return -1;\n\n            offset = ( offset + hashed )|0;\n            length = ( length - hashed )|0;\n        }\n\n        hashed = ( hashed + length )|0;\n        TOTAL0 = ( TOTAL0 + length )|0;\n        if ( TOTAL0>>>0 < length>>>0 ) TOTAL1 = ( TOTAL1 + 1 )|0;\n\n        HEAP[offset|length] = 0x80;\n\n        if ( (length|0) >= 56 ) {\n            for ( i = (length+1)|0; (i|0) < 64; i = (i+1)|0 )\n                HEAP[offset|i] = 0x00;\n\n            _core_heap(offset);\n\n            length = 0;\n\n            HEAP[offset|0] = 0;\n        }\n\n        for ( i = (length+1)|0; (i|0) < 59; i = (i+1)|0 )\n            HEAP[offset|i] = 0;\n\n        HEAP[offset|56] = TOTAL1>>>21&255;\n        HEAP[offset|57] = TOTAL1>>>13&255;\n        HEAP[offset|58] = TOTAL1>>>5&255;\n        HEAP[offset|59] = TOTAL1<<3&255 | TOTAL0>>>29;\n        HEAP[offset|60] = TOTAL0>>>21&255;\n        HEAP[offset|61] = TOTAL0>>>13&255;\n        HEAP[offset|62] = TOTAL0>>>5&255;\n        HEAP[offset|63] = TOTAL0<<3&255;\n        _core_heap(offset);\n\n        if ( ~output )\n            _state_to_heap(output);\n\n        return hashed|0;\n    }\n\n    function hmac_reset () {\n        H0 = I0;\n        H1 = I1;\n        H2 = I2;\n        H3 = I3;\n        H4 = I4;\n        H5 = I5;\n        H6 = I6;\n        H7 = I7;\n        TOTAL0 = 64;\n        TOTAL1 = 0;\n    }\n\n    function _hmac_opad () {\n        H0 = O0;\n        H1 = O1;\n        H2 = O2;\n        H3 = O3;\n        H4 = O4;\n        H5 = O5;\n        H6 = O6;\n        H7 = O7;\n        TOTAL0 = 64;\n        TOTAL1 = 0;\n    }\n\n    function hmac_init ( p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15 ) {\n        p0 = p0|0;\n        p1 = p1|0;\n        p2 = p2|0;\n        p3 = p3|0;\n        p4 = p4|0;\n        p5 = p5|0;\n        p6 = p6|0;\n        p7 = p7|0;\n        p8 = p8|0;\n        p9 = p9|0;\n        p10 = p10|0;\n        p11 = p11|0;\n        p12 = p12|0;\n        p13 = p13|0;\n        p14 = p14|0;\n        p15 = p15|0;\n\n        // opad\n        reset();\n        _core(\n            p0 ^ 0x5c5c5c5c,\n            p1 ^ 0x5c5c5c5c,\n            p2 ^ 0x5c5c5c5c,\n            p3 ^ 0x5c5c5c5c,\n            p4 ^ 0x5c5c5c5c,\n            p5 ^ 0x5c5c5c5c,\n            p6 ^ 0x5c5c5c5c,\n            p7 ^ 0x5c5c5c5c,\n            p8 ^ 0x5c5c5c5c,\n            p9 ^ 0x5c5c5c5c,\n            p10 ^ 0x5c5c5c5c,\n            p11 ^ 0x5c5c5c5c,\n            p12 ^ 0x5c5c5c5c,\n            p13 ^ 0x5c5c5c5c,\n            p14 ^ 0x5c5c5c5c,\n            p15 ^ 0x5c5c5c5c\n        );\n        O0 = H0;\n        O1 = H1;\n        O2 = H2;\n        O3 = H3;\n        O4 = H4;\n        O5 = H5;\n        O6 = H6;\n        O7 = H7;\n\n        // ipad\n        reset();\n        _core(\n            p0 ^ 0x36363636,\n            p1 ^ 0x36363636,\n            p2 ^ 0x36363636,\n            p3 ^ 0x36363636,\n            p4 ^ 0x36363636,\n            p5 ^ 0x36363636,\n            p6 ^ 0x36363636,\n            p7 ^ 0x36363636,\n            p8 ^ 0x36363636,\n            p9 ^ 0x36363636,\n            p10 ^ 0x36363636,\n            p11 ^ 0x36363636,\n            p12 ^ 0x36363636,\n            p13 ^ 0x36363636,\n            p14 ^ 0x36363636,\n            p15 ^ 0x36363636\n        );\n        I0 = H0;\n        I1 = H1;\n        I2 = H2;\n        I3 = H3;\n        I4 = H4;\n        I5 = H5;\n        I6 = H6;\n        I7 = H7;\n\n        TOTAL0 = 64;\n        TOTAL1 = 0;\n    }\n\n    // offset — multiple of 64\n    // output — multiple of 32\n    function hmac_finish ( offset, length, output ) {\n        offset = offset|0;\n        length = length|0;\n        output = output|0;\n\n        var t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n            hashed = 0;\n\n        if ( offset & 63 )\n            return -1;\n\n        if ( ~output )\n            if ( output & 31 )\n                return -1;\n\n        hashed = finish( offset, length, -1 )|0;\n        t0 = H0, t1 = H1, t2 = H2, t3 = H3, t4 = H4, t5 = H5, t6 = H6, t7 = H7;\n\n        _hmac_opad();\n        _core( t0, t1, t2, t3, t4, t5, t6, t7, 0x80000000, 0, 0, 0, 0, 0, 0, 768 );\n\n        if ( ~output )\n            _state_to_heap(output);\n\n        return hashed|0;\n    }\n\n    // salt is assumed to be already processed\n    // offset — multiple of 64\n    // output — multiple of 32\n    function pbkdf2_generate_block ( offset, length, block, count, output ) {\n        offset = offset|0;\n        length = length|0;\n        block = block|0;\n        count = count|0;\n        output = output|0;\n\n        var h0 = 0, h1 = 0, h2 = 0, h3 = 0, h4 = 0, h5 = 0, h6 = 0, h7 = 0,\n            t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0;\n\n        if ( offset & 63 )\n            return -1;\n\n        if ( ~output )\n            if ( output & 31 )\n                return -1;\n\n        // pad block number into heap\n        // FIXME probable OOB write\n        HEAP[(offset+length)|0]   = block>>>24;\n        HEAP[(offset+length+1)|0] = block>>>16&255;\n        HEAP[(offset+length+2)|0] = block>>>8&255;\n        HEAP[(offset+length+3)|0] = block&255;\n\n        // finish first iteration\n        hmac_finish( offset, (length+4)|0, -1 )|0;\n        h0 = t0 = H0, h1 = t1 = H1, h2 = t2 = H2, h3 = t3 = H3, h4 = t4 = H4, h5 = t5 = H5, h6 = t6 = H6, h7 = t7 = H7;\n        count = (count-1)|0;\n\n        // perform the rest iterations\n        while ( (count|0) > 0 ) {\n            hmac_reset();\n            _core( t0, t1, t2, t3, t4, t5, t6, t7, 0x80000000, 0, 0, 0, 0, 0, 0, 768 );\n            t0 = H0, t1 = H1, t2 = H2, t3 = H3, t4 = H4, t5 = H5, t6 = H6, t7 = H7;\n\n            _hmac_opad();\n            _core( t0, t1, t2, t3, t4, t5, t6, t7, 0x80000000, 0, 0, 0, 0, 0, 0, 768 );\n            t0 = H0, t1 = H1, t2 = H2, t3 = H3, t4 = H4, t5 = H5, t6 = H6, t7 = H7;\n\n            h0 = h0 ^ H0;\n            h1 = h1 ^ H1;\n            h2 = h2 ^ H2;\n            h3 = h3 ^ H3;\n            h4 = h4 ^ H4;\n            h5 = h5 ^ H5;\n            h6 = h6 ^ H6;\n            h7 = h7 ^ H7;\n\n            count = (count-1)|0;\n        }\n\n        H0 = h0;\n        H1 = h1;\n        H2 = h2;\n        H3 = h3;\n        H4 = h4;\n        H5 = h5;\n        H6 = h6;\n        H7 = h7;\n\n        if ( ~output )\n            _state_to_heap(output);\n\n        return 0;\n    }\n\n    return {\n        // SHA256\n        reset: reset,\n        init: init,\n        process: process,\n        finish: finish,\n\n        // HMAC-SHA256\n        hmac_reset: hmac_reset,\n        hmac_init: hmac_init,\n        hmac_finish: hmac_finish,\n\n        // PBKDF2-HMAC-SHA256\n        pbkdf2_generate_block: pbkdf2_generate_block\n    }\n}\n","import { _heap_write, is_buffer, is_bytes, is_string, string_to_bytes } from '../utils';\nimport { IllegalStateError } from '../errors';\n\nexport function hash_reset() {\n  this.result = null;\n  this.pos = 0;\n  this.len = 0;\n\n  this.asm.reset();\n\n  return this;\n}\n\nexport function hash_process(data) {\n  if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n  if (is_string(data)) data = string_to_bytes(data);\n\n  if (is_buffer(data)) data = new Uint8Array(data);\n\n  if (!is_bytes(data)) throw new TypeError(\"data isn't of expected type\");\n\n  var asm = this.asm,\n    heap = this.heap,\n    hpos = this.pos,\n    hlen = this.len,\n    dpos = 0,\n    dlen = data.length,\n    wlen = 0;\n\n  while (dlen > 0) {\n    wlen = _heap_write(heap, hpos + hlen, data, dpos, dlen);\n    hlen += wlen;\n    dpos += wlen;\n    dlen -= wlen;\n\n    wlen = asm.process(hpos, hlen);\n\n    hpos += wlen;\n    hlen -= wlen;\n\n    if (!hlen) hpos = 0;\n  }\n\n  this.pos = hpos;\n  this.len = hlen;\n\n  return this;\n}\n\nexport function hash_finish() {\n  if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n  this.asm.finish(this.pos, this.len, 0);\n\n  this.result = new Uint8Array(this.HASH_SIZE);\n  this.result.set(this.heap.subarray(0, this.HASH_SIZE));\n\n  this.pos = 0;\n  this.len = 0;\n\n  return this;\n}\n","import { sha256_asm } from './sha256.asm';\nimport { hash_finish, hash_process, hash_reset } from '../hash';\nimport { _heap_init } from '../../utils';\n\nexport var _sha256_block_size = 64;\nexport var _sha256_hash_size = 32;\n\nexport function sha256_constructor(options) {\n  options = options || {};\n\n  this.heap = _heap_init(Uint8Array, options.heap);\n  this.asm = options.asm || sha256_asm({ Uint8Array: Uint8Array }, null, this.heap.buffer);\n\n  this.BLOCK_SIZE = _sha256_block_size;\n  this.HASH_SIZE = _sha256_hash_size;\n\n  this.reset();\n}\n\nsha256_constructor.BLOCK_SIZE = _sha256_block_size;\nsha256_constructor.HASH_SIZE = _sha256_hash_size;\nsha256_constructor.NAME = 'sha256';\n\nvar sha256_prototype = sha256_constructor.prototype;\nsha256_prototype.reset = hash_reset;\nsha256_prototype.process = hash_process;\nsha256_prototype.finish = hash_finish;\n\nvar sha256_instance = null;\n\nexport function get_sha256_instance() {\n  if (sha256_instance === null) sha256_instance = new sha256_constructor({ heapSize: 0x100000 });\n  return sha256_instance;\n}\n","import { hmac_constructor, _hmac_key } from './hmac';\nimport { _sha256_hash_size, get_sha256_instance, sha256_constructor } from '../hash/sha256/sha256';\nimport { is_string, string_to_bytes } from '../utils';\nimport { IllegalStateError } from '../errors';\n\nexport class hmac_sha256_constructor extends hmac_constructor {\n  constructor(options) {\n    options = options || {};\n\n    if (!(options.hash instanceof sha256_constructor)) options.hash = get_sha256_instance();\n\n    super(options);\n  }\n\n  reset(options) {\n    options = options || {};\n\n    this.result = null;\n    this.hash.reset();\n\n    var password = options.password;\n    if (password !== undefined) {\n      if (is_string(password)) password = string_to_bytes(password);\n\n      var key = (this.key = _hmac_key(this.hash, password));\n      this.hash\n        .reset()\n        .asm.hmac_init(\n          (key[0] << 24) | (key[1] << 16) | (key[2] << 8) | key[3],\n          (key[4] << 24) | (key[5] << 16) | (key[6] << 8) | key[7],\n          (key[8] << 24) | (key[9] << 16) | (key[10] << 8) | key[11],\n          (key[12] << 24) | (key[13] << 16) | (key[14] << 8) | key[15],\n          (key[16] << 24) | (key[17] << 16) | (key[18] << 8) | key[19],\n          (key[20] << 24) | (key[21] << 16) | (key[22] << 8) | key[23],\n          (key[24] << 24) | (key[25] << 16) | (key[26] << 8) | key[27],\n          (key[28] << 24) | (key[29] << 16) | (key[30] << 8) | key[31],\n          (key[32] << 24) | (key[33] << 16) | (key[34] << 8) | key[35],\n          (key[36] << 24) | (key[37] << 16) | (key[38] << 8) | key[39],\n          (key[40] << 24) | (key[41] << 16) | (key[42] << 8) | key[43],\n          (key[44] << 24) | (key[45] << 16) | (key[46] << 8) | key[47],\n          (key[48] << 24) | (key[49] << 16) | (key[50] << 8) | key[51],\n          (key[52] << 24) | (key[53] << 16) | (key[54] << 8) | key[55],\n          (key[56] << 24) | (key[57] << 16) | (key[58] << 8) | key[59],\n          (key[60] << 24) | (key[61] << 16) | (key[62] << 8) | key[63],\n        );\n    } else {\n      this.hash.asm.hmac_reset();\n    }\n\n    var verify = options.verify;\n    if (verify !== undefined) {\n      this._hmac_init_verify(verify);\n    } else {\n      this.verify = null;\n    }\n\n    return this;\n  }\n\n  /**\n   * @return {hmac_sha256_constructor}\n   */\n  finish() {\n    if (this.key === null) throw new IllegalStateError('no key is associated with the instance');\n\n    if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n    var hash = this.hash,\n      asm = this.hash.asm,\n      heap = this.hash.heap;\n\n    asm.hmac_finish(hash.pos, hash.len, 0);\n\n    var verify = this.verify;\n    var result = new Uint8Array(_sha256_hash_size);\n    result.set(heap.subarray(0, _sha256_hash_size));\n\n    if (verify) {\n      if (verify.length === result.length) {\n        var diff = 0;\n        for (var i = 0; i < verify.length; i++) {\n          diff |= verify[i] ^ result[i];\n        }\n        this.result = !diff;\n      } else {\n        this.result = false;\n      }\n    } else {\n      this.result = result;\n    }\n\n    return this;\n  }\n}\n\nhmac_sha256_constructor.BLOCK_SIZE = sha256_constructor.BLOCK_SIZE;\nhmac_sha256_constructor.HMAC_SIZE = sha256_constructor.HASH_SIZE;\n\nvar hmac_sha256_instance = null;\n\n/**\n * @return {hmac_sha256_constructor}\n */\nexport function get_hmac_sha256_instance() {\n  if (hmac_sha256_instance === null) hmac_sha256_instance = new hmac_sha256_constructor();\n  return hmac_sha256_instance;\n}\n","import { pbkdf2_constructor } from './pbkdf2';\nimport { get_hmac_sha256_instance, hmac_sha256_constructor } from '../hmac/hmac-sha256';\nimport { is_string } from '../utils';\nimport { IllegalArgumentError, IllegalStateError } from '../errors';\n\nexport class pbkdf2_hmac_sha256_constructor extends pbkdf2_constructor {\n  constructor(options) {\n    options = options || {};\n\n    if (!(options.hmac instanceof hmac_sha256_constructor)) options.hmac = get_hmac_sha256_instance();\n\n    super(options);\n  }\n\n  generate(salt, count, length) {\n    if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n    if (!salt && !is_string(salt)) throw new IllegalArgumentError(\"bad 'salt' value\");\n\n    count = count || this.count;\n    length = length || this.length;\n\n    this.result = new Uint8Array(length);\n\n    var blocks = Math.ceil(length / this.hmac.HMAC_SIZE);\n\n    for (var i = 1; i <= blocks; ++i) {\n      var j = (i - 1) * this.hmac.HMAC_SIZE;\n      var l = (i < blocks ? 0 : length % this.hmac.HMAC_SIZE) || this.hmac.HMAC_SIZE;\n\n      this.hmac.reset().process(salt);\n      this.hmac.hash.asm.pbkdf2_generate_block(this.hmac.hash.pos, this.hmac.hash.len, i, count, 0);\n\n      this.result.set(this.hmac.hash.heap.subarray(0, l), j);\n    }\n\n    return this;\n  }\n}\n\nvar pbkdf2_hmac_sha256_instance = null;\n\nexport function get_pbkdf2_hmac_sha256_instance() {\n  if (pbkdf2_hmac_sha256_instance === null) pbkdf2_hmac_sha256_instance = new pbkdf2_hmac_sha256_constructor();\n  return pbkdf2_hmac_sha256_instance;\n}\n","import { ISAAC } from './isaac';\nimport { FloatArray, is_buffer, is_typed_array } from '../utils';\nimport { get_pbkdf2_hmac_sha256_instance } from '../pbkdf2/pbkdf2-hmac-sha256';\nimport { SecurityError } from '../errors';\n\nvar _global_console = typeof console !== 'undefined' ? console : undefined,\n  _global_date_now = Date.now,\n  _global_math_random = Math.random,\n  _global_performance = typeof performance !== 'undefined' ? performance : undefined,\n  _global_crypto = typeof crypto !== 'undefined' ? crypto : typeof msCrypto !== 'undefined' ? msCrypto : undefined,\n  _global_crypto_getRandomValues;\n\nif (_global_crypto !== undefined) _global_crypto_getRandomValues = _global_crypto.getRandomValues;\n\nvar _isaac_rand = ISAAC.rand,\n  _isaac_seed = ISAAC.seed,\n  _isaac_counter = 0,\n  _isaac_weak_seeded = false,\n  _isaac_seeded = false;\n\nvar _random_estimated_entropy = 0,\n  _random_required_entropy = 256,\n  _random_warn_callstacks = {};\n\nexport var _random_skip_system_rng_warning = false;\nexport var _random_allow_weak = false;\n\nvar _hires_now;\nif (_global_performance !== undefined) {\n  _hires_now = function() {\n    return (1000 * _global_performance.now()) | 0;\n  };\n} else {\n  var _hires_epoch = (1000 * _global_date_now()) | 0;\n  _hires_now = function() {\n    return (1000 * _global_date_now() - _hires_epoch) | 0;\n  };\n}\n\n/**\n * weak_seed\n *\n * Seeds RNG with native `crypto.getRandomValues` output or with high-resolution\n * time and single `Math.random()` value, and various other sources.\n *\n * We estimate this may give at least ~50 bits of unpredictableness,\n * but this has not been analysed thoroughly or precisely.\n */\nfunction Random_weak_seed() {\n  if (_global_crypto !== undefined) {\n    buffer = new Uint8Array(32);\n    _global_crypto_getRandomValues.call(_global_crypto, buffer);\n\n    _isaac_seed(buffer);\n  } else {\n    // Some clarification about brute-force attack cost:\n    // - entire bitcoin network operates at ~10^16 hash guesses per second;\n    // - each PBKDF2 iteration requires the same number of hashing operations as bitcoin nonce guess;\n    // - attacker having such a hashing power is able to break worst-case 50 bits of the randomness in ~3 hours;\n    // Sounds sad though attacker having such a hashing power more likely would prefer to mine bitcoins.\n    var buffer = new FloatArray(3),\n      i,\n      t;\n\n    buffer[0] = _global_math_random();\n    buffer[1] = _global_date_now();\n    buffer[2] = _hires_now();\n\n    buffer = new Uint8Array(buffer.buffer);\n\n    var salt = '';\n    if (typeof location !== 'undefined') {\n      salt += location.href;\n    } else if (typeof process !== 'undefined') {\n      salt += process.pid + process.title;\n    }\n\n    var pbkdf2 = get_pbkdf2_hmac_sha256_instance();\n    for (i = 0; i < 100; i++) {\n      buffer = pbkdf2.reset({ password: buffer }).generate(salt, 1000, 32).result;\n      t = _hires_now();\n      (buffer[0] ^= t >>> 24), (buffer[1] ^= t >>> 16), (buffer[2] ^= t >>> 8), (buffer[3] ^= t);\n    }\n\n    _isaac_seed(buffer);\n  }\n\n  _isaac_counter = 0;\n\n  _isaac_weak_seeded = true;\n}\n\n/**\n * seed\n *\n * Seeds PRNG with supplied random values if these values have enough entropy.\n *\n * A false return value means the RNG is currently insecure; however a true\n * return value does not mean it is necessarily secure (depending on how you\n * collected the seed) though asmCrypto will be forced to assume this.\n *\n * The input buffer will be zeroed to discourage reuse. You should not copy it\n * or use it anywhere else before passing it into this function.\n *\n * **DISCLAIMER!** Seeding with a poor values is an easiest way shoot your legs, so\n * do not seed until you're know what entropy is and how to obtail high-quality random values,\n * **DO NOT SEED WITH CONSTANT VALUE! YOU'LL GET NO RANDOMNESS FROM CONSTANT!**\n */\nexport function Random_seed(seed) {\n  if (!is_buffer(seed) && !is_typed_array(seed)) throw new TypeError('bad seed type');\n\n  var bpos = seed.byteOffset || 0,\n    blen = seed.byteLength || seed.length,\n    buff = new Uint8Array(seed.buffer || seed, bpos, blen);\n\n  _isaac_seed(buff);\n\n  _isaac_counter = 0;\n\n  // don't let the user use these bytes again\n  var nonzero = 0;\n  for (var i = 0; i < buff.length; i++) {\n    nonzero |= buff[i];\n    buff[i] = 0;\n  }\n\n  if (nonzero !== 0) {\n    // TODO we could make a better estimate, but half-length is a prudent\n    // simple measure that seems unlikely to over-estimate\n    _random_estimated_entropy += 4 * blen;\n  }\n\n  _isaac_seeded = _random_estimated_entropy >= _random_required_entropy;\n\n  return _isaac_seeded;\n}\n\n/**\n * getValues\n *\n * Populates the buffer with cryptographically secure random values. These are\n * calculated using `crypto.getRandomValues` if it is available, as well as our\n * own ISAAC PRNG implementation.\n *\n * If the former is not available (older browsers such as IE10 [1]), then the\n * latter *must* be seeded using `Random.seed`, unless `asmCrypto.random.allowWeak` is true.\n *\n * *We assume the system RNG is strong*; if you cannot afford this risk, then\n * you should also seed ISAAC using `Random.seed`. This is advisable for very\n * important situations, such as generation of long-term secrets. See also [2].\n *\n * [1] https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n * [2] https://en.wikipedia.org/wiki/Dual_EC_DRBG\n *\n * In all cases, we opportunistically seed using various arbitrary sources\n * such as high-resolution time and one single value from the insecure\n * Math.random(); however this is not reliable as a strong security measure.\n */\nexport function Random_getValues(buffer) {\n  // opportunistically seed ISAAC with a weak seed; this hopefully makes an\n  // attack harder in the case where the system RNG is weak *and* we haven't\n  // seeded ISAAC. but don't make any guarantees to the user about this.\n  if (!_isaac_weak_seeded) Random_weak_seed();\n\n  // if we have no strong sources then the RNG is weak, handle it\n  if (!_isaac_seeded && _global_crypto === undefined) {\n    if (!_random_allow_weak) throw new SecurityError('No strong PRNGs available. Use asmCrypto.random.seed().');\n\n    if (_global_console !== undefined)\n      _global_console.error(\n        'No strong PRNGs available; your security is greatly lowered. Use asmCrypto.random.seed().',\n      );\n  }\n\n  // separate warning about assuming system RNG strong\n  if (\n    !_random_skip_system_rng_warning &&\n    !_isaac_seeded &&\n    _global_crypto !== undefined &&\n    _global_console !== undefined\n  ) {\n    // Hacky way to get call stack\n    var s = new Error().stack;\n    _random_warn_callstacks[s] |= 0;\n    if (!_random_warn_callstacks[s]++)\n      _global_console.warn(\n        'asmCrypto PRNG not seeded; your security relies on your system PRNG. If this is not acceptable, use asmCrypto.random.seed().',\n      );\n  }\n\n  // proceed to get random values\n  if (!is_buffer(buffer) && !is_typed_array(buffer)) throw new TypeError('unexpected buffer type');\n\n  var bpos = buffer.byteOffset || 0,\n    blen = buffer.byteLength || buffer.length,\n    bytes = new Uint8Array(buffer.buffer || buffer, bpos, blen),\n    i,\n    r;\n\n  // apply system rng\n  if (_global_crypto !== undefined) _global_crypto_getRandomValues.call(_global_crypto, bytes);\n\n  // apply isaac rng\n  for (i = 0; i < blen; i++) {\n    if ((i & 3) === 0) {\n      if (_isaac_counter >= 0x10000000000) Random_weak_seed();\n      r = _isaac_rand();\n      _isaac_counter++;\n    }\n    bytes[i] ^= r;\n    r >>>= 8;\n  }\n\n  return buffer;\n}\n\n/**\n * getNumber\n *\n * A drop-in `Math.random` replacement.\n * Intended for prevention of random material leakage out of the user's host.\n */\nexport function Random_getNumber() {\n  if (!_isaac_weak_seeded || _isaac_counter >= 0x10000000000) Random_weak_seed();\n\n  var n = (0x100000 * _isaac_rand() + (_isaac_rand() >>> 12)) / 0x10000000000000;\n  _isaac_counter += 2;\n\n  return n;\n}\n\nObject.defineProperty(Random_getNumber, 'allowWeak', {\n  get: function() {\n    return _random_allow_weak;\n  },\n  set: function(a) {\n    _random_allow_weak = a;\n  },\n});\n\nObject.defineProperty(Random_getNumber, 'skipSystemRNGWarning', {\n  get: function() {\n    return _random_skip_system_rng_warning;\n  },\n  set: function(w) {\n    _random_skip_system_rng_warning = w;\n  },\n});\n\nObject.defineProperty(Random_getValues, 'allowWeak', {\n  get: function() {\n    return _random_allow_weak;\n  },\n  set: function(a) {\n    _random_allow_weak = a;\n  },\n});\n\nObject.defineProperty(Random_getValues, 'skipSystemRNGWarning', {\n  get: function() {\n    return _random_skip_system_rng_warning;\n  },\n  set: function(w) {\n    _random_skip_system_rng_warning = w;\n  },\n});\n\nRandom_getNumber.seed = Random_seed;\nRandom_getValues.seed = Random_seed;\n","/**\n * Integers are represented as little endian array of 32-bit limbs.\n * Limbs number is a power of 2 and a multiple of 8 (256 bits).\n * Negative values use two's complement representation.\n */\nexport function bigint_asm ( stdlib, foreign, buffer ) {\n    \"use asm\";\n\n    var SP = 0;\n\n    var HEAP32 = new stdlib.Uint32Array(buffer);\n\n    var imul = stdlib.Math.imul;\n\n    /**\n     * Simple stack memory allocator\n     *\n     * Methods:\n     *  sreset\n     *  salloc\n     *  sfree\n     */\n\n    function sreset ( p ) {\n        p = p|0;\n        SP = p = (p + 31) & -32;\n        return p|0;\n    }\n\n    function salloc ( l ) {\n        l = l|0;\n        var p = 0; p = SP;\n        SP = p + ((l + 31) & -32)|0;\n        return p|0;\n    }\n\n    function sfree ( l ) {\n        l = l|0;\n        SP = SP - ((l + 31) & -32)|0;\n    }\n\n    /**\n     * Utility functions:\n     *  cp\n     *  z\n     */\n\n    function cp ( l, A, B ) {\n        l = l|0;\n        A = A|0;\n        B = B|0;\n\n        var i = 0;\n\n        if ( (A|0) > (B|0) ) {\n            for ( ; (i|0) < (l|0); i = (i+4)|0 ) {\n                HEAP32[(B+i)>>2] = HEAP32[(A+i)>>2];\n            }\n        }\n        else {\n            for ( i = (l-4)|0; (i|0) >= 0; i = (i-4)|0 ) {\n                HEAP32[(B+i)>>2] = HEAP32[(A+i)>>2];\n            }\n        }\n    }\n\n    function z ( l, z, A ) {\n        l = l|0;\n        z = z|0;\n        A = A|0;\n\n        var i = 0;\n\n        for ( ; (i|0) < (l|0); i = (i+4)|0 ) {\n            HEAP32[(A+i)>>2] = z;\n        }\n    }\n\n    /**\n     * Negate the argument\n     *\n     * Perform two's complement transformation:\n     *\n     *  -A = ~A + 1\n     *\n     * @param A offset of the argment being negated, 32-byte aligned\n     * @param lA length of the argument, multiple of 32\n     *\n     * @param R offset where to place the result to, 32-byte aligned\n     * @param lR length to truncate the result to, multiple of 32\n     */\n    function neg ( A, lA, R, lR ) {\n        A  =  A|0;\n        lA = lA|0;\n        R  =  R|0;\n        lR = lR|0;\n\n        var a = 0, c = 0, t = 0, r = 0, i = 0;\n\n        if ( (lR|0) <= 0 )\n            lR = lA;\n\n        if ( (lR|0) < (lA|0) )\n            lA = lR;\n\n        c = 1;\n        for ( ; (i|0) < (lA|0); i = (i+4)|0 ) {\n            a = ~HEAP32[(A+i)>>2];\n            t = (a & 0xffff) + c|0;\n            r = (a >>> 16) + (t >>> 16)|0;\n            HEAP32[(R+i)>>2] = (r << 16) | (t & 0xffff);\n            c = r >>> 16;\n        }\n\n        for ( ; (i|0) < (lR|0); i = (i+4)|0 ) {\n            HEAP32[(R+i)>>2] = (c-1)|0;\n        }\n\n        return c|0;\n    }\n\n    function cmp ( A, lA, B, lB ) {\n        A  =  A|0;\n        lA = lA|0;\n        B  =  B|0;\n        lB = lB|0;\n\n        var a = 0, b = 0, i = 0;\n\n        if ( (lA|0) > (lB|0) ) {\n            for ( i = (lA-4)|0; (i|0) >= (lB|0); i = (i-4)|0 ) {\n                if ( HEAP32[(A+i)>>2]|0 ) return 1;\n            }\n        }\n        else {\n            for ( i = (lB-4)|0; (i|0) >= (lA|0); i = (i-4)|0 ) {\n                if ( HEAP32[(B+i)>>2]|0 ) return -1;\n            }\n        }\n\n        for ( ; (i|0) >= 0; i = (i-4)|0 ) {\n            a = HEAP32[(A+i)>>2]|0, b = HEAP32[(B+i)>>2]|0;\n            if ( (a>>>0) < (b>>>0) ) return -1;\n            if ( (a>>>0) > (b>>>0) ) return 1;\n        }\n\n        return 0;\n    }\n\n    /**\n     * Test the argument\n     *\n     * Same as `cmp` with zero.\n     */\n    function tst ( A, lA ) {\n        A  =  A|0;\n        lA = lA|0;\n\n        var i = 0;\n\n        for ( i = (lA-4)|0; (i|0) >= 0; i = (i-4)|0 ) {\n            if ( HEAP32[(A+i)>>2]|0 ) return (i+4)|0;\n        }\n\n        return 0;\n    }\n\n    /**\n     * Conventional addition\n     *\n     * @param A offset of the first argument, 32-byte aligned\n     * @param lA length of the first argument, multiple of 32\n     *\n     * @param B offset of the second argument, 32-bit aligned\n     * @param lB length of the second argument, multiple of 32\n     *\n     * @param R offset where to place the result to, 32-byte aligned\n     * @param lR length to truncate the result to, multiple of 32\n     */\n    function add ( A, lA, B, lB, R, lR ) {\n        A  =  A|0;\n        lA = lA|0;\n        B  =  B|0;\n        lB = lB|0;\n        R  =  R|0;\n        lR = lR|0;\n\n        var a = 0, b = 0, c = 0, t = 0, r = 0, i = 0;\n\n        if ( (lA|0) < (lB|0) ) {\n            t = A, A = B, B = t;\n            t = lA, lA = lB, lB = t;\n        }\n\n        if ( (lR|0) <= 0 )\n            lR = lA+4|0;\n\n        if ( (lR|0) < (lB|0) )\n            lA = lB = lR;\n\n        for ( ; (i|0) < (lB|0); i = (i+4)|0 ) {\n            a = HEAP32[(A+i)>>2]|0;\n            b = HEAP32[(B+i)>>2]|0;\n            t = ( (a & 0xffff) + (b & 0xffff)|0 ) + c|0;\n            r = ( (a >>> 16) + (b >>> 16)|0 ) + (t >>> 16)|0;\n            HEAP32[(R+i)>>2] = (t & 0xffff) | (r << 16);\n            c = r >>> 16;\n        }\n\n        for ( ; (i|0) < (lA|0); i = (i+4)|0 ) {\n            a = HEAP32[(A+i)>>2]|0;\n            t = (a & 0xffff) + c|0;\n            r = (a >>> 16) + (t >>> 16)|0;\n            HEAP32[(R+i)>>2] = (t & 0xffff) | (r << 16);\n            c = r >>> 16;\n        }\n\n        for ( ; (i|0) < (lR|0); i = (i+4)|0 ) {\n            HEAP32[(R+i)>>2] = c|0;\n            c = 0;\n        }\n\n        return c|0;\n    }\n\n   /**\n     * Conventional subtraction\n     *\n     * @param A offset of the first argument, 32-byte aligned\n     * @param lA length of the first argument, multiple of 32\n     *\n     * @param B offset of the second argument, 32-bit aligned\n     * @param lB length of the second argument, multiple of 32\n     *\n     * @param R offset where to place the result to, 32-byte aligned\n     * @param lR length to truncate the result to, multiple of 32\n     */\n    function sub ( A, lA, B, lB, R, lR ) {\n        A  =  A|0;\n        lA = lA|0;\n        B  =  B|0;\n        lB = lB|0;\n        R  =  R|0;\n        lR = lR|0;\n\n        var a = 0, b = 0, c = 0, t = 0, r = 0, i = 0;\n\n        if ( (lR|0) <= 0 )\n            lR = (lA|0) > (lB|0) ? lA+4|0 : lB+4|0;\n\n        if ( (lR|0) < (lA|0) )\n            lA = lR;\n\n        if ( (lR|0) < (lB|0) )\n            lB = lR;\n\n        if ( (lA|0) < (lB|0) ) {\n            for ( ; (i|0) < (lA|0); i = (i+4)|0 ) {\n                a = HEAP32[(A+i)>>2]|0;\n                b = HEAP32[(B+i)>>2]|0;\n                t = ( (a & 0xffff) - (b & 0xffff)|0 ) + c|0;\n                r = ( (a >>> 16) - (b >>> 16)|0 ) + (t >> 16)|0;\n                HEAP32[(R+i)>>2] = (t & 0xffff) | (r << 16);\n                c = r >> 16;\n            }\n\n            for ( ; (i|0) < (lB|0); i = (i+4)|0 ) {\n                b = HEAP32[(B+i)>>2]|0;\n                t = c - (b & 0xffff)|0;\n                r = (t >> 16) - (b >>> 16)|0;\n                HEAP32[(R+i)>>2] = (t & 0xffff) | (r << 16);\n                c = r >> 16;\n            }\n        }\n        else {\n            for ( ; (i|0) < (lB|0); i = (i+4)|0 ) {\n                a = HEAP32[(A+i)>>2]|0;\n                b = HEAP32[(B+i)>>2]|0;\n                t = ( (a & 0xffff) - (b & 0xffff)|0 ) + c|0;\n                r = ( (a >>> 16) - (b >>> 16)|0 ) + (t >> 16)|0;\n                HEAP32[(R+i)>>2] = (t & 0xffff) | (r << 16);\n                c = r >> 16;\n            }\n\n            for ( ; (i|0) < (lA|0); i = (i+4)|0 ) {\n                a = HEAP32[(A+i)>>2]|0;\n                t = (a & 0xffff) + c|0;\n                r = (a >>> 16) + (t >> 16)|0;\n                HEAP32[(R+i)>>2] = (t & 0xffff) | (r << 16);\n                c = r >> 16;\n            }\n        }\n\n        for ( ; (i|0) < (lR|0); i = (i+4)|0 ) {\n            HEAP32[(R+i)>>2] = c|0;\n        }\n\n        return c|0;\n    }\n\n    /**\n     * Conventional multiplication\n     *\n     * TODO implement Karatsuba algorithm for large multiplicands\n     *\n     * @param A offset of the first argument, 32-byte aligned\n     * @param lA length of the first argument, multiple of 32\n     *\n     * @param B offset of the second argument, 32-byte aligned\n     * @param lB length of the second argument, multiple of 32\n     *\n     * @param R offset where to place the result to, 32-byte aligned\n     * @param lR length to truncate the result to, multiple of 32\n     */\n    function mul ( A, lA, B, lB, R, lR ) {\n        A  =  A|0;\n        lA = lA|0;\n        B  =  B|0;\n        lB = lB|0;\n        R  =  R|0;\n        lR = lR|0;\n\n        var al0 = 0, al1 = 0, al2 = 0, al3 = 0, al4 = 0, al5 = 0, al6 = 0, al7 = 0, ah0 = 0, ah1 = 0, ah2 = 0, ah3 = 0, ah4 = 0, ah5 = 0, ah6 = 0, ah7 = 0,\n            bl0 = 0, bl1 = 0, bl2 = 0, bl3 = 0, bl4 = 0, bl5 = 0, bl6 = 0, bl7 = 0, bh0 = 0, bh1 = 0, bh2 = 0, bh3 = 0, bh4 = 0, bh5 = 0, bh6 = 0, bh7 = 0,\n            r0 = 0, r1 = 0, r2 = 0, r3 = 0, r4 = 0, r5 = 0, r6 = 0, r7 = 0, r8 = 0, r9 = 0, r10 = 0, r11 = 0, r12 = 0, r13 = 0, r14 = 0, r15 = 0,\n            u = 0, v = 0, w = 0, m = 0,\n            i = 0, Ai = 0, j = 0, Bj = 0, Rk = 0;\n\n        if ( (lA|0) > (lB|0) ) {\n            u = A, v = lA;\n            A = B, lA = lB;\n            B = u, lB = v;\n        }\n\n        m = (lA+lB)|0;\n        if ( ( (lR|0) > (m|0) ) | ( (lR|0) <= 0 ) )\n            lR = m;\n\n        if ( (lR|0) < (lA|0) )\n            lA = lR;\n\n        if ( (lR|0) < (lB|0) )\n            lB = lR;\n\n        for ( ; (i|0) < (lA|0); i = (i+32)|0 ) {\n            Ai = (A+i)|0;\n\n            ah0 = HEAP32[(Ai|0)>>2]|0,\n            ah1 = HEAP32[(Ai|4)>>2]|0,\n            ah2 = HEAP32[(Ai|8)>>2]|0,\n            ah3 = HEAP32[(Ai|12)>>2]|0,\n            ah4 = HEAP32[(Ai|16)>>2]|0,\n            ah5 = HEAP32[(Ai|20)>>2]|0,\n            ah6 = HEAP32[(Ai|24)>>2]|0,\n            ah7 = HEAP32[(Ai|28)>>2]|0,\n            al0 = ah0 & 0xffff,\n            al1 = ah1 & 0xffff,\n            al2 = ah2 & 0xffff,\n            al3 = ah3 & 0xffff,\n            al4 = ah4 & 0xffff,\n            al5 = ah5 & 0xffff,\n            al6 = ah6 & 0xffff,\n            al7 = ah7 & 0xffff,\n            ah0 = ah0 >>> 16,\n            ah1 = ah1 >>> 16,\n            ah2 = ah2 >>> 16,\n            ah3 = ah3 >>> 16,\n            ah4 = ah4 >>> 16,\n            ah5 = ah5 >>> 16,\n            ah6 = ah6 >>> 16,\n            ah7 = ah7 >>> 16;\n\n            r8 = r9 = r10 = r11 = r12 = r13 = r14 = r15 = 0;\n\n            for ( j = 0; (j|0) < (lB|0); j = (j+32)|0 ) {\n                Bj = (B+j)|0;\n                Rk = (R+(i+j|0))|0;\n\n                bh0 = HEAP32[(Bj|0)>>2]|0,\n                bh1 = HEAP32[(Bj|4)>>2]|0,\n                bh2 = HEAP32[(Bj|8)>>2]|0,\n                bh3 = HEAP32[(Bj|12)>>2]|0,\n                bh4 = HEAP32[(Bj|16)>>2]|0,\n                bh5 = HEAP32[(Bj|20)>>2]|0,\n                bh6 = HEAP32[(Bj|24)>>2]|0,\n                bh7 = HEAP32[(Bj|28)>>2]|0,\n                bl0 = bh0 & 0xffff,\n                bl1 = bh1 & 0xffff,\n                bl2 = bh2 & 0xffff,\n                bl3 = bh3 & 0xffff,\n                bl4 = bh4 & 0xffff,\n                bl5 = bh5 & 0xffff,\n                bl6 = bh6 & 0xffff,\n                bl7 = bh7 & 0xffff,\n                bh0 = bh0 >>> 16,\n                bh1 = bh1 >>> 16,\n                bh2 = bh2 >>> 16,\n                bh3 = bh3 >>> 16,\n                bh4 = bh4 >>> 16,\n                bh5 = bh5 >>> 16,\n                bh6 = bh6 >>> 16,\n                bh7 = bh7 >>> 16;\n\n                r0 = HEAP32[(Rk|0)>>2]|0,\n                r1 = HEAP32[(Rk|4)>>2]|0,\n                r2 = HEAP32[(Rk|8)>>2]|0,\n                r3 = HEAP32[(Rk|12)>>2]|0,\n                r4 = HEAP32[(Rk|16)>>2]|0,\n                r5 = HEAP32[(Rk|20)>>2]|0,\n                r6 = HEAP32[(Rk|24)>>2]|0,\n                r7 = HEAP32[(Rk|28)>>2]|0;\n\n                u = ((imul(al0, bl0)|0) + (r8 & 0xffff)|0) + (r0 & 0xffff)|0;\n                v = ((imul(ah0, bl0)|0) + (r8 >>> 16)|0) + (r0 >>> 16)|0;\n                w = ((imul(al0, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah0, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r0 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al0, bl1)|0) + (m & 0xffff)|0) + (r1 & 0xffff)|0;\n                v = ((imul(ah0, bl1)|0) + (m >>> 16)|0) + (r1 >>> 16)|0;\n                w = ((imul(al0, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah0, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r1 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al0, bl2)|0) + (m & 0xffff)|0) + (r2 & 0xffff)|0;\n                v = ((imul(ah0, bl2)|0) + (m >>> 16)|0) + (r2 >>> 16)|0;\n                w = ((imul(al0, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah0, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r2 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al0, bl3)|0) + (m & 0xffff)|0) + (r3 & 0xffff)|0;\n                v = ((imul(ah0, bl3)|0) + (m >>> 16)|0) + (r3 >>> 16)|0;\n                w = ((imul(al0, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah0, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r3 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al0, bl4)|0) + (m & 0xffff)|0) + (r4 & 0xffff)|0;\n                v = ((imul(ah0, bl4)|0) + (m >>> 16)|0) + (r4 >>> 16)|0;\n                w = ((imul(al0, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah0, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r4 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al0, bl5)|0) + (m & 0xffff)|0) + (r5 & 0xffff)|0;\n                v = ((imul(ah0, bl5)|0) + (m >>> 16)|0) + (r5 >>> 16)|0;\n                w = ((imul(al0, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah0, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r5 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al0, bl6)|0) + (m & 0xffff)|0) + (r6 & 0xffff)|0;\n                v = ((imul(ah0, bl6)|0) + (m >>> 16)|0) + (r6 >>> 16)|0;\n                w = ((imul(al0, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah0, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r6 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al0, bl7)|0) + (m & 0xffff)|0) + (r7 & 0xffff)|0;\n                v = ((imul(ah0, bl7)|0) + (m >>> 16)|0) + (r7 >>> 16)|0;\n                w = ((imul(al0, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah0, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r7 = (w << 16) | (u & 0xffff);\n\n                r8 = m;\n\n                u = ((imul(al1, bl0)|0) + (r9 & 0xffff)|0) + (r1 & 0xffff)|0;\n                v = ((imul(ah1, bl0)|0) + (r9 >>> 16)|0) + (r1 >>> 16)|0;\n                w = ((imul(al1, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah1, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r1 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al1, bl1)|0) + (m & 0xffff)|0) + (r2 & 0xffff)|0;\n                v = ((imul(ah1, bl1)|0) + (m >>> 16)|0) + (r2 >>> 16)|0;\n                w = ((imul(al1, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah1, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r2 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al1, bl2)|0) + (m & 0xffff)|0) + (r3 & 0xffff)|0;\n                v = ((imul(ah1, bl2)|0) + (m >>> 16)|0) + (r3 >>> 16)|0;\n                w = ((imul(al1, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah1, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r3 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al1, bl3)|0) + (m & 0xffff)|0) + (r4 & 0xffff)|0;\n                v = ((imul(ah1, bl3)|0) + (m >>> 16)|0) + (r4 >>> 16)|0;\n                w = ((imul(al1, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah1, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r4 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al1, bl4)|0) + (m & 0xffff)|0) + (r5 & 0xffff)|0;\n                v = ((imul(ah1, bl4)|0) + (m >>> 16)|0) + (r5 >>> 16)|0;\n                w = ((imul(al1, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah1, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r5 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al1, bl5)|0) + (m & 0xffff)|0) + (r6 & 0xffff)|0;\n                v = ((imul(ah1, bl5)|0) + (m >>> 16)|0) + (r6 >>> 16)|0;\n                w = ((imul(al1, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah1, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r6 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al1, bl6)|0) + (m & 0xffff)|0) + (r7 & 0xffff)|0;\n                v = ((imul(ah1, bl6)|0) + (m >>> 16)|0) + (r7 >>> 16)|0;\n                w = ((imul(al1, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah1, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r7 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al1, bl7)|0) + (m & 0xffff)|0) + (r8 & 0xffff)|0;\n                v = ((imul(ah1, bl7)|0) + (m >>> 16)|0) + (r8 >>> 16)|0;\n                w = ((imul(al1, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah1, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r8 = (w << 16) | (u & 0xffff);\n\n                r9 = m;\n\n                u = ((imul(al2, bl0)|0) + (r10 & 0xffff)|0) + (r2 & 0xffff)|0;\n                v = ((imul(ah2, bl0)|0) + (r10 >>> 16)|0) + (r2 >>> 16)|0;\n                w = ((imul(al2, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah2, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r2 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al2, bl1)|0) + (m & 0xffff)|0) + (r3 & 0xffff)|0;\n                v = ((imul(ah2, bl1)|0) + (m >>> 16)|0) + (r3 >>> 16)|0;\n                w = ((imul(al2, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah2, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r3 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al2, bl2)|0) + (m & 0xffff)|0) + (r4 & 0xffff)|0;\n                v = ((imul(ah2, bl2)|0) + (m >>> 16)|0) + (r4 >>> 16)|0;\n                w = ((imul(al2, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah2, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r4 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al2, bl3)|0) + (m & 0xffff)|0) + (r5 & 0xffff)|0;\n                v = ((imul(ah2, bl3)|0) + (m >>> 16)|0) + (r5 >>> 16)|0;\n                w = ((imul(al2, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah2, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r5 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al2, bl4)|0) + (m & 0xffff)|0) + (r6 & 0xffff)|0;\n                v = ((imul(ah2, bl4)|0) + (m >>> 16)|0) + (r6 >>> 16)|0;\n                w = ((imul(al2, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah2, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r6 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al2, bl5)|0) + (m & 0xffff)|0) + (r7 & 0xffff)|0;\n                v = ((imul(ah2, bl5)|0) + (m >>> 16)|0) + (r7 >>> 16)|0;\n                w = ((imul(al2, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah2, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r7 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al2, bl6)|0) + (m & 0xffff)|0) + (r8 & 0xffff)|0;\n                v = ((imul(ah2, bl6)|0) + (m >>> 16)|0) + (r8 >>> 16)|0;\n                w = ((imul(al2, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah2, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r8 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al2, bl7)|0) + (m & 0xffff)|0) + (r9 & 0xffff)|0;\n                v = ((imul(ah2, bl7)|0) + (m >>> 16)|0) + (r9 >>> 16)|0;\n                w = ((imul(al2, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah2, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r9 = (w << 16) | (u & 0xffff);\n\n                r10 = m;\n\n                u = ((imul(al3, bl0)|0) + (r11 & 0xffff)|0) + (r3 & 0xffff)|0;\n                v = ((imul(ah3, bl0)|0) + (r11 >>> 16)|0) + (r3 >>> 16)|0;\n                w = ((imul(al3, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah3, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r3 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al3, bl1)|0) + (m & 0xffff)|0) + (r4 & 0xffff)|0;\n                v = ((imul(ah3, bl1)|0) + (m >>> 16)|0) + (r4 >>> 16)|0;\n                w = ((imul(al3, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah3, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r4 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al3, bl2)|0) + (m & 0xffff)|0) + (r5 & 0xffff)|0;\n                v = ((imul(ah3, bl2)|0) + (m >>> 16)|0) + (r5 >>> 16)|0;\n                w = ((imul(al3, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah3, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r5 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al3, bl3)|0) + (m & 0xffff)|0) + (r6 & 0xffff)|0;\n                v = ((imul(ah3, bl3)|0) + (m >>> 16)|0) + (r6 >>> 16)|0;\n                w = ((imul(al3, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah3, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r6 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al3, bl4)|0) + (m & 0xffff)|0) + (r7 & 0xffff)|0;\n                v = ((imul(ah3, bl4)|0) + (m >>> 16)|0) + (r7 >>> 16)|0;\n                w = ((imul(al3, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah3, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r7 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al3, bl5)|0) + (m & 0xffff)|0) + (r8 & 0xffff)|0;\n                v = ((imul(ah3, bl5)|0) + (m >>> 16)|0) + (r8 >>> 16)|0;\n                w = ((imul(al3, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah3, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r8 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al3, bl6)|0) + (m & 0xffff)|0) + (r9 & 0xffff)|0;\n                v = ((imul(ah3, bl6)|0) + (m >>> 16)|0) + (r9 >>> 16)|0;\n                w = ((imul(al3, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah3, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r9 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al3, bl7)|0) + (m & 0xffff)|0) + (r10 & 0xffff)|0;\n                v = ((imul(ah3, bl7)|0) + (m >>> 16)|0) + (r10 >>> 16)|0;\n                w = ((imul(al3, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah3, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r10 = (w << 16) | (u & 0xffff);\n\n                r11 = m;\n\n                u = ((imul(al4, bl0)|0) + (r12 & 0xffff)|0) + (r4 & 0xffff)|0;\n                v = ((imul(ah4, bl0)|0) + (r12 >>> 16)|0) + (r4 >>> 16)|0;\n                w = ((imul(al4, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah4, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r4 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al4, bl1)|0) + (m & 0xffff)|0) + (r5 & 0xffff)|0;\n                v = ((imul(ah4, bl1)|0) + (m >>> 16)|0) + (r5 >>> 16)|0;\n                w = ((imul(al4, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah4, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r5 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al4, bl2)|0) + (m & 0xffff)|0) + (r6 & 0xffff)|0;\n                v = ((imul(ah4, bl2)|0) + (m >>> 16)|0) + (r6 >>> 16)|0;\n                w = ((imul(al4, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah4, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r6 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al4, bl3)|0) + (m & 0xffff)|0) + (r7 & 0xffff)|0;\n                v = ((imul(ah4, bl3)|0) + (m >>> 16)|0) + (r7 >>> 16)|0;\n                w = ((imul(al4, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah4, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r7 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al4, bl4)|0) + (m & 0xffff)|0) + (r8 & 0xffff)|0;\n                v = ((imul(ah4, bl4)|0) + (m >>> 16)|0) + (r8 >>> 16)|0;\n                w = ((imul(al4, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah4, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r8 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al4, bl5)|0) + (m & 0xffff)|0) + (r9 & 0xffff)|0;\n                v = ((imul(ah4, bl5)|0) + (m >>> 16)|0) + (r9 >>> 16)|0;\n                w = ((imul(al4, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah4, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r9 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al4, bl6)|0) + (m & 0xffff)|0) + (r10 & 0xffff)|0;\n                v = ((imul(ah4, bl6)|0) + (m >>> 16)|0) + (r10 >>> 16)|0;\n                w = ((imul(al4, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah4, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r10 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al4, bl7)|0) + (m & 0xffff)|0) + (r11 & 0xffff)|0;\n                v = ((imul(ah4, bl7)|0) + (m >>> 16)|0) + (r11 >>> 16)|0;\n                w = ((imul(al4, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah4, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r11 = (w << 16) | (u & 0xffff);\n\n                r12 = m;\n\n                u = ((imul(al5, bl0)|0) + (r13 & 0xffff)|0) + (r5 & 0xffff)|0;\n                v = ((imul(ah5, bl0)|0) + (r13 >>> 16)|0) + (r5 >>> 16)|0;\n                w = ((imul(al5, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah5, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r5 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al5, bl1)|0) + (m & 0xffff)|0) + (r6 & 0xffff)|0;\n                v = ((imul(ah5, bl1)|0) + (m >>> 16)|0) + (r6 >>> 16)|0;\n                w = ((imul(al5, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah5, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r6 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al5, bl2)|0) + (m & 0xffff)|0) + (r7 & 0xffff)|0;\n                v = ((imul(ah5, bl2)|0) + (m >>> 16)|0) + (r7 >>> 16)|0;\n                w = ((imul(al5, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah5, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r7 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al5, bl3)|0) + (m & 0xffff)|0) + (r8 & 0xffff)|0;\n                v = ((imul(ah5, bl3)|0) + (m >>> 16)|0) + (r8 >>> 16)|0;\n                w = ((imul(al5, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah5, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r8 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al5, bl4)|0) + (m & 0xffff)|0) + (r9 & 0xffff)|0;\n                v = ((imul(ah5, bl4)|0) + (m >>> 16)|0) + (r9 >>> 16)|0;\n                w = ((imul(al5, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah5, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r9 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al5, bl5)|0) + (m & 0xffff)|0) + (r10 & 0xffff)|0;\n                v = ((imul(ah5, bl5)|0) + (m >>> 16)|0) + (r10 >>> 16)|0;\n                w = ((imul(al5, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah5, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r10 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al5, bl6)|0) + (m & 0xffff)|0) + (r11 & 0xffff)|0;\n                v = ((imul(ah5, bl6)|0) + (m >>> 16)|0) + (r11 >>> 16)|0;\n                w = ((imul(al5, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah5, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r11 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al5, bl7)|0) + (m & 0xffff)|0) + (r12 & 0xffff)|0;\n                v = ((imul(ah5, bl7)|0) + (m >>> 16)|0) + (r12 >>> 16)|0;\n                w = ((imul(al5, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah5, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r12 = (w << 16) | (u & 0xffff);\n\n                r13 = m;\n\n                u = ((imul(al6, bl0)|0) + (r14 & 0xffff)|0) + (r6 & 0xffff)|0;\n                v = ((imul(ah6, bl0)|0) + (r14 >>> 16)|0) + (r6 >>> 16)|0;\n                w = ((imul(al6, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah6, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r6 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al6, bl1)|0) + (m & 0xffff)|0) + (r7 & 0xffff)|0;\n                v = ((imul(ah6, bl1)|0) + (m >>> 16)|0) + (r7 >>> 16)|0;\n                w = ((imul(al6, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah6, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r7 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al6, bl2)|0) + (m & 0xffff)|0) + (r8 & 0xffff)|0;\n                v = ((imul(ah6, bl2)|0) + (m >>> 16)|0) + (r8 >>> 16)|0;\n                w = ((imul(al6, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah6, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r8 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al6, bl3)|0) + (m & 0xffff)|0) + (r9 & 0xffff)|0;\n                v = ((imul(ah6, bl3)|0) + (m >>> 16)|0) + (r9 >>> 16)|0;\n                w = ((imul(al6, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah6, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r9 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al6, bl4)|0) + (m & 0xffff)|0) + (r10 & 0xffff)|0;\n                v = ((imul(ah6, bl4)|0) + (m >>> 16)|0) + (r10 >>> 16)|0;\n                w = ((imul(al6, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah6, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r10 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al6, bl5)|0) + (m & 0xffff)|0) + (r11 & 0xffff)|0;\n                v = ((imul(ah6, bl5)|0) + (m >>> 16)|0) + (r11 >>> 16)|0;\n                w = ((imul(al6, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah6, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r11 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al6, bl6)|0) + (m & 0xffff)|0) + (r12 & 0xffff)|0;\n                v = ((imul(ah6, bl6)|0) + (m >>> 16)|0) + (r12 >>> 16)|0;\n                w = ((imul(al6, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah6, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r12 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al6, bl7)|0) + (m & 0xffff)|0) + (r13 & 0xffff)|0;\n                v = ((imul(ah6, bl7)|0) + (m >>> 16)|0) + (r13 >>> 16)|0;\n                w = ((imul(al6, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah6, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r13 = (w << 16) | (u & 0xffff);\n\n                r14 = m;\n\n                u = ((imul(al7, bl0)|0) + (r15 & 0xffff)|0) + (r7 & 0xffff)|0;\n                v = ((imul(ah7, bl0)|0) + (r15 >>> 16)|0) + (r7 >>> 16)|0;\n                w = ((imul(al7, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah7, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r7 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al7, bl1)|0) + (m & 0xffff)|0) + (r8 & 0xffff)|0;\n                v = ((imul(ah7, bl1)|0) + (m >>> 16)|0) + (r8 >>> 16)|0;\n                w = ((imul(al7, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah7, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r8 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al7, bl2)|0) + (m & 0xffff)|0) + (r9 & 0xffff)|0;\n                v = ((imul(ah7, bl2)|0) + (m >>> 16)|0) + (r9 >>> 16)|0;\n                w = ((imul(al7, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah7, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r9 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al7, bl3)|0) + (m & 0xffff)|0) + (r10 & 0xffff)|0;\n                v = ((imul(ah7, bl3)|0) + (m >>> 16)|0) + (r10 >>> 16)|0;\n                w = ((imul(al7, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah7, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r10 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al7, bl4)|0) + (m & 0xffff)|0) + (r11 & 0xffff)|0;\n                v = ((imul(ah7, bl4)|0) + (m >>> 16)|0) + (r11 >>> 16)|0;\n                w = ((imul(al7, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah7, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r11 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al7, bl5)|0) + (m & 0xffff)|0) + (r12 & 0xffff)|0;\n                v = ((imul(ah7, bl5)|0) + (m >>> 16)|0) + (r12 >>> 16)|0;\n                w = ((imul(al7, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah7, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r12 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al7, bl6)|0) + (m & 0xffff)|0) + (r13 & 0xffff)|0;\n                v = ((imul(ah7, bl6)|0) + (m >>> 16)|0) + (r13 >>> 16)|0;\n                w = ((imul(al7, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah7, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r13 = (w << 16) | (u & 0xffff);\n\n                u = ((imul(al7, bl7)|0) + (m & 0xffff)|0) + (r14 & 0xffff)|0;\n                v = ((imul(ah7, bl7)|0) + (m >>> 16)|0) + (r14 >>> 16)|0;\n                w = ((imul(al7, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah7, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r14 = (w << 16) | (u & 0xffff);\n\n                r15 = m;\n\n                HEAP32[(Rk|0)>>2] = r0,\n                HEAP32[(Rk|4)>>2] = r1,\n                HEAP32[(Rk|8)>>2] = r2,\n                HEAP32[(Rk|12)>>2] = r3,\n                HEAP32[(Rk|16)>>2] = r4,\n                HEAP32[(Rk|20)>>2] = r5,\n                HEAP32[(Rk|24)>>2] = r6,\n                HEAP32[(Rk|28)>>2] = r7;\n            }\n\n            Rk = (R+(i+j|0))|0;\n            HEAP32[(Rk|0)>>2] = r8,\n            HEAP32[(Rk|4)>>2] = r9,\n            HEAP32[(Rk|8)>>2] = r10,\n            HEAP32[(Rk|12)>>2] = r11,\n            HEAP32[(Rk|16)>>2] = r12,\n            HEAP32[(Rk|20)>>2] = r13,\n            HEAP32[(Rk|24)>>2] = r14,\n            HEAP32[(Rk|28)>>2] = r15;\n        }\n/*\n        for ( i = lA & -32; (i|0) < (lA|0); i = (i+4)|0 ) {\n            Ai = (A+i)|0;\n\n            ah0 = HEAP32[Ai>>2]|0,\n            al0 = ah0 & 0xffff,\n            ah0 = ah0 >>> 16;\n\n            r1 = 0;\n\n            for ( j = 0; (j|0) < (lB|0); j = (j+4)|0 ) {\n                Bj = (B+j)|0;\n                Rk = (R+(i+j|0))|0;\n\n                bh0 = HEAP32[Bj>>2]|0,\n                bl0 = bh0 & 0xffff,\n                bh0 = bh0 >>> 16;\n\n                r0 = HEAP32[Rk>>2]|0;\n\n                u = ((imul(al0, bl0)|0) + (r1 & 0xffff)|0) + (r0 & 0xffff)|0;\n                v = ((imul(ah0, bl0)|0) + (r1 >>> 16)|0) + (r0 >>> 16)|0;\n                w = ((imul(al0, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                m = ((imul(ah0, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                r0 = (w << 16) | (u & 0xffff);\n\n                r1 = m;\n\n                HEAP32[Rk>>2] = r0;\n            }\n\n            Rk = (R+(i+j|0))|0;\n            HEAP32[Rk>>2] = r1;\n        }\n*/\n    }\n\n    /**\n     * Fast squaring\n     *\n     * Exploits the fact:\n     *\n     *  X² = ( X0 + X1*B )² = X0² + 2*X0*X1*B + X1²*B²,\n     *\n     * where B is a power of 2, so:\n     *\n     *  2*X0*X1*B = (X0*X1 << 1)*B\n     *\n     * @param A offset of the argument being squared, 32-byte aligned\n     * @param lA length of the argument, multiple of 32\n     *\n     * @param R offset where to place the result to, 32-byte aligned\n     */\n    function sqr ( A, lA, R ) {\n        A  =  A|0;\n        lA = lA|0;\n        R  =  R|0;\n\n        var al0 = 0, al1 = 0, al2 = 0, al3 = 0, al4 = 0, al5 = 0, al6 = 0, al7 = 0, ah0 = 0, ah1 = 0, ah2 = 0, ah3 = 0, ah4 = 0, ah5 = 0, ah6 = 0, ah7 = 0,\n            bl0 = 0, bl1 = 0, bl2 = 0, bl3 = 0, bl4 = 0, bl5 = 0, bl6 = 0, bl7 = 0, bh0 = 0, bh1 = 0, bh2 = 0, bh3 = 0, bh4 = 0, bh5 = 0, bh6 = 0, bh7 = 0,\n            r0 = 0, r1 = 0, r2 = 0, r3 = 0, r4 = 0, r5 = 0, r6 = 0, r7 = 0, r8 = 0, r9 = 0, r10 = 0, r11 = 0, r12 = 0, r13 = 0, r14 = 0, r15 = 0,\n            u = 0, v = 0, w = 0, c = 0, h = 0, m = 0, r = 0,\n            d = 0, dd = 0, p = 0, i = 0, j = 0, k = 0, Ai = 0, Aj = 0, Rk = 0;\n\n        // prepare for iterations\n        for ( ; (i|0) < (lA|0); i = (i+4)|0 ) {\n            Rk = R+(i<<1)|0;\n            ah0 = HEAP32[(A+i)>>2]|0, al0 = ah0 & 0xffff, ah0 = ah0 >>> 16;\n            u = imul(al0,al0)|0;\n            v = (imul(al0,ah0)|0) + (u >>> 17)|0;\n            w = (imul(ah0,ah0)|0) + (v >>> 15)|0;\n            HEAP32[(Rk)>>2] = (v << 17) | (u & 0x1ffff);\n            HEAP32[(Rk|4)>>2] = w;\n        }\n\n        // unrolled 1st iteration\n        for ( p = 0; (p|0) < (lA|0); p = (p+8)|0 ) {\n            Ai = A+p|0, Rk = R+(p<<1)|0;\n\n            ah0 = HEAP32[(Ai)>>2]|0, al0 = ah0 & 0xffff, ah0 = ah0 >>> 16;\n\n            bh0 = HEAP32[(Ai|4)>>2]|0, bl0 = bh0 & 0xffff, bh0 = bh0 >>> 16;\n\n            u = imul(al0,bl0)|0;\n            v = (imul(al0,bh0)|0) + (u >>> 16)|0;\n            w = (imul(ah0,bl0)|0) + (v & 0xffff)|0;\n            m = ((imul(ah0,bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n\n            r = HEAP32[(Rk|4)>>2]|0;\n            u = (r & 0xffff) + ((u & 0xffff) << 1)|0;\n            w = ((r >>> 16) + ((w & 0xffff) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|4)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk|8)>>2]|0;\n            u = ((r & 0xffff) + ((m & 0xffff) << 1)|0) + c|0;\n            w = ((r >>> 16) + ((m >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|8)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            if ( c ) {\n                r = HEAP32[(Rk|12)>>2]|0;\n                u = (r & 0xffff) + c|0;\n                w = (r >>> 16) + (u >>> 16)|0;\n                HEAP32[(Rk|12)>>2] = (w << 16) | (u & 0xffff);\n            }\n        }\n\n        // unrolled 2nd iteration\n        for ( p = 0; (p|0) < (lA|0); p = (p+16)|0 ) {\n            Ai = A+p|0, Rk = R+(p<<1)|0;\n\n            ah0 = HEAP32[(Ai)>>2]|0, al0 = ah0 & 0xffff, ah0 = ah0 >>> 16,\n            ah1 = HEAP32[(Ai|4)>>2]|0, al1 = ah1 & 0xffff, ah1 = ah1 >>> 16;\n\n            bh0 = HEAP32[(Ai|8)>>2]|0, bl0 = bh0 & 0xffff, bh0 = bh0 >>> 16,\n            bh1 = HEAP32[(Ai|12)>>2]|0, bl1 = bh1 & 0xffff, bh1 = bh1 >>> 16;\n\n            u = imul(al0, bl0)|0;\n            v = imul(ah0, bl0)|0;\n            w = ((imul(al0, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah0, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r0 = (w << 16) | (u & 0xffff);\n\n            u = (imul(al0, bl1)|0) + (m & 0xffff)|0;\n            v = (imul(ah0, bl1)|0) + (m >>> 16)|0;\n            w = ((imul(al0, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah0, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r1 = (w << 16) | (u & 0xffff);\n\n            r2 = m;\n\n            u = (imul(al1, bl0)|0) + (r1 & 0xffff)|0;\n            v = (imul(ah1, bl0)|0) + (r1 >>> 16)|0;\n            w = ((imul(al1, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah1, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r1 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al1, bl1)|0) + (r2 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah1, bl1)|0) + (r2 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al1, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah1, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r2 = (w << 16) | (u & 0xffff);\n\n            r3 = m;\n\n            r = HEAP32[(Rk|8)>>2]|0;\n            u = (r & 0xffff) + ((r0 & 0xffff) << 1)|0;\n            w = ((r >>> 16) + ((r0 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|8)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk|12)>>2]|0;\n            u = ((r & 0xffff) + ((r1 & 0xffff) << 1)|0)  + c|0;\n            w = ((r >>> 16) + ((r1 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|12)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk|16)>>2]|0;\n            u = ((r & 0xffff) + ((r2 & 0xffff) << 1)|0) + c|0;\n            w = ((r >>> 16) + ((r2 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|16)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk|20)>>2]|0;\n            u = ((r & 0xffff) + ((r3 & 0xffff) << 1)|0) + c|0;\n            w = ((r >>> 16) + ((r3 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|20)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            for ( k = 24; !!c & ( (k|0) < 32 ); k = (k+4)|0 ) {\n                r = HEAP32[(Rk|k)>>2]|0;\n                u = (r & 0xffff) + c|0;\n                w = (r >>> 16) + (u >>> 16)|0;\n                HEAP32[(Rk|k)>>2] = (w << 16) | (u & 0xffff);\n                c = w >>> 16;\n            }\n        }\n\n        // unrolled 3rd iteration\n        for ( p = 0; (p|0) < (lA|0); p = (p+32)|0 ) {\n            Ai = A+p|0, Rk = R+(p<<1)|0;\n\n            ah0 = HEAP32[(Ai)>>2]|0, al0 = ah0 & 0xffff, ah0 = ah0 >>> 16,\n            ah1 = HEAP32[(Ai|4)>>2]|0, al1 = ah1 & 0xffff, ah1 = ah1 >>> 16,\n            ah2 = HEAP32[(Ai|8)>>2]|0, al2 = ah2 & 0xffff, ah2 = ah2 >>> 16,\n            ah3 = HEAP32[(Ai|12)>>2]|0, al3 = ah3 & 0xffff, ah3 = ah3 >>> 16;\n\n            bh0 = HEAP32[(Ai|16)>>2]|0, bl0 = bh0 & 0xffff, bh0 = bh0 >>> 16,\n            bh1 = HEAP32[(Ai|20)>>2]|0, bl1 = bh1 & 0xffff, bh1 = bh1 >>> 16,\n            bh2 = HEAP32[(Ai|24)>>2]|0, bl2 = bh2 & 0xffff, bh2 = bh2 >>> 16,\n            bh3 = HEAP32[(Ai|28)>>2]|0, bl3 = bh3 & 0xffff, bh3 = bh3 >>> 16;\n\n            u = imul(al0, bl0)|0;\n            v = imul(ah0, bl0)|0;\n            w = ((imul(al0, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah0, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r0 = (w << 16) | (u & 0xffff);\n\n            u = (imul(al0, bl1)|0) + (m & 0xffff)|0;\n            v = (imul(ah0, bl1)|0) + (m >>> 16)|0;\n            w = ((imul(al0, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah0, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r1 = (w << 16) | (u & 0xffff);\n\n            u = (imul(al0, bl2)|0) + (m & 0xffff)|0;\n            v = (imul(ah0, bl2)|0) + (m >>> 16)|0;\n            w = ((imul(al0, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah0, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r2 = (w << 16) | (u & 0xffff);\n\n            u = (imul(al0, bl3)|0) + (m & 0xffff)|0;\n            v = (imul(ah0, bl3)|0) + (m >>> 16)|0;\n            w = ((imul(al0, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah0, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r3 = (w << 16) | (u & 0xffff);\n\n            r4 = m;\n\n            u = (imul(al1, bl0)|0) + (r1 & 0xffff)|0;\n            v = (imul(ah1, bl0)|0) + (r1 >>> 16)|0;\n            w = ((imul(al1, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah1, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r1 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al1, bl1)|0) + (r2 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah1, bl1)|0) + (r2 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al1, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah1, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r2 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al1, bl2)|0) + (r3 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah1, bl2)|0) + (r3 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al1, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah1, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r3 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al1, bl3)|0) + (r4 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah1, bl3)|0) + (r4 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al1, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah1, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r4 = (w << 16) | (u & 0xffff);\n\n            r5 = m;\n\n            u = (imul(al2, bl0)|0) + (r2 & 0xffff)|0;\n            v = (imul(ah2, bl0)|0) + (r2 >>> 16)|0;\n            w = ((imul(al2, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah2, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r2 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al2, bl1)|0) + (r3 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah2, bl1)|0) + (r3 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al2, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah2, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r3 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al2, bl2)|0) + (r4 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah2, bl2)|0) + (r4 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al2, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah2, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r4 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al2, bl3)|0) + (r5 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah2, bl3)|0) + (r5 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al2, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah2, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r5 = (w << 16) | (u & 0xffff);\n\n            r6 = m;\n\n            u = (imul(al3, bl0)|0) + (r3 & 0xffff)|0;\n            v = (imul(ah3, bl0)|0) + (r3 >>> 16)|0;\n            w = ((imul(al3, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah3, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r3 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al3, bl1)|0) + (r4 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah3, bl1)|0) + (r4 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al3, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah3, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r4 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al3, bl2)|0) + (r5 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah3, bl2)|0) + (r5 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al3, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah3, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r5 = (w << 16) | (u & 0xffff);\n\n            u = ((imul(al3, bl3)|0) + (r6 & 0xffff)|0) + (m & 0xffff)|0;\n            v = ((imul(ah3, bl3)|0) + (r6 >>> 16)|0) + (m >>> 16)|0;\n            w = ((imul(al3, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n            m = ((imul(ah3, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n            r6 = (w << 16) | (u & 0xffff);\n\n            r7 = m;\n\n            r = HEAP32[(Rk|16)>>2]|0;\n            u = (r & 0xffff) + ((r0 & 0xffff) << 1)|0;\n            w = ((r >>> 16) + ((r0 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|16)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk|20)>>2]|0;\n            u = ((r & 0xffff) + ((r1 & 0xffff) << 1)|0)  + c|0;\n            w = ((r >>> 16) + ((r1 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|20)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk|24)>>2]|0;\n            u = ((r & 0xffff) + ((r2 & 0xffff) << 1)|0) + c|0;\n            w = ((r >>> 16) + ((r2 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|24)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk|28)>>2]|0;\n            u = ((r & 0xffff) + ((r3 & 0xffff) << 1)|0) + c|0;\n            w = ((r >>> 16) + ((r3 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk|28)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk+32)>>2]|0;\n            u = ((r & 0xffff) + ((r4 & 0xffff) << 1)|0) + c|0;\n            w = ((r >>> 16) + ((r4 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk+32)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk+36)>>2]|0;\n            u = ((r & 0xffff) + ((r5 & 0xffff) << 1)|0) + c|0;\n            w = ((r >>> 16) + ((r5 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk+36)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk+40)>>2]|0;\n            u = ((r & 0xffff) + ((r6 & 0xffff) << 1)|0) + c|0;\n            w = ((r >>> 16) + ((r6 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk+40)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            r = HEAP32[(Rk+44)>>2]|0;\n            u = ((r & 0xffff) + ((r7 & 0xffff) << 1)|0) + c|0;\n            w = ((r >>> 16) + ((r7 >>> 16) << 1)|0) + (u >>> 16)|0;\n            HEAP32[(Rk+44)>>2] = (w << 16) | (u & 0xffff);\n            c = w >>> 16;\n\n            for ( k = 48; !!c & ( (k|0) < 64 ); k = (k+4)|0 ) {\n                r = HEAP32[(Rk+k)>>2]|0;\n                u = (r & 0xffff) + c|0;\n                w = (r >>> 16) + (u >>> 16)|0;\n                HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                c = w >>> 16;\n            }\n        }\n\n        // perform iterations\n        for ( d = 32; (d|0) < (lA|0); d = d << 1 ) { // depth loop\n            dd = d << 1;\n\n            for ( p = 0; (p|0) < (lA|0); p = (p+dd)|0 ) { // part loop\n                Rk = R+(p<<1)|0;\n\n                h = 0;\n                for ( i = 0; (i|0) < (d|0); i = (i+32)|0 ) { // multiply-and-add loop\n                    Ai = (A+p|0)+i|0;\n\n                    ah0 = HEAP32[(Ai)>>2]|0, al0 = ah0 & 0xffff, ah0 = ah0 >>> 16,\n                    ah1 = HEAP32[(Ai|4)>>2]|0, al1 = ah1 & 0xffff, ah1 = ah1 >>> 16,\n                    ah2 = HEAP32[(Ai|8)>>2]|0, al2 = ah2 & 0xffff, ah2 = ah2 >>> 16,\n                    ah3 = HEAP32[(Ai|12)>>2]|0, al3 = ah3 & 0xffff, ah3 = ah3 >>> 16,\n                    ah4 = HEAP32[(Ai|16)>>2]|0, al4 = ah4 & 0xffff, ah4 = ah4 >>> 16,\n                    ah5 = HEAP32[(Ai|20)>>2]|0, al5 = ah5 & 0xffff, ah5 = ah5 >>> 16,\n                    ah6 = HEAP32[(Ai|24)>>2]|0, al6 = ah6 & 0xffff, ah6 = ah6 >>> 16,\n                    ah7 = HEAP32[(Ai|28)>>2]|0, al7 = ah7 & 0xffff, ah7 = ah7 >>> 16;\n\n                    r8 = r9 = r10 = r11 = r12 = r13 = r14 = r15 = c = 0;\n\n                    for ( j = 0; (j|0) < (d|0); j = (j+32)|0 ) {\n                        Aj = ((A+p|0)+d|0)+j|0;\n\n                        bh0 = HEAP32[(Aj)>>2]|0, bl0 = bh0 & 0xffff, bh0 = bh0 >>> 16,\n                        bh1 = HEAP32[(Aj|4)>>2]|0, bl1 = bh1 & 0xffff, bh1 = bh1 >>> 16,\n                        bh2 = HEAP32[(Aj|8)>>2]|0, bl2 = bh2 & 0xffff, bh2 = bh2 >>> 16,\n                        bh3 = HEAP32[(Aj|12)>>2]|0, bl3 = bh3 & 0xffff, bh3 = bh3 >>> 16,\n                        bh4 = HEAP32[(Aj|16)>>2]|0, bl4 = bh4 & 0xffff, bh4 = bh4 >>> 16,\n                        bh5 = HEAP32[(Aj|20)>>2]|0, bl5 = bh5 & 0xffff, bh5 = bh5 >>> 16,\n                        bh6 = HEAP32[(Aj|24)>>2]|0, bl6 = bh6 & 0xffff, bh6 = bh6 >>> 16,\n                        bh7 = HEAP32[(Aj|28)>>2]|0, bl7 = bh7 & 0xffff, bh7 = bh7 >>> 16;\n\n                        r0 = r1 = r2 = r3 = r4 = r5 = r6 = r7 = 0;\n\n                        u = ((imul(al0, bl0)|0) + (r0 & 0xffff)|0) + (r8 & 0xffff)|0;\n                        v = ((imul(ah0, bl0)|0) + (r0 >>> 16)|0) + (r8 >>> 16)|0;\n                        w = ((imul(al0, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah0, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r0 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al0, bl1)|0) + (r1 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah0, bl1)|0) + (r1 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al0, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah0, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r1 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al0, bl2)|0) + (r2 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah0, bl2)|0) + (r2 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al0, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah0, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r2 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al0, bl3)|0) + (r3 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah0, bl3)|0) + (r3 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al0, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah0, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r3 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al0, bl4)|0) + (r4 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah0, bl4)|0) + (r4 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al0, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah0, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r4 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al0, bl5)|0) + (r5 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah0, bl5)|0) + (r5 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al0, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah0, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r5 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al0, bl6)|0) + (r6 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah0, bl6)|0) + (r6 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al0, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah0, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r6 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al0, bl7)|0) + (r7 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah0, bl7)|0) + (r7 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al0, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah0, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r7 = (w << 16) | (u & 0xffff);\n\n                        r8 = m;\n\n                        u = ((imul(al1, bl0)|0) + (r1 & 0xffff)|0) + (r9 & 0xffff)|0;\n                        v = ((imul(ah1, bl0)|0) + (r1 >>> 16)|0) + (r9 >>> 16)|0;\n                        w = ((imul(al1, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah1, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r1 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al1, bl1)|0) + (r2 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah1, bl1)|0) + (r2 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al1, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah1, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r2 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al1, bl2)|0) + (r3 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah1, bl2)|0) + (r3 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al1, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah1, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r3 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al1, bl3)|0) + (r4 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah1, bl3)|0) + (r4 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al1, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah1, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r4 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al1, bl4)|0) + (r5 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah1, bl4)|0) + (r5 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al1, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah1, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r5 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al1, bl5)|0) + (r6 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah1, bl5)|0) + (r6 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al1, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah1, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r6 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al1, bl6)|0) + (r7 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah1, bl6)|0) + (r7 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al1, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah1, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r7 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al1, bl7)|0) + (r8 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah1, bl7)|0) + (r8 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al1, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah1, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r8 = (w << 16) | (u & 0xffff);\n\n                        r9 = m;\n\n                        u = ((imul(al2, bl0)|0) + (r2 & 0xffff)|0) + (r10 & 0xffff)|0;\n                        v = ((imul(ah2, bl0)|0) + (r2 >>> 16)|0) + (r10 >>> 16)|0;\n                        w = ((imul(al2, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah2, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r2 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al2, bl1)|0) + (r3 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah2, bl1)|0) + (r3 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al2, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah2, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r3 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al2, bl2)|0) + (r4 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah2, bl2)|0) + (r4 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al2, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah2, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r4 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al2, bl3)|0) + (r5 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah2, bl3)|0) + (r5 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al2, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah2, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r5 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al2, bl4)|0) + (r6 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah2, bl4)|0) + (r6 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al2, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah2, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r6 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al2, bl5)|0) + (r7 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah2, bl5)|0) + (r7 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al2, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah2, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r7 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al2, bl6)|0) + (r8 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah2, bl6)|0) + (r8 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al2, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah2, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r8 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al2, bl7)|0) + (r9 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah2, bl7)|0) + (r9 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al2, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah2, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r9 = (w << 16) | (u & 0xffff);\n\n                        r10 = m;\n\n                        u = ((imul(al3, bl0)|0) + (r3 & 0xffff)|0) + (r11 & 0xffff)|0;\n                        v = ((imul(ah3, bl0)|0) + (r3 >>> 16)|0) + (r11 >>> 16)|0;\n                        w = ((imul(al3, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah3, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r3 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al3, bl1)|0) + (r4 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah3, bl1)|0) + (r4 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al3, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah3, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r4 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al3, bl2)|0) + (r5 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah3, bl2)|0) + (r5 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al3, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah3, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r5 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al3, bl3)|0) + (r6 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah3, bl3)|0) + (r6 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al3, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah3, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r6 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al3, bl4)|0) + (r7 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah3, bl4)|0) + (r7 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al3, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah3, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r7 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al3, bl5)|0) + (r8 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah3, bl5)|0) + (r8 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al3, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah3, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r8 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al3, bl6)|0) + (r9 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah3, bl6)|0) + (r9 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al3, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah3, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r9 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al3, bl7)|0) + (r10 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah3, bl7)|0) + (r10 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al3, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah3, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r10 = (w << 16) | (u & 0xffff);\n\n                        r11 = m;\n\n                        u = ((imul(al4, bl0)|0) + (r4 & 0xffff)|0) + (r12 & 0xffff)|0;\n                        v = ((imul(ah4, bl0)|0) + (r4 >>> 16)|0) + (r12 >>> 16)|0;\n                        w = ((imul(al4, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah4, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r4 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al4, bl1)|0) + (r5 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah4, bl1)|0) + (r5 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al4, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah4, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r5 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al4, bl2)|0) + (r6 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah4, bl2)|0) + (r6 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al4, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah4, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r6 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al4, bl3)|0) + (r7 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah4, bl3)|0) + (r7 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al4, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah4, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r7 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al4, bl4)|0) + (r8 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah4, bl4)|0) + (r8 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al4, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah4, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r8 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al4, bl5)|0) + (r9 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah4, bl5)|0) + (r9 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al4, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah4, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r9 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al4, bl6)|0) + (r10 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah4, bl6)|0) + (r10 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al4, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah4, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r10 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al4, bl7)|0) + (r11 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah4, bl7)|0) + (r11 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al4, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah4, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r11 = (w << 16) | (u & 0xffff);\n\n                        r12 = m;\n\n                        u = ((imul(al5, bl0)|0) + (r5 & 0xffff)|0) + (r13 & 0xffff)|0;\n                        v = ((imul(ah5, bl0)|0) + (r5 >>> 16)|0) + (r13 >>> 16)|0;\n                        w = ((imul(al5, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah5, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r5 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al5, bl1)|0) + (r6 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah5, bl1)|0) + (r6 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al5, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah5, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r6 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al5, bl2)|0) + (r7 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah5, bl2)|0) + (r7 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al5, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah5, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r7 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al5, bl3)|0) + (r8 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah5, bl3)|0) + (r8 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al5, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah5, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r8 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al5, bl4)|0) + (r9 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah5, bl4)|0) + (r9 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al5, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah5, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r9 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al5, bl5)|0) + (r10 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah5, bl5)|0) + (r10 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al5, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah5, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r10 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al5, bl6)|0) + (r11 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah5, bl6)|0) + (r11 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al5, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah5, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r11 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al5, bl7)|0) + (r12 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah5, bl7)|0) + (r12 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al5, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah5, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r12 = (w << 16) | (u & 0xffff);\n\n                        r13 = m;\n\n                        u = ((imul(al6, bl0)|0) + (r6 & 0xffff)|0) + (r14 & 0xffff)|0;\n                        v = ((imul(ah6, bl0)|0) + (r6 >>> 16)|0) + (r14 >>> 16)|0;\n                        w = ((imul(al6, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah6, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r6 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al6, bl1)|0) + (r7 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah6, bl1)|0) + (r7 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al6, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah6, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r7 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al6, bl2)|0) + (r8 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah6, bl2)|0) + (r8 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al6, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah6, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r8 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al6, bl3)|0) + (r9 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah6, bl3)|0) + (r9 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al6, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah6, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r9 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al6, bl4)|0) + (r10 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah6, bl4)|0) + (r10 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al6, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah6, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r10 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al6, bl5)|0) + (r11 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah6, bl5)|0) + (r11 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al6, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah6, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r11 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al6, bl6)|0) + (r12 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah6, bl6)|0) + (r12 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al6, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah6, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r12 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al6, bl7)|0) + (r13 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah6, bl7)|0) + (r13 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al6, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah6, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r13 = (w << 16) | (u & 0xffff);\n\n                        r14 = m;\n\n                        u = ((imul(al7, bl0)|0) + (r7 & 0xffff)|0) + (r15 & 0xffff)|0;\n                        v = ((imul(ah7, bl0)|0) + (r7 >>> 16)|0) + (r15 >>> 16)|0;\n                        w = ((imul(al7, bh0)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah7, bh0)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r7 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al7, bl1)|0) + (r8 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah7, bl1)|0) + (r8 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al7, bh1)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah7, bh1)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r8 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al7, bl2)|0) + (r9 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah7, bl2)|0) + (r9 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al7, bh2)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah7, bh2)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r9 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al7, bl3)|0) + (r10 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah7, bl3)|0) + (r10 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al7, bh3)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah7, bh3)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r10 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al7, bl4)|0) + (r11 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah7, bl4)|0) + (r11 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al7, bh4)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah7, bh4)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r11 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al7, bl5)|0) + (r12 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah7, bl5)|0) + (r12 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al7, bh5)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah7, bh5)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r12 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al7, bl6)|0) + (r13 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah7, bl6)|0) + (r13 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al7, bh6)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah7, bh6)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r13 = (w << 16) | (u & 0xffff);\n\n                        u = ((imul(al7, bl7)|0) + (r14 & 0xffff)|0) + (m & 0xffff)|0;\n                        v = ((imul(ah7, bl7)|0) + (r14 >>> 16)|0) + (m >>> 16)|0;\n                        w = ((imul(al7, bh7)|0) + (v & 0xffff)|0) + (u >>> 16)|0;\n                        m = ((imul(ah7, bh7)|0) + (v >>> 16)|0) + (w >>> 16)|0;\n                        r14 = (w << 16) | (u & 0xffff);\n\n                        r15 = m;\n\n                        k = d+(i+j|0)|0;\n                        r = HEAP32[(Rk+k)>>2]|0;\n                        u = ((r & 0xffff) + ((r0 & 0xffff) << 1)|0) + c|0;\n                        w = ((r >>> 16) + ((r0 >>> 16) << 1)|0) + (u >>> 16)|0;\n                        HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                        c = w >>> 16;\n\n                        k = k+4|0;\n                        r = HEAP32[(Rk+k)>>2]|0;\n                        u = ((r & 0xffff) + ((r1 & 0xffff) << 1)|0) + c|0;\n                        w = ((r >>> 16) + ((r1 >>> 16) << 1)|0) + (u >>> 16)|0;\n                        HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                        c = w >>> 16;\n\n                        k = k+4|0;\n                        r = HEAP32[(Rk+k)>>2]|0;\n                        u = ((r & 0xffff) + ((r2 & 0xffff) << 1)|0) + c|0;\n                        w = ((r >>> 16) + ((r2 >>> 16) << 1)|0) + (u >>> 16)|0;\n                        HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                        c = w >>> 16;\n\n                        k = k+4|0;\n                        r = HEAP32[(Rk+k)>>2]|0;\n                        u = ((r & 0xffff) + ((r3 & 0xffff) << 1)|0) + c|0;\n                        w = ((r >>> 16) + ((r3 >>> 16) << 1)|0) + (u >>> 16)|0;\n                        HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                        c = w >>> 16;\n\n                        k = k+4|0;\n                        r = HEAP32[(Rk+k)>>2]|0;\n                        u = ((r & 0xffff) + ((r4 & 0xffff) << 1)|0) + c|0;\n                        w = ((r >>> 16) + ((r4 >>> 16) << 1)|0) + (u >>> 16)|0;\n                        HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                        c = w >>> 16;\n\n                        k = k+4|0;\n                        r = HEAP32[(Rk+k)>>2]|0;\n                        u = ((r & 0xffff) + ((r5 & 0xffff) << 1)|0) + c|0;\n                        w = ((r >>> 16) + ((r5 >>> 16) << 1)|0) + (u >>> 16)|0;\n                        HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                        c = w >>> 16;\n\n                        k = k+4|0;\n                        r = HEAP32[(Rk+k)>>2]|0;\n                        u = ((r & 0xffff) + ((r6 & 0xffff) << 1)|0) + c|0;\n                        w = ((r >>> 16) + ((r6 >>> 16) << 1)|0) + (u >>> 16)|0;\n                        HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                        c = w >>> 16;\n\n                        k = k+4|0;\n                        r = HEAP32[(Rk+k)>>2]|0;\n                        u = ((r & 0xffff) + ((r7 & 0xffff) << 1)|0) + c|0;\n                        w = ((r >>> 16) + ((r7 >>> 16) << 1)|0) + (u >>> 16)|0;\n                        HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                        c = w >>> 16;\n                    }\n\n                    k = d+(i+j|0)|0;\n                    r = HEAP32[(Rk+k)>>2]|0;\n                    u = (((r & 0xffff) + ((r8 & 0xffff) << 1)|0) + c|0) + h|0;\n                    w = ((r >>> 16) + ((r8 >>> 16) << 1)|0) + (u >>> 16)|0;\n                    HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                    c = w >>> 16;\n\n                    k = k+4|0;\n                    r = HEAP32[(Rk+k)>>2]|0;\n                    u = ((r & 0xffff) + ((r9 & 0xffff) << 1)|0) + c|0;\n                    w = ((r >>> 16) + ((r9 >>> 16) << 1)|0) + (u >>> 16)|0;\n                    HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                    c = w >>> 16;\n\n                    k = k+4|0;\n                    r = HEAP32[(Rk+k)>>2]|0;\n                    u = ((r & 0xffff) + ((r10 & 0xffff) << 1)|0) + c|0;\n                    w = ((r >>> 16) + ((r10 >>> 16) << 1)|0) + (u >>> 16)|0;\n                    HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                    c = w >>> 16;\n\n                    k = k+4|0;\n                    r = HEAP32[(Rk+k)>>2]|0;\n                    u = ((r & 0xffff) + ((r11 & 0xffff) << 1)|0) + c|0;\n                    w = ((r >>> 16) + ((r11 >>> 16) << 1)|0) + (u >>> 16)|0;\n                    HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                    c = w >>> 16;\n\n                    k = k+4|0;\n                    r = HEAP32[(Rk+k)>>2]|0;\n                    u = ((r & 0xffff) + ((r12 & 0xffff) << 1)|0) + c|0;\n                    w = ((r >>> 16) + ((r12 >>> 16) << 1)|0) + (u >>> 16)|0;\n                    HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                    c = w >>> 16;\n\n                    k = k+4|0;\n                    r = HEAP32[(Rk+k)>>2]|0;\n                    u = ((r & 0xffff) + ((r13 & 0xffff) << 1)|0) + c|0;\n                    w = ((r >>> 16) + ((r13 >>> 16) << 1)|0) + (u >>> 16)|0;\n                    HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                    c = w >>> 16;\n\n                    k = k+4|0;\n                    r = HEAP32[(Rk+k)>>2]|0;\n                    u = ((r & 0xffff) + ((r14 & 0xffff) << 1)|0) + c|0;\n                    w = ((r >>> 16) + ((r14 >>> 16) << 1)|0) + (u >>> 16)|0;\n                    HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                    c = w >>> 16;\n\n                    k = k+4|0;\n                    r = HEAP32[(Rk+k)>>2]|0;\n                    u = ((r & 0xffff) + ((r15 & 0xffff) << 1)|0) + c|0;\n                    w = ((r >>> 16) + ((r15 >>> 16) << 1)|0) + (u >>> 16)|0;\n                    HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                    h = w >>> 16;\n                }\n\n                for ( k = k+4|0; !!h & ( (k|0) < (dd<<1) ); k = (k+4)|0 ) { // carry propagation loop\n                    r = HEAP32[(Rk+k)>>2]|0;\n                    u = (r & 0xffff) + h|0;\n                    w = (r >>> 16) + (u >>> 16)|0;\n                    HEAP32[(Rk+k)>>2] = (w << 16) | (u & 0xffff);\n                    h = w >>> 16;\n                }\n            }\n        }\n    }\n\n    /**\n     * Conventional division\n     *\n     * @param A offset of the numerator, 32-byte aligned\n     * @param lA length of the numerator, multiple of 32\n     *\n     * @param B offset of the divisor, 32-byte aligned\n     * @param lB length of the divisor, multiple of 32\n     *\n     * @param R offset where to place the remainder to, 32-byte aligned\n     *\n     * @param Q offser where to place the quotient to, 32-byte aligned\n     */\n\n    function div ( N, lN, D, lD, Q ) {\n        N  =  N|0;\n        lN = lN|0\n        D  =  D|0;\n        lD = lD|0\n        Q  =  Q|0;\n\n        var n = 0, d = 0, e = 0,\n            u1 = 0, u0 = 0,\n            v0 = 0, vh = 0, vl = 0,\n            qh = 0, ql = 0, rh = 0, rl = 0,\n            t1 = 0, t2 = 0, m = 0, c = 0,\n            i = 0, j = 0, k = 0;\n\n        // number of significant limbs in `N` (multiplied by 4)\n        for ( i = (lN-1) & -4; (i|0) >= 0; i = (i-4)|0 ) {\n            n = HEAP32[(N+i)>>2]|0;\n            if ( n ) {\n                lN = i;\n                break;\n            }\n        }\n\n        // number of significant limbs in `D` (multiplied by 4)\n        for ( i = (lD-1) & -4; (i|0) >= 0; i = (i-4)|0 ) {\n            d = HEAP32[(D+i)>>2]|0;\n            if ( d ) {\n                lD = i;\n                break;\n            }\n        }\n\n        // `D` is zero? WTF?!\n\n        // calculate `e` — the power of 2 of the normalization factor\n        while ( (d & 0x80000000) == 0 ) {\n            d = d << 1;\n            e = e + 1|0;\n        }\n\n        // normalize `N` in place\n        u0 = HEAP32[(N+lN)>>2]|0;\n        if ( e ) {\n            u1 = u0>>>(32-e|0);\n            for ( i = (lN-4)|0; (i|0) >= 0; i = (i-4)|0 ) {\n                n = HEAP32[(N+i)>>2]|0;\n                HEAP32[(N+i+4)>>2] = (u0 << e) | ( e ? n >>> (32-e|0) : 0 );\n                u0 = n;\n            }\n            HEAP32[N>>2] = u0 << e;\n        }\n\n        // normalize `D` in place\n        if ( e ) {\n            v0 = HEAP32[(D+lD)>>2]|0;\n            for ( i = (lD-4)|0; (i|0) >= 0; i = (i-4)|0 ) {\n                d = HEAP32[(D+i)>>2]|0;\n                HEAP32[(D+i+4)>>2] = (v0 << e) | ( d >>> (32-e|0) );\n                v0 = d;\n            }\n            HEAP32[D>>2] = v0 << e;\n        }\n\n        // divisor parts won't change\n        v0 = HEAP32[(D+lD)>>2]|0;\n        vh = v0 >>> 16, vl = v0 & 0xffff;\n\n        // perform division\n        for ( i = lN; (i|0) >= (lD|0); i = (i-4)|0 ) {\n            j = (i-lD)|0;\n\n            // estimate high part of the quotient\n            u0 = HEAP32[(N+i)>>2]|0;\n            qh = ( (u1>>>0) / (vh>>>0) )|0, rh = ( (u1>>>0) % (vh>>>0) )|0, t1 = imul(qh, vl)|0;\n            while ( ( (qh|0) == 0x10000 ) | ( (t1>>>0) > (((rh << 16)|(u0 >>> 16))>>>0) ) ) {\n                qh = (qh-1)|0, rh = (rh+vh)|0, t1 = (t1-vl)|0;\n                if ( (rh|0) >= 0x10000 ) break;\n            }\n\n            // bulk multiply-and-subtract\n            // m - multiplication carry, c - subtraction carry\n            m = 0, c = 0;\n            for ( k = 0; (k|0) <= (lD|0); k = (k+4)|0 ) {\n                d = HEAP32[(D+k)>>2]|0;\n                t1 = (imul(qh, d & 0xffff)|0) + (m >>> 16)|0;\n                t2 = (imul(qh, d >>> 16)|0) + (t1 >>> 16)|0;\n                d = (m & 0xffff) | (t1 << 16);\n                m = t2;\n                n = HEAP32[(N+j+k)>>2]|0;\n                t1 = ((n & 0xffff) - (d & 0xffff)|0) + c|0;\n                t2 = ((n >>> 16) - (d >>> 16)|0) + (t1 >> 16)|0;\n                HEAP32[(N+j+k)>>2] = (t2 << 16) | (t1 & 0xffff);\n                c = t2 >> 16;\n            }\n            t1 = ((u1 & 0xffff) - (m & 0xffff)|0) + c|0;\n            t2 = ((u1 >>> 16) - (m >>> 16)|0) + (t1 >> 16)|0;\n            u1 = (t2 << 16) | (t1 & 0xffff);\n            c = t2 >> 16;\n\n            // add `D` back if got carry-out\n            if ( c ) {\n                qh = (qh-1)|0;\n                c = 0;\n                for ( k = 0; (k|0) <= (lD|0); k = (k+4)|0 ) {\n                    d = HEAP32[(D+k)>>2]|0;\n                    n = HEAP32[(N+j+k)>>2]|0;\n                    t1 = (n & 0xffff) + c|0;\n                    t2 = (n >>> 16) + d + (t1 >>> 16)|0;\n                    HEAP32[(N+j+k)>>2] = (t2 << 16) | (t1 & 0xffff);\n                    c = t2 >>> 16;\n                }\n                u1 = (u1+c)|0;\n            }\n\n            // estimate low part of the quotient\n            u0 = HEAP32[(N+i)>>2]|0;\n            n = (u1 << 16) | (u0 >>> 16);\n            ql = ( (n>>>0) / (vh>>>0) )|0, rl = ( (n>>>0) % (vh>>>0) )|0, t1 = imul(ql, vl)|0;\n            while ( ( (ql|0) == 0x10000 ) | ( (t1>>>0) > (((rl << 16)|(u0 & 0xffff))>>>0) ) ) {\n                ql = (ql-1)|0, rl = (rl+vh)|0, t1 = (t1-vl)|0;\n                if ( (rl|0) >= 0x10000 ) break;\n            }\n\n            // bulk multiply-and-subtract\n            // m - multiplication carry, c - subtraction carry\n            m = 0, c = 0;\n            for ( k = 0; (k|0) <= (lD|0); k = (k+4)|0 ) {\n                d = HEAP32[(D+k)>>2]|0;\n                t1 = (imul(ql, d & 0xffff)|0) + (m & 0xffff)|0;\n                t2 = ((imul(ql, d >>> 16)|0) + (t1 >>> 16)|0) + (m >>> 16)|0;\n                d = (t1 & 0xffff) | (t2 << 16);\n                m = t2 >>> 16;\n                n = HEAP32[(N+j+k)>>2]|0;\n                t1 = ((n & 0xffff) - (d & 0xffff)|0) + c|0;\n                t2 = ((n >>> 16) - (d >>> 16)|0) + (t1 >> 16)|0;\n                c = t2 >> 16;\n                HEAP32[(N+j+k)>>2] = (t2 << 16) | (t1 & 0xffff);\n            }\n            t1 = ((u1 & 0xffff) - (m & 0xffff)|0) + c|0;\n            t2 = ((u1 >>> 16) - (m >>> 16)|0) + (t1 >> 16)|0;\n            c = t2 >> 16;\n\n            // add `D` back if got carry-out\n            if ( c ) {\n                ql = (ql-1)|0;\n                c = 0;\n                for ( k = 0; (k|0) <= (lD|0); k = (k+4)|0 ) {\n                    d = HEAP32[(D+k)>>2]|0;\n                    n = HEAP32[(N+j+k)>>2]|0;\n                    t1 = ((n & 0xffff) + (d & 0xffff)|0) + c|0;\n                    t2 = ((n >>> 16) + (d >>> 16)|0) + (t1 >>> 16)|0;\n                    c = t2 >>> 16;\n                    HEAP32[(N+j+k)>>2] = (t1 & 0xffff) | (t2 << 16);\n                }\n            }\n\n            // got quotient limb\n            HEAP32[(Q+j)>>2] = (qh << 16) | ql;\n\n            u1 = HEAP32[(N+i)>>2]|0;\n        }\n\n        if ( e ) {\n            // TODO denormalize `D` in place\n\n            // denormalize `N` in place\n            u0 = HEAP32[N>>2]|0;\n            for ( i = 4; (i|0) <= (lD|0); i = (i+4)|0 ) {\n                n = HEAP32[(N+i)>>2]|0;\n                HEAP32[(N+i-4)>>2] = ( n << (32-e|0) ) | (u0 >>> e);\n                u0 = n;\n            }\n            HEAP32[(N+lD)>>2] = u0 >>> e;\n        }\n    }\n\n    /**\n     * Montgomery modular reduction\n     *\n     * Definition:\n     *\n     *  MREDC(A) = A × X (mod N),\n     *  M × X = N × Y + 1,\n     *\n     * where M = 2^(32*m) such that N < M and A < N×M\n     *\n     * Numbers `X` and `Y` can be calculated using Extended Euclidean Algorithm.\n     */\n    function mredc ( A, lA, N, lN, y, R ) {\n        A  =  A|0;\n        lA = lA|0;\n        N  =  N|0;\n        lN = lN|0;\n        y  =  y|0;\n        R  =  R|0;\n\n        var T = 0,\n            c = 0, uh = 0, ul = 0, vl = 0, vh = 0, w0 = 0, w1 = 0, w2 = 0, r0 = 0, r1 = 0,\n            i = 0, j = 0, k = 0;\n\n        T = salloc(lN<<1)|0;\n        z(lN<<1, 0, T);\n\n        cp( lA, A, T );\n\n        // HAC 14.32\n        for ( i = 0; (i|0) < (lN|0); i = (i+4)|0 ) {\n            uh = HEAP32[(T+i)>>2]|0, ul = uh & 0xffff, uh = uh >>> 16;\n            vh = y >>> 16, vl = y & 0xffff;\n            w0 = imul(ul,vl)|0, w1 = ( (imul(ul,vh)|0) + (imul(uh,vl)|0) | 0 ) + (w0 >>> 16) | 0;\n            ul = w0 & 0xffff, uh = w1 & 0xffff;\n            r1 = 0;\n            for ( j = 0; (j|0) < (lN|0); j = (j+4)|0 ) {\n                k = (i+j)|0;\n                vh = HEAP32[(N+j)>>2]|0, vl = vh & 0xffff, vh = vh >>> 16;\n                r0 = HEAP32[(T+k)>>2]|0;\n                w0 = ((imul(ul, vl)|0) + (r1 & 0xffff)|0) + (r0 & 0xffff)|0;\n                w1 = ((imul(ul, vh)|0) + (r1 >>> 16)|0) + (r0 >>> 16)|0;\n                w2 = ((imul(uh, vl)|0) + (w1 & 0xffff)|0) + (w0 >>> 16)|0;\n                r1 = ((imul(uh, vh)|0) + (w2 >>> 16)|0) + (w1 >>> 16)|0;\n                r0 = (w2 << 16) | (w0 & 0xffff);\n                HEAP32[(T+k)>>2] = r0;\n            }\n            k = (i+j)|0;\n            r0 = HEAP32[(T+k)>>2]|0;\n            w0 = ((r0 & 0xffff) + (r1 & 0xffff)|0) + c|0;\n            w1 = ((r0 >>> 16) + (r1 >>> 16)|0) + (w0 >>> 16)|0;\n            HEAP32[(T+k)>>2] = (w1 << 16) | (w0 & 0xffff);\n            c = w1 >>> 16;\n        }\n\n        cp( lN, (T+lN)|0, R );\n\n        sfree(lN<<1);\n\n        if ( c | ( (cmp( N, lN, R, lN )|0) <= 0 ) ) {\n            sub( R, lN, N, lN, R, lN )|0;\n        }\n    }\n\n    return {\n        sreset: sreset,\n        salloc: salloc,\n        sfree:  sfree,\n        z: z,\n        tst: tst,\n        neg: neg,\n        cmp: cmp,\n        add: add,\n        sub: sub,\n        mul: mul,\n        sqr: sqr,\n        div: div,\n        mredc: mredc\n    };\n}\n","import { BigNumber, BigNumber_ONE, BigNumber_ZERO, is_big_number } from './bignum';\n\n/**\n * @param {number} a\n * @param {number} b\n * @return {{gcd: number, x: number, y: number}}\n * @constructor\n */\nexport function Number_extGCD(a, b) {\n  var sa = a < 0 ? -1 : 1,\n    sb = b < 0 ? -1 : 1,\n    xi = 1,\n    xj = 0,\n    yi = 0,\n    yj = 1,\n    r,\n    q,\n    t,\n    a_cmp_b;\n\n  a *= sa;\n  b *= sb;\n\n  a_cmp_b = a < b;\n  if (a_cmp_b) {\n    t = a;\n    (a = b), (b = t);\n    t = sa;\n    sa = sb;\n    sb = t;\n  }\n\n  (q = Math.floor(a / b)), (r = a - q * b);\n  while (r) {\n    (t = xi - q * xj), (xi = xj), (xj = t);\n    (t = yi - q * yj), (yi = yj), (yj = t);\n    (a = b), (b = r);\n\n    (q = Math.floor(a / b)), (r = a - q * b);\n  }\n\n  xj *= sa;\n  yj *= sb;\n\n  if (a_cmp_b) {\n    t = xj;\n    (xj = yj), (yj = t);\n  }\n\n  return {\n    gcd: b,\n    x: xj,\n    y: yj,\n  };\n}\n\n/**\n * @param a\n * @param b\n * @return {{gcd: BigNumber, x: BigNumber, y: BigNumber}}\n * @constructor\n */\nexport function BigNumber_extGCD(a, b) {\n  if (!is_big_number(a)) a = new BigNumber(a);\n\n  if (!is_big_number(b)) b = new BigNumber(b);\n\n  var sa = a.sign,\n    sb = b.sign;\n\n  if (sa < 0) a = a.negate();\n\n  if (sb < 0) b = b.negate();\n\n  var a_cmp_b = a.compare(b);\n  if (a_cmp_b < 0) {\n    var t = a;\n    (a = b), (b = t);\n    t = sa;\n    sa = sb;\n    sb = t;\n  }\n\n  var xi = BigNumber_ONE,\n    xj = BigNumber_ZERO,\n    lx = b.bitLength,\n    yi = BigNumber_ZERO,\n    yj = BigNumber_ONE,\n    ly = a.bitLength,\n    z,\n    r,\n    q;\n\n  z = a.divide(b);\n  while ((r = z.remainder) !== BigNumber_ZERO) {\n    q = z.quotient;\n\n    (z = xi.subtract(q.multiply(xj).clamp(lx)).clamp(lx)), (xi = xj), (xj = z);\n    (z = yi.subtract(q.multiply(yj).clamp(ly)).clamp(ly)), (yi = yj), (yj = z);\n\n    (a = b), (b = r);\n\n    z = a.divide(b);\n  }\n\n  if (sa < 0) xj = xj.negate();\n\n  if (sb < 0) yj = yj.negate();\n\n  if (a_cmp_b < 0) {\n    var t = xj;\n    (xj = yj), (yj = t);\n  }\n\n  return {\n    gcd: b,\n    x: xj,\n    y: yj,\n  };\n}\n","import { Random_getValues } from '../random/random';\nimport { bigint_asm } from './bigint.asm';\nimport { is_buffer, is_bytes, is_number, is_string, string_to_bytes, pow2_ceil } from '../utils';\nimport { IllegalArgumentError } from '../errors';\nimport { BigNumber_extGCD, Number_extGCD } from './extgcd';\n\nexport function is_big_number(a) {\n  return a instanceof BigNumber;\n}\n\n///////////////////////////////////////////////////////////////////////////////\n\nexport var _bigint_stdlib = { Uint32Array: Uint32Array, Math: Math };\nexport var _bigint_heap = new Uint32Array(0x100000);\nexport var _bigint_asm;\n\n// Small primes for trail division\nconst _primes = [2, 3 /* and so on, computed lazily */];\n\nfunction _half_imul(a, b) {\n  return (a * b) | 0;\n}\n\nif (_bigint_stdlib.Math.imul === undefined) {\n  _bigint_stdlib.Math.imul = _half_imul;\n  _bigint_asm = bigint_asm(_bigint_stdlib, null, _bigint_heap.buffer);\n  delete _bigint_stdlib.Math.imul;\n} else {\n  _bigint_asm = bigint_asm(_bigint_stdlib, null, _bigint_heap.buffer);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n\nconst _BigNumber_ZERO_limbs = new Uint32Array(0);\n\nexport class BigNumber {\n  /**\n   * @param {string} str\n   * @return {BigNumber}\n   */\n  static fromString(str) {\n    const bytes = string_to_bytes(str);\n    return new BigNumber(bytes);\n  }\n\n  /**\n   * @param {number} num\n   * @return {BigNumber}\n   */\n  static fromNumber(num) {\n    let limbs = _BigNumber_ZERO_limbs;\n    let bitlen = 0;\n    let sign = 0;\n\n    var absnum = Math.abs(num);\n    if (absnum > 0xffffffff) {\n      limbs = new Uint32Array(2);\n      limbs[0] = absnum | 0;\n      limbs[1] = (absnum / 0x100000000) | 0;\n      bitlen = 52;\n    } else if (absnum > 0) {\n      limbs = new Uint32Array(1);\n      limbs[0] = absnum;\n      bitlen = 32;\n    } else {\n      limbs = _BigNumber_ZERO_limbs;\n      bitlen = 0;\n    }\n    sign = num < 0 ? -1 : 1;\n\n    return BigNumber.fromConfig({ limbs, bitLength: bitlen, sign });\n  }\n\n  /**\n   * @param {ArrayBuffer} buffer\n   * @return {BigNumber}\n   */\n  static fromArrayBuffer(buffer) {\n    return new BigNumber(new Uint8Array(buffer));\n  }\n\n  /**\n   * @param {{ limbs: Uint32Array, bitLength: number, sign: number }} obj\n   * @return {BigNumber}\n   */\n  static fromConfig(obj) {\n    const bn = new BigNumber();\n    bn.limbs = new Uint32Array(obj.limbs);\n    bn.bitLength = obj.bitLength;\n    bn.sign = obj.sign;\n    return bn;\n  }\n\n  /**\n   * @param {Uint8Array} [num]\n   * @return {BigNumber}\n   */\n  constructor(num) {\n    let limbs = _BigNumber_ZERO_limbs;\n    let bitlen = 0;\n    let sign = 0;\n\n    if (num === undefined) {\n      // do nothing\n    } else if (is_bytes(num)) {\n      for (var i = 0; !num[i]; i++);\n\n      bitlen = (num.length - i) * 8;\n      if (!bitlen) return BigNumber_ZERO;\n\n      limbs = new Uint32Array((bitlen + 31) >> 5);\n      for (var j = num.length - 4; j >= i; j -= 4) {\n        limbs[(num.length - 4 - j) >> 2] = (num[j] << 24) | (num[j + 1] << 16) | (num[j + 2] << 8) | num[j + 3];\n      }\n      if (i - j === 3) {\n        limbs[limbs.length - 1] = num[i];\n      } else if (i - j === 2) {\n        limbs[limbs.length - 1] = (num[i] << 8) | num[i + 1];\n      } else if (i - j === 1) {\n        limbs[limbs.length - 1] = (num[i] << 16) | (num[i + 1] << 8) | num[i + 2];\n      }\n\n      sign = 1;\n    } else {\n      throw new TypeError('number is of unexpected type');\n    }\n\n    this.limbs = limbs;\n    this.bitLength = bitlen;\n    this.sign = sign;\n  }\n\n  /**\n   * @param {number} radix\n   * @return {string}\n   */\n  toString(radix) {\n    radix = radix || 16;\n\n    const limbs = this.limbs;\n    const bitlen = this.bitLength;\n    let str = '';\n\n    if (radix === 16) {\n      // FIXME clamp last limb to (bitlen % 32)\n      for (var i = ((bitlen + 31) >> 5) - 1; i >= 0; i--) {\n        var h = limbs[i].toString(16);\n        str += '00000000'.substr(h.length);\n        str += h;\n      }\n\n      str = str.replace(/^0+/, '');\n\n      if (!str.length) str = '0';\n    } else {\n      throw new IllegalArgumentError('bad radix');\n    }\n\n    if (this.sign < 0) str = '-' + str;\n\n    return str;\n  }\n\n  /**\n   * @return {Uint8Array}\n   */\n  toBytes() {\n    const bitlen = this.bitLength;\n    const limbs = this.limbs;\n\n    if (bitlen === 0) return new Uint8Array(0);\n\n    const bytelen = (bitlen + 7) >> 3;\n    const bytes = new Uint8Array(bytelen);\n    for (let i = 0; i < bytelen; i++) {\n      let j = bytelen - i - 1;\n      bytes[i] = limbs[j >> 2] >> ((j & 3) << 3);\n    }\n\n    return bytes;\n  }\n\n  /**\n   * Downgrade to Number\n   *\n   * @return {number}\n   */\n  valueOf() {\n    const limbs = this.limbs;\n    const bits = this.bitLength;\n    const sign = this.sign;\n\n    if (!sign) return 0;\n\n    if (bits <= 32) return sign * (limbs[0] >>> 0);\n\n    if (bits <= 52) return sign * (0x100000000 * (limbs[1] >>> 0) + (limbs[0] >>> 0));\n\n    // normalization\n    let i,\n      l,\n      e = 0;\n    for (i = limbs.length - 1; i >= 0; i--) {\n      if ((l = limbs[i]) === 0) continue;\n      while (((l << e) & 0x80000000) === 0) e++;\n      break;\n    }\n\n    if (i === 0) return sign * (limbs[0] >>> 0);\n\n    return (\n      sign *\n      (0x100000 * (((limbs[i] << e) | (e ? limbs[i - 1] >>> (32 - e) : 0)) >>> 0) +\n        (((limbs[i - 1] << e) | (e && i > 1 ? limbs[i - 2] >>> (32 - e) : 0)) >>> 12)) *\n      Math.pow(2, 32 * i - e - 52)\n    );\n  }\n\n  /**\n   * @param {number} b\n   * @return {BigNumber}\n   */\n  clamp(b) {\n    const limbs = this.limbs;\n    const bitlen = this.bitLength;\n\n    // FIXME check b is number and in a valid range\n\n    if (b >= bitlen) return this;\n\n    const clamped = new BigNumber();\n    let n = (b + 31) >> 5;\n    let k = b % 32;\n\n    clamped.limbs = new Uint32Array(limbs.subarray(0, n));\n    clamped.bitLength = b;\n    clamped.sign = this.sign;\n\n    if (k) clamped.limbs[n - 1] &= -1 >>> (32 - k);\n\n    return clamped;\n  }\n\n  /**\n   * @param {number} f\n   * @param {number} [b]\n   * @return {BigNumber}\n   */\n  slice(f, b) {\n    if (!is_number(f)) throw new TypeError('TODO');\n\n    if (b !== undefined && !is_number(b)) throw new TypeError('TODO');\n\n    const limbs = this.limbs;\n    const bitlen = this.bitLength;\n\n    if (f < 0) throw new RangeError('TODO');\n\n    if (f >= bitlen) return BigNumber_ZERO;\n\n    if (b === undefined || b > bitlen - f) b = bitlen - f;\n\n    const sliced = new BigNumber();\n    let n = f >> 5;\n    let m = (f + b + 31) >> 5;\n    let l = (b + 31) >> 5;\n    let t = f % 32;\n    let k = b % 32;\n\n    const slimbs = new Uint32Array(l);\n    if (t) {\n      for (var i = 0; i < m - n - 1; i++) {\n        slimbs[i] = (limbs[n + i] >>> t) | (limbs[n + i + 1] << (32 - t));\n      }\n      slimbs[i] = limbs[n + i] >>> t;\n    } else {\n      slimbs.set(limbs.subarray(n, m));\n    }\n\n    if (k) {\n      slimbs[l - 1] &= -1 >>> (32 - k);\n    }\n\n    sliced.limbs = slimbs;\n    sliced.bitLength = b;\n    sliced.sign = this.sign;\n\n    return sliced;\n  }\n\n  /**\n   * @return {BigNumber}\n   */\n  negate() {\n    const negative = new BigNumber();\n\n    negative.limbs = this.limbs;\n    negative.bitLength = this.bitLength;\n    negative.sign = -1 * this.sign;\n\n    return negative;\n  }\n\n  /**\n   * @param {BigNumber} that\n   * @return {number}\n   */\n  compare(that) {\n    var alimbs = this.limbs,\n      alimbcnt = alimbs.length,\n      blimbs = that.limbs,\n      blimbcnt = blimbs.length,\n      z = 0;\n\n    if (this.sign < that.sign) return -1;\n\n    if (this.sign > that.sign) return 1;\n\n    _bigint_heap.set(alimbs, 0);\n    _bigint_heap.set(blimbs, alimbcnt);\n    z = _bigint_asm.cmp(0, alimbcnt << 2, alimbcnt << 2, blimbcnt << 2);\n\n    return z * this.sign;\n  }\n\n  /**\n   * @param {BigNumber} that\n   * @return {BigNumber}\n   */\n  add(that) {\n    if (!this.sign) return that;\n\n    if (!that.sign) return this;\n\n    var abitlen = this.bitLength,\n      alimbs = this.limbs,\n      alimbcnt = alimbs.length,\n      asign = this.sign,\n      bbitlen = that.bitLength,\n      blimbs = that.limbs,\n      blimbcnt = blimbs.length,\n      bsign = that.sign,\n      rbitlen,\n      rlimbcnt,\n      rsign,\n      rof,\n      result = new BigNumber();\n\n    rbitlen = (abitlen > bbitlen ? abitlen : bbitlen) + (asign * bsign > 0 ? 1 : 0);\n    rlimbcnt = (rbitlen + 31) >> 5;\n\n    _bigint_asm.sreset();\n\n    var pA = _bigint_asm.salloc(alimbcnt << 2),\n      pB = _bigint_asm.salloc(blimbcnt << 2),\n      pR = _bigint_asm.salloc(rlimbcnt << 2);\n\n    _bigint_asm.z(pR - pA + (rlimbcnt << 2), 0, pA);\n\n    _bigint_heap.set(alimbs, pA >> 2);\n    _bigint_heap.set(blimbs, pB >> 2);\n\n    if (asign * bsign > 0) {\n      _bigint_asm.add(pA, alimbcnt << 2, pB, blimbcnt << 2, pR, rlimbcnt << 2);\n      rsign = asign;\n    } else if (asign > bsign) {\n      rof = _bigint_asm.sub(pA, alimbcnt << 2, pB, blimbcnt << 2, pR, rlimbcnt << 2);\n      rsign = rof ? bsign : asign;\n    } else {\n      rof = _bigint_asm.sub(pB, blimbcnt << 2, pA, alimbcnt << 2, pR, rlimbcnt << 2);\n      rsign = rof ? asign : bsign;\n    }\n\n    if (rof) _bigint_asm.neg(pR, rlimbcnt << 2, pR, rlimbcnt << 2);\n\n    if (_bigint_asm.tst(pR, rlimbcnt << 2) === 0) return BigNumber_ZERO;\n\n    result.limbs = new Uint32Array(_bigint_heap.subarray(pR >> 2, (pR >> 2) + rlimbcnt));\n    result.bitLength = rbitlen;\n    result.sign = rsign;\n\n    return result;\n  }\n\n  /**\n   * @param {BigNumber} that\n   * @return {BigNumber}\n   */\n  subtract(that) {\n    return this.add(that.negate());\n  }\n\n  /**\n   * @return {BigNumber}\n   */\n  square() {\n    if (!this.sign) return BigNumber_ZERO;\n\n    var abitlen = this.bitLength,\n      alimbs = this.limbs,\n      alimbcnt = alimbs.length,\n      rbitlen,\n      rlimbcnt,\n      result = new BigNumber();\n\n    rbitlen = abitlen << 1;\n    rlimbcnt = (rbitlen + 31) >> 5;\n\n    _bigint_asm.sreset();\n\n    var pA = _bigint_asm.salloc(alimbcnt << 2),\n      pR = _bigint_asm.salloc(rlimbcnt << 2);\n\n    _bigint_asm.z(pR - pA + (rlimbcnt << 2), 0, pA);\n\n    _bigint_heap.set(alimbs, pA >> 2);\n\n    _bigint_asm.sqr(pA, alimbcnt << 2, pR);\n\n    result.limbs = new Uint32Array(_bigint_heap.subarray(pR >> 2, (pR >> 2) + rlimbcnt));\n    result.bitLength = rbitlen;\n    result.sign = 1;\n\n    return result;\n  }\n\n  /**\n   * @param {BigNumber} that\n   * @return {{quotient: BigNumber, remainder: BigNumber}}\n   */\n  divide(that) {\n    var abitlen = this.bitLength,\n      alimbs = this.limbs,\n      alimbcnt = alimbs.length,\n      bbitlen = that.bitLength,\n      blimbs = that.limbs,\n      blimbcnt = blimbs.length,\n      qlimbcnt,\n      rlimbcnt,\n      quotient = BigNumber_ZERO,\n      remainder = BigNumber_ZERO;\n\n    _bigint_asm.sreset();\n\n    var pA = _bigint_asm.salloc(alimbcnt << 2),\n      pB = _bigint_asm.salloc(blimbcnt << 2),\n      pQ = _bigint_asm.salloc(alimbcnt << 2);\n\n    _bigint_asm.z(pQ - pA + (alimbcnt << 2), 0, pA);\n\n    _bigint_heap.set(alimbs, pA >> 2);\n    _bigint_heap.set(blimbs, pB >> 2);\n\n    _bigint_asm.div(pA, alimbcnt << 2, pB, blimbcnt << 2, pQ);\n\n    qlimbcnt = _bigint_asm.tst(pQ, alimbcnt << 2) >> 2;\n    if (qlimbcnt) {\n      quotient = new BigNumber();\n      quotient.limbs = new Uint32Array(_bigint_heap.subarray(pQ >> 2, (pQ >> 2) + qlimbcnt));\n      quotient.bitLength = abitlen < qlimbcnt << 5 ? abitlen : qlimbcnt << 5;\n      quotient.sign = this.sign * that.sign;\n    }\n\n    rlimbcnt = _bigint_asm.tst(pA, blimbcnt << 2) >> 2;\n    if (rlimbcnt) {\n      remainder = new BigNumber();\n      remainder.limbs = new Uint32Array(_bigint_heap.subarray(pA >> 2, (pA >> 2) + rlimbcnt));\n      remainder.bitLength = bbitlen < rlimbcnt << 5 ? bbitlen : rlimbcnt << 5;\n      remainder.sign = this.sign;\n    }\n\n    return {\n      quotient: quotient,\n      remainder: remainder,\n    };\n  }\n\n  /**\n   * @param {BigNumber} that\n   * @return {BigNumber}\n   */\n  multiply(that) {\n    if (!this.sign || !that.sign) return BigNumber_ZERO;\n\n    var abitlen = this.bitLength,\n      alimbs = this.limbs,\n      alimbcnt = alimbs.length,\n      bbitlen = that.bitLength,\n      blimbs = that.limbs,\n      blimbcnt = blimbs.length,\n      rbitlen,\n      rlimbcnt,\n      result = new BigNumber();\n\n    rbitlen = abitlen + bbitlen;\n    rlimbcnt = (rbitlen + 31) >> 5;\n\n    _bigint_asm.sreset();\n\n    var pA = _bigint_asm.salloc(alimbcnt << 2),\n      pB = _bigint_asm.salloc(blimbcnt << 2),\n      pR = _bigint_asm.salloc(rlimbcnt << 2);\n\n    _bigint_asm.z(pR - pA + (rlimbcnt << 2), 0, pA);\n\n    _bigint_heap.set(alimbs, pA >> 2);\n    _bigint_heap.set(blimbs, pB >> 2);\n\n    _bigint_asm.mul(pA, alimbcnt << 2, pB, blimbcnt << 2, pR, rlimbcnt << 2);\n\n    result.limbs = new Uint32Array(_bigint_heap.subarray(pR >> 2, (pR >> 2) + rlimbcnt));\n    result.sign = this.sign * that.sign;\n    result.bitLength = rbitlen;\n\n    return result;\n  }\n\n  /**\n   * @param {number} rounds\n   * @return {boolean}\n   * @private\n   */\n  isMillerRabinProbablePrime(rounds) {\n    var t = BigNumber.fromConfig(this),\n      s = 0;\n    t.limbs[0] -= 1;\n    while (t.limbs[s >> 5] === 0) s += 32;\n    while (((t.limbs[s >> 5] >> (s & 31)) & 1) === 0) s++;\n    t = t.slice(s);\n\n    var m = new Modulus(this),\n      m1 = this.subtract(BigNumber_ONE),\n      a = BigNumber.fromConfig(this),\n      l = this.limbs.length - 1;\n    while (a.limbs[l] === 0) l--;\n\n    while (--rounds >= 0) {\n      Random_getValues(a.limbs);\n      if (a.limbs[0] < 2) a.limbs[0] += 2;\n      while (a.compare(m1) >= 0) a.limbs[l] >>>= 1;\n\n      var x = m.power(a, t);\n      if (x.compare(BigNumber_ONE) === 0) continue;\n      if (x.compare(m1) === 0) continue;\n\n      var c = s;\n      while (--c > 0) {\n        x = x.square().divide(m).remainder;\n        if (x.compare(BigNumber_ONE) === 0) return false;\n        if (x.compare(m1) === 0) break;\n      }\n\n      if (c === 0) return false;\n    }\n\n    return true;\n  }\n\n  /**\n   * @param {number} [paranoia]\n   * @return {boolean}\n   */\n  isProbablePrime(paranoia) {\n    paranoia = paranoia || 80;\n\n    var limbs = this.limbs;\n    var i = 0;\n\n    // Oddity test\n    // (50% false positive probability)\n    if ((limbs[0] & 1) === 0) return false;\n    if (paranoia <= 1) return true;\n\n    // Magic divisors (3, 5, 17) test\n    // (~25% false positive probability)\n    var s3 = 0,\n      s5 = 0,\n      s17 = 0;\n    for (i = 0; i < limbs.length; i++) {\n      var l3 = limbs[i];\n      while (l3) {\n        s3 += l3 & 3;\n        l3 >>>= 2;\n      }\n\n      var l5 = limbs[i];\n      while (l5) {\n        s5 += l5 & 3;\n        l5 >>>= 2;\n        s5 -= l5 & 3;\n        l5 >>>= 2;\n      }\n\n      var l17 = limbs[i];\n      while (l17) {\n        s17 += l17 & 15;\n        l17 >>>= 4;\n        s17 -= l17 & 15;\n        l17 >>>= 4;\n      }\n    }\n    if (!(s3 % 3) || !(s5 % 5) || !(s17 % 17)) return false;\n    if (paranoia <= 2) return true;\n\n    // Miller-Rabin test\n    // (≤ 4^(-k) false positive probability)\n    return this.isMillerRabinProbablePrime(paranoia >>> 1);\n  }\n}\n\nexport const BigNumber_ZERO = BigNumber.fromNumber(0);\nexport const BigNumber_ONE = BigNumber.fromNumber(1);\n\n/**\n * Returns an array populated with first n primes.\n *\n * @param {number} n\n * @return {number[]}\n * @private\n */\nfunction _small_primes(n) {\n  if (_primes.length >= n) return _primes.slice(0, n);\n\n  for (let p = _primes[_primes.length - 1] + 2; _primes.length < n; p += 2) {\n    for (var i = 0, d = _primes[i]; d * d <= p; d = _primes[++i]) {\n      if (p % d == 0) break;\n    }\n    if (d * d > p) _primes.push(p);\n  }\n\n  return _primes;\n}\n\n/**\n * Returns strong pseudoprime of a specified bit length\n *\n * @param {number} bitlen\n * @param {function(BigNumber): boolean} filter\n * @return {BigNumber}\n */\nexport function randomProbablePrime(bitlen, filter) {\n  let limbcnt = (bitlen + 31) >> 5;\n  const prime = BigNumber.fromConfig({ sign: 1, bitLength: bitlen, limbs: new Uint32Array(limbcnt) });\n  const limbs = prime.limbs;\n\n  // Number of small divisors to try that minimizes the total cost of the trial division\n  // along with the first round of Miller-Rabin test for a certain bit length.\n  let k = 10000;\n  if (bitlen <= 512) k = 2200;\n  if (bitlen <= 256) k = 600;\n\n  let divisors = _small_primes(k);\n  const remainders = new Uint32Array(k);\n\n  // Number of Miller-Rabin iterations for an error rate  of less than 2^-80\n  // Damgaard, Landrock, Pomerance: Average case error estimates for the strong probable prime test.\n  const s = (bitlen * Math.LN2) | 0;\n  let r = 27;\n  if (bitlen >= 250) r = 12;\n  if (bitlen >= 450) r = 6;\n  if (bitlen >= 850) r = 3;\n  if (bitlen >= 1300) r = 2;\n\n  while (true) {\n    // populate `prime` with random bits, clamp to the appropriate bit length\n    Random_getValues(limbs);\n    limbs[0] |= 1;\n    limbs[limbcnt - 1] |= 1 << ((bitlen - 1) & 31);\n    if (bitlen & 31) limbs[limbcnt - 1] &= pow2_ceil((bitlen + 1) & 31) - 1;\n\n    // remainders from division to small primes\n    remainders[0] = 1;\n    for (let i = 1; i < k; i++) {\n      remainders[i] = prime.divide(BigNumber.fromNumber(divisors[i])).remainder.valueOf();\n    }\n\n    // try no more than `s` subsequent candidates\n    seek: for (let j = 0; j < s; j += 2, limbs[0] += 2) {\n      // check for small factors\n      for (let i = 1; i < k; i++) {\n        if ((remainders[i] + j) % divisors[i] === 0) continue seek;\n      }\n\n      // additional check just before the heavy lifting\n      if (typeof filter === 'function' && !filter(prime)) continue;\n\n      // proceed to Miller-Rabin test\n      if (prime.isMillerRabinProbablePrime(r)) return prime;\n    }\n  }\n}\n\nexport class Modulus extends BigNumber {\n  /**\n   * Modulus\n   *\n   * @param {BigNumber} number\n   */\n  constructor(number) {\n    super();\n    this.limbs = number.limbs;\n    this.bitLength = number.bitLength;\n    this.sign = number.sign;\n\n    if (this.valueOf() < 1) throw new RangeError();\n\n    if (this.bitLength <= 32) return;\n\n    let comodulus;\n\n    if (this.limbs[0] & 1) {\n      const bitlen = ((this.bitLength + 31) & -32) + 1;\n      const limbs = new Uint32Array((bitlen + 31) >> 5);\n      limbs[limbs.length - 1] = 1;\n      comodulus = new BigNumber();\n      comodulus.sign = 1;\n      comodulus.bitLength = bitlen;\n      comodulus.limbs = limbs;\n\n      const k = Number_extGCD(0x100000000, this.limbs[0]).y;\n      this.coefficient = k < 0 ? -k : 0x100000000 - k;\n    } else {\n      /**\n       * TODO even modulus reduction\n       * Modulus represented as `N = 2^U * V`, where `V` is odd and thus `GCD(2^U, V) = 1`.\n       * Calculation `A = TR' mod V` is made as for odd modulo using Montgomery method.\n       * Calculation `B = TR' mod 2^U` is easy as modulus is a power of 2.\n       * Using Chinese Remainder Theorem and Garner's Algorithm restore `TR' mod N` from `A` and `B`.\n       */\n      return;\n    }\n\n    this.comodulus = comodulus;\n    this.comodulusRemainder = comodulus.divide(this).remainder;\n    this.comodulusRemainderSquare = comodulus.square().divide(this).remainder;\n  }\n\n  /**\n   * Modular reduction\n   *\n   * @param {BigNumber} a\n   * @return {BigNumber}\n   * @constructor\n   */\n  reduce(a) {\n    if (a.bitLength <= 32 && this.bitLength <= 32) return BigNumber.fromNumber(a.valueOf() % this.valueOf());\n\n    if (a.compare(this) < 0) return a;\n\n    return a.divide(this).remainder;\n  }\n\n  /**\n   * Modular inverse\n   *\n   * @param {BigNumber} a\n   * @return {BigNumber}\n   * @constructor\n   */\n  inverse(a) {\n    a = this.reduce(a);\n\n    const r = BigNumber_extGCD(this, a);\n    if (r.gcd.valueOf() !== 1) return null;\n\n    if (r.y.sign < 0) return r.y.add(this).clamp(this.bitLength);\n\n    return r.y;\n  }\n\n  /**\n   * Modular exponentiation\n   *\n   * @param {BigNumber} g\n   * @param {BigNumber} e\n   * @return {BigNumber}\n   * @constructor\n   */\n  power(g, e) {\n    // count exponent set bits\n    let c = 0;\n    for (let i = 0; i < e.limbs.length; i++) {\n      let t = e.limbs[i];\n      while (t) {\n        if (t & 1) c++;\n        t >>>= 1;\n      }\n    }\n\n    // window size parameter\n    let k = 8;\n    if (e.bitLength <= 4536) k = 7;\n    if (e.bitLength <= 1736) k = 6;\n    if (e.bitLength <= 630) k = 5;\n    if (e.bitLength <= 210) k = 4;\n    if (e.bitLength <= 60) k = 3;\n    if (e.bitLength <= 12) k = 2;\n    if (c <= 1 << (k - 1)) k = 1;\n\n    // montgomerize base\n    g = _Montgomery_reduce(this.reduce(g).multiply(this.comodulusRemainderSquare), this);\n\n    // precompute odd powers\n    const g2 = _Montgomery_reduce(g.square(), this),\n      gn = new Array(1 << (k - 1));\n    gn[0] = g;\n    gn[1] = _Montgomery_reduce(g.multiply(g2), this);\n    for (let i = 2; i < 1 << (k - 1); i++) {\n      gn[i] = _Montgomery_reduce(gn[i - 1].multiply(g2), this);\n    }\n\n    // perform exponentiation\n    const u = this.comodulusRemainder;\n    let r = u;\n    for (let i = e.limbs.length - 1; i >= 0; i--) {\n      let t = e.limbs[i];\n      for (let j = 32; j > 0; ) {\n        if (t & 0x80000000) {\n          let n = t >>> (32 - k),\n            l = k;\n          while ((n & 1) === 0) {\n            n >>>= 1;\n            l--;\n          }\n          var m = gn[n >>> 1];\n          while (n) {\n            n >>>= 1;\n            if (r !== u) r = _Montgomery_reduce(r.square(), this);\n          }\n          r = r !== u ? _Montgomery_reduce(r.multiply(m), this) : m;\n          (t <<= l), (j -= l);\n        } else {\n          if (r !== u) r = _Montgomery_reduce(r.square(), this);\n          (t <<= 1), j--;\n        }\n      }\n    }\n\n    // de-montgomerize result\n    return _Montgomery_reduce(r, this);\n  }\n}\n\n/**\n * @param {BigNumber} a\n * @param {Modulus} n\n * @return {BigNumber}\n * @private\n */\nfunction _Montgomery_reduce(a, n) {\n  const alimbs = a.limbs;\n  const alimbcnt = alimbs.length;\n  const nlimbs = n.limbs;\n  const nlimbcnt = nlimbs.length;\n  const y = n.coefficient;\n\n  _bigint_asm.sreset();\n\n  const pA = _bigint_asm.salloc(alimbcnt << 2),\n    pN = _bigint_asm.salloc(nlimbcnt << 2),\n    pR = _bigint_asm.salloc(nlimbcnt << 2);\n\n  _bigint_asm.z(pR - pA + (nlimbcnt << 2), 0, pA);\n\n  _bigint_heap.set(alimbs, pA >> 2);\n  _bigint_heap.set(nlimbs, pN >> 2);\n\n  _bigint_asm.mredc(pA, alimbcnt << 2, pN, nlimbcnt << 2, y, pR);\n\n  const result = new BigNumber();\n  result.limbs = new Uint32Array(_bigint_heap.subarray(pR >> 2, (pR >> 2) + nlimbcnt));\n  result.bitLength = n.bitLength;\n  result.sign = 1;\n\n  return result;\n}\n","import { BigNumber, BigNumber_ONE, BigNumber_ZERO, Modulus } from './bignum';\nimport { BigNumber_extGCD } from './extgcd';\n\nBigNumber.ZERO = BigNumber_ZERO;\nBigNumber.ONE = BigNumber_ONE;\n\nBigNumber.extGCD = BigNumber_extGCD;\n\nexport { BigNumber, Modulus };\n","export function sha1_asm ( stdlib, foreign, buffer ) {\n    \"use asm\";\n\n    // SHA256 state\n    var H0 = 0, H1 = 0, H2 = 0, H3 = 0, H4 = 0,\n        TOTAL0 = 0, TOTAL1 = 0;\n\n    // HMAC state\n    var I0 = 0, I1 = 0, I2 = 0, I3 = 0, I4 = 0,\n        O0 = 0, O1 = 0, O2 = 0, O3 = 0, O4 = 0;\n\n    // I/O buffer\n    var HEAP = new stdlib.Uint8Array(buffer);\n\n    function _core ( w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15 ) {\n        w0 = w0|0;\n        w1 = w1|0;\n        w2 = w2|0;\n        w3 = w3|0;\n        w4 = w4|0;\n        w5 = w5|0;\n        w6 = w6|0;\n        w7 = w7|0;\n        w8 = w8|0;\n        w9 = w9|0;\n        w10 = w10|0;\n        w11 = w11|0;\n        w12 = w12|0;\n        w13 = w13|0;\n        w14 = w14|0;\n        w15 = w15|0;\n\n        var a = 0, b = 0, c = 0, d = 0, e = 0, n = 0, t = 0,\n            w16 = 0, w17 = 0, w18 = 0, w19 = 0,\n            w20 = 0, w21 = 0, w22 = 0, w23 = 0, w24 = 0, w25 = 0, w26 = 0, w27 = 0, w28 = 0, w29 = 0,\n            w30 = 0, w31 = 0, w32 = 0, w33 = 0, w34 = 0, w35 = 0, w36 = 0, w37 = 0, w38 = 0, w39 = 0,\n            w40 = 0, w41 = 0, w42 = 0, w43 = 0, w44 = 0, w45 = 0, w46 = 0, w47 = 0, w48 = 0, w49 = 0,\n            w50 = 0, w51 = 0, w52 = 0, w53 = 0, w54 = 0, w55 = 0, w56 = 0, w57 = 0, w58 = 0, w59 = 0,\n            w60 = 0, w61 = 0, w62 = 0, w63 = 0, w64 = 0, w65 = 0, w66 = 0, w67 = 0, w68 = 0, w69 = 0,\n            w70 = 0, w71 = 0, w72 = 0, w73 = 0, w74 = 0, w75 = 0, w76 = 0, w77 = 0, w78 = 0, w79 = 0;\n\n        a = H0;\n        b = H1;\n        c = H2;\n        d = H3;\n        e = H4;\n\n        // 0\n        t = ( w0 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 1\n        t = ( w1 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 2\n        t = ( w2 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 3\n        t = ( w3 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 4\n        t = ( w4 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 5\n        t = ( w5 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 6\n        t = ( w6 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 7\n        t = ( w7 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 8\n        t = ( w8 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 9\n        t = ( w9 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 10\n        t = ( w10 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 11\n        t = ( w11 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 12\n        t = ( w12 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 13\n        t = ( w13 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 14\n        t = ( w14 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 15\n        t = ( w15 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 16\n        n = w13 ^ w8 ^ w2 ^ w0;\n        w16 = (n << 1) | (n >>> 31);\n        t = (w16 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 17\n        n = w14 ^ w9 ^ w3 ^ w1;\n        w17 = (n << 1) | (n >>> 31);\n        t = (w17 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 18\n        n = w15 ^ w10 ^ w4 ^ w2;\n        w18 = (n << 1) | (n >>> 31);\n        t = (w18 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 19\n        n = w16 ^ w11 ^ w5 ^ w3;\n        w19 = (n << 1) | (n >>> 31);\n        t = (w19 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (~b & d)) + 0x5a827999 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 20\n        n = w17 ^ w12 ^ w6 ^ w4;\n        w20 = (n << 1) | (n >>> 31);\n        t = (w20 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 21\n        n = w18 ^ w13 ^ w7 ^ w5;\n        w21 = (n << 1) | (n >>> 31);\n        t = (w21 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 22\n        n = w19 ^ w14 ^ w8 ^ w6;\n        w22 = (n << 1) | (n >>> 31);\n        t = (w22 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 23\n        n = w20 ^ w15 ^ w9 ^ w7;\n        w23 = (n << 1) | (n >>> 31);\n        t = (w23 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 24\n        n = w21 ^ w16 ^ w10 ^ w8;\n        w24 = (n << 1) | (n >>> 31);\n        t = (w24 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 25\n        n = w22 ^ w17 ^ w11 ^ w9;\n        w25 = (n << 1) | (n >>> 31);\n        t = (w25 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 26\n        n = w23 ^ w18 ^ w12 ^ w10;\n        w26 = (n << 1) | (n >>> 31);\n        t = (w26 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 27\n        n = w24 ^ w19 ^ w13 ^ w11;\n        w27 = (n << 1) | (n >>> 31);\n        t = (w27 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 28\n        n = w25 ^ w20 ^ w14 ^ w12;\n        w28 = (n << 1) | (n >>> 31);\n        t = (w28 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 29\n        n = w26 ^ w21 ^ w15 ^ w13;\n        w29 = (n << 1) | (n >>> 31);\n        t = (w29 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 30\n        n = w27 ^ w22 ^ w16 ^ w14;\n        w30 = (n << 1) | (n >>> 31);\n        t = (w30 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 31\n        n = w28 ^ w23 ^ w17 ^ w15;\n        w31 = (n << 1) | (n >>> 31);\n        t = (w31 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 32\n        n = w29 ^ w24 ^ w18 ^ w16;\n        w32 = (n << 1) | (n >>> 31);\n        t = (w32 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 33\n        n = w30 ^ w25 ^ w19 ^ w17;\n        w33 = (n << 1) | (n >>> 31);\n        t = (w33 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 34\n        n = w31 ^ w26 ^ w20 ^ w18;\n        w34 = (n << 1) | (n >>> 31);\n        t = (w34 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 35\n        n = w32 ^ w27 ^ w21 ^ w19;\n        w35 = (n << 1) | (n >>> 31);\n        t = (w35 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 36\n        n = w33 ^ w28 ^ w22 ^ w20;\n        w36 = (n << 1) | (n >>> 31);\n        t = (w36 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 37\n        n = w34 ^ w29 ^ w23 ^ w21;\n        w37 = (n << 1) | (n >>> 31);\n        t = (w37 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 38\n        n = w35 ^ w30 ^ w24 ^ w22;\n        w38 = (n << 1) | (n >>> 31);\n        t = (w38 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 39\n        n = w36 ^ w31 ^ w25 ^ w23;\n        w39 = (n << 1) | (n >>> 31);\n        t = (w39 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) + 0x6ed9eba1 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 40\n        n = w37 ^ w32 ^ w26 ^ w24;\n        w40 = (n << 1) | (n >>> 31);\n        t = (w40 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 41\n        n = w38 ^ w33 ^ w27 ^ w25;\n        w41 = (n << 1) | (n >>> 31);\n        t = (w41 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 42\n        n = w39 ^ w34 ^ w28 ^ w26;\n        w42 = (n << 1) | (n >>> 31);\n        t = (w42 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 43\n        n = w40 ^ w35 ^ w29 ^ w27;\n        w43 = (n << 1) | (n >>> 31);\n        t = (w43 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 44\n        n = w41 ^ w36 ^ w30 ^ w28;\n        w44 = (n << 1) | (n >>> 31);\n        t = (w44 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 45\n        n = w42 ^ w37 ^ w31 ^ w29;\n        w45 = (n << 1) | (n >>> 31);\n        t = (w45 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 46\n        n = w43 ^ w38 ^ w32 ^ w30;\n        w46 = (n << 1) | (n >>> 31);\n        t = (w46 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 47\n        n = w44 ^ w39 ^ w33 ^ w31;\n        w47 = (n << 1) | (n >>> 31);\n        t = (w47 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 48\n        n = w45 ^ w40 ^ w34 ^ w32;\n        w48 = (n << 1) | (n >>> 31);\n        t = (w48 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 49\n        n = w46 ^ w41 ^ w35 ^ w33;\n        w49 = (n << 1) | (n >>> 31);\n        t = (w49 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 50\n        n = w47 ^ w42 ^ w36 ^ w34;\n        w50 = (n << 1) | (n >>> 31);\n        t = (w50 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 51\n        n = w48 ^ w43 ^ w37 ^ w35;\n        w51 = (n << 1) | (n >>> 31);\n        t = (w51 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 52\n        n = w49 ^ w44 ^ w38 ^ w36;\n        w52 = (n << 1) | (n >>> 31);\n        t = (w52 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 53\n        n = w50 ^ w45 ^ w39 ^ w37;\n        w53 = (n << 1) | (n >>> 31);\n        t = (w53 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 54\n        n = w51 ^ w46 ^ w40 ^ w38;\n        w54 = (n << 1) | (n >>> 31);\n        t = (w54 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 55\n        n = w52 ^ w47 ^ w41 ^ w39;\n        w55 = (n << 1) | (n >>> 31);\n        t = (w55 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 56\n        n = w53 ^ w48 ^ w42 ^ w40;\n        w56 = (n << 1) | (n >>> 31);\n        t = (w56 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 57\n        n = w54 ^ w49 ^ w43 ^ w41;\n        w57 = (n << 1) | (n >>> 31);\n        t = (w57 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 58\n        n = w55 ^ w50 ^ w44 ^ w42;\n        w58 = (n << 1) | (n >>> 31);\n        t = (w58 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 59\n        n = w56 ^ w51 ^ w45 ^ w43;\n        w59 = (n << 1) | (n >>> 31);\n        t = (w59 + ((a << 5) | (a >>> 27)) + e + ((b & c) | (b & d) | (c & d)) - 0x70e44324 )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 60\n        n = w57 ^ w52 ^ w46 ^ w44;\n        w60 = (n << 1) | (n >>> 31);\n        t = (w60 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 61\n        n = w58 ^ w53 ^ w47 ^ w45;\n        w61 = (n << 1) | (n >>> 31);\n        t = (w61 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 62\n        n = w59 ^ w54 ^ w48 ^ w46;\n        w62 = (n << 1) | (n >>> 31);\n        t = (w62 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 63\n        n = w60 ^ w55 ^ w49 ^ w47;\n        w63 = (n << 1) | (n >>> 31);\n        t = (w63 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 64\n        n = w61 ^ w56 ^ w50 ^ w48;\n        w64 = (n << 1) | (n >>> 31);\n        t = (w64 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 65\n        n = w62 ^ w57 ^ w51 ^ w49;\n        w65 = (n << 1) | (n >>> 31);\n        t = (w65 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 66\n        n = w63 ^ w58 ^ w52 ^ w50;\n        w66 = (n << 1) | (n >>> 31);\n        t = (w66 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 67\n        n = w64 ^ w59 ^ w53 ^ w51;\n        w67 = (n << 1) | (n >>> 31);\n        t = (w67 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 68\n        n = w65 ^ w60 ^ w54 ^ w52;\n        w68 = (n << 1) | (n >>> 31);\n        t = (w68 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 69\n        n = w66 ^ w61 ^ w55 ^ w53;\n        w69 = (n << 1) | (n >>> 31);\n        t = (w69 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 70\n        n = w67 ^ w62 ^ w56 ^ w54;\n        w70 = (n << 1) | (n >>> 31);\n        t = (w70 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 71\n        n = w68 ^ w63 ^ w57 ^ w55;\n        w71 = (n << 1) | (n >>> 31);\n        t = (w71 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 72\n        n = w69 ^ w64 ^ w58 ^ w56;\n        w72 = (n << 1) | (n >>> 31);\n        t = (w72 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 73\n        n = w70 ^ w65 ^ w59 ^ w57;\n        w73 = (n << 1) | (n >>> 31);\n        t = (w73 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 74\n        n = w71 ^ w66 ^ w60 ^ w58;\n        w74 = (n << 1) | (n >>> 31);\n        t = (w74 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 75\n        n = w72 ^ w67 ^ w61 ^ w59;\n        w75 = (n << 1) | (n >>> 31);\n        t = (w75 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 76\n        n = w73 ^ w68 ^ w62 ^ w60;\n        w76 = (n << 1) | (n >>> 31);\n        t = (w76 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 77\n        n = w74 ^ w69 ^ w63 ^ w61;\n        w77 = (n << 1) | (n >>> 31);\n        t = (w77 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 78\n        n = w75 ^ w70 ^ w64 ^ w62;\n        w78 = (n << 1) | (n >>> 31);\n        t = (w78 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        // 79\n        n = w76 ^ w71 ^ w65 ^ w63;\n        w79 = (n << 1) | (n >>> 31);\n        t = (w79 + ((a << 5) | (a >>> 27)) + e + (b ^ c ^ d) - 0x359d3e2a )|0;\n        e = d; d = c; c = (b << 30) | (b >>> 2); b = a; a = t;\n\n        H0 = ( H0 + a )|0;\n        H1 = ( H1 + b )|0;\n        H2 = ( H2 + c )|0;\n        H3 = ( H3 + d )|0;\n        H4 = ( H4 + e )|0;\n\n    }\n\n    function _core_heap ( offset ) {\n        offset = offset|0;\n\n        _core(\n            HEAP[offset|0]<<24 | HEAP[offset|1]<<16 | HEAP[offset|2]<<8 | HEAP[offset|3],\n            HEAP[offset|4]<<24 | HEAP[offset|5]<<16 | HEAP[offset|6]<<8 | HEAP[offset|7],\n            HEAP[offset|8]<<24 | HEAP[offset|9]<<16 | HEAP[offset|10]<<8 | HEAP[offset|11],\n            HEAP[offset|12]<<24 | HEAP[offset|13]<<16 | HEAP[offset|14]<<8 | HEAP[offset|15],\n            HEAP[offset|16]<<24 | HEAP[offset|17]<<16 | HEAP[offset|18]<<8 | HEAP[offset|19],\n            HEAP[offset|20]<<24 | HEAP[offset|21]<<16 | HEAP[offset|22]<<8 | HEAP[offset|23],\n            HEAP[offset|24]<<24 | HEAP[offset|25]<<16 | HEAP[offset|26]<<8 | HEAP[offset|27],\n            HEAP[offset|28]<<24 | HEAP[offset|29]<<16 | HEAP[offset|30]<<8 | HEAP[offset|31],\n            HEAP[offset|32]<<24 | HEAP[offset|33]<<16 | HEAP[offset|34]<<8 | HEAP[offset|35],\n            HEAP[offset|36]<<24 | HEAP[offset|37]<<16 | HEAP[offset|38]<<8 | HEAP[offset|39],\n            HEAP[offset|40]<<24 | HEAP[offset|41]<<16 | HEAP[offset|42]<<8 | HEAP[offset|43],\n            HEAP[offset|44]<<24 | HEAP[offset|45]<<16 | HEAP[offset|46]<<8 | HEAP[offset|47],\n            HEAP[offset|48]<<24 | HEAP[offset|49]<<16 | HEAP[offset|50]<<8 | HEAP[offset|51],\n            HEAP[offset|52]<<24 | HEAP[offset|53]<<16 | HEAP[offset|54]<<8 | HEAP[offset|55],\n            HEAP[offset|56]<<24 | HEAP[offset|57]<<16 | HEAP[offset|58]<<8 | HEAP[offset|59],\n            HEAP[offset|60]<<24 | HEAP[offset|61]<<16 | HEAP[offset|62]<<8 | HEAP[offset|63]\n        );\n    }\n\n    // offset — multiple of 32\n    function _state_to_heap ( output ) {\n        output = output|0;\n\n        HEAP[output|0] = H0>>>24;\n        HEAP[output|1] = H0>>>16&255;\n        HEAP[output|2] = H0>>>8&255;\n        HEAP[output|3] = H0&255;\n        HEAP[output|4] = H1>>>24;\n        HEAP[output|5] = H1>>>16&255;\n        HEAP[output|6] = H1>>>8&255;\n        HEAP[output|7] = H1&255;\n        HEAP[output|8] = H2>>>24;\n        HEAP[output|9] = H2>>>16&255;\n        HEAP[output|10] = H2>>>8&255;\n        HEAP[output|11] = H2&255;\n        HEAP[output|12] = H3>>>24;\n        HEAP[output|13] = H3>>>16&255;\n        HEAP[output|14] = H3>>>8&255;\n        HEAP[output|15] = H3&255;\n        HEAP[output|16] = H4>>>24;\n        HEAP[output|17] = H4>>>16&255;\n        HEAP[output|18] = H4>>>8&255;\n        HEAP[output|19] = H4&255;\n    }\n\n    function reset () {\n        H0 = 0x67452301;\n        H1 = 0xefcdab89;\n        H2 = 0x98badcfe;\n        H3 = 0x10325476;\n        H4 = 0xc3d2e1f0;\n        TOTAL0 = TOTAL1 = 0;\n    }\n\n    function init ( h0, h1, h2, h3, h4, total0, total1 ) {\n        h0 = h0|0;\n        h1 = h1|0;\n        h2 = h2|0;\n        h3 = h3|0;\n        h4 = h4|0;\n        total0 = total0|0;\n        total1 = total1|0;\n\n        H0 = h0;\n        H1 = h1;\n        H2 = h2;\n        H3 = h3;\n        H4 = h4;\n        TOTAL0 = total0;\n        TOTAL1 = total1;\n    }\n\n    // offset — multiple of 64\n    function process ( offset, length ) {\n        offset = offset|0;\n        length = length|0;\n\n        var hashed = 0;\n\n        if ( offset & 63 )\n            return -1;\n\n        while ( (length|0) >= 64 ) {\n            _core_heap(offset);\n\n            offset = ( offset + 64 )|0;\n            length = ( length - 64 )|0;\n\n            hashed = ( hashed + 64 )|0;\n        }\n\n        TOTAL0 = ( TOTAL0 + hashed )|0;\n        if ( TOTAL0>>>0 < hashed>>>0 ) TOTAL1 = ( TOTAL1 + 1 )|0;\n\n        return hashed|0;\n    }\n\n    // offset — multiple of 64\n    // output — multiple of 32\n    function finish ( offset, length, output ) {\n        offset = offset|0;\n        length = length|0;\n        output = output|0;\n\n        var hashed = 0,\n            i = 0;\n\n        if ( offset & 63 )\n            return -1;\n\n        if ( ~output )\n            if ( output & 31 )\n                return -1;\n\n        if ( (length|0) >= 64 ) {\n            hashed = process( offset, length )|0;\n            if ( (hashed|0) == -1 )\n                return -1;\n\n            offset = ( offset + hashed )|0;\n            length = ( length - hashed )|0;\n        }\n\n        hashed = ( hashed + length )|0;\n        TOTAL0 = ( TOTAL0 + length )|0;\n        if ( TOTAL0>>>0 < length>>>0 ) TOTAL1 = (TOTAL1 + 1)|0;\n\n        HEAP[offset|length] = 0x80;\n\n        if ( (length|0) >= 56 ) {\n            for ( i = (length+1)|0; (i|0) < 64; i = (i+1)|0 )\n                HEAP[offset|i] = 0x00;\n            _core_heap(offset);\n\n            length = 0;\n\n            HEAP[offset|0] = 0;\n        }\n\n        for ( i = (length+1)|0; (i|0) < 59; i = (i+1)|0 )\n            HEAP[offset|i] = 0;\n\n        HEAP[offset|56] = TOTAL1>>>21&255;\n        HEAP[offset|57] = TOTAL1>>>13&255;\n        HEAP[offset|58] = TOTAL1>>>5&255;\n        HEAP[offset|59] = TOTAL1<<3&255 | TOTAL0>>>29;\n        HEAP[offset|60] = TOTAL0>>>21&255;\n        HEAP[offset|61] = TOTAL0>>>13&255;\n        HEAP[offset|62] = TOTAL0>>>5&255;\n        HEAP[offset|63] = TOTAL0<<3&255;\n        _core_heap(offset);\n\n        if ( ~output )\n            _state_to_heap(output);\n\n        return hashed|0;\n    }\n\n    function hmac_reset () {\n        H0 = I0;\n        H1 = I1;\n        H2 = I2;\n        H3 = I3;\n        H4 = I4;\n        TOTAL0 = 64;\n        TOTAL1 = 0;\n    }\n\n    function _hmac_opad () {\n        H0 = O0;\n        H1 = O1;\n        H2 = O2;\n        H3 = O3;\n        H4 = O4;\n        TOTAL0 = 64;\n        TOTAL1 = 0;\n    }\n\n    function hmac_init ( p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15 ) {\n        p0 = p0|0;\n        p1 = p1|0;\n        p2 = p2|0;\n        p3 = p3|0;\n        p4 = p4|0;\n        p5 = p5|0;\n        p6 = p6|0;\n        p7 = p7|0;\n        p8 = p8|0;\n        p9 = p9|0;\n        p10 = p10|0;\n        p11 = p11|0;\n        p12 = p12|0;\n        p13 = p13|0;\n        p14 = p14|0;\n        p15 = p15|0;\n\n        // opad\n        reset();\n        _core(\n            p0 ^ 0x5c5c5c5c,\n            p1 ^ 0x5c5c5c5c,\n            p2 ^ 0x5c5c5c5c,\n            p3 ^ 0x5c5c5c5c,\n            p4 ^ 0x5c5c5c5c,\n            p5 ^ 0x5c5c5c5c,\n            p6 ^ 0x5c5c5c5c,\n            p7 ^ 0x5c5c5c5c,\n            p8 ^ 0x5c5c5c5c,\n            p9 ^ 0x5c5c5c5c,\n            p10 ^ 0x5c5c5c5c,\n            p11 ^ 0x5c5c5c5c,\n            p12 ^ 0x5c5c5c5c,\n            p13 ^ 0x5c5c5c5c,\n            p14 ^ 0x5c5c5c5c,\n            p15 ^ 0x5c5c5c5c\n        );\n        O0 = H0;\n        O1 = H1;\n        O2 = H2;\n        O3 = H3;\n        O4 = H4;\n\n        // ipad\n        reset();\n        _core(\n            p0 ^ 0x36363636,\n            p1 ^ 0x36363636,\n            p2 ^ 0x36363636,\n            p3 ^ 0x36363636,\n            p4 ^ 0x36363636,\n            p5 ^ 0x36363636,\n            p6 ^ 0x36363636,\n            p7 ^ 0x36363636,\n            p8 ^ 0x36363636,\n            p9 ^ 0x36363636,\n            p10 ^ 0x36363636,\n            p11 ^ 0x36363636,\n            p12 ^ 0x36363636,\n            p13 ^ 0x36363636,\n            p14 ^ 0x36363636,\n            p15 ^ 0x36363636\n        );\n        I0 = H0;\n        I1 = H1;\n        I2 = H2;\n        I3 = H3;\n        I4 = H4;\n\n        TOTAL0 = 64;\n        TOTAL1 = 0;\n    }\n\n    // offset — multiple of 64\n    // output — multiple of 32\n    function hmac_finish ( offset, length, output ) {\n        offset = offset|0;\n        length = length|0;\n        output = output|0;\n\n        var t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, hashed = 0;\n\n        if ( offset & 63 )\n            return -1;\n\n        if ( ~output )\n            if ( output & 31 )\n                return -1;\n\n        hashed = finish( offset, length, -1 )|0;\n        t0 = H0, t1 = H1, t2 = H2, t3 = H3, t4 = H4;\n\n        _hmac_opad();\n        _core( t0, t1, t2, t3, t4, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672 );\n\n        if ( ~output )\n            _state_to_heap(output);\n\n        return hashed|0;\n    }\n\n    // salt is assumed to be already processed\n    // offset — multiple of 64\n    // output — multiple of 32\n    function pbkdf2_generate_block ( offset, length, block, count, output ) {\n        offset = offset|0;\n        length = length|0;\n        block = block|0;\n        count = count|0;\n        output = output|0;\n\n        var h0 = 0, h1 = 0, h2 = 0, h3 = 0, h4 = 0,\n            t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0;\n\n        if ( offset & 63 )\n            return -1;\n\n        if ( ~output )\n            if ( output & 31 )\n                return -1;\n\n        // pad block number into heap\n        // FIXME probable OOB write\n        HEAP[(offset+length)|0]   = block>>>24;\n        HEAP[(offset+length+1)|0] = block>>>16&255;\n        HEAP[(offset+length+2)|0] = block>>>8&255;\n        HEAP[(offset+length+3)|0] = block&255;\n\n        // finish first iteration\n        hmac_finish( offset, (length+4)|0, -1 )|0;\n        h0 = t0 = H0, h1 = t1 = H1, h2 = t2 = H2, h3 = t3 = H3, h4 = t4 = H4;\n        count = (count-1)|0;\n\n        // perform the rest iterations\n        while ( (count|0) > 0 ) {\n            hmac_reset();\n            _core( t0, t1, t2, t3, t4, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672 );\n            t0 = H0, t1 = H1, t2 = H2, t3 = H3, t4 = H4;\n\n            _hmac_opad();\n            _core( t0, t1, t2, t3, t4, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672 );\n            t0 = H0, t1 = H1, t2 = H2, t3 = H3, t4 = H4;\n\n            h0 = h0 ^ H0;\n            h1 = h1 ^ H1;\n            h2 = h2 ^ H2;\n            h3 = h3 ^ H3;\n            h4 = h4 ^ H4;\n\n            count = (count-1)|0;\n        }\n\n        H0 = h0;\n        H1 = h1;\n        H2 = h2;\n        H3 = h3;\n        H4 = h4;\n\n        if ( ~output )\n            _state_to_heap(output);\n\n        return 0;\n    }\n\n    return {\n        // SHA1\n        reset: reset,\n        init: init,\n        process: process,\n        finish: finish,\n\n        // HMAC-SHA1\n        hmac_reset: hmac_reset,\n        hmac_init: hmac_init,\n        hmac_finish: hmac_finish,\n\n        // PBKDF2-HMAC-SHA1\n        pbkdf2_generate_block: pbkdf2_generate_block\n    }\n}\n","import { sha1_asm } from './sha1.asm';\nimport { hash_finish, hash_process, hash_reset } from '../hash';\nimport { _heap_init } from '../../utils';\n\nexport var _sha1_block_size = 64;\nexport var _sha1_hash_size = 20;\n\nexport function sha1_constructor(options) {\n  options = options || {};\n\n  this.heap = _heap_init(Uint8Array, options.heap);\n  this.asm = options.asm || sha1_asm({ Uint8Array: Uint8Array }, null, this.heap.buffer);\n\n  this.BLOCK_SIZE = _sha1_block_size;\n  this.HASH_SIZE = _sha1_hash_size;\n\n  this.reset();\n}\n\nsha1_constructor.BLOCK_SIZE = _sha1_block_size;\nsha1_constructor.NAME = 'sha1';\n\nsha1_constructor.HASH_SIZE = _sha1_hash_size;\nvar sha1_prototype = sha1_constructor.prototype;\nsha1_prototype.reset = hash_reset;\nsha1_prototype.process = hash_process;\nsha1_prototype.finish = hash_finish;\n\nvar sha1_instance = null;\n\nexport function get_sha1_instance() {\n  if (sha1_instance === null) sha1_instance = new sha1_constructor({ heapSize: 0x100000 });\n  return sha1_instance;\n}\n","/**\n * SHA1 exports\n */\n\nimport { get_sha1_instance, sha1_constructor } from './sha1';\nimport { bytes_to_base64, bytes_to_hex } from '../../utils';\n\nfunction sha1_bytes(data) {\n  if (data === undefined) throw new SyntaxError('data required');\n  return get_sha1_instance()\n    .reset()\n    .process(data)\n    .finish().result;\n}\n\nfunction sha1_hex(data) {\n  var result = sha1_bytes(data);\n  return bytes_to_hex(result);\n}\n\nfunction sha1_base64(data) {\n  var result = sha1_bytes(data);\n  return bytes_to_base64(result);\n}\n\nexport var SHA1 = sha1_constructor;\n\nSHA1.bytes = sha1_bytes;\nSHA1.hex = sha1_hex;\nSHA1.base64 = sha1_base64;\n","/**\n * SHA256 exports\n */\n\nimport { get_sha256_instance, sha256_constructor } from './sha256';\nimport { bytes_to_base64, bytes_to_hex } from '../../utils';\n\nfunction sha256_bytes(data) {\n  if (data === undefined) throw new SyntaxError('data required');\n  return get_sha256_instance()\n    .reset()\n    .process(data)\n    .finish().result;\n}\n\nfunction sha256_hex(data) {\n  var result = sha256_bytes(data);\n  return bytes_to_hex(result);\n}\n\nfunction sha256_base64(data) {\n  var result = sha256_bytes(data);\n  return bytes_to_base64(result);\n}\n\nexport var SHA256 = sha256_constructor;\nSHA256.bytes = sha256_bytes;\nSHA256.hex = sha256_hex;\nSHA256.base64 = sha256_base64;\n","export function sha512_asm ( stdlib, foreign, buffer ) {\n    \"use asm\";\n\n    // SHA512 state\n    var H0h = 0, H0l = 0, H1h = 0, H1l = 0, H2h = 0, H2l = 0, H3h = 0, H3l = 0,\n        H4h = 0, H4l = 0, H5h = 0, H5l = 0, H6h = 0, H6l = 0, H7h = 0, H7l = 0,\n        TOTAL0 = 0, TOTAL1 = 0;\n\n    // HMAC state\n    var I0h = 0, I0l = 0, I1h = 0, I1l = 0, I2h = 0, I2l = 0, I3h = 0, I3l = 0,\n        I4h = 0, I4l = 0, I5h = 0, I5l = 0, I6h = 0, I6l = 0, I7h = 0, I7l = 0,\n        O0h = 0, O0l = 0, O1h = 0, O1l = 0, O2h = 0, O2l = 0, O3h = 0, O3l = 0,\n        O4h = 0, O4l = 0, O5h = 0, O5l = 0, O6h = 0, O6l = 0, O7h = 0, O7l = 0;\n\n    // I/O buffer\n    var HEAP = new stdlib.Uint8Array(buffer);\n\n    function _core ( w0h, w0l, w1h, w1l, w2h, w2l, w3h, w3l, w4h, w4l, w5h, w5l, w6h, w6l, w7h, w7l, w8h, w8l, w9h, w9l, w10h, w10l, w11h, w11l, w12h, w12l, w13h, w13l, w14h, w14l, w15h, w15l ) {\n        w0h = w0h|0;\n        w0l = w0l|0;\n        w1h = w1h|0;\n        w1l = w1l|0;\n        w2h = w2h|0;\n        w2l = w2l|0;\n        w3h = w3h|0;\n        w3l = w3l|0;\n        w4h = w4h|0;\n        w4l = w4l|0;\n        w5h = w5h|0;\n        w5l = w5l|0;\n        w6h = w6h|0;\n        w6l = w6l|0;\n        w7h = w7h|0;\n        w7l = w7l|0;\n        w8h = w8h|0;\n        w8l = w8l|0;\n        w9h = w9h|0;\n        w9l = w9l|0;\n        w10h = w10h|0;\n        w10l = w10l|0;\n        w11h = w11h|0;\n        w11l = w11l|0;\n        w12h = w12h|0;\n        w12l = w12l|0;\n        w13h = w13h|0;\n        w13l = w13l|0;\n        w14h = w14h|0;\n        w14l = w14l|0;\n        w15h = w15h|0;\n        w15l = w15l|0;\n\n        var ah = 0, al = 0, bh = 0, bl = 0, ch = 0, cl = 0, dh = 0, dl = 0, eh = 0, el = 0, fh = 0, fl = 0, gh = 0, gl = 0, hh = 0, hl = 0,\n            th = 0, tl = 0, xl = 0;\n\n        ah = H0h;\n        al = H0l;\n        bh = H1h;\n        bl = H1l;\n        ch = H2h;\n        cl = H2l;\n        dh = H3h;\n        dl = H3l;\n        eh = H4h;\n        el = H4l;\n        fh = H5h;\n        fl = H5l;\n        gh = H6h;\n        gl = H6l;\n        hh = H7h;\n        hl = H7l;\n\n        // 0\n        tl = ( 0xd728ae22 + w0l )|0;\n        th = ( 0x428a2f98 + w0h + ((tl >>> 0) < (w0l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 1\n        tl = ( 0x23ef65cd + w1l )|0;\n        th = ( 0x71374491 + w1h + ((tl >>> 0) < (w1l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 2\n        tl = ( 0xec4d3b2f + w2l )|0;\n        th = ( 0xb5c0fbcf + w2h + ((tl >>> 0) < (w2l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 3\n        tl = ( 0x8189dbbc + w3l )|0;\n        th = ( 0xe9b5dba5 + w3h + ((tl >>> 0) < (w3l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 4\n        tl = ( 0xf348b538 + w4l )|0;\n        th = ( 0x3956c25b + w4h + ((tl >>> 0) < (w4l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 5\n        tl = ( 0xb605d019 + w5l )|0;\n        th = ( 0x59f111f1 + w5h + ((tl >>> 0) < (w5l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 6\n        tl = ( 0xaf194f9b + w6l )|0;\n        th = ( 0x923f82a4 + w6h + ((tl >>> 0) < (w6l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 7\n        tl = ( 0xda6d8118 + w7l )|0;\n        th = ( 0xab1c5ed5 + w7h + ((tl >>> 0) < (w7l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 8\n        tl = ( 0xa3030242 + w8l )|0;\n        th = ( 0xd807aa98 + w8h + ((tl >>> 0) < (w8l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 9\n        tl = ( 0x45706fbe + w9l )|0;\n        th = ( 0x12835b01 + w9h + ((tl >>> 0) < (w9l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 10\n        tl = ( 0x4ee4b28c + w10l )|0;\n        th = ( 0x243185be + w10h + ((tl >>> 0) < (w10l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 11\n        tl = ( 0xd5ffb4e2 + w11l )|0;\n        th = ( 0x550c7dc3 + w11h + ((tl >>> 0) < (w11l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 12\n        tl = ( 0xf27b896f + w12l )|0;\n        th = ( 0x72be5d74 + w12h + ((tl >>> 0) < (w12l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 13\n        tl = ( 0x3b1696b1 + w13l )|0;\n        th = ( 0x80deb1fe + w13h + ((tl >>> 0) < (w13l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 14\n        tl = ( 0x25c71235 + w14l )|0;\n        th = ( 0x9bdc06a7 + w14h + ((tl >>> 0) < (w14l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 15\n        tl = ( 0xcf692694 + w15l )|0;\n        th = ( 0xc19bf174 + w15h + ((tl >>> 0) < (w15l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 16\n        w0l = ( w0l + w9l )|0;\n        w0h = ( w0h + w9h + ((w0l >>> 0) < (w9l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w1l >>> 1) | (w1h << 31)) ^ ((w1l >>> 8) | (w1h << 24)) ^ ((w1l >>> 7) | (w1h << 25)) )|0;\n        w0l = ( w0l + xl)|0;\n        w0h = ( w0h + ( ((w1h >>> 1) | (w1l << 31)) ^ ((w1h >>> 8) | (w1l << 24)) ^ (w1h >>> 7) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w14l >>> 19) | (w14h << 13)) ^ ((w14l << 3) | (w14h >>> 29)) ^ ((w14l >>> 6) | (w14h << 26)) )|0;\n        w0l = ( w0l + xl)|0;\n        w0h = ( w0h + ( ((w14h >>> 19) | (w14l << 13)) ^ ((w14h << 3) | (w14l >>> 29)) ^ (w14h >>> 6) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x9ef14ad2 + w0l )|0;\n        th = ( 0xe49b69c1 + w0h + ((tl >>> 0) < (w0l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 17\n        w1l = ( w1l + w10l )|0;\n        w1h = ( w1h + w10h + ((w1l >>> 0) < (w10l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w2l >>> 1) | (w2h << 31)) ^ ((w2l >>> 8) | (w2h << 24)) ^ ((w2l >>> 7) | (w2h << 25)) )|0;\n        w1l = ( w1l + xl)|0;\n        w1h = ( w1h + ( ((w2h >>> 1) | (w2l << 31)) ^ ((w2h >>> 8) | (w2l << 24)) ^ (w2h >>> 7) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w15l >>> 19) | (w15h << 13)) ^ ((w15l << 3) | (w15h >>> 29)) ^ ((w15l >>> 6) | (w15h << 26)) )|0;\n        w1l = ( w1l + xl)|0;\n        w1h = ( w1h + ( ((w15h >>> 19) | (w15l << 13)) ^ ((w15h << 3) | (w15l >>> 29)) ^ (w15h >>> 6) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x384f25e3 + w1l )|0;\n        th = ( 0xefbe4786 + w1h + ((tl >>> 0) < (w1l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 18\n        w2l = ( w2l + w11l )|0;\n        w2h = ( w2h + w11h + ((w2l >>> 0) < (w11l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w3l >>> 1) | (w3h << 31)) ^ ((w3l >>> 8) | (w3h << 24)) ^ ((w3l >>> 7) | (w3h << 25)) )|0;\n        w2l = ( w2l + xl)|0;\n        w2h = ( w2h + ( ((w3h >>> 1) | (w3l << 31)) ^ ((w3h >>> 8) | (w3l << 24)) ^ (w3h >>> 7) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w0l >>> 19) | (w0h << 13)) ^ ((w0l << 3) | (w0h >>> 29)) ^ ((w0l >>> 6) | (w0h << 26)) )|0;\n        w2l = ( w2l + xl)|0;\n        w2h = ( w2h + ( ((w0h >>> 19) | (w0l << 13)) ^ ((w0h << 3) | (w0l >>> 29)) ^ (w0h >>> 6) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x8b8cd5b5 + w2l )|0;\n        th = ( 0xfc19dc6 + w2h + ((tl >>> 0) < (w2l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 19\n        w3l = ( w3l + w12l )|0;\n        w3h = ( w3h + w12h + ((w3l >>> 0) < (w12l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w4l >>> 1) | (w4h << 31)) ^ ((w4l >>> 8) | (w4h << 24)) ^ ((w4l >>> 7) | (w4h << 25)) )|0;\n        w3l = ( w3l + xl)|0;\n        w3h = ( w3h + ( ((w4h >>> 1) | (w4l << 31)) ^ ((w4h >>> 8) | (w4l << 24)) ^ (w4h >>> 7) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w1l >>> 19) | (w1h << 13)) ^ ((w1l << 3) | (w1h >>> 29)) ^ ((w1l >>> 6) | (w1h << 26)) )|0;\n        w3l = ( w3l + xl)|0;\n        w3h = ( w3h + ( ((w1h >>> 19) | (w1l << 13)) ^ ((w1h << 3) | (w1l >>> 29)) ^ (w1h >>> 6) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x77ac9c65 + w3l )|0;\n        th = ( 0x240ca1cc + w3h + ((tl >>> 0) < (w3l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 20\n        w4l = ( w4l + w13l )|0;\n        w4h = ( w4h + w13h + ((w4l >>> 0) < (w13l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w5l >>> 1) | (w5h << 31)) ^ ((w5l >>> 8) | (w5h << 24)) ^ ((w5l >>> 7) | (w5h << 25)) )|0;\n        w4l = ( w4l + xl)|0;\n        w4h = ( w4h + ( ((w5h >>> 1) | (w5l << 31)) ^ ((w5h >>> 8) | (w5l << 24)) ^ (w5h >>> 7) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w2l >>> 19) | (w2h << 13)) ^ ((w2l << 3) | (w2h >>> 29)) ^ ((w2l >>> 6) | (w2h << 26)) )|0;\n        w4l = ( w4l + xl)|0;\n        w4h = ( w4h + ( ((w2h >>> 19) | (w2l << 13)) ^ ((w2h << 3) | (w2l >>> 29)) ^ (w2h >>> 6) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x592b0275 + w4l )|0;\n        th = ( 0x2de92c6f + w4h + ((tl >>> 0) < (w4l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 21\n        w5l = ( w5l + w14l )|0;\n        w5h = ( w5h + w14h + ((w5l >>> 0) < (w14l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w6l >>> 1) | (w6h << 31)) ^ ((w6l >>> 8) | (w6h << 24)) ^ ((w6l >>> 7) | (w6h << 25)) )|0;\n        w5l = ( w5l + xl)|0;\n        w5h = ( w5h + ( ((w6h >>> 1) | (w6l << 31)) ^ ((w6h >>> 8) | (w6l << 24)) ^ (w6h >>> 7) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w3l >>> 19) | (w3h << 13)) ^ ((w3l << 3) | (w3h >>> 29)) ^ ((w3l >>> 6) | (w3h << 26)) )|0;\n        w5l = ( w5l + xl)|0;\n        w5h = ( w5h + ( ((w3h >>> 19) | (w3l << 13)) ^ ((w3h << 3) | (w3l >>> 29)) ^ (w3h >>> 6) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x6ea6e483 + w5l )|0;\n        th = ( 0x4a7484aa + w5h + ((tl >>> 0) < (w5l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 22\n        w6l = ( w6l + w15l )|0;\n        w6h = ( w6h + w15h + ((w6l >>> 0) < (w15l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w7l >>> 1) | (w7h << 31)) ^ ((w7l >>> 8) | (w7h << 24)) ^ ((w7l >>> 7) | (w7h << 25)) )|0;\n        w6l = ( w6l + xl)|0;\n        w6h = ( w6h + ( ((w7h >>> 1) | (w7l << 31)) ^ ((w7h >>> 8) | (w7l << 24)) ^ (w7h >>> 7) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w4l >>> 19) | (w4h << 13)) ^ ((w4l << 3) | (w4h >>> 29)) ^ ((w4l >>> 6) | (w4h << 26)) )|0;\n        w6l = ( w6l + xl)|0;\n        w6h = ( w6h + ( ((w4h >>> 19) | (w4l << 13)) ^ ((w4h << 3) | (w4l >>> 29)) ^ (w4h >>> 6) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xbd41fbd4 + w6l )|0;\n        th = ( 0x5cb0a9dc + w6h + ((tl >>> 0) < (w6l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 23\n        w7l = ( w7l + w0l )|0;\n        w7h = ( w7h + w0h + ((w7l >>> 0) < (w0l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w8l >>> 1) | (w8h << 31)) ^ ((w8l >>> 8) | (w8h << 24)) ^ ((w8l >>> 7) | (w8h << 25)) )|0;\n        w7l = ( w7l + xl)|0;\n        w7h = ( w7h + ( ((w8h >>> 1) | (w8l << 31)) ^ ((w8h >>> 8) | (w8l << 24)) ^ (w8h >>> 7) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w5l >>> 19) | (w5h << 13)) ^ ((w5l << 3) | (w5h >>> 29)) ^ ((w5l >>> 6) | (w5h << 26)) )|0;\n        w7l = ( w7l + xl)|0;\n        w7h = ( w7h + ( ((w5h >>> 19) | (w5l << 13)) ^ ((w5h << 3) | (w5l >>> 29)) ^ (w5h >>> 6) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x831153b5 + w7l )|0;\n        th = ( 0x76f988da + w7h + ((tl >>> 0) < (w7l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 24\n        w8l = ( w8l + w1l )|0;\n        w8h = ( w8h + w1h + ((w8l >>> 0) < (w1l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w9l >>> 1) | (w9h << 31)) ^ ((w9l >>> 8) | (w9h << 24)) ^ ((w9l >>> 7) | (w9h << 25)) )|0;\n        w8l = ( w8l + xl)|0;\n        w8h = ( w8h + ( ((w9h >>> 1) | (w9l << 31)) ^ ((w9h >>> 8) | (w9l << 24)) ^ (w9h >>> 7) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w6l >>> 19) | (w6h << 13)) ^ ((w6l << 3) | (w6h >>> 29)) ^ ((w6l >>> 6) | (w6h << 26)) )|0;\n        w8l = ( w8l + xl)|0;\n        w8h = ( w8h + ( ((w6h >>> 19) | (w6l << 13)) ^ ((w6h << 3) | (w6l >>> 29)) ^ (w6h >>> 6) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xee66dfab + w8l )|0;\n        th = ( 0x983e5152 + w8h + ((tl >>> 0) < (w8l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 25\n        w9l = ( w9l + w2l )|0;\n        w9h = ( w9h + w2h + ((w9l >>> 0) < (w2l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w10l >>> 1) | (w10h << 31)) ^ ((w10l >>> 8) | (w10h << 24)) ^ ((w10l >>> 7) | (w10h << 25)) )|0;\n        w9l = ( w9l + xl)|0;\n        w9h = ( w9h + ( ((w10h >>> 1) | (w10l << 31)) ^ ((w10h >>> 8) | (w10l << 24)) ^ (w10h >>> 7) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w7l >>> 19) | (w7h << 13)) ^ ((w7l << 3) | (w7h >>> 29)) ^ ((w7l >>> 6) | (w7h << 26)) )|0;\n        w9l = ( w9l + xl)|0;\n        w9h = ( w9h + ( ((w7h >>> 19) | (w7l << 13)) ^ ((w7h << 3) | (w7l >>> 29)) ^ (w7h >>> 6) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x2db43210 + w9l )|0;\n        th = ( 0xa831c66d + w9h + ((tl >>> 0) < (w9l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 26\n        w10l = ( w10l + w3l )|0;\n        w10h = ( w10h + w3h + ((w10l >>> 0) < (w3l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w11l >>> 1) | (w11h << 31)) ^ ((w11l >>> 8) | (w11h << 24)) ^ ((w11l >>> 7) | (w11h << 25)) )|0;\n        w10l = ( w10l + xl)|0;\n        w10h = ( w10h + ( ((w11h >>> 1) | (w11l << 31)) ^ ((w11h >>> 8) | (w11l << 24)) ^ (w11h >>> 7) ) + ((w10l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w8l >>> 19) | (w8h << 13)) ^ ((w8l << 3) | (w8h >>> 29)) ^ ((w8l >>> 6) | (w8h << 26)) )|0;\n        w10l = ( w10l + xl)|0;\n        w10h = ( w10h + ( ((w8h >>> 19) | (w8l << 13)) ^ ((w8h << 3) | (w8l >>> 29)) ^ (w8h >>> 6) ) + ((w10l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x98fb213f + w10l )|0;\n        th = ( 0xb00327c8 + w10h + ((tl >>> 0) < (w10l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 27\n        w11l = ( w11l + w4l )|0;\n        w11h = ( w11h + w4h + ((w11l >>> 0) < (w4l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w12l >>> 1) | (w12h << 31)) ^ ((w12l >>> 8) | (w12h << 24)) ^ ((w12l >>> 7) | (w12h << 25)) )|0;\n        w11l = ( w11l + xl)|0;\n        w11h = ( w11h + ( ((w12h >>> 1) | (w12l << 31)) ^ ((w12h >>> 8) | (w12l << 24)) ^ (w12h >>> 7) ) + ((w11l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w9l >>> 19) | (w9h << 13)) ^ ((w9l << 3) | (w9h >>> 29)) ^ ((w9l >>> 6) | (w9h << 26)) )|0;\n        w11l = ( w11l + xl)|0;\n        w11h = ( w11h + ( ((w9h >>> 19) | (w9l << 13)) ^ ((w9h << 3) | (w9l >>> 29)) ^ (w9h >>> 6) ) + ((w11l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xbeef0ee4 + w11l )|0;\n        th = ( 0xbf597fc7 + w11h + ((tl >>> 0) < (w11l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 28\n        w12l = ( w12l + w5l )|0;\n        w12h = ( w12h + w5h + ((w12l >>> 0) < (w5l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w13l >>> 1) | (w13h << 31)) ^ ((w13l >>> 8) | (w13h << 24)) ^ ((w13l >>> 7) | (w13h << 25)) )|0;\n        w12l = ( w12l + xl)|0;\n        w12h = ( w12h + ( ((w13h >>> 1) | (w13l << 31)) ^ ((w13h >>> 8) | (w13l << 24)) ^ (w13h >>> 7) ) + ((w12l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w10l >>> 19) | (w10h << 13)) ^ ((w10l << 3) | (w10h >>> 29)) ^ ((w10l >>> 6) | (w10h << 26)) )|0;\n        w12l = ( w12l + xl)|0;\n        w12h = ( w12h + ( ((w10h >>> 19) | (w10l << 13)) ^ ((w10h << 3) | (w10l >>> 29)) ^ (w10h >>> 6) ) + ((w12l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x3da88fc2 + w12l )|0;\n        th = ( 0xc6e00bf3 + w12h + ((tl >>> 0) < (w12l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 29\n        w13l = ( w13l + w6l )|0;\n        w13h = ( w13h + w6h + ((w13l >>> 0) < (w6l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w14l >>> 1) | (w14h << 31)) ^ ((w14l >>> 8) | (w14h << 24)) ^ ((w14l >>> 7) | (w14h << 25)) )|0;\n        w13l = ( w13l + xl)|0;\n        w13h = ( w13h + ( ((w14h >>> 1) | (w14l << 31)) ^ ((w14h >>> 8) | (w14l << 24)) ^ (w14h >>> 7) ) + ((w13l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w11l >>> 19) | (w11h << 13)) ^ ((w11l << 3) | (w11h >>> 29)) ^ ((w11l >>> 6) | (w11h << 26)) )|0;\n        w13l = ( w13l + xl)|0;\n        w13h = ( w13h + ( ((w11h >>> 19) | (w11l << 13)) ^ ((w11h << 3) | (w11l >>> 29)) ^ (w11h >>> 6) ) + ((w13l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x930aa725 + w13l )|0;\n        th = ( 0xd5a79147 + w13h + ((tl >>> 0) < (w13l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 30\n        w14l = ( w14l + w7l )|0;\n        w14h = ( w14h + w7h + ((w14l >>> 0) < (w7l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w15l >>> 1) | (w15h << 31)) ^ ((w15l >>> 8) | (w15h << 24)) ^ ((w15l >>> 7) | (w15h << 25)) )|0;\n        w14l = ( w14l + xl)|0;\n        w14h = ( w14h + ( ((w15h >>> 1) | (w15l << 31)) ^ ((w15h >>> 8) | (w15l << 24)) ^ (w15h >>> 7) ) + ((w14l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w12l >>> 19) | (w12h << 13)) ^ ((w12l << 3) | (w12h >>> 29)) ^ ((w12l >>> 6) | (w12h << 26)) )|0;\n        w14l = ( w14l + xl)|0;\n        w14h = ( w14h + ( ((w12h >>> 19) | (w12l << 13)) ^ ((w12h << 3) | (w12l >>> 29)) ^ (w12h >>> 6) ) + ((w14l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xe003826f + w14l )|0;\n        th = ( 0x6ca6351 + w14h + ((tl >>> 0) < (w14l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 31\n        w15l = ( w15l + w8l )|0;\n        w15h = ( w15h + w8h + ((w15l >>> 0) < (w8l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w0l >>> 1) | (w0h << 31)) ^ ((w0l >>> 8) | (w0h << 24)) ^ ((w0l >>> 7) | (w0h << 25)) )|0;\n        w15l = ( w15l + xl)|0;\n        w15h = ( w15h + ( ((w0h >>> 1) | (w0l << 31)) ^ ((w0h >>> 8) | (w0l << 24)) ^ (w0h >>> 7) ) + ((w15l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w13l >>> 19) | (w13h << 13)) ^ ((w13l << 3) | (w13h >>> 29)) ^ ((w13l >>> 6) | (w13h << 26)) )|0;\n        w15l = ( w15l + xl)|0;\n        w15h = ( w15h + ( ((w13h >>> 19) | (w13l << 13)) ^ ((w13h << 3) | (w13l >>> 29)) ^ (w13h >>> 6) ) + ((w15l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xa0e6e70 + w15l )|0;\n        th = ( 0x14292967 + w15h + ((tl >>> 0) < (w15l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 32\n        w0l = ( w0l + w9l )|0;\n        w0h = ( w0h + w9h + ((w0l >>> 0) < (w9l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w1l >>> 1) | (w1h << 31)) ^ ((w1l >>> 8) | (w1h << 24)) ^ ((w1l >>> 7) | (w1h << 25)) )|0;\n        w0l = ( w0l + xl)|0;\n        w0h = ( w0h + ( ((w1h >>> 1) | (w1l << 31)) ^ ((w1h >>> 8) | (w1l << 24)) ^ (w1h >>> 7) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w14l >>> 19) | (w14h << 13)) ^ ((w14l << 3) | (w14h >>> 29)) ^ ((w14l >>> 6) | (w14h << 26)) )|0;\n        w0l = ( w0l + xl)|0;\n        w0h = ( w0h + ( ((w14h >>> 19) | (w14l << 13)) ^ ((w14h << 3) | (w14l >>> 29)) ^ (w14h >>> 6) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x46d22ffc + w0l )|0;\n        th = ( 0x27b70a85 + w0h + ((tl >>> 0) < (w0l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 33\n        w1l = ( w1l + w10l )|0;\n        w1h = ( w1h + w10h + ((w1l >>> 0) < (w10l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w2l >>> 1) | (w2h << 31)) ^ ((w2l >>> 8) | (w2h << 24)) ^ ((w2l >>> 7) | (w2h << 25)) )|0;\n        w1l = ( w1l + xl)|0;\n        w1h = ( w1h + ( ((w2h >>> 1) | (w2l << 31)) ^ ((w2h >>> 8) | (w2l << 24)) ^ (w2h >>> 7) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w15l >>> 19) | (w15h << 13)) ^ ((w15l << 3) | (w15h >>> 29)) ^ ((w15l >>> 6) | (w15h << 26)) )|0;\n        w1l = ( w1l + xl)|0;\n        w1h = ( w1h + ( ((w15h >>> 19) | (w15l << 13)) ^ ((w15h << 3) | (w15l >>> 29)) ^ (w15h >>> 6) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x5c26c926 + w1l )|0;\n        th = ( 0x2e1b2138 + w1h + ((tl >>> 0) < (w1l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 34\n        w2l = ( w2l + w11l )|0;\n        w2h = ( w2h + w11h + ((w2l >>> 0) < (w11l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w3l >>> 1) | (w3h << 31)) ^ ((w3l >>> 8) | (w3h << 24)) ^ ((w3l >>> 7) | (w3h << 25)) )|0;\n        w2l = ( w2l + xl)|0;\n        w2h = ( w2h + ( ((w3h >>> 1) | (w3l << 31)) ^ ((w3h >>> 8) | (w3l << 24)) ^ (w3h >>> 7) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w0l >>> 19) | (w0h << 13)) ^ ((w0l << 3) | (w0h >>> 29)) ^ ((w0l >>> 6) | (w0h << 26)) )|0;\n        w2l = ( w2l + xl)|0;\n        w2h = ( w2h + ( ((w0h >>> 19) | (w0l << 13)) ^ ((w0h << 3) | (w0l >>> 29)) ^ (w0h >>> 6) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x5ac42aed + w2l )|0;\n        th = ( 0x4d2c6dfc + w2h + ((tl >>> 0) < (w2l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 35\n        w3l = ( w3l + w12l )|0;\n        w3h = ( w3h + w12h + ((w3l >>> 0) < (w12l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w4l >>> 1) | (w4h << 31)) ^ ((w4l >>> 8) | (w4h << 24)) ^ ((w4l >>> 7) | (w4h << 25)) )|0;\n        w3l = ( w3l + xl)|0;\n        w3h = ( w3h + ( ((w4h >>> 1) | (w4l << 31)) ^ ((w4h >>> 8) | (w4l << 24)) ^ (w4h >>> 7) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w1l >>> 19) | (w1h << 13)) ^ ((w1l << 3) | (w1h >>> 29)) ^ ((w1l >>> 6) | (w1h << 26)) )|0;\n        w3l = ( w3l + xl)|0;\n        w3h = ( w3h + ( ((w1h >>> 19) | (w1l << 13)) ^ ((w1h << 3) | (w1l >>> 29)) ^ (w1h >>> 6) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x9d95b3df + w3l )|0;\n        th = ( 0x53380d13 + w3h + ((tl >>> 0) < (w3l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 36\n        w4l = ( w4l + w13l )|0;\n        w4h = ( w4h + w13h + ((w4l >>> 0) < (w13l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w5l >>> 1) | (w5h << 31)) ^ ((w5l >>> 8) | (w5h << 24)) ^ ((w5l >>> 7) | (w5h << 25)) )|0;\n        w4l = ( w4l + xl)|0;\n        w4h = ( w4h + ( ((w5h >>> 1) | (w5l << 31)) ^ ((w5h >>> 8) | (w5l << 24)) ^ (w5h >>> 7) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w2l >>> 19) | (w2h << 13)) ^ ((w2l << 3) | (w2h >>> 29)) ^ ((w2l >>> 6) | (w2h << 26)) )|0;\n        w4l = ( w4l + xl)|0;\n        w4h = ( w4h + ( ((w2h >>> 19) | (w2l << 13)) ^ ((w2h << 3) | (w2l >>> 29)) ^ (w2h >>> 6) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x8baf63de + w4l )|0;\n        th = ( 0x650a7354 + w4h + ((tl >>> 0) < (w4l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 37\n        w5l = ( w5l + w14l )|0;\n        w5h = ( w5h + w14h + ((w5l >>> 0) < (w14l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w6l >>> 1) | (w6h << 31)) ^ ((w6l >>> 8) | (w6h << 24)) ^ ((w6l >>> 7) | (w6h << 25)) )|0;\n        w5l = ( w5l + xl)|0;\n        w5h = ( w5h + ( ((w6h >>> 1) | (w6l << 31)) ^ ((w6h >>> 8) | (w6l << 24)) ^ (w6h >>> 7) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w3l >>> 19) | (w3h << 13)) ^ ((w3l << 3) | (w3h >>> 29)) ^ ((w3l >>> 6) | (w3h << 26)) )|0;\n        w5l = ( w5l + xl)|0;\n        w5h = ( w5h + ( ((w3h >>> 19) | (w3l << 13)) ^ ((w3h << 3) | (w3l >>> 29)) ^ (w3h >>> 6) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x3c77b2a8 + w5l )|0;\n        th = ( 0x766a0abb + w5h + ((tl >>> 0) < (w5l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 38\n        w6l = ( w6l + w15l )|0;\n        w6h = ( w6h + w15h + ((w6l >>> 0) < (w15l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w7l >>> 1) | (w7h << 31)) ^ ((w7l >>> 8) | (w7h << 24)) ^ ((w7l >>> 7) | (w7h << 25)) )|0;\n        w6l = ( w6l + xl)|0;\n        w6h = ( w6h + ( ((w7h >>> 1) | (w7l << 31)) ^ ((w7h >>> 8) | (w7l << 24)) ^ (w7h >>> 7) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w4l >>> 19) | (w4h << 13)) ^ ((w4l << 3) | (w4h >>> 29)) ^ ((w4l >>> 6) | (w4h << 26)) )|0;\n        w6l = ( w6l + xl)|0;\n        w6h = ( w6h + ( ((w4h >>> 19) | (w4l << 13)) ^ ((w4h << 3) | (w4l >>> 29)) ^ (w4h >>> 6) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x47edaee6 + w6l )|0;\n        th = ( 0x81c2c92e + w6h + ((tl >>> 0) < (w6l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 39\n        w7l = ( w7l + w0l )|0;\n        w7h = ( w7h + w0h + ((w7l >>> 0) < (w0l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w8l >>> 1) | (w8h << 31)) ^ ((w8l >>> 8) | (w8h << 24)) ^ ((w8l >>> 7) | (w8h << 25)) )|0;\n        w7l = ( w7l + xl)|0;\n        w7h = ( w7h + ( ((w8h >>> 1) | (w8l << 31)) ^ ((w8h >>> 8) | (w8l << 24)) ^ (w8h >>> 7) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w5l >>> 19) | (w5h << 13)) ^ ((w5l << 3) | (w5h >>> 29)) ^ ((w5l >>> 6) | (w5h << 26)) )|0;\n        w7l = ( w7l + xl)|0;\n        w7h = ( w7h + ( ((w5h >>> 19) | (w5l << 13)) ^ ((w5h << 3) | (w5l >>> 29)) ^ (w5h >>> 6) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x1482353b + w7l )|0;\n        th = ( 0x92722c85 + w7h + ((tl >>> 0) < (w7l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 40\n        w8l = ( w8l + w1l )|0;\n        w8h = ( w8h + w1h + ((w8l >>> 0) < (w1l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w9l >>> 1) | (w9h << 31)) ^ ((w9l >>> 8) | (w9h << 24)) ^ ((w9l >>> 7) | (w9h << 25)) )|0;\n        w8l = ( w8l + xl)|0;\n        w8h = ( w8h + ( ((w9h >>> 1) | (w9l << 31)) ^ ((w9h >>> 8) | (w9l << 24)) ^ (w9h >>> 7) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w6l >>> 19) | (w6h << 13)) ^ ((w6l << 3) | (w6h >>> 29)) ^ ((w6l >>> 6) | (w6h << 26)) )|0;\n        w8l = ( w8l + xl)|0;\n        w8h = ( w8h + ( ((w6h >>> 19) | (w6l << 13)) ^ ((w6h << 3) | (w6l >>> 29)) ^ (w6h >>> 6) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x4cf10364 + w8l )|0;\n        th = ( 0xa2bfe8a1 + w8h + ((tl >>> 0) < (w8l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 41\n        w9l = ( w9l + w2l )|0;\n        w9h = ( w9h + w2h + ((w9l >>> 0) < (w2l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w10l >>> 1) | (w10h << 31)) ^ ((w10l >>> 8) | (w10h << 24)) ^ ((w10l >>> 7) | (w10h << 25)) )|0;\n        w9l = ( w9l + xl)|0;\n        w9h = ( w9h + ( ((w10h >>> 1) | (w10l << 31)) ^ ((w10h >>> 8) | (w10l << 24)) ^ (w10h >>> 7) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w7l >>> 19) | (w7h << 13)) ^ ((w7l << 3) | (w7h >>> 29)) ^ ((w7l >>> 6) | (w7h << 26)) )|0;\n        w9l = ( w9l + xl)|0;\n        w9h = ( w9h + ( ((w7h >>> 19) | (w7l << 13)) ^ ((w7h << 3) | (w7l >>> 29)) ^ (w7h >>> 6) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xbc423001 + w9l )|0;\n        th = ( 0xa81a664b + w9h + ((tl >>> 0) < (w9l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 42\n        w10l = ( w10l + w3l )|0;\n        w10h = ( w10h + w3h + ((w10l >>> 0) < (w3l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w11l >>> 1) | (w11h << 31)) ^ ((w11l >>> 8) | (w11h << 24)) ^ ((w11l >>> 7) | (w11h << 25)) )|0;\n        w10l = ( w10l + xl)|0;\n        w10h = ( w10h + ( ((w11h >>> 1) | (w11l << 31)) ^ ((w11h >>> 8) | (w11l << 24)) ^ (w11h >>> 7) ) + ((w10l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w8l >>> 19) | (w8h << 13)) ^ ((w8l << 3) | (w8h >>> 29)) ^ ((w8l >>> 6) | (w8h << 26)) )|0;\n        w10l = ( w10l + xl)|0;\n        w10h = ( w10h + ( ((w8h >>> 19) | (w8l << 13)) ^ ((w8h << 3) | (w8l >>> 29)) ^ (w8h >>> 6) ) + ((w10l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xd0f89791 + w10l )|0;\n        th = ( 0xc24b8b70 + w10h + ((tl >>> 0) < (w10l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 43\n        w11l = ( w11l + w4l )|0;\n        w11h = ( w11h + w4h + ((w11l >>> 0) < (w4l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w12l >>> 1) | (w12h << 31)) ^ ((w12l >>> 8) | (w12h << 24)) ^ ((w12l >>> 7) | (w12h << 25)) )|0;\n        w11l = ( w11l + xl)|0;\n        w11h = ( w11h + ( ((w12h >>> 1) | (w12l << 31)) ^ ((w12h >>> 8) | (w12l << 24)) ^ (w12h >>> 7) ) + ((w11l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w9l >>> 19) | (w9h << 13)) ^ ((w9l << 3) | (w9h >>> 29)) ^ ((w9l >>> 6) | (w9h << 26)) )|0;\n        w11l = ( w11l + xl)|0;\n        w11h = ( w11h + ( ((w9h >>> 19) | (w9l << 13)) ^ ((w9h << 3) | (w9l >>> 29)) ^ (w9h >>> 6) ) + ((w11l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x654be30 + w11l )|0;\n        th = ( 0xc76c51a3 + w11h + ((tl >>> 0) < (w11l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 44\n        w12l = ( w12l + w5l )|0;\n        w12h = ( w12h + w5h + ((w12l >>> 0) < (w5l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w13l >>> 1) | (w13h << 31)) ^ ((w13l >>> 8) | (w13h << 24)) ^ ((w13l >>> 7) | (w13h << 25)) )|0;\n        w12l = ( w12l + xl)|0;\n        w12h = ( w12h + ( ((w13h >>> 1) | (w13l << 31)) ^ ((w13h >>> 8) | (w13l << 24)) ^ (w13h >>> 7) ) + ((w12l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w10l >>> 19) | (w10h << 13)) ^ ((w10l << 3) | (w10h >>> 29)) ^ ((w10l >>> 6) | (w10h << 26)) )|0;\n        w12l = ( w12l + xl)|0;\n        w12h = ( w12h + ( ((w10h >>> 19) | (w10l << 13)) ^ ((w10h << 3) | (w10l >>> 29)) ^ (w10h >>> 6) ) + ((w12l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xd6ef5218 + w12l )|0;\n        th = ( 0xd192e819 + w12h + ((tl >>> 0) < (w12l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 45\n        w13l = ( w13l + w6l )|0;\n        w13h = ( w13h + w6h + ((w13l >>> 0) < (w6l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w14l >>> 1) | (w14h << 31)) ^ ((w14l >>> 8) | (w14h << 24)) ^ ((w14l >>> 7) | (w14h << 25)) )|0;\n        w13l = ( w13l + xl)|0;\n        w13h = ( w13h + ( ((w14h >>> 1) | (w14l << 31)) ^ ((w14h >>> 8) | (w14l << 24)) ^ (w14h >>> 7) ) + ((w13l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w11l >>> 19) | (w11h << 13)) ^ ((w11l << 3) | (w11h >>> 29)) ^ ((w11l >>> 6) | (w11h << 26)) )|0;\n        w13l = ( w13l + xl)|0;\n        w13h = ( w13h + ( ((w11h >>> 19) | (w11l << 13)) ^ ((w11h << 3) | (w11l >>> 29)) ^ (w11h >>> 6) ) + ((w13l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x5565a910 + w13l )|0;\n        th = ( 0xd6990624 + w13h + ((tl >>> 0) < (w13l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 46\n        w14l = ( w14l + w7l )|0;\n        w14h = ( w14h + w7h + ((w14l >>> 0) < (w7l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w15l >>> 1) | (w15h << 31)) ^ ((w15l >>> 8) | (w15h << 24)) ^ ((w15l >>> 7) | (w15h << 25)) )|0;\n        w14l = ( w14l + xl)|0;\n        w14h = ( w14h + ( ((w15h >>> 1) | (w15l << 31)) ^ ((w15h >>> 8) | (w15l << 24)) ^ (w15h >>> 7) ) + ((w14l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w12l >>> 19) | (w12h << 13)) ^ ((w12l << 3) | (w12h >>> 29)) ^ ((w12l >>> 6) | (w12h << 26)) )|0;\n        w14l = ( w14l + xl)|0;\n        w14h = ( w14h + ( ((w12h >>> 19) | (w12l << 13)) ^ ((w12h << 3) | (w12l >>> 29)) ^ (w12h >>> 6) ) + ((w14l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x5771202a + w14l )|0;\n        th = ( 0xf40e3585 + w14h + ((tl >>> 0) < (w14l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 47\n        w15l = ( w15l + w8l )|0;\n        w15h = ( w15h + w8h + ((w15l >>> 0) < (w8l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w0l >>> 1) | (w0h << 31)) ^ ((w0l >>> 8) | (w0h << 24)) ^ ((w0l >>> 7) | (w0h << 25)) )|0;\n        w15l = ( w15l + xl)|0;\n        w15h = ( w15h + ( ((w0h >>> 1) | (w0l << 31)) ^ ((w0h >>> 8) | (w0l << 24)) ^ (w0h >>> 7) ) + ((w15l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w13l >>> 19) | (w13h << 13)) ^ ((w13l << 3) | (w13h >>> 29)) ^ ((w13l >>> 6) | (w13h << 26)) )|0;\n        w15l = ( w15l + xl)|0;\n        w15h = ( w15h + ( ((w13h >>> 19) | (w13l << 13)) ^ ((w13h << 3) | (w13l >>> 29)) ^ (w13h >>> 6) ) + ((w15l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x32bbd1b8 + w15l )|0;\n        th = ( 0x106aa070 + w15h + ((tl >>> 0) < (w15l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 48\n        w0l = ( w0l + w9l )|0;\n        w0h = ( w0h + w9h + ((w0l >>> 0) < (w9l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w1l >>> 1) | (w1h << 31)) ^ ((w1l >>> 8) | (w1h << 24)) ^ ((w1l >>> 7) | (w1h << 25)) )|0;\n        w0l = ( w0l + xl)|0;\n        w0h = ( w0h + ( ((w1h >>> 1) | (w1l << 31)) ^ ((w1h >>> 8) | (w1l << 24)) ^ (w1h >>> 7) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w14l >>> 19) | (w14h << 13)) ^ ((w14l << 3) | (w14h >>> 29)) ^ ((w14l >>> 6) | (w14h << 26)) )|0;\n        w0l = ( w0l + xl)|0;\n        w0h = ( w0h + ( ((w14h >>> 19) | (w14l << 13)) ^ ((w14h << 3) | (w14l >>> 29)) ^ (w14h >>> 6) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xb8d2d0c8 + w0l )|0;\n        th = ( 0x19a4c116 + w0h + ((tl >>> 0) < (w0l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 49\n        w1l = ( w1l + w10l )|0;\n        w1h = ( w1h + w10h + ((w1l >>> 0) < (w10l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w2l >>> 1) | (w2h << 31)) ^ ((w2l >>> 8) | (w2h << 24)) ^ ((w2l >>> 7) | (w2h << 25)) )|0;\n        w1l = ( w1l + xl)|0;\n        w1h = ( w1h + ( ((w2h >>> 1) | (w2l << 31)) ^ ((w2h >>> 8) | (w2l << 24)) ^ (w2h >>> 7) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w15l >>> 19) | (w15h << 13)) ^ ((w15l << 3) | (w15h >>> 29)) ^ ((w15l >>> 6) | (w15h << 26)) )|0;\n        w1l = ( w1l + xl)|0;\n        w1h = ( w1h + ( ((w15h >>> 19) | (w15l << 13)) ^ ((w15h << 3) | (w15l >>> 29)) ^ (w15h >>> 6) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x5141ab53 + w1l )|0;\n        th = ( 0x1e376c08 + w1h + ((tl >>> 0) < (w1l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 50\n        w2l = ( w2l + w11l )|0;\n        w2h = ( w2h + w11h + ((w2l >>> 0) < (w11l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w3l >>> 1) | (w3h << 31)) ^ ((w3l >>> 8) | (w3h << 24)) ^ ((w3l >>> 7) | (w3h << 25)) )|0;\n        w2l = ( w2l + xl)|0;\n        w2h = ( w2h + ( ((w3h >>> 1) | (w3l << 31)) ^ ((w3h >>> 8) | (w3l << 24)) ^ (w3h >>> 7) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w0l >>> 19) | (w0h << 13)) ^ ((w0l << 3) | (w0h >>> 29)) ^ ((w0l >>> 6) | (w0h << 26)) )|0;\n        w2l = ( w2l + xl)|0;\n        w2h = ( w2h + ( ((w0h >>> 19) | (w0l << 13)) ^ ((w0h << 3) | (w0l >>> 29)) ^ (w0h >>> 6) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xdf8eeb99 + w2l )|0;\n        th = ( 0x2748774c + w2h + ((tl >>> 0) < (w2l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 51\n        w3l = ( w3l + w12l )|0;\n        w3h = ( w3h + w12h + ((w3l >>> 0) < (w12l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w4l >>> 1) | (w4h << 31)) ^ ((w4l >>> 8) | (w4h << 24)) ^ ((w4l >>> 7) | (w4h << 25)) )|0;\n        w3l = ( w3l + xl)|0;\n        w3h = ( w3h + ( ((w4h >>> 1) | (w4l << 31)) ^ ((w4h >>> 8) | (w4l << 24)) ^ (w4h >>> 7) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w1l >>> 19) | (w1h << 13)) ^ ((w1l << 3) | (w1h >>> 29)) ^ ((w1l >>> 6) | (w1h << 26)) )|0;\n        w3l = ( w3l + xl)|0;\n        w3h = ( w3h + ( ((w1h >>> 19) | (w1l << 13)) ^ ((w1h << 3) | (w1l >>> 29)) ^ (w1h >>> 6) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xe19b48a8 + w3l )|0;\n        th = ( 0x34b0bcb5 + w3h + ((tl >>> 0) < (w3l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 52\n        w4l = ( w4l + w13l )|0;\n        w4h = ( w4h + w13h + ((w4l >>> 0) < (w13l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w5l >>> 1) | (w5h << 31)) ^ ((w5l >>> 8) | (w5h << 24)) ^ ((w5l >>> 7) | (w5h << 25)) )|0;\n        w4l = ( w4l + xl)|0;\n        w4h = ( w4h + ( ((w5h >>> 1) | (w5l << 31)) ^ ((w5h >>> 8) | (w5l << 24)) ^ (w5h >>> 7) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w2l >>> 19) | (w2h << 13)) ^ ((w2l << 3) | (w2h >>> 29)) ^ ((w2l >>> 6) | (w2h << 26)) )|0;\n        w4l = ( w4l + xl)|0;\n        w4h = ( w4h + ( ((w2h >>> 19) | (w2l << 13)) ^ ((w2h << 3) | (w2l >>> 29)) ^ (w2h >>> 6) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xc5c95a63 + w4l )|0;\n        th = ( 0x391c0cb3 + w4h + ((tl >>> 0) < (w4l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 53\n        w5l = ( w5l + w14l )|0;\n        w5h = ( w5h + w14h + ((w5l >>> 0) < (w14l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w6l >>> 1) | (w6h << 31)) ^ ((w6l >>> 8) | (w6h << 24)) ^ ((w6l >>> 7) | (w6h << 25)) )|0;\n        w5l = ( w5l + xl)|0;\n        w5h = ( w5h + ( ((w6h >>> 1) | (w6l << 31)) ^ ((w6h >>> 8) | (w6l << 24)) ^ (w6h >>> 7) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w3l >>> 19) | (w3h << 13)) ^ ((w3l << 3) | (w3h >>> 29)) ^ ((w3l >>> 6) | (w3h << 26)) )|0;\n        w5l = ( w5l + xl)|0;\n        w5h = ( w5h + ( ((w3h >>> 19) | (w3l << 13)) ^ ((w3h << 3) | (w3l >>> 29)) ^ (w3h >>> 6) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xe3418acb + w5l )|0;\n        th = ( 0x4ed8aa4a + w5h + ((tl >>> 0) < (w5l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 54\n        w6l = ( w6l + w15l )|0;\n        w6h = ( w6h + w15h + ((w6l >>> 0) < (w15l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w7l >>> 1) | (w7h << 31)) ^ ((w7l >>> 8) | (w7h << 24)) ^ ((w7l >>> 7) | (w7h << 25)) )|0;\n        w6l = ( w6l + xl)|0;\n        w6h = ( w6h + ( ((w7h >>> 1) | (w7l << 31)) ^ ((w7h >>> 8) | (w7l << 24)) ^ (w7h >>> 7) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w4l >>> 19) | (w4h << 13)) ^ ((w4l << 3) | (w4h >>> 29)) ^ ((w4l >>> 6) | (w4h << 26)) )|0;\n        w6l = ( w6l + xl)|0;\n        w6h = ( w6h + ( ((w4h >>> 19) | (w4l << 13)) ^ ((w4h << 3) | (w4l >>> 29)) ^ (w4h >>> 6) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x7763e373 + w6l )|0;\n        th = ( 0x5b9cca4f + w6h + ((tl >>> 0) < (w6l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 55\n        w7l = ( w7l + w0l )|0;\n        w7h = ( w7h + w0h + ((w7l >>> 0) < (w0l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w8l >>> 1) | (w8h << 31)) ^ ((w8l >>> 8) | (w8h << 24)) ^ ((w8l >>> 7) | (w8h << 25)) )|0;\n        w7l = ( w7l + xl)|0;\n        w7h = ( w7h + ( ((w8h >>> 1) | (w8l << 31)) ^ ((w8h >>> 8) | (w8l << 24)) ^ (w8h >>> 7) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w5l >>> 19) | (w5h << 13)) ^ ((w5l << 3) | (w5h >>> 29)) ^ ((w5l >>> 6) | (w5h << 26)) )|0;\n        w7l = ( w7l + xl)|0;\n        w7h = ( w7h + ( ((w5h >>> 19) | (w5l << 13)) ^ ((w5h << 3) | (w5l >>> 29)) ^ (w5h >>> 6) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xd6b2b8a3 + w7l )|0;\n        th = ( 0x682e6ff3 + w7h + ((tl >>> 0) < (w7l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 56\n        w8l = ( w8l + w1l )|0;\n        w8h = ( w8h + w1h + ((w8l >>> 0) < (w1l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w9l >>> 1) | (w9h << 31)) ^ ((w9l >>> 8) | (w9h << 24)) ^ ((w9l >>> 7) | (w9h << 25)) )|0;\n        w8l = ( w8l + xl)|0;\n        w8h = ( w8h + ( ((w9h >>> 1) | (w9l << 31)) ^ ((w9h >>> 8) | (w9l << 24)) ^ (w9h >>> 7) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w6l >>> 19) | (w6h << 13)) ^ ((w6l << 3) | (w6h >>> 29)) ^ ((w6l >>> 6) | (w6h << 26)) )|0;\n        w8l = ( w8l + xl)|0;\n        w8h = ( w8h + ( ((w6h >>> 19) | (w6l << 13)) ^ ((w6h << 3) | (w6l >>> 29)) ^ (w6h >>> 6) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x5defb2fc + w8l )|0;\n        th = ( 0x748f82ee + w8h + ((tl >>> 0) < (w8l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 57\n        w9l = ( w9l + w2l )|0;\n        w9h = ( w9h + w2h + ((w9l >>> 0) < (w2l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w10l >>> 1) | (w10h << 31)) ^ ((w10l >>> 8) | (w10h << 24)) ^ ((w10l >>> 7) | (w10h << 25)) )|0;\n        w9l = ( w9l + xl)|0;\n        w9h = ( w9h + ( ((w10h >>> 1) | (w10l << 31)) ^ ((w10h >>> 8) | (w10l << 24)) ^ (w10h >>> 7) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w7l >>> 19) | (w7h << 13)) ^ ((w7l << 3) | (w7h >>> 29)) ^ ((w7l >>> 6) | (w7h << 26)) )|0;\n        w9l = ( w9l + xl)|0;\n        w9h = ( w9h + ( ((w7h >>> 19) | (w7l << 13)) ^ ((w7h << 3) | (w7l >>> 29)) ^ (w7h >>> 6) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x43172f60 + w9l )|0;\n        th = ( 0x78a5636f + w9h + ((tl >>> 0) < (w9l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 58\n        w10l = ( w10l + w3l )|0;\n        w10h = ( w10h + w3h + ((w10l >>> 0) < (w3l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w11l >>> 1) | (w11h << 31)) ^ ((w11l >>> 8) | (w11h << 24)) ^ ((w11l >>> 7) | (w11h << 25)) )|0;\n        w10l = ( w10l + xl)|0;\n        w10h = ( w10h + ( ((w11h >>> 1) | (w11l << 31)) ^ ((w11h >>> 8) | (w11l << 24)) ^ (w11h >>> 7) ) + ((w10l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w8l >>> 19) | (w8h << 13)) ^ ((w8l << 3) | (w8h >>> 29)) ^ ((w8l >>> 6) | (w8h << 26)) )|0;\n        w10l = ( w10l + xl)|0;\n        w10h = ( w10h + ( ((w8h >>> 19) | (w8l << 13)) ^ ((w8h << 3) | (w8l >>> 29)) ^ (w8h >>> 6) ) + ((w10l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xa1f0ab72 + w10l )|0;\n        th = ( 0x84c87814 + w10h + ((tl >>> 0) < (w10l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 59\n        w11l = ( w11l + w4l )|0;\n        w11h = ( w11h + w4h + ((w11l >>> 0) < (w4l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w12l >>> 1) | (w12h << 31)) ^ ((w12l >>> 8) | (w12h << 24)) ^ ((w12l >>> 7) | (w12h << 25)) )|0;\n        w11l = ( w11l + xl)|0;\n        w11h = ( w11h + ( ((w12h >>> 1) | (w12l << 31)) ^ ((w12h >>> 8) | (w12l << 24)) ^ (w12h >>> 7) ) + ((w11l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w9l >>> 19) | (w9h << 13)) ^ ((w9l << 3) | (w9h >>> 29)) ^ ((w9l >>> 6) | (w9h << 26)) )|0;\n        w11l = ( w11l + xl)|0;\n        w11h = ( w11h + ( ((w9h >>> 19) | (w9l << 13)) ^ ((w9h << 3) | (w9l >>> 29)) ^ (w9h >>> 6) ) + ((w11l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x1a6439ec + w11l )|0;\n        th = ( 0x8cc70208 + w11h + ((tl >>> 0) < (w11l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 60\n        w12l = ( w12l + w5l )|0;\n        w12h = ( w12h + w5h + ((w12l >>> 0) < (w5l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w13l >>> 1) | (w13h << 31)) ^ ((w13l >>> 8) | (w13h << 24)) ^ ((w13l >>> 7) | (w13h << 25)) )|0;\n        w12l = ( w12l + xl)|0;\n        w12h = ( w12h + ( ((w13h >>> 1) | (w13l << 31)) ^ ((w13h >>> 8) | (w13l << 24)) ^ (w13h >>> 7) ) + ((w12l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w10l >>> 19) | (w10h << 13)) ^ ((w10l << 3) | (w10h >>> 29)) ^ ((w10l >>> 6) | (w10h << 26)) )|0;\n        w12l = ( w12l + xl)|0;\n        w12h = ( w12h + ( ((w10h >>> 19) | (w10l << 13)) ^ ((w10h << 3) | (w10l >>> 29)) ^ (w10h >>> 6) ) + ((w12l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x23631e28 + w12l )|0;\n        th = ( 0x90befffa + w12h + ((tl >>> 0) < (w12l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 61\n        w13l = ( w13l + w6l )|0;\n        w13h = ( w13h + w6h + ((w13l >>> 0) < (w6l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w14l >>> 1) | (w14h << 31)) ^ ((w14l >>> 8) | (w14h << 24)) ^ ((w14l >>> 7) | (w14h << 25)) )|0;\n        w13l = ( w13l + xl)|0;\n        w13h = ( w13h + ( ((w14h >>> 1) | (w14l << 31)) ^ ((w14h >>> 8) | (w14l << 24)) ^ (w14h >>> 7) ) + ((w13l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w11l >>> 19) | (w11h << 13)) ^ ((w11l << 3) | (w11h >>> 29)) ^ ((w11l >>> 6) | (w11h << 26)) )|0;\n        w13l = ( w13l + xl)|0;\n        w13h = ( w13h + ( ((w11h >>> 19) | (w11l << 13)) ^ ((w11h << 3) | (w11l >>> 29)) ^ (w11h >>> 6) ) + ((w13l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xde82bde9 + w13l )|0;\n        th = ( 0xa4506ceb + w13h + ((tl >>> 0) < (w13l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 62\n        w14l = ( w14l + w7l )|0;\n        w14h = ( w14h + w7h + ((w14l >>> 0) < (w7l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w15l >>> 1) | (w15h << 31)) ^ ((w15l >>> 8) | (w15h << 24)) ^ ((w15l >>> 7) | (w15h << 25)) )|0;\n        w14l = ( w14l + xl)|0;\n        w14h = ( w14h + ( ((w15h >>> 1) | (w15l << 31)) ^ ((w15h >>> 8) | (w15l << 24)) ^ (w15h >>> 7) ) + ((w14l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w12l >>> 19) | (w12h << 13)) ^ ((w12l << 3) | (w12h >>> 29)) ^ ((w12l >>> 6) | (w12h << 26)) )|0;\n        w14l = ( w14l + xl)|0;\n        w14h = ( w14h + ( ((w12h >>> 19) | (w12l << 13)) ^ ((w12h << 3) | (w12l >>> 29)) ^ (w12h >>> 6) ) + ((w14l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xb2c67915 + w14l )|0;\n        th = ( 0xbef9a3f7 + w14h + ((tl >>> 0) < (w14l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 63\n        w15l = ( w15l + w8l )|0;\n        w15h = ( w15h + w8h + ((w15l >>> 0) < (w8l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w0l >>> 1) | (w0h << 31)) ^ ((w0l >>> 8) | (w0h << 24)) ^ ((w0l >>> 7) | (w0h << 25)) )|0;\n        w15l = ( w15l + xl)|0;\n        w15h = ( w15h + ( ((w0h >>> 1) | (w0l << 31)) ^ ((w0h >>> 8) | (w0l << 24)) ^ (w0h >>> 7) ) + ((w15l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w13l >>> 19) | (w13h << 13)) ^ ((w13l << 3) | (w13h >>> 29)) ^ ((w13l >>> 6) | (w13h << 26)) )|0;\n        w15l = ( w15l + xl)|0;\n        w15h = ( w15h + ( ((w13h >>> 19) | (w13l << 13)) ^ ((w13h << 3) | (w13l >>> 29)) ^ (w13h >>> 6) ) + ((w15l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xe372532b + w15l )|0;\n        th = ( 0xc67178f2 + w15h + ((tl >>> 0) < (w15l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 64\n        w0l = ( w0l + w9l )|0;\n        w0h = ( w0h + w9h + ((w0l >>> 0) < (w9l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w1l >>> 1) | (w1h << 31)) ^ ((w1l >>> 8) | (w1h << 24)) ^ ((w1l >>> 7) | (w1h << 25)) )|0;\n        w0l = ( w0l + xl)|0;\n        w0h = ( w0h + ( ((w1h >>> 1) | (w1l << 31)) ^ ((w1h >>> 8) | (w1l << 24)) ^ (w1h >>> 7) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w14l >>> 19) | (w14h << 13)) ^ ((w14l << 3) | (w14h >>> 29)) ^ ((w14l >>> 6) | (w14h << 26)) )|0;\n        w0l = ( w0l + xl)|0;\n        w0h = ( w0h + ( ((w14h >>> 19) | (w14l << 13)) ^ ((w14h << 3) | (w14l >>> 29)) ^ (w14h >>> 6) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xea26619c + w0l )|0;\n        th = ( 0xca273ece + w0h + ((tl >>> 0) < (w0l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 65\n        w1l = ( w1l + w10l )|0;\n        w1h = ( w1h + w10h + ((w1l >>> 0) < (w10l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w2l >>> 1) | (w2h << 31)) ^ ((w2l >>> 8) | (w2h << 24)) ^ ((w2l >>> 7) | (w2h << 25)) )|0;\n        w1l = ( w1l + xl)|0;\n        w1h = ( w1h + ( ((w2h >>> 1) | (w2l << 31)) ^ ((w2h >>> 8) | (w2l << 24)) ^ (w2h >>> 7) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w15l >>> 19) | (w15h << 13)) ^ ((w15l << 3) | (w15h >>> 29)) ^ ((w15l >>> 6) | (w15h << 26)) )|0;\n        w1l = ( w1l + xl)|0;\n        w1h = ( w1h + ( ((w15h >>> 19) | (w15l << 13)) ^ ((w15h << 3) | (w15l >>> 29)) ^ (w15h >>> 6) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x21c0c207 + w1l )|0;\n        th = ( 0xd186b8c7 + w1h + ((tl >>> 0) < (w1l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 66\n        w2l = ( w2l + w11l )|0;\n        w2h = ( w2h + w11h + ((w2l >>> 0) < (w11l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w3l >>> 1) | (w3h << 31)) ^ ((w3l >>> 8) | (w3h << 24)) ^ ((w3l >>> 7) | (w3h << 25)) )|0;\n        w2l = ( w2l + xl)|0;\n        w2h = ( w2h + ( ((w3h >>> 1) | (w3l << 31)) ^ ((w3h >>> 8) | (w3l << 24)) ^ (w3h >>> 7) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w0l >>> 19) | (w0h << 13)) ^ ((w0l << 3) | (w0h >>> 29)) ^ ((w0l >>> 6) | (w0h << 26)) )|0;\n        w2l = ( w2l + xl)|0;\n        w2h = ( w2h + ( ((w0h >>> 19) | (w0l << 13)) ^ ((w0h << 3) | (w0l >>> 29)) ^ (w0h >>> 6) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xcde0eb1e + w2l )|0;\n        th = ( 0xeada7dd6 + w2h + ((tl >>> 0) < (w2l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 67\n        w3l = ( w3l + w12l )|0;\n        w3h = ( w3h + w12h + ((w3l >>> 0) < (w12l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w4l >>> 1) | (w4h << 31)) ^ ((w4l >>> 8) | (w4h << 24)) ^ ((w4l >>> 7) | (w4h << 25)) )|0;\n        w3l = ( w3l + xl)|0;\n        w3h = ( w3h + ( ((w4h >>> 1) | (w4l << 31)) ^ ((w4h >>> 8) | (w4l << 24)) ^ (w4h >>> 7) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w1l >>> 19) | (w1h << 13)) ^ ((w1l << 3) | (w1h >>> 29)) ^ ((w1l >>> 6) | (w1h << 26)) )|0;\n        w3l = ( w3l + xl)|0;\n        w3h = ( w3h + ( ((w1h >>> 19) | (w1l << 13)) ^ ((w1h << 3) | (w1l >>> 29)) ^ (w1h >>> 6) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xee6ed178 + w3l )|0;\n        th = ( 0xf57d4f7f + w3h + ((tl >>> 0) < (w3l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 68\n        w4l = ( w4l + w13l )|0;\n        w4h = ( w4h + w13h + ((w4l >>> 0) < (w13l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w5l >>> 1) | (w5h << 31)) ^ ((w5l >>> 8) | (w5h << 24)) ^ ((w5l >>> 7) | (w5h << 25)) )|0;\n        w4l = ( w4l + xl)|0;\n        w4h = ( w4h + ( ((w5h >>> 1) | (w5l << 31)) ^ ((w5h >>> 8) | (w5l << 24)) ^ (w5h >>> 7) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w2l >>> 19) | (w2h << 13)) ^ ((w2l << 3) | (w2h >>> 29)) ^ ((w2l >>> 6) | (w2h << 26)) )|0;\n        w4l = ( w4l + xl)|0;\n        w4h = ( w4h + ( ((w2h >>> 19) | (w2l << 13)) ^ ((w2h << 3) | (w2l >>> 29)) ^ (w2h >>> 6) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x72176fba + w4l )|0;\n        th = ( 0x6f067aa + w4h + ((tl >>> 0) < (w4l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 69\n        w5l = ( w5l + w14l )|0;\n        w5h = ( w5h + w14h + ((w5l >>> 0) < (w14l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w6l >>> 1) | (w6h << 31)) ^ ((w6l >>> 8) | (w6h << 24)) ^ ((w6l >>> 7) | (w6h << 25)) )|0;\n        w5l = ( w5l + xl)|0;\n        w5h = ( w5h + ( ((w6h >>> 1) | (w6l << 31)) ^ ((w6h >>> 8) | (w6l << 24)) ^ (w6h >>> 7) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w3l >>> 19) | (w3h << 13)) ^ ((w3l << 3) | (w3h >>> 29)) ^ ((w3l >>> 6) | (w3h << 26)) )|0;\n        w5l = ( w5l + xl)|0;\n        w5h = ( w5h + ( ((w3h >>> 19) | (w3l << 13)) ^ ((w3h << 3) | (w3l >>> 29)) ^ (w3h >>> 6) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xa2c898a6 + w5l )|0;\n        th = ( 0xa637dc5 + w5h + ((tl >>> 0) < (w5l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 70\n        w6l = ( w6l + w15l )|0;\n        w6h = ( w6h + w15h + ((w6l >>> 0) < (w15l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w7l >>> 1) | (w7h << 31)) ^ ((w7l >>> 8) | (w7h << 24)) ^ ((w7l >>> 7) | (w7h << 25)) )|0;\n        w6l = ( w6l + xl)|0;\n        w6h = ( w6h + ( ((w7h >>> 1) | (w7l << 31)) ^ ((w7h >>> 8) | (w7l << 24)) ^ (w7h >>> 7) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w4l >>> 19) | (w4h << 13)) ^ ((w4l << 3) | (w4h >>> 29)) ^ ((w4l >>> 6) | (w4h << 26)) )|0;\n        w6l = ( w6l + xl)|0;\n        w6h = ( w6h + ( ((w4h >>> 19) | (w4l << 13)) ^ ((w4h << 3) | (w4l >>> 29)) ^ (w4h >>> 6) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xbef90dae + w6l )|0;\n        th = ( 0x113f9804 + w6h + ((tl >>> 0) < (w6l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 71\n        w7l = ( w7l + w0l )|0;\n        w7h = ( w7h + w0h + ((w7l >>> 0) < (w0l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w8l >>> 1) | (w8h << 31)) ^ ((w8l >>> 8) | (w8h << 24)) ^ ((w8l >>> 7) | (w8h << 25)) )|0;\n        w7l = ( w7l + xl)|0;\n        w7h = ( w7h + ( ((w8h >>> 1) | (w8l << 31)) ^ ((w8h >>> 8) | (w8l << 24)) ^ (w8h >>> 7) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w5l >>> 19) | (w5h << 13)) ^ ((w5l << 3) | (w5h >>> 29)) ^ ((w5l >>> 6) | (w5h << 26)) )|0;\n        w7l = ( w7l + xl)|0;\n        w7h = ( w7h + ( ((w5h >>> 19) | (w5l << 13)) ^ ((w5h << 3) | (w5l >>> 29)) ^ (w5h >>> 6) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x131c471b + w7l )|0;\n        th = ( 0x1b710b35 + w7h + ((tl >>> 0) < (w7l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 72\n        w8l = ( w8l + w1l )|0;\n        w8h = ( w8h + w1h + ((w8l >>> 0) < (w1l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w9l >>> 1) | (w9h << 31)) ^ ((w9l >>> 8) | (w9h << 24)) ^ ((w9l >>> 7) | (w9h << 25)) )|0;\n        w8l = ( w8l + xl)|0;\n        w8h = ( w8h + ( ((w9h >>> 1) | (w9l << 31)) ^ ((w9h >>> 8) | (w9l << 24)) ^ (w9h >>> 7) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w6l >>> 19) | (w6h << 13)) ^ ((w6l << 3) | (w6h >>> 29)) ^ ((w6l >>> 6) | (w6h << 26)) )|0;\n        w8l = ( w8l + xl)|0;\n        w8h = ( w8h + ( ((w6h >>> 19) | (w6l << 13)) ^ ((w6h << 3) | (w6l >>> 29)) ^ (w6h >>> 6) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x23047d84 + w8l )|0;\n        th = ( 0x28db77f5 + w8h + ((tl >>> 0) < (w8l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 73\n        w9l = ( w9l + w2l )|0;\n        w9h = ( w9h + w2h + ((w9l >>> 0) < (w2l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w10l >>> 1) | (w10h << 31)) ^ ((w10l >>> 8) | (w10h << 24)) ^ ((w10l >>> 7) | (w10h << 25)) )|0;\n        w9l = ( w9l + xl)|0;\n        w9h = ( w9h + ( ((w10h >>> 1) | (w10l << 31)) ^ ((w10h >>> 8) | (w10l << 24)) ^ (w10h >>> 7) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w7l >>> 19) | (w7h << 13)) ^ ((w7l << 3) | (w7h >>> 29)) ^ ((w7l >>> 6) | (w7h << 26)) )|0;\n        w9l = ( w9l + xl)|0;\n        w9h = ( w9h + ( ((w7h >>> 19) | (w7l << 13)) ^ ((w7h << 3) | (w7l >>> 29)) ^ (w7h >>> 6) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x40c72493 + w9l )|0;\n        th = ( 0x32caab7b + w9h + ((tl >>> 0) < (w9l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 74\n        w10l = ( w10l + w3l )|0;\n        w10h = ( w10h + w3h + ((w10l >>> 0) < (w3l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w11l >>> 1) | (w11h << 31)) ^ ((w11l >>> 8) | (w11h << 24)) ^ ((w11l >>> 7) | (w11h << 25)) )|0;\n        w10l = ( w10l + xl)|0;\n        w10h = ( w10h + ( ((w11h >>> 1) | (w11l << 31)) ^ ((w11h >>> 8) | (w11l << 24)) ^ (w11h >>> 7) ) + ((w10l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w8l >>> 19) | (w8h << 13)) ^ ((w8l << 3) | (w8h >>> 29)) ^ ((w8l >>> 6) | (w8h << 26)) )|0;\n        w10l = ( w10l + xl)|0;\n        w10h = ( w10h + ( ((w8h >>> 19) | (w8l << 13)) ^ ((w8h << 3) | (w8l >>> 29)) ^ (w8h >>> 6) ) + ((w10l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x15c9bebc + w10l )|0;\n        th = ( 0x3c9ebe0a + w10h + ((tl >>> 0) < (w10l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 75\n        w11l = ( w11l + w4l )|0;\n        w11h = ( w11h + w4h + ((w11l >>> 0) < (w4l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w12l >>> 1) | (w12h << 31)) ^ ((w12l >>> 8) | (w12h << 24)) ^ ((w12l >>> 7) | (w12h << 25)) )|0;\n        w11l = ( w11l + xl)|0;\n        w11h = ( w11h + ( ((w12h >>> 1) | (w12l << 31)) ^ ((w12h >>> 8) | (w12l << 24)) ^ (w12h >>> 7) ) + ((w11l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w9l >>> 19) | (w9h << 13)) ^ ((w9l << 3) | (w9h >>> 29)) ^ ((w9l >>> 6) | (w9h << 26)) )|0;\n        w11l = ( w11l + xl)|0;\n        w11h = ( w11h + ( ((w9h >>> 19) | (w9l << 13)) ^ ((w9h << 3) | (w9l >>> 29)) ^ (w9h >>> 6) ) + ((w11l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x9c100d4c + w11l )|0;\n        th = ( 0x431d67c4 + w11h + ((tl >>> 0) < (w11l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 76\n        w12l = ( w12l + w5l )|0;\n        w12h = ( w12h + w5h + ((w12l >>> 0) < (w5l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w13l >>> 1) | (w13h << 31)) ^ ((w13l >>> 8) | (w13h << 24)) ^ ((w13l >>> 7) | (w13h << 25)) )|0;\n        w12l = ( w12l + xl)|0;\n        w12h = ( w12h + ( ((w13h >>> 1) | (w13l << 31)) ^ ((w13h >>> 8) | (w13l << 24)) ^ (w13h >>> 7) ) + ((w12l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w10l >>> 19) | (w10h << 13)) ^ ((w10l << 3) | (w10h >>> 29)) ^ ((w10l >>> 6) | (w10h << 26)) )|0;\n        w12l = ( w12l + xl)|0;\n        w12h = ( w12h + ( ((w10h >>> 19) | (w10l << 13)) ^ ((w10h << 3) | (w10l >>> 29)) ^ (w10h >>> 6) ) + ((w12l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xcb3e42b6 + w12l )|0;\n        th = ( 0x4cc5d4be + w12h + ((tl >>> 0) < (w12l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 77\n        w13l = ( w13l + w6l )|0;\n        w13h = ( w13h + w6h + ((w13l >>> 0) < (w6l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w14l >>> 1) | (w14h << 31)) ^ ((w14l >>> 8) | (w14h << 24)) ^ ((w14l >>> 7) | (w14h << 25)) )|0;\n        w13l = ( w13l + xl)|0;\n        w13h = ( w13h + ( ((w14h >>> 1) | (w14l << 31)) ^ ((w14h >>> 8) | (w14l << 24)) ^ (w14h >>> 7) ) + ((w13l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w11l >>> 19) | (w11h << 13)) ^ ((w11l << 3) | (w11h >>> 29)) ^ ((w11l >>> 6) | (w11h << 26)) )|0;\n        w13l = ( w13l + xl)|0;\n        w13h = ( w13h + ( ((w11h >>> 19) | (w11l << 13)) ^ ((w11h << 3) | (w11l >>> 29)) ^ (w11h >>> 6) ) + ((w13l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0xfc657e2a + w13l )|0;\n        th = ( 0x597f299c + w13h + ((tl >>> 0) < (w13l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 78\n        w14l = ( w14l + w7l )|0;\n        w14h = ( w14h + w7h + ((w14l >>> 0) < (w7l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w15l >>> 1) | (w15h << 31)) ^ ((w15l >>> 8) | (w15h << 24)) ^ ((w15l >>> 7) | (w15h << 25)) )|0;\n        w14l = ( w14l + xl)|0;\n        w14h = ( w14h + ( ((w15h >>> 1) | (w15l << 31)) ^ ((w15h >>> 8) | (w15l << 24)) ^ (w15h >>> 7) ) + ((w14l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w12l >>> 19) | (w12h << 13)) ^ ((w12l << 3) | (w12h >>> 29)) ^ ((w12l >>> 6) | (w12h << 26)) )|0;\n        w14l = ( w14l + xl)|0;\n        w14h = ( w14h + ( ((w12h >>> 19) | (w12l << 13)) ^ ((w12h << 3) | (w12l >>> 29)) ^ (w12h >>> 6) ) + ((w14l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x3ad6faec + w14l )|0;\n        th = ( 0x5fcb6fab + w14h + ((tl >>> 0) < (w14l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        // 79\n        w15l = ( w15l + w8l )|0;\n        w15h = ( w15h + w8h + ((w15l >>> 0) < (w8l >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w0l >>> 1) | (w0h << 31)) ^ ((w0l >>> 8) | (w0h << 24)) ^ ((w0l >>> 7) | (w0h << 25)) )|0;\n        w15l = ( w15l + xl)|0;\n        w15h = ( w15h + ( ((w0h >>> 1) | (w0l << 31)) ^ ((w0h >>> 8) | (w0l << 24)) ^ (w0h >>> 7) ) + ((w15l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((w13l >>> 19) | (w13h << 13)) ^ ((w13l << 3) | (w13h >>> 29)) ^ ((w13l >>> 6) | (w13h << 26)) )|0;\n        w15l = ( w15l + xl)|0;\n        w15h = ( w15h + ( ((w13h >>> 19) | (w13l << 13)) ^ ((w13h << 3) | (w13l >>> 29)) ^ (w13h >>> 6) ) + ((w15l >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        tl = ( 0x4a475817 + w15l )|0;\n        th = ( 0x6c44198c + w15h + ((tl >>> 0) < (w15l >>> 0) ? 1 : 0) )|0;\n        tl = ( tl + hl )|0;\n        th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        xl = ( ( gl ^ el & (fl^gl) ) )|0;\n        tl = ( tl + xl )|0;\n        th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n        hl = gl; hh = gh;\n        gl = fl; gh = fh;\n        fl = el; fh = eh;\n        el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        dl = cl; dh = ch;\n        cl = bl; ch = bh;\n        bl = al; bh = ah;\n        al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0;\n        ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0;\n        xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0;\n        al = ( al + xl )|0;\n        ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0;\n\n        H0l = ( H0l + al )|0;\n        H0h = ( H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0) )|0;\n        H1l = ( H1l + bl )|0;\n        H1h = ( H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0) )|0;\n        H2l = ( H2l + cl )|0;\n        H2h = ( H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0) )|0;\n        H3l = ( H3l + dl )|0;\n        H3h = ( H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0) )|0;\n        H4l = ( H4l + el )|0;\n        H4h = ( H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0) )|0;\n        H5l = ( H5l + fl )|0;\n        H5h = ( H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0) )|0;\n        H6l = ( H6l + gl )|0;\n        H6h = ( H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0) )|0;\n        H7l = ( H7l + hl )|0;\n        H7h = ( H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0) )|0;\n    }\n\n    function _core_heap ( offset ) {\n        offset = offset|0;\n\n        _core(\n            HEAP[offset|0]<<24 | HEAP[offset|1]<<16 | HEAP[offset|2]<<8 | HEAP[offset|3],\n            HEAP[offset|4]<<24 | HEAP[offset|5]<<16 | HEAP[offset|6]<<8 | HEAP[offset|7],\n            HEAP[offset|8]<<24 | HEAP[offset|9]<<16 | HEAP[offset|10]<<8 | HEAP[offset|11],\n            HEAP[offset|12]<<24 | HEAP[offset|13]<<16 | HEAP[offset|14]<<8 | HEAP[offset|15],\n            HEAP[offset|16]<<24 | HEAP[offset|17]<<16 | HEAP[offset|18]<<8 | HEAP[offset|19],\n            HEAP[offset|20]<<24 | HEAP[offset|21]<<16 | HEAP[offset|22]<<8 | HEAP[offset|23],\n            HEAP[offset|24]<<24 | HEAP[offset|25]<<16 | HEAP[offset|26]<<8 | HEAP[offset|27],\n            HEAP[offset|28]<<24 | HEAP[offset|29]<<16 | HEAP[offset|30]<<8 | HEAP[offset|31],\n            HEAP[offset|32]<<24 | HEAP[offset|33]<<16 | HEAP[offset|34]<<8 | HEAP[offset|35],\n            HEAP[offset|36]<<24 | HEAP[offset|37]<<16 | HEAP[offset|38]<<8 | HEAP[offset|39],\n            HEAP[offset|40]<<24 | HEAP[offset|41]<<16 | HEAP[offset|42]<<8 | HEAP[offset|43],\n            HEAP[offset|44]<<24 | HEAP[offset|45]<<16 | HEAP[offset|46]<<8 | HEAP[offset|47],\n            HEAP[offset|48]<<24 | HEAP[offset|49]<<16 | HEAP[offset|50]<<8 | HEAP[offset|51],\n            HEAP[offset|52]<<24 | HEAP[offset|53]<<16 | HEAP[offset|54]<<8 | HEAP[offset|55],\n            HEAP[offset|56]<<24 | HEAP[offset|57]<<16 | HEAP[offset|58]<<8 | HEAP[offset|59],\n            HEAP[offset|60]<<24 | HEAP[offset|61]<<16 | HEAP[offset|62]<<8 | HEAP[offset|63],\n            HEAP[offset|64]<<24 | HEAP[offset|65]<<16 | HEAP[offset|66]<<8 | HEAP[offset|67],\n            HEAP[offset|68]<<24 | HEAP[offset|69]<<16 | HEAP[offset|70]<<8 | HEAP[offset|71],\n            HEAP[offset|72]<<24 | HEAP[offset|73]<<16 | HEAP[offset|74]<<8 | HEAP[offset|75],\n            HEAP[offset|76]<<24 | HEAP[offset|77]<<16 | HEAP[offset|78]<<8 | HEAP[offset|79],\n            HEAP[offset|80]<<24 | HEAP[offset|81]<<16 | HEAP[offset|82]<<8 | HEAP[offset|83],\n            HEAP[offset|84]<<24 | HEAP[offset|85]<<16 | HEAP[offset|86]<<8 | HEAP[offset|87],\n            HEAP[offset|88]<<24 | HEAP[offset|89]<<16 | HEAP[offset|90]<<8 | HEAP[offset|91],\n            HEAP[offset|92]<<24 | HEAP[offset|93]<<16 | HEAP[offset|94]<<8 | HEAP[offset|95],\n            HEAP[offset|96]<<24 | HEAP[offset|97]<<16 | HEAP[offset|98]<<8 | HEAP[offset|99],\n            HEAP[offset|100]<<24 | HEAP[offset|101]<<16 | HEAP[offset|102]<<8 | HEAP[offset|103],\n            HEAP[offset|104]<<24 | HEAP[offset|105]<<16 | HEAP[offset|106]<<8 | HEAP[offset|107],\n            HEAP[offset|108]<<24 | HEAP[offset|109]<<16 | HEAP[offset|110]<<8 | HEAP[offset|111],\n            HEAP[offset|112]<<24 | HEAP[offset|113]<<16 | HEAP[offset|114]<<8 | HEAP[offset|115],\n            HEAP[offset|116]<<24 | HEAP[offset|117]<<16 | HEAP[offset|118]<<8 | HEAP[offset|119],\n            HEAP[offset|120]<<24 | HEAP[offset|121]<<16 | HEAP[offset|122]<<8 | HEAP[offset|123],\n            HEAP[offset|124]<<24 | HEAP[offset|125]<<16 | HEAP[offset|126]<<8 | HEAP[offset|127]\n        );\n    }\n\n    // offset — multiple of 32\n    function _state_to_heap ( output ) {\n        output = output|0;\n\n        HEAP[output|0] = H0h>>>24;\n        HEAP[output|1] = H0h>>>16&255;\n        HEAP[output|2] = H0h>>>8&255;\n        HEAP[output|3] = H0h&255;\n        HEAP[output|4] = H0l>>>24;\n        HEAP[output|5] = H0l>>>16&255;\n        HEAP[output|6] = H0l>>>8&255;\n        HEAP[output|7] = H0l&255;\n        HEAP[output|8] = H1h>>>24;\n        HEAP[output|9] = H1h>>>16&255;\n        HEAP[output|10] = H1h>>>8&255;\n        HEAP[output|11] = H1h&255;\n        HEAP[output|12] = H1l>>>24;\n        HEAP[output|13] = H1l>>>16&255;\n        HEAP[output|14] = H1l>>>8&255;\n        HEAP[output|15] = H1l&255;\n        HEAP[output|16] = H2h>>>24;\n        HEAP[output|17] = H2h>>>16&255;\n        HEAP[output|18] = H2h>>>8&255;\n        HEAP[output|19] = H2h&255;\n        HEAP[output|20] = H2l>>>24;\n        HEAP[output|21] = H2l>>>16&255;\n        HEAP[output|22] = H2l>>>8&255;\n        HEAP[output|23] = H2l&255;\n        HEAP[output|24] = H3h>>>24;\n        HEAP[output|25] = H3h>>>16&255;\n        HEAP[output|26] = H3h>>>8&255;\n        HEAP[output|27] = H3h&255;\n        HEAP[output|28] = H3l>>>24;\n        HEAP[output|29] = H3l>>>16&255;\n        HEAP[output|30] = H3l>>>8&255;\n        HEAP[output|31] = H3l&255;\n        HEAP[output|32] = H4h>>>24;\n        HEAP[output|33] = H4h>>>16&255;\n        HEAP[output|34] = H4h>>>8&255;\n        HEAP[output|35] = H4h&255;\n        HEAP[output|36] = H4l>>>24;\n        HEAP[output|37] = H4l>>>16&255;\n        HEAP[output|38] = H4l>>>8&255;\n        HEAP[output|39] = H4l&255;\n        HEAP[output|40] = H5h>>>24;\n        HEAP[output|41] = H5h>>>16&255;\n        HEAP[output|42] = H5h>>>8&255;\n        HEAP[output|43] = H5h&255;\n        HEAP[output|44] = H5l>>>24;\n        HEAP[output|45] = H5l>>>16&255;\n        HEAP[output|46] = H5l>>>8&255;\n        HEAP[output|47] = H5l&255;\n        HEAP[output|48] = H6h>>>24;\n        HEAP[output|49] = H6h>>>16&255;\n        HEAP[output|50] = H6h>>>8&255;\n        HEAP[output|51] = H6h&255;\n        HEAP[output|52] = H6l>>>24;\n        HEAP[output|53] = H6l>>>16&255;\n        HEAP[output|54] = H6l>>>8&255;\n        HEAP[output|55] = H6l&255;\n        HEAP[output|56] = H7h>>>24;\n        HEAP[output|57] = H7h>>>16&255;\n        HEAP[output|58] = H7h>>>8&255;\n        HEAP[output|59] = H7h&255;\n        HEAP[output|60] = H7l>>>24;\n        HEAP[output|61] = H7l>>>16&255;\n        HEAP[output|62] = H7l>>>8&255;\n        HEAP[output|63] = H7l&255;\n    }\n\n    function reset () {\n        H0h = 0x6a09e667;\n        H0l = 0xf3bcc908;\n        H1h = 0xbb67ae85;\n        H1l = 0x84caa73b;\n        H2h = 0x3c6ef372;\n        H2l = 0xfe94f82b;\n        H3h = 0xa54ff53a;\n        H3l = 0x5f1d36f1;\n        H4h = 0x510e527f;\n        H4l = 0xade682d1;\n        H5h = 0x9b05688c;\n        H5l = 0x2b3e6c1f;\n        H6h = 0x1f83d9ab;\n        H6l = 0xfb41bd6b;\n        H7h = 0x5be0cd19;\n        H7l = 0x137e2179;\n\n        TOTAL0 = TOTAL1 = 0;\n    }\n\n    function init ( h0h, h0l, h1h, h1l, h2h, h2l, h3h, h3l, h4h, h4l, h5h, h5l, h6h, h6l, h7h, h7l, total0, total1 ) {\n        h0h = h0h|0;\n        h0l = h0l|0;\n        h1h = h1h|0;\n        h1l = h1l|0;\n        h2h = h2h|0;\n        h2l = h2l|0;\n        h3h = h3h|0;\n        h3l = h3l|0;\n        h4h = h4h|0;\n        h4l = h4l|0;\n        h5h = h5h|0;\n        h5l = h5l|0;\n        h6h = h6h|0;\n        h6l = h6l|0;\n        h7h = h7h|0;\n        h7l = h7l|0;\n        total0 = total0|0;\n        total1 = total1|0;\n\n        H0h = h0h;\n        H0l = h0l;\n        H1h = h1h;\n        H1l = h1l;\n        H2h = h2h;\n        H2l = h2l;\n        H3h = h3h;\n        H3l = h3l;\n        H4h = h4h;\n        H4l = h4l;\n        H5h = h5h;\n        H5l = h5l;\n        H6h = h6h;\n        H6l = h6l;\n        H7h = h7h;\n        H7l = h7l;\n        TOTAL0 = total0;\n        TOTAL1 = total1;\n    }\n\n    // offset — multiple of 128\n    function process ( offset, length ) {\n        offset = offset|0;\n        length = length|0;\n\n        var hashed = 0;\n\n        if ( offset & 127 )\n            return -1;\n\n        while ( (length|0) >= 128 ) {\n            _core_heap(offset);\n\n            offset = ( offset + 128 )|0;\n            length = ( length - 128 )|0;\n\n            hashed = ( hashed + 128 )|0;\n        }\n\n        TOTAL0 = ( TOTAL0 + hashed )|0;\n        if ( TOTAL0>>>0 < hashed>>>0 ) TOTAL1 = ( TOTAL1 + 1 )|0;\n\n        return hashed|0;\n    }\n\n    // offset — multiple of 128\n    // output — multiple of 64\n    function finish ( offset, length, output ) {\n        offset = offset|0;\n        length = length|0;\n        output = output|0;\n\n        var hashed = 0,\n            i = 0;\n\n        if ( offset & 127 )\n            return -1;\n\n        if ( ~output )\n            if ( output & 63 )\n                return -1;\n\n        if ( (length|0) >= 128 ) {\n            hashed = process( offset, length )|0;\n            if ( (hashed|0) == -1 )\n                return -1;\n\n            offset = ( offset + hashed )|0;\n            length = ( length - hashed )|0;\n        }\n\n        hashed = ( hashed + length )|0;\n        TOTAL0 = ( TOTAL0 + length )|0;\n        if ( TOTAL0>>>0 < length>>>0 ) TOTAL1 = ( TOTAL1 + 1 )|0;\n\n        HEAP[offset|length] = 0x80;\n\n        if ( (length|0) >= 112 ) {\n            for ( i = (length+1)|0; (i|0) < 128; i = (i+1)|0 )\n                HEAP[offset|i] = 0x00;\n\n            _core_heap(offset);\n\n            length = 0;\n\n            HEAP[offset|0] = 0;\n        }\n\n        for ( i = (length+1)|0; (i|0) < 123; i = (i+1)|0 )\n            HEAP[offset|i] = 0;\n\n        HEAP[offset|120] = TOTAL1>>>21&255;\n        HEAP[offset|121] = TOTAL1>>>13&255;\n        HEAP[offset|122] = TOTAL1>>>5&255;\n        HEAP[offset|123] = TOTAL1<<3&255 | TOTAL0>>>29;\n        HEAP[offset|124] = TOTAL0>>>21&255;\n        HEAP[offset|125] = TOTAL0>>>13&255;\n        HEAP[offset|126] = TOTAL0>>>5&255;\n        HEAP[offset|127] = TOTAL0<<3&255;\n        _core_heap(offset);\n\n        if ( ~output )\n            _state_to_heap(output);\n\n        return hashed|0;\n    }\n\n    function hmac_reset () {\n        H0h = I0h;\n        H0l = I0l;\n        H1h = I1h;\n        H1l = I1l;\n        H2h = I2h;\n        H2l = I2l;\n        H3h = I3h;\n        H3l = I3l;\n        H4h = I4h;\n        H4l = I4l;\n        H5h = I5h;\n        H5l = I5l;\n        H6h = I6h;\n        H6l = I6l;\n        H7h = I7h;\n        H7l = I7l;\n        TOTAL0 = 128;\n        TOTAL1 = 0;\n    }\n\n    function _hmac_opad () {\n        H0h = O0h;\n        H0l = O0l;\n        H1h = O1h;\n        H1l = O1l;\n        H2h = O2h;\n        H2l = O2l;\n        H3h = O3h;\n        H3l = O3l;\n        H4h = O4h;\n        H4l = O4l;\n        H5h = O5h;\n        H5l = O5l;\n        H6h = O6h;\n        H6l = O6l;\n        H7h = O7h;\n        H7l = O7l;\n        TOTAL0 = 128;\n        TOTAL1 = 0;\n    }\n\n    function hmac_init ( p0h, p0l, p1h, p1l, p2h, p2l, p3h, p3l, p4h, p4l, p5h, p5l, p6h, p6l, p7h, p7l, p8h, p8l, p9h, p9l, p10h, p10l, p11h, p11l, p12h, p12l, p13h, p13l, p14h, p14l, p15h, p15l ) {\n        p0h = p0h|0;\n        p0l = p0l|0;\n        p1h = p1h|0;\n        p1l = p1l|0;\n        p2h = p2h|0;\n        p2l = p2l|0;\n        p3h = p3h|0;\n        p3l = p3l|0;\n        p4h = p4h|0;\n        p4l = p4l|0;\n        p5h = p5h|0;\n        p5l = p5l|0;\n        p6h = p6h|0;\n        p6l = p6l|0;\n        p7h = p7h|0;\n        p7l = p7l|0;\n        p8h = p8h|0;\n        p8l = p8l|0;\n        p9h = p9h|0;\n        p9l = p9l|0;\n        p10h = p10h|0;\n        p10l = p10l|0;\n        p11h = p11h|0;\n        p11l = p11l|0;\n        p12h = p12h|0;\n        p12l = p12l|0;\n        p13h = p13h|0;\n        p13l = p13l|0;\n        p14h = p14h|0;\n        p14l = p14l|0;\n        p15h = p15h|0;\n        p15l = p15l|0;\n\n        // opad\n        reset();\n        _core(\n            p0h ^ 0x5c5c5c5c,\n            p0l ^ 0x5c5c5c5c,\n            p1h ^ 0x5c5c5c5c,\n            p1l ^ 0x5c5c5c5c,\n            p2h ^ 0x5c5c5c5c,\n            p2l ^ 0x5c5c5c5c,\n            p3h ^ 0x5c5c5c5c,\n            p3l ^ 0x5c5c5c5c,\n            p4h ^ 0x5c5c5c5c,\n            p4l ^ 0x5c5c5c5c,\n            p5h ^ 0x5c5c5c5c,\n            p5l ^ 0x5c5c5c5c,\n            p6h ^ 0x5c5c5c5c,\n            p6l ^ 0x5c5c5c5c,\n            p7h ^ 0x5c5c5c5c,\n            p7l ^ 0x5c5c5c5c,\n            p8h ^ 0x5c5c5c5c,\n            p8l ^ 0x5c5c5c5c,\n            p9h ^ 0x5c5c5c5c,\n            p9l ^ 0x5c5c5c5c,\n            p10h ^ 0x5c5c5c5c,\n            p10l ^ 0x5c5c5c5c,\n            p11h ^ 0x5c5c5c5c,\n            p11l ^ 0x5c5c5c5c,\n            p12h ^ 0x5c5c5c5c,\n            p12l ^ 0x5c5c5c5c,\n            p13h ^ 0x5c5c5c5c,\n            p13l ^ 0x5c5c5c5c,\n            p14h ^ 0x5c5c5c5c,\n            p14l ^ 0x5c5c5c5c,\n            p15h ^ 0x5c5c5c5c,\n            p15l ^ 0x5c5c5c5c\n        );\n        O0h = H0h;\n        O0l = H0l;\n        O1h = H1h;\n        O1l = H1l;\n        O2h = H2h;\n        O2l = H2l;\n        O3h = H3h;\n        O3l = H3l;\n        O4h = H4h;\n        O4l = H4l;\n        O5h = H5h;\n        O5l = H5l;\n        O6h = H6h;\n        O6l = H6l;\n        O7h = H7h;\n        O7l = H7l;\n\n        // ipad\n        reset();\n        _core(\n           p0h ^ 0x36363636,\n           p0l ^ 0x36363636,\n           p1h ^ 0x36363636,\n           p1l ^ 0x36363636,\n           p2h ^ 0x36363636,\n           p2l ^ 0x36363636,\n           p3h ^ 0x36363636,\n           p3l ^ 0x36363636,\n           p4h ^ 0x36363636,\n           p4l ^ 0x36363636,\n           p5h ^ 0x36363636,\n           p5l ^ 0x36363636,\n           p6h ^ 0x36363636,\n           p6l ^ 0x36363636,\n           p7h ^ 0x36363636,\n           p7l ^ 0x36363636,\n           p8h ^ 0x36363636,\n           p8l ^ 0x36363636,\n           p9h ^ 0x36363636,\n           p9l ^ 0x36363636,\n           p10h ^ 0x36363636,\n           p10l ^ 0x36363636,\n           p11h ^ 0x36363636,\n           p11l ^ 0x36363636,\n           p12h ^ 0x36363636,\n           p12l ^ 0x36363636,\n           p13h ^ 0x36363636,\n           p13l ^ 0x36363636,\n           p14h ^ 0x36363636,\n           p14l ^ 0x36363636,\n           p15h ^ 0x36363636,\n           p15l ^ 0x36363636\n        );\n        I0h = H0h;\n        I0l = H0l;\n        I1h = H1h;\n        I1l = H1l;\n        I2h = H2h;\n        I2l = H2l;\n        I3h = H3h;\n        I3l = H3l;\n        I4h = H4h;\n        I4l = H4l;\n        I5h = H5h;\n        I5l = H5l;\n        I6h = H6h;\n        I6l = H6l;\n        I7h = H7h;\n        I7l = H7l;\n\n        TOTAL0 = 128;\n        TOTAL1 = 0;\n    }\n\n    // offset — multiple of 128\n    // output — multiple of 64\n    function hmac_finish ( offset, length, output ) {\n        offset = offset|0;\n        length = length|0;\n        output = output|0;\n\n        var t0h = 0, t0l = 0, t1h = 0, t1l = 0, t2h = 0, t2l = 0, t3h = 0, t3l = 0,\n            t4h = 0, t4l = 0, t5h = 0, t5l = 0, t6h = 0, t6l = 0, t7h = 0, t7l = 0,\n            hashed = 0;\n\n        if ( offset & 127 )\n            return -1;\n\n        if ( ~output )\n            if ( output & 63 )\n                return -1;\n\n        hashed = finish( offset, length, -1 )|0;\n        t0h = H0h;\n        t0l = H0l;\n        t1h = H1h;\n        t1l = H1l;\n        t2h = H2h;\n        t2l = H2l;\n        t3h = H3h;\n        t3l = H3l;\n        t4h = H4h;\n        t4l = H4l;\n        t5h = H5h;\n        t5l = H5l;\n        t6h = H6h;\n        t6l = H6l;\n        t7h = H7h;\n        t7l = H7l;\n\n        _hmac_opad();\n        _core( t0h, t0l, t1h, t1l, t2h, t2l, t3h, t3l, t4h, t4l, t5h, t5l, t6h, t6l, t7h, t7l, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536 );\n\n        if ( ~output )\n            _state_to_heap(output);\n\n        return hashed|0;\n    }\n\n    // salt is assumed to be already processed\n    // offset — multiple of 128\n    // output — multiple of 64\n    function pbkdf2_generate_block ( offset, length, block, count, output ) {\n        offset = offset|0;\n        length = length|0;\n        block = block|0;\n        count = count|0;\n        output = output|0;\n\n        var h0h = 0, h0l = 0, h1h = 0, h1l = 0, h2h = 0, h2l = 0, h3h = 0, h3l = 0,\n            h4h = 0, h4l = 0, h5h = 0, h5l = 0, h6h = 0, h6l = 0, h7h = 0, h7l = 0,\n            t0h = 0, t0l = 0, t1h = 0, t1l = 0, t2h = 0, t2l = 0, t3h = 0, t3l = 0,\n            t4h = 0, t4l = 0, t5h = 0, t5l = 0, t6h = 0, t6l = 0, t7h = 0, t7l = 0;\n\n        if ( offset & 127 )\n            return -1;\n\n        if ( ~output )\n            if ( output & 63 )\n                return -1;\n\n        // pad block number into heap\n        // FIXME probable OOB write\n        HEAP[(offset+length)|0]   = block>>>24;\n        HEAP[(offset+length+1)|0] = block>>>16&255;\n        HEAP[(offset+length+2)|0] = block>>>8&255;\n        HEAP[(offset+length+3)|0] = block&255;\n\n        // finish first iteration\n        hmac_finish( offset, (length+4)|0, -1 )|0;\n\n        h0h = t0h = H0h;\n        h0l = t0l = H0l;\n        h1h = t1h = H1h;\n        h1l = t1l = H1l;\n        h2h = t2h = H2h;\n        h2l = t2l = H2l;\n        h3h = t3h = H3h;\n        h3l = t3l = H3l;\n        h4h = t4h = H4h;\n        h4l = t4l = H4l;\n        h5h = t5h = H5h;\n        h5l = t5l = H5l;\n        h6h = t6h = H6h;\n        h6l = t6l = H6l;\n        h7h = t7h = H7h;\n        h7l = t7l = H7l;\n\n        count = (count-1)|0;\n\n        // perform the rest iterations\n        while ( (count|0) > 0 ) {\n            hmac_reset();\n            _core( t0h, t0l, t1h, t1l, t2h, t2l, t3h, t3l, t4h, t4l, t5h, t5l, t6h, t6l, t7h, t7l, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536 );\n\n            t0h = H0h;\n            t0l = H0l;\n            t1h = H1h;\n            t1l = H1l;\n            t2h = H2h;\n            t2l = H2l;\n            t3h = H3h;\n            t3l = H3l;\n            t4h = H4h;\n            t4l = H4l;\n            t5h = H5h;\n            t5l = H5l;\n            t6h = H6h;\n            t6l = H6l;\n            t7h = H7h;\n            t7l = H7l;\n\n            _hmac_opad();\n            _core( t0h, t0l, t1h, t1l, t2h, t2l, t3h, t3l, t4h, t4l, t5h, t5l, t6h, t6l, t7h, t7l, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536 );\n\n            t0h = H0h;\n            t0l = H0l;\n            t1h = H1h;\n            t1l = H1l;\n            t2h = H2h;\n            t2l = H2l;\n            t3h = H3h;\n            t3l = H3l;\n            t4h = H4h;\n            t4l = H4l;\n            t5h = H5h;\n            t5l = H5l;\n            t6h = H6h;\n            t6l = H6l;\n            t7h = H7h;\n            t7l = H7l;\n\n            h0h = h0h ^ H0h;\n            h0l = h0l ^ H0l;\n            h1h = h1h ^ H1h;\n            h1l = h1l ^ H1l;\n            h2h = h2h ^ H2h;\n            h2l = h2l ^ H2l;\n            h3h = h3h ^ H3h;\n            h3l = h3l ^ H3l;\n            h4h = h4h ^ H4h;\n            h4l = h4l ^ H4l;\n            h5h = h5h ^ H5h;\n            h5l = h5l ^ H5l;\n            h6h = h6h ^ H6h;\n            h6l = h6l ^ H6l;\n            h7h = h7h ^ H7h;\n            h7l = h7l ^ H7l;\n\n            count = (count-1)|0;\n        }\n\n        H0h = h0h;\n        H0l = h0l;\n        H1h = h1h;\n        H1l = h1l;\n        H2h = h2h;\n        H2l = h2l;\n        H3h = h3h;\n        H3l = h3l;\n        H4h = h4h;\n        H4l = h4l;\n        H5h = h5h;\n        H5l = h5l;\n        H6h = h6h;\n        H6l = h6l;\n        H7h = h7h;\n        H7l = h7l;\n\n        if ( ~output )\n            _state_to_heap(output);\n\n        return 0;\n    }\n\n    return {\n        // SHA512\n        reset: reset,\n        init: init,\n        process: process,\n        finish: finish,\n\n        // HMAC-SHA512\n        hmac_reset: hmac_reset,\n        hmac_init: hmac_init,\n        hmac_finish: hmac_finish,\n\n        // PBKDF2-HMAC-SHA512\n        pbkdf2_generate_block: pbkdf2_generate_block\n    }\n}\n","import { hash_finish, hash_process, hash_reset } from '../hash';\nimport { sha512_asm } from './sha512.asm';\nimport { _heap_init } from '../../utils';\n\nexport var _sha512_block_size = 128;\nexport var _sha512_hash_size = 64;\n\nexport function sha512_constructor(options) {\n  options = options || {};\n\n  this.heap = _heap_init(Uint8Array, options.heapx);\n  this.asm = options.asm || sha512_asm({ Uint8Array: Uint8Array }, null, this.heap.buffer);\n\n  this.BLOCK_SIZE = _sha512_block_size;\n  this.HASH_SIZE = _sha512_hash_size;\n\n  this.reset();\n}\n\nsha512_constructor.BLOCK_SIZE = _sha512_block_size;\nsha512_constructor.HASH_SIZE = _sha512_hash_size;\nsha512_constructor.NAME = 'sha512';\n\nvar sha512_prototype = sha512_constructor.prototype;\nsha512_prototype.reset = hash_reset;\nsha512_prototype.process = hash_process;\nsha512_prototype.finish = hash_finish;\n\nvar sha512_instance = null;\n\nexport function get_sha512_instance() {\n  if (sha512_instance === null) sha512_instance = new sha512_constructor({ heapSize: 0x100000 });\n  return sha512_instance;\n}\n","/**\n * SHA512 exports\n */\n\nimport { get_sha512_instance, sha512_constructor } from './sha512';\nimport { bytes_to_base64, bytes_to_hex } from '../../utils';\n\nfunction sha512_bytes(data) {\n  if (data === undefined) throw new SyntaxError('data required');\n  return get_sha512_instance()\n    .reset()\n    .process(data)\n    .finish().result;\n}\n\nfunction sha512_hex(data) {\n  var result = sha512_bytes(data);\n  return bytes_to_hex(result);\n}\n\nfunction sha512_base64(data) {\n  var result = sha512_bytes(data);\n  return bytes_to_base64(result);\n}\n\nexport var SHA512 = sha512_constructor;\n\nSHA512.bytes = sha512_bytes;\nSHA512.hex = sha512_hex;\nSHA512.base64 = sha512_base64;\n","import { hmac_constructor, _hmac_key } from './hmac';\nimport { _sha1_hash_size, get_sha1_instance, sha1_constructor } from '../hash/sha1/sha1';\nimport { is_string, string_to_bytes } from '../utils';\nimport { IllegalStateError } from '../errors';\n\nexport class hmac_sha1_constructor extends hmac_constructor {\n  constructor(options) {\n    options = options || {};\n\n    if (!(options.hash instanceof sha1_constructor)) options.hash = get_sha1_instance();\n\n    super(options);\n  }\n\n  reset(options) {\n    options = options || {};\n\n    this.result = null;\n    this.hash.reset();\n\n    var password = options.password;\n    if (password !== undefined) {\n      if (is_string(password)) password = string_to_bytes(password);\n\n      var key = (this.key = _hmac_key(this.hash, password));\n      this.hash\n        .reset()\n        .asm.hmac_init(\n          (key[0] << 24) | (key[1] << 16) | (key[2] << 8) | key[3],\n          (key[4] << 24) | (key[5] << 16) | (key[6] << 8) | key[7],\n          (key[8] << 24) | (key[9] << 16) | (key[10] << 8) | key[11],\n          (key[12] << 24) | (key[13] << 16) | (key[14] << 8) | key[15],\n          (key[16] << 24) | (key[17] << 16) | (key[18] << 8) | key[19],\n          (key[20] << 24) | (key[21] << 16) | (key[22] << 8) | key[23],\n          (key[24] << 24) | (key[25] << 16) | (key[26] << 8) | key[27],\n          (key[28] << 24) | (key[29] << 16) | (key[30] << 8) | key[31],\n          (key[32] << 24) | (key[33] << 16) | (key[34] << 8) | key[35],\n          (key[36] << 24) | (key[37] << 16) | (key[38] << 8) | key[39],\n          (key[40] << 24) | (key[41] << 16) | (key[42] << 8) | key[43],\n          (key[44] << 24) | (key[45] << 16) | (key[46] << 8) | key[47],\n          (key[48] << 24) | (key[49] << 16) | (key[50] << 8) | key[51],\n          (key[52] << 24) | (key[53] << 16) | (key[54] << 8) | key[55],\n          (key[56] << 24) | (key[57] << 16) | (key[58] << 8) | key[59],\n          (key[60] << 24) | (key[61] << 16) | (key[62] << 8) | key[63],\n        );\n    } else {\n      this.hash.asm.hmac_reset();\n    }\n\n    var verify = options.verify;\n    if (verify !== undefined) {\n      this._hmac_init_verify(verify);\n    } else {\n      this.verify = null;\n    }\n\n    return this;\n  }\n\n  /**\n   * @return {hmac_sha1_constructor}\n   */\n  finish() {\n    if (this.key === null) throw new IllegalStateError('no key is associated with the instance');\n\n    if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n    var hash = this.hash,\n      asm = this.hash.asm,\n      heap = this.hash.heap;\n\n    asm.hmac_finish(hash.pos, hash.len, 0);\n\n    var verify = this.verify;\n    var result = new Uint8Array(_sha1_hash_size);\n    result.set(heap.subarray(0, _sha1_hash_size));\n\n    if (verify) {\n      if (verify.length === result.length) {\n        var diff = 0;\n        for (var i = 0; i < verify.length; i++) {\n          diff |= verify[i] ^ result[i];\n        }\n        this.result = !diff;\n      } else {\n        this.result = false;\n      }\n    } else {\n      this.result = result;\n    }\n\n    return this;\n  }\n}\n\nhmac_sha1_constructor.BLOCK_SIZE = sha1_constructor.BLOCK_SIZE;\nhmac_sha1_constructor.HMAC_SIZE = sha1_constructor.HASH_SIZE;\n\nvar hmac_sha1_instance = null;\n\n/**\n * @return {hmac_sha1_constructor}\n */\nexport function get_hmac_sha1_instance() {\n  if (hmac_sha1_instance === null) hmac_sha1_instance = new hmac_sha1_constructor();\n  return hmac_sha1_instance;\n}\n","/**\n * HMAC-SHA1 exports\n */\n\nimport { get_hmac_sha1_instance, hmac_sha1_constructor } from './hmac-sha1';\nimport { bytes_to_base64, bytes_to_hex } from '../utils';\n\nfunction hmac_sha1_bytes(data, password) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (password === undefined) throw new SyntaxError('password required');\n  return get_hmac_sha1_instance()\n    .reset({ password: password })\n    .process(data)\n    .finish().result;\n}\n\nfunction hmac_sha1_hex(data, password) {\n  var result = hmac_sha1_bytes(data, password);\n  return bytes_to_hex(result);\n}\n\nfunction hmac_sha1_base64(data, password) {\n  var result = hmac_sha1_bytes(data, password);\n  return bytes_to_base64(result);\n}\n\nexport var HMAC_SHA1 = hmac_sha1_constructor;\n\nHMAC_SHA1.bytes = hmac_sha1_bytes;\nHMAC_SHA1.hex = hmac_sha1_hex;\nHMAC_SHA1.base64 = hmac_sha1_base64;\n","/**\n * HMAC-SHA256 exports\n */\n\nimport { get_hmac_sha256_instance, hmac_sha256_constructor } from './hmac-sha256';\nimport { bytes_to_base64, bytes_to_hex } from '../utils';\n\nfunction hmac_sha256_bytes(data, password) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (password === undefined) throw new SyntaxError('password required');\n  return get_hmac_sha256_instance()\n    .reset({ password: password })\n    .process(data)\n    .finish().result;\n}\n\nfunction hmac_sha256_hex(data, password) {\n  var result = hmac_sha256_bytes(data, password);\n  return bytes_to_hex(result);\n}\n\nfunction hmac_sha256_base64(data, password) {\n  var result = hmac_sha256_bytes(data, password);\n  return bytes_to_base64(result);\n}\n\nexport var HMAC_SHA256 = hmac_sha256_constructor;\n\nHMAC_SHA256.bytes = hmac_sha256_bytes;\nHMAC_SHA256.hex = hmac_sha256_hex;\nHMAC_SHA256.base64 = hmac_sha256_base64;\n","import { _sha512_hash_size, get_sha512_instance, sha512_constructor } from '../hash/sha512/sha512';\nimport { hmac_constructor, _hmac_key } from './hmac';\nimport { is_string, string_to_bytes } from '../utils';\nimport { IllegalStateError } from '../errors';\n\nexport class hmac_sha512_constructor extends hmac_constructor {\n  constructor(options) {\n    options = options || {};\n\n    if (!(options.hash instanceof sha512_constructor)) options.hash = get_sha512_instance();\n\n    super(options);\n  }\n\n  reset(options) {\n    options = options || {};\n\n    this.result = null;\n    this.hash.reset();\n\n    var password = options.password;\n    if (password !== undefined) {\n      if (is_string(password)) password = string_to_bytes(password);\n\n      var key = (this.key = _hmac_key(this.hash, password));\n      this.hash\n        .reset()\n        .asm.hmac_init(\n          (key[0] << 24) | (key[1] << 16) | (key[2] << 8) | key[3],\n          (key[4] << 24) | (key[5] << 16) | (key[6] << 8) | key[7],\n          (key[8] << 24) | (key[9] << 16) | (key[10] << 8) | key[11],\n          (key[12] << 24) | (key[13] << 16) | (key[14] << 8) | key[15],\n          (key[16] << 24) | (key[17] << 16) | (key[18] << 8) | key[19],\n          (key[20] << 24) | (key[21] << 16) | (key[22] << 8) | key[23],\n          (key[24] << 24) | (key[25] << 16) | (key[26] << 8) | key[27],\n          (key[28] << 24) | (key[29] << 16) | (key[30] << 8) | key[31],\n          (key[32] << 24) | (key[33] << 16) | (key[34] << 8) | key[35],\n          (key[36] << 24) | (key[37] << 16) | (key[38] << 8) | key[39],\n          (key[40] << 24) | (key[41] << 16) | (key[42] << 8) | key[43],\n          (key[44] << 24) | (key[45] << 16) | (key[46] << 8) | key[47],\n          (key[48] << 24) | (key[49] << 16) | (key[50] << 8) | key[51],\n          (key[52] << 24) | (key[53] << 16) | (key[54] << 8) | key[55],\n          (key[56] << 24) | (key[57] << 16) | (key[58] << 8) | key[59],\n          (key[60] << 24) | (key[61] << 16) | (key[62] << 8) | key[63],\n          (key[64] << 24) | (key[65] << 16) | (key[66] << 8) | key[67],\n          (key[68] << 24) | (key[69] << 16) | (key[70] << 8) | key[71],\n          (key[72] << 24) | (key[73] << 16) | (key[74] << 8) | key[75],\n          (key[76] << 24) | (key[77] << 16) | (key[78] << 8) | key[79],\n          (key[80] << 24) | (key[81] << 16) | (key[82] << 8) | key[83],\n          (key[84] << 24) | (key[85] << 16) | (key[86] << 8) | key[87],\n          (key[88] << 24) | (key[89] << 16) | (key[90] << 8) | key[91],\n          (key[92] << 24) | (key[93] << 16) | (key[94] << 8) | key[95],\n          (key[96] << 24) | (key[97] << 16) | (key[98] << 8) | key[99],\n          (key[100] << 24) | (key[101] << 16) | (key[102] << 8) | key[103],\n          (key[104] << 24) | (key[105] << 16) | (key[106] << 8) | key[107],\n          (key[108] << 24) | (key[109] << 16) | (key[110] << 8) | key[111],\n          (key[112] << 24) | (key[113] << 16) | (key[114] << 8) | key[115],\n          (key[116] << 24) | (key[117] << 16) | (key[118] << 8) | key[119],\n          (key[120] << 24) | (key[121] << 16) | (key[122] << 8) | key[123],\n          (key[124] << 24) | (key[125] << 16) | (key[126] << 8) | key[127],\n        );\n    } else {\n      this.hash.asm.hmac_reset();\n    }\n\n    var verify = options.verify;\n    if (verify !== undefined) {\n      this._hmac_init_verify(verify);\n    } else {\n      this.verify = null;\n    }\n\n    return this;\n  }\n\n  /**\n   * @return {hmac_sha512_constructor}\n   */\n  finish() {\n    if (this.key === null) throw new IllegalStateError('no key is associated with the instance');\n\n    if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n    var hash = this.hash,\n      asm = this.hash.asm,\n      heap = this.hash.heap;\n\n    asm.hmac_finish(hash.pos, hash.len, 0);\n\n    var verify = this.verify;\n    var result = new Uint8Array(_sha512_hash_size);\n    result.set(heap.subarray(0, _sha512_hash_size));\n\n    if (verify) {\n      if (verify.length === result.length) {\n        var diff = 0;\n        for (var i = 0; i < verify.length; i++) {\n          diff |= verify[i] ^ result[i];\n        }\n        this.result = !diff;\n      } else {\n        this.result = false;\n      }\n    } else {\n      this.result = result;\n    }\n\n    return this;\n  }\n}\n\nhmac_sha512_constructor.BLOCK_SIZE = sha512_constructor.BLOCK_SIZE;\nhmac_sha512_constructor.HMAC_SIZE = sha512_constructor.HASH_SIZE;\n\nvar hmac_sha512_instance = null;\n\n/**\n * @return {get_hmac_sha512_instance}\n */\nexport function get_hmac_sha512_instance() {\n  if (hmac_sha512_instance === null) hmac_sha512_instance = new hmac_sha512_constructor();\n  return hmac_sha512_instance;\n}\n","/**\n * HMAC-SHA512 exports\n */\n\nimport { get_hmac_sha512_instance, hmac_sha512_constructor } from './hmac-sha512';\nimport { bytes_to_base64, bytes_to_hex } from '../utils';\n\nfunction hmac_sha512_bytes(data, password) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (password === undefined) throw new SyntaxError('password required');\n  return get_hmac_sha512_instance()\n    .reset({ password: password })\n    .process(data)\n    .finish().result;\n}\n\nfunction hmac_sha512_hex(data, password) {\n  var result = hmac_sha512_bytes(data, password);\n  return bytes_to_hex(result);\n}\n\nfunction hmac_sha512_base64(data, password) {\n  var result = hmac_sha512_bytes(data, password);\n  return bytes_to_base64(result);\n}\n\nexport var HMAC_SHA512 = hmac_sha512_constructor;\n\nHMAC_SHA512.bytes = hmac_sha512_bytes;\nHMAC_SHA512.hex = hmac_sha512_hex;\nHMAC_SHA512.base64 = hmac_sha512_base64;\n","import { get_hmac_sha1_instance, hmac_sha1_constructor } from '../hmac/hmac-sha1';\nimport { pbkdf2_constructor } from './pbkdf2';\nimport { is_string } from '../utils';\nimport { IllegalArgumentError, IllegalStateError } from '../errors';\n\nexport class pbkdf2_hmac_sha1_constructor extends pbkdf2_constructor {\n  constructor(options) {\n    options = options || {};\n\n    if (!(options.hmac instanceof hmac_sha1_constructor)) options.hmac = get_hmac_sha1_instance();\n\n    super(options);\n  }\n\n  generate(salt, count, length) {\n    if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n    if (!salt && !is_string(salt)) throw new IllegalArgumentError(\"bad 'salt' value\");\n\n    count = count || this.count;\n    length = length || this.length;\n\n    this.result = new Uint8Array(length);\n\n    var blocks = Math.ceil(length / this.hmac.HMAC_SIZE);\n\n    for (var i = 1; i <= blocks; ++i) {\n      var j = (i - 1) * this.hmac.HMAC_SIZE;\n      var l = (i < blocks ? 0 : length % this.hmac.HMAC_SIZE) || this.hmac.HMAC_SIZE;\n\n      this.hmac.reset().process(salt);\n      this.hmac.hash.asm.pbkdf2_generate_block(this.hmac.hash.pos, this.hmac.hash.len, i, count, 0);\n\n      this.result.set(this.hmac.hash.heap.subarray(0, l), j);\n    }\n\n    return this;\n  }\n}\n\nvar pbkdf2_hmac_sha1_instance = null;\n\nexport function get_pbkdf2_hmac_sha1_instance() {\n  if (pbkdf2_hmac_sha1_instance === null) pbkdf2_hmac_sha1_instance = new pbkdf2_hmac_sha1_constructor();\n  return pbkdf2_hmac_sha1_instance;\n}\n","/**\n * PBKDF2-HMAC-SHA1 exports\n */\n\nimport { bytes_to_base64, bytes_to_hex } from '../utils';\nimport { get_pbkdf2_hmac_sha1_instance } from './pbkdf2-hmac-sha1';\n\nfunction pbkdf2_hmac_sha1_bytes(password, salt, iterations, dklen) {\n  if (password === undefined) throw new SyntaxError('password required');\n  if (salt === undefined) throw new SyntaxError('salt required');\n  return get_pbkdf2_hmac_sha1_instance()\n    .reset({ password: password })\n    .generate(salt, iterations, dklen).result;\n}\n\nfunction pbkdf2_hmac_sha1_hex(password, salt, iterations, dklen) {\n  var result = pbkdf2_hmac_sha1_bytes(password, salt, iterations, dklen);\n  return bytes_to_hex(result);\n}\n\nfunction pbkdf2_hmac_sha1_base64(password, salt, iterations, dklen) {\n  var result = pbkdf2_hmac_sha1_bytes(password, salt, iterations, dklen);\n  return bytes_to_base64(result);\n}\n\nexport var PBKDF2 = {\n  bytes: pbkdf2_hmac_sha1_bytes,\n  hex: pbkdf2_hmac_sha1_hex,\n  base64: pbkdf2_hmac_sha1_base64,\n};\n\nexport var PBKDF2_HMAC_SHA1 = {\n  bytes: pbkdf2_hmac_sha1_bytes,\n  hex: pbkdf2_hmac_sha1_hex,\n  base64: pbkdf2_hmac_sha1_base64,\n};\n","/**\n * PBKDF2-HMAC-SHA256 exports\n */\n\nimport { get_pbkdf2_hmac_sha256_instance } from './pbkdf2-hmac-sha256';\nimport { bytes_to_base64, bytes_to_hex } from '../utils';\n\nfunction pbkdf2_hmac_sha256_bytes(password, salt, iterations, dklen) {\n  if (password === undefined) throw new SyntaxError('password required');\n  if (salt === undefined) throw new SyntaxError('salt required');\n  return get_pbkdf2_hmac_sha256_instance()\n    .reset({ password: password })\n    .generate(salt, iterations, dklen).result;\n}\n\nfunction pbkdf2_hmac_sha256_hex(password, salt, iterations, dklen) {\n  var result = pbkdf2_hmac_sha256_bytes(password, salt, iterations, dklen);\n  return bytes_to_hex(result);\n}\n\nfunction pbkdf2_hmac_sha256_base64(password, salt, iterations, dklen) {\n  var result = pbkdf2_hmac_sha256_bytes(password, salt, iterations, dklen);\n  return bytes_to_base64(result);\n}\n\nexport var PBKDF2_HMAC_SHA256 = {\n  bytes: pbkdf2_hmac_sha256_bytes,\n  hex: pbkdf2_hmac_sha256_hex,\n  base64: pbkdf2_hmac_sha256_base64,\n};\n","import { pbkdf2_constructor } from './pbkdf2';\nimport { get_hmac_sha512_instance, hmac_sha512_constructor } from '../hmac/hmac-sha512';\nimport { is_string } from '../utils';\nimport { IllegalArgumentError, IllegalStateError } from '../errors';\n\nexport class pbkdf2_hmac_sha512_constructor extends pbkdf2_constructor {\n  constructor(options) {\n    options = options || {};\n\n    if (!(options.hmac instanceof hmac_sha512_constructor)) options.hmac = get_hmac_sha512_instance();\n\n    super(options);\n  }\n\n  /**\n   * @param {Uint8Array} salt\n   * @param {number} count\n   * @param {number} length\n   * @return {pbkdf2_hmac_sha512_constructor}\n   */\n  generate(salt, count, length) {\n    if (this.result !== null) throw new IllegalStateError('state must be reset before processing new data');\n\n    if (!salt && !is_string(salt)) throw new IllegalArgumentError(\"bad 'salt' value\");\n\n    count = count || this.count;\n    length = length || this.length;\n\n    this.result = new Uint8Array(length);\n\n    var blocks = Math.ceil(length / this.hmac.HMAC_SIZE);\n\n    for (var i = 1; i <= blocks; ++i) {\n      var j = (i - 1) * this.hmac.HMAC_SIZE;\n      var l = (i < blocks ? 0 : length % this.hmac.HMAC_SIZE) || this.hmac.HMAC_SIZE;\n\n      this.hmac.reset().process(salt);\n      this.hmac.hash.asm.pbkdf2_generate_block(this.hmac.hash.pos, this.hmac.hash.len, i, count, 0);\n\n      this.result.set(this.hmac.hash.heap.subarray(0, l), j);\n    }\n\n    return this;\n  }\n}\n\nvar pbkdf2_hmac_sha512_instance = null;\n\n/**\n * @return {get_pbkdf2_hmac_sha512_instance}\n */\nexport function get_pbkdf2_hmac_sha512_instance() {\n  if (pbkdf2_hmac_sha512_instance === null) pbkdf2_hmac_sha512_instance = new pbkdf2_hmac_sha512_constructor();\n  return pbkdf2_hmac_sha512_instance;\n}\n","/**\n * PBKDF2-HMAC-SHA512 exports\n */\n\nimport { get_pbkdf2_hmac_sha512_instance } from './pbkdf2-hmac-sha512';\nimport { bytes_to_base64, bytes_to_hex } from '../utils';\n\nfunction pbkdf2_hmac_sha512_bytes(password, salt, iterations, dklen) {\n  if (password === undefined) throw new SyntaxError('password required');\n  if (salt === undefined) throw new SyntaxError('salt required');\n  return get_pbkdf2_hmac_sha512_instance()\n    .reset({ password: password })\n    .generate(salt, iterations, dklen).result;\n}\n\nfunction pbkdf2_hmac_sha512_hex(password, salt, iterations, dklen) {\n  var result = pbkdf2_hmac_sha512_bytes(password, salt, iterations, dklen);\n  return bytes_to_hex(result);\n}\n\nfunction pbkdf2_hmac_sha512_base64(password, salt, iterations, dklen) {\n  var result = pbkdf2_hmac_sha512_bytes(password, salt, iterations, dklen);\n  return bytes_to_base64(result);\n}\n\nexport var PBKDF2_HMAC_SHA512 = {\n  bytes: pbkdf2_hmac_sha512_bytes,\n  hex: pbkdf2_hmac_sha512_hex,\n  base64: pbkdf2_hmac_sha512_base64,\n};\n","import { BigNumber, is_big_number, Modulus } from '../bignum/bignum';\nimport { is_buffer, is_bytes, is_string, string_to_bytes } from '../utils';\nimport { IllegalStateError } from '../errors';\n\nexport function RSA(options) {\n  options = options || {};\n\n  this.key = null;\n  this.result = null;\n\n  this.reset(options);\n}\n\nexport function RSA_reset(options) {\n  options = options || {};\n\n  this.result = null;\n\n  var key = options.key;\n  if (key !== undefined) {\n    if (key instanceof Array) {\n      var l = key.length;\n      if (l !== 2 && l !== 3 && l !== 8) throw new SyntaxError('unexpected key type');\n\n      var k = [];\n      k[0] = new Modulus(new BigNumber(key[0]));\n      k[1] = new BigNumber(key[1]);\n      if (l > 2) {\n        k[2] = new BigNumber(key[2]);\n      }\n      if (l > 3) {\n        k[3] = new Modulus(new BigNumber(key[3]));\n        k[4] = new Modulus(new BigNumber(key[4]));\n        k[5] = new BigNumber(key[5]);\n        k[6] = new BigNumber(key[6]);\n        k[7] = new BigNumber(key[7]);\n      }\n\n      this.key = k;\n    } else {\n      throw new TypeError('unexpected key type');\n    }\n  }\n\n  return this;\n}\n\nexport function RSA_encrypt(data) {\n  if (!this.key) throw new IllegalStateError('no key is associated with the instance');\n\n  if (is_string(data)) data = string_to_bytes(data);\n\n  if (is_buffer(data)) data = new Uint8Array(data);\n\n  var msg;\n  if (is_bytes(data)) {\n    msg = new BigNumber(data);\n  } else if (is_big_number(data)) {\n    msg = data;\n  } else {\n    throw new TypeError('unexpected data type');\n  }\n\n  if (this.key[0].compare(msg) <= 0) throw new RangeError('data too large');\n\n  var m = this.key[0],\n    e = this.key[1];\n\n  var result = m.power(msg, e).toBytes();\n\n  var bytelen = (m.bitLength + 7) >> 3;\n  if (result.length < bytelen) {\n    var r = new Uint8Array(bytelen);\n    r.set(result, bytelen - result.length);\n    result = r;\n  }\n\n  this.result = result;\n\n  return this;\n}\n\nexport function RSA_decrypt(data) {\n  if (!this.key) throw new IllegalStateError('no key is associated with the instance');\n\n  if (this.key.length < 3) throw new IllegalStateError(\"key isn't suitable for decription\");\n\n  if (is_string(data)) data = string_to_bytes(data);\n\n  if (is_buffer(data)) data = new Uint8Array(data);\n\n  var msg;\n  if (is_bytes(data)) {\n    msg = new BigNumber(data);\n  } else if (is_big_number(data)) {\n    msg = data;\n  } else {\n    throw new TypeError('unexpected data type');\n  }\n\n  if (this.key[0].compare(msg) <= 0) throw new RangeError('data too large');\n\n  var result;\n  if (this.key.length > 3) {\n    var m = this.key[0],\n      p = this.key[3],\n      q = this.key[4],\n      dp = this.key[5],\n      dq = this.key[6],\n      u = this.key[7];\n\n    var x = p.power(msg, dp),\n      y = q.power(msg, dq);\n\n    var t = x.subtract(y);\n    while (t.sign < 0) t = t.add(p);\n\n    var h = p.reduce(u.multiply(t));\n\n    result = h\n      .multiply(q)\n      .add(y)\n      .clamp(m.bitLength)\n      .toBytes();\n  } else {\n    var m = this.key[0],\n      d = this.key[2];\n\n    result = m.power(msg, d).toBytes();\n  }\n\n  var bytelen = (m.bitLength + 7) >> 3;\n  if (result.length < bytelen) {\n    var r = new Uint8Array(bytelen);\n    r.set(result, bytelen - result.length);\n    result = r;\n  }\n\n  this.result = result;\n\n  return this;\n}\n\nvar RSA_prototype = RSA.prototype;\nRSA_prototype.reset = RSA_reset;\nRSA_prototype.encrypt = RSA_encrypt;\nRSA_prototype.decrypt = RSA_decrypt;\n","/**\n * Generate RSA key pair\n *\n * @param bitlen desired modulus length, default is 2048\n * @param e public exponent, default is 65537\n */\nimport { RSA } from './rsa';\nimport { randomProbablePrime } from '../bignum/bignum';\nimport { BigNumber_extGCD } from '../bignum/extgcd';\nimport { BigNumber, is_big_number, Modulus } from '../bignum/bignum';\nimport { is_buffer, is_bytes, is_number, is_string, string_to_bytes } from '../utils';\nimport { IllegalArgumentError } from '../errors';\n\nexport function RSA_generateKey(bitlen, e) {\n  bitlen = bitlen || 2048;\n  e = e || 65537;\n\n  if (bitlen < 512) throw new IllegalArgumentError('bit length is too small');\n\n  if (is_string(e)) e = string_to_bytes(e);\n\n  if (is_buffer(e)) e = new Uint8Array(e);\n\n  if (is_bytes(e)) {\n    e = new BigNumber(e);\n  } else if (is_number(e)) {\n    e = BigNumber.fromNumber(e);\n  } else if (is_big_number(e)) {\n    e = BigNumber.fromConfig(e);\n  } else {\n    throw new TypeError('unexpected exponent type');\n  }\n\n  if ((e.limbs[0] & 1) === 0) throw new IllegalArgumentError('exponent must be an odd number');\n\n  var m, e, d, p, q, p1, q1, dp, dq, u;\n\n  p = randomProbablePrime(bitlen >> 1, function(p) {\n    p1 = BigNumber.fromConfig(p);\n    p1.limbs[0] -= 1;\n    return BigNumber_extGCD(p1, e).gcd.valueOf() == 1;\n  });\n\n  q = randomProbablePrime(bitlen - (bitlen >> 1), function(q) {\n    m = new Modulus(p.multiply(q));\n    if (!(m.limbs[((bitlen + 31) >> 5) - 1] >>> ((bitlen - 1) & 31))) return false;\n    q1 = BigNumber.fromConfig(q);\n    q1.limbs[0] -= 1;\n    return BigNumber_extGCD(q1, e).gcd.valueOf() == 1;\n  });\n\n  d = new Modulus(p1.multiply(q1)).inverse(e);\n\n  (dp = d.divide(p1).remainder), (dq = d.divide(q1).remainder);\n\n  (p = new Modulus(p)), (q = new Modulus(q));\n\n  var u = p.inverse(q);\n\n  return [m, e, d, p, q, dp, dq, u];\n}\n\nRSA.generateKey = RSA_generateKey;\n\nexport default RSA;\n","/**\n * RSA keygen exports\n */\nimport { is_big_number } from '../bignum/bignum';\nimport { RSA_generateKey } from './genkey';\n\nfunction rsa_generate_key(bitlen, e) {\n  if (bitlen === undefined) throw new SyntaxError('bitlen required');\n  if (e === undefined) throw new SyntaxError('e required');\n  var key = RSA_generateKey(bitlen, e);\n  for (var i = 0; i < key.length; i++) {\n    if (is_big_number(key[i])) key[i] = key[i].toBytes();\n  }\n  return key;\n}\n\nexport var RSA = {\n  generateKey: rsa_generate_key,\n};\n","import { RSA_reset, RSA_encrypt, RSA_decrypt } from './rsa';\nimport { Random_getValues } from '../random/random';\nimport { is_buffer, is_bytes, is_number, is_string, string_to_bytes } from '../utils';\nimport { IllegalArgumentError, IllegalStateError, SecurityError } from '../errors';\n\nexport class RSA_OAEP {\n  constructor(options) {\n    options = options || {};\n\n    if (!options.hash) throw new SyntaxError(\"option 'hash' is required\");\n\n    if (!options.hash.HASH_SIZE)\n      throw new SyntaxError(\"option 'hash' supplied doesn't seem to be a valid hash function\");\n\n    this.hash = options.hash;\n\n    this.label = null;\n\n    this.reset(options);\n  }\n\n  reset(options) {\n    options = options || {};\n\n    var label = options.label;\n    if (label !== undefined) {\n      if (is_buffer(label) || is_bytes(label)) {\n        label = new Uint8Array(label);\n      } else if (is_string(label)) {\n        label = string_to_bytes(label);\n      } else {\n        throw new TypeError('unexpected label type');\n      }\n\n      this.label = label.length > 0 ? label : null;\n    } else {\n      this.label = null;\n    }\n\n    RSA_reset.call(this, options);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @return {RSA_OAEP}\n   */\n  encrypt(data) {\n    if (!this.key) throw new IllegalStateError('no key is associated with the instance');\n\n    var key_size = Math.ceil(this.key[0].bitLength / 8),\n      hash_size = this.hash.HASH_SIZE,\n      data_length = data.byteLength || data.length || 0,\n      ps_length = key_size - data_length - 2 * hash_size - 2;\n\n    if (data_length > key_size - 2 * this.hash.HASH_SIZE - 2) throw new IllegalArgumentError('data too large');\n\n    var message = new Uint8Array(key_size),\n      seed = message.subarray(1, hash_size + 1),\n      data_block = message.subarray(hash_size + 1);\n\n    if (is_bytes(data)) {\n      data_block.set(data, hash_size + ps_length + 1);\n    } else if (is_buffer(data)) {\n      data_block.set(new Uint8Array(data), hash_size + ps_length + 1);\n    } else if (is_string(data)) {\n      data_block.set(string_to_bytes(data), hash_size + ps_length + 1);\n    } else {\n      throw new TypeError('unexpected data type');\n    }\n\n    data_block.set(\n      this.hash\n        .reset()\n        .process(this.label || '')\n        .finish().result,\n      0,\n    );\n    data_block[hash_size + ps_length] = 1;\n\n    Random_getValues(seed);\n\n    var data_block_mask = RSA_MGF1_generate.call(this, seed, data_block.length);\n    for (var i = 0; i < data_block.length; i++) data_block[i] ^= data_block_mask[i];\n\n    var seed_mask = RSA_MGF1_generate.call(this, data_block, seed.length);\n    for (var i = 0; i < seed.length; i++) seed[i] ^= seed_mask[i];\n\n    RSA_encrypt.call(this, message);\n\n    return this;\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @return {RSA_OAEP}\n   */\n  decrypt(data) {\n    if (!this.key) throw new IllegalStateError('no key is associated with the instance');\n\n    var key_size = Math.ceil(this.key[0].bitLength / 8),\n      hash_size = this.hash.HASH_SIZE,\n      data_length = data.byteLength || data.length || 0;\n\n    if (data_length !== key_size) throw new IllegalArgumentError('bad data');\n\n    RSA_decrypt.call(this, data);\n\n    var z = this.result[0],\n      seed = this.result.subarray(1, hash_size + 1),\n      data_block = this.result.subarray(hash_size + 1);\n\n    if (z !== 0) throw new SecurityError('decryption failed');\n\n    var seed_mask = RSA_MGF1_generate.call(this, data_block, seed.length);\n    for (var i = 0; i < seed.length; i++) seed[i] ^= seed_mask[i];\n\n    var data_block_mask = RSA_MGF1_generate.call(this, seed, data_block.length);\n    for (var i = 0; i < data_block.length; i++) data_block[i] ^= data_block_mask[i];\n\n    var lhash = this.hash\n      .reset()\n      .process(this.label || '')\n      .finish().result;\n    for (var i = 0; i < hash_size; i++) {\n      if (lhash[i] !== data_block[i]) throw new SecurityError('decryption failed');\n    }\n\n    var ps_end = hash_size;\n    for (; ps_end < data_block.length; ps_end++) {\n      var psz = data_block[ps_end];\n      if (psz === 1) break;\n      if (psz !== 0) throw new SecurityError('decryption failed');\n    }\n    if (ps_end === data_block.length) throw new SecurityError('decryption failed');\n\n    this.result = data_block.subarray(ps_end + 1);\n\n    return this;\n  }\n}\n\n/**\n * @param {Uint8Array} seed\n * @param {number} length\n * @return {Uint8Array}\n * @constructor\n */\nfunction RSA_MGF1_generate(seed, length) {\n  seed = seed || '';\n  length = length || 0;\n\n  var hash_size = this.hash.HASH_SIZE;\n  //    if ( length > (hash_size * 0x100000000) )\n  //        throw new IllegalArgumentError(\"mask length too large\");\n\n  var mask = new Uint8Array(length),\n    counter = new Uint8Array(4),\n    chunks = Math.ceil(length / hash_size);\n  for (var i = 0; i < chunks; i++) {\n    (counter[0] = i >>> 24), (counter[1] = (i >>> 16) & 255), (counter[2] = (i >>> 8) & 255), (counter[3] = i & 255);\n\n    var submask = mask.subarray(i * hash_size);\n\n    var chunk = this.hash\n      .reset()\n      .process(seed)\n      .process(counter)\n      .finish().result;\n    if (chunk.length > submask.length) chunk = chunk.subarray(0, submask.length);\n\n    submask.set(chunk);\n  }\n\n  return mask;\n}\n\nexport class RSA_PSS {\n  constructor(options) {\n    options = options || {};\n\n    if (!options.hash) throw new SyntaxError(\"option 'hash' is required\");\n\n    if (!options.hash.HASH_SIZE)\n      throw new SyntaxError(\"option 'hash' supplied doesn't seem to be a valid hash function\");\n\n    this.hash = options.hash;\n\n    this.saltLength = 4;\n\n    this.reset(options);\n  }\n\n  reset(options) {\n    options = options || {};\n\n    RSA_reset.call(this, options);\n\n    var slen = options.saltLength;\n    if (slen !== undefined) {\n      if (!is_number(slen) || slen < 0) throw new TypeError('saltLength should be a non-negative number');\n\n      if (this.key !== null && Math.ceil((this.key[0].bitLength - 1) / 8) < this.hash.HASH_SIZE + slen + 2)\n        throw new SyntaxError('saltLength is too large');\n\n      this.saltLength = slen;\n    } else {\n      this.saltLength = 4;\n    }\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @return {RSA_PSS}\n   */\n  sign(data) {\n    if (!this.key) throw new IllegalStateError('no key is associated with the instance');\n\n    var key_bits = this.key[0].bitLength,\n      hash_size = this.hash.HASH_SIZE,\n      message_length = Math.ceil((key_bits - 1) / 8),\n      salt_length = this.saltLength,\n      ps_length = message_length - salt_length - hash_size - 2;\n\n    var message = new Uint8Array(message_length),\n      h_block = message.subarray(message_length - hash_size - 1, message_length - 1),\n      d_block = message.subarray(0, message_length - hash_size - 1),\n      d_salt = d_block.subarray(ps_length + 1);\n\n    var m_block = new Uint8Array(8 + hash_size + salt_length),\n      m_hash = m_block.subarray(8, 8 + hash_size),\n      m_salt = m_block.subarray(8 + hash_size);\n\n    m_hash.set(\n      this.hash\n        .reset()\n        .process(data)\n        .finish().result,\n    );\n\n    if (salt_length > 0) Random_getValues(m_salt);\n\n    d_block[ps_length] = 1;\n    d_salt.set(m_salt);\n\n    h_block.set(\n      this.hash\n        .reset()\n        .process(m_block)\n        .finish().result,\n    );\n\n    var d_block_mask = RSA_MGF1_generate.call(this, h_block, d_block.length);\n    for (var i = 0; i < d_block.length; i++) d_block[i] ^= d_block_mask[i];\n\n    message[message_length - 1] = 0xbc;\n\n    var zbits = 8 * message_length - key_bits + 1;\n    if (zbits % 8) message[0] &= 0xff >>> zbits;\n\n    RSA_decrypt.call(this, message);\n\n    return this;\n  }\n\n  /**\n   * @param {Uint8Array} signature\n   * @param {Uint8Array} data\n   * @return {RSA_PSS}\n   */\n  verify(signature, data) {\n    if (!this.key) throw new IllegalStateError('no key is associated with the instance');\n\n    var key_bits = this.key[0].bitLength,\n      hash_size = this.hash.HASH_SIZE,\n      message_length = Math.ceil((key_bits - 1) / 8),\n      salt_length = this.saltLength,\n      ps_length = message_length - salt_length - hash_size - 2;\n\n    RSA_encrypt.call(this, signature);\n\n    var message = this.result;\n    if (message[message_length - 1] !== 0xbc) throw new SecurityError('bad signature');\n\n    var h_block = message.subarray(message_length - hash_size - 1, message_length - 1),\n      d_block = message.subarray(0, message_length - hash_size - 1),\n      d_salt = d_block.subarray(ps_length + 1);\n\n    var zbits = 8 * message_length - key_bits + 1;\n    if (zbits % 8 && message[0] >>> (8 - zbits)) throw new SecurityError('bad signature');\n\n    var d_block_mask = RSA_MGF1_generate.call(this, h_block, d_block.length);\n    for (var i = 0; i < d_block.length; i++) d_block[i] ^= d_block_mask[i];\n\n    if (zbits % 8) message[0] &= 0xff >>> zbits;\n\n    for (var i = 0; i < ps_length; i++) {\n      if (d_block[i] !== 0) throw new SecurityError('bad signature');\n    }\n    if (d_block[ps_length] !== 1) throw new SecurityError('bad signature');\n\n    var m_block = new Uint8Array(8 + hash_size + salt_length),\n      m_hash = m_block.subarray(8, 8 + hash_size),\n      m_salt = m_block.subarray(8 + hash_size);\n\n    m_hash.set(\n      this.hash\n        .reset()\n        .process(data)\n        .finish().result,\n    );\n    m_salt.set(d_salt);\n\n    var h_block_verify = this.hash\n      .reset()\n      .process(m_block)\n      .finish().result;\n    for (var i = 0; i < hash_size; i++) {\n      if (h_block[i] !== h_block_verify[i]) throw new SecurityError('bad signature');\n    }\n\n    return this;\n  }\n}\n\nexport class RSA_PKCS1_v1_5 {\n  constructor(options) {\n    options = options || {};\n\n    if (!options.hash) throw new SyntaxError(\"option 'hash' is required\");\n\n    if (!options.hash.HASH_SIZE)\n      throw new SyntaxError(\"option 'hash' supplied doesn't seem to be a valid hash function\");\n\n    this.hash = options.hash;\n\n    this.reset(options);\n  }\n\n  reset(options) {\n    options = options || {};\n\n    RSA_reset.call(this, options);\n  }\n\n  /**\n   * @param {Uint8Array} data\n   * @return {RSA_PKCS1_v1_5}\n   */\n  sign(data) {\n    if (!this.key) {\n      throw new IllegalStateError('no key is associated with the instance');\n    }\n    var prefix = getHashPrefix(this.hash);\n    var hash_size = this.hash.HASH_SIZE;\n\n    var t_len = prefix.length + hash_size;\n    var k = (this.key[0].bitLength + 7) >> 3;\n    if (k < t_len + 11) {\n      throw new Error('Message too long');\n    }\n\n    var m_hash = new Uint8Array(hash_size);\n    m_hash.set(\n      this.hash\n        .reset()\n        .process(data)\n        .finish().result,\n    );\n\n    // EM = 0x00 || 0x01 || PS || 0x00 || T\n    var em = new Uint8Array(k);\n    var i = 0;\n    em[i++] = 0; // 0x00\n    em[i++] = 1; // 0x01\n    // PS\n    for (i; i < k - t_len - 1; i++) {\n      em[i] = 0xff;\n    }\n    em[i++] = 0;\n    em.set(prefix, i); // 0x00\n    // T\n    em.set(m_hash, em.length - hash_size);\n\n    RSA_decrypt.call(this, em);\n\n    return this;\n  }\n\n  /**\n   * @param {Uint8Array} signature\n   * @param {Uint8Array} data\n   * @return {RSA_PKCS1_v1_5}\n   */\n  verify(signature, data) {\n    if (!this.key) {\n      throw new IllegalStateError('no key is associated with the instance');\n    }\n    var prefix = getHashPrefix(this.hash);\n    var hash_size = this.hash.HASH_SIZE;\n\n    var t_len = prefix.length + hash_size;\n    var k = (this.key[0].bitLength + 7) >> 3;\n    if (k < t_len + 11) {\n      throw new SecurityError('Bad signature');\n    }\n\n    RSA_encrypt.call(this, signature);\n\n    var m_hash = new Uint8Array(hash_size);\n    m_hash.set(\n      this.hash\n        .reset()\n        .process(data)\n        .finish().result,\n    );\n\n    var res = 1;\n    // EM = 0x00 || 0x01 || PS || 0x00 || T\n    var decryptedSignature = this.result;\n    var i = 0;\n    res &= decryptedSignature[i++] === 0; // 0x00\n    res &= decryptedSignature[i++] === 1; // 0x01\n    // PS\n    for (i; i < k - t_len - 1; i++) {\n      res &= decryptedSignature[i] === 0xff;\n    }\n    res &= decryptedSignature[i++] === 0; // 0x00\n    // T\n    var j = 0;\n    var n = i + prefix.length;\n    // prefix\n    for (i; i < n; i++) {\n      res &= decryptedSignature[i] === prefix[j++];\n    }\n    j = 0;\n    n = i + m_hash.length;\n    // hash\n    for (i; i < n; i++) {\n      res &= decryptedSignature[i] === m_hash[j++];\n    }\n\n    if (!res) {\n      throw new SecurityError('Bad signature');\n    }\n\n    return this;\n  }\n}\n\nconst HASH_PREFIXES = {\n  sha1: new Uint8Array([0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14]),\n  sha256: new Uint8Array([\n    0x30,\n    0x31,\n    0x30,\n    0x0d,\n    0x06,\n    0x09,\n    0x60,\n    0x86,\n    0x48,\n    0x01,\n    0x65,\n    0x03,\n    0x04,\n    0x02,\n    0x01,\n    0x05,\n    0x00,\n    0x04,\n    0x20,\n  ]),\n  sha384: new Uint8Array([\n    0x30,\n    0x41,\n    0x30,\n    0x0d,\n    0x06,\n    0x09,\n    0x60,\n    0x86,\n    0x48,\n    0x01,\n    0x65,\n    0x03,\n    0x04,\n    0x02,\n    0x02,\n    0x05,\n    0x00,\n    0x04,\n    0x30,\n  ]),\n  sha512: new Uint8Array([\n    0x30,\n    0x51,\n    0x30,\n    0x0d,\n    0x06,\n    0x09,\n    0x60,\n    0x86,\n    0x48,\n    0x01,\n    0x65,\n    0x03,\n    0x04,\n    0x02,\n    0x03,\n    0x05,\n    0x00,\n    0x04,\n    0x40,\n  ]),\n};\n\n/**\n * @param hash\n * @return {Uint8Array}\n */\nfunction getHashPrefix(hash) {\n  var hashName = hash.constructor.NAME;\n  var prefix = HASH_PREFIXES[hashName];\n  if (!prefix) {\n    throw new Error(\"Cannot get hash prefix for hash algorithm '\" + hashName + \"'\");\n  }\n  return prefix;\n}\n","/**\n * RSA-OAEP-SHA1 exports\n */\n\nimport { RSA_OAEP } from './pkcs1';\nimport { get_sha1_instance } from '../hash/sha1/sha1';\n\nfunction rsa_oaep_sha1_encrypt_bytes(data, key, label) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA_OAEP({ hash: get_sha1_instance(), key: key, label: label }).encrypt(data).result;\n}\n\nfunction rsa_oaep_sha1_decrypt_bytes(data, key, label) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA_OAEP({ hash: get_sha1_instance(), key: key, label: label }).decrypt(data).result;\n}\n\nexport var RSA_OAEP_SHA1 = {\n  encrypt: rsa_oaep_sha1_encrypt_bytes,\n  decrypt: rsa_oaep_sha1_decrypt_bytes,\n};\n","/**\n * RSA-OAEP-SHA256 exports\n */\n\nimport { RSA_OAEP } from './pkcs1';\nimport { get_sha256_instance } from '../hash/sha256/sha256';\n\nfunction rsa_oaep_sha256_encrypt_bytes(data, key, label) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA_OAEP({ hash: get_sha256_instance(), key: key, label: label }).encrypt(data).result;\n}\n\nfunction rsa_oaep_sha256_decrypt_bytes(data, key, label) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA_OAEP({ hash: get_sha256_instance(), key: key, label: label }).decrypt(data).result;\n}\n\nexport var RSA_OAEP_SHA256 = {\n  encrypt: rsa_oaep_sha256_encrypt_bytes,\n  decrypt: rsa_oaep_sha256_decrypt_bytes,\n};\n","/**\n * RSA-OAEP-SHA512 exports\n */\n\nimport { RSA_OAEP } from './pkcs1';\nimport { get_sha512_instance } from '../hash/sha512/sha512';\n\nfunction rsa_oaep_sha512_encrypt_bytes(data, key, label) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA_OAEP({ hash: get_sha512_instance(), key: key, label: label }).encrypt(data).result;\n}\n\nfunction rsa_oaep_sha512_decrypt_bytes(data, key, label) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA_OAEP({ hash: get_sha512_instance(), key: key, label: label }).decrypt(data).result;\n}\n\nexport var RSA_OAEP_SHA512 = {\n  encrypt: rsa_oaep_sha512_encrypt_bytes,\n  decrypt: rsa_oaep_sha512_decrypt_bytes,\n};\n","/**\n * RSA-PSS-SHA1 exports\n */\n\nimport { RSA_PSS } from './pkcs1';\nimport { get_sha1_instance } from '../hash/sha1/sha1';\nimport { SecurityError } from '../errors';\n\nfunction rsa_pss_sha1_sign_bytes(data, key, slen) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA_PSS({ hash: get_sha1_instance(), key: key, saltLength: slen }).sign(data).result;\n}\n\nfunction rsa_pss_sha1_verify_bytes(signature, data, key, slen) {\n  if (signature === undefined) throw new SyntaxError('signature required');\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  try {\n    new RSA_PSS({ hash: get_sha1_instance(), key: key, saltLength: slen }).verify(signature, data);\n    return true;\n  } catch (e) {\n    if (!(e instanceof SecurityError)) throw e;\n  }\n  return false;\n}\n\nexport var RSA_PSS_SHA1 = {\n  sign: rsa_pss_sha1_sign_bytes,\n  verify: rsa_pss_sha1_verify_bytes,\n};\n","/**\n * RSA-PSS-SHA256 exports\n */\n\nimport { get_sha256_instance } from '../hash/sha256/sha256';\nimport { RSA_PSS } from './pkcs1';\nimport { SecurityError } from '../errors';\n\nfunction rsa_pss_sha256_sign_bytes(data, key, slen) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA_PSS({ hash: get_sha256_instance(), key: key, saltLength: slen }).sign(data).result;\n}\n\nfunction rsa_pss_sha256_verify_bytes(signature, data, key, slen) {\n  if (signature === undefined) throw new SyntaxError('signature required');\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  try {\n    new RSA_PSS({ hash: get_sha256_instance(), key: key, saltLength: slen }).verify(signature, data);\n    return true;\n  } catch (e) {\n    if (!(e instanceof SecurityError)) throw e;\n  }\n  return false;\n}\n\nexport var RSA_PSS_SHA256 = {\n  sign: rsa_pss_sha256_sign_bytes,\n  verify: rsa_pss_sha256_verify_bytes,\n};\n","/**\n * RSA-PSS-SHA512 exports\n */\n\nimport { RSA_PSS } from './pkcs1';\nimport { get_sha512_instance } from '../hash/sha512/sha512';\nimport { SecurityError } from '../errors';\n\nfunction rsa_pss_sha512_sign_bytes(data, key, slen) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA_PSS({ hash: get_sha512_instance(), key: key, saltLength: slen }).sign(data).result;\n}\n\nfunction rsa_pss_sha512_verify_bytes(signature, data, key, slen) {\n  if (signature === undefined) throw new SyntaxError('signature required');\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  try {\n    new RSA_PSS({ hash: get_sha512_instance(), key: key, saltLength: slen }).verify(signature, data);\n    return true;\n  } catch (e) {\n    if (!(e instanceof SecurityError)) throw e;\n  }\n  return false;\n}\n\nexport var RSA_PSS_SHA512 = {\n  sign: rsa_pss_sha512_sign_bytes,\n  verify: rsa_pss_sha512_verify_bytes,\n};\n","/**\n * RSA-RAW exports\n */\n\nimport RSA from './raw';\n\nfunction rsa_raw_encrypt_bytes(data, key) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA({ key: key }).encrypt(data).result;\n}\n\nfunction rsa_raw_decrypt_bytes(data, key) {\n  if (data === undefined) throw new SyntaxError('data required');\n  if (key === undefined) throw new SyntaxError('key required');\n  return new RSA({ key: key }).decrypt(data).result;\n}\n\nexport var RSA_RAW = RSA;\n\nRSA_RAW.encrypt = rsa_raw_encrypt_bytes;\nRSA_RAW.decrypt = rsa_raw_decrypt_bytes;\nRSA_RAW.sign = rsa_raw_decrypt_bytes;\nRSA_RAW.verify = rsa_raw_encrypt_bytes;\n","var _global_console = typeof console !== 'undefined' ? console : undefined;\n\nvar _secure_origin =\n  typeof location === 'undefined' || !location.protocol.search(/https:|file:|chrome:|chrome-extension:|moz-extension:/);\n\nif (!_secure_origin && _global_console !== undefined) {\n  _global_console.warn(\n    'asmCrypto seems to be load from an insecure origin; this may cause to MitM-attack vulnerability. Consider using secure transport protocol.',\n  );\n}\n"],"names":["RSA","_global_console"],"mappings":"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CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACtK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACxK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACxK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;UAC5K,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;SACpC;;;QAGD,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACpL,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACtL,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACtL,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,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,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GA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,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;UACxD,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC1D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,G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,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAChF,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAChF,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAChF,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAChF,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAChF,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;QAGtD,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAChF,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAA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AAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;SACnF,CAAC;KACL;;;IAGD,SAAS,cAAc,GAAG,MAAM,GAAG;QAC/B,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;;QAElB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;KAC5B;;IAED,SAAS,KAAK,IAAI;QACd,EAAE,GAAG,UAAU,CAAC;QAChB,EAAE,GAAG,UAAU,CAAC;QAChB,EAAE,GAAG,UAAU,CAAC;QAChB,EAAE,GAAG,UAAU,CAAC;QAChB,EAAE,GAAG,UAAU,CAAC;QAChB,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;KACvB;;IAED,SAAS,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG;QACjD,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;;QAElB,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,MAAM,CAAC;QAChB,MAAM,GAAG,MAAM,CAAC;KACnB;;;IAGD,SAAS,OAAO,GAAG,MAAM,EAAE,MAAM,GAAG;QAChC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;;QAElB,IAAI,MAAM,GAAG,CAAC,CAAC;;QAEf,KAAK,MAAM,GAAG,EAAE;YACZ,OAAO,CAAC,CAAC,CAAC;;QAEd,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG;YACvB,UAAU,CAAC,MAAM,CAAC,CAAC;;YAEnB,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;;YAE3B,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;SAC9B;;QAED,MAAM,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;QAC/B,KAAK,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;;QAEzD,OAAO,MAAM,CAAC,CAAC,CAAC;KACnB;;;;IAID,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QACvC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;;QAElB,IAAI,MAAM,GAAG,CAAC;YACV,CAAC,GAAG,CAAC,CAAC;;QAEV,KAAK,MAAM,GAAG,EAAE;YACZ,OAAO,CAAC,CAAC,CAAC;;QAEd,KAAK,CAAC,MAAM;YACR,KAAK,MAAM,GAAG,EAAE;gBACZ,OAAO,CAAC,CAAC,CAAC;;QAElB,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG;YACpB,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACrC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;gBACjB,OAAO,CAAC,CAAC,CAAC;;YAEd,MAAM,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;YAC/B,MAAM,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;SAClC;;QAED,MAAM,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;QAC/B,KAAK,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;;QAEvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;;QAE3B,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG;YACpB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC1B,UAAU,CAAC,MAAM,CAAC,CAAC;;YAEnB,MAAM,GAAG,CAAC,CAAC;;YAEX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACtB;;QAED,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;QAEvB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC;QAChC,UAAU,CAAC,MAAM,CAAC,CAAC;;QAEnB,KAAK,CAAC,MAAM;YACR,cAAc,CAAC,MAAM,CAAC,CAAC;;QAE3B,OAAO,MAAM,CAAC,CAAC,CAAC;KACnB;;IAED,SAAS,UAAU,IAAI;QACnB,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,EAAE,CAAC;QACZ,MAAM,GAAG,CAAC,CAAC;KACd;;IAED,SAAS,UAAU,IAAI;QACnB,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,EAAE,CAAC;QACZ,MAAM,GAAG,CAAC,CAAC;KACd;;IAED,SAAS,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG;QACxF,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACV,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;;;QAGZ,KAAK,EAAE,CAAC;QACR,KAAK;YACD,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;SACnB,CAAC;QACF,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;;;QAGR,KAAK,EAAE,CAAC;QACR,KAAK;YACD,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,EAAE,GAAG,UAAU;YACf,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;YAChB,GAAG,GAAG,UAAU;SACnB,CAAC;QACF,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;;QAER,MAAM,GAAG,EAAE,CAAC;QACZ,MAAM,GAAG,CAAC,CAAC;KACd;;;;IAID,SAAS,WAAW,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QAC5C,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;;QAElB,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;;QAEvD,KAAK,MAAM,GAAG,EAAE;YACZ,OAAO,CAAC,CAAC,CAAC;;QAEd,KAAK,CAAC,MAAM;YACR,KAAK,MAAM,GAAG,EAAE;gBACZ,OAAO,CAAC,CAAC,CAAC;;QAElB,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;;QAE5C,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;;QAExE,KAAK,CAAC,MAAM;YACR,cAAc,CAAC,MAAM,CAAC,CAAC;;QAE3B,OAAO,MAAM,CAAC,CAAC,CAAC;KACnB;;;;;IAKD,SAAS,qBAAqB,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG;QACpE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;QAChB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;QAChB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;;QAElB,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;YACtC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;;QAE3C,KAAK,MAAM,GAAG,EAAE;YACZ,OAAO,CAAC,CAAC,CAAC;;QAEd,KAAK,CAAC,MAAM;YACR,KAAK,MAAM,GAAG,EAAE;gBACZ,OAAO,CAAC,CAAC,CAAC;;;;QAIlB,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC;QAC3C,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;QAC1C,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;;;QAGtC,WAAW,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACrE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;QAGpB,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG;YACpB,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACxE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;;YAE5C,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACxE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;;YAE5C,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACb,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACb,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACb,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACb,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;YAEb,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACvB;;QAED,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;;QAER,KAAK,CAAC,MAAM;YACR,cAAc,CAAC,MAAM,CAAC,CAAC;;QAE3B,OAAO,CAAC,CAAC;KACZ;;IAED,OAAO;;QAEH,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,MAAM;;;QAGd,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,WAAW;;;QAGxB,qBAAqB,EAAE,qBAAqB;KAC/C;CACJ;;AC71BM,IAAI,gBAAgB,GAAG,EAAE,CAAC;AACjC,AAAO,IAAI,eAAe,GAAG,EAAE,CAAC;;AAEhC,AAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE;EACxC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;;EAExB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;EACjD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;EAEvF,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;EACnC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;;EAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;CACd;;AAED,gBAAgB,CAAC,UAAU,GAAG,gBAAgB,CAAC;AAC/C,gBAAgB,CAAC,IAAI,GAAG,MAAM,CAAC;;AAE/B,gBAAgB,CAAC,SAAS,GAAG,eAAe,CAAC;AAC7C,IAAI,cAAc,GAAG,gBAAgB,CAAC,SAAS,CAAC;AAChD,cAAc,CAAC,KAAK,GAAG,UAAU,CAAC;AAClC,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC;AACtC,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC;;AAEpC,IAAI,aAAa,GAAG,IAAI,CAAC;;AAEzB,AAAO,SAAS,iBAAiB,GAAG;EAClC,IAAI,aAAa,KAAK,IAAI,EAAE,aAAa,GAAG,IAAI,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;EACzF,OAAO,aAAa,CAAC;CACtB;;ACjCD;;;;AAIA,AAGA,SAAS,UAAU,CAAC,IAAI,EAAE;EACxB,IAAI,IAAI,KAAK,SAAS,EAAE,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;EAC/D,OAAO,iBAAiB,EAAE;KACvB,KAAK,EAAE;KACP,OAAO,CAAC,IAAI,CAAC;KACb,MAAM,EAAE,CAAC,MAAM,CAAC;CACpB;;AAED,SAAS,QAAQ,CAAC,IAAI,EAAE;EACtB,IAAI,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;EAC9B,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;CAC7B;;AAED,SAAS,WAAW,CAAC,IAAI,EAAE;EACzB,IAAI,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;EAC9B,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;CAChC;;AAED,AAAO,IAAI,IAAI,GAAG,gBAAgB,CAAC;;AAEnC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;AACxB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;AACpB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;;AC7B1B;;;;AAIA,AAGA,SAAS,YAAY,CAAC,IAAI,EAAE;EAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;EAC/D,OAAO,mBAAmB,EAAE;KACzB,KAAK,EAAE;KACP,OAAO,CAAC,IAAI,CAAC;KACb,MAAM,EAAE,CAAC,MAAM,CAAC;CACpB;;AAED,SAAS,UAAU,CAAC,IAAI,EAAE;EACxB,IAAI,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;EAChC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;CAC7B;;AAED,SAAS,aAAa,CAAC,IAAI,EAAE;EAC3B,IAAI,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;EAChC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;CAChC;;AAED,AAAO,IAAI,MAAM,GAAG,kBAAkB,CAAC;AACvC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;AAC5B,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC;AACxB,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC;;AC5BvB,SAAS,UAAU,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IACnD,SAAS,CAAC;;;IAGV,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;QACtE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;QACtE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;;;IAG3B,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;QACtE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;QACtE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;QACtE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;;;IAG3E,IAAI,IAAI,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;;IAEzC,SAAS,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG;QAC1L,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACZ,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;;QAEd,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;YAC9H,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,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MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GA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C,GAAG,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,C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AAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAA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CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;UAC5D,CAA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"}

Выполнить команду


Для локальной разработки. Не используйте в интернете!