aboutsummaryrefslogtreecommitdiff
path: root/vendor/tests
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/tests')
-rwxr-xr-xvendor/tests/coverage.sh59
-rw-r--r--vendor/tests/ctgrind.c309
-rw-r--r--vendor/tests/externals/c25519/AUTHORS.md5
-rw-r--r--vendor/tests/externals/c25519/c25519.c124
-rw-r--r--vendor/tests/externals/c25519/c25519.h48
-rw-r--r--vendor/tests/externals/c25519/ed25519.c320
-rw-r--r--vendor/tests/externals/c25519/ed25519.h82
-rw-r--r--vendor/tests/externals/c25519/edsign.c168
-rw-r--r--vendor/tests/externals/c25519/edsign.h51
-rw-r--r--vendor/tests/externals/c25519/f25519.c324
-rw-r--r--vendor/tests/externals/c25519/f25519.h92
-rw-r--r--vendor/tests/externals/c25519/fprime.c215
-rw-r--r--vendor/tests/externals/c25519/fprime.h70
-rw-r--r--vendor/tests/externals/c25519/morph25519.c87
-rw-r--r--vendor/tests/externals/c25519/morph25519.h29
-rw-r--r--vendor/tests/externals/c25519/sha512.c228
-rw-r--r--vendor/tests/externals/c25519/sha512.h52
-rw-r--r--vendor/tests/externals/tweetnacl/AUTHORS.md20
-rw-r--r--vendor/tests/externals/tweetnacl/tweetnacl.c809
-rw-r--r--vendor/tests/externals/tweetnacl/tweetnacl.h272
-rwxr-xr-xvendor/tests/formal-analysis.sh63
-rwxr-xr-xvendor/tests/frama-c.sh61
-rw-r--r--vendor/tests/speed/speed-c25519.c123
-rw-r--r--vendor/tests/speed/speed-hydrogen.c129
-rw-r--r--vendor/tests/speed/speed-sodium.c191
-rw-r--r--vendor/tests/speed/speed-tweetnacl.c169
-rw-r--r--vendor/tests/speed/speed.c221
-rw-r--r--vendor/tests/speed/speed.h105
-rw-r--r--vendor/tests/test-legacy.c347
-rw-r--r--vendor/tests/test.c1170
-rwxr-xr-xvendor/tests/test.sh65
-rw-r--r--vendor/tests/utils.c171
-rw-r--r--vendor/tests/utils.h95
-rw-r--r--vendor/tests/vectors.h12227
34 files changed, 0 insertions, 18501 deletions
diff --git a/vendor/tests/coverage.sh b/vendor/tests/coverage.sh
deleted file mode 100755
index dd872a9..0000000
--- a/vendor/tests/coverage.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#! /bin/sh
-
-# This file is dual-licensed. Choose whichever licence you want from
-# the two licences listed below.
-#
-# The first licence is a regular 2-clause BSD licence. The second licence
-# is the CC-0 from Creative Commons. It is intended to release Monocypher
-# to the public domain. The BSD licence serves as a fallback option.
-#
-# SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-#
-# ------------------------------------------------------------------------
-#
-# Copyright (c) 2017-2019, Loup Vaillant
-# All rights reserved.
-#
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the
-# distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# ------------------------------------------------------------------------
-#
-# Written in 2017-2019 by Loup Vaillant
-#
-# To the extent possible under law, the author(s) have dedicated all copyright
-# and related neighboring rights to this software to the public domain
-# worldwide. This software is distributed without any warranty.
-#
-# You should have received a copy of the CC0 Public Domain Dedication along
-# with this software. If not, see
-# <https://creativecommons.org/publicdomain/zero/1.0/>
-
-set -e
-
-make clean
-make test CC="clang -std=c99" CFLAGS="-fprofile-instr-generate -fcoverage-mapping"
-llvm-profdata merge default.profraw -o all.profdata
-llvm-cov show -instr-profile=all.profdata "./test.out"
diff --git a/vendor/tests/ctgrind.c b/vendor/tests/ctgrind.c
deleted file mode 100644
index 9d954f4..0000000
--- a/vendor/tests/ctgrind.c
+++ /dev/null
@@ -1,309 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2020, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2020 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "monocypher.h"
-#include "monocypher-ed25519.h"
-#include "utils.h"
-
-static void verify16()
-{
- u8 a[16];
- u8 b[16];
- crypto_verify16(a, b);
-}
-
-static void verify32()
-{
- u8 a[32];
- u8 b[32];
- crypto_verify32(a, b);
-}
-
-static void verify64()
-{
- u8 a[64];
- u8 b[64];
- crypto_verify64(a, b);
-}
-
-static void wipe()
-{
- FOR (i, 0, 128) {
- u8 secret[128];
- crypto_wipe(secret, i);
- }
-}
-
-static void lock_aead()
-{
- FOR(i, 0, 128) {
- u8 mac [ 16];
- u8 cipher_text[128];
- u8 key [ 32];
- u8 nonce [ 24];
- u8 ad [128];
- u8 plain_text [128];
- crypto_lock_aead(mac, cipher_text, key, nonce, ad, i, plain_text, i);
- }
-}
-
-static void unlock_aead()
-{
- FOR(i, 0, 128) {
- u8 plain_text [128];
- u8 key [ 32];
- u8 nonce [ 24];
- u8 mac [ 16];
- u8 ad [128];
- u8 cipher_text[128];
- crypto_unlock_aead(plain_text, key, nonce, mac, ad, i, cipher_text, i);
- }
-}
-
-static void blake2b_general()
-{
- FOR (i, 0, 256) {
- u8 hash [ 64];
- u8 key [ 64];
- u8 message[256];
- crypto_blake2b_general(hash, 64, key, 0, message, i);
- }
- FOR (i, 0, 64) {
- u8 hash [ 64];
- u8 key [ 64];
- u8 message[256];
- crypto_blake2b_general(hash, 64, key, i, message, 128);
- }
- FOR (i, 0, 64) {
- u8 hash [ 64];
- u8 key [ 64];
- u8 message[256];
- crypto_blake2b_general(hash, i, key, 0, message, 0);
- }
-}
-
-static void argon2i_general()
-{
- void *work_area = alloc(1024 * 600);
- u8 hash [ 32];
- u8 password[ 16];
- u8 salt [ 16];
- u8 key [ 32];
- u8 ad [128];
- crypto_argon2i_general(hash, 32, work_area, 600, 3,
- password, 16, salt, 16, key, 32, ad, 128);
- free(work_area);
-}
-
-static void key_exchange()
-{
- u8 shared_key [32];
- u8 your_secret_key [32];
- u8 their_public_key[32];
- crypto_key_exchange(shared_key, your_secret_key, their_public_key);
-}
-
-static void sign_public_key()
-{
- u8 public_key[32];
- u8 secret_key[32];
- crypto_sign_public_key(public_key, secret_key);
-}
-
-static void sign()
-{
- u8 signature [64];
- u8 secret_key[32];
- u8 public_key[32];
- u8 message [64];
- crypto_sign(signature, secret_key, public_key, message, 64);
-}
-
-static void from_eddsa_private()
-{
- u8 x25519[32];
- u8 eddsa [32];
- crypto_from_eddsa_private(x25519, eddsa);
-}
-static void from_eddsa_public()
-{
- u8 x25519[32];
- u8 eddsa [32];
- crypto_from_eddsa_public(x25519, eddsa);
-}
-
-static void hidden_to_curve()
-{
- u8 curve [32];
- u8 hidden[32];
- crypto_hidden_to_curve(curve, hidden);
-}
-
-static void curve_to_hidden()
-{
- u8 hidden[32];
- u8 curve [32];
- u8 tweak; // The compiler notices this one is used uninitialised
- crypto_curve_to_hidden(hidden, curve, tweak);
-}
-
-static void hidden_key_pair()
-{
- u8 hidden [32];
- u8 secret_key[32];
- u8 seed [32];
- crypto_hidden_key_pair(hidden, secret_key,seed);
-}
-
-static void h_chacha20()
-{
- u8 out[32], key[32], in[16];
- crypto_hchacha20(out, key, in);
-}
-
-static void chacha20()
-{
- FOR (i, 0, 128) {
- u8 cipher_text[128];
- u8 plain_text [128];
- u8 key [ 32];
- u8 nonce [ 8];
- crypto_chacha20(cipher_text, plain_text, i, key, nonce);
- }
-}
-static void xchacha20()
-{
- FOR (i, 0, 128) {
- u8 cipher_text[128];
- u8 plain_text [128];
- u8 key [ 32];
- u8 nonce [ 24];
- crypto_xchacha20(cipher_text, plain_text, i, key, nonce);
- }
-}
-static void ietf_chacha20()
-{
- FOR (i, 0, 128) {
- u8 cipher_text[128];
- u8 plain_text [128];
- u8 key [ 32];
- u8 nonce [ 12];
- crypto_ietf_chacha20(cipher_text, plain_text, i, key, nonce);
- }
-}
-
-static void poly1305()
-{
- FOR (i, 0, 32) {
- u8 mac [16];
- u8 message [32];
- u8 key [32];
- crypto_poly1305(mac, message, i, key);
- }
-}
-
-static void x25519_dirty_small()
-{
- u8 pk[32];
- u8 sk[32];
- crypto_x25519_dirty_small(pk, sk);
-}
-static void x25519_dirty_fast()
-{
- u8 pk[32];
- u8 sk[32];
- crypto_x25519_dirty_fast(pk, sk);
-}
-
-static void x25519_inverse()
-{
- u8 blind_salt [32];
- u8 private_key[32];
- u8 curve_point[32];
- crypto_x25519_inverse(blind_salt, private_key, curve_point);
-}
-
-
-#define RUN(f, s) printf("%s: crypto_"#f"\n", s); f()
-
-int main()
-{
- RUN(verify16 , "constant time");
- RUN(verify32 , "constant time");
- RUN(verify64 , "constant time");
- RUN(wipe , "constant time");
- RUN(lock_aead , "constant time");
- RUN(unlock_aead , "1 conditional");
- RUN(blake2b_general , "constant time");
- RUN(argon2i_general , "constant time");
- RUN(key_exchange , "constant time");
- RUN(sign_public_key , "constant time");
- RUN(sign , "constant time");
- printf( "skipped : crypto_check.\n");
- RUN(from_eddsa_private, "constant time");
- RUN(from_eddsa_public , "constant time");
- RUN(hidden_to_curve , "constant time");
- RUN(curve_to_hidden , "1 conditional");
- RUN(hidden_key_pair , "1 conditional"); // shouldn't that be 2?
- RUN(h_chacha20 , "constant time");
- RUN(chacha20 , "constant time");
- RUN(xchacha20 , "constant time");
- RUN(ietf_chacha20 , "constant time");
- RUN(poly1305 , "constant time");
- RUN(x25519_dirty_small, "constant time");
- RUN(x25519_dirty_fast , "constant time");
- RUN(x25519_inverse , "constant time");
-
- return 0;
-}
diff --git a/vendor/tests/externals/c25519/AUTHORS.md b/vendor/tests/externals/c25519/AUTHORS.md
deleted file mode 100644
index d7c7bfb..0000000
--- a/vendor/tests/externals/c25519/AUTHORS.md
+++ /dev/null
@@ -1,5 +0,0 @@
-The code of C25519 has been written by Daniel Beers <dlbeer@gmail.com>
-and dedicated to the public domain; refer to the file headers.
-
-C25519 has been obtained via <https://www.dlbeer.co.nz/oss/c25519.html>.
-
diff --git a/vendor/tests/externals/c25519/c25519.c b/vendor/tests/externals/c25519/c25519.c
deleted file mode 100644
index a9c9f08..0000000
--- a/vendor/tests/externals/c25519/c25519.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/* Curve25519 (Montgomery form)
- * Daniel Beer <dlbeer@gmail.com>, 18 Apr 2014
- *
- * This file is in the public domain.
- */
-
-#include "c25519.h"
-
-const uint8_t c25519_base_x[F25519_SIZE] = {9};
-
-/* Double an X-coordinate */
-static void xc_double(uint8_t *x3, uint8_t *z3,
- const uint8_t *x1, const uint8_t *z1)
-{
- /* Explicit formulas database: dbl-1987-m
- *
- * source 1987 Montgomery "Speeding the Pollard and elliptic
- * curve methods of factorization", page 261, fourth display
- * compute X3 = (X1^2-Z1^2)^2
- * compute Z3 = 4 X1 Z1 (X1^2 + a X1 Z1 + Z1^2)
- */
- uint8_t x1sq[F25519_SIZE];
- uint8_t z1sq[F25519_SIZE];
- uint8_t x1z1[F25519_SIZE];
- uint8_t a[F25519_SIZE];
-
- f25519_mul__distinct(x1sq, x1, x1);
- f25519_mul__distinct(z1sq, z1, z1);
- f25519_mul__distinct(x1z1, x1, z1);
-
- f25519_sub(a, x1sq, z1sq);
- f25519_mul__distinct(x3, a, a);
-
- f25519_mul_c(a, x1z1, 486662);
- f25519_add(a, x1sq, a);
- f25519_add(a, z1sq, a);
- f25519_mul__distinct(x1sq, x1z1, a);
- f25519_mul_c(z3, x1sq, 4);
-}
-
-/* Differential addition */
-static void xc_diffadd(uint8_t *x5, uint8_t *z5,
- const uint8_t *x1, const uint8_t *z1,
- const uint8_t *x2, const uint8_t *z2,
- const uint8_t *x3, const uint8_t *z3)
-{
- /* Explicit formulas database: dbl-1987-m3
- *
- * source 1987 Montgomery "Speeding the Pollard and elliptic curve
- * methods of factorization", page 261, fifth display, plus
- * common-subexpression elimination
- * compute A = X2+Z2
- * compute B = X2-Z2
- * compute C = X3+Z3
- * compute D = X3-Z3
- * compute DA = D A
- * compute CB = C B
- * compute X5 = Z1(DA+CB)^2
- * compute Z5 = X1(DA-CB)^2
- */
- uint8_t da[F25519_SIZE];
- uint8_t cb[F25519_SIZE];
- uint8_t a[F25519_SIZE];
- uint8_t b[F25519_SIZE];
-
- f25519_add(a, x2, z2);
- f25519_sub(b, x3, z3); /* D */
- f25519_mul__distinct(da, a, b);
-
- f25519_sub(b, x2, z2);
- f25519_add(a, x3, z3); /* C */
- f25519_mul__distinct(cb, a, b);
-
- f25519_add(a, da, cb);
- f25519_mul__distinct(b, a, a);
- f25519_mul__distinct(x5, z1, b);
-
- f25519_sub(a, da, cb);
- f25519_mul__distinct(b, a, a);
- f25519_mul__distinct(z5, x1, b);
-}
-
-void c25519_smult(uint8_t *result, const uint8_t *q, const uint8_t *e)
-{
- /* Current point: P_m */
- uint8_t xm[F25519_SIZE];
- uint8_t zm[F25519_SIZE] = {1};
-
- /* Predecessor: P_(m-1) */
- uint8_t xm1[F25519_SIZE] = {1};
- uint8_t zm1[F25519_SIZE] = {0};
-
- int i;
-
- /* Note: bit 254 is assumed to be 1 */
- f25519_copy(xm, q);
-
- for (i = 253; i >= 0; i--) {
- const int bit = (e[i >> 3] >> (i & 7)) & 1;
- uint8_t xms[F25519_SIZE];
- uint8_t zms[F25519_SIZE];
-
- /* From P_m and P_(m-1), compute P_(2m) and P_(2m-1) */
- xc_diffadd(xm1, zm1, q, f25519_one, xm, zm, xm1, zm1);
- xc_double(xm, zm, xm, zm);
-
- /* Compute P_(2m+1) */
- xc_diffadd(xms, zms, xm1, zm1, xm, zm, q, f25519_one);
-
- /* Select:
- * bit = 1 --> (P_(2m+1), P_(2m))
- * bit = 0 --> (P_(2m), P_(2m-1))
- */
- f25519_select(xm1, xm1, xm, bit);
- f25519_select(zm1, zm1, zm, bit);
- f25519_select(xm, xm, xms, bit);
- f25519_select(zm, zm, zms, bit);
- }
-
- /* Freeze out of projective coordinates */
- f25519_inv__distinct(zm1, zm);
- f25519_mul__distinct(result, zm1, xm);
- f25519_normalize(result);
-}
diff --git a/vendor/tests/externals/c25519/c25519.h b/vendor/tests/externals/c25519/c25519.h
deleted file mode 100644
index 4596438..0000000
--- a/vendor/tests/externals/c25519/c25519.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Curve25519 (Montgomery form)
- * Daniel Beer <dlbeer@gmail.com>, 18 Apr 2014
- *
- * This file is in the public domain.
- */
-
-#ifndef C25519_H_
-#define C25519_H_
-
-#include <stdint.h>
-#include "f25519.h"
-
-/* Curve25519 has the equation over F(p = 2^255-19):
- *
- * y^2 = x^3 + 486662x^2 + x
- *
- * 486662 = 4A+2, where A = 121665. This is a Montgomery curve.
- *
- * For more information, see:
- *
- * Bernstein, D.J. (2006) "Curve25519: New Diffie-Hellman speed
- * records". Document ID: 4230efdfa673480fc079449d90f322c0.
- */
-
-/* This is the site of a Curve25519 exponent (private key) */
-#define C25519_EXPONENT_SIZE 32
-
-/* Having generated 32 random bytes, you should call this function to
- * finalize the generated key.
- */
-static inline void c25519_prepare(uint8_t *key)
-{
- key[0] &= 0xf8;
- key[31] &= 0x7f;
- key[31] |= 0x40;
-}
-
-/* X-coordinate of the base point */
-extern const uint8_t c25519_base_x[F25519_SIZE];
-
-/* X-coordinate scalar multiply: given the X-coordinate of q, return the
- * X-coordinate of e*q.
- *
- * result and q are field elements. e is an exponent.
- */
-void c25519_smult(uint8_t *result, const uint8_t *q, const uint8_t *e);
-
-#endif
diff --git a/vendor/tests/externals/c25519/ed25519.c b/vendor/tests/externals/c25519/ed25519.c
deleted file mode 100644
index 51ac462..0000000
--- a/vendor/tests/externals/c25519/ed25519.c
+++ /dev/null
@@ -1,320 +0,0 @@
-/* Edwards curve operations
- * Daniel Beer <dlbeer@gmail.com>, 9 Jan 2014
- *
- * This file is in the public domain.
- */
-
-#include "ed25519.h"
-
-/* Base point is (numbers wrapped):
- *
- * x = 151122213495354007725011514095885315114
- * 54012693041857206046113283949847762202
- * y = 463168356949264781694283940034751631413
- * 07993866256225615783033603165251855960
- *
- * y is derived by transforming the original Montgomery base (u=9). x
- * is the corresponding positive coordinate for the new curve equation.
- * t is x*y.
- */
-const struct ed25519_pt ed25519_base = {
- .x = {
- 0x1a, 0xd5, 0x25, 0x8f, 0x60, 0x2d, 0x56, 0xc9,
- 0xb2, 0xa7, 0x25, 0x95, 0x60, 0xc7, 0x2c, 0x69,
- 0x5c, 0xdc, 0xd6, 0xfd, 0x31, 0xe2, 0xa4, 0xc0,
- 0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36, 0x69, 0x21
- },
- .y = {
- 0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
- 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
- 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
- 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66
- },
- .t = {
- 0xa3, 0xdd, 0xb7, 0xa5, 0xb3, 0x8a, 0xde, 0x6d,
- 0xf5, 0x52, 0x51, 0x77, 0x80, 0x9f, 0xf0, 0x20,
- 0x7d, 0xe3, 0xab, 0x64, 0x8e, 0x4e, 0xea, 0x66,
- 0x65, 0x76, 0x8b, 0xd7, 0x0f, 0x5f, 0x87, 0x67
- },
- .z = {1, 0}
-};
-
-const struct ed25519_pt ed25519_neutral = {
- .x = {0},
- .y = {1, 0},
- .t = {0},
- .z = {1, 0}
-};
-
-/* Conversion to and from projective coordinates */
-void ed25519_project(struct ed25519_pt *p,
- const uint8_t *x, const uint8_t *y)
-{
- f25519_copy(p->x, x);
- f25519_copy(p->y, y);
- f25519_load(p->z, 1);
- f25519_mul__distinct(p->t, x, y);
-}
-
-void ed25519_unproject(uint8_t *x, uint8_t *y,
- const struct ed25519_pt *p)
-{
- uint8_t z1[F25519_SIZE];
-
- f25519_inv__distinct(z1, p->z);
- f25519_mul__distinct(x, p->x, z1);
- f25519_mul__distinct(y, p->y, z1);
-
- f25519_normalize(x);
- f25519_normalize(y);
-}
-
-/* Compress/uncompress points. We compress points by storing the x
- * coordinate and the parity of the y coordinate.
- *
- * Rearranging the curve equation, we obtain explicit formulae for the
- * coordinates:
- *
- * x = sqrt((y^2-1) / (1+dy^2))
- * y = sqrt((x^2+1) / (1-dx^2))
- *
- * Where d = (-121665/121666), or:
- *
- * d = 370957059346694393431380835087545651895
- * 42113879843219016388785533085940283555
- */
-
-static const uint8_t ed25519_d[F25519_SIZE] = {
- 0xa3, 0x78, 0x59, 0x13, 0xca, 0x4d, 0xeb, 0x75,
- 0xab, 0xd8, 0x41, 0x41, 0x4d, 0x0a, 0x70, 0x00,
- 0x98, 0xe8, 0x79, 0x77, 0x79, 0x40, 0xc7, 0x8c,
- 0x73, 0xfe, 0x6f, 0x2b, 0xee, 0x6c, 0x03, 0x52
-};
-
-void ed25519_pack(uint8_t *c, const uint8_t *x, const uint8_t *y)
-{
- uint8_t tmp[F25519_SIZE];
- uint8_t parity;
-
- f25519_copy(tmp, x);
- f25519_normalize(tmp);
- parity = (tmp[0] & 1) << 7;
-
- f25519_copy(c, y);
- f25519_normalize(c);
- c[31] |= parity;
-}
-
-uint8_t ed25519_try_unpack(uint8_t *x, uint8_t *y, const uint8_t *comp)
-{
- const int parity = comp[31] >> 7;
- uint8_t a[F25519_SIZE];
- uint8_t b[F25519_SIZE];
- uint8_t c[F25519_SIZE];
-
- /* Unpack y */
- f25519_copy(y, comp);
- y[31] &= 127;
-
- /* Compute c = y^2 */
- f25519_mul__distinct(c, y, y);
-
- /* Compute b = (1+dy^2)^-1 */
- f25519_mul__distinct(b, c, ed25519_d);
- f25519_add(a, b, f25519_one);
- f25519_inv__distinct(b, a);
-
- /* Compute a = y^2-1 */
- f25519_sub(a, c, f25519_one);
-
- /* Compute c = a*b = (y^2-1)/(1-dy^2) */
- f25519_mul__distinct(c, a, b);
-
- /* Compute a, b = +/-sqrt(c), if c is square */
- f25519_sqrt(a, c);
- f25519_neg(b, a);
-
- /* Select one of them, based on the compressed parity bit */
- f25519_select(x, a, b, (a[0] ^ parity) & 1);
-
- /* Verify that x^2 = c */
- f25519_mul__distinct(a, x, x);
- f25519_normalize(a);
- f25519_normalize(c);
-
- return f25519_eq(a, c);
-}
-
-/* k = 2d */
-static const uint8_t ed25519_k[F25519_SIZE] = {
- 0x59, 0xf1, 0xb2, 0x26, 0x94, 0x9b, 0xd6, 0xeb,
- 0x56, 0xb1, 0x83, 0x82, 0x9a, 0x14, 0xe0, 0x00,
- 0x30, 0xd1, 0xf3, 0xee, 0xf2, 0x80, 0x8e, 0x19,
- 0xe7, 0xfc, 0xdf, 0x56, 0xdc, 0xd9, 0x06, 0x24
-};
-
-void ed25519_add(struct ed25519_pt *r,
- const struct ed25519_pt *p1, const struct ed25519_pt *p2)
-{
- /* Explicit formulas database: add-2008-hwcd-3
- *
- * source 2008 Hisil--Wong--Carter--Dawson,
- * http://eprint.iacr.org/2008/522, Section 3.1
- * appliesto extended-1
- * parameter k
- * assume k = 2 d
- * compute A = (Y1-X1)(Y2-X2)
- * compute B = (Y1+X1)(Y2+X2)
- * compute C = T1 k T2
- * compute D = Z1 2 Z2
- * compute E = B - A
- * compute F = D - C
- * compute G = D + C
- * compute H = B + A
- * compute X3 = E F
- * compute Y3 = G H
- * compute T3 = E H
- * compute Z3 = F G
- */
- uint8_t a[F25519_SIZE];
- uint8_t b[F25519_SIZE];
- uint8_t c[F25519_SIZE];
- uint8_t d[F25519_SIZE];
- uint8_t e[F25519_SIZE];
- uint8_t f[F25519_SIZE];
- uint8_t g[F25519_SIZE];
- uint8_t h[F25519_SIZE];
-
- /* A = (Y1-X1)(Y2-X2) */
- f25519_sub(c, p1->y, p1->x);
- f25519_sub(d, p2->y, p2->x);
- f25519_mul__distinct(a, c, d);
-
- /* B = (Y1+X1)(Y2+X2) */
- f25519_add(c, p1->y, p1->x);
- f25519_add(d, p2->y, p2->x);
- f25519_mul__distinct(b, c, d);
-
- /* C = T1 k T2 */
- f25519_mul__distinct(d, p1->t, p2->t);
- f25519_mul__distinct(c, d, ed25519_k);
-
- /* D = Z1 2 Z2 */
- f25519_mul__distinct(d, p1->z, p2->z);
- f25519_add(d, d, d);
-
- /* E = B - A */
- f25519_sub(e, b, a);
-
- /* F = D - C */
- f25519_sub(f, d, c);
-
- /* G = D + C */
- f25519_add(g, d, c);
-
- /* H = B + A */
- f25519_add(h, b, a);
-
- /* X3 = E F */
- f25519_mul__distinct(r->x, e, f);
-
- /* Y3 = G H */
- f25519_mul__distinct(r->y, g, h);
-
- /* T3 = E H */
- f25519_mul__distinct(r->t, e, h);
-
- /* Z3 = F G */
- f25519_mul__distinct(r->z, f, g);
-}
-
-void ed25519_double(struct ed25519_pt *r, const struct ed25519_pt *p)
-{
- /* Explicit formulas database: dbl-2008-hwcd
- *
- * source 2008 Hisil--Wong--Carter--Dawson,
- * http://eprint.iacr.org/2008/522, Section 3.3
- * compute A = X1^2
- * compute B = Y1^2
- * compute C = 2 Z1^2
- * compute D = a A
- * compute E = (X1+Y1)^2-A-B
- * compute G = D + B
- * compute F = G - C
- * compute H = D - B
- * compute X3 = E F
- * compute Y3 = G H
- * compute T3 = E H
- * compute Z3 = F G
- */
- uint8_t a[F25519_SIZE];
- uint8_t b[F25519_SIZE];
- uint8_t c[F25519_SIZE];
- uint8_t e[F25519_SIZE];
- uint8_t f[F25519_SIZE];
- uint8_t g[F25519_SIZE];
- uint8_t h[F25519_SIZE];
-
- /* A = X1^2 */
- f25519_mul__distinct(a, p->x, p->x);
-
- /* B = Y1^2 */
- f25519_mul__distinct(b, p->y, p->y);
-
- /* C = 2 Z1^2 */
- f25519_mul__distinct(c, p->z, p->z);
- f25519_add(c, c, c);
-
- /* D = a A (alter sign) */
- /* E = (X1+Y1)^2-A-B */
- f25519_add(f, p->x, p->y);
- f25519_mul__distinct(e, f, f);
- f25519_sub(e, e, a);
- f25519_sub(e, e, b);
-
- /* G = D + B */
- f25519_sub(g, b, a);
-
- /* F = G - C */
- f25519_sub(f, g, c);
-
- /* H = D - B */
- f25519_neg(h, b);
- f25519_sub(h, h, a);
-
- /* X3 = E F */
- f25519_mul__distinct(r->x, e, f);
-
- /* Y3 = G H */
- f25519_mul__distinct(r->y, g, h);
-
- /* T3 = E H */
- f25519_mul__distinct(r->t, e, h);
-
- /* Z3 = F G */
- f25519_mul__distinct(r->z, f, g);
-}
-
-void ed25519_smult(struct ed25519_pt *r_out, const struct ed25519_pt *p,
- const uint8_t *e)
-{
- struct ed25519_pt r;
- int i;
-
- ed25519_copy(&r, &ed25519_neutral);
-
- for (i = 255; i >= 0; i--) {
- const uint8_t bit = (e[i >> 3] >> (i & 7)) & 1;
- struct ed25519_pt s;
-
- ed25519_double(&r, &r);
- ed25519_add(&s, &r, p);
-
- f25519_select(r.x, r.x, s.x, bit);
- f25519_select(r.y, r.y, s.y, bit);
- f25519_select(r.z, r.z, s.z, bit);
- f25519_select(r.t, r.t, s.t, bit);
- }
-
- ed25519_copy(r_out, &r);
-}
diff --git a/vendor/tests/externals/c25519/ed25519.h b/vendor/tests/externals/c25519/ed25519.h
deleted file mode 100644
index 62f0120..0000000
--- a/vendor/tests/externals/c25519/ed25519.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Edwards curve operations
- * Daniel Beer <dlbeer@gmail.com>, 9 Jan 2014
- *
- * This file is in the public domain.
- */
-
-#ifndef ED25519_H_
-#define ED25519_H_
-
-#include "f25519.h"
-
-/* This is not the Ed25519 signature system. Rather, we're implementing
- * basic operations on the twisted Edwards curve over (Z mod 2^255-19):
- *
- * -x^2 + y^2 = 1 - (121665/121666)x^2y^2
- *
- * With the positive-x base point y = 4/5.
- *
- * These functions will not leak secret data through timing.
- *
- * For more information, see:
- *
- * Bernstein, D.J. & Lange, T. (2007) "Faster addition and doubling on
- * elliptic curves". Document ID: 95616567a6ba20f575c5f25e7cebaf83.
- *
- * Hisil, H. & Wong, K K. & Carter, G. & Dawson, E. (2008) "Twisted
- * Edwards curves revisited". Advances in Cryptology, ASIACRYPT 2008,
- * Vol. 5350, pp. 326-343.
- */
-
-/* Projective coordinates */
-struct ed25519_pt {
- uint8_t x[F25519_SIZE];
- uint8_t y[F25519_SIZE];
- uint8_t t[F25519_SIZE];
- uint8_t z[F25519_SIZE];
-};
-
-extern const struct ed25519_pt ed25519_base;
-extern const struct ed25519_pt ed25519_neutral;
-
-/* Convert between projective and affine coordinates (x/y in F25519) */
-void ed25519_project(struct ed25519_pt *p,
- const uint8_t *x, const uint8_t *y);
-
-void ed25519_unproject(uint8_t *x, uint8_t *y,
- const struct ed25519_pt *p);
-
-/* Compress/uncompress points. try_unpack() will check that the
- * compressed point is on the curve, returning 1 if the unpacked point
- * is valid, and 0 otherwise.
- */
-#define ED25519_PACK_SIZE F25519_SIZE
-
-void ed25519_pack(uint8_t *c, const uint8_t *x, const uint8_t *y);
-uint8_t ed25519_try_unpack(uint8_t *x, uint8_t *y, const uint8_t *c);
-
-/* Add, double and scalar multiply */
-#define ED25519_EXPONENT_SIZE 32
-
-/* Prepare an exponent by clamping appropriate bits */
-static inline void ed25519_prepare(uint8_t *e)
-{
- e[0] &= 0xf8;
- e[31] &= 0x7f;
- e[31] |= 0x40;
-}
-
-/* Order of the group generated by the base point */
-static inline void ed25519_copy(struct ed25519_pt *dst,
- const struct ed25519_pt *src)
-{
- memcpy(dst, src, sizeof(*dst));
-}
-
-void ed25519_add(struct ed25519_pt *r,
- const struct ed25519_pt *a, const struct ed25519_pt *b);
-void ed25519_double(struct ed25519_pt *r, const struct ed25519_pt *a);
-void ed25519_smult(struct ed25519_pt *r, const struct ed25519_pt *a,
- const uint8_t *e);
-
-#endif
diff --git a/vendor/tests/externals/c25519/edsign.c b/vendor/tests/externals/c25519/edsign.c
deleted file mode 100644
index bf131a5..0000000
--- a/vendor/tests/externals/c25519/edsign.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/* Edwards curve signature system
- * Daniel Beer <dlbeer@gmail.com>, 22 Apr 2014
- *
- * This file is in the public domain.
- */
-
-#include "ed25519.h"
-#include "sha512.h"
-#include "fprime.h"
-#include "edsign.h"
-
-#define EXPANDED_SIZE 64
-
-static const uint8_t ed25519_order[FPRIME_SIZE] = {
- 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58,
- 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10
-};
-
-static void expand_key(uint8_t *expanded, const uint8_t *secret)
-{
- struct sha512_state s;
-
- sha512_init(&s);
- sha512_final(&s, secret, EDSIGN_SECRET_KEY_SIZE);
- sha512_get(&s, expanded, 0, EXPANDED_SIZE);
- ed25519_prepare(expanded);
-}
-
-static uint8_t upp(struct ed25519_pt *p, const uint8_t *packed)
-{
- uint8_t x[F25519_SIZE];
- uint8_t y[F25519_SIZE];
- uint8_t ok = ed25519_try_unpack(x, y, packed);
-
- ed25519_project(p, x, y);
- return ok;
-}
-
-static void pp(uint8_t *packed, const struct ed25519_pt *p)
-{
- uint8_t x[F25519_SIZE];
- uint8_t y[F25519_SIZE];
-
- ed25519_unproject(x, y, p);
- ed25519_pack(packed, x, y);
-}
-
-static void sm_pack(uint8_t *r, const uint8_t *k)
-{
- struct ed25519_pt p;
-
- ed25519_smult(&p, &ed25519_base, k);
- pp(r, &p);
-}
-
-void edsign_sec_to_pub(uint8_t *pub, const uint8_t *secret)
-{
- uint8_t expanded[EXPANDED_SIZE];
-
- expand_key(expanded, secret);
- sm_pack(pub, expanded);
-}
-
-static void hash_with_prefix(uint8_t *out_fp,
- uint8_t *init_block, unsigned int prefix_size,
- const uint8_t *message, size_t len)
-{
- struct sha512_state s;
-
- sha512_init(&s);
-
- if (len < SHA512_BLOCK_SIZE && len + prefix_size < SHA512_BLOCK_SIZE) {
- memcpy(init_block + prefix_size, message, len);
- sha512_final(&s, init_block, len + prefix_size);
- } else {
- size_t i;
-
- memcpy(init_block + prefix_size, message,
- SHA512_BLOCK_SIZE - prefix_size);
- sha512_block(&s, init_block);
-
- for (i = SHA512_BLOCK_SIZE - prefix_size;
- i + SHA512_BLOCK_SIZE <= len;
- i += SHA512_BLOCK_SIZE)
- sha512_block(&s, message + i);
-
- sha512_final(&s, message + i, len + prefix_size);
- }
-
- sha512_get(&s, init_block, 0, SHA512_HASH_SIZE);
- fprime_from_bytes(out_fp, init_block, SHA512_HASH_SIZE, ed25519_order);
-}
-
-static void generate_k(uint8_t *k, const uint8_t *kgen_key,
- const uint8_t *message, size_t len)
-{
- uint8_t block[SHA512_BLOCK_SIZE];
-
- memcpy(block, kgen_key, 32);
- hash_with_prefix(k, block, 32, message, len);
-}
-
-static void hash_message(uint8_t *z, const uint8_t *r, const uint8_t *a,
- const uint8_t *m, size_t len)
-{
- uint8_t block[SHA512_BLOCK_SIZE];
-
- memcpy(block, r, 32);
- memcpy(block + 32, a, 32);
- hash_with_prefix(z, block, 64, m, len);
-}
-
-void edsign_sign(uint8_t *signature, const uint8_t *pub,
- const uint8_t *secret,
- const uint8_t *message, size_t len)
-{
- uint8_t expanded[EXPANDED_SIZE];
- uint8_t e[FPRIME_SIZE];
- uint8_t s[FPRIME_SIZE];
- uint8_t k[FPRIME_SIZE];
- uint8_t z[FPRIME_SIZE];
-
- expand_key(expanded, secret);
-
- /* Generate k and R = kB */
- generate_k(k, expanded + 32, message, len);
- sm_pack(signature, k);
-
- /* Compute z = H(R, A, M) */
- hash_message(z, signature, pub, message, len);
-
- /* Obtain e */
- fprime_from_bytes(e, expanded, 32, ed25519_order);
-
- /* Compute s = ze + k */
- fprime_mul(s, z, e, ed25519_order);
- fprime_add(s, k, ed25519_order);
- memcpy(signature + 32, s, 32);
-}
-
-uint8_t edsign_verify(const uint8_t *signature, const uint8_t *pub,
- const uint8_t *message, size_t len)
-{
- struct ed25519_pt p;
- struct ed25519_pt q;
- uint8_t lhs[F25519_SIZE];
- uint8_t rhs[F25519_SIZE];
- uint8_t z[FPRIME_SIZE];
- uint8_t ok = 1;
-
- /* Compute z = H(R, A, M) */
- hash_message(z, signature, pub, message, len);
-
- /* sB = (ze + k)B = ... */
- sm_pack(lhs, signature + 32);
-
- /* ... = zA + R */
- ok &= upp(&p, pub);
- ed25519_smult(&p, &p, z);
- ok &= upp(&q, signature);
- ed25519_add(&p, &p, &q);
- pp(rhs, &p);
-
- /* Equal? */
- return ok & f25519_eq(lhs, rhs);
-}
diff --git a/vendor/tests/externals/c25519/edsign.h b/vendor/tests/externals/c25519/edsign.h
deleted file mode 100644
index 85e2208..0000000
--- a/vendor/tests/externals/c25519/edsign.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Edwards curve signature system
- * Daniel Beer <dlbeer@gmail.com>, 22 Apr 2014
- *
- * This file is in the public domain.
- */
-
-#ifndef EDSIGN_H_
-#define EDSIGN_H_
-
-#include <stdint.h>
-#include <stddef.h>
-
-/* This is the Ed25519 signature system, as described in:
- *
- * Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe, Bo-Yin
- * Yang. High-speed high-security signatures. Journal of Cryptographic
- * Engineering 2 (2012), 77-89. Document ID:
- * a1a62a2f76d23f65d622484ddd09caf8. URL:
- * http://cr.yp.to/papers.html#ed25519. Date: 2011.09.26.
- *
- * The format and calculation of signatures is compatible with the
- * Ed25519 implementation in SUPERCOP. Note, however, that our secret
- * keys are half the size: we don't store a copy of the public key in
- * the secret key (we generate it on demand).
- */
-
-/* Any string of 32 random bytes is a valid secret key. There is no
- * clamping of bits, because we don't use the key directly as an
- * exponent (the exponent is derived from part of a key expansion).
- */
-#define EDSIGN_SECRET_KEY_SIZE 32
-
-/* Given a secret key, produce the public key (a packed Edwards-curve
- * point).
- */
-#define EDSIGN_PUBLIC_KEY_SIZE 32
-
-void edsign_sec_to_pub(uint8_t *pub, const uint8_t *secret);
-
-/* Produce a signature for a message. */
-#define EDSIGN_SIGNATURE_SIZE 64
-
-void edsign_sign(uint8_t *signature, const uint8_t *pub,
- const uint8_t *secret,
- const uint8_t *message, size_t len);
-
-/* Verify a message signature. Returns non-zero if ok. */
-uint8_t edsign_verify(const uint8_t *signature, const uint8_t *pub,
- const uint8_t *message, size_t len);
-
-#endif
diff --git a/vendor/tests/externals/c25519/f25519.c b/vendor/tests/externals/c25519/f25519.c
deleted file mode 100644
index 3b06fa6..0000000
--- a/vendor/tests/externals/c25519/f25519.c
+++ /dev/null
@@ -1,324 +0,0 @@
-/* Arithmetic mod p = 2^255-19
- * Daniel Beer <dlbeer@gmail.com>, 5 Jan 2014
- *
- * This file is in the public domain.
- */
-
-#include "f25519.h"
-
-const uint8_t f25519_zero[F25519_SIZE] = {0};
-const uint8_t f25519_one[F25519_SIZE] = {1};
-
-void f25519_load(uint8_t *x, uint32_t c)
-{
- unsigned int i;
-
- for (i = 0; i < sizeof(c); i++) {
- x[i] = c;
- c >>= 8;
- }
-
- for (; i < F25519_SIZE; i++)
- x[i] = 0;
-}
-
-void f25519_normalize(uint8_t *x)
-{
- uint8_t minusp[F25519_SIZE];
- uint16_t c;
- int i;
-
- /* Reduce using 2^255 = 19 mod p */
- c = (x[31] >> 7) * 19;
- x[31] &= 127;
-
- for (i = 0; i < F25519_SIZE; i++) {
- c += x[i];
- x[i] = c;
- c >>= 8;
- }
-
- /* The number is now less than 2^255 + 18, and therefore less than
- * 2p. Try subtracting p, and conditionally load the subtracted
- * value if underflow did not occur.
- */
- c = 19;
-
- for (i = 0; i + 1 < F25519_SIZE; i++) {
- c += x[i];
- minusp[i] = c;
- c >>= 8;
- }
-
- c += ((uint16_t)x[i]) - 128;
- minusp[31] = c;
-
- /* Load x-p if no underflow */
- f25519_select(x, minusp, x, (c >> 15) & 1);
-}
-
-uint8_t f25519_eq(const uint8_t *x, const uint8_t *y)
-{
- uint8_t sum = 0;
- int i;
-
- for (i = 0; i < F25519_SIZE; i++)
- sum |= x[i] ^ y[i];
-
- sum |= (sum >> 4);
- sum |= (sum >> 2);
- sum |= (sum >> 1);
-
- return (sum ^ 1) & 1;
-}
-
-void f25519_select(uint8_t *dst,
- const uint8_t *zero, const uint8_t *one,
- uint8_t condition)
-{
- const uint8_t mask = -condition;
- int i;
-
- for (i = 0; i < F25519_SIZE; i++)
- dst[i] = zero[i] ^ (mask & (one[i] ^ zero[i]));
-}
-
-void f25519_add(uint8_t *r, const uint8_t *a, const uint8_t *b)
-{
- uint16_t c = 0;
- int i;
-
- /* Add */
- for (i = 0; i < F25519_SIZE; i++) {
- c >>= 8;
- c += ((uint16_t)a[i]) + ((uint16_t)b[i]);
- r[i] = c;
- }
-
- /* Reduce with 2^255 = 19 mod p */
- r[31] &= 127;
- c = (c >> 7) * 19;
-
- for (i = 0; i < F25519_SIZE; i++) {
- c += r[i];
- r[i] = c;
- c >>= 8;
- }
-}
-
-void f25519_sub(uint8_t *r, const uint8_t *a, const uint8_t *b)
-{
- uint32_t c = 0;
- int i;
-
- /* Calculate a + 2p - b, to avoid underflow */
- c = 218;
- for (i = 0; i + 1 < F25519_SIZE; i++) {
- c += 65280 + ((uint32_t)a[i]) - ((uint32_t)b[i]);
- r[i] = c;
- c >>= 8;
- }
-
- c += ((uint32_t)a[31]) - ((uint32_t)b[31]);
- r[31] = c & 127;
- c = (c >> 7) * 19;
-
- for (i = 0; i < F25519_SIZE; i++) {
- c += r[i];
- r[i] = c;
- c >>= 8;
- }
-}
-
-void f25519_neg(uint8_t *r, const uint8_t *a)
-{
- uint32_t c = 0;
- int i;
-
- /* Calculate 2p - a, to avoid underflow */
- c = 218;
- for (i = 0; i + 1 < F25519_SIZE; i++) {
- c += 65280 - ((uint32_t)a[i]);
- r[i] = c;
- c >>= 8;
- }
-
- c -= ((uint32_t)a[31]);
- r[31] = c & 127;
- c = (c >> 7) * 19;
-
- for (i = 0; i < F25519_SIZE; i++) {
- c += r[i];
- r[i] = c;
- c >>= 8;
- }
-}
-
-void f25519_mul__distinct(uint8_t *r, const uint8_t *a, const uint8_t *b)
-{
- uint32_t c = 0;
- int i;
-
- for (i = 0; i < F25519_SIZE; i++) {
- int j;
-
- c >>= 8;
- for (j = 0; j <= i; j++)
- c += ((uint32_t)a[j]) * ((uint32_t)b[i - j]);
-
- for (; j < F25519_SIZE; j++)
- c += ((uint32_t)a[j]) *
- ((uint32_t)b[i + F25519_SIZE - j]) * 38;
-
- r[i] = c;
- }
-
- r[31] &= 127;
- c = (c >> 7) * 19;
-
- for (i = 0; i < F25519_SIZE; i++) {
- c += r[i];
- r[i] = c;
- c >>= 8;
- }
-}
-
-void f25519_mul(uint8_t *r, const uint8_t *a, const uint8_t *b)
-{
- uint8_t tmp[F25519_SIZE];
-
- f25519_mul__distinct(tmp, a, b);
- f25519_copy(r, tmp);
-}
-
-void f25519_mul_c(uint8_t *r, const uint8_t *a, uint32_t b)
-{
- uint32_t c = 0;
- int i;
-
- for (i = 0; i < F25519_SIZE; i++) {
- c >>= 8;
- c += b * ((uint32_t)a[i]);
- r[i] = c;
- }
-
- r[31] &= 127;
- c >>= 7;
- c *= 19;
-
- for (i = 0; i < F25519_SIZE; i++) {
- c += r[i];
- r[i] = c;
- c >>= 8;
- }
-}
-
-void f25519_inv__distinct(uint8_t *r, const uint8_t *x)
-{
- uint8_t s[F25519_SIZE];
- int i;
-
- /* This is a prime field, so by Fermat's little theorem:
- *
- * x^(p-1) = 1 mod p
- *
- * Therefore, raise to (p-2) = 2^255-21 to get a multiplicative
- * inverse.
- *
- * This is a 255-bit binary number with the digits:
- *
- * 11111111... 01011
- *
- * We compute the result by the usual binary chain, but
- * alternate between keeping the accumulator in r and s, so as
- * to avoid copying temporaries.
- */
-
- /* 1 1 */
- f25519_mul__distinct(s, x, x);
- f25519_mul__distinct(r, s, x);
-
- /* 1 x 248 */
- for (i = 0; i < 248; i++) {
- f25519_mul__distinct(s, r, r);
- f25519_mul__distinct(r, s, x);
- }
-
- /* 0 */
- f25519_mul__distinct(s, r, r);
-
- /* 1 */
- f25519_mul__distinct(r, s, s);
- f25519_mul__distinct(s, r, x);
-
- /* 0 */
- f25519_mul__distinct(r, s, s);
-
- /* 1 */
- f25519_mul__distinct(s, r, r);
- f25519_mul__distinct(r, s, x);
-
- /* 1 */
- f25519_mul__distinct(s, r, r);
- f25519_mul__distinct(r, s, x);
-}
-
-void f25519_inv(uint8_t *r, const uint8_t *x)
-{
- uint8_t tmp[F25519_SIZE];
-
- f25519_inv__distinct(tmp, x);
- f25519_copy(r, tmp);
-}
-
-/* Raise x to the power of (p-5)/8 = 2^252-3, using s for temporary
- * storage.
- */
-static void exp2523(uint8_t *r, const uint8_t *x, uint8_t *s)
-{
- int i;
-
- /* This number is a 252-bit number with the binary expansion:
- *
- * 111111... 01
- */
-
- /* 1 1 */
- f25519_mul__distinct(r, x, x);
- f25519_mul__distinct(s, r, x);
-
- /* 1 x 248 */
- for (i = 0; i < 248; i++) {
- f25519_mul__distinct(r, s, s);
- f25519_mul__distinct(s, r, x);
- }
-
- /* 0 */
- f25519_mul__distinct(r, s, s);
-
- /* 1 */
- f25519_mul__distinct(s, r, r);
- f25519_mul__distinct(r, s, x);
-}
-
-void f25519_sqrt(uint8_t *r, const uint8_t *a)
-{
- uint8_t v[F25519_SIZE];
- uint8_t i[F25519_SIZE];
- uint8_t x[F25519_SIZE];
- uint8_t y[F25519_SIZE];
-
- /* v = (2a)^((p-5)/8) [x = 2a] */
- f25519_mul_c(x, a, 2);
- exp2523(v, x, y);
-
- /* i = 2av^2 - 1 */
- f25519_mul__distinct(y, v, v);
- f25519_mul__distinct(i, x, y);
- f25519_load(y, 1);
- f25519_sub(i, i, y);
-
- /* r = avi */
- f25519_mul__distinct(x, v, a);
- f25519_mul__distinct(r, x, i);
-}
diff --git a/vendor/tests/externals/c25519/f25519.h b/vendor/tests/externals/c25519/f25519.h
deleted file mode 100644
index 4cfa5ec..0000000
--- a/vendor/tests/externals/c25519/f25519.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Arithmetic mod p = 2^255-19
- * Daniel Beer <dlbeer@gmail.com>, 8 Jan 2014
- *
- * This file is in the public domain.
- */
-
-#ifndef F25519_H_
-#define F25519_H_
-
-#include <stdint.h>
-#include <string.h>
-
-/* Field elements are represented as little-endian byte strings. All
- * operations have timings which are independent of input data, so they
- * can be safely used for cryptography.
- *
- * Computation is performed on un-normalized elements. These are byte
- * strings which fall into the range 0 <= x < 2p. Use f25519_normalize()
- * to convert to a value 0 <= x < p.
- *
- * Elements received from the outside may greater even than 2p.
- * f25519_normalize() will correctly deal with these numbers too.
- */
-#define F25519_SIZE 32
-
-/* Identity constants */
-extern const uint8_t f25519_zero[F25519_SIZE];
-extern const uint8_t f25519_one[F25519_SIZE];
-
-/* Load a small constant */
-void f25519_load(uint8_t *x, uint32_t c);
-
-/* Copy two points */
-static inline void f25519_copy(uint8_t *x, const uint8_t *a)
-{
- memcpy(x, a, F25519_SIZE);
-}
-
-/* Normalize a field point x < 2*p by subtracting p if necessary */
-void f25519_normalize(uint8_t *x);
-
-/* Compare two field points in constant time. Return one if equal, zero
- * otherwise. This should be performed only on normalized values.
- */
-uint8_t f25519_eq(const uint8_t *x, const uint8_t *y);
-
-/* Conditional copy. If condition == 0, then zero is copied to dst. If
- * condition == 1, then one is copied to dst. Any other value results in
- * undefined behaviour.
- */
-void f25519_select(uint8_t *dst,
- const uint8_t *zero, const uint8_t *one,
- uint8_t condition);
-
-/* Add/subtract two field points. The three pointers are not required to
- * be distinct.
- */
-void f25519_add(uint8_t *r, const uint8_t *a, const uint8_t *b);
-void f25519_sub(uint8_t *r, const uint8_t *a, const uint8_t *b);
-
-/* Unary negation */
-void f25519_neg(uint8_t *r, const uint8_t *a);
-
-/* Multiply two field points. The __distinct variant is used when r is
- * known to be in a different location to a and b.
- */
-void f25519_mul(uint8_t *r, const uint8_t *a, const uint8_t *b);
-void f25519_mul__distinct(uint8_t *r, const uint8_t *a, const uint8_t *b);
-
-/* Multiply a point by a small constant. The two pointers are not
- * required to be distinct.
- *
- * The constant must be less than 2^24.
- */
-void f25519_mul_c(uint8_t *r, const uint8_t *a, uint32_t b);
-
-/* Take the reciprocal of a field point. The __distinct variant is used
- * when r is known to be in a different location to x.
- */
-void f25519_inv(uint8_t *r, const uint8_t *x);
-void f25519_inv__distinct(uint8_t *r, const uint8_t *x);
-
-/* Compute one of the square roots of the field element, if the element
- * is square. The other square is -r.
- *
- * If the input is not square, the returned value is a valid field
- * element, but not the correct answer. If you don't already know that
- * your element is square, you should square the return value and test.
- */
-void f25519_sqrt(uint8_t *r, const uint8_t *x);
-
-#endif
diff --git a/vendor/tests/externals/c25519/fprime.c b/vendor/tests/externals/c25519/fprime.c
deleted file mode 100644
index 25f2197..0000000
--- a/vendor/tests/externals/c25519/fprime.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/* Arithmetic in prime fields
- * Daniel Beer <dlbeer@gmail.com>, 10 Jan 2014
- *
- * This file is in the public domain.
- */
-
-#include "fprime.h"
-
-const uint8_t fprime_zero[FPRIME_SIZE] = {0};
-const uint8_t fprime_one[FPRIME_SIZE] = {1};
-
-static void raw_add(uint8_t *x, const uint8_t *p)
-{
- uint16_t c = 0;
- int i;
-
- for (i = 0; i < FPRIME_SIZE; i++) {
- c += ((uint16_t)x[i]) + ((uint16_t)p[i]);
- x[i] = c;
- c >>= 8;
- }
-}
-
-static void raw_try_sub(uint8_t *x, const uint8_t *p)
-{
- uint8_t minusp[FPRIME_SIZE];
- uint16_t c = 0;
- int i;
-
- for (i = 0; i < FPRIME_SIZE; i++) {
- c = ((uint16_t)x[i]) - ((uint16_t)p[i]) - c;
- minusp[i] = c;
- c = (c >> 8) & 1;
- }
-
- fprime_select(x, minusp, x, c);
-}
-
-/* Warning: this function is variable-time */
-static int prime_msb(const uint8_t *p)
-{
- int i;
- uint8_t x;
-
- for (i = FPRIME_SIZE - 1; i >= 0; i--)
- if (p[i])
- break;
-
- x = p[i];
- i <<= 3;
-
- while (x) {
- x >>= 1;
- i++;
- }
-
- return i - 1;
-}
-
-/* Warning: this function may be variable-time in the argument n */
-static void shift_n_bits(uint8_t *x, int n)
-{
- uint16_t c = 0;
- int i;
-
- for (i = 0; i < FPRIME_SIZE; i++) {
- c |= ((uint16_t)x[i]) << n;
- x[i] = c;
- c >>= 8;
- }
-}
-
-void fprime_load(uint8_t *x, uint32_t c)
-{
- unsigned int i;
-
- for (i = 0; i < sizeof(c); i++) {
- x[i] = c;
- c >>= 8;
- }
-
- for (; i < FPRIME_SIZE; i++)
- x[i] = 0;
-}
-
-static inline int min_int(int a, int b)
-{
- return a < b ? a : b;
-}
-
-void fprime_from_bytes(uint8_t *n,
- const uint8_t *x, size_t len,
- const uint8_t *modulus)
-{
- const int preload_total = min_int(prime_msb(modulus) - 1, len << 3);
- const int preload_bytes = preload_total >> 3;
- const int preload_bits = preload_total & 7;
- const int rbits = (len << 3) - preload_total;
- int i;
-
- memset(n, 0, FPRIME_SIZE);
-
- for (i = 0; i < preload_bytes; i++)
- n[i] = x[len - preload_bytes + i];
-
- if (preload_bits) {
- shift_n_bits(n, preload_bits);
- n[0] |= x[len - preload_bytes - 1] >> (8 - preload_bits);
- }
-
- for (i = rbits - 1; i >= 0; i--) {
- const uint8_t bit = (x[i >> 3] >> (i & 7)) & 1;
-
- shift_n_bits(n, 1);
- n[0] |= bit;
- raw_try_sub(n, modulus);
- }
-}
-
-void fprime_normalize(uint8_t *x, const uint8_t *modulus)
-{
- uint8_t n[FPRIME_SIZE];
-
- fprime_from_bytes(n, x, FPRIME_SIZE, modulus);
- fprime_copy(x, n);
-}
-
-uint8_t fprime_eq(const uint8_t *x, const uint8_t *y)
-{
- uint8_t sum = 0;
- int i;
-
- for (i = 0; i < FPRIME_SIZE; i++)
- sum |= x[i] ^ y[i];
-
- sum |= (sum >> 4);
- sum |= (sum >> 2);
- sum |= (sum >> 1);
-
- return (sum ^ 1) & 1;
-}
-
-void fprime_select(uint8_t *dst,
- const uint8_t *zero, const uint8_t *one,
- uint8_t condition)
-{
- const uint8_t mask = -condition;
- int i;
-
- for (i = 0; i < FPRIME_SIZE; i++)
- dst[i] = zero[i] ^ (mask & (one[i] ^ zero[i]));
-}
-
-void fprime_add(uint8_t *r, const uint8_t *a, const uint8_t *modulus)
-{
- raw_add(r, a);
- raw_try_sub(r, modulus);
-}
-
-void fprime_sub(uint8_t *r, const uint8_t *a, const uint8_t *modulus)
-{
- raw_add(r, modulus);
- raw_try_sub(r, a);
- raw_try_sub(r, modulus);
-}
-
-void fprime_mul(uint8_t *r, const uint8_t *a, const uint8_t *b,
- const uint8_t *modulus)
-{
- int i;
-
- memset(r, 0, FPRIME_SIZE);
-
- for (i = prime_msb(modulus); i >= 0; i--) {
- const uint8_t bit = (b[i >> 3] >> (i & 7)) & 1;
- uint8_t plusa[FPRIME_SIZE];
-
- shift_n_bits(r, 1);
- raw_try_sub(r, modulus);
-
- fprime_copy(plusa, r);
- fprime_add(plusa, a, modulus);
-
- fprime_select(r, r, plusa, bit);
- }
-}
-
-void fprime_inv(uint8_t *r, const uint8_t *a, const uint8_t *modulus)
-{
- uint8_t pm2[FPRIME_SIZE];
- uint16_t c = 2;
- int i;
-
- /* Compute (p-2) */
- fprime_copy(pm2, modulus);
- for (i = 0; i < FPRIME_SIZE; i++) {
- c = modulus[i] - c;
- pm2[i] = c;
- c >>= 8;
- }
-
- /* Binary exponentiation */
- fprime_load(r, 1);
-
- for (i = prime_msb(modulus); i >= 0; i--) {
- uint8_t r2[FPRIME_SIZE];
-
- fprime_mul(r2, r, r, modulus);
-
- if ((pm2[i >> 3] >> (i & 7)) & 1)
- fprime_mul(r, r2, a, modulus);
- else
- fprime_copy(r, r2);
- }
-}
diff --git a/vendor/tests/externals/c25519/fprime.h b/vendor/tests/externals/c25519/fprime.h
deleted file mode 100644
index 4a5486c..0000000
--- a/vendor/tests/externals/c25519/fprime.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Arithmetic in prime fields
- * Daniel Beer <dlbeer@gmail.com>, 10 Jan 2014
- *
- * This file is in the public domain.
- */
-
-#ifndef FPRIME_H_
-#define FPRIME_H_
-
-#include <stdint.h>
-#include <string.h>
-
-/* Maximum size of a field element (or a prime). Field elements are
- * always manipulated and stored in normalized form, with 0 <= x < p.
- * You can use normalize() to convert a denormalized bitstring to normal
- * form.
- *
- * Operations are constant with respect to the value of field elements,
- * but not with respect to the modulus.
- *
- * The modulus is a number p, such that 2p-1 fits in FPRIME_SIZE bytes.
- */
-#define FPRIME_SIZE 32
-
-/* Useful constants */
-extern const uint8_t fprime_zero[FPRIME_SIZE];
-extern const uint8_t fprime_one[FPRIME_SIZE];
-
-/* Load a small constant */
-void fprime_load(uint8_t *x, uint32_t c);
-
-/* Load a large constant */
-void fprime_from_bytes(uint8_t *x,
- const uint8_t *in, size_t len,
- const uint8_t *modulus);
-
-/* Copy an element */
-static inline void fprime_copy(uint8_t *x, const uint8_t *a)
-{
- memcpy(x, a, FPRIME_SIZE);
-}
-
-/* Normalize a field element */
-void fprime_normalize(uint8_t *x, const uint8_t *modulus);
-
-/* Compare two field points in constant time. Return one if equal, zero
- * otherwise. This should be performed only on normalized values.
- */
-uint8_t fprime_eq(const uint8_t *x, const uint8_t *y);
-
-/* Conditional copy. If condition == 0, then zero is copied to dst. If
- * condition == 1, then one is copied to dst. Any other value results in
- * undefined behaviour.
- */
-void fprime_select(uint8_t *dst,
- const uint8_t *zero, const uint8_t *one,
- uint8_t condition);
-
-/* Add one value to another. The two pointers must be distinct. */
-void fprime_add(uint8_t *r, const uint8_t *a, const uint8_t *modulus);
-void fprime_sub(uint8_t *r, const uint8_t *a, const uint8_t *modulus);
-
-/* Multiply two values to get a third. r must be distinct from a and b */
-void fprime_mul(uint8_t *r, const uint8_t *a, const uint8_t *b,
- const uint8_t *modulus);
-
-/* Compute multiplicative inverse. r must be distinct from a */
-void fprime_inv(uint8_t *r, const uint8_t *a, const uint8_t *modulus);
-
-#endif
diff --git a/vendor/tests/externals/c25519/morph25519.c b/vendor/tests/externals/c25519/morph25519.c
deleted file mode 100644
index 3d64022..0000000
--- a/vendor/tests/externals/c25519/morph25519.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Montgomery <-> Edwards isomorphism
- * Daniel Beer <dlbeer@gmail.com>, 18 Jan 2014
- *
- * This file is in the public domain.
- */
-
-#include "morph25519.h"
-#include "f25519.h"
-
-void morph25519_e2m(uint8_t *montgomery, const uint8_t *y)
-{
- uint8_t yplus[F25519_SIZE];
- uint8_t yminus[F25519_SIZE];
-
- f25519_sub(yplus, f25519_one, y);
- f25519_inv__distinct(yminus, yplus);
- f25519_add(yplus, f25519_one, y);
- f25519_mul__distinct(montgomery, yplus, yminus);
- f25519_normalize(montgomery);
-}
-
-static void mx2ey(uint8_t *ey, const uint8_t *mx)
-{
- uint8_t n[F25519_SIZE];
- uint8_t d[F25519_SIZE];
-
- f25519_add(n, mx, f25519_one);
- f25519_inv__distinct(d, n);
- f25519_sub(n, mx, f25519_one);
- f25519_mul__distinct(ey, n, d);
-}
-
-static uint8_t ey2ex(uint8_t *x, const uint8_t *y, int parity)
-{
- static const uint8_t d[F25519_SIZE] = {
- 0xa3, 0x78, 0x59, 0x13, 0xca, 0x4d, 0xeb, 0x75,
- 0xab, 0xd8, 0x41, 0x41, 0x4d, 0x0a, 0x70, 0x00,
- 0x98, 0xe8, 0x79, 0x77, 0x79, 0x40, 0xc7, 0x8c,
- 0x73, 0xfe, 0x6f, 0x2b, 0xee, 0x6c, 0x03, 0x52
- };
-
- uint8_t a[F25519_SIZE];
- uint8_t b[F25519_SIZE];
- uint8_t c[F25519_SIZE];
-
- /* Compute c = y^2 */
- f25519_mul__distinct(c, y, y);
-
- /* Compute b = (1+dy^2)^-1 */
- f25519_mul__distinct(b, c, d);
- f25519_add(a, b, f25519_one);
- f25519_inv__distinct(b, a);
-
- /* Compute a = y^2-1 */
- f25519_sub(a, c, f25519_one);
-
- /* Compute c = a*b = (y^2+1)/(1-dy^2) */
- f25519_mul__distinct(c, a, b);
-
- /* Compute a, b = +/-sqrt(c), if c is square */
- f25519_sqrt(a, c);
- f25519_neg(b, a);
-
- /* Select one of them, based on the parity bit */
- f25519_select(x, a, b, (a[0] ^ parity) & 1);
-
- /* Verify that x^2 = c */
- f25519_mul__distinct(a, x, x);
- f25519_normalize(a);
- f25519_normalize(c);
-
- return f25519_eq(a, c);
-}
-
-uint8_t morph25519_m2e(uint8_t *ex, uint8_t *ey,
- const uint8_t *mx, int parity)
-{
- uint8_t ok;
-
- mx2ey(ey, mx);
- ok = ey2ex(ex, ey, parity);
-
- f25519_normalize(ex);
- f25519_normalize(ey);
-
- return ok;
-}
diff --git a/vendor/tests/externals/c25519/morph25519.h b/vendor/tests/externals/c25519/morph25519.h
deleted file mode 100644
index ead91f4..0000000
--- a/vendor/tests/externals/c25519/morph25519.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Montgomery <-> Edwards isomorphism
- * Daniel Beer <dlbeer@gmail.com>, 18 Jan 2014
- *
- * This file is in the public domain.
- */
-
-#ifndef MORPH25519_H_
-#define MORPH25519_H_
-
-#include <stdint.h>
-
-/* Convert an Edwards Y to a Montgomery X (Edwards X is not used).
- * Resulting coordinate is normalized.
- */
-void morph25519_e2m(uint8_t *montgomery_x, const uint8_t *edwards_y);
-
-/* Return a parity bit for the Edwards X coordinate */
-static inline int morph25519_eparity(const uint8_t *edwards_x)
-{
- return edwards_x[0] & 1;
-}
-
-/* Convert a Montgomery X and a parity bit to an Edwards X/Y. Returns
- * non-zero if successful.
- */
-uint8_t morph25519_m2e(uint8_t *ex, uint8_t *ey,
- const uint8_t *mx, int parity);
-
-#endif
diff --git a/vendor/tests/externals/c25519/sha512.c b/vendor/tests/externals/c25519/sha512.c
deleted file mode 100644
index d90d22d..0000000
--- a/vendor/tests/externals/c25519/sha512.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/* SHA512
- * Daniel Beer <dlbeer@gmail.com>, 22 Apr 2014
- *
- * This file is in the public domain.
- */
-
-#include "sha512.h"
-
-const struct sha512_state sha512_initial_state = { {
- 0x6a09e667f3bcc908LL, 0xbb67ae8584caa73bLL,
- 0x3c6ef372fe94f82bLL, 0xa54ff53a5f1d36f1LL,
- 0x510e527fade682d1LL, 0x9b05688c2b3e6c1fLL,
- 0x1f83d9abfb41bd6bLL, 0x5be0cd19137e2179LL,
-} };
-
-static const uint64_t round_k[80] = {
- 0x428a2f98d728ae22LL, 0x7137449123ef65cdLL,
- 0xb5c0fbcfec4d3b2fLL, 0xe9b5dba58189dbbcLL,
- 0x3956c25bf348b538LL, 0x59f111f1b605d019LL,
- 0x923f82a4af194f9bLL, 0xab1c5ed5da6d8118LL,
- 0xd807aa98a3030242LL, 0x12835b0145706fbeLL,
- 0x243185be4ee4b28cLL, 0x550c7dc3d5ffb4e2LL,
- 0x72be5d74f27b896fLL, 0x80deb1fe3b1696b1LL,
- 0x9bdc06a725c71235LL, 0xc19bf174cf692694LL,
- 0xe49b69c19ef14ad2LL, 0xefbe4786384f25e3LL,
- 0x0fc19dc68b8cd5b5LL, 0x240ca1cc77ac9c65LL,
- 0x2de92c6f592b0275LL, 0x4a7484aa6ea6e483LL,
- 0x5cb0a9dcbd41fbd4LL, 0x76f988da831153b5LL,
- 0x983e5152ee66dfabLL, 0xa831c66d2db43210LL,
- 0xb00327c898fb213fLL, 0xbf597fc7beef0ee4LL,
- 0xc6e00bf33da88fc2LL, 0xd5a79147930aa725LL,
- 0x06ca6351e003826fLL, 0x142929670a0e6e70LL,
- 0x27b70a8546d22ffcLL, 0x2e1b21385c26c926LL,
- 0x4d2c6dfc5ac42aedLL, 0x53380d139d95b3dfLL,
- 0x650a73548baf63deLL, 0x766a0abb3c77b2a8LL,
- 0x81c2c92e47edaee6LL, 0x92722c851482353bLL,
- 0xa2bfe8a14cf10364LL, 0xa81a664bbc423001LL,
- 0xc24b8b70d0f89791LL, 0xc76c51a30654be30LL,
- 0xd192e819d6ef5218LL, 0xd69906245565a910LL,
- 0xf40e35855771202aLL, 0x106aa07032bbd1b8LL,
- 0x19a4c116b8d2d0c8LL, 0x1e376c085141ab53LL,
- 0x2748774cdf8eeb99LL, 0x34b0bcb5e19b48a8LL,
- 0x391c0cb3c5c95a63LL, 0x4ed8aa4ae3418acbLL,
- 0x5b9cca4f7763e373LL, 0x682e6ff3d6b2b8a3LL,
- 0x748f82ee5defb2fcLL, 0x78a5636f43172f60LL,
- 0x84c87814a1f0ab72LL, 0x8cc702081a6439ecLL,
- 0x90befffa23631e28LL, 0xa4506cebde82bde9LL,
- 0xbef9a3f7b2c67915LL, 0xc67178f2e372532bLL,
- 0xca273eceea26619cLL, 0xd186b8c721c0c207LL,
- 0xeada7dd6cde0eb1eLL, 0xf57d4f7fee6ed178LL,
- 0x06f067aa72176fbaLL, 0x0a637dc5a2c898a6LL,
- 0x113f9804bef90daeLL, 0x1b710b35131c471bLL,
- 0x28db77f523047d84LL, 0x32caab7b40c72493LL,
- 0x3c9ebe0a15c9bebcLL, 0x431d67c49c100d4cLL,
- 0x4cc5d4becb3e42b6LL, 0x597f299cfc657e2aLL,
- 0x5fcb6fab3ad6faecLL, 0x6c44198c4a475817LL,
-};
-
-static inline uint64_t load64(const uint8_t *x)
-{
- uint64_t r;
-
- r = *(x++);
- r = (r << 8) | *(x++);
- r = (r << 8) | *(x++);
- r = (r << 8) | *(x++);
- r = (r << 8) | *(x++);
- r = (r << 8) | *(x++);
- r = (r << 8) | *(x++);
- r = (r << 8) | *(x++);
-
- return r;
-}
-
-static inline void store64(uint8_t *x, uint64_t v)
-{
- x += 7;
- *(x--) = v;
- v >>= 8;
- *(x--) = v;
- v >>= 8;
- *(x--) = v;
- v >>= 8;
- *(x--) = v;
- v >>= 8;
- *(x--) = v;
- v >>= 8;
- *(x--) = v;
- v >>= 8;
- *(x--) = v;
- v >>= 8;
- *(x--) = v;
-}
-
-static inline uint64_t rot64(uint64_t x, int bits)
-{
- return (x >> bits) | (x << (64 - bits));
-}
-
-void sha512_block(struct sha512_state *s, const uint8_t *blk)
-{
- uint64_t w[16];
- uint64_t a, b, c, d, e, f, g, h;
- int i;
-
- for (i = 0; i < 16; i++) {
- w[i] = load64(blk);
- blk += 8;
- }
-
- /* Load state */
- a = s->h[0];
- b = s->h[1];
- c = s->h[2];
- d = s->h[3];
- e = s->h[4];
- f = s->h[5];
- g = s->h[6];
- h = s->h[7];
-
- for (i = 0; i < 80; i++) {
- /* Compute value of w[i + 16]. w[wrap(i)] is currently w[i] */
- const uint64_t wi = w[i & 15];
- const uint64_t wi15 = w[(i + 1) & 15];
- const uint64_t wi2 = w[(i + 14) & 15];
- const uint64_t wi7 = w[(i + 9) & 15];
- const uint64_t s0 =
- rot64(wi15, 1) ^ rot64(wi15, 8) ^ (wi15 >> 7);
- const uint64_t s1 =
- rot64(wi2, 19) ^ rot64(wi2, 61) ^ (wi2 >> 6);
-
- /* Round calculations */
- const uint64_t S0 = rot64(a, 28) ^ rot64(a, 34) ^ rot64(a, 39);
- const uint64_t S1 = rot64(e, 14) ^ rot64(e, 18) ^ rot64(e, 41);
- const uint64_t ch = (e & f) ^ ((~e) & g);
- const uint64_t temp1 = h + S1 + ch + round_k[i] + wi;
- const uint64_t maj = (a & b) ^ (a & c) ^ (b & c);
- const uint64_t temp2 = S0 + maj;
-
- /* Update round state */
- h = g;
- g = f;
- f = e;
- e = d + temp1;
- d = c;
- c = b;
- b = a;
- a = temp1 + temp2;
-
- /* w[wrap(i)] becomes w[i + 16] */
- w[i & 15] = wi + s0 + wi7 + s1;
- }
-
- /* Store state */
- s->h[0] += a;
- s->h[1] += b;
- s->h[2] += c;
- s->h[3] += d;
- s->h[4] += e;
- s->h[5] += f;
- s->h[6] += g;
- s->h[7] += h;
-}
-
-void sha512_final(struct sha512_state *s, const uint8_t *blk,
- size_t total_size)
-{
- uint8_t temp[SHA512_BLOCK_SIZE] = {0};
- const size_t last_size = total_size & (SHA512_BLOCK_SIZE - 1);
-
- if (last_size)
- memcpy(temp, blk, last_size);
- temp[last_size] = 0x80;
-
- if (last_size > 111) {
- sha512_block(s, temp);
- memset(temp, 0, sizeof(temp));
- }
-
- /* Note: we assume total_size fits in 61 bits */
- store64(temp + SHA512_BLOCK_SIZE - 8, total_size << 3);
- sha512_block(s, temp);
-}
-
-void sha512_get(const struct sha512_state *s, uint8_t *hash,
- unsigned int offset, unsigned int len)
-{
- int i;
-
- if (offset > SHA512_BLOCK_SIZE)
- return;
-
- if (len > SHA512_BLOCK_SIZE - offset)
- len = SHA512_BLOCK_SIZE - offset;
-
- /* Skip whole words */
- i = offset >> 3;
- offset &= 7;
-
- /* Skip/read out bytes */
- if (offset) {
- uint8_t tmp[8];
- unsigned int c = 8 - offset;
-
- if (c > len)
- c = len;
-
- store64(tmp, s->h[i++]);
- memcpy(hash, tmp + offset, c);
- len -= c;
- hash += c;
- }
-
- /* Read out whole words */
- while (len >= 8) {
- store64(hash, s->h[i++]);
- hash += 8;
- len -= 8;
- }
-
- /* Read out bytes */
- if (len) {
- uint8_t tmp[8];
-
- store64(tmp, s->h[i]);
- memcpy(hash, tmp, len);
- }
-}
diff --git a/vendor/tests/externals/c25519/sha512.h b/vendor/tests/externals/c25519/sha512.h
deleted file mode 100644
index 1391745..0000000
--- a/vendor/tests/externals/c25519/sha512.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* SHA512
- * Daniel Beer <dlbeer@gmail.com>, 22 Apr 2014
- *
- * This file is in the public domain.
- */
-
-#ifndef SHA512_H_
-#define SHA512_H_
-
-#include <stdint.h>
-#include <stddef.h>
-#include <string.h>
-
-/* SHA512 state. State is updated as data is fed in, and then the final
- * hash can be read out in slices.
- *
- * Data is fed in as a sequence of full blocks terminated by a single
- * partial block.
- */
-struct sha512_state {
- uint64_t h[8];
-};
-
-/* Initial state */
-extern const struct sha512_state sha512_initial_state;
-
-/* Set up a new context */
-static inline void sha512_init(struct sha512_state *s)
-{
- memcpy(s, &sha512_initial_state, sizeof(*s));
-}
-
-/* Feed a full block in */
-#define SHA512_BLOCK_SIZE 128
-
-void sha512_block(struct sha512_state *s, const uint8_t *blk);
-
-/* Feed the last partial block in. The total stream size must be
- * specified. The size of the block given is assumed to be (total_size %
- * SHA512_BLOCK_SIZE). This might be zero, but you still need to call
- * this function to terminate the stream.
- */
-void sha512_final(struct sha512_state *s, const uint8_t *blk,
- size_t total_size);
-
-/* Fetch a slice of the hash result. */
-#define SHA512_HASH_SIZE 64
-
-void sha512_get(const struct sha512_state *s, uint8_t *hash,
- unsigned int offset, unsigned int len);
-
-#endif
diff --git a/vendor/tests/externals/tweetnacl/AUTHORS.md b/vendor/tests/externals/tweetnacl/AUTHORS.md
deleted file mode 100644
index e3300f3..0000000
--- a/vendor/tests/externals/tweetnacl/AUTHORS.md
+++ /dev/null
@@ -1,20 +0,0 @@
-The code of TweetNaCl has been written by:
-
-* Daniel J. Bernstein
-* Bernard von Gastel
-* Wesley Janssen
-* Tanja Lange
-* Peter Schwabe
-* Sjaak Smetsers
-
-TweetNaCl has been dedicated to the public domain;
-refer to <https://tweetnacl.cr.yp.to/>
-("TweetNaCl is a self-contained public-domain C library, [...]")
-and Daniel J. Bernstein et al., TweetNaCl: a crypto library in
-100 tweets, LATINCRYPT 2014, pp. 64-83, (also available from
-<https://tweetnacl.cr.yp.to/tweetnacl-20140917.pdf>), p. 3:
-"We have placed TweetNaCl into the public domain, and we encourage
-applications to make use of it".
-
-TweetNaCl has been obtained via <https://tweetnacl.cr.yp.to/>.
-
diff --git a/vendor/tests/externals/tweetnacl/tweetnacl.c b/vendor/tests/externals/tweetnacl/tweetnacl.c
deleted file mode 100644
index 8ac0a18..0000000
--- a/vendor/tests/externals/tweetnacl/tweetnacl.c
+++ /dev/null
@@ -1,809 +0,0 @@
-#include "tweetnacl.h"
-#define FOR(i,n) for (i = 0;i < n;++i)
-#define sv static void
-
-typedef unsigned char u8;
-typedef unsigned long u32;
-typedef unsigned long long u64;
-typedef long long i64;
-typedef i64 gf[16];
-extern void randombytes(u8 *,u64);
-
-static const u8
- _0[16],
- _9[32] = {9};
-static const gf
- gf0,
- gf1 = {1},
- _121665 = {0xDB41,1},
- D = {0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203},
- D2 = {0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406},
- X = {0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169},
- Y = {0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666},
- I = {0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83};
-
-static u32 L32(u32 x,int c) { return (x << c) | ((x&0xffffffff) >> (32 - c)); }
-
-static u32 ld32(const u8 *x)
-{
- u32 u = x[3];
- u = (u<<8)|x[2];
- u = (u<<8)|x[1];
- return (u<<8)|x[0];
-}
-
-static u64 dl64(const u8 *x)
-{
- u64 i,u=0;
- FOR(i,8) u=(u<<8)|x[i];
- return u;
-}
-
-sv st32(u8 *x,u32 u)
-{
- int i;
- FOR(i,4) { x[i] = u; u >>= 8; }
-}
-
-sv ts64(u8 *x,u64 u)
-{
- int i;
- for (i = 7;i >= 0;--i) { x[i] = u; u >>= 8; }
-}
-
-static int vn(const u8 *x,const u8 *y,int n)
-{
- u32 i,d = 0;
- FOR(i,n) d |= x[i]^y[i];
- return (1 & ((d - 1) >> 8)) - 1;
-}
-
-int crypto_verify_16(const u8 *x,const u8 *y)
-{
- return vn(x,y,16);
-}
-
-int crypto_verify_32(const u8 *x,const u8 *y)
-{
- return vn(x,y,32);
-}
-
-sv core(u8 *out,const u8 *in,const u8 *k,const u8 *c,int h)
-{
- u32 w[16],x[16],y[16],t[4];
- int i,j,m;
-
- FOR(i,4) {
- x[5*i] = ld32(c+4*i);
- x[1+i] = ld32(k+4*i);
- x[6+i] = ld32(in+4*i);
- x[11+i] = ld32(k+16+4*i);
- }
-
- FOR(i,16) y[i] = x[i];
-
- FOR(i,20) {
- FOR(j,4) {
- FOR(m,4) t[m] = x[(5*j+4*m)%16];
- t[1] ^= L32(t[0]+t[3], 7);
- t[2] ^= L32(t[1]+t[0], 9);
- t[3] ^= L32(t[2]+t[1],13);
- t[0] ^= L32(t[3]+t[2],18);
- FOR(m,4) w[4*j+(j+m)%4] = t[m];
- }
- FOR(m,16) x[m] = w[m];
- }
-
- if (h) {
- FOR(i,16) x[i] += y[i];
- FOR(i,4) {
- x[5*i] -= ld32(c+4*i);
- x[6+i] -= ld32(in+4*i);
- }
- FOR(i,4) {
- st32(out+4*i,x[5*i]);
- st32(out+16+4*i,x[6+i]);
- }
- } else
- FOR(i,16) st32(out + 4 * i,x[i] + y[i]);
-}
-
-int crypto_core_salsa20(u8 *out,const u8 *in,const u8 *k,const u8 *c)
-{
- core(out,in,k,c,0);
- return 0;
-}
-
-int crypto_core_hsalsa20(u8 *out,const u8 *in,const u8 *k,const u8 *c)
-{
- core(out,in,k,c,1);
- return 0;
-}
-
-static const u8 sigma[16] = "expand 32-byte k";
-
-int crypto_stream_salsa20_xor(u8 *c,const u8 *m,u64 b,const u8 *n,const u8 *k)
-{
- u8 z[16],x[64];
- u32 u,i;
- if (!b) return 0;
- FOR(i,16) z[i] = 0;
- FOR(i,8) z[i] = n[i];
- while (b >= 64) {
- crypto_core_salsa20(x,z,k,sigma);
- FOR(i,64) c[i] = (m?m[i]:0) ^ x[i];
- u = 1;
- for (i = 8;i < 16;++i) {
- u += (u32) z[i];
- z[i] = u;
- u >>= 8;
- }
- b -= 64;
- c += 64;
- if (m) m += 64;
- }
- if (b) {
- crypto_core_salsa20(x,z,k,sigma);
- FOR(i,b) c[i] = (m?m[i]:0) ^ x[i];
- }
- return 0;
-}
-
-int crypto_stream_salsa20(u8 *c,u64 d,const u8 *n,const u8 *k)
-{
- return crypto_stream_salsa20_xor(c,0,d,n,k);
-}
-
-int crypto_stream(u8 *c,u64 d,const u8 *n,const u8 *k)
-{
- u8 s[32];
- crypto_core_hsalsa20(s,n,k,sigma);
- return crypto_stream_salsa20(c,d,n+16,s);
-}
-
-int crypto_stream_xor(u8 *c,const u8 *m,u64 d,const u8 *n,const u8 *k)
-{
- u8 s[32];
- crypto_core_hsalsa20(s,n,k,sigma);
- return crypto_stream_salsa20_xor(c,m,d,n+16,s);
-}
-
-sv add1305(u32 *h,const u32 *c)
-{
- u32 j,u = 0;
- FOR(j,17) {
- u += h[j] + c[j];
- h[j] = u & 255;
- u >>= 8;
- }
-}
-
-static const u32 minusp[17] = {
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252
-} ;
-
-int crypto_onetimeauth(u8 *out,const u8 *m,u64 n,const u8 *k)
-{
- u32 s,i,j,u,x[17],r[17],h[17],c[17],g[17];
-
- FOR(j,17) r[j]=h[j]=0;
- FOR(j,16) r[j]=k[j];
- r[3]&=15;
- r[4]&=252;
- r[7]&=15;
- r[8]&=252;
- r[11]&=15;
- r[12]&=252;
- r[15]&=15;
-
- while (n > 0) {
- FOR(j,17) c[j] = 0;
- for (j = 0;(j < 16) && (j < n);++j) c[j] = m[j];
- c[j] = 1;
- m += j; n -= j;
- add1305(h,c);
- FOR(i,17) {
- x[i] = 0;
- FOR(j,17) x[i] += h[j] * ((j <= i) ? r[i - j] : 320 * r[i + 17 - j]);
- }
- FOR(i,17) h[i] = x[i];
- u = 0;
- FOR(j,16) {
- u += h[j];
- h[j] = u & 255;
- u >>= 8;
- }
- u += h[16]; h[16] = u & 3;
- u = 5 * (u >> 2);
- FOR(j,16) {
- u += h[j];
- h[j] = u & 255;
- u >>= 8;
- }
- u += h[16]; h[16] = u;
- }
-
- FOR(j,17) g[j] = h[j];
- add1305(h,minusp);
- s = -(h[16] >> 7);
- FOR(j,17) h[j] ^= s & (g[j] ^ h[j]);
-
- FOR(j,16) c[j] = k[j + 16];
- c[16] = 0;
- add1305(h,c);
- FOR(j,16) out[j] = h[j];
- return 0;
-}
-
-int crypto_onetimeauth_verify(const u8 *h,const u8 *m,u64 n,const u8 *k)
-{
- u8 x[16];
- crypto_onetimeauth(x,m,n,k);
- return crypto_verify_16(h,x);
-}
-
-int crypto_secretbox(u8 *c,const u8 *m,u64 d,const u8 *n,const u8 *k)
-{
- int i;
- if (d < 32) return -1;
- crypto_stream_xor(c,m,d,n,k);
- crypto_onetimeauth(c + 16,c + 32,d - 32,c);
- FOR(i,16) c[i] = 0;
- return 0;
-}
-
-int crypto_secretbox_open(u8 *m,const u8 *c,u64 d,const u8 *n,const u8 *k)
-{
- int i;
- u8 x[32];
- if (d < 32) return -1;
- crypto_stream(x,32,n,k);
- if (crypto_onetimeauth_verify(c + 16,c + 32,d - 32,x) != 0) return -1;
- crypto_stream_xor(m,c,d,n,k);
- FOR(i,32) m[i] = 0;
- return 0;
-}
-
-sv set25519(gf r, const gf a)
-{
- int i;
- FOR(i,16) r[i]=a[i];
-}
-
-sv car25519(gf o)
-{
- int i;
- i64 c;
- FOR(i,16) {
- o[i]+=(1LL<<16);
- c=o[i]>>16;
- o[(i+1)*(i<15)]+=c-1+37*(c-1)*(i==15);
- o[i]-=c<<16;
- }
-}
-
-sv sel25519(gf p,gf q,int b)
-{
- i64 t,i,c=~(b-1);
- FOR(i,16) {
- t= c&(p[i]^q[i]);
- p[i]^=t;
- q[i]^=t;
- }
-}
-
-sv pack25519(u8 *o,const gf n)
-{
- int i,j,b;
- gf m,t;
- FOR(i,16) t[i]=n[i];
- car25519(t);
- car25519(t);
- car25519(t);
- FOR(j,2) {
- m[0]=t[0]-0xffed;
- for(i=1;i<15;i++) {
- m[i]=t[i]-0xffff-((m[i-1]>>16)&1);
- m[i-1]&=0xffff;
- }
- m[15]=t[15]-0x7fff-((m[14]>>16)&1);
- b=(m[15]>>16)&1;
- m[14]&=0xffff;
- sel25519(t,m,1-b);
- }
- FOR(i,16) {
- o[2*i]=t[i]&0xff;
- o[2*i+1]=t[i]>>8;
- }
-}
-
-static int neq25519(const gf a, const gf b)
-{
- u8 c[32],d[32];
- pack25519(c,a);
- pack25519(d,b);
- return crypto_verify_32(c,d);
-}
-
-static u8 par25519(const gf a)
-{
- u8 d[32];
- pack25519(d,a);
- return d[0]&1;
-}
-
-sv unpack25519(gf o, const u8 *n)
-{
- int i;
- FOR(i,16) o[i]=n[2*i]+((i64)n[2*i+1]<<8);
- o[15]&=0x7fff;
-}
-
-sv A(gf o,const gf a,const gf b)
-{
- int i;
- FOR(i,16) o[i]=a[i]+b[i];
-}
-
-sv Z(gf o,const gf a,const gf b)
-{
- int i;
- FOR(i,16) o[i]=a[i]-b[i];
-}
-
-sv M(gf o,const gf a,const gf b)
-{
- i64 i,j,t[31];
- FOR(i,31) t[i]=0;
- FOR(i,16) FOR(j,16) t[i+j]+=a[i]*b[j];
- FOR(i,15) t[i]+=38*t[i+16];
- FOR(i,16) o[i]=t[i];
- car25519(o);
- car25519(o);
-}
-
-sv S(gf o,const gf a)
-{
- M(o,a,a);
-}
-
-sv inv25519(gf o,const gf i)
-{
- gf c;
- int a;
- FOR(a,16) c[a]=i[a];
- for(a=253;a>=0;a--) {
- S(c,c);
- if(a!=2&&a!=4) M(c,c,i);
- }
- FOR(a,16) o[a]=c[a];
-}
-
-sv pow2523(gf o,const gf i)
-{
- gf c;
- int a;
- FOR(a,16) c[a]=i[a];
- for(a=250;a>=0;a--) {
- S(c,c);
- if(a!=1) M(c,c,i);
- }
- FOR(a,16) o[a]=c[a];
-}
-
-int crypto_scalarmult(u8 *q,const u8 *n,const u8 *p)
-{
- u8 z[32];
- i64 x[80],r,i;
- gf a,b,c,d,e,f;
- FOR(i,31) z[i]=n[i];
- z[31]=(n[31]&127)|64;
- z[0]&=248;
- unpack25519(x,p);
- FOR(i,16) {
- b[i]=x[i];
- d[i]=a[i]=c[i]=0;
- }
- a[0]=d[0]=1;
- for(i=254;i>=0;--i) {
- r=(z[i>>3]>>(i&7))&1;
- sel25519(a,b,r);
- sel25519(c,d,r);
- A(e,a,c);
- Z(a,a,c);
- A(c,b,d);
- Z(b,b,d);
- S(d,e);
- S(f,a);
- M(a,c,a);
- M(c,b,e);
- A(e,a,c);
- Z(a,a,c);
- S(b,a);
- Z(c,d,f);
- M(a,c,_121665);
- A(a,a,d);
- M(c,c,a);
- M(a,d,f);
- M(d,b,x);
- S(b,e);
- sel25519(a,b,r);
- sel25519(c,d,r);
- }
- FOR(i,16) {
- x[i+16]=a[i];
- x[i+32]=c[i];
- x[i+48]=b[i];
- x[i+64]=d[i];
- }
- inv25519(x+32,x+32);
- M(x+16,x+16,x+32);
- pack25519(q,x+16);
- return 0;
-}
-
-int crypto_scalarmult_base(u8 *q,const u8 *n)
-{
- return crypto_scalarmult(q,n,_9);
-}
-
-int crypto_box_keypair(u8 *y,u8 *x)
-{
- randombytes(x,32);
- return crypto_scalarmult_base(y,x);
-}
-
-int crypto_box_beforenm(u8 *k,const u8 *y,const u8 *x)
-{
- u8 s[32];
- crypto_scalarmult(s,x,y);
- return crypto_core_hsalsa20(k,_0,s,sigma);
-}
-
-int crypto_box_afternm(u8 *c,const u8 *m,u64 d,const u8 *n,const u8 *k)
-{
- return crypto_secretbox(c,m,d,n,k);
-}
-
-int crypto_box_open_afternm(u8 *m,const u8 *c,u64 d,const u8 *n,const u8 *k)
-{
- return crypto_secretbox_open(m,c,d,n,k);
-}
-
-int crypto_box(u8 *c,const u8 *m,u64 d,const u8 *n,const u8 *y,const u8 *x)
-{
- u8 k[32];
- crypto_box_beforenm(k,y,x);
- return crypto_box_afternm(c,m,d,n,k);
-}
-
-int crypto_box_open(u8 *m,const u8 *c,u64 d,const u8 *n,const u8 *y,const u8 *x)
-{
- u8 k[32];
- crypto_box_beforenm(k,y,x);
- return crypto_box_open_afternm(m,c,d,n,k);
-}
-
-static u64 R(u64 x,int c) { return (x >> c) | (x << (64 - c)); }
-static u64 Ch(u64 x,u64 y,u64 z) { return (x & y) ^ (~x & z); }
-static u64 Maj(u64 x,u64 y,u64 z) { return (x & y) ^ (x & z) ^ (y & z); }
-static u64 Sigma0(u64 x) { return R(x,28) ^ R(x,34) ^ R(x,39); }
-static u64 Sigma1(u64 x) { return R(x,14) ^ R(x,18) ^ R(x,41); }
-static u64 sigma0(u64 x) { return R(x, 1) ^ R(x, 8) ^ (x >> 7); }
-static u64 sigma1(u64 x) { return R(x,19) ^ R(x,61) ^ (x >> 6); }
-
-static const u64 K[80] =
-{
- 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, 0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL,
- 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL, 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL,
- 0xd807aa98a3030242ULL, 0x12835b0145706fbeULL, 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL,
- 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, 0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL,
- 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL, 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL,
- 0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL, 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL,
- 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, 0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL,
- 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL, 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL,
- 0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL, 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL,
- 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, 0x81c2c92e47edaee6ULL, 0x92722c851482353bULL,
- 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL, 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL,
- 0xd192e819d6ef5218ULL, 0xd69906245565a910ULL, 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL,
- 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, 0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL,
- 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL, 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL,
- 0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL, 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,
- 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, 0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL,
- 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL, 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL,
- 0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL, 0x113f9804bef90daeULL, 0x1b710b35131c471bULL,
- 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, 0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL,
- 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL, 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL
-};
-
-int crypto_hashblocks(u8 *x,const u8 *m,u64 n)
-{
- u64 z[8],b[8],a[8],w[16],t;
- int i,j;
-
- FOR(i,8) z[i] = a[i] = dl64(x + 8 * i);
-
- while (n >= 128) {
- FOR(i,16) w[i] = dl64(m + 8 * i);
-
- FOR(i,80) {
- FOR(j,8) b[j] = a[j];
- t = a[7] + Sigma1(a[4]) + Ch(a[4],a[5],a[6]) + K[i] + w[i%16];
- b[7] = t + Sigma0(a[0]) + Maj(a[0],a[1],a[2]);
- b[3] += t;
- FOR(j,8) a[(j+1)%8] = b[j];
- if (i%16 == 15)
- FOR(j,16)
- w[j] += w[(j+9)%16] + sigma0(w[(j+1)%16]) + sigma1(w[(j+14)%16]);
- }
-
- FOR(i,8) { a[i] += z[i]; z[i] = a[i]; }
-
- m += 128;
- n -= 128;
- }
-
- FOR(i,8) ts64(x+8*i,z[i]);
-
- return n;
-}
-
-static const u8 iv[64] = {
- 0x6a,0x09,0xe6,0x67,0xf3,0xbc,0xc9,0x08,
- 0xbb,0x67,0xae,0x85,0x84,0xca,0xa7,0x3b,
- 0x3c,0x6e,0xf3,0x72,0xfe,0x94,0xf8,0x2b,
- 0xa5,0x4f,0xf5,0x3a,0x5f,0x1d,0x36,0xf1,
- 0x51,0x0e,0x52,0x7f,0xad,0xe6,0x82,0xd1,
- 0x9b,0x05,0x68,0x8c,0x2b,0x3e,0x6c,0x1f,
- 0x1f,0x83,0xd9,0xab,0xfb,0x41,0xbd,0x6b,
- 0x5b,0xe0,0xcd,0x19,0x13,0x7e,0x21,0x79
-} ;
-
-int crypto_hash(u8 *out,const u8 *m,u64 n)
-{
- u8 h[64],x[256];
- u64 i,b = n;
-
- FOR(i,64) h[i] = iv[i];
-
- crypto_hashblocks(h,m,n);
- m += n;
- n &= 127;
- m -= n;
-
- FOR(i,256) x[i] = 0;
- FOR(i,n) x[i] = m[i];
- x[n] = 128;
-
- n = 256-128*(n<112);
- x[n-9] = b >> 61;
- ts64(x+n-8,b<<3);
- crypto_hashblocks(h,x,n);
-
- FOR(i,64) out[i] = h[i];
-
- return 0;
-}
-
-sv add(gf p[4],gf q[4])
-{
- gf a,b,c,d,t,e,f,g,h;
-
- Z(a, p[1], p[0]);
- Z(t, q[1], q[0]);
- M(a, a, t);
- A(b, p[0], p[1]);
- A(t, q[0], q[1]);
- M(b, b, t);
- M(c, p[3], q[3]);
- M(c, c, D2);
- M(d, p[2], q[2]);
- A(d, d, d);
- Z(e, b, a);
- Z(f, d, c);
- A(g, d, c);
- A(h, b, a);
-
- M(p[0], e, f);
- M(p[1], h, g);
- M(p[2], g, f);
- M(p[3], e, h);
-}
-
-sv cswap(gf p[4],gf q[4],u8 b)
-{
- int i;
- FOR(i,4)
- sel25519(p[i],q[i],b);
-}
-
-sv pack(u8 *r,gf p[4])
-{
- gf tx, ty, zi;
- inv25519(zi, p[2]);
- M(tx, p[0], zi);
- M(ty, p[1], zi);
- pack25519(r, ty);
- r[31] ^= par25519(tx) << 7;
-}
-
-sv scalarmult(gf p[4],gf q[4],const u8 *s)
-{
- int i;
- set25519(p[0],gf0);
- set25519(p[1],gf1);
- set25519(p[2],gf1);
- set25519(p[3],gf0);
- for (i = 255;i >= 0;--i) {
- u8 b = (s[i/8]>>(i&7))&1;
- cswap(p,q,b);
- add(q,p);
- add(p,p);
- cswap(p,q,b);
- }
-}
-
-sv scalarbase(gf p[4],const u8 *s)
-{
- gf q[4];
- set25519(q[0],X);
- set25519(q[1],Y);
- set25519(q[2],gf1);
- M(q[3],X,Y);
- scalarmult(p,q,s);
-}
-
-int crypto_sign_keypair(u8 *pk, u8 *sk)
-{
- u8 d[64];
- gf p[4];
- int i;
-
- randombytes(sk, 32);
- crypto_hash(d, sk, 32);
- d[0] &= 248;
- d[31] &= 127;
- d[31] |= 64;
-
- scalarbase(p,d);
- pack(pk,p);
-
- FOR(i,32) sk[32 + i] = pk[i];
- return 0;
-}
-
-static const u64 L[32] = {0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10};
-
-sv modL(u8 *r,i64 x[64])
-{
- i64 carry,i,j;
- for (i = 63;i >= 32;--i) {
- carry = 0;
- for (j = i - 32;j < i - 12;++j) {
- x[j] += carry - 16 * x[i] * L[j - (i - 32)];
- carry = (x[j] + 128) >> 8;
- x[j] -= carry << 8;
- }
- x[j] += carry;
- x[i] = 0;
- }
- carry = 0;
- FOR(j,32) {
- x[j] += carry - (x[31] >> 4) * L[j];
- carry = x[j] >> 8;
- x[j] &= 255;
- }
- FOR(j,32) x[j] -= carry * L[j];
- FOR(i,32) {
- x[i+1] += x[i] >> 8;
- r[i] = x[i] & 255;
- }
-}
-
-sv reduce(u8 *r)
-{
- i64 x[64],i;
- FOR(i,64) x[i] = (u64) r[i];
- FOR(i,64) r[i] = 0;
- modL(r,x);
-}
-
-int crypto_sign(u8 *sm,u64 *smlen,const u8 *m,u64 n,const u8 *sk)
-{
- u8 d[64],h[64],r[64];
- i64 i,j,x[64];
- gf p[4];
-
- crypto_hash(d, sk, 32);
- d[0] &= 248;
- d[31] &= 127;
- d[31] |= 64;
-
- *smlen = n+64;
- FOR(i,n) sm[64 + i] = m[i];
- FOR(i,32) sm[32 + i] = d[32 + i];
-
- crypto_hash(r, sm+32, n+32);
- reduce(r);
- scalarbase(p,r);
- pack(sm,p);
-
- FOR(i,32) sm[i+32] = sk[i+32];
- crypto_hash(h,sm,n + 64);
- reduce(h);
-
- FOR(i,64) x[i] = 0;
- FOR(i,32) x[i] = (u64) r[i];
- FOR(i,32) FOR(j,32) x[i+j] += h[i] * (u64) d[j];
- modL(sm + 32,x);
-
- return 0;
-}
-
-static int unpackneg(gf r[4],const u8 p[32])
-{
- gf t, chk, num, den, den2, den4, den6;
- set25519(r[2],gf1);
- unpack25519(r[1],p);
- S(num,r[1]);
- M(den,num,D);
- Z(num,num,r[2]);
- A(den,r[2],den);
-
- S(den2,den);
- S(den4,den2);
- M(den6,den4,den2);
- M(t,den6,num);
- M(t,t,den);
-
- pow2523(t,t);
- M(t,t,num);
- M(t,t,den);
- M(t,t,den);
- M(r[0],t,den);
-
- S(chk,r[0]);
- M(chk,chk,den);
- if (neq25519(chk, num)) M(r[0],r[0],I);
-
- S(chk,r[0]);
- M(chk,chk,den);
- if (neq25519(chk, num)) return -1;
-
- if (par25519(r[0]) == (p[31]>>7)) Z(r[0],gf0,r[0]);
-
- M(r[3],r[0],r[1]);
- return 0;
-}
-
-int crypto_sign_open(u8 *m,u64 *mlen,const u8 *sm,u64 n,const u8 *pk)
-{
- int i;
- u8 t[32],h[64];
- gf p[4],q[4];
-
- *mlen = -1;
- if (n < 64) return -1;
-
- if (unpackneg(q,pk)) return -1;
-
- FOR(i,n) m[i] = sm[i];
- FOR(i,32) m[i+32] = pk[i];
- crypto_hash(h,m,n);
- reduce(h);
- scalarmult(p,q,h);
-
- scalarbase(q,sm + 32);
- add(p,q);
- pack(t,p);
-
- n -= 64;
- if (crypto_verify_32(sm, t)) {
- FOR(i,n) m[i] = 0;
- return -1;
- }
-
- FOR(i,n) m[i] = sm[i + 64];
- *mlen = n;
- return 0;
-}
diff --git a/vendor/tests/externals/tweetnacl/tweetnacl.h b/vendor/tests/externals/tweetnacl/tweetnacl.h
deleted file mode 100644
index 9277fbf..0000000
--- a/vendor/tests/externals/tweetnacl/tweetnacl.h
+++ /dev/null
@@ -1,272 +0,0 @@
-#ifndef TWEETNACL_H
-#define TWEETNACL_H
-#define crypto_auth_PRIMITIVE "hmacsha512256"
-#define crypto_auth crypto_auth_hmacsha512256
-#define crypto_auth_verify crypto_auth_hmacsha512256_verify
-#define crypto_auth_BYTES crypto_auth_hmacsha512256_BYTES
-#define crypto_auth_KEYBYTES crypto_auth_hmacsha512256_KEYBYTES
-#define crypto_auth_IMPLEMENTATION crypto_auth_hmacsha512256_IMPLEMENTATION
-#define crypto_auth_VERSION crypto_auth_hmacsha512256_VERSION
-#define crypto_auth_hmacsha512256_tweet_BYTES 32
-#define crypto_auth_hmacsha512256_tweet_KEYBYTES 32
-extern int crypto_auth_hmacsha512256_tweet(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *);
-extern int crypto_auth_hmacsha512256_tweet_verify(const unsigned char *,const unsigned char *,unsigned long long,const unsigned char *);
-#define crypto_auth_hmacsha512256_tweet_VERSION "-"
-#define crypto_auth_hmacsha512256 crypto_auth_hmacsha512256_tweet
-#define crypto_auth_hmacsha512256_verify crypto_auth_hmacsha512256_tweet_verify
-#define crypto_auth_hmacsha512256_BYTES crypto_auth_hmacsha512256_tweet_BYTES
-#define crypto_auth_hmacsha512256_KEYBYTES crypto_auth_hmacsha512256_tweet_KEYBYTES
-#define crypto_auth_hmacsha512256_VERSION crypto_auth_hmacsha512256_tweet_VERSION
-#define crypto_auth_hmacsha512256_IMPLEMENTATION "crypto_auth/hmacsha512256/tweet"
-#define crypto_box_PRIMITIVE "curve25519xsalsa20poly1305"
-#define crypto_box crypto_box_curve25519xsalsa20poly1305
-#define crypto_box_open crypto_box_curve25519xsalsa20poly1305_open
-#define crypto_box_keypair crypto_box_curve25519xsalsa20poly1305_keypair
-#define crypto_box_beforenm crypto_box_curve25519xsalsa20poly1305_beforenm
-#define crypto_box_afternm crypto_box_curve25519xsalsa20poly1305_afternm
-#define crypto_box_open_afternm crypto_box_curve25519xsalsa20poly1305_open_afternm
-#define crypto_box_PUBLICKEYBYTES crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES
-#define crypto_box_SECRETKEYBYTES crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES
-#define crypto_box_BEFORENMBYTES crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES
-#define crypto_box_NONCEBYTES crypto_box_curve25519xsalsa20poly1305_NONCEBYTES
-#define crypto_box_ZEROBYTES crypto_box_curve25519xsalsa20poly1305_ZEROBYTES
-#define crypto_box_BOXZEROBYTES crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES
-#define crypto_box_IMPLEMENTATION crypto_box_curve25519xsalsa20poly1305_IMPLEMENTATION
-#define crypto_box_VERSION crypto_box_curve25519xsalsa20poly1305_VERSION
-#define crypto_box_curve25519xsalsa20poly1305_tweet_PUBLICKEYBYTES 32
-#define crypto_box_curve25519xsalsa20poly1305_tweet_SECRETKEYBYTES 32
-#define crypto_box_curve25519xsalsa20poly1305_tweet_BEFORENMBYTES 32
-#define crypto_box_curve25519xsalsa20poly1305_tweet_NONCEBYTES 24
-#define crypto_box_curve25519xsalsa20poly1305_tweet_ZEROBYTES 32
-#define crypto_box_curve25519xsalsa20poly1305_tweet_BOXZEROBYTES 16
-extern int crypto_box_curve25519xsalsa20poly1305_tweet(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *,const unsigned char *);
-extern int crypto_box_curve25519xsalsa20poly1305_tweet_open(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *,const unsigned char *);
-extern int crypto_box_curve25519xsalsa20poly1305_tweet_keypair(unsigned char *,unsigned char *);
-extern int crypto_box_curve25519xsalsa20poly1305_tweet_beforenm(unsigned char *,const unsigned char *,const unsigned char *);
-extern int crypto_box_curve25519xsalsa20poly1305_tweet_afternm(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
-extern int crypto_box_curve25519xsalsa20poly1305_tweet_open_afternm(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
-#define crypto_box_curve25519xsalsa20poly1305_tweet_VERSION "-"
-#define crypto_box_curve25519xsalsa20poly1305 crypto_box_curve25519xsalsa20poly1305_tweet
-#define crypto_box_curve25519xsalsa20poly1305_open crypto_box_curve25519xsalsa20poly1305_tweet_open
-#define crypto_box_curve25519xsalsa20poly1305_keypair crypto_box_curve25519xsalsa20poly1305_tweet_keypair
-#define crypto_box_curve25519xsalsa20poly1305_beforenm crypto_box_curve25519xsalsa20poly1305_tweet_beforenm
-#define crypto_box_curve25519xsalsa20poly1305_afternm crypto_box_curve25519xsalsa20poly1305_tweet_afternm
-#define crypto_box_curve25519xsalsa20poly1305_open_afternm crypto_box_curve25519xsalsa20poly1305_tweet_open_afternm
-#define crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES crypto_box_curve25519xsalsa20poly1305_tweet_PUBLICKEYBYTES
-#define crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES crypto_box_curve25519xsalsa20poly1305_tweet_SECRETKEYBYTES
-#define crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES crypto_box_curve25519xsalsa20poly1305_tweet_BEFORENMBYTES
-#define crypto_box_curve25519xsalsa20poly1305_NONCEBYTES crypto_box_curve25519xsalsa20poly1305_tweet_NONCEBYTES
-#define crypto_box_curve25519xsalsa20poly1305_ZEROBYTES crypto_box_curve25519xsalsa20poly1305_tweet_ZEROBYTES
-#define crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES crypto_box_curve25519xsalsa20poly1305_tweet_BOXZEROBYTES
-#define crypto_box_curve25519xsalsa20poly1305_VERSION crypto_box_curve25519xsalsa20poly1305_tweet_VERSION
-#define crypto_box_curve25519xsalsa20poly1305_IMPLEMENTATION "crypto_box/curve25519xsalsa20poly1305/tweet"
-#define crypto_core_PRIMITIVE "salsa20"
-#define crypto_core crypto_core_salsa20
-#define crypto_core_OUTPUTBYTES crypto_core_salsa20_OUTPUTBYTES
-#define crypto_core_INPUTBYTES crypto_core_salsa20_INPUTBYTES
-#define crypto_core_KEYBYTES crypto_core_salsa20_KEYBYTES
-#define crypto_core_CONSTBYTES crypto_core_salsa20_CONSTBYTES
-#define crypto_core_IMPLEMENTATION crypto_core_salsa20_IMPLEMENTATION
-#define crypto_core_VERSION crypto_core_salsa20_VERSION
-#define crypto_core_salsa20_tweet_OUTPUTBYTES 64
-#define crypto_core_salsa20_tweet_INPUTBYTES 16
-#define crypto_core_salsa20_tweet_KEYBYTES 32
-#define crypto_core_salsa20_tweet_CONSTBYTES 16
-extern int crypto_core_salsa20_tweet(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *);
-#define crypto_core_salsa20_tweet_VERSION "-"
-#define crypto_core_salsa20 crypto_core_salsa20_tweet
-#define crypto_core_salsa20_OUTPUTBYTES crypto_core_salsa20_tweet_OUTPUTBYTES
-#define crypto_core_salsa20_INPUTBYTES crypto_core_salsa20_tweet_INPUTBYTES
-#define crypto_core_salsa20_KEYBYTES crypto_core_salsa20_tweet_KEYBYTES
-#define crypto_core_salsa20_CONSTBYTES crypto_core_salsa20_tweet_CONSTBYTES
-#define crypto_core_salsa20_VERSION crypto_core_salsa20_tweet_VERSION
-#define crypto_core_salsa20_IMPLEMENTATION "crypto_core/salsa20/tweet"
-#define crypto_core_hsalsa20_tweet_OUTPUTBYTES 32
-#define crypto_core_hsalsa20_tweet_INPUTBYTES 16
-#define crypto_core_hsalsa20_tweet_KEYBYTES 32
-#define crypto_core_hsalsa20_tweet_CONSTBYTES 16
-extern int crypto_core_hsalsa20_tweet(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *);
-#define crypto_core_hsalsa20_tweet_VERSION "-"
-#define crypto_core_hsalsa20 crypto_core_hsalsa20_tweet
-#define crypto_core_hsalsa20_OUTPUTBYTES crypto_core_hsalsa20_tweet_OUTPUTBYTES
-#define crypto_core_hsalsa20_INPUTBYTES crypto_core_hsalsa20_tweet_INPUTBYTES
-#define crypto_core_hsalsa20_KEYBYTES crypto_core_hsalsa20_tweet_KEYBYTES
-#define crypto_core_hsalsa20_CONSTBYTES crypto_core_hsalsa20_tweet_CONSTBYTES
-#define crypto_core_hsalsa20_VERSION crypto_core_hsalsa20_tweet_VERSION
-#define crypto_core_hsalsa20_IMPLEMENTATION "crypto_core/hsalsa20/tweet"
-#define crypto_hashblocks_PRIMITIVE "sha512"
-#define crypto_hashblocks crypto_hashblocks_sha512
-#define crypto_hashblocks_STATEBYTES crypto_hashblocks_sha512_STATEBYTES
-#define crypto_hashblocks_BLOCKBYTES crypto_hashblocks_sha512_BLOCKBYTES
-#define crypto_hashblocks_IMPLEMENTATION crypto_hashblocks_sha512_IMPLEMENTATION
-#define crypto_hashblocks_VERSION crypto_hashblocks_sha512_VERSION
-#define crypto_hashblocks_sha512_tweet_STATEBYTES 64
-#define crypto_hashblocks_sha512_tweet_BLOCKBYTES 128
-extern int crypto_hashblocks_sha512_tweet(unsigned char *,const unsigned char *,unsigned long long);
-#define crypto_hashblocks_sha512_tweet_VERSION "-"
-#define crypto_hashblocks_sha512 crypto_hashblocks_sha512_tweet
-#define crypto_hashblocks_sha512_STATEBYTES crypto_hashblocks_sha512_tweet_STATEBYTES
-#define crypto_hashblocks_sha512_BLOCKBYTES crypto_hashblocks_sha512_tweet_BLOCKBYTES
-#define crypto_hashblocks_sha512_VERSION crypto_hashblocks_sha512_tweet_VERSION
-#define crypto_hashblocks_sha512_IMPLEMENTATION "crypto_hashblocks/sha512/tweet"
-#define crypto_hashblocks_sha256_tweet_STATEBYTES 32
-#define crypto_hashblocks_sha256_tweet_BLOCKBYTES 64
-extern int crypto_hashblocks_sha256_tweet(unsigned char *,const unsigned char *,unsigned long long);
-#define crypto_hashblocks_sha256_tweet_VERSION "-"
-#define crypto_hashblocks_sha256 crypto_hashblocks_sha256_tweet
-#define crypto_hashblocks_sha256_STATEBYTES crypto_hashblocks_sha256_tweet_STATEBYTES
-#define crypto_hashblocks_sha256_BLOCKBYTES crypto_hashblocks_sha256_tweet_BLOCKBYTES
-#define crypto_hashblocks_sha256_VERSION crypto_hashblocks_sha256_tweet_VERSION
-#define crypto_hashblocks_sha256_IMPLEMENTATION "crypto_hashblocks/sha256/tweet"
-#define crypto_hash_PRIMITIVE "sha512"
-#define crypto_hash crypto_hash_sha512
-#define crypto_hash_BYTES crypto_hash_sha512_BYTES
-#define crypto_hash_IMPLEMENTATION crypto_hash_sha512_IMPLEMENTATION
-#define crypto_hash_VERSION crypto_hash_sha512_VERSION
-#define crypto_hash_sha512_tweet_BYTES 64
-extern int crypto_hash_sha512_tweet(unsigned char *,const unsigned char *,unsigned long long);
-#define crypto_hash_sha512_tweet_VERSION "-"
-#define crypto_hash_sha512 crypto_hash_sha512_tweet
-#define crypto_hash_sha512_BYTES crypto_hash_sha512_tweet_BYTES
-#define crypto_hash_sha512_VERSION crypto_hash_sha512_tweet_VERSION
-#define crypto_hash_sha512_IMPLEMENTATION "crypto_hash/sha512/tweet"
-#define crypto_hash_sha256_tweet_BYTES 32
-extern int crypto_hash_sha256_tweet(unsigned char *,const unsigned char *,unsigned long long);
-#define crypto_hash_sha256_tweet_VERSION "-"
-#define crypto_hash_sha256 crypto_hash_sha256_tweet
-#define crypto_hash_sha256_BYTES crypto_hash_sha256_tweet_BYTES
-#define crypto_hash_sha256_VERSION crypto_hash_sha256_tweet_VERSION
-#define crypto_hash_sha256_IMPLEMENTATION "crypto_hash/sha256/tweet"
-#define crypto_onetimeauth_PRIMITIVE "poly1305"
-#define crypto_onetimeauth crypto_onetimeauth_poly1305
-#define crypto_onetimeauth_verify crypto_onetimeauth_poly1305_verify
-#define crypto_onetimeauth_BYTES crypto_onetimeauth_poly1305_BYTES
-#define crypto_onetimeauth_KEYBYTES crypto_onetimeauth_poly1305_KEYBYTES
-#define crypto_onetimeauth_IMPLEMENTATION crypto_onetimeauth_poly1305_IMPLEMENTATION
-#define crypto_onetimeauth_VERSION crypto_onetimeauth_poly1305_VERSION
-#define crypto_onetimeauth_poly1305_tweet_BYTES 16
-#define crypto_onetimeauth_poly1305_tweet_KEYBYTES 32
-extern int crypto_onetimeauth_poly1305_tweet(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *);
-extern int crypto_onetimeauth_poly1305_tweet_verify(const unsigned char *,const unsigned char *,unsigned long long,const unsigned char *);
-#define crypto_onetimeauth_poly1305_tweet_VERSION "-"
-#define crypto_onetimeauth_poly1305 crypto_onetimeauth_poly1305_tweet
-#define crypto_onetimeauth_poly1305_verify crypto_onetimeauth_poly1305_tweet_verify
-#define crypto_onetimeauth_poly1305_BYTES crypto_onetimeauth_poly1305_tweet_BYTES
-#define crypto_onetimeauth_poly1305_KEYBYTES crypto_onetimeauth_poly1305_tweet_KEYBYTES
-#define crypto_onetimeauth_poly1305_VERSION crypto_onetimeauth_poly1305_tweet_VERSION
-#define crypto_onetimeauth_poly1305_IMPLEMENTATION "crypto_onetimeauth/poly1305/tweet"
-#define crypto_scalarmult_PRIMITIVE "curve25519"
-#define crypto_scalarmult crypto_scalarmult_curve25519
-#define crypto_scalarmult_base crypto_scalarmult_curve25519_base
-#define crypto_scalarmult_BYTES crypto_scalarmult_curve25519_BYTES
-#define crypto_scalarmult_SCALARBYTES crypto_scalarmult_curve25519_SCALARBYTES
-#define crypto_scalarmult_IMPLEMENTATION crypto_scalarmult_curve25519_IMPLEMENTATION
-#define crypto_scalarmult_VERSION crypto_scalarmult_curve25519_VERSION
-#define crypto_scalarmult_curve25519_tweet_BYTES 32
-#define crypto_scalarmult_curve25519_tweet_SCALARBYTES 32
-extern int crypto_scalarmult_curve25519_tweet(unsigned char *,const unsigned char *,const unsigned char *);
-extern int crypto_scalarmult_curve25519_tweet_base(unsigned char *,const unsigned char *);
-#define crypto_scalarmult_curve25519_tweet_VERSION "-"
-#define crypto_scalarmult_curve25519 crypto_scalarmult_curve25519_tweet
-#define crypto_scalarmult_curve25519_base crypto_scalarmult_curve25519_tweet_base
-#define crypto_scalarmult_curve25519_BYTES crypto_scalarmult_curve25519_tweet_BYTES
-#define crypto_scalarmult_curve25519_SCALARBYTES crypto_scalarmult_curve25519_tweet_SCALARBYTES
-#define crypto_scalarmult_curve25519_VERSION crypto_scalarmult_curve25519_tweet_VERSION
-#define crypto_scalarmult_curve25519_IMPLEMENTATION "crypto_scalarmult/curve25519/tweet"
-#define crypto_secretbox_PRIMITIVE "xsalsa20poly1305"
-#define crypto_secretbox crypto_secretbox_xsalsa20poly1305
-#define crypto_secretbox_open crypto_secretbox_xsalsa20poly1305_open
-#define crypto_secretbox_KEYBYTES crypto_secretbox_xsalsa20poly1305_KEYBYTES
-#define crypto_secretbox_NONCEBYTES crypto_secretbox_xsalsa20poly1305_NONCEBYTES
-#define crypto_secretbox_ZEROBYTES crypto_secretbox_xsalsa20poly1305_ZEROBYTES
-#define crypto_secretbox_BOXZEROBYTES crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES
-#define crypto_secretbox_IMPLEMENTATION crypto_secretbox_xsalsa20poly1305_IMPLEMENTATION
-#define crypto_secretbox_VERSION crypto_secretbox_xsalsa20poly1305_VERSION
-#define crypto_secretbox_xsalsa20poly1305_tweet_KEYBYTES 32
-#define crypto_secretbox_xsalsa20poly1305_tweet_NONCEBYTES 24
-#define crypto_secretbox_xsalsa20poly1305_tweet_ZEROBYTES 32
-#define crypto_secretbox_xsalsa20poly1305_tweet_BOXZEROBYTES 16
-extern int crypto_secretbox_xsalsa20poly1305_tweet(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
-extern int crypto_secretbox_xsalsa20poly1305_tweet_open(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
-#define crypto_secretbox_xsalsa20poly1305_tweet_VERSION "-"
-#define crypto_secretbox_xsalsa20poly1305 crypto_secretbox_xsalsa20poly1305_tweet
-#define crypto_secretbox_xsalsa20poly1305_open crypto_secretbox_xsalsa20poly1305_tweet_open
-#define crypto_secretbox_xsalsa20poly1305_KEYBYTES crypto_secretbox_xsalsa20poly1305_tweet_KEYBYTES
-#define crypto_secretbox_xsalsa20poly1305_NONCEBYTES crypto_secretbox_xsalsa20poly1305_tweet_NONCEBYTES
-#define crypto_secretbox_xsalsa20poly1305_ZEROBYTES crypto_secretbox_xsalsa20poly1305_tweet_ZEROBYTES
-#define crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES crypto_secretbox_xsalsa20poly1305_tweet_BOXZEROBYTES
-#define crypto_secretbox_xsalsa20poly1305_VERSION crypto_secretbox_xsalsa20poly1305_tweet_VERSION
-#define crypto_secretbox_xsalsa20poly1305_IMPLEMENTATION "crypto_secretbox/xsalsa20poly1305/tweet"
-#define crypto_sign_PRIMITIVE "ed25519"
-#define crypto_sign crypto_sign_ed25519
-#define crypto_sign_open crypto_sign_ed25519_open
-#define crypto_sign_keypair crypto_sign_ed25519_keypair
-#define crypto_sign_BYTES crypto_sign_ed25519_BYTES
-#define crypto_sign_PUBLICKEYBYTES crypto_sign_ed25519_PUBLICKEYBYTES
-#define crypto_sign_SECRETKEYBYTES crypto_sign_ed25519_SECRETKEYBYTES
-#define crypto_sign_IMPLEMENTATION crypto_sign_ed25519_IMPLEMENTATION
-#define crypto_sign_VERSION crypto_sign_ed25519_VERSION
-#define crypto_sign_ed25519_tweet_BYTES 64
-#define crypto_sign_ed25519_tweet_PUBLICKEYBYTES 32
-#define crypto_sign_ed25519_tweet_SECRETKEYBYTES 64
-extern int crypto_sign_ed25519_tweet(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *);
-extern int crypto_sign_ed25519_tweet_open(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *);
-extern int crypto_sign_ed25519_tweet_keypair(unsigned char *,unsigned char *);
-#define crypto_sign_ed25519_tweet_VERSION "-"
-#define crypto_sign_ed25519 crypto_sign_ed25519_tweet
-#define crypto_sign_ed25519_open crypto_sign_ed25519_tweet_open
-#define crypto_sign_ed25519_keypair crypto_sign_ed25519_tweet_keypair
-#define crypto_sign_ed25519_BYTES crypto_sign_ed25519_tweet_BYTES
-#define crypto_sign_ed25519_PUBLICKEYBYTES crypto_sign_ed25519_tweet_PUBLICKEYBYTES
-#define crypto_sign_ed25519_SECRETKEYBYTES crypto_sign_ed25519_tweet_SECRETKEYBYTES
-#define crypto_sign_ed25519_VERSION crypto_sign_ed25519_tweet_VERSION
-#define crypto_sign_ed25519_IMPLEMENTATION "crypto_sign/ed25519/tweet"
-#define crypto_stream_PRIMITIVE "xsalsa20"
-#define crypto_stream crypto_stream_xsalsa20
-#define crypto_stream_xor crypto_stream_xsalsa20_xor
-#define crypto_stream_KEYBYTES crypto_stream_xsalsa20_KEYBYTES
-#define crypto_stream_NONCEBYTES crypto_stream_xsalsa20_NONCEBYTES
-#define crypto_stream_IMPLEMENTATION crypto_stream_xsalsa20_IMPLEMENTATION
-#define crypto_stream_VERSION crypto_stream_xsalsa20_VERSION
-#define crypto_stream_xsalsa20_tweet_KEYBYTES 32
-#define crypto_stream_xsalsa20_tweet_NONCEBYTES 24
-extern int crypto_stream_xsalsa20_tweet(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
-extern int crypto_stream_xsalsa20_tweet_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
-#define crypto_stream_xsalsa20_tweet_VERSION "-"
-#define crypto_stream_xsalsa20 crypto_stream_xsalsa20_tweet
-#define crypto_stream_xsalsa20_xor crypto_stream_xsalsa20_tweet_xor
-#define crypto_stream_xsalsa20_KEYBYTES crypto_stream_xsalsa20_tweet_KEYBYTES
-#define crypto_stream_xsalsa20_NONCEBYTES crypto_stream_xsalsa20_tweet_NONCEBYTES
-#define crypto_stream_xsalsa20_VERSION crypto_stream_xsalsa20_tweet_VERSION
-#define crypto_stream_xsalsa20_IMPLEMENTATION "crypto_stream/xsalsa20/tweet"
-#define crypto_stream_salsa20_tweet_KEYBYTES 32
-#define crypto_stream_salsa20_tweet_NONCEBYTES 8
-extern int crypto_stream_salsa20_tweet(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
-extern int crypto_stream_salsa20_tweet_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
-#define crypto_stream_salsa20_tweet_VERSION "-"
-#define crypto_stream_salsa20 crypto_stream_salsa20_tweet
-#define crypto_stream_salsa20_xor crypto_stream_salsa20_tweet_xor
-#define crypto_stream_salsa20_KEYBYTES crypto_stream_salsa20_tweet_KEYBYTES
-#define crypto_stream_salsa20_NONCEBYTES crypto_stream_salsa20_tweet_NONCEBYTES
-#define crypto_stream_salsa20_VERSION crypto_stream_salsa20_tweet_VERSION
-#define crypto_stream_salsa20_IMPLEMENTATION "crypto_stream/salsa20/tweet"
-#define crypto_verify_PRIMITIVE "16"
-#define crypto_verify crypto_verify_16
-#define crypto_verify_BYTES crypto_verify_16_BYTES
-#define crypto_verify_IMPLEMENTATION crypto_verify_16_IMPLEMENTATION
-#define crypto_verify_VERSION crypto_verify_16_VERSION
-#define crypto_verify_16_tweet_BYTES 16
-extern int crypto_verify_16_tweet(const unsigned char *,const unsigned char *);
-#define crypto_verify_16_tweet_VERSION "-"
-#define crypto_verify_16 crypto_verify_16_tweet
-#define crypto_verify_16_BYTES crypto_verify_16_tweet_BYTES
-#define crypto_verify_16_VERSION crypto_verify_16_tweet_VERSION
-#define crypto_verify_16_IMPLEMENTATION "crypto_verify/16/tweet"
-#define crypto_verify_32_tweet_BYTES 32
-extern int crypto_verify_32_tweet(const unsigned char *,const unsigned char *);
-#define crypto_verify_32_tweet_VERSION "-"
-#define crypto_verify_32 crypto_verify_32_tweet
-#define crypto_verify_32_BYTES crypto_verify_32_tweet_BYTES
-#define crypto_verify_32_VERSION crypto_verify_32_tweet_VERSION
-#define crypto_verify_32_IMPLEMENTATION "crypto_verify/32/tweet"
-#endif
diff --git a/vendor/tests/formal-analysis.sh b/vendor/tests/formal-analysis.sh
deleted file mode 100755
index 4b73c07..0000000
--- a/vendor/tests/formal-analysis.sh
+++ /dev/null
@@ -1,63 +0,0 @@
-#! /bin/sh
-
-# This file is dual-licensed. Choose whichever licence you want from
-# the two licences listed below.
-#
-# The first licence is a regular 2-clause BSD licence. The second licence
-# is the CC-0 from Creative Commons. It is intended to release Monocypher
-# to the public domain. The BSD licence serves as a fallback option.
-#
-# SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-#
-# ------------------------------------------------------------------------
-#
-# Copyright (c) 2017-2019, Loup Vaillant
-# All rights reserved.
-#
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the
-# distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# ------------------------------------------------------------------------
-#
-# Written in 2017-2019 by Loup Vaillant
-#
-# To the extent possible under law, the author(s) have dedicated all copyright
-# and related neighboring rights to this software to the public domain
-# worldwide. This software is distributed without any warranty.
-#
-# You should have received a copy of the CC0 Public Domain Dedication along
-# with this software. If not, see
-# <https://creativecommons.org/publicdomain/zero/1.0/>
-
-mkdir -p tests/formal-analysis
-cp src/monocypher.c \
- src/monocypher.h \
- src/optional/monocypher-ed25519.h \
- src/optional/monocypher-ed25519.c \
- tests/utils.h \
- tests/utils.c \
- tests/test.c \
- tests/vectors.h \
- tests/formal-analysis
diff --git a/vendor/tests/frama-c.sh b/vendor/tests/frama-c.sh
deleted file mode 100755
index dc23c6b..0000000
--- a/vendor/tests/frama-c.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#! /bin/sh
-
-# This file is dual-licensed. Choose whichever licence you want from
-# the two licences listed below.
-#
-# The first licence is a regular 2-clause BSD licence. The second licence
-# is the CC-0 from Creative Commons. It is intended to release Monocypher
-# to the public domain. The BSD licence serves as a fallback option.
-#
-# SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-#
-# ------------------------------------------------------------------------
-#
-# Copyright (c) 2017-2019, Loup Vaillant
-# All rights reserved.
-#
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the
-# distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# ------------------------------------------------------------------------
-#
-# Written in 2017-2019 by Loup Vaillant
-#
-# To the extent possible under law, the author(s) have dedicated all copyright
-# and related neighboring rights to this software to the public domain
-# worldwide. This software is distributed without any warranty.
-#
-# You should have received a copy of the CC0 Public Domain Dedication along
-# with this software. If not, see
-# <https://creativecommons.org/publicdomain/zero/1.0/>
-
-# Parses the source code
-frama-c tests/formal-analysis/*.c -save parsed.sav
-
-# Analyses the source code
-frama-c -load parsed.sav -val-builtins-auto -val -save value.sav -no-val-show-progress -memexec-all
-
-# Launches the Gui
-frama-c-gui -load value.sav
diff --git a/vendor/tests/speed/speed-c25519.c b/vendor/tests/speed/speed-c25519.c
deleted file mode 100644
index 32165bf..0000000
--- a/vendor/tests/speed/speed-c25519.c
+++ /dev/null
@@ -1,123 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2019, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2019 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include "speed.h"
-#include "utils.h"
-#include "c25519.h"
-#include "edsign.h"
-
-static u64 x25519(void)
-{
- u8 in [32] = {9};
- u8 out[F25519_SIZE];
- FOR (i, 0, F25519_SIZE) {
- out[i] = c25519_base_x[i];
- }
-
- TIMING_START {
- c25519_prepare(in);
- c25519_smult(out, out, in);
- }
- TIMING_END;
-}
-
-void edsign_sec_to_pub(uint8_t *pub, const uint8_t *secret);
-
-/* Produce a signature for a message. */
-#define EDSIGN_SIGNATURE_SIZE 64
-
-void edsign_sign(uint8_t *signature, const uint8_t *pub,
- const uint8_t *secret,
- const uint8_t *message, size_t len);
-
-/* Verify a message signature. Returns non-zero if ok. */
-uint8_t edsign_verify(const uint8_t *signature, const uint8_t *pub,
- const uint8_t *message, size_t len);
-
-static u64 edDSA_sign(void)
-{
- RANDOM_INPUT(sk , 32);
- RANDOM_INPUT(message, 64);
- u8 pk [32];
- u8 sig[64];
- edsign_sec_to_pub(pk, sk);
-
- TIMING_START {
- edsign_sign(sig, pk, sk, message, 64);
- }
- TIMING_END;
-}
-
-static u64 edDSA_check(void)
-{
- RANDOM_INPUT(sk , 32);
- RANDOM_INPUT(message, 64);
- u8 pk [32];
- u8 sig[64];
- edsign_sec_to_pub(pk, sk);
- edsign_sign(sig, pk, sk, message, 64);
-
- TIMING_START {
- if (!edsign_verify(sig, pk, message, 64)) {
- printf("c25519 verification failed\n");
- }
- }
- TIMING_END;
-}
-
-int main()
-{
- print("x25519 ", x25519() , "exchanges per second");
- print("EdDSA(sign) ", edDSA_sign() , "signatures per second");
- print("EdDSA(check)", edDSA_check(), "checks per second");
- printf("\n");
- return 0;
-}
diff --git a/vendor/tests/speed/speed-hydrogen.c b/vendor/tests/speed/speed-hydrogen.c
deleted file mode 100644
index d49ae29..0000000
--- a/vendor/tests/speed/speed-hydrogen.c
+++ /dev/null
@@ -1,129 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2019, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2019 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include "speed.h"
-#include "utils.h"
-#include "hydrogen.h"
-
-static u64 hydro_random(void)
-{
- u8 out[SIZE];
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
-
- TIMING_START {
- hydro_random_buf_deterministic(out, SIZE, key);
- }
- TIMING_END;
-}
-
-static u64 authenticated(void)
-{
- u8 out[SIZE + hydro_secretbox_HEADERBYTES];
- RANDOM_INPUT(in , SIZE + 32);
- RANDOM_INPUT(key, 32);
- TIMING_START {
- hydro_secretbox_encrypt(out, in, SIZE, 0, "Benchmark", key);
- }
- TIMING_END;
-}
-
-static u64 hash(void)
-{
- u8 hash[32];
- RANDOM_INPUT(in, SIZE);
-
- TIMING_START {
- hydro_hash_hash(hash, 32, in, SIZE, "Benchmark", 0);
- }
- TIMING_END;
-}
-
-static u64 sign(void)
-{
- RANDOM_INPUT(message, 64);
- hydro_sign_keypair key_pair;
- hydro_sign_keygen(&key_pair);
- uint8_t sig[hydro_sign_BYTES];
-
- TIMING_START {
- hydro_sign_create(sig, message, 64, "Benchmark", key_pair.sk);
- }
- TIMING_END;
-}
-
-static u64 check(void)
-{
- RANDOM_INPUT(message, 64);
- hydro_sign_keypair key_pair;
- hydro_sign_keygen(&key_pair);
- uint8_t sig[hydro_sign_BYTES];
- hydro_sign_create(sig, message, 64, "Benchmark", key_pair.sk);
-
- TIMING_START {
- if (hydro_sign_verify(sig, message, 64, "Benchmark", key_pair.pk)) {
- printf("LibHydrogen verification failed\n");
- }
- }
- TIMING_END;
-}
-
-int main()
-{
- hydro_init();
- print("Random ",hydro_random() *MUL,"megabytes per second");
- print("Auth'd encryption",authenticated()*MUL,"megabytes per second");
- print("Hash ",hash() *MUL,"megabytes per second");
- print("sign ",sign() ,"signatures per second");
- print("check ",check() ,"checks per second");
- printf("\n");
- return 0;
-}
diff --git a/vendor/tests/speed/speed-sodium.c b/vendor/tests/speed/speed-sodium.c
deleted file mode 100644
index 2aa6628..0000000
--- a/vendor/tests/speed/speed-sodium.c
+++ /dev/null
@@ -1,191 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2019, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2019 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include "speed.h"
-#include "sodium.h"
-
-static u64 chacha20(void)
-{
- u8 out[SIZE];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
-
- TIMING_START {
- crypto_stream_chacha20_xor(out, in, SIZE, nonce, key);
- }
- TIMING_END;
-}
-
-static u64 poly1305(void)
-{
- u8 out[16];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key, 32);
-
- TIMING_START {
- crypto_onetimeauth(out, in, SIZE, key);
- }
- TIMING_END;
-}
-
-static u64 authenticated(void)
-{
- u8 out[SIZE];
- u8 mac[crypto_aead_xchacha20poly1305_ietf_ABYTES];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
-
- TIMING_START {
- crypto_aead_xchacha20poly1305_ietf_encrypt_detached(
- out, mac, 0, in, SIZE, 0, 0, 0, nonce, key);
- }
- TIMING_END;
-}
-
-static u64 blake2b(void)
-{
- u8 hash[64];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key, 32);
-
- TIMING_START {
- crypto_generichash(hash, 64, in, SIZE, key, 32);
- }
- TIMING_END;
-}
-
-static u64 sha512(void)
-{
- u8 hash[64];
- RANDOM_INPUT(in, SIZE);
-
- TIMING_START {
- crypto_hash_sha512(hash, in, SIZE);
- }
- TIMING_END;
-}
-
-static u64 argon2i(void)
-{
- u8 hash [32];
- RANDOM_INPUT(password, 16);
- RANDOM_INPUT(salt , 16);
-
- TIMING_START {
- if (crypto_pwhash(hash, 32, (char*)password, 16, salt,
- 3, SIZE, crypto_pwhash_ALG_ARGON2I13)) {
- fprintf(stderr, "Argon2i failed.\n");
- }
- }
- TIMING_END;
-}
-
-static u64 x25519(void)
-{
- u8 in [32] = {9};
- u8 out[32] = {9};
-
- TIMING_START {
- if (crypto_scalarmult(out, out, in)) {
- fprintf(stderr, "Libsodium rejected the public key\n");
- }
- }
- TIMING_END;
-}
-
-static u64 edDSA_sign(void)
-{
- u8 sk [64];
- u8 pk [32];
- u8 signature[64];
- RANDOM_INPUT(message, 64);
- crypto_sign_keypair(pk, sk);
-
- TIMING_START {
- crypto_sign_detached(signature, 0, message, 64, sk);
- }
- TIMING_END;
-}
-
-static u64 edDSA_check(void)
-{
- u8 sk [64];
- u8 pk [32];
- u8 signature[64];
- RANDOM_INPUT(message, 64);
- crypto_sign_keypair(pk, sk);
- crypto_sign_detached(signature, 0, message, 64, sk);
-
- TIMING_START {
- if (crypto_sign_verify_detached(signature, message, 64, pk)) {
- printf("Monocypher verification failed\n");
- }
- }
- TIMING_END;
-}
-
-int main()
-{
- SODIUM_INIT;
- print("Chacha20 ",chacha20() *MUL,"megabytes per second");
- print("Poly1305 ",poly1305() *MUL,"megabytes per second");
- print("Auth'd encryption",authenticated()*MUL,"megabytes per second");
- print("Blake2b ",blake2b() *MUL,"megabytes per second");
- print("Sha512 ",sha512() *MUL,"megabytes per second");
- print("Argon2i, 3 passes",argon2i() *MUL,"megabytes per second");
- print("x25519 ",x25519() ,"exchanges per second");
- print("EdDSA(sign) ",edDSA_sign() ,"signatures per second");
- print("EdDSA(check) ",edDSA_check() ,"checks per second");
- printf("\n");
- return 0;
-}
diff --git a/vendor/tests/speed/speed-tweetnacl.c b/vendor/tests/speed/speed-tweetnacl.c
deleted file mode 100644
index 204f9d2..0000000
--- a/vendor/tests/speed/speed-tweetnacl.c
+++ /dev/null
@@ -1,169 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2019, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2019 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include "speed.h"
-#include "utils.h"
-#include "tweetnacl.h"
-
-// TweetNaCl needs to link with this
-// Not really random, but we don't care for those benchmarks.
-void randombytes(u8 *stream, u64 size)
-{
- p_random(stream, (size_t)size);
-}
-
-static u64 salsa20(void)
-{
- u8 out[SIZE];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
-
- TIMING_START {
- crypto_stream_salsa20_xor(out, in, SIZE, nonce, key);
- }
- TIMING_END;
-}
-
-static u64 poly1305(void)
-{
- u8 out[16];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key, 32);
-
- TIMING_START {
- crypto_onetimeauth(out, in, SIZE, key);
- }
- TIMING_END;
-}
-
-static u64 authenticated(void)
-{
- u8 out[SIZE + 32];
- RANDOM_INPUT(in , SIZE + 32);
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 24);
-
- TIMING_START {
- crypto_secretbox(out, in, SIZE + 32, nonce, key);
- }
- TIMING_END;
-}
-
-static u64 sha512(void)
-{
- u8 hash[64];
- RANDOM_INPUT(in, SIZE);
-
- TIMING_START {
- crypto_hash(hash, in, SIZE);
- }
- TIMING_END;
-}
-
-static u64 x25519(void)
-{
- u8 in [32] = {9};
- u8 out[32] = {9};
-
- TIMING_START {
- crypto_scalarmult(out, out, in);
- }
- TIMING_END;
-}
-
-static u64 edDSA_sign(void)
-{
- u8 sk [ 64];
- u8 pk [ 32];
- u8 signed_msg[128];
- unsigned long long sig_size;
- RANDOM_INPUT(message, 64);
- crypto_sign_keypair(pk, sk);
-
- TIMING_START {
- crypto_sign(signed_msg, &sig_size, message, 64, sk);
- }
- TIMING_END;
-}
-
-static u64 edDSA_check(void)
-{
- u8 sk [ 64];
- u8 pk [ 32];
- u8 signed_msg[128];
- u8 out_msg [128];
- unsigned long long sig_size;
- unsigned long long msg_size;
- RANDOM_INPUT(message, 64);
- crypto_sign_keypair(pk, sk);
- crypto_sign(signed_msg, &sig_size, message, 64, sk);
-
- TIMING_START {
- if (crypto_sign_open(out_msg, &msg_size, signed_msg, sig_size, pk)) {
- printf("TweetNaCl verification failed\n");
- }
- }
- TIMING_END;
-}
-
-int main()
-{
- print("Salsa20 ",salsa20() *MUL,"megabytes per second");
- print("Poly1305 ",poly1305() *MUL,"megabytes per second");
- print("Auth'd encryption",authenticated()*MUL,"megabytes per second");
- print("Sha512 ",sha512() *MUL,"megabytes per second");
- print("x25519 ",x25519() ,"exchanges per second");
- print("EdDSA(sign) ",edDSA_sign() ,"signatures per second");
- print("EdDSA(check) ",edDSA_check() ,"checks per second");
- printf("\n");
- return 0;
-}
diff --git a/vendor/tests/speed/speed.c b/vendor/tests/speed/speed.c
deleted file mode 100644
index fbc2532..0000000
--- a/vendor/tests/speed/speed.c
+++ /dev/null
@@ -1,221 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2019, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2019 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include "speed.h"
-#include "monocypher.h"
-#include "monocypher-ed25519.h"
-#include "utils.h"
-
-static u64 chacha20(void)
-{
- u8 out[SIZE];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
-
- TIMING_START {
- crypto_chacha20(out, in, SIZE, key, nonce);
- }
- TIMING_END;
-}
-
-static u64 poly1305(void)
-{
- u8 out[16];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key, 32);
-
- TIMING_START {
- crypto_poly1305(out, in, SIZE, key);
- }
- TIMING_END;
-}
-
-static u64 authenticated(void)
-{
- u8 out[SIZE];
- u8 mac[ 16];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
-
- TIMING_START {
- crypto_lock(mac, out, key, nonce, in, SIZE);
- }
- TIMING_END;
-}
-
-static u64 blake2b(void)
-{
- u8 hash[64];
- RANDOM_INPUT(in , SIZE);
- RANDOM_INPUT(key, 32);
-
- TIMING_START {
- crypto_blake2b_general(hash, 64, key, 32, in, SIZE);
- }
- TIMING_END;
-}
-
-static u64 sha512(void)
-{
- u8 hash[64];
- RANDOM_INPUT(in, SIZE);
-
- TIMING_START {
- crypto_sha512(hash, in, SIZE);
- }
- TIMING_END;
-}
-
-static u64 argon2i(void)
-{
- u64 work_area[SIZE / 8];
- u8 hash [32];
- u32 nb_blocks = (u32)(SIZE / 1024);
- RANDOM_INPUT(password, 16);
- RANDOM_INPUT(salt , 16);
-
- TIMING_START {
- crypto_argon2i(hash, 32, work_area, nb_blocks, 3,
- password, 16, salt, 16);
- }
- TIMING_END;
-}
-
-static u64 x25519(void)
-{
- u8 in [32] = {9};
- u8 out[32] = {9};
-
- TIMING_START {
- crypto_x25519(out, out, in);
- }
- TIMING_END;
-}
-
-static u64 edDSA_sign(void)
-{
- u8 pk [32];
- u8 signature[64];
- RANDOM_INPUT(sk , 32);
- RANDOM_INPUT(message, 64);
- crypto_sign_public_key(pk, sk);
-
- TIMING_START {
- crypto_sign(signature, sk, pk, message, 64);
- }
- TIMING_END;
-}
-
-static u64 edDSA_check(void)
-{
- u8 pk [32];
- u8 signature[64];
- RANDOM_INPUT(sk , 32);
- RANDOM_INPUT(message, 64);
- crypto_sign_public_key(pk, sk);
- crypto_sign(signature, sk, pk, message, 64);
-
- TIMING_START {
- if (crypto_check(signature, pk, message, 64)) {
- printf("Monocypher verification failed\n");
- }
- }
- TIMING_END;
-}
-
-static u64 x25519_inverse(void)
-{
- u8 in [32] = {9};
- u8 out[32] = {9};
-
- TIMING_START {
- crypto_x25519_inverse(out, out, in);
- }
- TIMING_END;
-}
-
-static u64 x25519_sp_fast(void)
-{
- RANDOM_INPUT(sk, 32);
- TIMING_START {
- crypto_x25519_dirty_fast(sk, sk);
- }
- TIMING_END;
-}
-
-static u64 x25519_sp_small(void)
-{
- RANDOM_INPUT(sk, 32);
- TIMING_START {
- crypto_x25519_dirty_small(sk, sk);
- }
- TIMING_END;
-}
-
-int main()
-{
- print("Chacha20 ",chacha20() *MUL ,"megabytes per second");
- print("Poly1305 ",poly1305() *MUL ,"megabytes per second");
- print("Auth'd encryption ",authenticated()*MUL ,"megabytes per second");
- print("Blake2b ",blake2b() *MUL ,"megabytes per second");
- print("Sha512 ",sha512() *MUL ,"megabytes per second");
- print("Argon2i, 3 passes ",argon2i() *MUL ,"megabytes per second");
- print("x25519 ",x25519() ,"exchanges per second");
- print("EdDSA(sign) ",edDSA_sign() ,"signatures per second");
- print("EdDSA(check) ",edDSA_check() ,"checks per second");
- print("x25519 inverse ",x25519_inverse() ,"scalar inv per second");
- print("x25519 dirty fast ",x25519_sp_fast() ,"scalar inv per second");
- print("x25519 dirty small ",x25519_sp_small() ,"scalar inv per second");
- printf("\n");
- return 0;
-}
diff --git a/vendor/tests/speed/speed.h b/vendor/tests/speed/speed.h
deleted file mode 100644
index 9572d35..0000000
--- a/vendor/tests/speed/speed.h
+++ /dev/null
@@ -1,105 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2019, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2019 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include <time.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "utils.h"
-
-typedef struct timespec timespec;
-
-// TODO: provide a user defined buffer size
-#define KILOBYTE 1024
-#define MEGABYTE 1024 * KILOBYTE
-#define SIZE (256 * KILOBYTE)
-#define MUL (MEGABYTE / SIZE)
-#define BILLION 1000000000
-
-// Difference in nanoseconds
-static u64 diff(timespec start, timespec end)
-{
- return (u64)((end.tv_sec - start.tv_sec ) * BILLION +
- (end.tv_nsec - start.tv_nsec));
-}
-
-static u64 min(u64 a, u64 b)
-{
- return a < b ? a : b;
-}
-
-static void print(const char *name, u64 duration, const char *unit)
-{
- if (duration == 0) {
- printf("%s: too fast to be measured\n", name);
- } else {
- u64 speed_hz = BILLION / duration;
- printf("%s: %5" PRIu64 " %s\n", name, speed_hz, unit);
- }
-}
-
-// Note: not all systems will work well with CLOCK_PROCESS_CPUTIME_ID.
-// If you get weird timings on your system, you may want to replace it
-// with another clock id. Perhaps even replace clock_gettime().
-#define TIMESTAMP(t) \
- timespec t; \
- clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &t)
-
-#define TIMING_START \
- u64 duration = (u64)-1; \
- FOR (i, 0, 500) { \
- TIMESTAMP(start);
-
-#define TIMING_END \
- TIMESTAMP(end); \
- duration = min(duration, diff(start, end)); \
- } /* end FOR*/ \
- return duration
diff --git a/vendor/tests/test-legacy.c b/vendor/tests/test-legacy.c
deleted file mode 100644
index 84990dc..0000000
--- a/vendor/tests/test-legacy.c
+++ /dev/null
@@ -1,347 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2019, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2019 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "monocypher.h"
-#include "deprecated/chacha20.h"
-#include "deprecated/aead-incr.h"
-#include "utils.h"
-#include "vectors.h"
-
-#define CHACHA_BLOCK_SIZE 64
-#define CHACHA_NB_BLOCKS 10
-#define POLY1305_BLOCK_SIZE 16
-#define BLAKE2B_BLOCK_SIZE 128
-#define SHA_512_BLOCK_SIZE 128
-
-////////////////////////////
-/// Tests aginst vectors ///
-////////////////////////////
-static void chacha20(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *nonce = in + 1;
- const vector *plain = in + 2;
- u64 ctr = load64_le(in[3].buf);
-
- crypto_chacha_ctx ctx;
- crypto_chacha20_init (&ctx, key->buf, nonce->buf);
- crypto_chacha20_set_ctr(&ctx, ctr);
- crypto_chacha20_encrypt(&ctx, out->buf, plain->buf, plain->size);
-}
-
-static void hchacha20(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *nonce = in + 1;
- crypto_chacha20_H(out->buf, key->buf, nonce->buf);
-}
-
-static void xchacha20(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *nonce = in + 1;
- const vector *plain = in + 2;
- u64 ctr = load64_le(in[3].buf);
- crypto_chacha_ctx ctx;
- crypto_chacha20_x_init (&ctx, key->buf, nonce->buf);
- crypto_chacha20_set_ctr(&ctx, ctr);
- crypto_chacha20_encrypt(&ctx, out->buf, plain->buf, plain->size);
-}
-
-//////////////////////////////
-/// Self consistency tests ///
-//////////////////////////////
-
-// Tests that encrypting in chunks yields the same result than
-// encrypting all at once.
-static int p_chacha20()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (CHACHA_BLOCK_SIZE * 4) // total input size
- int status = 0;
- FOR (i, 0, INPUT_SIZE) {
- // outputs
- u8 output_chunk[INPUT_SIZE];
- u8 output_whole[INPUT_SIZE];
- // inputs
- RANDOM_INPUT(input, INPUT_SIZE);
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
-
- // Encrypt in chunks
- crypto_chacha_ctx ctx;
- crypto_chacha20_init(&ctx, key, nonce);
- crypto_chacha20_encrypt(&ctx, output_chunk , input , i);
- crypto_chacha20_encrypt(&ctx, output_chunk+i, input+i, INPUT_SIZE-i);
- // Encrypt all at once
- crypto_chacha20_init(&ctx, key, nonce);
- crypto_chacha20_encrypt(&ctx, output_whole, input, INPUT_SIZE);
- // Compare
- status |= memcmp(output_chunk, output_whole, INPUT_SIZE);
-
- // Stream in chunks
- crypto_chacha20_init(&ctx, key, nonce);
- crypto_chacha20_stream(&ctx, output_chunk , i);
- crypto_chacha20_stream(&ctx, output_chunk + i, INPUT_SIZE - i);
- // Stream all at once
- crypto_chacha20_init(&ctx, key, nonce);
- crypto_chacha20_stream(&ctx, output_whole, INPUT_SIZE);
- // Compare
- status |= memcmp(output_chunk, output_whole, INPUT_SIZE);
- }
- printf("%s: Chacha20 (incremental)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that output and input can be the same pointer
-static int p_chacha20_same_ptr()
-{
- int status = 0;
- u8 output[INPUT_SIZE];
- RANDOM_INPUT(input, INPUT_SIZE);
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
- crypto_chacha_ctx ctx;
- crypto_chacha20_init (&ctx, key, nonce);
- crypto_chacha20_encrypt(&ctx, output, input, INPUT_SIZE);
- crypto_chacha20_init (&ctx, key, nonce);
- crypto_chacha20_encrypt(&ctx, input, input, INPUT_SIZE);
- status |= memcmp(output, input, CHACHA_BLOCK_SIZE);
- printf("%s: Chacha20 (output == input)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_chacha20_set_ctr()
-{
-#define STREAM_SIZE (CHACHA_BLOCK_SIZE * CHACHA_NB_BLOCKS)
- int status = 0;
- FOR (i, 0, CHACHA_NB_BLOCKS) {
- u8 output_part[STREAM_SIZE ];
- u8 output_all [STREAM_SIZE ];
- u8 output_more[STREAM_SIZE * 2];
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
- size_t limit = i * CHACHA_BLOCK_SIZE;
- // Encrypt all at once
- crypto_chacha_ctx ctx;
- crypto_chacha20_init(&ctx, key, nonce);
- crypto_chacha20_stream(&ctx, output_all, STREAM_SIZE);
- // Encrypt second part
- crypto_chacha20_set_ctr(&ctx, i);
- crypto_chacha20_stream(&ctx, output_part + limit, STREAM_SIZE - limit);
- // Encrypt first part
- crypto_chacha20_set_ctr(&ctx, 0);
- crypto_chacha20_stream(&ctx, output_part, limit);
- // Compare the results (must be the same)
- status |= memcmp(output_part, output_all, STREAM_SIZE);
-
- // Encrypt before the begining
- crypto_chacha20_set_ctr(&ctx, -(u64)i);
- crypto_chacha20_stream(&ctx,
- output_more + STREAM_SIZE - limit,
- STREAM_SIZE + limit);
- // Compare the results (must be the same)
- status |= memcmp(output_more + STREAM_SIZE, output_all, STREAM_SIZE);
- }
- printf("%s: Chacha20 (set counter)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_chacha20_H()
-{
- int status = 0;
- FOR (i, 0, 100) {
- RANDOM_INPUT(buffer, 80);
- size_t out_idx = rand64() % 48;
- size_t key_idx = rand64() % 48;
- size_t in_idx = rand64() % 64;
- u8 key[32]; FOR (j, 0, 32) { key[j] = buffer[j + key_idx]; }
- u8 in [16]; FOR (j, 0, 16) { in [j] = buffer[j + in_idx]; }
-
- // Run with and without overlap, then compare
- u8 out[32];
- crypto_chacha20_H(out, key, in);
- crypto_chacha20_H(buffer + out_idx, buffer + key_idx, buffer + in_idx);
- status |= memcmp(out, buffer + out_idx, 32);
- }
- printf("%s: HChacha20 (overlap)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_lock_incremental()
-{
- int status = 0;
- FOR (i, 0, 1000) {
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 24);
- RANDOM_INPUT(ad , 128);
- RANDOM_INPUT(plain, 256);
- // total sizes
- size_t ad_size = rand64() % 128;
- size_t text_size = rand64() % 256;
- // incremental sizes
- size_t ad_size1 = ad_size == 0 ? 0 : rand64() % ad_size;
- size_t text_size1 = text_size == 0 ? 0 : rand64() % text_size;
- size_t ad_size2 = ad_size - ad_size1;
- size_t text_size2 = text_size - text_size1;
- // incremental buffers
- u8 *ad1 = ad; u8 *ad2 = ad + ad_size1;
- u8 *plain1 = plain; u8 *plain2 = plain + text_size1;
-
- u8 mac1[16], cipher1[256];
- u8 mac2[16], cipher2[256];
- crypto_lock_aead(mac1, cipher1, key, nonce,
- ad, ad_size, plain, text_size);
- crypto_lock_ctx ctx;
- crypto_lock_init (&ctx, key, nonce);
- crypto_lock_auth_ad(&ctx, ad1, ad_size1); // just to show ad also have
- crypto_lock_auth_ad(&ctx, ad2, ad_size2); // an incremental interface
- crypto_lock_update (&ctx, cipher2 , plain1, text_size1);
- crypto_lock_update (&ctx, cipher2 + text_size1, plain2, text_size2);
- crypto_lock_final (&ctx, mac2);
- status |= memcmp(mac1 , mac2 , 16 );
- status |= memcmp(cipher1, cipher2, text_size);
-
- // Now test the round trip.
- u8 re_plain1[256];
- u8 re_plain2[256];
- status |= crypto_unlock_aead(re_plain1, key, nonce, mac1,
- ad, ad_size, cipher1, text_size);
- crypto_unlock_init (&ctx, key, nonce);
- crypto_unlock_auth_ad(&ctx, ad, ad_size);
- crypto_unlock_update (&ctx, re_plain2, cipher2, text_size);
- status |= crypto_unlock_final(&ctx, mac2);
- status |= memcmp(mac1 , mac2 , 16 );
- status |= memcmp(plain, re_plain1, text_size);
- status |= memcmp(plain, re_plain2, text_size);
-
- // Test authentication without decryption
- crypto_unlock_init (&ctx, key, nonce);
- crypto_unlock_auth_ad (&ctx, ad , ad_size );
- crypto_unlock_auth_message(&ctx, cipher2, text_size);
- status |= crypto_unlock_final(&ctx, mac2);
- // The same, except we're supposed to reject forgeries
- if (text_size > 0) {
- cipher2[0]++; // forgery attempt
- crypto_unlock_init (&ctx, key, nonce);
- crypto_unlock_auth_ad (&ctx, ad , ad_size );
- crypto_unlock_auth_message(&ctx, cipher2, text_size);
- status |= !crypto_unlock_final(&ctx, mac2);
- }
- }
- printf("%s: aead (incremental)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Only additionnal data
-static int p_auth()
-{
- int status = 0;
- FOR (i, 0, 128) {
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce , 24);
- RANDOM_INPUT(ad , 128);
- u8 mac1[16];
- u8 mac2[16];
- // roundtrip
- {
- crypto_lock_ctx ctx;
- crypto_lock_init (&ctx, key, nonce);
- crypto_lock_auth_ad(&ctx, ad, i);
- crypto_lock_final (&ctx, mac1);
- crypto_lock_aead(mac2, 0, key, nonce, ad, i, 0, 0);
- status |= memcmp(mac1, mac2, 16);
- }
- {
- crypto_unlock_ctx ctx;
- crypto_unlock_init (&ctx, key, nonce);
- crypto_unlock_auth_ad(&ctx, ad, i);
- status |= crypto_unlock_final(&ctx, mac1);
- status |= crypto_unlock_aead(0, key, nonce, mac1, ad, i, 0, 0);
- }
- }
- printf("%s: aead (authentication)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-#define TEST(name, nb_inputs) vector_test(name, #name, nb_inputs, \
- nb_##name##_vectors, \
- name##_vectors, \
- name##_sizes)
-
-int main(int argc, char *argv[])
-{
- if (argc > 1) {
- sscanf(argv[1], "%" PRIu64 "", &random_state);
- }
- printf("\nRandom seed: %" PRIu64 "\n", random_state);
-
- int status = 0;
- printf("\nTest against vectors");
- printf("\n--------------------\n");
- status |= TEST(chacha20 , 4);
- status |= TEST(hchacha20 , 2);
- status |= TEST(xchacha20 , 4);
-
- printf("\nProperty based tests");
- printf("\n--------------------\n");
- status |= p_chacha20();
- status |= p_chacha20_same_ptr();
- status |= p_chacha20_set_ctr();
- status |= p_chacha20_H();
- status |= p_lock_incremental();
- status |= p_auth();
- printf("\n%s\n\n", status != 0 ? "SOME TESTS FAILED" : "All tests OK!");
- return status;
-}
diff --git a/vendor/tests/test.c b/vendor/tests/test.c
deleted file mode 100644
index 271fd97..0000000
--- a/vendor/tests/test.c
+++ /dev/null
@@ -1,1170 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2020, Loup Vaillant and Richard Walmsley
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2020 by Loup Vaillant and Richard Walmsley
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "monocypher.h"
-#include "monocypher-ed25519.h"
-#include "utils.h"
-#include "vectors.h"
-
-#define CHACHA_BLOCK_SIZE 64
-#define POLY1305_BLOCK_SIZE 16
-#define BLAKE2B_BLOCK_SIZE 128
-#define SHA_512_BLOCK_SIZE 128
-
-////////////////////////////
-/// Tests aginst vectors ///
-////////////////////////////
-static void chacha20(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *nonce = in + 1;
- const vector *plain = in + 2;
- u64 ctr = load64_le(in[3].buf);
- u64 new_ctr = crypto_chacha20_ctr(out->buf, plain->buf, plain->size,
- key->buf, nonce->buf, ctr);
- u64 nb_blocks = plain->size / 64 + (plain->size % 64 != 0);
- if (new_ctr - ctr != nb_blocks) {
- printf("FAILURE: Chacha20 returned counter not correct: ");
- }
-}
-
-static void ietf_chacha20(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *nonce = in + 1;
- const vector *plain = in + 2;
- u32 ctr = load32_le(in[3].buf);
- u32 new_ctr = crypto_ietf_chacha20_ctr(out->buf, plain->buf, plain->size,
- key->buf, nonce->buf, ctr);
- u32 nb_blocks = (u32)(plain->size / 64 + (plain->size % 64 != 0));
- if (new_ctr - ctr != nb_blocks) {
- printf("FAILURE: IETF Chacha20 returned counter not correct: ");
- }
-}
-
-static void hchacha20(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *nonce = in + 1;
- crypto_hchacha20(out->buf, key->buf, nonce->buf);
-}
-
-static void xchacha20(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *nonce = in + 1;
- const vector *plain = in + 2;
- u64 ctr = load64_le(in[3].buf);
- u64 new_ctr = crypto_xchacha20_ctr(out->buf, plain->buf, plain->size,
- key->buf, nonce->buf, ctr);
- u64 nb_blocks = plain->size / 64 + (plain->size % 64 != 0);
- if (new_ctr - ctr != nb_blocks) {
- printf("FAILURE: XChacha20 returned counter not correct: ");
- }
-}
-
-static void poly1305(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *msg = in + 1;
- crypto_poly1305(out->buf, msg->buf, msg->size, key->buf);
-}
-
-static void aead_ietf(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *nonce = in + 1;
- const vector *ad = in + 2;
- const vector *text = in + 3;
- crypto_lock_aead(out ->buf, out->buf + 16, key->buf, nonce->buf,
- ad->buf, ad->size, text->buf, text->size);
-}
-
-
-static void blake2b(const vector in[], vector *out)
-{
- const vector *msg = in;
- const vector *key = in + 1;
- crypto_blake2b_general(out->buf, out->size,
- key->buf, key->size,
- msg->buf, msg->size);
-}
-
-static void sha512(const vector in[], vector *out)
-{
- crypto_sha512(out->buf, in->buf, in->size);
-}
-
-static void hmac_sha512(const vector in[], vector *out)
-{
- const vector *key = in;
- const vector *msg = in +1;
- crypto_hmac_sha512(out->buf, key->buf, key->size, msg->buf, msg->size);
-}
-
-static void argon2i(const vector in[], vector *out)
-{
- u64 nb_blocks = load64_le(in[0].buf);
- u64 nb_iterations = load64_le(in[1].buf);
- const vector *password = in + 2;
- const vector *salt = in + 3;
- const vector *key = in + 4;
- const vector *ad = in + 5;
-
- void *work_area = alloc(nb_blocks * 1024);
- crypto_argon2i_general(out->buf, (u32)out->size,
- work_area, (u32)nb_blocks, (u32)nb_iterations,
- password->buf, (u32)password->size,
- salt ->buf, (u32)salt ->size,
- key ->buf, (u32)key ->size,
- ad ->buf, (u32)ad ->size);
- free(work_area);
-}
-
-static void x25519(const vector in[], vector *out)
-{
- const vector *scalar = in;
- const vector *point = in + 1;
- crypto_x25519(out->buf, scalar->buf, point->buf);
-}
-
-static void x25519_pk(const vector in[], vector *out)
-{
- crypto_x25519_public_key(out->buf, in->buf);
-}
-
-static void key_exchange(const vector in[], vector *out)
-{
- const vector *secret_key = in;
- const vector *public_key = in + 1;
- crypto_key_exchange(out->buf, secret_key->buf, public_key->buf);
-}
-
-static void edDSA(const vector in[], vector *out)
-{
- const vector *secret_k = in;
- const vector *public_k = in + 1;
- const vector *msg = in + 2;
- u8 out2[64];
-
- // Sign with cached public key, then by reconstructing the key
- crypto_sign(out->buf, secret_k->buf, public_k->buf, msg->buf, msg->size);
- crypto_sign(out2 , secret_k->buf, 0 , msg->buf, msg->size);
- // Compare signatures (must be the same)
- if (memcmp(out->buf, out2, out->size)) {
- printf("FAILURE: reconstructing public key"
- " yields different signature\n");
- }
-}
-
-static void edDSA_pk(const vector in[], vector *out)
-{
- crypto_sign_public_key(out->buf, in->buf);
-}
-
-static void ed_25519(const vector in[], vector *out)
-{
- const vector *secret_k = in;
- const vector *public_k = in + 1;
- const vector *msg = in + 2;
- u8 out2[64];
-
- // Sign with cached public key, then by reconstructing the key
- crypto_ed25519_sign(out->buf, secret_k->buf, public_k->buf,
- msg->buf, msg->size);
- crypto_ed25519_sign(out2 , secret_k->buf, 0,
- msg->buf, msg->size);
- // Compare signatures (must be the same)
- if (memcmp(out->buf, out2, out->size)) {
- printf("FAILURE: reconstructing public key"
- " yields different signature\n");
- }
-}
-
-static void ed_25519_pk(const vector in[], vector *out)
-{
- crypto_ed25519_public_key(out->buf, in->buf);
-}
-
-static void ed_25519_check(const vector in[], vector *out)
-{
- const vector *public_k = in;
- const vector *msg = in + 1;
- const vector *sig = in + 2;
- out->buf[0] = (u8)crypto_ed25519_check(sig->buf, public_k->buf,
- msg->buf, msg->size);
-}
-
-static void iterate_x25519(u8 k[32], u8 u[32])
-{
- u8 tmp[32];
- crypto_x25519(tmp , k, u);
- memcpy(u, k , 32);
- memcpy(k, tmp, 32);
-}
-
-static int test_x25519()
-{
- u8 _1 [32] = {0x42, 0x2c, 0x8e, 0x7a, 0x62, 0x27, 0xd7, 0xbc,
- 0xa1, 0x35, 0x0b, 0x3e, 0x2b, 0xb7, 0x27, 0x9f,
- 0x78, 0x97, 0xb8, 0x7b, 0xb6, 0x85, 0x4b, 0x78,
- 0x3c, 0x60, 0xe8, 0x03, 0x11, 0xae, 0x30, 0x79};
- u8 k[32] = {9};
- u8 u[32] = {9};
-
- crypto_x25519_public_key(k, u);
- int status = memcmp(k, _1, 32);
- printf("%s: x25519 1\n", status != 0 ? "FAILED" : "OK");
-
- u8 _1k [32] = {0x68, 0x4c, 0xf5, 0x9b, 0xa8, 0x33, 0x09, 0x55,
- 0x28, 0x00, 0xef, 0x56, 0x6f, 0x2f, 0x4d, 0x3c,
- 0x1c, 0x38, 0x87, 0xc4, 0x93, 0x60, 0xe3, 0x87,
- 0x5f, 0x2e, 0xb9, 0x4d, 0x99, 0x53, 0x2c, 0x51};
- FOR (i, 1, 1000) { iterate_x25519(k, u); }
- status |= memcmp(k, _1k, 32);
- printf("%s: x25519 1K\n", status != 0 ? "FAILED" : "OK");
-
- // too long; didn't run
- //u8 _1M[32] = {0x7c, 0x39, 0x11, 0xe0, 0xab, 0x25, 0x86, 0xfd,
- // 0x86, 0x44, 0x97, 0x29, 0x7e, 0x57, 0x5e, 0x6f,
- // 0x3b, 0xc6, 0x01, 0xc0, 0x88, 0x3c, 0x30, 0xdf,
- // 0x5f, 0x4d, 0xd2, 0xd2, 0x4f, 0x66, 0x54, 0x24};
- //FOR (i, 1000, 1000000) { iterate_x25519(k, u); }
- //status |= memcmp(k, _1M, 32);
- //printf("%s: x25519 1M\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static void elligator_dir(const vector in[], vector *out)
-{
- crypto_hidden_to_curve(out->buf, in->buf);
-}
-
-static void elligator_inv(const vector in[], vector *out)
-{
- const vector *point = in;
- u8 tweak = in[1].buf[0];
- u8 failure = in[2].buf[0];
- int check = crypto_curve_to_hidden(out->buf, point->buf, tweak);
- if ((u8)check != failure) {
- fprintf(stderr, "Elligator inverse map: failure mismatch\n");
- }
- if (check) {
- out->buf[0] = 0;
- }
-}
-
-//////////////////////////////
-/// Self consistency tests ///
-//////////////////////////////
-static int p_verify(size_t size, int (*compare)(const u8*, const u8*))
-{
- int status = 0;
- u8 a[64]; // size <= 64
- u8 b[64]; // size <= 64
- FOR (i, 0, 2) {
- FOR (j, 0, 2) {
- // Set every byte to the chosen value, then compare
- FOR (k, 0, size) {
- a[k] = (u8)i;
- b[k] = (u8)j;
- }
- int cmp = compare(a, b);
- status |= (i == j ? cmp : ~cmp);
- // Set only two bytes to the chosen value, then compare
- FOR (k, 0, size / 2) {
- FOR (l, 0, size) {
- a[l] = 0;
- b[l] = 0;
- }
- a[k] = (u8)i; a[k + size/2 - 1] = (u8)i;
- b[k] = (u8)j; b[k + size/2 - 1] = (u8)j;
- cmp = compare(a, b);
- status |= (i == j ? cmp : ~cmp);
- }
- }
- }
- printf("%s: crypto_verify%zu\n", status != 0 ? "FAILED" : "OK", size);
- return status;
-}
-static int p_verify16(){ return p_verify(16, crypto_verify16); }
-static int p_verify32(){ return p_verify(32, crypto_verify32); }
-static int p_verify64(){ return p_verify(64, crypto_verify64); }
-
-static int p_chacha20_ctr()
-{
- int status = 0;
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 24);
- RANDOM_INPUT(plain, 128);
- u8 out_full[128];
- u8 out1 [64];
- u8 out2 [64];
- crypto_chacha20 (out_full, plain , 128, key, nonce);
- crypto_chacha20_ctr(out1 , plain + 0, 64, key, nonce, 0);
- crypto_chacha20_ctr(out2 , plain + 64, 64, key, nonce, 1);
- status |= memcmp(out_full , out1, 64);
- status |= memcmp(out_full + 64, out2, 64);
-
- crypto_ietf_chacha20 (out_full, plain , 128, key, nonce);
- crypto_ietf_chacha20_ctr(out1 , plain + 0, 64, key, nonce, 0);
- crypto_ietf_chacha20_ctr(out2 , plain + 64, 64, key, nonce, 1);
- status |= memcmp(out_full , out1, 64);
- status |= memcmp(out_full + 64, out2, 64);
-
- crypto_xchacha20 (out_full, plain , 128, key, nonce);
- crypto_xchacha20_ctr(out1 , plain + 0, 64, key, nonce, 0);
- crypto_xchacha20_ctr(out2 , plain + 64, 64, key, nonce, 1);
- status |= memcmp(out_full , out1, 64);
- status |= memcmp(out_full + 64, out2, 64);
-
- printf("%s: Chacha20 (ctr)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that Chacha20(nullptr) == Chacha20(all-zeroes)
-static int p_chacha20_stream()
-{
- int status = 0;
-#define INPUT_SIZE (CHACHA_BLOCK_SIZE * 2 + 1)
- FOR (i, 0, INPUT_SIZE) {
- u8 output_normal[INPUT_SIZE];
- u8 output_stream[INPUT_SIZE];
- u8 zeroes [INPUT_SIZE] = {0};
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
- crypto_chacha20(output_normal, zeroes, i, key, nonce);
- crypto_chacha20(output_stream, 0 , i, key, nonce);
- status |= memcmp(output_normal, output_stream, i);
- }
- printf("%s: Chacha20 (nullptr == zeroes)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that output and input can be the same pointer
-static int p_chacha20_same_ptr()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (CHACHA_BLOCK_SIZE * 4) // total input size
- int status = 0;
- u8 output[INPUT_SIZE];
- RANDOM_INPUT(input, INPUT_SIZE);
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce, 8);
- crypto_chacha20(output, input, INPUT_SIZE, key, nonce);
- crypto_chacha20(input , input, INPUT_SIZE, key, nonce);
- status |= memcmp(output, input, INPUT_SIZE);
- printf("%s: Chacha20 (output == input)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_hchacha20()
-{
- int status = 0;
- FOR (i, 0, 100) {
- RANDOM_INPUT(buffer, 80);
- size_t out_idx = rand64() % 48;
- size_t key_idx = rand64() % 48;
- size_t in_idx = rand64() % 64;
- u8 key[32]; FOR (j, 0, 32) { key[j] = buffer[j + key_idx]; }
- u8 in [16]; FOR (j, 0, 16) { in [j] = buffer[j + in_idx]; }
-
- // Run with and without overlap, then compare
- u8 out[32];
- crypto_hchacha20(out, key, in);
- crypto_hchacha20(buffer + out_idx, buffer + key_idx, buffer + in_idx);
- status |= memcmp(out, buffer + out_idx, 32);
- }
- printf("%s: HChacha20 (overlap)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that authenticating bit by bit yields the same mac than
-// authenticating all at once
-static int p_poly1305()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (POLY1305_BLOCK_SIZE * 4) // total input size
- int status = 0;
- FOR (i, 0, INPUT_SIZE) {
- // outputs
- u8 mac_chunk[16];
- u8 mac_whole[16];
- // inputs
- RANDOM_INPUT(input, INPUT_SIZE);
- RANDOM_INPUT(key , 32);
-
- // Authenticate bit by bit
- crypto_poly1305_ctx ctx;
- crypto_poly1305_init(&ctx, key);
- crypto_poly1305_update(&ctx, input , i);
- crypto_poly1305_update(&ctx, input + i, INPUT_SIZE - i);
- crypto_poly1305_final(&ctx, mac_chunk);
-
- // Authenticate all at once
- crypto_poly1305(mac_whole, input, INPUT_SIZE, key);
-
- // Compare the results (must be the same)
- status |= memcmp(mac_chunk, mac_whole, 16);
- }
- printf("%s: Poly1305 (incremental)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that the input and output buffers of poly1305 can overlap.
-static int p_poly1305_overlap()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (POLY1305_BLOCK_SIZE + (2 * 16)) // total input size
- int status = 0;
- FOR (i, 0, POLY1305_BLOCK_SIZE + 16) {
- RANDOM_INPUT(input, INPUT_SIZE);
- RANDOM_INPUT(key , 32);
- u8 mac [16];
- crypto_poly1305(mac , input + 16, POLY1305_BLOCK_SIZE, key);
- crypto_poly1305(input+i, input + 16, POLY1305_BLOCK_SIZE, key);
- status |= memcmp(mac, input + i, 16);
- }
- printf("%s: Poly1305 (overlapping i/o)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that hashing bit by bit yields the same hash than hashing all
-// at once. Note: I figured we didn't need to test keyed mode, or
-// different hash sizes, again. This test sticks to the simplified
-// interface.
-static int p_blake2b()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (BLAKE2B_BLOCK_SIZE * 4 - 32) // total input size
- int status = 0;
- FOR (i, 0, INPUT_SIZE) {
- // outputs
- u8 hash_chunk[64];
- u8 hash_whole[64];
- // inputs
- RANDOM_INPUT(input, INPUT_SIZE);
-
- // Authenticate bit by bit
- crypto_blake2b_ctx ctx;
- crypto_blake2b_init(&ctx);
- crypto_blake2b_update(&ctx, input , i);
- crypto_blake2b_update(&ctx, input + i, INPUT_SIZE - i);
- crypto_blake2b_final(&ctx, hash_chunk);
-
- // Authenticate all at once
- crypto_blake2b(hash_whole, input, INPUT_SIZE);
-
- // Compare the results (must be the same)
- status |= memcmp(hash_chunk, hash_whole, 64);
- }
- printf("%s: Blake2b (incremental)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that the input and output buffers of Blake2b can overlap.
-static int p_blake2b_overlap()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (BLAKE2B_BLOCK_SIZE + (2 * 64)) // total input size
- int status = 0;
- FOR (i, 0, BLAKE2B_BLOCK_SIZE + 64) {
- u8 hash [64];
- RANDOM_INPUT(input, INPUT_SIZE);
- crypto_blake2b(hash , input + 64, BLAKE2B_BLOCK_SIZE);
- crypto_blake2b(input+i, input + 64, BLAKE2B_BLOCK_SIZE);
- status |= memcmp(hash, input + i, 64);
- }
- printf("%s: Blake2b (overlapping i/o)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that hashing bit by bit yields the same hash than hashing all
-// at once. (for sha512)
-static int p_sha512()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (SHA_512_BLOCK_SIZE * 4 - 32) // total input size
- int status = 0;
- FOR (i, 0, INPUT_SIZE) {
- // outputs
- u8 hash_chunk[64];
- u8 hash_whole[64];
- // inputs
- RANDOM_INPUT(input, INPUT_SIZE);
-
- // Authenticate bit by bit
- crypto_sha512_ctx ctx;
- crypto_sha512_init(&ctx);
- crypto_sha512_update(&ctx, input , i);
- crypto_sha512_update(&ctx, input + i, INPUT_SIZE - i);
- crypto_sha512_final(&ctx, hash_chunk);
-
- // Authenticate all at once
- crypto_sha512(hash_whole, input, INPUT_SIZE);
-
- // Compare the results (must be the same)
- status |= memcmp(hash_chunk, hash_whole, 64);
- }
- printf("%s: Sha512 (incremental)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that the input and output buffers of crypto_sha_512 can overlap.
-static int p_sha512_overlap()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (SHA_512_BLOCK_SIZE + (2 * 64)) // total input size
- int status = 0;
- FOR (i, 0, SHA_512_BLOCK_SIZE + 64) {
- u8 hash [64];
- RANDOM_INPUT(input, INPUT_SIZE);
- crypto_sha512(hash , input + 64, SHA_512_BLOCK_SIZE);
- crypto_sha512(input+i, input + 64, SHA_512_BLOCK_SIZE);
- status |= memcmp(hash, input + i, 64);
- }
- printf("%s: Sha512 (overlapping i/o)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that hashing bit by bit yields the same hash than hashing all
-// at once. (for hmac)
-static int p_hmac_sha512()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (SHA_512_BLOCK_SIZE * 4 - 32) // total input size
- int status = 0;
- FOR (i, 0, INPUT_SIZE) {
- // outputs
- u8 hash_chunk[64];
- u8 hash_whole[64];
- // inputs
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(input, INPUT_SIZE);
-
- // Authenticate bit by bit
- crypto_hmac_sha512_ctx ctx;
- crypto_hmac_sha512_init(&ctx, key, 32);
- crypto_hmac_sha512_update(&ctx, input , i);
- crypto_hmac_sha512_update(&ctx, input + i, INPUT_SIZE - i);
- crypto_hmac_sha512_final(&ctx, hash_chunk);
-
- // Authenticate all at once
- crypto_hmac_sha512(hash_whole, key, 32, input, INPUT_SIZE);
-
- // Compare the results (must be the same)
- status |= memcmp(hash_chunk, hash_whole, 64);
- }
- printf("%s: HMAC SHA-512 (incremental)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that the input and output buffers of crypto_sha_512 can overlap.
-static int p_hmac_sha512_overlap()
-{
-#undef INPUT_SIZE
-#define INPUT_SIZE (SHA_512_BLOCK_SIZE + (2 * 64)) // total input size
- int status = 0;
- FOR (i, 0, SHA_512_BLOCK_SIZE + 64) {
- u8 hash [64];
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(input, INPUT_SIZE);
- crypto_hmac_sha512(hash , key, 32, input + 64, SHA_512_BLOCK_SIZE);
- crypto_hmac_sha512(input+i, key, 32, input + 64, SHA_512_BLOCK_SIZE);
- status |= memcmp(hash, input + i, 64);
- }
- printf("%s: HMAC SHA-512 (overlapping i/o)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_argon2i_easy()
-{
- int status = 0;
- void *work_area = alloc(8 * 1024);
- RANDOM_INPUT(password , 32);
- RANDOM_INPUT(salt , 16);
- u8 hash_general[32];
- u8 hash_easy [32];
- crypto_argon2i_general(hash_general, 32, work_area, 8, 1,
- password, 32, salt, 16, 0, 0, 0, 0);
- crypto_argon2i(hash_easy, 32, work_area, 8, 1, password, 32, salt, 16);
- status |= memcmp(hash_general, hash_easy, 32);
- free(work_area);
- printf("%s: Argon2i (easy interface)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_argon2i_overlap()
-{
- int status = 0;
- u8 *work_area = (u8*)alloc(8 * 1024);
- u8 *clean_work_area = (u8*)alloc(8 * 1024);
- FOR (i, 0, 10) {
- p_random(work_area, 8 * 1024);
- u32 pass_offset = rand64() % 64;
- u32 salt_offset = rand64() % 64;
- u32 key_offset = rand64() % 64;
- u32 ad_offset = rand64() % 64;
- u8 hash1[32];
- u8 hash2[32];
- u8 pass [16]; FOR (j, 0, 16) { pass[j] = work_area[j + pass_offset]; }
- u8 salt [16]; FOR (j, 0, 16) { salt[j] = work_area[j + salt_offset]; }
- u8 key [32]; FOR (j, 0, 32) { key [j] = work_area[j + key_offset]; }
- u8 ad [32]; FOR (j, 0, 32) { ad [j] = work_area[j + ad_offset]; }
-
- crypto_argon2i_general(hash1, 32, clean_work_area, 8, 1,
- pass, 16, salt, 16, key, 32, ad, 32);
- crypto_argon2i_general(hash2, 32, work_area, 8, 1,
- work_area + pass_offset, 16,
- work_area + salt_offset, 16,
- work_area + key_offset, 32,
- work_area + ad_offset, 32);
- status |= memcmp(hash1, hash2, 32);
- }
- free(work_area);
- free(clean_work_area);
- printf("%s: Argon2i (overlapping i/o)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that the shared key and secret key buffers of crypto_x25519 can
-// overlap.
-static int p_x25519_overlap()
-{
- int status = 0;
- FOR (i, 0, 62) {
- u8 overlapping[94];
- u8 separate[32];
- RANDOM_INPUT(sk, 32);
- RANDOM_INPUT(pk, 32);
- memcpy(overlapping + 31, sk, 32);
- crypto_x25519(overlapping + i, overlapping + 31, pk);
- crypto_x25519(separate, sk, pk);
- status |= memcmp(separate, overlapping + i, 32);
- }
- printf("%s: x25519 (overlapping i/o)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that the shared key and secret key buffers of
-// crypto_key_exchange can overlap.
-static int p_key_exchange_overlap()
-{
- int status = 0;
- FOR (i, 0, 62) {
- u8 overlapping[94];
- u8 separate[32];
- RANDOM_INPUT(sk, 32);
- RANDOM_INPUT(pk, 32);
- memcpy(overlapping + 31, sk, 32);
- crypto_key_exchange(overlapping + i, overlapping + 31, pk);
- crypto_key_exchange(separate, sk, pk);
- status |= memcmp(separate, overlapping + i, 32);
- }
- printf("%s: key_exchange (overlapping i/o)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_eddsa_roundtrip()
-{
-#define MESSAGE_SIZE 30
- int status = 0;
- FOR (i, 0, MESSAGE_SIZE) {
- RANDOM_INPUT(message, MESSAGE_SIZE);
- RANDOM_INPUT(sk, 32);
- u8 pk [32]; crypto_sign_public_key(pk, sk);
- u8 signature[64]; crypto_sign(signature, sk, pk, message, i);
- status |= crypto_check(signature, pk, message, i);
-
- // reject forgeries
- u8 zero [64] = {0};
- u8 forgery[64]; FOR (j, 0, 64) { forgery[j] = signature[j] + 1; }
- status |= !crypto_check(zero , pk, message, i);
- status |= !crypto_check(forgery, pk, message, i);
- }
- printf("%s: EdDSA (roundtrip)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Verifies that random signatures are all invalid. Uses random
-// public keys to see what happens outside of the curve (it should
-// yield an invalid signature).
-static int p_eddsa_random()
-{
- int status = 0;
- FOR (i, 0, 100) {
- RANDOM_INPUT(message, MESSAGE_SIZE);
- RANDOM_INPUT(pk, 32);
- RANDOM_INPUT(signature , 64);
- status |= ~crypto_check(signature, pk, message, MESSAGE_SIZE);
- }
- // Testing S == L (for code coverage)
- RANDOM_INPUT(message, MESSAGE_SIZE);
- RANDOM_INPUT(pk, 32);
- static const u8 signature[64] =
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58,
- 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10};
- status |= ~crypto_check(signature, pk, message, MESSAGE_SIZE);
-
- printf("%s: EdDSA (random)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Tests that the input and output buffers of crypto_sign() can overlap.
-static int p_eddsa_overlap()
-{
- int status = 0;
- FOR(i, 0, MESSAGE_SIZE + 64) {
-#undef INPUT_SIZE
-#define INPUT_SIZE (MESSAGE_SIZE + (2 * 64)) // total input size
- RANDOM_INPUT(input, INPUT_SIZE);
- RANDOM_INPUT(sk , 32 );
- u8 pk [32]; crypto_sign_public_key(pk, sk);
- u8 signature[64];
- crypto_sign(signature, sk, pk, input + 64, MESSAGE_SIZE);
- crypto_sign(input+i , sk, pk, input + 64, MESSAGE_SIZE);
- status |= memcmp(signature, input + i, 64);
- }
- printf("%s: EdDSA (overlap)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_eddsa_incremental()
-{
- int status = 0;
- FOR (i, 0, MESSAGE_SIZE) {
- RANDOM_INPUT(msg, MESSAGE_SIZE);
- RANDOM_INPUT(sk, 32);
- u8 pk [32]; crypto_sign_public_key(pk, sk);
- u8 sig_mono[64]; crypto_sign(sig_mono, sk, pk, msg, MESSAGE_SIZE);
- u8 sig_incr[64];
- {
- crypto_sign_ctx ctx;
- crypto_sign_ctx_abstract *actx = (crypto_sign_ctx_abstract*)&ctx;
- crypto_sign_init_first_pass (actx, sk, pk);
- crypto_sign_update (actx, msg , i);
- crypto_sign_update (actx, msg+i, MESSAGE_SIZE-i);
- crypto_sign_init_second_pass(actx);
- crypto_sign_update (actx, msg , i);
- crypto_sign_update (actx, msg+i, MESSAGE_SIZE-i);
- crypto_sign_final (actx, sig_incr);
- }
- status |= memcmp(sig_mono, sig_incr, 64);
- status |= crypto_check(sig_mono, pk, msg, MESSAGE_SIZE);
- {
- crypto_check_ctx ctx;
- crypto_check_ctx_abstract *actx = (crypto_check_ctx_abstract*)&ctx;
- crypto_check_init (actx, sig_incr, pk);
- crypto_check_update(actx, msg , i);
- crypto_check_update(actx, msg+i, MESSAGE_SIZE-i);
- status |= crypto_check_final(actx);
- }
- }
- printf("%s: EdDSA (incremental)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_aead()
-{
- int status = 0;
- FOR (i, 0, 1000) {
- RANDOM_INPUT(key , 32);
- RANDOM_INPUT(nonce , 24);
- RANDOM_INPUT(ad , 4);
- RANDOM_INPUT(plaintext, 8);
- u8 box[24], box2[24];
- u8 out[8];
- // AEAD roundtrip
- crypto_lock_aead(box, box+16, key, nonce, ad, 4, plaintext, 8);
- status |= crypto_unlock_aead(out, key, nonce, box, ad, 4, box+16, 8);
- status |= memcmp(plaintext, out, 8);
- box[0]++;
- status |= !crypto_unlock_aead(out, key, nonce, box, ad, 4, box+16, 8);
-
- // Authenticated roundtrip (easy interface)
- // Make and accept message
- crypto_lock(box, box + 16, key, nonce, plaintext, 8);
- status |= crypto_unlock(out, key, nonce, box, box + 16, 8);
- // Make sure decrypted text and original text are the same
- status |= memcmp(plaintext, out, 8);
- // Make and reject forgery
- box[0]++;
- status |= !crypto_unlock(out, key, nonce, box, box + 16, 8);
- box[0]--; // undo forgery
-
- // Same result for both interfaces
- crypto_lock_aead(box2, box2 + 16, key, nonce, 0, 0, plaintext, 8);
- status |= memcmp(box, box2, 24);
- }
- printf("%s: aead (roundtrip)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-// Elligator direct mapping must ignore the most significant bits
-static int p_elligator_direct_msb()
-{
- int status = 0;
- FOR (i, 0, 20) {
- RANDOM_INPUT(r, 32);
- u8 r1[32]; memcpy(r1, r, 32); r1[31] = (r[31] & 0x3f) | 0x00;
- u8 r2[32]; memcpy(r2, r, 32); r2[31] = (r[31] & 0x3f) | 0x40;
- u8 r3[32]; memcpy(r3, r, 32); r3[31] = (r[31] & 0x3f) | 0x80;
- u8 r4[32]; memcpy(r4, r, 32); r4[31] = (r[31] & 0x3f) | 0xc0;
- u8 u [32]; crypto_hidden_to_curve(u , r );
- u8 u1[32]; crypto_hidden_to_curve(u1, r1);
- u8 u2[32]; crypto_hidden_to_curve(u2, r2);
- u8 u3[32]; crypto_hidden_to_curve(u3, r3);
- u8 u4[32]; crypto_hidden_to_curve(u4, r4);
- status |= memcmp(u, u1, 32);
- status |= memcmp(u, u2, 32);
- status |= memcmp(u, u3, 32);
- status |= memcmp(u, u4, 32);
- }
- printf("%s: elligator direct (msb)\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_elligator_direct_overlap()
-{
- int status = 0;
- FOR (i, 0, 62) {
- u8 overlapping[94];
- u8 separate[32];
- RANDOM_INPUT(r, 32);
- memcpy(overlapping + 31, r, 32);
- crypto_hidden_to_curve(overlapping + i, overlapping + 31);
- crypto_hidden_to_curve(separate, r);
- status |= memcmp(separate, overlapping + i, 32);
- }
- printf("%s: elligator direct (overlapping i/o)\n",
- status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_elligator_inverse_overlap()
-{
- int status = 0;
- FOR (i, 0, 62) {
- u8 overlapping[94];
- u8 separate[32];
- RANDOM_INPUT(pk, 33);
- u8 tweak = pk[32];
- memcpy(overlapping + 31, pk, 32);
- int a = crypto_curve_to_hidden(overlapping+i, overlapping+31, tweak);
- int b = crypto_curve_to_hidden(separate, pk, tweak);
- status |= a - b;
- if (a == 0) {
- // The buffers are the same only if written to to begin with
- status |= memcmp(separate, overlapping + i, 32);
- }
- }
- printf("%s: elligator inverse (overlapping i/o)\n",
- status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_elligator_x25519()
-{
- int status = 0;
- int i = 0;
- while (i < 64) {
- RANDOM_INPUT(sk1, 32);
- RANDOM_INPUT(sk2, 32);
- u8 skc [32]; memcpy(skc, sk1, 32); skc[0] &= 248;
- u8 pks [32]; crypto_x25519_dirty_small(pks , sk1);
- u8 pksc[32]; crypto_x25519_dirty_small(pksc, skc);
- u8 pkf [32]; crypto_x25519_dirty_fast (pkf , sk1);
- u8 pkfc[32]; crypto_x25519_dirty_fast (pkfc, skc);
- u8 pk1 [32]; crypto_x25519_public_key (pk1 , sk1);
-
- // Both dirty functions behave the same
- status |= memcmp(pks, pkf, 32);
-
- // Dirty functions behave cleanly if we clear the 3 msb first
- status |= memcmp(pksc, pk1, 32);
- status |= memcmp(pkfc, pk1, 32);
-
- // Dirty functions behave the same as the clean one if the lsb
- // are 0, differently if it is not
- if ((sk1[0] & 7) == 0) { status |= memcmp(pk1, pkf, 32); }
- else { status |= memcmp(pk1, pkf, 32) == 0; }
-
- // Maximise tweak diversity.
- // We want to set the bits 1 (sign) and 6-7 (padding)
- u8 tweak = (u8)((i & 1) + (i << 6));
- u8 r[32];
- if (crypto_curve_to_hidden(r, pkf, tweak)) {
- continue; // retry untill success (doesn't increment the tweak)
- }
- // Verify that the tweak's msb are copied to the representative
- status |= (tweak >> 6) ^ (r[31] >> 6);
-
- // Round trip
- u8 pkr[32]; crypto_hidden_to_curve(pkr, r);
- status |= memcmp(pkr, pkf, 32);
-
- // Dirty and safe keys are compatible
- u8 e1 [32]; crypto_x25519(e1, sk2, pk1);
- u8 e2 [32]; crypto_x25519(e2, sk2, pkr);
- status |= memcmp(e1, e2, 32);
- i++;
- }
- printf("%s: elligator x25519\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_elligator_key_pair()
-{
- int status = 0;
- FOR(i, 0, 32) {
- RANDOM_INPUT(seed, 32);
- RANDOM_INPUT(sk2 , 32);
- u8 r [32];
- u8 sk1[32]; crypto_hidden_key_pair(r, sk1, seed);
- u8 pkr[32]; crypto_hidden_to_curve(pkr, r);
- u8 pk1[32]; crypto_x25519_public_key(pk1, sk1);
- u8 e1 [32]; crypto_x25519(e1, sk2, pk1);
- u8 e2 [32]; crypto_x25519(e2, sk2, pkr);
- status |= memcmp(e1, e2, 32);
- }
-
- printf("%s: elligator key pair\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_elligator_key_pair_overlap()
-{
- int status = 0;
- FOR (i, 0, 94) {
- u8 over[158];
- u8 sep [ 64];
- RANDOM_INPUT(s1, 32);
- u8 *s2 = over + 63;
- memcpy(s2, s1, 32);
- crypto_hidden_key_pair(sep , sep + 32, s1);
- crypto_hidden_key_pair(over + i, over + i + 32, s2);
- status |= memcmp(sep, over + i, 64);
- }
-
- printf("%s: elligator key pair (overlapping i/o)\n",
- status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_x25519_inverse()
-{
- int status = 0;
- const u8 base [32] = {9};
- // check round trip
- FOR (i, 0, 50) {
- RANDOM_INPUT(sk, 32);
- u8 pk [32];
- u8 blind[32];
- crypto_x25519_public_key(pk, sk);
- crypto_x25519_inverse(blind, sk, pk);
- status |= memcmp(blind, base, 32);
- }
-
- // check cofactor clearing
- // (Multiplying by a low order point yields zero
- u8 low_order[4][32] = {
- {0}, {1},
- {0x5f, 0x9c, 0x95, 0xbc, 0xa3, 0x50, 0x8c, 0x24,
- 0xb1, 0xd0, 0xb1, 0x55, 0x9c, 0x83, 0xef, 0x5b,
- 0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, 0x8e, 0x86,
- 0xd8, 0x22, 0x4e, 0xdd, 0xd0, 0x9f, 0x11, 0x57,},
- {0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae,
- 0x16, 0x56, 0xe3, 0xfa, 0xf1, 0x9f, 0xc4, 0x6a,
- 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, 0xb1, 0xfd,
- 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00,},
- };
- u8 zero[32] = {0};
- FOR (i, 0, 32) {
- u8 blind[32];
- RANDOM_INPUT(sk, 32);
- crypto_x25519_inverse(blind, sk, low_order[i%4]);
- status |= memcmp(blind, zero, 32);
- }
- printf("%s: x25519_inverse\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_x25519_inverse_overlap()
-{
- int status = 0;
- FOR (i, 0, 62) {
- u8 overlapping[94];
- u8 separate[32];
- RANDOM_INPUT(sk, 32);
- RANDOM_INPUT(pk, 32);
- memcpy(overlapping + 31, sk, 32);
- crypto_x25519_inverse(overlapping + i, overlapping + 31, pk);
- crypto_x25519_inverse(separate, sk, pk);
- status |= memcmp(separate, overlapping + i, 32);
- }
- printf("%s: x25519 inverse (overlapping i/o)\n",
- status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_from_eddsa()
-{
- int status = 0;
- FOR (i, 0, 32) {
- RANDOM_INPUT(ed_private, 32);
- u8 ed_public[32]; crypto_sign_public_key (ed_public, ed_private);
- u8 x_private[32]; crypto_from_eddsa_private(x_private, ed_private);
- u8 x_public1[32]; crypto_from_eddsa_public (x_public1, ed_public);
- u8 x_public2[32]; crypto_x25519_public_key (x_public2, x_private);
- status |= memcmp(x_public1, x_public2, 32);
- }
- printf("%s: from_eddsa\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-static int p_from_ed25519()
-{
- int status = 0;
- FOR (i, 0, 32) {
- RANDOM_INPUT(ed_private, 32);
- u8 ed_public[32]; crypto_ed25519_public_key (ed_public, ed_private);
- u8 x_private[32]; crypto_from_ed25519_private(x_private, ed_private);
- u8 x_public1[32]; crypto_from_ed25519_public (x_public1, ed_public);
- u8 x_public2[32]; crypto_x25519_public_key (x_public2, x_private);
- status |= memcmp(x_public1, x_public2, 32);
- }
- printf("%s: from_ed25519\n", status != 0 ? "FAILED" : "OK");
- return status;
-}
-
-#define TEST(name, nb_inputs) vector_test(name, #name, nb_inputs, \
- nb_##name##_vectors, \
- name##_vectors, \
- name##_sizes)
-
-int main(int argc, char *argv[])
-{
- if (argc > 1) {
- sscanf(argv[1], "%" PRIu64 "", &random_state);
- }
- printf("\nRandom seed: %" PRIu64 "\n", random_state);
-
- int status = 0;
- printf("\nTest against vectors");
- printf("\n--------------------\n");
- status |= TEST(chacha20 , 4);
- status |= TEST(ietf_chacha20 , 4);
- status |= TEST(hchacha20 , 2);
- status |= TEST(xchacha20 , 4);
- status |= TEST(poly1305 , 2);
- status |= TEST(aead_ietf , 4);
- status |= TEST(blake2b , 2);
- status |= TEST(sha512 , 1);
- status |= TEST(hmac_sha512 , 2);
- status |= TEST(argon2i , 6);
- status |= TEST(x25519 , 2);
- status |= TEST(x25519_pk , 1);
- status |= TEST(key_exchange , 2);
- status |= TEST(edDSA , 3);
- status |= TEST(edDSA_pk , 1);
- status |= TEST(ed_25519 , 3);
- status |= TEST(ed_25519_pk , 1);
- status |= TEST(ed_25519_check, 3);
- status |= test_x25519();
- status |= TEST(elligator_dir , 1);
- status |= TEST(elligator_inv , 3);
-
- printf("\nProperty based tests");
- printf("\n--------------------\n");
- status |= p_verify16();
- status |= p_verify32();
- status |= p_verify64();
- status |= p_chacha20_ctr();
- status |= p_chacha20_stream();
- status |= p_chacha20_same_ptr();
- status |= p_hchacha20();
- status |= p_poly1305();
- status |= p_poly1305_overlap();
- status |= p_blake2b();
- status |= p_blake2b_overlap();
- status |= p_sha512();
- status |= p_sha512_overlap();
- status |= p_hmac_sha512();
- status |= p_hmac_sha512_overlap();
- status |= p_argon2i_easy();
- status |= p_argon2i_overlap();
- status |= p_x25519_overlap();
- status |= p_key_exchange_overlap();
- status |= p_eddsa_roundtrip();
- status |= p_eddsa_random();
- status |= p_eddsa_overlap();
- status |= p_eddsa_incremental();
- status |= p_aead();
- status |= p_elligator_direct_msb();
- status |= p_elligator_direct_overlap();
- status |= p_elligator_inverse_overlap();
- status |= p_elligator_x25519();
- status |= p_elligator_key_pair();
- status |= p_elligator_key_pair_overlap();
- status |= p_x25519_inverse();
- status |= p_x25519_inverse_overlap();
- status |= p_from_eddsa();
- status |= p_from_ed25519();
- printf("\n%s\n\n", status != 0 ? "SOME TESTS FAILED" : "All tests OK!");
- return status;
-}
diff --git a/vendor/tests/test.sh b/vendor/tests/test.sh
deleted file mode 100755
index 088a73d..0000000
--- a/vendor/tests/test.sh
+++ /dev/null
@@ -1,65 +0,0 @@
-#! /bin/sh
-
-# This file is dual-licensed. Choose whichever licence you want from
-# the two licences listed below.
-#
-# The first licence is a regular 2-clause BSD licence. The second licence
-# is the CC-0 from Creative Commons. It is intended to release Monocypher
-# to the public domain. The BSD licence serves as a fallback option.
-#
-# SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-#
-# ------------------------------------------------------------------------
-#
-# Copyright (c) 2017-2019, Loup Vaillant
-# All rights reserved.
-#
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the
-# distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# ------------------------------------------------------------------------
-#
-# Written in 2017-2019 by Loup Vaillant
-#
-# To the extent possible under law, the author(s) have dedicated all copyright
-# and related neighboring rights to this software to the public domain
-# worldwide. This software is distributed without any warranty.
-#
-# You should have received a copy of the CC0 Public Domain Dedication along
-# with this software. If not, see
-# <https://creativecommons.org/publicdomain/zero/1.0/>
-
-set -e
-
-make clean; make test; make test-legacy
-make clean; make test CFLAGS="-DBLAKE2_NO_UNROLLING -O3"
-make clean; make test CC="clang -std=c99" CFLAGS="-g -fsanitize=address"
-make clean; make test CC="clang -std=c99" CFLAGS="-g -fsanitize=memory"
-make clean; make test CC="clang -std=c99" CFLAGS="-g -fsanitize=undefined"
-make clean; make test.out; valgrind ./test.out
-
-echo
-echo "All sanitisers passed!"
-echo
diff --git a/vendor/tests/utils.c b/vendor/tests/utils.c
deleted file mode 100644
index 933afca..0000000
--- a/vendor/tests/utils.c
+++ /dev/null
@@ -1,171 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2019, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2019 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#include "utils.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-void store64_le(u8 out[8], u64 in)
-{
- out[0] = in & 0xff;
- out[1] = (in >> 8) & 0xff;
- out[2] = (in >> 16) & 0xff;
- out[3] = (in >> 24) & 0xff;
- out[4] = (in >> 32) & 0xff;
- out[5] = (in >> 40) & 0xff;
- out[6] = (in >> 48) & 0xff;
- out[7] = (in >> 56) & 0xff;
-}
-
-u32 load32_le(const u8 s[4])
-{
- return (u32)s[0]
- | ((u32)s[1] << 8)
- | ((u32)s[2] << 16)
- | ((u32)s[3] << 24);
-}
-
-u64 load64_le(const u8 s[8])
-{
- return load32_le(s) | ((u64)load32_le(s+4) << 32);
-}
-
-// Must be seeded with a nonzero value.
-// Accessible from the outside so we can modify it
-u64 random_state = 12345;
-
-// Pseudo-random 64 bit number, based on xorshift*
-u64 rand64(void)
-{
- random_state ^= random_state >> 12;
- random_state ^= random_state << 25;
- random_state ^= random_state >> 27;
- return random_state * 0x2545F4914F6CDD1D; // magic constant
-}
-
-void p_random(u8 *stream, size_t size)
-{
- FOR (i, 0, size) {
- stream[i] = (u8)rand64();
- }
-}
-
-void print_vector(const u8 *buf, size_t size)
-{
- FOR (i, 0, size) {
- printf("%x%x", buf[i] >> 4, buf[i] & 0x0f);
- }
- printf(":\n");
-}
-
-void print_number(u64 n)
-{
- u8 buf[8];
- store64_le(buf, n);
- print_vector(buf, 8);
-}
-
-
-
-void* alloc(size_t size)
-{
- if (size == 0) {
- // Some systems refuse to allocate zero bytes.
- // So we don't. Instead, we just return a non-sensical pointer.
- // It shouldn't be dereferenced anyway.
- return NULL;
- }
- void *buf = malloc(size);
- if (buf == NULL) {
- fprintf(stderr, "Allocation failed: 0x%zx bytes\n", size);
- exit(1);
- }
- return buf;
-}
-
-int vector_test(void (*f)(const vector[], vector*),
- const char *name, size_t nb_inputs,
- size_t nb_vectors, u8 **vectors, size_t *sizes)
-{
- int status = 0;
- int nb_tests = 0;
- size_t idx = 0;
- vector *in;
- in = (vector*)alloc(nb_vectors * sizeof(vector));
- while (idx < nb_vectors) {
- size_t out_size = sizes[idx + nb_inputs];
- vector out;
- out.buf = (u8*)alloc(out_size);
- out.size = out_size;
- FOR (i, 0, nb_inputs) {
- in[i].buf = vectors[idx+i];
- in[i].size = sizes [idx+i];
- }
- f(in, &out);
- vector expected;
- expected.buf = vectors[idx+nb_inputs];
- expected.size = sizes [idx+nb_inputs];
- status |= out.size - expected.size;
- if (out.size != 0) {
- status |= memcmp(out.buf, expected.buf, out.size);
- }
- free(out.buf);
- idx += nb_inputs + 1;
- nb_tests++;
- }
- free(in);
- printf("%s %4d tests: %s\n",
- status != 0 ? "FAILED" : "OK", nb_tests, name);
- return status;
-}
-
diff --git a/vendor/tests/utils.h b/vendor/tests/utils.h
deleted file mode 100644
index 7ddfb81..0000000
--- a/vendor/tests/utils.h
+++ /dev/null
@@ -1,95 +0,0 @@
-// This file is dual-licensed. Choose whichever licence you want from
-// the two licences listed below.
-//
-// The first licence is a regular 2-clause BSD licence. The second licence
-// is the CC-0 from Creative Commons. It is intended to release Monocypher
-// to the public domain. The BSD licence serves as a fallback option.
-//
-// SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
-//
-// ------------------------------------------------------------------------
-//
-// Copyright (c) 2017-2019, Loup Vaillant
-// All rights reserved.
-//
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// ------------------------------------------------------------------------
-//
-// Written in 2017-2019 by Loup Vaillant
-//
-// To the extent possible under law, the author(s) have dedicated all copyright
-// and related neighboring rights to this software to the public domain
-// worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication along
-// with this software. If not, see
-// <https://creativecommons.org/publicdomain/zero/1.0/>
-
-#ifndef UTILS_H
-#define UTILS_H
-
-#include <inttypes.h>
-#include <stddef.h>
-
-typedef int8_t i8;
-typedef uint8_t u8;
-typedef uint32_t u32;
-typedef int32_t i32;
-typedef int64_t i64;
-typedef uint64_t u64;
-
-#define FOR(i, start, end) for (size_t i = (start); i < (end); i++)
-#define SODIUM_INIT \
- do { \
- if (sodium_init() == -1) { \
- printf("Libsodium init failed. Abort.\n"); \
- return 1; \
- } \
- } while (0)
-#define RANDOM_INPUT(name, size) u8 name[size]; p_random(name, size)
-
-extern u64 random_state; // state of the RNG
-
-typedef struct {
- u8 *buf;
- size_t size;
-} vector;
-
-void store64_le(u8 out[8], u64 in);
-u64 load64_le(const u8 s[8]);
-u32 load32_le(const u8 s[8]);
-u64 rand64(void); // Pseudo-random 64 bit number, based on xorshift*
-void p_random(u8 *stream, size_t size);
-void print_vector(const u8 *buf, size_t size);
-void print_number(u64 n);
-void* alloc(size_t size);
-
-int vector_test(void (*f)(const vector[], vector*),
- const char *name, size_t nb_inputs,
- size_t nb_vectors, u8 **vectors, size_t *sizes);
-
-#endif // UTILS_H
diff --git a/vendor/tests/vectors.h b/vendor/tests/vectors.h
deleted file mode 100644
index 9a0c12f..0000000
--- a/vendor/tests/vectors.h
+++ /dev/null
@@ -1,12227 +0,0 @@
-// Generated with hard coded official vectors, and
-// random vectors with Libsodium and ed25519-donna.
-// Download Monocypher's git repository to regenerate.
-#include <inttypes.h>
-#include <stddef.h>
-
-static uint8_t chacha20_0[]={228,196,5,79,227,90,117,217,192,246,121,173,135,112,216,34,126,104,228,193,230,140,230,126,232,142,107,226,81,162,7,72,};
-static uint8_t chacha20_1[]={179,117,60,255,58,109,153,1,};
-static uint8_t chacha20_3[]={228,181,239,201,50,251,87,152,};
-static uint8_t chacha20_5[]={177,129,7,31,41,154,162,84,164,96,106,182,160,88,224,198,251,85,152,33,141,183,29,235,71,63,125,4,193,82,231,232,};
-static uint8_t chacha20_6[]={87,115,103,21,220,123,120,138,};
-static uint8_t chacha20_7[]={202,};
-static uint8_t chacha20_8[]={246,245,128,139,220,80,251,128,};
-static uint8_t chacha20_9[]={193,};
-static uint8_t chacha20_10[]={159,64,214,200,52,140,53,59,0,23,38,85,35,108,221,205,24,121,202,31,4,179,95,145,173,171,112,184,31,80,64,53,};
-static uint8_t chacha20_11[]={252,22,153,100,165,174,152,94,};
-static uint8_t chacha20_12[]={108,17,};
-static uint8_t chacha20_13[]={89,62,71,5,149,73,177,65,};
-static uint8_t chacha20_14[]={144,122,};
-static uint8_t chacha20_15[]={128,189,115,233,202,67,205,212,235,113,115,71,104,98,223,109,36,88,214,199,71,57,160,173,33,105,185,200,158,221,116,225,};
-static uint8_t chacha20_16[]={111,188,236,199,72,194,93,195,};
-static uint8_t chacha20_17[]={56,4,31,};
-static uint8_t chacha20_18[]={41,149,136,116,224,132,44,18,};
-static uint8_t chacha20_19[]={196,76,147,};
-static uint8_t chacha20_20[]={223,26,45,106,150,58,121,197,132,1,119,10,56,50,72,181,215,11,180,173,237,203,229,32,254,214,52,245,19,184,194,234,};
-static uint8_t chacha20_21[]={106,179,127,230,51,186,115,2,};
-static uint8_t chacha20_22[]={165,219,108,42,};
-static uint8_t chacha20_23[]={105,35,154,156,225,121,98,27,};
-static uint8_t chacha20_24[]={253,9,120,23,};
-static uint8_t chacha20_25[]={221,240,73,201,113,205,153,246,148,227,178,165,226,95,163,122,237,240,27,243,46,124,103,154,49,135,226,42,99,93,48,28,};
-static uint8_t chacha20_26[]={233,138,208,0,202,48,16,73,};
-static uint8_t chacha20_27[]={242,232,145,228,3,};
-static uint8_t chacha20_28[]={126,54,57,251,20,242,43,70,};
-static uint8_t chacha20_29[]={43,177,10,217,248,};
-static uint8_t chacha20_30[]={243,73,17,14,117,28,22,205,181,237,5,81,109,241,116,121,147,125,148,44,144,235,31,177,129,48,98,189,63,63,107,118,};
-static uint8_t chacha20_31[]={104,205,143,211,175,206,12,199,};
-static uint8_t chacha20_32[]={82,155,135,223,197,142,};
-static uint8_t chacha20_33[]={248,247,218,143,145,6,254,106,};
-static uint8_t chacha20_34[]={149,84,138,96,225,119,};
-static uint8_t chacha20_35[]={79,98,102,208,66,68,48,51,4,81,2,114,227,131,234,165,26,142,167,9,154,116,186,250,51,117,178,16,101,58,13,47,};
-static uint8_t chacha20_36[]={64,177,90,253,114,92,245,6,};
-static uint8_t chacha20_37[]={80,102,190,28,184,3,220,};
-static uint8_t chacha20_38[]={234,155,42,173,77,161,43,45,};
-static uint8_t chacha20_39[]={152,178,126,88,237,130,39,};
-static uint8_t chacha20_40[]={65,65,254,95,167,159,237,18,246,162,15,81,97,77,193,48,244,85,152,233,37,73,177,19,237,97,133,114,69,7,231,250,};
-static uint8_t chacha20_41[]={90,126,138,117,178,199,163,173,};
-static uint8_t chacha20_42[]={112,9,25,243,106,70,234,15,};
-static uint8_t chacha20_43[]={250,172,148,209,236,123,112,209,};
-static uint8_t chacha20_44[]={221,70,208,240,65,11,206,33,};
-static uint8_t chacha20_45[]={49,81,187,138,20,156,244,248,33,88,213,124,130,63,58,144,198,180,39,145,34,38,255,96,77,154,190,225,251,140,141,53,};
-static uint8_t chacha20_46[]={83,10,12,213,128,142,83,227,};
-static uint8_t chacha20_47[]={8,172,88,15,115,24,254,42,178,};
-static uint8_t chacha20_48[]={43,113,94,172,102,57,117,8,};
-static uint8_t chacha20_49[]={246,106,45,6,191,151,235,32,98,};
-static uint8_t chacha20_50[]={91,10,62,204,137,131,173,148,33,126,128,52,143,208,243,245,78,84,185,91,181,72,220,34,37,162,100,68,55,50,180,27,};
-static uint8_t chacha20_51[]={134,21,144,53,141,84,56,148,};
-static uint8_t chacha20_52[]={0,107,115,243,215,15,192,75,21,208,};
-static uint8_t chacha20_53[]={231,70,90,207,130,139,252,47,};
-static uint8_t chacha20_54[]={122,23,140,118,1,206,234,169,62,72,};
-static uint8_t chacha20_55[]={236,145,168,67,246,112,31,130,22,167,50,107,36,31,213,127,50,224,153,118,222,64,84,121,123,154,238,130,14,13,227,129,};
-static uint8_t chacha20_56[]={208,40,82,172,19,245,17,145,};
-static uint8_t chacha20_57[]={130,103,183,3,115,48,230,11,161,197,135,};
-static uint8_t chacha20_58[]={81,235,67,253,185,43,125,209,};
-static uint8_t chacha20_59[]={70,207,108,34,109,216,203,214,28,252,8,};
-static uint8_t chacha20_60[]={229,100,216,55,134,172,164,198,183,226,36,22,62,169,40,119,31,222,55,120,196,83,179,93,152,222,206,216,18,252,86,133,};
-static uint8_t chacha20_61[]={132,53,101,183,61,9,118,1,};
-static uint8_t chacha20_62[]={211,85,130,120,189,157,115,39,222,95,218,162,};
-static uint8_t chacha20_63[]={220,48,67,250,101,84,205,181,};
-static uint8_t chacha20_64[]={192,200,204,155,253,91,113,184,7,20,117,243,};
-static uint8_t chacha20_65[]={101,128,235,70,187,197,202,98,191,171,64,177,132,39,27,115,183,16,212,12,182,52,53,4,44,155,82,109,30,92,58,119,};
-static uint8_t chacha20_66[]={191,197,22,162,188,180,204,39,};
-static uint8_t chacha20_67[]={236,174,179,69,19,24,89,12,132,227,17,221,30,};
-static uint8_t chacha20_68[]={192,85,73,47,185,64,17,61,};
-static uint8_t chacha20_69[]={123,156,96,228,159,131,220,61,84,171,117,190,69,};
-static uint8_t chacha20_70[]={151,43,205,132,176,36,97,137,199,130,0,50,224,49,148,159,30,151,232,173,94,181,167,92,200,5,144,8,80,150,157,228,};
-static uint8_t chacha20_71[]={142,116,38,120,115,214,94,13,};
-static uint8_t chacha20_72[]={103,72,45,28,111,154,34,69,11,255,2,129,75,134,};
-static uint8_t chacha20_73[]={203,46,97,34,72,211,0,251,};
-static uint8_t chacha20_74[]={216,54,66,11,27,246,18,129,227,38,11,33,119,65,};
-static uint8_t chacha20_75[]={5,165,233,185,66,169,58,80,90,3,100,120,174,140,140,155,1,8,116,79,46,28,119,20,138,82,16,46,41,3,53,43,};
-static uint8_t chacha20_76[]={94,198,108,190,215,71,74,145,};
-static uint8_t chacha20_77[]={215,202,63,73,253,200,89,179,225,112,94,30,5,177,36,};
-static uint8_t chacha20_78[]={237,232,38,179,235,76,230,228,};
-static uint8_t chacha20_79[]={99,160,158,219,21,134,89,162,169,66,115,92,79,25,87,};
-static uint8_t chacha20_80[]={220,109,22,64,193,110,118,133,45,29,179,151,62,36,242,41,30,187,255,229,43,111,37,253,214,43,67,30,84,29,202,221,};
-static uint8_t chacha20_81[]={87,154,189,92,215,190,55,156,};
-static uint8_t chacha20_82[]={82,77,190,71,35,44,71,237,220,189,69,3,148,197,6,8,};
-static uint8_t chacha20_83[]={16,3,110,176,182,181,105,63,};
-static uint8_t chacha20_84[]={157,14,28,32,79,173,80,31,49,69,188,206,42,200,71,148,};
-static uint8_t chacha20_85[]={182,210,159,187,93,127,151,105,159,60,109,146,132,225,239,34,250,5,173,31,106,183,153,242,237,26,29,6,17,222,87,44,};
-static uint8_t chacha20_86[]={14,134,35,214,116,189,169,106,};
-static uint8_t chacha20_87[]={50,141,158,23,157,161,253,118,228,177,62,236,99,149,213,154,26,};
-static uint8_t chacha20_88[]={215,27,3,37,28,75,252,123,};
-static uint8_t chacha20_89[]={235,187,76,46,232,48,20,59,172,155,119,183,75,196,216,29,200,};
-static uint8_t chacha20_90[]={229,118,62,133,88,91,174,146,14,76,113,160,68,184,82,103,70,221,188,226,123,83,255,253,78,247,128,219,75,249,184,229,};
-static uint8_t chacha20_91[]={117,100,128,125,248,74,29,33,};
-static uint8_t chacha20_92[]={67,0,60,124,49,193,236,251,15,160,44,10,136,249,177,63,69,240,};
-static uint8_t chacha20_93[]={212,62,85,220,112,55,187,179,};
-static uint8_t chacha20_94[]={254,48,128,6,31,83,110,96,109,126,6,235,213,149,138,71,139,106,};
-static uint8_t chacha20_95[]={38,27,226,121,247,6,231,104,192,110,132,96,156,32,158,48,176,174,125,181,35,89,59,218,131,80,166,112,239,215,252,218,};
-static uint8_t chacha20_96[]={179,20,90,164,189,120,6,212,};
-static uint8_t chacha20_97[]={139,212,73,135,102,207,223,162,213,3,25,70,118,36,130,227,173,27,84,};
-static uint8_t chacha20_98[]={85,222,55,97,171,61,74,235,};
-static uint8_t chacha20_99[]={209,30,65,193,175,252,197,26,236,22,8,16,72,22,34,167,219,5,163,};
-static uint8_t chacha20_100[]={10,216,235,77,229,128,163,139,253,157,239,229,247,246,3,248,29,132,154,150,127,91,113,67,224,95,90,56,58,200,190,167,};
-static uint8_t chacha20_101[]={219,48,24,66,134,217,152,207,};
-static uint8_t chacha20_102[]={180,207,125,253,50,6,191,236,114,9,156,244,228,195,69,185,221,217,223,149,};
-static uint8_t chacha20_103[]={185,8,119,39,85,151,128,122,};
-static uint8_t chacha20_104[]={164,122,227,240,33,186,135,12,143,16,229,72,199,240,77,151,178,52,28,88,};
-static uint8_t chacha20_105[]={143,204,152,33,19,35,237,109,30,15,227,32,79,59,168,53,155,38,26,163,44,228,4,177,72,160,80,60,100,212,95,98,};
-static uint8_t chacha20_106[]={56,130,150,252,233,33,3,34,};
-static uint8_t chacha20_107[]={137,233,230,134,216,242,7,197,180,231,39,63,234,221,23,208,33,72,129,12,51,};
-static uint8_t chacha20_108[]={8,213,72,108,25,205,192,65,};
-static uint8_t chacha20_109[]={208,2,225,158,141,147,132,178,232,92,236,215,81,173,28,129,211,121,192,167,24,};
-static uint8_t chacha20_110[]={130,239,92,20,244,49,247,127,62,67,148,91,192,239,173,188,13,217,220,70,134,193,52,137,79,76,149,18,58,192,229,182,};
-static uint8_t chacha20_111[]={216,107,51,206,116,82,56,85,};
-static uint8_t chacha20_112[]={188,214,13,132,69,163,224,22,113,156,225,1,210,67,173,33,121,76,45,157,188,108,};
-static uint8_t chacha20_113[]={52,19,48,35,121,70,62,180,};
-static uint8_t chacha20_114[]={113,117,75,202,128,76,122,248,114,179,2,132,220,90,5,211,113,22,248,27,184,90,};
-static uint8_t chacha20_115[]={6,86,248,174,231,234,230,185,7,208,145,117,173,19,203,134,210,232,248,238,145,186,234,121,46,127,27,95,52,223,29,206,};
-static uint8_t chacha20_116[]={72,220,193,79,185,165,156,63,};
-static uint8_t chacha20_117[]={219,222,76,123,94,19,115,45,12,80,213,67,46,141,4,51,98,123,74,71,220,124,229,};
-static uint8_t chacha20_118[]={244,8,179,48,25,85,104,112,};
-static uint8_t chacha20_119[]={118,251,21,74,23,85,198,31,139,195,171,231,255,13,127,207,142,130,78,187,153,105,60,};
-static uint8_t chacha20_120[]={72,6,226,253,213,15,235,162,177,204,82,199,212,134,89,137,191,88,31,114,238,10,19,113,143,17,201,134,107,10,214,52,};
-static uint8_t chacha20_121[]={97,157,0,40,143,253,199,158,};
-static uint8_t chacha20_122[]={125,2,172,146,179,7,232,233,19,129,154,250,26,214,213,242,70,166,249,205,38,46,117,50,};
-static uint8_t chacha20_123[]={72,223,142,146,204,144,11,243,};
-static uint8_t chacha20_124[]={154,31,63,145,190,171,196,245,8,51,216,110,244,187,4,187,241,69,229,80,168,242,200,110,};
-static uint8_t chacha20_125[]={219,31,159,184,219,110,108,125,24,5,32,127,233,72,235,236,128,96,13,25,195,112,239,131,43,236,188,246,32,184,27,54,};
-static uint8_t chacha20_126[]={29,234,205,164,241,59,71,81,};
-static uint8_t chacha20_127[]={128,212,48,210,157,127,247,189,106,20,148,111,52,93,128,3,170,239,29,170,239,79,224,174,28,};
-static uint8_t chacha20_128[]={196,12,198,231,151,1,43,238,};
-static uint8_t chacha20_129[]={255,172,157,91,251,121,203,93,162,29,162,255,105,57,176,228,58,156,22,75,2,186,197,167,9,};
-static uint8_t chacha20_130[]={254,196,115,217,29,95,235,230,229,2,46,163,179,187,34,231,113,226,114,200,18,83,201,4,22,188,52,133,62,246,120,104,};
-static uint8_t chacha20_131[]={116,187,167,0,34,210,255,38,};
-static uint8_t chacha20_132[]={208,165,180,219,56,135,94,224,235,191,164,66,216,179,9,198,157,244,140,106,224,137,244,84,247,209,};
-static uint8_t chacha20_133[]={160,230,157,211,215,171,209,234,};
-static uint8_t chacha20_134[]={78,215,138,148,115,59,232,122,129,99,254,17,248,33,45,104,29,63,132,241,225,58,156,28,65,219,};
-static uint8_t chacha20_135[]={128,189,228,223,158,23,11,193,89,8,85,235,103,0,107,165,34,40,160,11,181,175,135,244,123,86,227,221,105,33,255,246,};
-static uint8_t chacha20_136[]={132,191,108,191,232,151,158,237,};
-static uint8_t chacha20_137[]={134,171,170,234,252,143,108,79,175,201,48,38,171,17,250,58,19,202,172,90,40,63,110,71,170,58,181,};
-static uint8_t chacha20_138[]={72,135,134,151,17,240,75,207,};
-static uint8_t chacha20_139[]={199,5,245,105,103,0,247,108,26,202,64,56,135,112,128,207,201,188,76,186,210,229,147,39,92,36,140,};
-static uint8_t chacha20_140[]={234,22,75,175,239,47,250,81,131,181,23,47,119,184,122,170,144,169,212,86,54,96,127,220,143,107,148,119,51,133,181,69,};
-static uint8_t chacha20_141[]={138,218,215,65,165,240,3,232,};
-static uint8_t chacha20_142[]={55,183,248,171,145,51,47,108,35,131,94,223,224,164,209,165,179,188,224,74,178,13,231,156,186,213,48,221,};
-static uint8_t chacha20_143[]={26,21,220,205,154,70,158,148,};
-static uint8_t chacha20_144[]={39,209,253,194,96,111,130,69,67,17,3,37,116,233,174,106,244,33,83,165,203,235,197,232,30,59,80,171,};
-static uint8_t chacha20_145[]={13,113,212,254,79,18,126,238,90,36,114,198,91,174,140,51,100,57,12,216,228,107,214,1,5,209,238,34,67,125,167,179,};
-static uint8_t chacha20_146[]={191,150,161,205,39,254,174,96,};
-static uint8_t chacha20_147[]={187,125,95,33,222,61,238,199,87,12,222,58,122,77,254,123,223,223,187,26,170,137,138,82,214,47,147,11,240,};
-static uint8_t chacha20_148[]={75,238,93,171,124,238,73,84,};
-static uint8_t chacha20_149[]={32,254,228,141,57,132,136,108,90,107,29,210,44,64,196,167,182,125,186,121,191,87,107,230,129,136,163,89,143,};
-static uint8_t chacha20_150[]={193,214,178,63,4,65,62,143,108,122,36,246,103,2,32,181,26,209,151,57,30,234,43,19,129,81,173,50,34,72,4,36,};
-static uint8_t chacha20_151[]={65,225,204,93,218,33,48,191,};
-static uint8_t chacha20_152[]={11,140,10,80,159,236,101,43,242,139,66,170,122,150,229,83,63,9,214,57,220,40,68,211,197,7,90,205,192,248,};
-static uint8_t chacha20_153[]={146,23,207,69,160,6,212,122,};
-static uint8_t chacha20_154[]={147,128,202,109,162,251,207,183,82,39,192,126,44,190,50,12,244,62,48,210,8,132,248,192,187,87,38,55,131,161,};
-static uint8_t chacha20_155[]={107,73,174,86,172,142,197,228,142,225,80,214,99,21,162,152,12,156,247,107,109,62,157,32,226,28,2,50,179,198,65,182,};
-static uint8_t chacha20_156[]={86,69,224,252,108,57,48,66,};
-static uint8_t chacha20_157[]={44,236,118,68,177,186,85,150,73,158,109,128,211,254,206,203,37,109,237,139,23,111,215,67,159,178,112,155,254,186,61,};
-static uint8_t chacha20_158[]={244,107,169,25,2,123,78,66,};
-static uint8_t chacha20_159[]={52,24,206,21,228,120,2,48,94,152,3,9,68,163,77,170,219,183,102,117,141,76,50,16,241,79,129,145,201,28,248,};
-static uint8_t chacha20_160[]={123,69,112,172,50,11,52,79,79,112,243,31,83,12,35,18,219,91,114,65,101,29,54,26,145,247,152,109,179,146,42,171,};
-static uint8_t chacha20_161[]={205,102,11,136,209,76,28,22,};
-static uint8_t chacha20_162[]={1,73,35,33,55,149,33,193,228,39,77,102,17,19,51,140,138,91,152,214,193,45,152,95,27,115,213,179,215,89,43,45,};
-static uint8_t chacha20_163[]={207,254,58,174,80,131,17,86,};
-static uint8_t chacha20_164[]={183,181,10,252,103,246,57,142,71,214,72,2,137,244,89,57,248,58,45,87,240,207,192,29,111,23,62,58,97,252,187,85,};
-static uint8_t chacha20_165[]={78,242,18,108,157,205,71,38,169,28,59,82,95,152,201,178,195,42,171,110,85,197,240,241,219,112,211,168,213,16,131,73,};
-static uint8_t chacha20_166[]={11,104,75,204,15,73,173,178,};
-static uint8_t chacha20_167[]={120,152,184,245,134,152,162,178,37,69,177,131,214,137,179,162,57,245,50,227,50,166,249,157,101,74,10,157,132,207,146,153,176,};
-static uint8_t chacha20_168[]={236,45,103,69,76,214,225,151,};
-static uint8_t chacha20_169[]={12,3,252,178,173,12,164,41,23,239,58,214,143,182,248,61,75,19,80,5,255,43,41,193,173,232,199,40,254,45,93,150,253,};
-static uint8_t chacha20_170[]={120,247,184,59,170,18,210,143,216,41,50,7,45,235,114,74,109,47,98,190,48,198,226,225,74,142,21,135,131,252,122,23,};
-static uint8_t chacha20_171[]={101,231,16,46,235,242,19,154,};
-static uint8_t chacha20_172[]={4,155,144,242,215,63,50,195,92,214,60,123,204,87,164,50,23,170,185,105,164,95,119,58,117,215,97,110,50,113,171,20,135,239,};
-static uint8_t chacha20_173[]={65,41,195,22,218,159,228,41,};
-static uint8_t chacha20_174[]={192,149,240,88,100,236,115,173,14,142,65,176,159,175,95,92,139,240,122,161,163,147,46,234,192,40,164,250,90,6,106,144,188,60,};
-static uint8_t chacha20_175[]={26,110,146,123,108,139,127,126,64,161,126,184,127,24,116,183,197,2,37,216,84,74,1,204,44,240,237,140,48,195,220,242,};
-static uint8_t chacha20_176[]={202,111,243,239,117,121,143,249,};
-static uint8_t chacha20_177[]={37,53,98,236,186,62,126,66,164,60,111,215,74,60,67,48,234,23,141,170,250,5,50,48,94,131,86,241,170,95,145,202,145,220,218,};
-static uint8_t chacha20_178[]={146,125,20,66,166,21,57,12,};
-static uint8_t chacha20_179[]={187,47,15,200,185,207,36,94,237,105,204,91,255,117,137,220,60,70,218,181,247,104,109,77,131,230,45,199,53,252,130,23,205,2,92,};
-static uint8_t chacha20_180[]={104,49,249,231,28,191,214,8,124,143,38,166,79,193,63,158,147,171,28,121,150,54,218,130,202,182,191,59,118,116,194,88,};
-static uint8_t chacha20_181[]={12,231,109,19,9,249,178,104,};
-static uint8_t chacha20_182[]={138,181,10,7,237,241,198,198,129,168,89,239,195,253,155,71,86,21,175,148,99,104,13,220,12,160,209,245,168,24,75,228,81,111,183,229,};
-static uint8_t chacha20_183[]={4,192,53,152,231,163,140,129,};
-static uint8_t chacha20_184[]={30,205,228,80,94,153,86,114,86,69,252,83,23,157,74,206,219,219,100,145,0,113,58,143,250,107,117,89,115,85,226,1,254,52,5,170,};
-static uint8_t chacha20_185[]={131,210,76,163,109,61,91,75,101,196,12,224,249,203,11,222,195,215,68,180,255,55,66,235,2,87,55,78,132,131,236,151,};
-static uint8_t chacha20_186[]={31,117,157,204,45,167,239,109,};
-static uint8_t chacha20_187[]={12,222,50,134,199,67,92,12,178,207,134,14,187,149,162,229,204,156,132,181,109,38,138,44,151,40,242,185,251,59,226,46,83,187,75,254,81,};
-static uint8_t chacha20_188[]={111,137,166,135,226,211,80,199,};
-static uint8_t chacha20_189[]={236,27,181,203,127,23,34,9,118,97,30,105,185,200,55,169,174,146,20,104,50,30,144,153,99,131,184,169,140,109,77,0,210,80,195,22,36,};
-static uint8_t chacha20_190[]={216,69,88,131,122,1,120,175,139,17,65,126,218,52,127,196,12,103,129,33,191,0,103,235,70,119,168,79,68,47,172,15,};
-static uint8_t chacha20_191[]={58,218,36,18,166,151,148,197,};
-static uint8_t chacha20_192[]={33,183,105,169,228,163,176,200,11,186,135,110,150,172,14,235,145,148,203,35,102,156,254,150,77,8,127,51,244,54,109,75,221,114,25,7,248,40,};
-static uint8_t chacha20_193[]={68,12,208,25,65,119,162,207,};
-static uint8_t chacha20_194[]={62,161,226,79,50,57,220,212,247,60,166,110,14,154,97,200,129,196,160,225,172,201,42,106,67,28,11,44,6,143,190,194,181,85,193,164,22,242,};
-static uint8_t chacha20_195[]={131,56,80,127,113,194,200,121,117,70,12,177,251,189,34,196,146,227,61,40,127,71,62,209,201,54,16,178,150,220,180,109,};
-static uint8_t chacha20_196[]={17,123,212,250,12,228,54,78,};
-static uint8_t chacha20_197[]={223,2,50,61,82,148,98,184,116,66,76,137,244,170,84,147,18,108,152,28,228,218,80,90,180,168,245,209,113,74,100,169,143,109,255,156,175,20,16,};
-static uint8_t chacha20_198[]={22,149,59,38,37,72,78,191,};
-static uint8_t chacha20_199[]={70,72,135,230,148,138,254,139,237,212,162,59,234,133,173,45,41,45,174,243,195,213,68,155,57,214,181,210,184,66,144,5,189,174,66,130,103,71,58,};
-static uint8_t chacha20_200[]={188,198,67,66,180,75,196,218,25,13,150,147,30,6,224,9,35,190,242,108,94,234,122,222,104,154,151,16,53,122,2,16,};
-static uint8_t chacha20_201[]={15,115,66,106,69,117,12,191,};
-static uint8_t chacha20_202[]={184,166,147,250,248,142,235,123,173,131,58,75,56,1,140,225,196,89,1,236,236,182,211,100,248,239,53,158,150,81,130,81,151,32,67,154,178,68,233,144,};
-static uint8_t chacha20_203[]={67,199,191,70,211,31,197,136,};
-static uint8_t chacha20_204[]={252,24,48,123,191,109,20,254,250,174,152,161,57,119,162,169,132,224,79,150,117,10,100,61,208,155,158,41,69,94,159,132,18,140,249,252,15,34,184,160,};
-static uint8_t chacha20_205[]={203,102,97,60,1,44,222,162,163,119,105,97,240,239,211,152,113,32,81,183,231,184,80,14,203,208,48,210,198,160,1,43,};
-static uint8_t chacha20_206[]={142,174,234,187,204,13,111,30,};
-static uint8_t chacha20_207[]={3,244,172,247,9,179,189,227,15,78,138,163,235,176,232,247,81,88,190,114,116,99,226,93,43,63,2,219,92,243,52,37,129,206,114,121,193,24,187,139,13,};
-static uint8_t chacha20_208[]={61,162,30,48,103,35,87,141,};
-static uint8_t chacha20_209[]={152,209,181,161,162,10,213,233,139,18,141,111,183,25,23,116,161,168,111,148,235,153,236,124,214,71,148,249,240,90,234,129,248,62,153,240,134,134,93,78,135,};
-static uint8_t chacha20_210[]={134,96,193,253,47,128,155,178,106,238,41,249,58,180,72,70,148,80,111,174,113,211,7,172,69,35,154,67,31,63,81,40,};
-static uint8_t chacha20_211[]={90,186,13,189,58,253,174,2,};
-static uint8_t chacha20_212[]={49,196,161,252,20,178,27,162,241,194,117,72,212,194,89,84,78,128,185,70,150,218,131,138,214,24,107,46,162,159,75,161,91,85,155,102,193,2,49,99,162,203,};
-static uint8_t chacha20_213[]={182,73,233,204,183,176,223,241,};
-static uint8_t chacha20_214[]={160,183,230,252,183,172,54,17,136,153,128,208,204,62,129,221,173,116,182,54,206,170,113,98,134,167,130,76,137,111,9,127,59,219,254,0,90,183,255,151,100,70,};
-static uint8_t chacha20_215[]={73,9,50,49,204,203,120,183,164,204,141,211,63,34,151,189,211,218,55,54,81,204,237,196,83,252,230,217,166,252,174,157,};
-static uint8_t chacha20_216[]={226,124,188,44,42,251,245,23,};
-static uint8_t chacha20_217[]={160,155,36,3,117,211,119,18,208,160,222,115,61,85,63,226,62,231,35,87,137,57,61,201,163,69,234,77,215,171,227,226,210,234,169,156,239,98,43,55,88,22,73,};
-static uint8_t chacha20_218[]={66,169,184,201,223,3,57,51,};
-static uint8_t chacha20_219[]={160,232,254,193,104,46,168,119,157,108,97,217,20,61,231,134,221,244,167,225,76,113,37,105,225,23,159,159,67,102,14,204,41,229,234,136,88,69,78,48,124,230,69,};
-static uint8_t chacha20_220[]={97,106,52,54,202,168,129,60,134,58,19,235,133,224,106,151,63,149,32,75,38,92,159,118,73,100,7,189,209,189,22,183,};
-static uint8_t chacha20_221[]={246,234,62,151,243,52,110,99,};
-static uint8_t chacha20_222[]={213,224,95,152,150,177,130,30,61,190,56,42,136,73,227,226,126,5,200,87,33,64,41,125,134,71,62,114,13,98,230,199,239,23,102,228,175,248,49,60,104,139,107,145,};
-static uint8_t chacha20_223[]={95,128,178,222,210,122,38,217,};
-static uint8_t chacha20_224[]={226,115,44,196,198,236,13,4,23,103,118,212,48,217,209,79,191,223,141,129,118,76,31,96,37,223,140,248,229,205,254,255,83,162,217,168,245,62,90,233,45,201,32,220,};
-static uint8_t chacha20_225[]={234,221,246,9,153,47,103,150,101,74,89,166,99,35,41,33,66,202,73,156,68,203,149,188,48,140,16,212,74,165,52,6,};
-static uint8_t chacha20_226[]={110,251,65,63,189,126,98,47,};
-static uint8_t chacha20_227[]={178,162,54,107,32,67,145,86,114,141,119,83,197,152,16,101,8,135,139,191,68,103,217,199,129,46,166,134,104,53,128,54,90,80,18,166,8,248,24,133,65,189,144,118,233,};
-static uint8_t chacha20_228[]={98,162,45,3,102,24,91,124,};
-static uint8_t chacha20_229[]={73,69,139,56,129,92,208,6,250,79,21,21,182,170,90,122,89,184,196,161,24,207,81,161,126,91,12,29,56,201,200,103,192,104,148,155,213,67,96,62,198,253,87,146,155,};
-static uint8_t chacha20_230[]={152,161,47,7,193,33,127,6,171,217,83,86,119,53,138,138,28,253,139,100,140,170,0,95,16,131,112,76,227,248,181,155,};
-static uint8_t chacha20_231[]={65,203,2,227,191,86,124,81,};
-static uint8_t chacha20_232[]={231,208,112,61,99,61,43,224,255,97,49,82,215,100,18,245,91,226,240,208,119,67,162,200,203,1,162,187,50,79,238,223,245,46,212,193,39,91,106,64,79,79,179,123,142,221,};
-static uint8_t chacha20_233[]={60,134,32,36,103,27,45,53,};
-static uint8_t chacha20_234[]={139,173,56,10,184,45,67,8,200,243,206,138,169,30,7,224,241,113,22,110,178,49,103,54,74,16,4,25,138,96,139,84,229,173,149,193,181,120,24,212,34,40,50,134,182,214,};
-static uint8_t chacha20_235[]={163,126,117,26,50,245,36,40,82,89,139,193,135,155,203,102,215,132,225,127,145,244,220,18,177,89,116,197,239,141,249,252,};
-static uint8_t chacha20_236[]={251,135,140,254,52,171,182,171,};
-static uint8_t chacha20_237[]={233,82,237,203,146,76,180,195,239,117,241,20,10,121,202,8,76,117,162,170,188,170,139,88,253,132,64,4,126,129,248,45,15,7,166,130,195,4,177,143,171,123,159,23,108,97,64,};
-static uint8_t chacha20_238[]={170,126,63,58,226,3,244,161,};
-static uint8_t chacha20_239[]={120,68,83,151,153,67,22,218,106,48,96,184,223,93,77,242,73,78,134,172,7,43,0,211,106,164,86,199,254,167,152,52,110,82,29,194,117,38,222,186,241,153,82,224,122,222,178,};
-static uint8_t chacha20_240[]={117,203,220,228,81,128,67,245,133,237,0,250,209,171,145,176,163,240,235,117,111,119,83,243,241,81,189,34,117,165,227,171,};
-static uint8_t chacha20_241[]={47,118,99,155,164,43,179,239,};
-static uint8_t chacha20_242[]={18,251,203,199,166,24,48,197,99,77,243,18,26,43,193,119,147,194,144,126,150,39,173,216,130,169,20,222,223,239,60,160,228,192,39,10,135,98,222,15,24,53,169,161,180,14,97,70,};
-static uint8_t chacha20_243[]={65,157,196,140,246,48,44,150,};
-static uint8_t chacha20_244[]={31,178,162,178,67,62,245,40,250,251,137,255,38,72,118,117,57,237,57,249,116,200,37,11,152,2,62,136,181,9,203,124,148,46,175,117,181,113,107,83,38,37,193,81,142,242,21,186,};
-static uint8_t chacha20_245[]={170,185,253,6,78,152,35,137,27,160,189,116,243,32,230,103,80,96,169,25,129,79,80,205,213,62,62,222,106,147,38,71,};
-static uint8_t chacha20_246[]={141,249,227,204,59,106,26,87,};
-static uint8_t chacha20_247[]={157,224,146,18,199,50,4,213,86,17,23,234,122,193,106,0,150,170,124,161,183,250,91,234,43,51,77,247,184,30,20,17,18,155,92,111,144,175,56,103,68,68,209,102,147,180,33,101,157,};
-static uint8_t chacha20_248[]={188,43,84,157,99,214,243,195,};
-static uint8_t chacha20_249[]={154,25,79,40,146,254,21,165,149,236,54,214,114,151,6,239,216,190,207,69,193,218,125,153,145,183,69,116,60,255,191,10,110,240,29,73,213,48,232,238,191,52,18,140,150,57,91,166,138,};
-static uint8_t chacha20_250[]={100,129,83,3,153,254,157,40,238,118,49,89,71,114,50,241,159,75,227,228,143,148,196,164,71,38,1,97,210,167,239,117,};
-static uint8_t chacha20_251[]={225,143,71,238,10,25,31,97,};
-static uint8_t chacha20_252[]={213,115,158,73,130,230,156,161,153,29,140,19,103,40,56,233,191,105,127,50,32,164,70,45,79,12,85,9,3,255,69,244,115,135,110,176,198,46,182,67,196,195,125,213,15,145,171,74,66,55,};
-static uint8_t chacha20_253[]={160,162,128,108,178,176,30,15,};
-static uint8_t chacha20_254[]={216,251,89,189,160,219,88,238,183,178,222,157,126,164,67,209,87,19,44,90,125,206,153,127,32,230,202,211,176,163,99,237,60,27,19,94,136,80,117,115,27,59,94,222,237,1,73,224,79,42,};
-static uint8_t chacha20_255[]={176,181,196,17,86,9,32,243,122,194,231,198,18,25,251,107,184,217,56,38,36,46,22,48,22,213,94,4,215,140,21,69,};
-static uint8_t chacha20_256[]={4,195,36,193,223,157,179,143,};
-static uint8_t chacha20_257[]={49,52,24,163,140,68,65,178,8,48,59,38,68,73,25,42,204,228,182,160,115,74,224,221,209,185,209,33,233,89,233,104,234,121,25,83,38,121,235,136,242,253,127,22,3,147,101,57,119,155,38,};
-static uint8_t chacha20_258[]={143,245,251,90,196,235,69,1,};
-static uint8_t chacha20_259[]={219,122,35,206,152,48,5,51,89,148,55,241,97,98,214,227,112,214,160,162,243,208,100,23,145,77,72,74,250,198,126,178,192,226,238,192,178,106,116,230,187,73,53,17,206,22,49,135,4,21,236,};
-static uint8_t chacha20_260[]={67,176,185,65,158,118,68,223,111,17,227,35,18,107,55,101,175,57,202,51,38,49,102,11,212,146,68,19,190,8,38,172,};
-static uint8_t chacha20_261[]={60,30,213,119,58,38,248,90,};
-static uint8_t chacha20_262[]={190,45,244,242,239,155,227,13,50,146,101,28,242,182,180,80,65,26,119,164,174,74,60,160,146,136,102,186,93,48,230,239,15,160,5,33,173,219,20,7,29,95,220,56,21,219,191,253,82,121,155,102,};
-static uint8_t chacha20_263[]={29,233,229,212,209,223,9,98,};
-static uint8_t chacha20_264[]={148,233,142,127,158,49,48,192,124,162,67,139,51,4,142,28,200,219,196,113,11,10,224,51,229,250,52,183,103,245,18,222,161,118,175,212,107,244,99,134,92,139,133,38,14,12,29,168,249,250,156,18,};
-static uint8_t chacha20_265[]={219,83,227,125,17,206,149,74,242,69,227,171,210,113,166,129,66,101,51,189,188,141,26,82,173,69,17,101,174,31,129,16,};
-static uint8_t chacha20_266[]={84,242,240,81,191,79,84,6,};
-static uint8_t chacha20_267[]={30,244,145,40,54,135,124,158,2,72,110,101,15,140,203,31,181,172,56,174,159,106,231,67,171,92,19,74,20,152,233,160,117,55,213,81,233,151,13,7,52,106,152,49,138,12,95,186,0,229,47,116,184,};
-static uint8_t chacha20_268[]={244,166,118,243,68,216,181,211,};
-static uint8_t chacha20_269[]={199,219,44,231,172,54,27,177,202,71,48,14,133,174,139,137,132,222,114,7,251,225,59,203,82,74,63,91,122,173,65,32,29,46,227,16,149,72,31,236,116,67,139,235,220,71,129,85,114,122,172,180,81,};
-static uint8_t chacha20_270[]={235,100,52,73,16,109,119,22,239,36,16,70,248,171,19,129,2,63,58,212,159,190,116,125,110,221,159,130,101,66,88,194,};
-static uint8_t chacha20_271[]={136,53,25,54,31,146,174,3,};
-static uint8_t chacha20_272[]={56,205,245,74,112,67,115,82,109,142,84,41,196,69,83,10,13,72,170,39,72,145,36,110,44,233,9,231,174,224,109,65,145,186,80,148,230,224,238,209,93,223,34,75,88,103,51,86,55,102,44,161,174,7,};
-static uint8_t chacha20_273[]={192,157,119,47,112,89,226,88,};
-static uint8_t chacha20_274[]={32,60,134,219,214,165,213,210,121,224,92,237,62,14,101,141,182,155,174,87,252,41,144,41,162,241,120,196,183,37,99,59,205,154,249,216,49,60,77,162,32,62,49,176,12,43,75,104,16,14,28,94,134,190,};
-static uint8_t chacha20_275[]={22,147,79,135,35,186,26,50,100,146,148,178,70,58,46,174,236,242,36,38,61,30,148,11,7,7,15,66,220,207,121,120,};
-static uint8_t chacha20_276[]={151,255,107,234,220,43,141,238,};
-static uint8_t chacha20_277[]={212,11,144,192,72,126,176,96,69,116,51,209,201,173,253,136,217,85,211,59,101,53,132,134,127,113,240,50,201,228,63,159,207,213,120,170,216,18,209,90,5,89,128,243,189,15,192,115,98,195,69,13,55,36,198,};
-static uint8_t chacha20_278[]={141,49,8,23,1,235,151,229,};
-static uint8_t chacha20_279[]={19,147,242,100,38,58,197,234,89,167,121,201,73,53,188,105,137,8,150,226,238,31,241,144,1,185,50,221,37,212,224,130,115,114,115,206,28,111,228,78,75,160,132,178,142,148,144,176,87,44,228,238,174,35,218,};
-static uint8_t chacha20_280[]={56,169,47,154,73,177,181,192,7,226,122,227,9,110,246,47,80,96,67,174,129,96,77,64,45,229,79,50,84,194,206,100,};
-static uint8_t chacha20_281[]={205,229,232,148,236,128,154,46,};
-static uint8_t chacha20_282[]={238,244,206,225,233,100,1,109,75,146,100,118,216,189,71,234,176,188,153,176,137,68,47,166,91,253,167,140,188,192,34,91,219,37,171,175,66,174,27,183,164,82,32,250,13,107,16,145,232,91,137,209,105,127,179,75,};
-static uint8_t chacha20_283[]={234,89,211,67,166,57,54,172,};
-static uint8_t chacha20_284[]={222,119,4,230,112,15,212,73,58,240,66,119,181,11,100,49,86,3,180,93,146,66,212,245,81,63,154,34,19,152,199,96,236,166,135,146,216,98,114,134,138,253,248,183,92,120,73,7,107,148,50,70,175,160,66,96,};
-static uint8_t chacha20_285[]={211,50,117,100,88,206,248,254,226,191,49,162,81,144,19,95,202,96,209,42,57,163,81,117,250,62,9,35,142,241,209,215,};
-static uint8_t chacha20_286[]={244,131,77,238,196,87,141,95,};
-static uint8_t chacha20_287[]={243,17,194,53,108,225,112,47,108,27,52,179,244,112,186,191,22,198,194,9,72,77,199,53,163,142,57,86,21,86,53,242,10,136,224,26,27,126,163,63,69,42,2,31,208,208,135,177,108,208,181,100,94,16,71,242,106,};
-static uint8_t chacha20_288[]={46,23,175,179,252,236,178,64,};
-static uint8_t chacha20_289[]={177,163,209,51,120,204,77,58,244,69,50,28,206,88,95,220,141,29,26,60,114,244,245,133,15,164,6,173,180,157,237,89,8,61,87,57,236,71,83,149,147,2,69,109,119,141,129,208,170,152,184,248,33,70,221,186,30,};
-static uint8_t chacha20_290[]={109,246,66,176,240,34,223,51,193,247,1,234,143,221,129,66,164,132,15,165,173,64,48,189,57,143,150,25,124,193,127,172,};
-static uint8_t chacha20_291[]={77,62,23,58,66,27,188,206,};
-static uint8_t chacha20_292[]={176,88,30,111,238,210,53,189,246,85,251,64,242,64,52,240,95,11,6,218,65,107,239,77,27,6,179,76,178,241,240,250,128,165,91,40,118,89,172,165,212,90,222,86,238,126,30,23,149,230,251,159,208,125,221,246,74,74,};
-static uint8_t chacha20_293[]={79,98,146,33,227,52,227,36,};
-static uint8_t chacha20_294[]={3,86,91,169,131,176,238,255,101,131,165,180,4,113,85,125,165,108,53,246,56,129,20,2,236,108,38,24,214,98,118,143,150,164,69,53,93,184,247,138,20,163,208,54,115,143,253,142,197,244,222,37,11,200,26,223,33,149,};
-static uint8_t chacha20_295[]={99,119,166,125,254,250,95,148,153,210,243,243,244,21,120,176,215,38,145,224,143,165,101,94,149,35,79,111,92,104,185,74,};
-static uint8_t chacha20_296[]={239,166,168,200,117,52,33,91,};
-static uint8_t chacha20_297[]={172,246,196,88,18,197,116,211,130,152,138,184,46,118,154,185,142,2,144,96,20,104,165,211,102,225,240,232,59,48,161,104,169,145,57,241,120,104,159,22,173,227,185,219,174,34,141,211,24,230,176,244,42,64,150,247,170,10,77,};
-static uint8_t chacha20_298[]={98,141,252,123,173,105,148,208,};
-static uint8_t chacha20_299[]={151,194,85,208,212,45,192,42,85,130,206,252,11,120,51,49,111,169,118,241,178,108,99,253,161,201,41,161,219,121,63,197,175,197,227,16,0,100,0,21,38,116,242,227,68,209,190,54,54,11,113,21,52,185,145,102,110,194,190,};
-static uint8_t chacha20_300[]={202,255,90,39,219,156,202,23,190,26,222,108,174,81,207,163,37,119,129,161,145,162,31,196,117,89,219,224,21,92,175,160,};
-static uint8_t chacha20_301[]={16,34,61,20,138,226,177,91,};
-static uint8_t chacha20_302[]={13,180,238,116,125,237,151,114,36,202,123,106,22,204,249,47,91,16,64,138,181,28,105,47,165,2,72,210,198,219,251,220,197,192,92,160,185,29,167,203,208,199,32,81,144,200,174,209,1,95,213,96,89,221,37,220,110,74,237,38,};
-static uint8_t chacha20_303[]={180,121,61,112,44,142,65,177,};
-static uint8_t chacha20_304[]={85,94,111,101,34,239,117,136,156,250,59,205,139,118,128,94,171,152,72,48,58,219,163,136,176,104,190,192,52,178,248,98,207,108,72,73,94,254,3,15,25,95,138,147,74,114,108,110,245,240,11,249,96,141,95,50,14,97,7,51,};
-static uint8_t chacha20_305[]={224,24,9,227,127,2,184,178,217,252,210,80,97,24,219,96,133,24,94,66,30,151,26,17,150,48,201,206,60,243,95,97,};
-static uint8_t chacha20_306[]={104,198,55,59,72,148,197,24,};
-static uint8_t chacha20_307[]={26,16,79,249,45,203,119,35,223,52,135,86,188,62,223,88,9,108,223,24,15,27,190,125,248,40,24,126,44,102,240,132,17,175,93,187,198,100,171,164,94,107,54,16,206,215,95,208,240,151,72,58,229,245,199,211,81,108,20,75,141,};
-static uint8_t chacha20_308[]={242,132,147,191,25,6,230,235,};
-static uint8_t chacha20_309[]={149,17,133,113,32,59,80,45,25,173,148,238,44,101,17,108,147,162,52,67,83,51,68,82,132,95,150,217,211,153,90,132,17,9,174,187,91,252,34,10,191,68,249,110,125,127,40,167,42,38,126,49,223,209,74,0,187,172,236,251,196,};
-static uint8_t chacha20_310[]={188,150,138,143,17,107,40,159,120,232,92,142,197,35,185,131,103,242,94,221,215,161,164,195,133,195,69,204,198,130,116,174,};
-static uint8_t chacha20_311[]={107,100,180,69,252,175,52,185,};
-static uint8_t chacha20_312[]={232,69,196,98,184,150,148,125,73,114,220,210,188,126,27,57,115,43,77,84,18,206,218,2,219,111,13,92,31,125,253,57,126,120,52,59,253,186,150,71,179,145,18,58,231,137,1,78,82,6,202,74,90,201,121,19,69,35,180,139,100,181,};
-static uint8_t chacha20_313[]={135,7,146,66,95,218,0,183,};
-static uint8_t chacha20_314[]={128,156,91,199,96,196,249,133,212,91,113,70,194,177,99,44,209,187,150,61,174,104,125,10,187,164,249,212,185,119,254,146,193,12,211,18,33,183,11,232,2,247,229,177,208,204,17,66,148,84,214,10,21,240,51,45,190,224,248,19,95,33,};
-static uint8_t chacha20_315[]={203,128,194,61,129,254,187,128,220,171,26,0,144,97,178,119,97,173,232,82,77,158,60,60,47,195,94,75,111,185,61,244,};
-static uint8_t chacha20_316[]={52,14,63,96,49,44,187,91,};
-static uint8_t chacha20_317[]={204,112,81,189,0,44,49,109,251,215,29,25,205,20,128,117,79,226,109,112,150,4,152,51,17,165,57,140,80,112,243,236,252,154,115,116,9,111,162,132,83,218,1,56,72,24,212,206,64,42,167,133,35,56,86,11,214,229,89,135,165,240,52,};
-static uint8_t chacha20_318[]={109,81,28,64,250,69,147,191,};
-static uint8_t chacha20_319[]={120,83,159,19,243,87,61,194,28,144,50,207,65,115,20,69,177,3,118,185,227,73,54,114,120,106,210,53,225,106,4,252,176,222,91,105,53,213,141,234,209,216,193,184,70,96,225,104,235,2,204,160,78,90,27,195,247,27,11,83,54,17,25,};
-static uint8_t chacha20_320[]={222,41,177,38,212,173,145,156,221,34,120,164,211,37,224,179,79,59,73,120,237,30,215,102,215,85,63,124,50,150,129,200,};
-static uint8_t chacha20_321[]={237,19,98,47,28,159,235,80,};
-static uint8_t chacha20_322[]={42,200,52,84,187,212,21,175,204,180,67,232,193,80,209,8,37,104,43,97,204,190,97,42,22,122,175,163,136,121,5,4,129,249,220,53,43,39,248,73,236,38,35,201,199,139,173,149,197,226,200,172,215,47,94,159,80,253,172,132,173,183,239,106,};
-static uint8_t chacha20_323[]={91,186,45,219,111,2,81,41,};
-static uint8_t chacha20_324[]={67,13,224,172,149,214,126,195,81,195,5,203,155,161,103,231,137,101,191,139,219,84,249,188,14,54,189,83,204,28,160,214,64,215,52,66,178,126,31,90,127,210,231,150,83,119,42,99,236,181,51,38,59,217,84,183,80,245,70,68,181,217,55,140,};
-static uint8_t chacha20_325[]={33,173,153,145,97,30,221,128,51,161,222,6,251,200,8,168,143,160,28,27,115,242,189,112,37,103,53,132,172,167,176,73,};
-static uint8_t chacha20_326[]={145,185,123,131,58,154,253,120,};
-static uint8_t chacha20_327[]={177,30,247,94,96,226,4,255,214,142,224,76,22,137,143,181,252,237,116,164,74,145,152,73,82,137,127,139,113,36,94,9,128,78,186,187,39,208,64,58,24,185,75,51,203,162,251,74,127,187,4,195,97,45,240,228,7,181,174,166,229,129,151,26,9,};
-static uint8_t chacha20_328[]={131,217,145,183,13,12,67,192,};
-static uint8_t chacha20_329[]={190,52,150,174,132,6,28,220,107,22,89,202,34,2,188,205,62,51,152,63,235,75,56,65,163,60,5,176,187,190,232,228,116,191,172,39,119,67,103,36,112,181,96,238,251,175,255,249,224,51,153,129,1,29,209,82,190,36,120,2,250,115,24,123,227,};
-static uint8_t chacha20_330[]={249,104,84,134,223,73,107,251,244,41,222,191,239,222,60,187,80,243,33,108,196,36,192,81,204,248,13,206,195,110,211,156,};
-static uint8_t chacha20_331[]={215,195,240,67,167,182,164,201,};
-static uint8_t chacha20_332[]={146,235,136,216,23,216,20,151,193,103,20,75,241,15,39,114,217,137,32,179,172,59,35,107,119,248,112,203,173,94,17,18,121,155,206,150,131,134,86,242,69,251,47,6,132,16,125,219,57,74,157,206,212,49,165,164,16,234,33,59,218,216,183,27,107,130,};
-static uint8_t chacha20_333[]={141,119,17,125,217,27,226,70,};
-static uint8_t chacha20_334[]={218,30,56,44,129,1,169,166,110,109,66,41,176,240,192,83,199,15,166,140,204,221,39,227,140,189,148,59,200,93,22,77,232,216,81,50,252,121,107,81,76,218,55,127,67,214,75,213,149,189,128,70,40,15,64,101,39,205,93,39,65,107,247,213,160,115,};
-static uint8_t chacha20_335[]={58,208,245,131,209,184,202,9,26,100,100,41,243,64,94,70,146,82,105,144,188,189,165,74,177,159,81,164,162,189,27,181,};
-static uint8_t chacha20_336[]={39,153,4,141,195,83,116,190,};
-static uint8_t chacha20_337[]={4,98,38,79,157,114,253,139,203,238,189,16,27,173,164,12,43,236,152,220,55,77,200,29,113,234,240,9,93,29,0,146,110,172,251,181,19,129,74,116,189,36,206,21,94,104,144,152,152,139,149,31,9,233,147,122,201,111,150,79,120,17,195,186,165,190,62,};
-static uint8_t chacha20_338[]={206,228,130,25,212,34,147,160,};
-static uint8_t chacha20_339[]={139,145,20,9,5,18,233,239,168,102,188,25,19,76,56,5,248,205,247,34,195,146,221,67,46,18,142,22,11,13,160,89,254,55,71,87,105,65,187,241,170,141,52,209,104,39,46,140,156,204,174,238,137,75,8,11,176,143,65,127,21,221,126,9,112,130,97,};
-static uint8_t chacha20_340[]={151,32,224,62,156,39,56,53,92,240,82,45,177,199,78,92,191,48,11,197,132,156,83,207,115,186,172,119,112,62,153,10,};
-static uint8_t chacha20_341[]={1,124,21,205,227,200,28,250,};
-static uint8_t chacha20_342[]={74,39,240,170,99,172,96,202,104,100,160,64,47,40,203,196,10,149,123,146,5,117,141,186,38,105,244,81,201,121,208,1,125,89,40,89,48,240,222,21,216,84,97,85,194,73,126,34,25,175,90,20,120,175,248,14,250,157,164,128,112,90,183,94,31,181,47,12,};
-static uint8_t chacha20_343[]={0,28,209,237,127,183,243,134,};
-static uint8_t chacha20_344[]={184,97,162,25,53,253,190,31,221,128,150,50,60,120,81,176,125,229,201,14,163,130,135,83,38,158,14,232,16,54,131,149,163,225,192,181,222,255,211,159,162,170,60,224,192,103,112,119,35,194,133,231,17,205,253,169,136,8,252,110,42,232,69,6,176,23,179,234,};
-static uint8_t chacha20_345[]={207,54,20,249,88,227,213,36,169,218,32,103,188,215,65,251,174,209,177,142,114,2,79,157,246,84,208,239,70,133,107,48,};
-static uint8_t chacha20_346[]={134,168,68,0,141,245,203,158,};
-static uint8_t chacha20_347[]={40,40,244,160,252,146,249,167,200,116,98,142,224,52,61,244,26,224,251,128,141,105,51,30,83,166,108,187,118,143,48,148,221,245,91,91,109,186,218,64,34,134,238,251,187,228,49,195,209,250,145,26,75,175,143,131,181,188,190,194,37,24,184,252,219,197,27,181,90,};
-static uint8_t chacha20_348[]={176,145,143,45,162,52,116,125,};
-static uint8_t chacha20_349[]={135,229,120,94,123,43,100,32,2,14,137,30,113,118,38,157,120,83,14,195,232,214,143,18,108,203,85,108,53,213,43,78,204,224,66,97,238,23,8,104,169,59,103,157,17,123,252,44,161,236,242,92,5,16,18,87,55,90,145,96,221,8,167,159,202,200,166,140,136,};
-static uint8_t chacha20_350[]={245,165,189,35,127,12,231,101,217,27,171,230,116,111,144,122,241,203,240,185,76,203,251,26,80,49,132,246,114,166,133,188,};
-static uint8_t chacha20_351[]={144,241,121,129,106,183,16,48,};
-static uint8_t chacha20_352[]={195,85,18,27,152,88,0,38,29,69,200,244,59,216,247,229,31,182,75,48,68,88,96,7,4,150,95,209,194,204,152,215,223,111,12,226,135,237,19,140,30,66,212,225,227,212,70,145,106,151,174,103,84,105,140,28,156,23,102,156,71,34,182,234,49,45,197,3,205,77,};
-static uint8_t chacha20_353[]={210,10,111,72,26,62,213,159,};
-static uint8_t chacha20_354[]={11,114,187,251,58,240,94,111,172,141,67,233,166,56,66,232,81,153,116,17,135,37,57,182,54,100,136,208,63,186,61,224,253,81,239,131,1,144,90,14,23,209,102,18,5,71,207,62,30,210,98,149,89,234,64,34,249,114,41,202,200,200,223,238,150,222,35,173,227,169,};
-static uint8_t chacha20_355[]={245,105,213,146,223,21,223,10,15,132,104,212,21,17,50,6,140,178,133,161,243,193,232,59,106,120,170,19,83,128,165,123,};
-static uint8_t chacha20_356[]={91,1,141,213,172,25,252,110,};
-static uint8_t chacha20_357[]={116,27,85,31,114,172,188,44,18,249,175,22,207,53,159,32,253,59,17,175,83,177,93,125,24,20,95,243,145,144,135,73,185,69,240,159,239,133,156,161,40,180,4,184,187,223,85,85,223,64,176,126,136,24,244,83,195,2,214,122,204,141,229,66,175,42,172,208,190,111,50,};
-static uint8_t chacha20_358[]={105,219,5,138,230,93,44,143,};
-static uint8_t chacha20_359[]={254,231,226,49,107,227,182,82,17,173,53,198,58,92,168,35,149,236,197,12,196,112,8,123,132,205,66,110,150,232,232,150,32,94,67,179,175,229,142,91,136,155,81,52,59,224,159,20,46,231,234,129,78,40,164,71,73,109,122,208,11,77,187,50,103,178,64,63,248,135,60,};
-static uint8_t chacha20_360[]={16,233,181,31,233,45,87,161,102,239,221,86,202,138,98,90,243,144,106,49,56,176,170,78,170,182,114,234,150,124,41,213,};
-static uint8_t chacha20_361[]={22,177,128,6,173,233,127,2,};
-static uint8_t chacha20_362[]={134,177,145,70,130,156,194,220,6,9,209,17,222,185,140,205,38,244,57,16,150,230,39,43,148,133,253,213,32,128,79,28,83,27,74,75,18,72,226,242,27,243,179,90,165,193,64,75,9,237,79,166,191,73,197,87,208,250,104,185,237,14,205,17,61,140,147,127,120,249,252,49,};
-static uint8_t chacha20_363[]={37,76,86,201,11,89,175,190,};
-static uint8_t chacha20_364[]={98,220,16,191,187,69,123,220,238,42,66,188,99,132,169,9,22,192,86,141,103,152,237,48,124,216,96,88,86,246,72,214,229,211,54,106,98,86,167,219,148,218,69,72,190,6,137,89,95,151,68,247,242,97,154,151,27,32,31,204,73,234,56,103,169,141,145,201,246,234,181,70,};
-static uint8_t chacha20_365[]={52,41,1,64,132,218,162,135,114,107,105,66,32,202,31,108,249,185,104,203,121,208,220,189,99,97,250,97,249,102,11,149,};
-static uint8_t chacha20_366[]={36,23,45,177,2,146,58,177,};
-static uint8_t chacha20_367[]={243,19,134,109,74,104,112,226,99,143,154,238,138,151,150,147,179,38,132,102,150,106,217,12,234,199,31,124,83,243,38,169,132,227,244,181,64,37,96,104,42,86,120,140,165,69,77,205,175,57,42,52,56,126,153,157,49,21,9,217,218,114,177,43,35,112,184,91,115,126,148,108,189,};
-static uint8_t chacha20_368[]={35,72,80,42,73,109,7,30,};
-static uint8_t chacha20_369[]={103,224,233,149,127,140,14,52,66,45,69,215,62,106,64,147,132,183,141,88,200,10,100,188,14,111,11,152,118,58,49,157,158,147,52,46,159,166,106,35,63,150,142,169,64,10,68,133,97,80,49,3,43,115,65,118,80,137,253,104,93,48,132,62,49,199,122,160,97,70,93,12,178,};
-static uint8_t chacha20_370[]={214,129,173,253,137,230,192,187,56,140,55,75,35,47,138,94,204,223,234,86,34,76,217,188,72,11,17,63,17,177,46,34,};
-static uint8_t chacha20_371[]={246,38,11,253,147,104,227,18,};
-static uint8_t chacha20_372[]={95,159,66,168,122,156,160,102,47,225,185,82,151,174,97,102,244,255,66,70,222,93,174,232,52,166,194,165,38,162,152,107,31,212,144,9,119,207,153,43,208,122,167,234,82,36,146,203,74,128,41,26,82,23,146,30,21,102,248,189,243,14,74,100,50,5,224,228,201,204,42,28,31,4,};
-static uint8_t chacha20_373[]={111,222,147,174,181,218,211,128,};
-static uint8_t chacha20_374[]={254,46,161,46,212,24,134,23,110,222,172,138,149,211,116,97,127,1,120,119,218,130,50,102,180,198,84,61,76,134,195,77,103,145,252,117,193,1,34,250,115,244,56,16,180,27,41,134,4,46,218,5,8,42,251,154,223,229,98,208,182,74,169,218,242,64,29,230,124,164,102,231,116,114,};
-static uint8_t chacha20_375[]={135,136,161,205,29,243,241,199,36,186,35,206,68,118,174,56,202,234,150,88,26,88,41,55,223,130,30,120,236,7,178,241,};
-static uint8_t chacha20_376[]={76,0,104,72,34,80,72,21,};
-static uint8_t chacha20_377[]={93,10,134,46,51,95,72,111,14,78,104,125,107,225,203,71,170,179,222,102,163,250,94,207,127,39,125,1,79,65,148,52,241,63,235,71,195,238,106,6,115,214,107,154,161,221,189,5,115,220,104,102,161,124,220,237,13,69,204,248,195,135,69,8,148,218,251,67,208,135,170,177,249,208,44,};
-static uint8_t chacha20_378[]={193,124,27,230,241,24,229,8,};
-static uint8_t chacha20_379[]={150,105,221,211,131,148,222,236,13,154,200,51,101,165,154,121,231,206,117,116,30,113,169,170,127,22,110,242,139,100,93,73,130,162,178,176,190,31,38,230,110,172,125,21,38,190,138,95,136,213,218,89,227,97,83,42,113,219,28,206,157,18,70,9,54,122,88,232,72,242,69,45,1,138,182,};
-static uint8_t chacha20_380[]={96,171,239,237,211,189,30,217,8,251,69,71,70,18,124,145,96,201,38,247,251,169,204,251,34,171,208,139,50,2,56,54,};
-static uint8_t chacha20_381[]={165,29,179,242,87,7,247,149,};
-static uint8_t chacha20_382[]={151,228,225,111,132,255,89,186,244,70,169,160,176,207,110,219,35,12,58,65,75,41,208,51,116,32,85,226,133,161,230,169,223,161,98,81,13,203,73,207,86,207,196,45,58,119,236,214,207,88,12,36,128,228,242,141,55,253,27,149,138,8,102,231,249,91,165,72,162,67,14,67,65,46,253,134,};
-static uint8_t chacha20_383[]={219,67,75,248,120,103,111,54,};
-static uint8_t chacha20_384[]={121,49,52,74,96,102,38,53,240,118,148,216,127,210,170,235,35,199,101,58,28,218,11,129,101,224,52,47,75,51,43,217,123,207,72,192,98,0,121,241,125,93,214,84,162,161,12,49,254,174,100,43,72,57,47,188,104,47,226,70,179,147,132,83,142,89,238,31,240,34,50,35,203,110,217,2,};
-static uint8_t chacha20_385[]={60,250,237,100,252,49,225,151,110,99,165,141,154,72,212,122,172,115,157,148,218,204,225,4,25,159,213,129,254,32,112,186,};
-static uint8_t chacha20_386[]={213,211,77,190,234,114,146,97,};
-static uint8_t chacha20_387[]={124,117,121,227,65,211,38,254,129,248,115,251,57,247,126,39,97,27,95,27,95,217,86,41,134,218,132,187,236,101,136,40,0,113,45,32,85,248,204,104,253,142,108,14,165,219,228,113,86,255,137,243,226,106,123,188,4,0,130,144,71,34,148,117,127,93,26,83,243,231,179,102,24,123,117,114,228,};
-static uint8_t chacha20_388[]={226,153,39,177,129,110,207,71,};
-static uint8_t chacha20_389[]={247,17,203,18,47,192,113,159,76,250,176,132,8,90,204,231,139,245,98,237,195,124,246,188,156,110,142,92,70,49,215,57,36,156,193,40,161,194,173,98,177,118,147,4,245,180,18,221,23,169,232,21,44,182,141,230,184,4,229,90,125,166,191,205,115,189,99,235,46,233,159,224,9,19,139,100,99,};
-static uint8_t chacha20_390[]={252,23,144,111,96,44,23,149,172,93,183,187,30,36,40,23,181,24,160,9,46,187,36,78,181,208,59,116,160,130,182,232,};
-static uint8_t chacha20_391[]={16,162,117,200,59,36,220,67,};
-static uint8_t chacha20_392[]={7,210,57,105,95,35,124,247,40,165,25,57,141,7,24,32,200,33,109,55,48,36,21,42,13,96,158,158,154,239,197,5,149,25,80,24,184,167,201,117,127,232,112,245,21,160,53,134,186,187,134,27,127,161,3,170,232,90,36,8,158,183,58,139,28,110,186,115,109,1,152,236,237,9,108,75,0,180,};
-static uint8_t chacha20_393[]={220,253,126,255,12,123,100,13,};
-static uint8_t chacha20_394[]={5,238,251,199,87,179,87,15,155,205,223,195,140,100,92,97,185,69,118,62,241,193,12,29,206,28,22,195,195,64,59,52,156,70,170,6,219,253,71,13,104,63,146,148,254,200,28,128,86,193,237,114,23,103,218,113,1,159,188,124,82,17,181,175,66,127,90,171,243,168,147,72,85,137,61,16,115,46,};
-static uint8_t chacha20_395[]={125,83,205,158,17,255,11,251,68,183,203,155,60,72,11,38,87,196,227,21,195,27,188,194,216,51,114,234,145,134,234,87,};
-static uint8_t chacha20_396[]={176,118,201,53,139,220,102,152,};
-static uint8_t chacha20_397[]={152,139,3,200,143,147,98,181,169,239,243,230,23,140,28,56,2,19,65,93,31,106,119,67,14,149,46,175,242,35,27,32,201,37,18,253,137,33,159,222,73,219,1,254,159,145,32,67,123,89,65,234,116,239,197,12,58,147,167,79,121,132,171,206,167,203,126,109,132,7,130,51,156,190,169,159,167,160,83,};
-static uint8_t chacha20_398[]={225,13,167,254,156,111,91,154,};
-static uint8_t chacha20_399[]={43,252,58,211,102,155,42,154,49,224,250,172,139,217,53,124,135,109,32,163,250,193,190,227,192,103,89,184,163,40,94,3,125,240,170,113,123,122,114,86,135,175,186,91,15,104,233,63,205,36,160,252,134,143,236,143,103,193,51,205,31,21,199,143,181,172,89,161,193,44,98,57,160,74,194,213,87,135,26,};
-static uint8_t chacha20_400[]={74,127,83,133,131,178,81,9,103,223,187,228,214,97,62,47,0,180,80,18,140,3,26,208,34,21,22,45,76,132,36,60,};
-static uint8_t chacha20_401[]={154,132,226,153,193,237,167,211,};
-static uint8_t chacha20_402[]={137,105,126,254,11,101,14,83,33,27,224,203,250,91,69,59,220,51,213,244,69,50,124,237,53,185,220,248,66,198,239,188,157,67,230,143,78,81,254,144,91,177,59,30,103,50,102,96,181,164,207,170,95,60,83,126,68,84,56,210,169,224,172,81,233,0,225,22,128,17,231,185,50,13,85,205,218,175,56,11,};
-static uint8_t chacha20_403[]={127,137,204,196,227,195,51,130,};
-static uint8_t chacha20_404[]={100,202,190,66,48,242,188,178,109,202,110,118,73,192,204,95,104,172,198,189,78,102,53,140,59,10,98,54,41,13,20,72,242,69,96,66,55,128,250,16,46,213,241,3,55,9,169,47,239,120,85,34,173,94,232,189,152,35,7,222,142,72,16,239,230,194,169,62,175,31,62,35,188,169,137,232,139,93,110,6,};
-static uint8_t chacha20_405[]={210,31,188,144,136,103,162,126,79,176,14,188,241,67,238,163,128,143,46,79,179,14,97,182,17,117,208,139,109,52,19,147,};
-static uint8_t chacha20_406[]={161,176,243,39,14,208,52,179,};
-static uint8_t chacha20_407[]={70,97,142,142,58,136,96,207,129,157,92,71,159,176,223,157,198,224,148,211,127,44,134,11,238,25,116,102,40,126,139,158,239,105,237,120,235,173,113,57,209,238,9,13,202,74,145,192,234,249,167,218,38,72,36,1,177,31,170,41,10,227,205,176,97,47,250,113,245,204,32,176,19,77,156,252,204,239,250,111,225,};
-static uint8_t chacha20_408[]={67,37,216,13,178,106,222,162,};
-static uint8_t chacha20_409[]={220,99,102,144,45,105,102,58,80,184,181,29,143,216,225,136,166,23,208,99,212,146,105,243,40,31,63,220,46,85,74,190,218,98,163,193,160,63,161,191,60,176,96,211,227,98,16,252,198,71,13,208,139,223,172,144,75,231,241,167,20,30,8,245,202,209,169,14,92,98,132,42,76,123,131,133,174,141,124,209,205,};
-static uint8_t chacha20_410[]={109,187,241,212,157,184,178,44,192,57,203,165,246,53,114,78,208,26,76,227,186,9,158,62,171,247,113,36,81,163,22,3,};
-static uint8_t chacha20_411[]={186,104,175,110,40,84,194,23,};
-static uint8_t chacha20_412[]={62,127,83,232,212,77,35,57,26,176,236,217,1,14,49,19,92,233,150,40,62,25,75,23,28,152,9,239,138,46,205,208,88,175,163,123,105,31,206,91,37,72,238,220,120,168,179,28,19,50,137,160,240,179,60,33,188,218,183,85,161,182,144,225,193,11,177,10,91,180,224,115,145,147,12,169,89,0,39,102,52,113,};
-static uint8_t chacha20_413[]={141,152,230,143,194,63,16,234,};
-static uint8_t chacha20_414[]={191,180,189,21,141,227,76,53,63,163,106,177,188,7,78,105,165,189,178,202,160,83,234,17,154,153,198,244,238,120,169,156,11,161,165,130,247,122,131,245,10,2,82,154,75,85,222,237,36,41,194,250,17,240,193,80,245,38,241,23,212,56,212,24,145,168,140,108,253,200,160,118,60,194,229,104,110,34,179,50,78,250,};
-static uint8_t chacha20_415[]={18,228,203,71,172,151,193,50,123,206,222,250,85,105,186,251,210,69,30,68,140,35,3,165,85,136,33,48,252,247,131,175,};
-static uint8_t chacha20_416[]={6,158,52,158,163,119,205,43,};
-static uint8_t chacha20_417[]={153,228,132,134,9,117,57,79,93,251,5,131,24,123,195,96,166,232,241,194,54,130,162,109,220,19,254,34,142,234,134,112,80,148,154,98,255,93,15,147,62,111,206,154,67,152,245,117,121,239,166,88,51,124,185,196,60,81,191,218,132,33,119,242,80,231,186,116,237,11,160,0,19,6,14,85,118,145,196,215,193,207,209,};
-static uint8_t chacha20_418[]={107,213,169,197,87,123,92,53,};
-static uint8_t chacha20_419[]={19,20,10,243,136,182,119,194,232,90,94,186,120,83,183,91,133,44,2,184,157,151,243,217,205,219,244,200,176,79,232,101,246,213,132,199,232,140,218,49,98,231,54,98,186,237,201,13,241,215,248,25,192,249,144,223,174,194,157,251,118,78,253,170,101,145,171,174,234,157,252,53,64,141,19,212,208,197,230,33,167,133,127,};
-static uint8_t chacha20_420[]={47,92,58,169,180,123,175,1,245,179,141,137,63,92,244,229,194,3,182,177,54,163,155,196,78,58,233,76,104,226,236,217,};
-static uint8_t chacha20_421[]={62,93,250,219,210,153,199,121,};
-static uint8_t chacha20_422[]={191,172,132,9,243,246,18,102,45,69,204,205,255,175,245,8,242,64,3,173,27,234,55,60,63,208,71,139,67,44,0,252,179,233,153,171,23,241,3,228,33,227,121,85,233,189,74,181,58,68,222,126,10,249,201,88,39,240,1,188,207,202,249,90,181,138,81,159,244,113,171,182,36,229,224,192,66,30,113,159,26,94,17,16,};
-static uint8_t chacha20_423[]={169,80,176,17,129,210,97,9,};
-static uint8_t chacha20_424[]={175,228,242,142,83,228,126,186,42,158,67,11,175,102,83,15,111,34,136,123,66,204,28,255,22,93,53,210,58,27,145,167,213,90,169,210,65,195,139,238,222,144,183,195,178,3,230,254,59,150,129,132,41,103,111,6,118,125,35,162,122,142,145,95,241,37,186,253,53,11,202,150,204,81,232,210,74,86,219,251,140,216,49,205,};
-static uint8_t chacha20_425[]={213,74,33,246,64,113,25,193,233,190,234,51,202,184,150,177,176,188,47,125,42,161,255,125,148,99,141,151,56,104,228,152,};
-static uint8_t chacha20_426[]={2,98,192,11,65,192,50,14,};
-static uint8_t chacha20_427[]={114,174,221,73,125,112,140,72,162,230,95,101,166,203,123,167,114,121,17,245,112,144,9,149,215,38,83,206,129,110,182,62,213,179,77,78,105,98,23,56,220,92,171,40,25,87,22,207,51,120,212,145,57,135,86,234,190,210,145,16,93,15,184,174,149,233,105,222,98,83,7,110,247,10,190,208,103,36,135,52,206,31,47,42,197,};
-static uint8_t chacha20_428[]={62,0,16,135,142,12,134,132,};
-static uint8_t chacha20_429[]={213,76,81,106,40,132,134,211,111,10,196,54,207,201,29,27,196,34,21,57,222,69,214,65,113,96,116,216,65,89,218,56,129,141,124,218,133,152,127,87,61,30,178,132,220,211,152,231,145,93,115,199,197,167,255,8,247,8,247,135,26,90,89,8,88,139,102,51,46,247,210,147,211,95,158,33,220,84,247,23,215,245,241,237,104,};
-static uint8_t chacha20_430[]={76,224,17,246,208,183,22,97,121,99,238,171,216,54,91,254,196,169,19,140,176,65,122,92,95,28,164,218,244,70,2,188,};
-static uint8_t chacha20_431[]={16,154,49,75,236,88,62,243,};
-static uint8_t chacha20_432[]={44,48,72,87,73,169,255,45,71,65,112,245,138,71,17,34,35,218,166,195,239,173,218,144,245,128,29,105,207,218,198,73,227,32,231,67,134,56,9,25,67,175,61,248,169,41,197,162,197,166,254,229,160,87,243,184,55,102,211,245,204,151,169,126,239,232,251,163,63,221,93,65,52,97,134,103,41,132,200,108,32,194,71,52,229,131,};
-static uint8_t chacha20_433[]={74,131,246,85,30,222,226,25,};
-static uint8_t chacha20_434[]={91,129,0,45,141,124,114,40,161,20,103,120,57,217,164,160,242,238,119,221,64,49,97,103,104,67,254,51,162,241,250,112,207,84,167,86,6,55,204,98,126,188,210,186,193,67,37,113,179,142,39,242,3,84,230,137,167,46,218,224,127,90,25,156,28,217,71,69,253,53,186,136,247,51,39,247,219,158,113,30,98,247,104,112,12,228,};
-static uint8_t chacha20_435[]={114,49,251,129,132,75,160,217,50,203,10,187,184,248,6,241,208,58,217,100,146,193,111,10,62,232,42,118,245,60,193,149,};
-static uint8_t chacha20_436[]={27,205,14,190,170,54,131,47,};
-static uint8_t chacha20_437[]={84,3,111,12,33,146,31,231,97,14,196,155,160,217,100,193,201,239,158,70,191,10,251,223,107,90,164,80,214,81,117,189,229,126,109,246,5,75,24,72,5,252,44,149,0,253,231,189,83,157,57,242,35,218,219,89,190,253,122,55,110,215,58,107,210,38,156,201,188,130,98,127,191,37,53,45,204,105,23,214,99,136,71,251,217,67,41,};
-static uint8_t chacha20_438[]={68,136,216,246,241,8,128,179,};
-static uint8_t chacha20_439[]={45,31,48,47,226,193,176,253,215,48,76,48,125,112,170,4,57,123,198,162,137,122,2,224,19,238,49,224,62,107,118,117,135,231,36,150,206,58,244,183,186,138,210,104,99,196,218,168,211,192,254,103,106,188,121,122,158,240,159,65,176,4,171,231,248,125,109,108,242,233,42,170,88,86,80,33,29,140,159,188,89,166,107,181,13,211,63,};
-static uint8_t chacha20_440[]={40,157,161,16,83,199,182,243,69,181,99,167,179,22,29,227,149,180,202,15,148,129,78,239,178,116,82,204,79,156,82,109,};
-static uint8_t chacha20_441[]={89,12,86,197,24,55,65,110,};
-static uint8_t chacha20_442[]={13,127,225,98,216,209,234,233,158,177,83,172,190,66,100,51,193,162,95,210,100,110,204,42,51,51,19,8,146,36,142,46,146,241,172,241,132,147,254,252,78,117,76,88,152,7,190,132,156,95,15,125,34,149,215,169,183,246,217,18,93,238,60,0,174,167,184,26,128,46,66,65,181,212,19,123,205,251,210,235,36,10,134,33,236,26,92,25,};
-static uint8_t chacha20_443[]={133,228,21,165,111,99,202,236,};
-static uint8_t chacha20_444[]={149,31,248,220,129,222,144,181,61,203,137,215,111,67,203,223,226,106,190,194,40,216,170,181,213,41,122,151,207,190,168,75,214,21,12,222,215,102,38,243,84,107,57,140,160,208,162,218,0,140,9,104,22,204,1,74,251,127,186,181,108,241,161,219,229,201,16,16,158,216,194,187,226,249,169,118,179,32,62,190,115,229,163,182,64,104,222,118,};
-static uint8_t chacha20_445[]={53,24,0,232,213,219,172,194,212,1,226,205,50,83,123,216,219,191,136,168,92,17,179,134,205,62,18,68,109,31,248,102,};
-static uint8_t chacha20_446[]={153,227,166,66,219,190,38,185,};
-static uint8_t chacha20_447[]={77,137,176,68,243,100,108,40,59,178,235,135,41,123,69,86,214,57,11,246,152,184,158,239,241,83,70,93,30,102,160,177,97,33,220,169,181,138,103,219,189,36,80,197,108,37,191,225,156,238,19,218,198,149,33,222,114,49,14,98,188,4,58,51,194,245,73,17,213,13,186,208,135,227,184,219,55,203,179,46,233,124,156,244,13,182,246,113,78,};
-static uint8_t chacha20_448[]={210,44,253,116,46,90,96,51,};
-static uint8_t chacha20_449[]={163,219,66,134,15,105,159,102,217,101,184,246,91,8,142,239,2,22,135,237,75,90,57,201,198,82,80,109,211,174,57,9,212,10,235,216,62,96,251,11,54,197,94,104,93,106,164,56,51,44,10,178,169,102,205,3,0,179,113,199,156,247,138,243,237,24,16,155,197,181,108,208,78,64,253,94,100,7,235,117,67,48,234,148,7,66,255,243,155,};
-static uint8_t chacha20_450[]={179,189,166,78,166,78,250,62,164,136,179,234,172,141,199,203,21,57,107,116,140,95,253,101,168,102,9,87,205,134,237,190,};
-static uint8_t chacha20_451[]={23,123,161,80,67,222,232,42,};
-static uint8_t chacha20_452[]={195,197,46,137,115,65,149,110,27,143,228,61,146,33,236,81,115,227,162,225,176,117,140,144,77,245,238,247,87,246,240,225,34,6,228,116,113,121,22,241,27,125,166,236,84,179,164,194,75,42,222,117,84,123,71,244,105,243,69,8,58,53,134,85,214,16,249,155,201,92,221,159,61,92,80,2,88,36,241,71,242,109,10,63,106,248,111,207,91,203,};
-static uint8_t chacha20_453[]={134,125,179,157,72,149,72,18,};
-static uint8_t chacha20_454[]={247,60,105,253,148,110,193,181,24,49,115,101,180,175,240,83,114,149,187,85,176,77,160,216,57,128,52,56,72,82,3,30,125,246,119,175,152,120,250,191,17,193,50,172,53,236,201,245,209,16,48,224,78,81,22,14,47,145,244,23,64,122,93,91,186,114,138,148,211,193,240,31,164,226,79,103,229,179,225,104,29,149,90,221,200,101,212,108,236,217,};
-static uint8_t chacha20_455[]={115,206,124,25,126,92,109,248,229,118,87,225,220,25,58,184,52,31,245,25,88,95,231,73,131,13,155,55,1,150,103,215,};
-static uint8_t chacha20_456[]={182,174,239,204,33,56,142,153,};
-static uint8_t chacha20_457[]={28,122,211,219,182,130,63,216,188,27,62,29,189,15,229,193,232,82,245,107,31,229,241,214,206,85,40,180,149,212,224,242,16,243,12,53,46,109,9,6,30,102,88,39,191,51,147,146,55,155,73,49,236,189,161,49,195,127,236,29,196,231,83,149,43,196,179,101,200,17,216,235,120,237,218,255,134,110,188,199,220,131,119,161,230,72,116,40,24,66,221,};
-static uint8_t chacha20_458[]={85,162,41,63,99,78,16,211,};
-static uint8_t chacha20_459[]={39,18,247,179,98,133,149,151,230,55,149,26,58,84,45,148,3,175,177,215,79,34,151,248,152,251,235,174,152,243,106,176,203,138,2,32,153,234,56,117,58,60,158,53,12,134,189,129,191,198,158,148,102,122,128,176,147,20,67,5,208,182,254,154,168,13,40,7,103,108,64,10,153,128,98,225,136,144,124,231,249,110,107,180,62,49,46,183,27,70,241,};
-static uint8_t chacha20_460[]={58,139,181,192,66,7,97,127,255,27,200,15,224,221,122,110,231,174,49,188,25,148,65,123,58,175,115,232,226,94,120,150,};
-static uint8_t chacha20_461[]={167,15,218,71,67,137,122,17,};
-static uint8_t chacha20_462[]={231,242,99,118,151,160,145,98,191,249,135,110,74,253,20,158,152,250,127,178,212,242,59,221,127,208,214,127,158,63,76,193,205,108,154,179,174,214,47,5,15,8,56,162,186,72,159,28,197,154,121,76,102,63,36,213,208,87,21,43,128,33,29,102,165,248,147,103,207,19,93,195,184,50,35,63,180,85,154,179,176,107,16,224,104,179,85,43,217,75,139,24,};
-static uint8_t chacha20_463[]={127,195,166,141,135,114,66,110,};
-static uint8_t chacha20_464[]={250,179,138,141,148,228,207,116,164,179,40,27,144,90,209,64,215,26,162,223,17,238,71,97,21,171,100,211,234,242,77,72,46,83,254,211,46,35,59,208,178,85,39,146,138,243,114,81,229,100,149,18,111,41,196,134,6,146,49,151,151,12,215,180,80,0,170,174,17,239,154,145,56,124,217,175,234,8,191,91,246,196,102,183,246,236,182,47,116,73,55,151,};
-static uint8_t chacha20_465[]={216,250,228,220,195,136,198,53,43,24,191,219,114,158,99,165,35,0,106,189,119,12,193,160,111,166,64,252,150,132,241,214,};
-static uint8_t chacha20_466[]={148,121,55,177,1,240,20,131,};
-static uint8_t chacha20_467[]={137,122,101,193,90,181,78,255,135,24,14,158,111,176,78,245,188,28,13,17,249,80,63,18,129,44,69,213,207,162,75,27,112,211,245,197,18,128,187,229,132,236,79,92,83,152,123,52,158,222,222,37,109,209,216,212,48,83,214,31,91,216,166,110,87,157,89,130,53,3,106,28,198,223,63,153,105,7,242,11,171,86,133,53,13,51,41,158,31,2,37,51,58,};
-static uint8_t chacha20_468[]={3,5,183,177,53,6,92,244,};
-static uint8_t chacha20_469[]={57,14,240,221,62,241,164,80,213,240,180,88,9,73,22,58,72,250,248,242,192,167,134,26,6,135,155,149,110,26,213,140,150,213,210,255,57,205,172,46,235,153,20,125,245,25,29,178,66,255,98,82,169,88,53,152,156,187,213,168,114,146,80,206,21,101,170,179,206,20,9,158,203,11,46,195,174,78,249,79,29,128,153,123,212,55,21,20,215,42,33,30,194,};
-static uint8_t chacha20_470[]={33,46,60,94,90,232,228,180,22,88,89,75,50,41,80,66,170,224,86,26,178,90,6,176,93,177,220,88,134,175,75,204,};
-static uint8_t chacha20_471[]={88,56,21,89,181,198,15,132,};
-static uint8_t chacha20_472[]={170,122,170,219,239,57,207,91,50,62,22,60,84,213,104,255,26,13,210,142,139,170,80,42,166,98,214,253,219,67,62,118,69,186,86,195,191,116,138,168,126,118,1,198,225,102,135,21,16,143,24,31,105,5,132,46,25,99,197,5,225,182,223,164,38,92,96,84,186,55,2,226,187,84,72,58,92,42,118,120,12,65,222,162,234,21,160,162,16,18,107,24,20,76,};
-static uint8_t chacha20_473[]={145,8,145,35,145,144,229,199,};
-static uint8_t chacha20_474[]={46,9,217,108,142,125,54,87,174,214,225,29,122,179,253,197,143,111,11,218,76,8,218,230,33,200,221,244,75,187,245,92,148,35,223,207,81,152,188,167,139,236,147,124,52,83,228,48,96,194,41,27,127,44,141,41,49,205,143,75,172,180,238,173,166,170,89,209,152,220,106,201,255,207,60,216,107,135,13,17,196,131,252,179,74,253,6,39,7,10,57,219,177,134,};
-static uint8_t chacha20_475[]={56,53,139,204,3,142,242,55,136,255,185,80,17,218,49,33,68,98,145,225,53,118,127,59,193,47,46,201,59,174,206,247,};
-static uint8_t chacha20_476[]={23,195,139,102,29,82,182,83,};
-static uint8_t chacha20_477[]={168,25,157,177,119,154,132,144,16,118,29,16,47,253,188,50,60,156,230,141,180,191,255,156,169,131,34,123,150,177,166,226,76,15,151,255,121,226,142,50,61,32,64,53,220,252,186,165,27,202,22,123,92,42,109,76,164,16,221,175,182,246,101,222,21,66,184,194,219,91,196,232,11,236,37,7,187,134,113,119,12,206,175,216,25,40,78,189,200,200,118,28,77,7,80,};
-static uint8_t chacha20_478[]={2,49,92,158,58,162,131,84,};
-static uint8_t chacha20_479[]={117,55,185,55,78,149,238,166,156,151,43,228,236,73,154,87,149,23,17,236,28,249,223,197,144,7,1,187,132,162,155,203,78,120,138,94,145,2,217,96,147,109,9,212,172,147,59,65,227,132,218,141,222,85,121,4,49,21,4,232,3,205,12,24,60,195,83,114,189,100,202,28,183,97,84,208,72,33,202,246,212,107,60,102,155,233,51,243,139,71,239,150,131,138,144,};
-static uint8_t chacha20_480[]={246,174,103,208,122,39,245,137,112,146,234,159,156,8,90,58,224,15,86,196,43,80,201,86,94,85,111,53,127,55,45,249,};
-static uint8_t chacha20_481[]={241,205,190,5,80,31,80,241,};
-static uint8_t chacha20_482[]={31,196,161,73,148,202,171,225,96,35,102,94,140,203,30,32,165,158,80,40,2,105,199,202,242,254,49,143,88,121,123,155,113,1,181,103,212,37,248,159,46,107,240,7,142,94,84,123,54,15,19,70,75,75,41,195,253,55,206,44,204,127,77,73,61,247,69,234,110,75,21,155,126,251,169,96,27,146,231,180,55,60,135,12,15,73,88,197,84,111,81,102,136,178,83,236,};
-static uint8_t chacha20_483[]={32,91,24,1,12,219,18,97,};
-static uint8_t chacha20_484[]={17,72,195,197,224,69,162,186,247,211,183,120,133,101,244,233,4,76,34,153,105,157,68,159,145,130,14,94,197,5,186,144,44,126,230,231,202,182,202,240,26,109,65,148,160,248,135,87,41,91,211,1,237,172,155,16,90,198,61,102,71,8,215,136,32,193,105,25,163,144,184,18,73,19,75,14,132,243,168,146,183,11,4,134,25,10,73,243,190,176,247,57,184,232,71,26,};
-static uint8_t chacha20_485[]={243,74,195,42,85,174,212,127,242,227,254,12,169,152,116,126,40,108,211,91,247,239,252,228,10,249,129,54,255,187,230,237,};
-static uint8_t chacha20_486[]={214,241,149,200,88,173,147,165,};
-static uint8_t chacha20_487[]={125,166,252,126,122,61,174,153,115,34,204,195,216,125,131,254,92,153,42,75,5,150,39,45,164,93,143,59,8,143,238,152,250,213,245,228,130,201,146,24,101,88,182,216,36,252,187,41,95,246,124,169,127,193,4,160,156,122,37,45,253,120,200,60,76,189,119,129,110,222,118,98,169,110,9,173,13,144,159,113,75,123,183,125,107,87,25,139,10,124,196,125,133,210,21,79,149,};
-static uint8_t chacha20_488[]={53,124,129,9,67,183,1,231,};
-static uint8_t chacha20_489[]={122,171,50,61,166,170,190,251,164,57,152,34,129,162,16,247,55,14,106,109,11,146,60,99,131,66,216,68,179,224,19,227,59,121,21,175,126,117,17,133,227,43,119,132,155,248,41,30,146,142,5,181,155,234,184,22,247,1,80,128,168,121,125,44,20,94,42,252,62,140,167,102,126,185,42,70,146,47,206,17,32,216,15,211,95,14,81,127,139,104,43,47,118,223,88,26,111,};
-static uint8_t chacha20_490[]={101,193,72,174,191,231,204,127,63,143,209,1,243,182,32,38,122,149,52,52,201,222,97,135,251,142,113,48,221,166,188,139,};
-static uint8_t chacha20_491[]={191,214,249,207,150,152,35,170,};
-static uint8_t chacha20_492[]={190,157,232,192,64,2,148,230,167,181,2,23,184,199,138,232,134,22,218,10,229,72,108,58,253,102,144,62,198,152,99,11,36,150,28,183,44,219,216,42,87,83,174,168,236,110,64,154,55,166,107,152,37,183,122,48,33,15,77,86,21,116,167,120,18,25,85,254,48,205,150,230,52,229,154,62,214,236,102,150,72,83,249,33,224,145,129,57,255,183,92,14,87,109,27,132,179,198,};
-static uint8_t chacha20_493[]={110,210,254,216,98,28,37,221,};
-static uint8_t chacha20_494[]={6,132,208,153,183,9,179,226,168,51,38,9,160,212,184,116,212,127,159,91,20,237,78,142,204,252,189,177,70,10,123,134,140,180,188,124,192,116,74,138,98,73,1,196,129,184,113,194,85,157,154,236,157,31,219,182,34,110,50,130,146,81,171,225,162,24,174,66,105,251,31,1,141,231,188,26,181,14,65,116,237,99,137,105,83,16,20,31,78,76,124,3,3,22,159,32,194,153,};
-static uint8_t chacha20_495[]={165,100,53,18,47,111,95,166,153,98,86,93,53,34,134,40,150,32,196,200,117,25,199,85,180,64,5,172,217,4,159,25,};
-static uint8_t chacha20_496[]={36,1,123,75,226,137,34,212,};
-static uint8_t chacha20_497[]={191,10,174,194,153,246,173,127,250,20,100,210,100,247,69,148,225,4,67,69,97,68,117,12,63,47,223,6,179,114,87,5,44,6,208,174,43,214,48,182,214,187,161,47,216,159,64,242,171,45,165,222,196,199,19,21,243,66,66,87,164,79,180,151,248,97,49,172,170,227,116,73,53,153,173,221,21,85,125,136,233,63,37,42,137,119,20,172,155,201,43,230,187,16,13,216,137,181,223,};
-static uint8_t chacha20_498[]={166,65,71,73,24,132,55,44,};
-static uint8_t chacha20_499[]={144,208,22,177,173,143,181,27,252,64,253,208,225,5,174,91,94,227,120,210,238,101,1,153,34,9,86,222,69,83,79,182,253,235,180,122,115,77,77,63,17,119,247,3,225,7,1,8,220,130,115,38,170,135,13,124,189,88,212,172,156,57,34,252,53,131,30,5,43,181,220,137,22,229,0,7,156,25,237,109,21,97,180,26,23,161,90,236,118,74,195,167,187,200,66,86,233,245,255,};
-static uint8_t chacha20_500[]={117,11,174,50,207,85,246,87,58,225,197,21,23,81,205,183,11,168,85,5,253,13,51,91,227,19,98,224,238,66,33,20,};
-static uint8_t chacha20_501[]={77,50,238,156,180,97,168,28,};
-static uint8_t chacha20_502[]={198,156,52,183,245,142,46,237,222,226,35,47,207,199,110,15,133,0,89,19,157,51,142,229,24,81,76,152,132,181,94,219,180,104,153,176,10,198,25,114,199,155,116,201,178,178,229,185,98,184,135,211,60,145,124,82,34,190,215,149,206,136,248,96,152,27,11,143,55,235,159,76,205,115,209,28,234,144,38,145,217,0,84,208,234,6,223,23,15,180,118,243,185,206,125,21,64,174,111,145,};
-static uint8_t chacha20_503[]={199,239,182,38,44,218,124,214,};
-static uint8_t chacha20_504[]={141,160,66,56,2,219,243,238,172,32,238,3,120,234,205,213,48,169,207,205,218,120,233,59,14,56,102,47,163,95,103,182,156,189,195,170,242,180,30,19,132,155,49,187,95,183,0,210,157,8,33,28,60,36,165,226,100,239,89,171,63,146,85,167,7,203,204,106,241,52,210,46,63,212,34,142,148,48,126,236,83,75,112,213,29,81,120,240,14,22,243,197,195,159,5,219,241,64,9,228,};
-static uint8_t chacha20_505[]={73,194,202,8,103,228,23,155,21,15,0,120,219,18,223,9,179,37,25,255,179,24,60,38,136,81,233,170,150,140,180,120,};
-static uint8_t chacha20_506[]={21,90,163,202,193,69,218,134,};
-static uint8_t chacha20_507[]={154,221,22,10,162,153,72,70,227,87,187,34,194,146,192,206,183,68,98,173,69,2,159,140,237,0,32,121,30,106,4,23,138,239,217,182,171,92,14,170,74,233,183,245,190,85,102,250,216,138,176,104,30,54,1,222,133,179,176,88,1,15,137,209,178,87,162,161,171,167,11,5,86,141,254,145,36,236,127,160,83,17,199,238,96,170,203,169,173,84,232,245,99,67,120,184,223,82,1,102,6,};
-static uint8_t chacha20_508[]={94,138,102,88,252,92,94,112,};
-static uint8_t chacha20_509[]={154,120,166,62,93,72,3,113,214,218,131,201,238,140,205,234,41,116,229,182,171,46,235,190,72,49,90,218,91,31,100,106,239,162,14,38,78,35,21,149,147,61,172,15,172,89,246,207,244,100,225,168,44,64,248,61,116,49,246,193,252,184,25,212,145,9,133,74,121,94,17,17,29,234,241,90,238,83,77,120,71,243,99,198,185,176,208,144,127,254,147,22,19,101,32,255,27,183,38,11,153,};
-static uint8_t chacha20_510[]={240,104,155,117,58,11,217,201,46,44,187,56,35,48,96,37,135,56,19,178,170,247,158,86,32,236,183,227,216,248,29,188,};
-static uint8_t chacha20_511[]={131,236,85,83,188,40,49,128,};
-static uint8_t chacha20_512[]={196,56,196,50,248,63,197,163,48,35,93,171,54,237,242,22,107,145,255,30,254,112,157,126,128,199,37,122,69,142,64,243,133,109,131,57,227,228,105,18,133,117,15,163,225,150,35,127,129,49,229,184,74,14,112,212,16,85,221,99,46,160,181,183,53,224,15,82,3,58,253,204,253,247,14,70,113,248,104,166,89,99,83,104,216,161,116,222,252,62,121,196,139,166,123,84,240,111,11,127,51,176,};
-static uint8_t chacha20_513[]={7,170,201,103,228,44,220,110,};
-static uint8_t chacha20_514[]={160,209,86,162,36,233,31,239,251,71,221,204,196,74,248,42,245,126,45,111,223,2,59,147,41,241,21,165,111,95,4,240,87,20,44,106,109,33,126,197,217,150,138,124,240,52,97,68,164,213,72,201,160,83,200,218,225,246,239,91,147,53,247,14,70,88,119,44,163,156,132,139,10,64,74,249,9,134,19,170,236,204,74,224,179,92,5,162,217,246,37,216,205,120,62,72,38,55,182,134,168,74,};
-static uint8_t chacha20_515[]={20,244,22,142,244,1,152,21,44,107,144,32,46,144,74,189,58,205,29,12,84,20,192,183,51,71,99,91,78,70,55,43,};
-static uint8_t chacha20_516[]={141,172,235,211,187,28,139,123,};
-static uint8_t chacha20_517[]={9,97,168,72,142,69,217,164,97,104,172,204,4,131,232,74,38,167,253,123,42,144,155,40,54,50,66,79,181,114,184,38,186,15,253,70,41,119,182,183,222,12,219,206,14,163,122,178,113,20,239,150,118,168,105,16,126,136,195,136,151,215,12,147,118,36,193,54,163,62,158,216,105,19,100,103,140,247,181,182,242,222,9,22,63,50,156,68,30,131,172,21,46,213,104,110,62,18,3,36,246,206,146,};
-static uint8_t chacha20_518[]={116,14,179,63,193,137,215,97,};
-static uint8_t chacha20_519[]={115,24,149,53,238,67,13,82,164,121,124,182,120,203,132,135,105,11,139,104,49,77,9,21,143,145,20,34,36,41,151,253,113,35,1,190,171,85,46,46,18,205,38,187,173,204,38,11,33,92,119,93,238,195,36,111,47,158,68,18,55,80,232,205,77,89,104,183,26,138,253,202,174,151,238,101,68,210,176,22,147,83,166,249,229,137,250,44,47,157,207,73,135,104,40,147,125,45,161,244,217,52,81,};
-static uint8_t chacha20_520[]={143,40,212,174,165,209,141,34,16,68,85,174,163,10,97,179,28,231,21,22,28,232,135,164,18,6,94,232,231,105,252,161,};
-static uint8_t chacha20_521[]={184,28,11,176,216,108,157,99,};
-static uint8_t chacha20_522[]={113,139,173,217,163,138,235,126,83,140,69,42,69,205,75,140,14,37,253,180,47,136,213,97,97,21,50,144,183,62,94,137,16,134,243,23,85,111,66,104,218,136,175,116,42,137,14,37,79,219,246,52,198,116,242,10,69,124,145,238,253,231,0,234,9,179,83,171,184,148,216,48,8,254,122,193,7,94,112,158,39,154,12,33,41,147,34,133,157,6,234,149,24,130,235,154,137,38,138,129,167,107,160,53,};
-static uint8_t chacha20_523[]={97,17,87,67,140,4,224,207,};
-static uint8_t chacha20_524[]={42,155,122,144,148,72,120,27,57,180,150,238,89,39,75,97,210,89,73,213,205,38,72,26,145,55,123,175,16,167,16,184,196,163,206,238,156,136,42,140,138,74,52,177,188,190,16,232,255,99,36,110,207,2,252,93,109,210,159,103,187,19,83,112,121,115,149,66,198,28,72,148,107,229,84,15,128,112,176,49,179,175,68,123,177,129,165,247,232,119,182,140,83,186,78,57,251,132,165,184,172,205,216,75,};
-static uint8_t chacha20_525[]={161,127,149,129,113,224,51,97,227,154,222,207,224,73,237,152,46,193,213,16,195,144,190,54,169,203,3,35,140,48,234,41,};
-static uint8_t chacha20_526[]={218,59,120,232,200,109,85,180,};
-static uint8_t chacha20_527[]={3,83,145,162,248,26,71,151,54,95,190,144,2,187,14,194,234,29,67,134,96,17,254,172,200,243,138,28,49,162,0,26,167,138,141,88,33,121,216,103,56,100,242,205,110,39,155,10,28,191,170,37,232,193,132,206,76,171,112,110,249,168,249,61,155,12,56,222,177,118,24,207,215,112,84,21,237,228,84,229,239,38,136,30,62,199,97,75,99,179,29,60,136,248,172,62,95,15,180,188,223,219,154,56,253,};
-static uint8_t chacha20_528[]={151,230,200,72,14,22,45,144,};
-static uint8_t chacha20_529[]={199,11,32,107,138,30,166,177,134,158,16,222,90,252,241,64,188,117,56,113,123,121,235,253,26,207,0,221,218,164,49,218,254,115,243,48,107,78,66,12,46,255,185,242,229,173,118,24,160,206,57,128,174,157,139,190,134,39,53,1,212,165,101,178,19,169,86,6,67,249,240,169,69,207,235,104,11,102,220,37,18,207,50,7,128,79,225,200,171,52,93,200,231,166,84,121,20,25,26,6,193,74,160,22,82,};
-static uint8_t chacha20_530[]={42,124,210,72,91,197,249,234,118,80,37,52,136,69,216,202,106,80,67,46,24,95,228,151,38,52,245,232,130,43,228,207,};
-static uint8_t chacha20_531[]={9,172,172,0,11,51,247,125,};
-static uint8_t chacha20_532[]={10,5,241,53,7,152,68,84,123,246,243,229,97,128,150,245,26,46,56,181,95,67,184,142,101,119,128,97,113,94,235,149,62,150,152,201,59,99,40,200,174,153,206,152,251,89,25,211,90,206,151,132,95,152,211,121,233,116,54,101,217,27,175,89,187,123,57,116,1,68,204,49,170,240,154,202,181,39,235,249,251,35,223,129,17,209,58,61,44,167,129,227,138,81,226,35,96,141,182,16,208,225,69,79,121,177,};
-static uint8_t chacha20_533[]={98,225,99,207,76,91,138,17,};
-static uint8_t chacha20_534[]={197,55,146,37,63,79,214,135,155,108,175,113,207,130,156,107,235,101,111,226,56,51,70,200,47,103,99,167,165,155,6,154,233,78,119,33,91,249,22,32,195,23,84,249,236,165,3,215,11,108,95,35,216,135,77,209,183,85,101,22,42,116,122,74,86,118,24,177,251,22,167,42,138,51,251,244,174,98,246,79,168,206,28,211,135,6,221,64,194,131,78,185,104,14,78,125,127,64,212,182,27,107,216,0,172,213,};
-static uint8_t chacha20_535[]={155,209,243,24,29,22,175,140,86,238,9,221,162,152,139,196,89,220,73,229,121,79,85,245,162,62,248,149,219,134,41,150,};
-static uint8_t chacha20_536[]={12,57,176,48,41,147,204,151,};
-static uint8_t chacha20_537[]={20,147,194,183,25,32,193,234,177,129,201,131,45,109,65,87,150,165,193,142,192,217,42,116,159,221,148,249,247,38,213,26,141,223,73,148,122,232,199,1,121,223,21,39,120,125,61,60,177,111,231,122,166,238,108,223,200,57,57,175,156,214,114,216,241,67,155,20,247,172,47,141,1,250,36,186,15,252,159,226,214,122,155,25,55,220,64,129,147,33,221,114,138,188,35,214,81,109,251,140,208,140,10,230,254,242,133,};
-static uint8_t chacha20_538[]={30,58,201,233,131,143,168,209,};
-static uint8_t chacha20_539[]={161,177,199,47,111,88,178,162,129,234,198,104,246,27,147,254,102,173,227,192,106,62,172,102,204,66,148,25,63,175,100,4,191,86,125,106,74,93,222,217,51,146,220,161,49,209,146,77,54,147,126,255,148,195,121,144,216,245,137,58,13,101,137,55,240,121,181,89,102,176,146,142,80,78,183,231,230,104,239,251,192,34,15,54,39,77,52,2,223,0,169,197,244,128,237,65,194,223,232,117,57,181,207,155,123,111,175,};
-static uint8_t chacha20_540[]={151,166,141,116,250,74,12,84,162,122,145,104,31,231,174,146,27,73,167,25,173,221,160,217,121,223,102,209,20,151,100,233,};
-static uint8_t chacha20_541[]={24,174,121,67,57,213,123,102,};
-static uint8_t chacha20_542[]={232,33,75,82,38,65,101,2,147,69,183,124,57,138,86,83,91,162,144,138,12,211,152,160,12,222,150,73,93,181,250,62,190,66,177,38,223,230,21,215,47,216,244,102,239,118,110,104,198,86,154,146,243,251,197,174,105,53,52,251,90,192,131,138,105,11,64,145,27,228,28,25,148,128,21,233,28,221,229,170,10,148,238,131,11,238,80,7,74,29,148,108,172,85,209,167,2,19,173,143,43,250,112,46,52,96,127,167,};
-static uint8_t chacha20_543[]={151,136,178,209,118,235,162,52,};
-static uint8_t chacha20_544[]={163,100,84,92,227,135,121,195,2,124,49,236,25,108,100,88,171,37,175,141,241,255,119,65,212,25,70,132,168,146,86,175,46,132,101,168,12,80,62,11,201,89,21,254,255,27,181,127,151,6,98,246,123,167,218,85,196,64,43,156,71,205,252,178,60,92,222,98,255,247,116,101,220,30,219,17,181,230,44,251,119,139,189,233,74,7,55,71,211,209,75,104,205,171,239,208,22,96,80,189,15,160,62,113,119,255,208,54,};
-static uint8_t chacha20_545[]={43,148,201,112,42,6,255,253,85,176,207,223,154,249,190,19,130,194,227,193,67,242,63,125,174,240,236,66,252,142,24,98,};
-static uint8_t chacha20_546[]={226,180,105,228,198,1,2,116,};
-static uint8_t chacha20_547[]={106,213,134,238,27,30,88,133,254,95,200,50,148,250,0,210,158,122,6,124,171,69,19,110,77,20,16,161,37,235,84,110,237,241,180,143,15,145,245,227,242,250,63,241,147,9,95,28,137,219,250,204,33,17,209,204,205,171,3,248,133,14,151,43,37,109,222,182,76,101,41,97,116,171,152,67,173,118,66,110,159,120,30,218,70,240,167,217,88,219,163,13,228,193,239,9,7,109,171,126,228,51,26,75,165,56,245,131,88,};
-static uint8_t chacha20_548[]={130,156,106,19,199,192,180,163,};
-static uint8_t chacha20_549[]={8,240,77,20,136,78,108,190,140,133,71,21,140,212,130,34,62,185,62,91,75,59,25,217,197,75,205,93,167,107,179,124,191,155,180,150,248,133,238,128,243,163,134,237,219,1,50,253,183,205,136,153,152,245,199,93,178,245,189,175,14,177,43,240,241,172,130,246,224,26,118,96,232,252,222,0,29,40,41,139,227,220,241,22,197,250,170,169,189,192,238,150,47,229,11,223,123,44,110,1,32,26,210,28,243,45,17,22,1,};
-static uint8_t chacha20_550[]={59,102,167,200,216,107,177,93,183,241,88,47,3,31,250,10,43,86,90,83,116,250,112,233,189,204,234,35,220,218,81,25,};
-static uint8_t chacha20_551[]={233,199,126,46,177,39,62,172,};
-static uint8_t chacha20_552[]={105,244,50,161,82,112,220,40,63,17,248,87,233,64,10,166,128,213,34,185,88,189,197,99,29,114,185,241,225,223,212,50,151,187,47,72,63,171,159,154,25,188,199,105,14,64,200,153,84,176,205,81,134,104,108,10,58,251,156,172,195,143,62,120,106,130,248,129,138,96,113,175,166,154,239,193,139,22,18,84,177,155,56,203,72,237,251,8,22,157,160,90,176,139,39,45,207,43,50,109,75,109,132,122,252,190,235,142,95,110,};
-static uint8_t chacha20_553[]={69,125,92,225,206,43,240,215,};
-static uint8_t chacha20_554[]={171,252,157,149,39,247,35,196,25,152,134,143,165,5,157,22,118,176,161,22,240,90,13,202,99,225,56,248,48,131,19,54,78,228,154,224,22,228,99,169,38,214,243,174,243,180,53,67,209,47,64,223,86,33,138,94,27,215,254,59,84,221,155,65,112,62,119,179,20,30,179,195,162,239,208,207,153,97,157,178,10,144,238,178,15,0,101,165,33,46,190,99,11,161,86,93,182,80,156,105,10,80,209,39,129,202,115,142,34,117,};
-static uint8_t chacha20_555[]={238,39,84,113,208,25,169,230,148,152,247,223,90,98,237,175,223,206,20,29,33,79,137,96,87,195,15,56,112,231,154,209,};
-static uint8_t chacha20_556[]={121,30,6,211,62,179,49,81,};
-static uint8_t chacha20_557[]={6,209,132,129,35,144,138,241,48,62,233,154,99,83,35,30,3,20,171,19,216,5,51,128,21,209,31,149,237,63,180,52,146,161,248,29,1,166,11,240,55,225,32,177,181,210,72,45,222,122,42,100,120,62,41,9,144,149,209,241,18,208,97,180,206,243,247,6,239,86,13,34,61,143,184,218,1,241,231,83,41,159,202,112,116,208,20,217,37,227,105,33,88,21,209,142,198,214,200,187,90,114,114,79,127,229,120,120,131,137,226,};
-static uint8_t chacha20_558[]={218,10,16,26,84,15,236,85,};
-static uint8_t chacha20_559[]={239,41,158,135,214,180,254,89,6,236,59,13,192,201,127,102,240,29,153,162,239,239,118,74,25,15,130,19,175,110,236,5,34,132,211,248,203,39,108,51,56,99,129,106,14,198,230,110,144,0,30,132,39,143,35,55,90,167,254,86,88,110,250,135,234,210,101,126,64,97,127,194,6,229,37,82,233,20,227,69,183,207,235,180,137,65,30,14,193,97,174,8,173,228,75,176,106,212,27,41,107,128,23,233,135,108,134,133,168,62,224,};
-static uint8_t chacha20_560[]={72,218,143,49,228,119,250,103,105,73,87,189,48,160,154,211,130,239,185,159,152,228,135,135,137,92,247,39,164,7,34,221,};
-static uint8_t chacha20_561[]={166,61,229,233,152,170,96,62,};
-static uint8_t chacha20_562[]={242,114,52,17,32,150,252,218,101,201,7,156,215,59,29,80,216,218,158,92,150,88,152,130,4,174,72,242,6,116,113,143,171,12,15,116,42,96,187,191,85,38,139,133,156,119,31,22,142,157,221,39,85,180,140,84,213,114,66,190,223,253,202,81,99,211,221,5,45,60,174,122,39,247,98,77,2,180,148,65,148,65,57,93,189,253,126,41,7,197,84,3,234,233,176,175,167,2,181,153,94,130,99,29,48,207,48,91,109,230,235,252,};
-static uint8_t chacha20_563[]={197,170,189,130,98,182,122,130,};
-static uint8_t chacha20_564[]={78,179,249,178,90,162,148,160,143,217,16,72,63,79,176,3,181,25,216,235,97,232,160,33,87,133,67,127,107,13,6,44,192,228,196,173,92,136,159,81,46,121,28,29,66,148,117,125,217,237,83,97,31,129,152,212,61,12,186,186,157,131,184,45,46,212,176,232,93,185,30,228,203,101,131,208,95,127,124,242,246,97,52,206,33,6,244,107,163,23,151,229,60,245,169,188,151,214,157,71,117,153,149,22,167,150,142,134,21,20,247,179,};
-static uint8_t chacha20_565[]={137,184,198,31,209,179,108,39,87,94,140,250,176,113,255,41,60,70,61,10,215,109,78,202,212,166,72,250,153,42,92,88,};
-static uint8_t chacha20_566[]={47,214,212,145,178,93,220,86,};
-static uint8_t chacha20_567[]={185,173,248,14,49,183,164,185,140,42,58,32,78,176,237,174,74,75,80,89,164,68,220,76,123,246,106,210,139,168,177,60,152,235,186,9,116,51,186,163,172,217,65,93,124,6,19,234,193,157,234,228,214,159,184,77,53,150,5,18,102,75,26,249,236,145,76,17,242,25,129,5,211,238,169,84,56,93,166,28,117,249,217,103,36,45,20,66,79,13,53,185,104,5,215,47,161,181,243,244,108,103,240,57,159,4,122,68,18,217,251,87,128,};
-static uint8_t chacha20_568[]={230,0,131,186,49,131,225,55,};
-static uint8_t chacha20_569[]={232,70,239,20,234,167,66,138,103,229,87,99,231,35,214,211,55,205,25,29,113,58,137,131,28,124,136,142,225,153,245,66,106,51,49,85,15,146,92,199,62,24,35,108,72,81,255,194,117,189,158,91,25,110,240,90,165,44,170,42,155,143,180,63,29,120,235,62,217,198,78,147,86,224,119,104,199,225,49,41,106,138,174,48,202,139,108,154,61,104,24,41,3,65,161,177,34,250,178,23,199,86,93,54,9,17,156,58,126,69,26,124,87,};
-static uint8_t chacha20_570[]={121,222,60,37,129,224,210,26,220,249,154,225,226,204,232,254,177,137,85,54,146,201,236,147,226,150,216,187,249,220,154,187,};
-static uint8_t chacha20_571[]={42,247,113,99,211,116,68,115,};
-static uint8_t chacha20_572[]={246,13,140,178,23,241,61,51,43,243,227,69,242,25,109,80,154,170,136,26,131,62,116,178,75,191,63,164,6,14,69,216,132,147,78,82,150,88,129,70,51,82,245,23,193,6,12,69,243,7,236,185,14,35,64,60,151,98,236,220,148,210,100,151,133,235,253,35,156,193,115,68,188,254,153,90,104,157,96,5,189,189,152,219,59,78,31,168,191,25,172,251,185,24,63,30,242,107,82,166,66,35,29,97,188,81,8,110,63,224,165,182,180,98,};
-static uint8_t chacha20_573[]={19,158,36,237,118,125,221,2,};
-static uint8_t chacha20_574[]={230,64,193,114,179,138,169,156,15,131,97,18,75,245,32,187,245,141,167,230,25,113,0,210,156,131,113,200,149,134,159,100,186,114,154,231,2,241,80,124,74,234,109,110,146,163,190,193,214,20,154,86,26,155,131,192,177,43,217,176,151,85,1,151,112,237,128,25,139,5,1,109,36,210,185,32,39,79,246,241,29,233,2,98,171,110,139,91,225,242,21,247,82,156,120,162,47,97,69,36,79,61,1,228,252,22,134,118,100,246,169,153,233,132,};
-static uint8_t chacha20_575[]={211,155,49,193,107,252,250,118,207,66,60,145,236,237,54,232,174,166,146,181,118,177,254,49,110,216,190,94,30,243,71,194,};
-static uint8_t chacha20_576[]={136,149,188,27,240,177,55,85,};
-static uint8_t chacha20_577[]={24,108,84,207,237,201,61,124,93,128,195,242,189,130,80,64,73,171,40,253,152,204,226,110,111,90,143,134,148,152,90,38,57,160,60,241,70,7,117,137,52,165,12,71,106,107,193,34,236,186,86,17,9,109,154,38,109,41,47,81,27,44,133,23,48,193,231,17,201,44,160,233,190,191,36,86,40,218,234,143,39,1,123,108,190,84,33,91,230,68,96,124,64,180,4,186,87,228,59,234,22,73,83,14,104,249,155,22,215,30,100,193,131,181,15,};
-static uint8_t chacha20_578[]={71,101,188,72,167,62,5,213,};
-static uint8_t chacha20_579[]={211,137,58,29,124,214,86,28,140,125,225,223,235,13,203,243,77,157,219,17,179,210,145,30,64,5,145,142,203,17,112,177,170,123,43,1,184,244,150,188,16,206,55,32,117,12,5,8,196,116,86,78,140,223,41,241,30,180,204,123,97,159,103,111,213,144,4,72,1,30,131,20,0,117,99,175,25,185,166,132,184,72,188,59,160,111,165,200,234,39,69,59,154,135,224,117,18,34,32,82,55,23,202,35,217,134,39,129,162,250,1,59,201,233,198,};
-static uint8_t chacha20_580[]={90,2,230,238,157,211,132,192,27,48,13,201,239,68,49,36,229,22,234,186,207,199,62,169,42,8,26,139,139,147,235,79,};
-static uint8_t chacha20_581[]={65,161,118,19,104,52,203,116,};
-static uint8_t chacha20_582[]={36,190,159,149,218,45,72,158,28,137,102,158,135,243,144,197,213,34,89,135,13,237,255,15,145,219,228,219,10,78,227,187,121,117,119,174,231,32,76,96,89,207,91,199,226,73,178,50,106,208,95,193,247,77,217,132,137,114,92,208,161,134,34,241,233,109,237,203,80,23,57,71,119,209,116,199,175,239,96,201,200,126,102,170,59,111,127,190,7,225,106,146,2,47,209,112,195,64,212,155,129,193,174,183,90,162,10,137,193,84,122,11,181,64,164,127,};
-static uint8_t chacha20_583[]={74,75,62,140,180,250,47,191,};
-static uint8_t chacha20_584[]={86,6,111,196,234,42,139,233,36,213,31,130,193,3,75,74,81,144,28,8,104,88,237,220,217,26,74,169,85,77,163,153,56,218,114,73,70,191,216,126,154,167,204,151,69,121,94,130,167,86,75,229,191,150,194,11,132,157,236,217,175,222,234,94,247,226,14,113,108,206,124,238,23,252,79,231,31,127,158,165,166,154,252,38,31,187,4,168,145,163,101,172,101,208,218,68,111,111,37,7,127,26,45,201,164,90,235,198,14,209,33,106,151,156,178,98,};
-static uint8_t chacha20_585[]={169,207,239,105,191,82,187,51,196,57,241,209,114,80,6,22,247,90,68,91,112,194,213,122,214,6,154,31,129,1,2,182,};
-static uint8_t chacha20_586[]={100,138,246,53,66,143,201,26,};
-static uint8_t chacha20_587[]={250,92,225,188,8,240,123,190,153,193,249,211,47,49,31,233,211,3,194,172,29,230,60,236,53,21,139,121,165,127,2,195,159,122,10,129,83,202,139,235,28,195,31,28,240,156,50,228,210,109,139,112,200,198,188,104,151,19,62,66,60,5,175,178,255,132,62,54,88,33,167,122,215,100,242,136,231,126,151,212,20,129,195,149,141,23,35,163,255,85,37,96,215,228,101,222,151,131,131,1,7,170,204,182,95,18,103,66,117,39,118,125,20,59,86,22,137,};
-static uint8_t chacha20_588[]={69,25,103,24,161,182,184,119,};
-static uint8_t chacha20_589[]={184,134,149,74,209,53,228,104,89,67,218,175,18,245,49,93,163,44,77,134,143,82,134,84,156,88,66,26,36,253,58,225,143,124,62,93,126,27,195,125,232,218,127,213,210,31,105,134,195,16,176,83,62,96,10,78,113,244,46,177,198,233,1,98,167,50,96,28,7,63,190,60,78,17,158,192,138,8,67,7,141,158,147,12,92,254,61,240,44,88,190,247,222,119,18,128,143,142,98,54,121,12,8,5,169,23,52,84,112,46,178,58,213,85,20,253,227,};
-static uint8_t chacha20_590[]={156,127,136,129,130,210,1,2,155,231,178,71,204,139,176,43,180,61,190,105,202,90,101,74,97,31,211,238,200,71,211,159,};
-static uint8_t chacha20_591[]={237,13,193,17,38,112,16,175,};
-static uint8_t chacha20_592[]={49,186,38,8,237,13,180,157,224,76,81,219,162,126,209,7,170,93,161,87,230,52,202,197,23,210,21,165,157,136,73,243,190,166,63,234,237,95,46,157,166,132,180,69,90,168,34,200,39,44,170,208,92,65,29,219,254,35,18,80,253,71,187,201,163,141,215,91,47,34,92,72,0,65,11,173,39,253,98,139,141,159,56,94,17,129,64,83,174,238,218,219,94,18,235,46,133,124,85,112,191,110,95,157,35,192,208,162,52,79,70,59,100,197,115,151,193,234,};
-static uint8_t chacha20_593[]={167,28,121,144,151,126,191,161,};
-static uint8_t chacha20_594[]={226,69,74,80,158,98,132,54,222,49,109,92,152,21,106,182,143,171,94,157,253,117,142,36,192,237,202,28,160,148,208,195,176,65,237,97,74,180,226,181,229,40,148,27,145,198,135,143,192,220,207,200,59,195,207,43,144,200,83,39,43,26,231,166,81,254,105,129,125,107,254,170,60,177,94,147,48,223,215,81,208,10,183,67,55,74,119,182,53,118,232,236,120,175,145,161,252,218,70,40,104,162,120,158,229,140,96,50,70,52,129,199,242,253,103,14,48,127,};
-static uint8_t chacha20_595[]={50,71,229,66,199,184,118,54,143,52,55,153,132,209,164,71,183,166,198,91,132,136,130,167,87,27,189,221,216,187,180,75,};
-static uint8_t chacha20_596[]={110,113,12,51,1,235,195,91,};
-static uint8_t chacha20_597[]={195,226,167,108,27,59,168,239,216,54,72,19,76,155,4,28,85,14,237,61,130,194,53,108,165,0,171,158,0,238,71,91,175,227,186,210,195,157,74,87,0,98,10,141,160,35,193,120,218,42,193,184,18,122,32,179,103,202,17,157,192,156,12,145,138,66,70,254,180,208,96,154,229,66,195,244,58,122,8,206,135,142,37,190,195,184,51,229,13,136,174,127,158,122,29,227,160,229,88,195,195,247,134,252,3,161,65,83,67,234,125,191,86,70,64,133,162,203,195,};
-static uint8_t chacha20_598[]={249,75,63,149,119,236,41,157,};
-static uint8_t chacha20_599[]={11,146,77,123,15,87,28,107,91,245,151,145,181,56,31,143,164,91,19,44,130,56,8,10,129,29,206,77,148,97,151,201,12,220,61,251,76,4,110,11,198,48,82,166,91,145,153,147,166,100,207,37,218,178,219,135,39,206,92,222,75,22,91,238,19,113,14,2,20,141,11,57,35,9,13,104,31,38,222,92,138,251,122,189,102,66,83,20,84,71,101,40,44,94,121,112,168,75,198,223,167,175,106,44,16,170,131,66,11,19,8,40,85,238,134,174,136,174,44,};
-static uint8_t chacha20_600[]={214,62,239,243,243,233,224,252,23,52,128,234,105,27,94,139,125,111,71,58,190,150,14,94,134,67,201,179,1,68,130,189,};
-static uint8_t chacha20_601[]={224,136,182,114,2,78,49,144,};
-static uint8_t chacha20_602[]={30,242,159,174,42,54,75,212,114,145,241,242,181,166,78,176,27,108,194,201,157,93,40,102,85,219,215,73,102,42,46,99,195,73,113,200,244,254,209,92,217,37,126,209,202,180,107,249,100,147,51,42,103,9,118,243,194,119,183,186,254,107,48,197,179,73,113,16,253,63,10,5,7,84,3,130,42,48,35,229,58,155,183,17,204,194,58,160,106,157,241,28,255,41,134,107,135,141,132,199,153,31,26,144,179,171,197,138,14,236,140,26,218,119,49,199,192,112,233,245,};
-static uint8_t chacha20_603[]={54,1,135,60,239,252,31,134,};
-static uint8_t chacha20_604[]={27,18,170,109,71,34,30,108,75,77,184,7,111,40,92,6,9,193,50,245,109,41,120,249,41,207,170,218,136,197,255,163,210,10,74,56,199,248,255,168,102,62,32,9,32,32,147,38,152,6,183,158,208,118,109,72,45,1,5,1,51,2,19,187,234,99,164,226,40,100,99,141,77,47,41,28,129,216,213,22,171,222,178,109,161,70,87,218,29,21,249,232,2,6,238,227,20,205,93,49,112,84,79,174,119,113,169,131,104,189,167,196,192,110,0,60,50,225,104,50,};
-static uint8_t chacha20_605[]={174,190,31,255,191,39,97,238,27,58,91,91,31,217,213,76,174,151,148,92,69,2,46,253,63,27,214,185,16,46,160,243,};
-static uint8_t chacha20_606[]={77,77,165,234,110,183,95,162,};
-static uint8_t chacha20_607[]={63,111,231,66,227,243,159,252,59,80,99,43,67,73,51,23,89,163,51,58,182,250,141,146,31,137,245,121,180,210,166,154,173,35,24,199,89,232,116,60,32,169,68,108,124,59,103,41,235,75,32,254,171,187,159,41,174,152,46,234,37,110,59,114,66,27,119,21,206,104,55,69,104,244,109,178,200,215,127,48,6,28,137,65,211,104,185,186,33,4,218,196,18,202,254,43,120,125,179,119,18,37,28,69,103,33,94,48,48,243,192,68,158,23,132,208,196,251,91,32,52,};
-static uint8_t chacha20_608[]={155,235,206,160,25,83,75,130,};
-static uint8_t chacha20_609[]={40,62,76,197,132,162,248,69,195,43,226,29,55,178,54,107,72,131,184,25,55,59,141,119,63,201,37,11,221,90,170,12,14,116,148,247,72,82,143,174,127,167,7,254,223,171,111,31,179,110,187,44,96,156,193,246,139,171,153,70,101,193,252,68,49,230,31,83,171,240,94,159,208,34,66,218,226,134,57,44,133,137,115,72,50,228,150,56,171,197,85,148,177,47,88,96,79,83,194,0,187,114,21,211,184,93,237,8,11,179,169,207,107,188,88,145,244,248,16,167,3,};
-static uint8_t chacha20_610[]={249,124,106,158,180,248,162,189,51,114,21,141,8,36,202,6,207,235,3,50,254,45,33,27,35,192,198,151,200,242,163,53,};
-static uint8_t chacha20_611[]={244,30,168,223,235,159,44,27,};
-static uint8_t chacha20_612[]={65,50,6,134,237,164,179,138,58,233,246,88,45,252,44,29,166,26,206,145,153,216,148,113,138,99,91,86,177,220,124,57,195,60,225,75,128,144,20,63,58,252,232,48,238,110,217,190,237,167,65,225,11,125,75,83,85,214,76,184,178,185,109,172,40,32,40,131,200,231,250,52,123,80,202,171,68,150,114,114,56,234,47,129,156,94,142,182,35,196,186,109,180,220,207,46,195,103,250,4,227,165,24,157,135,97,166,114,124,209,5,65,24,66,34,171,214,152,30,56,114,253,};
-static uint8_t chacha20_613[]={62,9,79,69,212,102,62,58,};
-static uint8_t chacha20_614[]={80,110,138,211,153,188,245,16,228,142,104,146,233,181,165,89,149,56,202,134,90,157,78,17,254,92,100,117,202,57,226,108,121,114,133,191,231,166,136,47,211,66,205,184,243,211,79,151,168,203,15,242,39,76,206,205,72,180,169,200,0,238,163,204,255,170,192,45,184,74,99,4,233,9,100,113,106,97,51,153,225,109,216,245,185,212,29,97,138,116,53,127,80,158,240,169,0,133,70,158,58,5,88,47,2,195,168,195,48,153,186,137,11,102,91,70,38,74,62,242,82,198,};
-static uint8_t chacha20_615[]={253,121,213,78,0,86,78,9,121,95,98,50,229,166,111,102,24,237,56,136,188,81,80,97,108,230,15,243,175,115,102,144,};
-static uint8_t chacha20_616[]={137,201,158,118,206,212,126,251,};
-static uint8_t chacha20_617[]={36,92,207,164,152,215,220,172,40,199,156,128,68,184,26,99,141,236,80,64,164,248,161,15,208,56,43,194,36,21,57,224,193,46,246,42,189,6,240,80,133,115,152,40,60,121,60,217,235,228,131,174,177,56,161,151,107,4,79,41,249,38,195,14,253,98,242,46,150,150,31,197,231,179,26,248,83,182,251,112,238,158,152,183,25,120,102,177,39,97,203,167,36,14,121,77,11,156,55,178,34,136,58,79,123,97,240,255,239,92,231,199,78,249,94,58,169,9,161,210,140,190,95,};
-static uint8_t chacha20_618[]={46,2,71,80,120,193,219,160,};
-static uint8_t chacha20_619[]={197,133,187,223,100,101,233,172,128,200,135,100,55,32,1,77,179,151,133,157,239,132,44,37,46,89,177,128,249,215,133,176,206,218,74,121,229,199,201,2,226,161,33,215,67,67,24,48,78,97,65,246,29,62,196,139,144,90,196,136,144,17,41,5,36,44,171,217,184,69,248,113,0,102,49,129,58,54,120,156,175,252,244,54,99,221,105,159,68,253,91,171,222,126,217,121,186,1,56,13,195,14,46,238,242,3,48,69,32,95,148,173,33,125,148,67,74,79,208,175,90,86,121,};
-static uint8_t chacha20_620[]={63,166,70,184,121,33,160,34,102,201,86,84,4,248,181,67,11,109,49,117,99,237,135,1,8,0,148,89,206,137,215,232,};
-static uint8_t chacha20_621[]={145,189,14,179,75,154,9,34,};
-static uint8_t chacha20_622[]={80,100,241,95,6,49,218,110,91,253,251,168,234,19,114,174,103,116,79,46,197,246,229,166,205,180,2,143,130,241,189,164,187,173,14,54,144,125,43,133,201,173,135,176,230,87,119,96,191,97,188,43,85,219,64,212,231,140,125,116,90,196,131,50,65,101,69,107,234,3,75,184,56,31,70,241,176,112,169,196,172,71,191,20,79,56,77,56,228,200,118,43,107,121,104,58,133,237,69,196,158,87,66,54,148,28,202,184,219,154,158,183,26,73,75,100,35,65,233,143,9,116,240,30,};
-static uint8_t chacha20_623[]={210,190,213,62,58,185,65,41,};
-static uint8_t chacha20_624[]={121,87,24,44,62,139,197,129,20,95,175,155,94,36,63,38,75,201,252,102,114,48,219,83,78,54,211,54,13,138,37,199,254,152,62,103,31,219,243,43,204,95,236,183,6,132,96,251,87,253,134,189,177,9,180,179,48,68,91,74,195,5,162,29,92,7,25,0,140,87,155,245,125,117,147,80,88,214,177,247,67,193,113,116,191,253,254,119,10,17,195,105,4,206,200,129,1,89,53,211,100,216,71,241,244,236,86,126,108,207,116,136,144,99,99,15,236,74,148,103,42,93,22,209,};
-static uint8_t chacha20_625[]={35,203,122,3,213,66,239,109,156,150,248,209,35,175,196,193,117,181,133,129,145,99,206,234,120,226,111,197,203,41,217,149,};
-static uint8_t chacha20_626[]={3,2,153,74,157,108,200,30,};
-static uint8_t chacha20_627[]={67,153,23,245,74,217,116,65,177,86,216,108,2,216,127,174,157,251,69,239,215,87,115,228,59,217,193,196,20,41,153,180,6,92,56,254,125,205,234,119,39,92,211,157,204,153,238,113,176,229,105,23,195,175,48,219,55,10,84,133,136,68,227,42,170,219,145,126,211,165,136,16,108,224,204,77,251,228,1,21,95,194,136,82,146,80,10,69,251,35,18,19,83,154,80,123,188,234,210,150,8,184,108,236,123,226,149,200,168,72,10,227,196,67,93,1,116,9,174,207,168,120,199,216,76,};
-static uint8_t chacha20_628[]={93,83,130,91,177,55,82,77,};
-static uint8_t chacha20_629[]={24,56,133,179,115,89,9,130,17,203,161,137,29,211,112,116,208,48,231,191,49,139,225,76,193,242,66,41,52,126,186,204,163,179,223,106,42,94,187,93,248,144,103,180,89,98,106,161,87,170,102,137,94,166,171,223,90,229,140,106,243,186,196,99,15,148,8,48,139,84,179,227,101,161,141,59,19,119,166,230,15,73,147,221,90,131,66,78,78,164,229,228,46,74,130,84,16,44,252,94,152,166,212,193,213,186,11,160,50,9,214,146,229,126,100,216,103,85,163,26,150,59,141,127,40,};
-static uint8_t chacha20_630[]={0,236,31,89,160,200,76,134,36,203,152,239,17,20,157,228,48,8,103,227,238,243,93,13,181,9,0,102,95,58,28,49,};
-static uint8_t chacha20_631[]={153,67,180,226,123,229,56,43,};
-static uint8_t chacha20_632[]={62,206,13,166,32,154,80,106,29,114,74,127,14,104,151,159,58,195,201,104,248,197,108,133,209,9,45,198,146,120,243,217,89,75,26,227,251,200,158,70,179,201,49,141,51,99,38,181,143,217,193,52,12,206,120,7,176,185,178,77,8,11,28,207,244,188,21,72,202,168,49,82,196,41,217,106,38,176,4,212,128,205,188,228,106,214,129,28,35,133,205,31,77,205,4,182,142,169,194,125,206,7,39,81,65,171,129,108,127,113,212,27,51,102,226,47,254,251,225,172,3,113,113,242,168,73,};
-static uint8_t chacha20_633[]={91,11,64,69,117,81,124,18,};
-static uint8_t chacha20_634[]={32,94,120,176,6,159,214,197,135,40,176,244,6,33,22,35,123,17,57,90,88,107,169,136,18,103,152,114,239,18,29,65,159,166,202,179,229,212,99,102,184,87,49,91,156,76,100,43,114,1,56,121,151,250,105,29,230,221,120,221,66,232,236,42,182,196,28,178,208,178,20,63,122,226,11,199,75,115,128,168,223,44,95,93,138,202,179,13,171,214,140,237,254,126,169,104,59,131,166,42,61,169,6,103,64,129,254,57,118,141,210,203,10,42,23,161,209,126,168,60,48,50,73,157,14,29,};
-static uint8_t chacha20_635[]={108,215,87,180,53,22,84,39,213,73,153,246,105,5,160,253,193,4,225,143,107,107,166,246,78,249,130,190,109,79,177,95,};
-static uint8_t chacha20_636[]={132,222,192,246,174,124,235,191,};
-static uint8_t chacha20_637[]={160,32,139,120,178,109,150,249,114,238,147,71,62,132,187,140,83,87,247,222,104,27,53,89,160,226,17,200,86,122,93,179,133,230,118,129,32,82,158,183,85,172,35,0,248,55,39,145,44,93,73,42,240,207,87,245,186,114,24,141,38,74,187,202,228,28,219,243,13,200,98,147,133,247,98,143,114,241,122,203,128,235,4,215,53,66,253,128,88,184,73,176,240,255,83,158,48,102,158,83,185,253,58,211,36,185,221,128,86,187,161,81,191,181,124,151,236,172,103,50,15,101,194,111,91,244,2,};
-static uint8_t chacha20_638[]={149,1,2,76,12,183,160,141,};
-static uint8_t chacha20_639[]={19,65,189,59,95,201,218,85,201,137,106,1,80,228,37,211,209,78,20,18,229,75,84,181,158,174,225,13,96,137,197,151,77,71,242,68,208,146,55,28,28,152,44,67,68,123,214,226,21,221,196,9,205,36,29,150,215,55,177,186,232,255,195,21,249,172,3,200,174,245,193,191,173,90,149,249,8,61,212,70,48,221,214,240,215,78,17,51,209,129,80,111,251,114,193,237,122,174,78,106,159,67,204,33,3,34,176,188,98,84,83,48,179,207,220,62,203,194,151,23,193,152,5,74,190,14,146,};
-static uint8_t chacha20_640[]={175,250,142,131,72,68,101,73,91,208,170,96,64,178,195,52,124,235,197,250,121,180,212,248,85,12,9,33,30,73,76,77,};
-static uint8_t chacha20_641[]={55,226,250,230,198,75,21,136,};
-static uint8_t chacha20_642[]={72,115,183,130,94,6,84,100,70,96,4,92,172,101,142,43,186,23,147,159,200,68,177,151,31,14,100,199,5,157,246,144,117,35,206,133,214,143,133,28,107,184,73,151,31,207,22,28,128,31,220,173,241,82,198,40,32,73,176,244,46,177,101,114,54,133,174,144,106,200,191,182,239,28,18,171,103,164,148,108,80,226,47,124,93,214,209,64,202,212,19,144,78,147,68,50,99,19,185,84,46,250,73,173,146,228,198,65,15,103,44,150,103,227,102,46,104,162,5,219,144,86,170,191,180,212,116,235,};
-static uint8_t chacha20_643[]={255,255,255,255,255,255,255,255,};
-static uint8_t chacha20_644[]={111,169,79,122,105,44,167,239,14,243,26,26,141,212,142,52,52,195,115,235,59,178,206,190,180,143,149,139,84,32,151,247,60,85,231,174,189,174,162,166,160,198,146,145,15,230,177,20,213,241,233,193,146,130,96,15,241,239,195,165,73,227,119,33,15,176,109,172,100,39,150,221,217,205,172,159,10,165,46,154,208,15,220,186,220,112,192,98,114,129,61,31,72,186,226,183,10,130,156,251,108,235,162,182,122,116,64,73,224,237,168,22,236,205,117,13,194,217,47,89,147,116,245,24,71,172,222,205,};
-static uint8_t chacha20_645[]={229,227,102,209,112,171,159,171,237,224,217,167,189,98,28,181,25,53,167,175,88,200,218,138,1,16,76,240,146,249,253,211,};
-static uint8_t chacha20_646[]={157,212,86,120,186,104,147,184,};
-static uint8_t chacha20_647[]={230,226,192,137,70,109,197,109,195,88,91,91,2,147,97,67,127,128,160,213,68,71,243,214,217,117,68,247,88,185,69,12,97,99,15,113,121,75,40,18,213,140,113,238,22,9,72,197,230,239,132,187,136,223,16,186,88,35,137,129,220,170,169,204,253,48,38,219,9,246,229,84,229,246,231,191,120,46,46,71,225,16,60,152,25,216,124,193,92,150,40,90,202,181,52,156,54,58,36,161,205,214,24,7,228,193,171,101,243,140,25,232,102,0,247,118,41,58,110,24,88,44,72,250,218,29,64,40,};
-static uint8_t chacha20_648[]={254,255,255,255,255,255,255,255,};
-static uint8_t chacha20_649[]={137,62,12,47,13,95,155,166,90,195,122,63,26,200,105,26,52,85,134,4,58,22,57,112,74,235,76,90,71,108,145,140,224,146,192,50,251,216,247,55,205,118,120,149,107,130,197,254,117,240,177,10,124,53,231,233,131,47,229,97,11,172,214,240,190,155,63,13,60,143,71,108,221,236,225,144,241,59,222,64,8,121,251,42,19,233,239,204,47,74,183,162,198,171,83,119,211,184,118,136,169,182,202,194,132,167,76,26,225,239,120,194,253,6,106,71,84,47,241,232,94,187,152,94,90,87,94,59,};
-static uint8_t chacha20_650[]={232,35,183,160,144,112,52,189,78,118,243,150,88,224,4,232,252,108,250,172,119,201,73,167,66,12,10,243,252,245,73,161,};
-static uint8_t chacha20_651[]={43,15,204,16,36,5,181,170,};
-static uint8_t chacha20_652[]={140,104,56,203,80,66,93,56,76,233,165,156,136,205,119,105,218,135,145,222,86,173,67,210,134,151,65,55,93,80,65,32,21,211,92,192,139,75,87,99,153,125,18,3,36,117,3,244,150,25,18,170,121,244,244,185,151,215,248,69,15,23,65,175,102,47,195,215,5,178,95,22,136,209,9,207,195,78,221,77,29,43,11,210,102,217,226,9,255,53,183,1,157,177,15,60,211,193,113,100,186,57,41,84,87,210,181,116,143,86,21,150,193,9,88,201,21,23,181,182,191,32,88,8,80,95,142,210,};
-static uint8_t chacha20_653[]={253,255,255,255,255,255,255,255,};
-static uint8_t chacha20_654[]={30,36,73,208,49,87,163,48,11,4,181,102,28,57,2,233,104,95,75,79,145,103,54,165,33,47,65,88,24,90,0,127,226,21,40,182,0,8,129,197,29,155,68,105,200,118,6,144,43,71,65,185,42,76,222,187,170,63,34,11,103,241,240,153,190,2,198,50,249,185,184,107,83,209,213,142,146,138,27,127,191,23,45,31,244,155,170,240,109,235,68,215,70,123,245,57,11,148,23,97,95,48,159,240,34,204,159,233,80,244,241,62,200,87,151,13,188,76,71,201,84,115,143,97,218,102,121,16,};
-static uint8_t chacha20_655[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_656[]={0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_657[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_658[]={0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_659[]={118,184,224,173,160,241,61,144,64,93,106,229,83,134,189,40,189,210,25,184,160,141,237,26,168,54,239,204,139,119,13,199,218,65,89,124,81,87,72,141,119,36,224,63,184,216,74,55,106,67,184,244,21,24,161,28,195,135,182,105,178,238,101,134,};
-static uint8_t chacha20_660[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,};
-static uint8_t chacha20_661[]={0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_662[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_663[]={0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_664[]={69,64,240,90,159,31,178,150,215,115,110,123,32,142,60,150,235,79,225,131,70,136,210,96,79,69,9,82,237,67,45,65,187,226,160,182,234,117,102,210,165,209,231,226,13,66,175,44,83,215,146,177,196,63,234,129,126,154,210,117,174,84,105,99,};
-static uint8_t chacha20_665[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_666[]={0,0,0,0,0,0,0,1,};
-static uint8_t chacha20_667[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_668[]={0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_669[]={222,156,186,123,243,214,158,245,231,134,220,99,151,63,101,58,11,73,224,21,173,191,247,19,79,203,125,241,55,130,16,49,232,90,5,2,120,167,8,69,39,33,79,115,239,199,250,91,82,119,6,46,183,160,67,62,68,95,65,227,};
-static uint8_t chacha20_670[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_671[]={1,0,0,0,0,0,0,0,};
-static uint8_t chacha20_672[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_673[]={0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_674[]={239,63,223,214,198,21,120,251,245,207,53,189,61,211,59,128,9,99,22,52,210,30,66,172,51,150,11,209,56,229,13,50,17,30,76,175,35,126,229,60,168,173,100,38,25,74,136,84,93,220,73,122,11,70,110,125,107,189,176,4,27,47,88,107,};
-static uint8_t chacha20_675[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,};
-static uint8_t chacha20_676[]={0,1,2,3,4,5,6,7,};
-static uint8_t chacha20_677[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_678[]={0,0,0,0,0,0,0,0,};
-static uint8_t chacha20_679[]={247,152,161,137,241,149,230,105,130,16,95,251,100,11,183,117,127,87,157,163,22,2,252,147,236,1,172,86,248,90,195,193,52,164,84,123,115,59,70,65,48,66,201,68,0,73,23,105,5,211,190,89,234,28,83,241,89,22,21,92,43,232,36,26,56,0,139,154,38,188,53,148,30,36,68,23,124,138,222,102,137,222,149,38,73,134,217,88,137,251,96,232,70,41,201,189,154,90,203,28,193,24,190,86,62,185,179,164,164,114,248,46,9,167,231,120,73,43,86,46,247,19,14,136,223,224,49,199,157,185,212,247,199,168,153,21,27,154,71,80,50,182,63,195,133,36,95,224,84,227,221,90,151,165,245,118,254,6,64,37,211,206,4,44,86,106,178,197,7,177,56,219,133,62,61,105,89,102,9,150,84,108,201,196,166,234,253,199,119,192,64,215,14,175,70,247,109,173,57,121,229,197,54,12,51,23,22,106,28,137,76,148,163,113,135,106,148,223,118,40,254,78,170,242,204,178,125,90,170,224,173,122,208,249,212,182,173,59,84,9,135,70,212,82,77,56,64,122,109,235,58,183,143,171,120,201,};
-static size_t nb_chacha20_vectors=680;
-static uint8_t *chacha20_vectors[]={chacha20_0,chacha20_1,0,chacha20_3,0,chacha20_5,chacha20_6,chacha20_7,chacha20_8,chacha20_9,chacha20_10,chacha20_11,chacha20_12,chacha20_13,chacha20_14,chacha20_15,chacha20_16,chacha20_17,chacha20_18,chacha20_19,chacha20_20,chacha20_21,chacha20_22,chacha20_23,chacha20_24,chacha20_25,chacha20_26,chacha20_27,chacha20_28,chacha20_29,chacha20_30,chacha20_31,chacha20_32,chacha20_33,chacha20_34,chacha20_35,chacha20_36,chacha20_37,chacha20_38,chacha20_39,chacha20_40,chacha20_41,chacha20_42,chacha20_43,chacha20_44,chacha20_45,chacha20_46,chacha20_47,chacha20_48,chacha20_49,chacha20_50,chacha20_51,chacha20_52,chacha20_53,chacha20_54,chacha20_55,chacha20_56,chacha20_57,chacha20_58,chacha20_59,chacha20_60,chacha20_61,chacha20_62,chacha20_63,chacha20_64,chacha20_65,chacha20_66,chacha20_67,chacha20_68,chacha20_69,chacha20_70,chacha20_71,chacha20_72,chacha20_73,chacha20_74,chacha20_75,chacha20_76,chacha20_77,chacha20_78,chacha20_79,chacha20_80,chacha20_81,chacha20_82,chacha20_83,chacha20_84,chacha20_85,chacha20_86,chacha20_87,chacha20_88,chacha20_89,chacha20_90,chacha20_91,chacha20_92,chacha20_93,chacha20_94,chacha20_95,chacha20_96,chacha20_97,chacha20_98,chacha20_99,chacha20_100,chacha20_101,chacha20_102,chacha20_103,chacha20_104,chacha20_105,chacha20_106,chacha20_107,chacha20_108,chacha20_109,chacha20_110,chacha20_111,chacha20_112,chacha20_113,chacha20_114,chacha20_115,chacha20_116,chacha20_117,chacha20_118,chacha20_119,chacha20_120,chacha20_121,chacha20_122,chacha20_123,chacha20_124,chacha20_125,chacha20_126,chacha20_127,chacha20_128,chacha20_129,chacha20_130,chacha20_131,chacha20_132,chacha20_133,chacha20_134,chacha20_135,chacha20_136,chacha20_137,chacha20_138,chacha20_139,chacha20_140,chacha20_141,chacha20_142,chacha20_143,chacha20_144,chacha20_145,chacha20_146,chacha20_147,chacha20_148,chacha20_149,chacha20_150,chacha20_151,chacha20_152,chacha20_153,chacha20_154,chacha20_155,chacha20_156,chacha20_157,chacha20_158,chacha20_159,chacha20_160,chacha20_161,chacha20_162,chacha20_163,chacha20_164,chacha20_165,chacha20_166,chacha20_167,chacha20_168,chacha20_169,chacha20_170,chacha20_171,chacha20_172,chacha20_173,chacha20_174,chacha20_175,chacha20_176,chacha20_177,chacha20_178,chacha20_179,chacha20_180,chacha20_181,chacha20_182,chacha20_183,chacha20_184,chacha20_185,chacha20_186,chacha20_187,chacha20_188,chacha20_189,chacha20_190,chacha20_191,chacha20_192,chacha20_193,chacha20_194,chacha20_195,chacha20_196,chacha20_197,chacha20_198,chacha20_199,chacha20_200,chacha20_201,chacha20_202,chacha20_203,chacha20_204,chacha20_205,chacha20_206,chacha20_207,chacha20_208,chacha20_209,chacha20_210,chacha20_211,chacha20_212,chacha20_213,chacha20_214,chacha20_215,chacha20_216,chacha20_217,chacha20_218,chacha20_219,chacha20_220,chacha20_221,chacha20_222,chacha20_223,chacha20_224,chacha20_225,chacha20_226,chacha20_227,chacha20_228,chacha20_229,chacha20_230,chacha20_231,chacha20_232,chacha20_233,chacha20_234,chacha20_235,chacha20_236,chacha20_237,chacha20_238,chacha20_239,chacha20_240,chacha20_241,chacha20_242,chacha20_243,chacha20_244,chacha20_245,chacha20_246,chacha20_247,chacha20_248,chacha20_249,chacha20_250,chacha20_251,chacha20_252,chacha20_253,chacha20_254,chacha20_255,chacha20_256,chacha20_257,chacha20_258,chacha20_259,chacha20_260,chacha20_261,chacha20_262,chacha20_263,chacha20_264,chacha20_265,chacha20_266,chacha20_267,chacha20_268,chacha20_269,chacha20_270,chacha20_271,chacha20_272,chacha20_273,chacha20_274,chacha20_275,chacha20_276,chacha20_277,chacha20_278,chacha20_279,chacha20_280,chacha20_281,chacha20_282,chacha20_283,chacha20_284,chacha20_285,chacha20_286,chacha20_287,chacha20_288,chacha20_289,chacha20_290,chacha20_291,chacha20_292,chacha20_293,chacha20_294,chacha20_295,chacha20_296,chacha20_297,chacha20_298,chacha20_299,chacha20_300,chacha20_301,chacha20_302,chacha20_303,chacha20_304,chacha20_305,chacha20_306,chacha20_307,chacha20_308,chacha20_309,chacha20_310,chacha20_311,chacha20_312,chacha20_313,chacha20_314,chacha20_315,chacha20_316,chacha20_317,chacha20_318,chacha20_319,chacha20_320,chacha20_321,chacha20_322,chacha20_323,chacha20_324,chacha20_325,chacha20_326,chacha20_327,chacha20_328,chacha20_329,chacha20_330,chacha20_331,chacha20_332,chacha20_333,chacha20_334,chacha20_335,chacha20_336,chacha20_337,chacha20_338,chacha20_339,chacha20_340,chacha20_341,chacha20_342,chacha20_343,chacha20_344,chacha20_345,chacha20_346,chacha20_347,chacha20_348,chacha20_349,chacha20_350,chacha20_351,chacha20_352,chacha20_353,chacha20_354,chacha20_355,chacha20_356,chacha20_357,chacha20_358,chacha20_359,chacha20_360,chacha20_361,chacha20_362,chacha20_363,chacha20_364,chacha20_365,chacha20_366,chacha20_367,chacha20_368,chacha20_369,chacha20_370,chacha20_371,chacha20_372,chacha20_373,chacha20_374,chacha20_375,chacha20_376,chacha20_377,chacha20_378,chacha20_379,chacha20_380,chacha20_381,chacha20_382,chacha20_383,chacha20_384,chacha20_385,chacha20_386,chacha20_387,chacha20_388,chacha20_389,chacha20_390,chacha20_391,chacha20_392,chacha20_393,chacha20_394,chacha20_395,chacha20_396,chacha20_397,chacha20_398,chacha20_399,chacha20_400,chacha20_401,chacha20_402,chacha20_403,chacha20_404,chacha20_405,chacha20_406,chacha20_407,chacha20_408,chacha20_409,chacha20_410,chacha20_411,chacha20_412,chacha20_413,chacha20_414,chacha20_415,chacha20_416,chacha20_417,chacha20_418,chacha20_419,chacha20_420,chacha20_421,chacha20_422,chacha20_423,chacha20_424,chacha20_425,chacha20_426,chacha20_427,chacha20_428,chacha20_429,chacha20_430,chacha20_431,chacha20_432,chacha20_433,chacha20_434,chacha20_435,chacha20_436,chacha20_437,chacha20_438,chacha20_439,chacha20_440,chacha20_441,chacha20_442,chacha20_443,chacha20_444,chacha20_445,chacha20_446,chacha20_447,chacha20_448,chacha20_449,chacha20_450,chacha20_451,chacha20_452,chacha20_453,chacha20_454,chacha20_455,chacha20_456,chacha20_457,chacha20_458,chacha20_459,chacha20_460,chacha20_461,chacha20_462,chacha20_463,chacha20_464,chacha20_465,chacha20_466,chacha20_467,chacha20_468,chacha20_469,chacha20_470,chacha20_471,chacha20_472,chacha20_473,chacha20_474,chacha20_475,chacha20_476,chacha20_477,chacha20_478,chacha20_479,chacha20_480,chacha20_481,chacha20_482,chacha20_483,chacha20_484,chacha20_485,chacha20_486,chacha20_487,chacha20_488,chacha20_489,chacha20_490,chacha20_491,chacha20_492,chacha20_493,chacha20_494,chacha20_495,chacha20_496,chacha20_497,chacha20_498,chacha20_499,chacha20_500,chacha20_501,chacha20_502,chacha20_503,chacha20_504,chacha20_505,chacha20_506,chacha20_507,chacha20_508,chacha20_509,chacha20_510,chacha20_511,chacha20_512,chacha20_513,chacha20_514,chacha20_515,chacha20_516,chacha20_517,chacha20_518,chacha20_519,chacha20_520,chacha20_521,chacha20_522,chacha20_523,chacha20_524,chacha20_525,chacha20_526,chacha20_527,chacha20_528,chacha20_529,chacha20_530,chacha20_531,chacha20_532,chacha20_533,chacha20_534,chacha20_535,chacha20_536,chacha20_537,chacha20_538,chacha20_539,chacha20_540,chacha20_541,chacha20_542,chacha20_543,chacha20_544,chacha20_545,chacha20_546,chacha20_547,chacha20_548,chacha20_549,chacha20_550,chacha20_551,chacha20_552,chacha20_553,chacha20_554,chacha20_555,chacha20_556,chacha20_557,chacha20_558,chacha20_559,chacha20_560,chacha20_561,chacha20_562,chacha20_563,chacha20_564,chacha20_565,chacha20_566,chacha20_567,chacha20_568,chacha20_569,chacha20_570,chacha20_571,chacha20_572,chacha20_573,chacha20_574,chacha20_575,chacha20_576,chacha20_577,chacha20_578,chacha20_579,chacha20_580,chacha20_581,chacha20_582,chacha20_583,chacha20_584,chacha20_585,chacha20_586,chacha20_587,chacha20_588,chacha20_589,chacha20_590,chacha20_591,chacha20_592,chacha20_593,chacha20_594,chacha20_595,chacha20_596,chacha20_597,chacha20_598,chacha20_599,chacha20_600,chacha20_601,chacha20_602,chacha20_603,chacha20_604,chacha20_605,chacha20_606,chacha20_607,chacha20_608,chacha20_609,chacha20_610,chacha20_611,chacha20_612,chacha20_613,chacha20_614,chacha20_615,chacha20_616,chacha20_617,chacha20_618,chacha20_619,chacha20_620,chacha20_621,chacha20_622,chacha20_623,chacha20_624,chacha20_625,chacha20_626,chacha20_627,chacha20_628,chacha20_629,chacha20_630,chacha20_631,chacha20_632,chacha20_633,chacha20_634,chacha20_635,chacha20_636,chacha20_637,chacha20_638,chacha20_639,chacha20_640,chacha20_641,chacha20_642,chacha20_643,chacha20_644,chacha20_645,chacha20_646,chacha20_647,chacha20_648,chacha20_649,chacha20_650,chacha20_651,chacha20_652,chacha20_653,chacha20_654,chacha20_655,chacha20_656,chacha20_657,chacha20_658,chacha20_659,chacha20_660,chacha20_661,chacha20_662,chacha20_663,chacha20_664,chacha20_665,chacha20_666,chacha20_667,chacha20_668,chacha20_669,chacha20_670,chacha20_671,chacha20_672,chacha20_673,chacha20_674,chacha20_675,chacha20_676,chacha20_677,chacha20_678,chacha20_679,};
-static size_t chacha20_sizes[]={32,8,0,8,0,32,8,1,8,1,32,8,2,8,2,32,8,3,8,3,32,8,4,8,4,32,8,5,8,5,32,8,6,8,6,32,8,7,8,7,32,8,8,8,8,32,8,9,8,9,32,8,10,8,10,32,8,11,8,11,32,8,12,8,12,32,8,13,8,13,32,8,14,8,14,32,8,15,8,15,32,8,16,8,16,32,8,17,8,17,32,8,18,8,18,32,8,19,8,19,32,8,20,8,20,32,8,21,8,21,32,8,22,8,22,32,8,23,8,23,32,8,24,8,24,32,8,25,8,25,32,8,26,8,26,32,8,27,8,27,32,8,28,8,28,32,8,29,8,29,32,8,30,8,30,32,8,31,8,31,32,8,32,8,32,32,8,33,8,33,32,8,34,8,34,32,8,35,8,35,32,8,36,8,36,32,8,37,8,37,32,8,38,8,38,32,8,39,8,39,32,8,40,8,40,32,8,41,8,41,32,8,42,8,42,32,8,43,8,43,32,8,44,8,44,32,8,45,8,45,32,8,46,8,46,32,8,47,8,47,32,8,48,8,48,32,8,49,8,49,32,8,50,8,50,32,8,51,8,51,32,8,52,8,52,32,8,53,8,53,32,8,54,8,54,32,8,55,8,55,32,8,56,8,56,32,8,57,8,57,32,8,58,8,58,32,8,59,8,59,32,8,60,8,60,32,8,61,8,61,32,8,62,8,62,32,8,63,8,63,32,8,64,8,64,32,8,65,8,65,32,8,66,8,66,32,8,67,8,67,32,8,68,8,68,32,8,69,8,69,32,8,70,8,70,32,8,71,8,71,32,8,72,8,72,32,8,73,8,73,32,8,74,8,74,32,8,75,8,75,32,8,76,8,76,32,8,77,8,77,32,8,78,8,78,32,8,79,8,79,32,8,80,8,80,32,8,81,8,81,32,8,82,8,82,32,8,83,8,83,32,8,84,8,84,32,8,85,8,85,32,8,86,8,86,32,8,87,8,87,32,8,88,8,88,32,8,89,8,89,32,8,90,8,90,32,8,91,8,91,32,8,92,8,92,32,8,93,8,93,32,8,94,8,94,32,8,95,8,95,32,8,96,8,96,32,8,97,8,97,32,8,98,8,98,32,8,99,8,99,32,8,100,8,100,32,8,101,8,101,32,8,102,8,102,32,8,103,8,103,32,8,104,8,104,32,8,105,8,105,32,8,106,8,106,32,8,107,8,107,32,8,108,8,108,32,8,109,8,109,32,8,110,8,110,32,8,111,8,111,32,8,112,8,112,32,8,113,8,113,32,8,114,8,114,32,8,115,8,115,32,8,116,8,116,32,8,117,8,117,32,8,118,8,118,32,8,119,8,119,32,8,120,8,120,32,8,121,8,121,32,8,122,8,122,32,8,123,8,123,32,8,124,8,124,32,8,125,8,125,32,8,126,8,126,32,8,127,8,127,32,8,128,8,128,32,8,128,8,128,32,8,128,8,128,32,8,64,8,64,32,8,64,8,64,32,8,60,8,60,32,8,64,8,64,32,8,256,8,256,};
-static uint8_t hchacha20_0[]={228,228,196,5,79,227,90,117,217,192,246,121,173,135,112,216,34,126,104,228,193,230,140,230,126,232,142,107,226,81,162,7,};
-static uint8_t hchacha20_1[]={72,179,117,60,255,58,109,153,1,99,230,182,13,161,228,229,};
-static uint8_t hchacha20_2[]={216,5,68,124,88,63,217,122,7,162,183,171,102,190,98,26,208,250,50,214,61,134,172,32,88,141,169,11,135,193,144,123,};
-static uint8_t hchacha20_3[]={214,162,223,120,193,108,150,165,45,79,176,30,164,236,247,14,129,172,0,27,8,214,87,123,217,28,233,145,196,196,92,70,};
-static uint8_t hchacha20_4[]={188,132,213,70,95,201,19,155,241,112,66,174,115,19,24,31,};
-static uint8_t hchacha20_5[]={102,209,253,94,137,165,100,181,92,207,12,51,148,85,68,156,32,223,188,157,23,8,28,133,251,180,48,161,87,119,123,233,};
-static uint8_t hchacha20_6[]={122,251,33,123,209,236,238,172,30,19,58,170,158,219,68,31,168,142,163,174,14,170,6,203,153,17,182,210,24,87,15,146,};
-static uint8_t hchacha20_7[]={74,112,167,233,146,180,62,11,24,87,142,137,46,149,76,64,};
-static uint8_t hchacha20_8[]={65,17,158,40,160,10,157,63,36,177,145,4,149,243,5,143,157,184,60,188,241,40,137,222,132,162,252,215,222,141,195,27,};
-static uint8_t hchacha20_9[]={165,26,189,181,168,93,48,12,50,243,145,196,93,110,244,219,4,61,220,244,33,79,36,234,110,246,177,129,7,31,41,154,};
-static uint8_t hchacha20_10[]={162,84,164,96,106,182,160,88,224,198,251,85,152,33,141,183,};
-static uint8_t hchacha20_11[]={4,194,243,31,220,199,1,58,199,209,14,200,46,141,54,40,201,171,35,176,139,191,149,214,215,122,210,222,199,232,101,214,};
-static uint8_t hchacha20_12[]={29,235,71,63,125,4,193,82,231,232,87,115,103,21,220,123,120,138,202,57,163,201,106,135,128,25,232,153,156,129,92,87,};
-static uint8_t hchacha20_13[]={35,219,251,222,5,230,199,31,17,138,252,13,237,181,185,248,};
-static uint8_t hchacha20_14[]={117,233,169,77,175,40,182,184,99,72,35,50,92,97,205,203,43,238,177,122,143,117,84,204,109,91,27,29,46,53,146,207,};
-static uint8_t hchacha20_15[]={222,163,152,178,215,100,188,166,141,252,2,58,152,33,147,157,56,158,56,160,114,207,27,65,59,177,81,124,63,232,58,190,};
-static uint8_t hchacha20_16[]={187,28,223,58,33,138,187,27,12,1,218,100,194,79,89,238,};
-static uint8_t hchacha20_17[]={101,162,9,147,232,230,157,228,29,56,233,76,7,150,203,123,172,205,109,128,166,228,8,78,101,208,213,116,251,203,115,17,};
-static uint8_t hchacha20_18[]={209,156,251,140,179,148,10,186,84,111,11,229,120,149,226,204,134,159,229,90,171,6,156,90,188,249,231,186,100,68,168,70,};
-static uint8_t hchacha20_19[]={229,215,63,28,140,83,118,193,34,15,243,217,213,62,235,101,};
-static uint8_t hchacha20_20[]={163,69,245,241,14,194,11,74,116,70,52,251,185,78,148,201,66,86,153,180,213,127,254,171,84,3,184,251,251,133,186,231,};
-static uint8_t hchacha20_21[]={204,83,89,159,64,214,200,52,140,53,59,0,23,38,85,35,108,221,205,24,121,202,31,4,179,95,145,173,171,112,184,31,};
-static uint8_t hchacha20_22[]={80,64,53,252,22,153,100,165,174,152,94,108,17,176,183,187,};
-static uint8_t hchacha20_23[]={17,221,165,109,206,136,201,38,65,23,126,42,110,33,177,28,92,167,148,145,43,59,206,185,204,179,117,200,123,204,121,104,};
-static uint8_t hchacha20_24[]={24,165,31,215,127,191,253,114,42,162,32,239,221,137,71,202,90,92,127,177,194,235,219,154,209,246,3,128,31,242,46,128,};
-static uint8_t hchacha20_25[]={49,79,113,106,249,194,32,34,250,21,157,187,75,77,49,83,};
-static uint8_t hchacha20_26[]={20,117,159,14,151,138,159,69,164,105,103,57,254,203,89,11,75,166,240,101,54,56,66,37,51,60,204,186,7,76,138,104,};
-static uint8_t hchacha20_27[]={249,153,178,10,180,118,158,177,208,28,5,124,82,149,237,4,43,69,54,86,29,206,50,71,139,17,58,219,91,96,92,172,};
-static uint8_t hchacha20_28[]={117,188,252,172,181,227,232,17,183,142,114,227,152,253,209,24,};
-static uint8_t hchacha20_29[]={86,78,182,178,172,43,146,39,10,247,192,176,84,204,122,114,19,19,228,237,54,81,176,151,13,185,223,205,253,162,114,32,};
-static uint8_t hchacha20_30[]={191,4,198,167,237,7,86,163,83,62,61,202,2,16,158,24,48,183,57,33,11,216,191,254,106,138,84,41,128,189,115,233,};
-static uint8_t hchacha20_31[]={202,67,205,212,235,113,115,71,104,98,223,109,36,88,214,199,};
-static uint8_t hchacha20_32[]={79,137,117,208,31,179,82,90,96,222,85,198,17,144,71,30,134,185,92,179,232,53,55,77,88,176,3,245,94,185,129,154,};
-static uint8_t hchacha20_33[]={71,57,160,173,33,105,185,200,158,221,116,225,111,188,236,199,72,194,93,195,56,4,31,195,74,240,241,189,162,14,175,63,};
-static uint8_t hchacha20_34[]={255,123,55,42,168,1,235,152,161,41,139,198,16,40,7,55,};
-static uint8_t hchacha20_35[]={6,204,222,65,209,13,100,102,133,153,39,191,201,164,118,219,200,64,100,131,142,199,33,38,28,181,72,193,139,209,76,103,};
-static uint8_t hchacha20_36[]={80,131,28,140,180,60,214,130,43,243,246,250,224,128,28,182,200,67,216,6,107,7,52,102,53,54,95,183,214,238,84,229,};
-static uint8_t hchacha20_37[]={201,205,111,5,215,107,43,212,202,236,141,128,181,130,53,203,};
-static uint8_t hchacha20_38[]={110,208,64,215,114,19,149,251,44,116,200,175,226,82,161,105,222,215,142,111,47,136,158,143,176,236,20,144,83,58,129,84,};
-static uint8_t hchacha20_39[]={66,104,84,58,176,235,134,90,148,140,197,181,246,227,31,5,248,20,107,217,73,90,204,69,157,109,32,0,5,238,114,195,};
-static uint8_t hchacha20_40[]={188,62,74,227,186,223,215,154,223,228,107,42,225,4,95,120,};
-static uint8_t hchacha20_41[]={25,184,57,166,211,66,76,242,165,45,48,30,112,231,108,183,115,104,207,159,96,148,91,244,60,228,198,87,174,177,209,87,};
-static uint8_t hchacha20_42[]={56,46,4,201,105,223,26,45,106,150,58,121,197,132,1,119,10,56,50,72,181,215,11,180,173,237,203,229,32,254,214,52,};
-static uint8_t hchacha20_43[]={245,19,184,194,234,106,179,127,230,51,186,115,2,165,219,108,};
-static uint8_t hchacha20_44[]={253,7,57,129,155,174,108,152,203,222,124,181,10,128,232,208,179,89,86,124,80,206,193,202,126,152,87,69,193,206,219,58,};
-static uint8_t hchacha20_45[]={42,162,9,226,68,120,250,27,214,246,255,171,233,133,85,224,52,52,44,190,192,115,100,197,77,30,64,126,40,46,240,142,};
-static uint8_t hchacha20_46[]={219,253,189,233,54,201,212,45,245,138,225,88,137,245,201,57,};
-static uint8_t hchacha20_47[]={245,4,123,170,10,207,154,96,52,21,160,155,100,38,141,119,113,42,233,2,199,52,144,233,197,61,181,147,118,87,38,219,};
-static uint8_t hchacha20_48[]={163,8,126,174,172,31,42,88,226,194,118,61,1,181,87,68,196,166,95,77,185,58,223,240,7,140,99,240,144,251,96,122,};
-static uint8_t hchacha20_49[]={144,200,125,239,214,34,229,245,89,119,135,124,236,158,216,131,};
-static uint8_t hchacha20_50[]={29,136,47,168,2,72,136,44,107,195,17,166,147,235,208,107,140,9,170,39,118,230,233,13,245,35,209,43,254,238,215,122,};
-static uint8_t hchacha20_51[]={18,176,65,18,40,84,12,214,221,230,232,76,210,218,89,177,135,29,177,25,227,41,142,60,18,254,130,0,164,126,221,240,};
-static uint8_t hchacha20_52[]={73,201,113,205,153,246,148,227,178,165,226,95,163,122,237,240,};
-static uint8_t hchacha20_53[]={105,187,131,204,183,188,77,234,246,12,254,22,140,177,31,173,66,87,34,44,53,35,194,208,137,34,86,74,192,251,116,210,};
-static uint8_t hchacha20_54[]={27,243,46,124,103,154,49,135,226,42,99,93,48,28,233,138,208,0,202,48,16,73,242,232,145,228,3,37,12,51,88,252,};
-static uint8_t hchacha20_55[]={32,48,178,39,187,150,233,59,136,244,25,175,233,249,214,96,};
-static uint8_t hchacha20_56[]={208,237,65,74,135,90,129,219,30,76,255,118,9,175,219,178,255,205,213,117,235,193,117,67,251,146,222,83,198,72,126,251,};
-static uint8_t hchacha20_57[]={224,19,118,18,40,5,30,197,168,240,192,147,179,63,198,14,44,215,169,200,69,67,78,149,212,49,157,121,209,189,170,143,};
-static uint8_t hchacha20_58[]={115,133,63,189,153,88,233,255,194,58,14,203,183,180,141,187,};
-static uint8_t hchacha20_59[]={227,246,198,218,108,3,0,16,61,102,93,216,119,168,182,46,35,177,54,27,243,175,91,188,35,16,80,33,49,214,155,232,};
-static uint8_t hchacha20_60[]={166,54,114,213,130,187,131,217,34,73,128,3,36,203,201,166,229,179,125,54,136,126,124,121,9,63,88,239,143,26,0,21,};
-static uint8_t hchacha20_61[]={133,50,27,254,225,113,66,96,221,97,48,204,118,141,32,177,};
-static uint8_t hchacha20_62[]={151,224,83,96,172,167,0,88,56,157,147,190,56,212,159,162,109,240,26,77,59,76,79,16,195,236,49,224,237,100,240,142,};
-static uint8_t hchacha20_63[]={77,56,80,240,238,192,248,243,73,17,14,117,28,22,205,181,237,5,81,109,241,116,121,147,125,148,44,144,235,31,177,129,};
-static uint8_t hchacha20_64[]={48,98,189,63,63,107,118,104,205,143,211,175,206,12,199,82,};
-static uint8_t hchacha20_65[]={119,81,49,149,84,43,42,177,87,203,46,104,112,197,177,186,20,58,132,35,173,39,106,100,21,42,185,35,198,245,76,6,};
-static uint8_t hchacha20_66[]={155,135,223,197,142,206,185,81,225,229,61,158,148,121,51,41,25,156,66,208,4,188,15,13,171,58,223,12,215,2,233,158,};
-static uint8_t hchacha20_67[]={250,94,246,229,157,59,32,22,128,248,226,213,164,239,127,35,};
-static uint8_t hchacha20_68[]={86,162,8,189,135,197,180,134,181,222,80,251,228,193,196,118,83,47,135,65,71,235,165,41,203,176,203,234,232,240,155,148,};
-static uint8_t hchacha20_69[]={241,182,168,225,2,103,10,56,41,169,149,174,35,251,195,165,99,158,2,140,210,181,247,27,185,12,122,30,74,138,5,1,};
-static uint8_t hchacha20_70[]={125,38,227,175,195,168,133,65,246,195,244,93,113,248,163,204,};
-static uint8_t hchacha20_71[]={160,33,64,5,127,136,158,122,179,107,74,80,102,227,118,223,242,72,209,59,216,7,44,56,78,35,189,143,228,191,112,71,};
-static uint8_t hchacha20_72[]={49,160,99,234,74,173,27,77,0,219,111,82,40,233,185,177,86,26,127,97,129,43,139,121,230,175,66,146,88,13,2,234,};
-static uint8_t hchacha20_73[]={79,98,102,208,66,68,48,51,4,81,2,114,227,131,234,165,};
-static uint8_t hchacha20_74[]={214,16,212,75,139,60,20,199,211,120,47,115,64,86,55,253,20,183,250,218,113,118,101,169,172,189,77,246,218,168,154,220,};
-static uint8_t hchacha20_75[]={26,142,167,9,154,116,186,250,51,117,178,16,101,58,13,47,64,177,90,253,114,92,245,6,80,102,190,28,184,3,220,21,};
-static uint8_t hchacha20_76[]={136,101,237,141,124,202,114,220,242,183,198,181,208,208,69,191,};
-static uint8_t hchacha20_77[]={241,12,206,41,97,151,160,86,190,219,238,22,97,131,173,106,170,86,189,178,28,52,89,41,108,165,76,11,183,131,23,209,};
-static uint8_t hchacha20_78[]={50,176,99,211,218,72,75,161,132,62,7,27,97,196,156,231,243,11,161,138,79,126,242,115,14,205,120,84,148,131,153,102,};
-static uint8_t hchacha20_79[]={245,147,22,142,23,49,25,19,117,60,89,89,63,198,108,182,};
-static uint8_t hchacha20_80[]={241,129,21,169,86,135,36,194,81,132,114,143,86,59,101,183,55,33,156,176,223,27,60,225,154,139,220,189,247,184,178,190,};
-static uint8_t hchacha20_81[]={100,193,87,34,81,19,47,194,139,243,127,216,233,111,35,39,207,121,72,161,18,111,211,113,117,169,31,72,61,107,58,217,};
-static uint8_t hchacha20_82[]={35,8,223,126,109,170,139,243,239,222,117,248,10,215,42,73,};
-static uint8_t hchacha20_83[]={6,162,76,185,10,190,148,207,62,232,228,41,216,25,123,196,43,199,105,251,232,17,25,21,98,116,249,105,42,160,23,162,};
-static uint8_t hchacha20_84[]={174,7,148,0,158,33,173,51,250,65,65,254,95,167,159,237,18,246,162,15,81,97,77,193,48,244,85,152,233,37,73,177,};
-static uint8_t hchacha20_85[]={19,237,97,133,114,69,7,231,250,90,126,138,117,178,199,163,};
-static uint8_t hchacha20_86[]={81,209,174,200,214,77,32,228,72,163,119,191,168,60,203,247,26,115,163,173,0,208,98,191,107,131,197,73,167,41,110,241,};
-static uint8_t hchacha20_87[]={173,112,9,25,243,106,70,234,15,250,104,8,87,227,1,136,248,160,60,124,75,108,17,188,57,174,206,206,194,102,135,35,};
-static uint8_t hchacha20_88[]={54,130,211,24,135,39,112,40,226,253,40,111,38,84,198,129,};
-static uint8_t hchacha20_89[]={162,70,16,169,73,104,223,45,201,209,151,205,11,197,92,171,8,201,218,189,68,76,14,252,210,164,127,211,112,22,56,46,};
-static uint8_t hchacha20_90[]={239,217,231,237,107,52,8,116,232,151,51,125,77,204,103,40,17,166,207,75,105,8,110,10,87,194,102,66,77,193,209,14,};
-static uint8_t hchacha20_91[]={203,175,12,130,44,206,158,79,23,177,158,14,206,57,193,128,};
-static uint8_t hchacha20_92[]={111,148,160,248,237,127,63,229,235,170,59,140,171,160,22,171,100,55,63,252,60,123,28,134,230,120,127,49,180,169,5,236,};
-static uint8_t hchacha20_93[]={164,199,86,192,60,25,144,2,128,255,108,222,190,81,116,213,7,198,224,134,12,56,195,83,113,118,197,137,101,183,74,86,};
-static uint8_t hchacha20_94[]={197,43,49,81,187,138,20,156,244,248,33,88,213,124,130,63,};
-static uint8_t hchacha20_95[]={80,234,61,79,106,69,228,160,98,178,217,102,230,60,172,81,224,147,223,182,171,157,246,209,107,177,9,188,23,123,10,56,};
-static uint8_t hchacha20_96[]={58,144,198,180,39,145,34,38,255,96,77,154,190,225,251,140,141,53,83,10,12,213,128,142,83,227,8,172,88,15,115,24,};
-static uint8_t hchacha20_97[]={254,42,178,164,147,59,93,144,219,113,138,163,68,15,190,155,};
-static uint8_t hchacha20_98[]={43,87,173,204,93,38,6,3,131,200,126,247,224,85,249,172,164,173,220,178,100,108,191,44,255,78,220,63,23,183,42,213,};
-static uint8_t hchacha20_99[]={161,127,9,113,98,25,189,255,201,58,24,158,65,10,106,62,100,119,251,176,92,124,53,149,108,60,12,95,52,35,85,250,};
-static uint8_t hchacha20_100[]={8,80,48,121,152,100,37,1,192,37,227,135,62,186,195,204,};
-static uint8_t hchacha20_101[]={211,165,140,73,233,254,30,207,46,202,22,159,77,65,49,205,226,114,121,5,61,86,45,4,41,160,142,199,1,170,163,158,};
-static uint8_t hchacha20_102[]={215,73,216,55,154,230,216,48,247,133,236,16,72,151,189,114,61,52,173,32,201,211,107,254,55,29,244,106,235,198,212,89,};
-static uint8_t hchacha20_103[]={93,73,10,119,11,238,77,208,190,106,90,11,94,149,100,92,};
-static uint8_t hchacha20_104[]={194,120,192,7,155,214,86,241,218,223,61,236,105,47,25,242,83,57,198,85,117,66,24,23,22,210,164,19,121,116,11,242,};
-static uint8_t hchacha20_105[]={125,203,192,60,39,1,13,243,50,15,231,91,10,62,204,137,131,173,148,33,126,128,52,143,208,243,245,78,84,185,91,181,};
-static uint8_t hchacha20_106[]={72,220,34,37,162,100,68,55,50,180,27,134,21,144,53,141,};
-static uint8_t hchacha20_107[]={178,68,196,8,199,79,61,203,139,203,114,248,52,160,84,197,84,237,173,3,99,215,97,132,112,3,218,176,3,172,104,72,};
-static uint8_t hchacha20_108[]={84,56,148,0,107,115,243,215,15,192,75,21,208,194,165,223,166,80,190,80,68,251,80,97,129,27,134,107,231,249,214,35,};
-static uint8_t hchacha20_109[]={252,176,119,238,25,66,22,16,174,178,99,197,127,174,240,6,};
-static uint8_t hchacha20_110[]={251,32,234,23,124,183,34,92,135,18,47,40,93,146,250,240,194,3,62,36,151,87,95,116,80,82,85,182,211,223,203,150,};
-static uint8_t hchacha20_111[]={98,212,36,192,122,122,165,0,80,104,178,98,37,28,6,103,164,226,228,177,47,93,247,245,9,86,69,23,136,126,55,11,};
-static uint8_t hchacha20_112[]={66,95,171,171,28,233,231,51,171,41,17,180,32,116,65,78,};
-static uint8_t hchacha20_113[]={58,94,181,85,44,221,38,124,5,193,228,254,147,108,232,240,234,247,39,159,243,40,237,154,66,214,216,63,123,48,65,108,};
-static uint8_t hchacha20_114[]={56,125,114,71,250,80,85,72,155,189,75,125,77,226,86,222,114,53,102,193,194,211,236,238,140,16,231,217,130,51,219,239,};
-static uint8_t hchacha20_115[]={144,73,73,81,236,145,168,67,246,112,31,130,22,167,50,107,};
-static uint8_t hchacha20_116[]={140,75,198,10,30,5,0,78,201,58,239,74,225,98,174,255,67,214,121,234,27,160,72,115,156,112,13,106,22,139,198,204,};
-static uint8_t hchacha20_117[]={36,31,213,127,50,224,153,118,222,64,84,121,123,154,238,130,14,13,227,129,208,40,82,172,19,245,17,145,130,103,183,3,};
-static uint8_t hchacha20_118[]={115,48,230,11,161,197,135,90,2,117,248,204,199,92,190,152,};
-static uint8_t hchacha20_119[]={158,114,76,91,3,33,226,82,130,120,165,1,16,143,26,232,161,77,255,174,169,182,177,56,234,206,243,189,141,77,218,65,};
-static uint8_t hchacha20_120[]={124,18,69,126,181,97,79,135,241,253,196,1,24,144,109,2,198,2,5,157,72,174,5,174,98,211,214,7,214,191,99,198,};
-static uint8_t hchacha20_121[]={118,11,128,36,131,176,227,170,169,221,79,121,198,197,233,62,};
-static uint8_t hchacha20_122[]={229,184,111,118,251,193,244,136,196,78,77,127,48,71,54,183,82,171,108,251,153,252,246,145,6,104,238,239,164,182,124,42,};
-static uint8_t hchacha20_123[]={107,81,218,69,1,140,107,222,16,143,129,249,171,250,35,100,11,131,207,227,254,211,75,207,102,64,191,11,175,100,125,175,};
-static uint8_t hchacha20_124[]={233,188,153,172,238,151,43,90,21,46,250,62,105,229,15,52,};
-static uint8_t hchacha20_125[]={16,50,181,213,57,177,200,205,110,11,233,109,180,67,160,143,199,89,190,168,152,131,132,67,92,3,181,240,11,110,72,95,};
-static uint8_t hchacha20_126[]={59,193,40,135,254,200,231,13,183,59,75,72,220,229,100,216,55,134,172,164,198,183,226,36,22,62,169,40,119,31,222,55,};
-static uint8_t hchacha20_127[]={120,196,83,179,93,152,222,206,216,18,252,86,133,132,53,101,};
-static uint8_t hchacha20_128[]={34,121,176,99,218,180,199,58,150,171,224,33,117,230,148,102,44,101,208,158,181,136,146,52,41,60,122,31,41,17,225,61,};
-static uint8_t hchacha20_129[]={183,61,9,118,1,211,85,130,120,189,157,115,39,222,95,218,162,184,66,5,11,55,14,131,126,248,17,164,150,22,157,95,};
-static uint8_t hchacha20_130[]={247,104,135,135,102,192,140,69,86,31,220,42,173,100,105,193,};
-static uint8_t hchacha20_131[]={168,232,90,106,182,39,240,138,212,21,100,154,156,249,153,143,75,16,101,3,15,60,132,78,49,200,24,80,54,175,117,88,};
-static uint8_t hchacha20_132[]={19,128,195,211,248,115,199,35,60,84,30,164,196,56,36,236,216,191,126,17,172,132,134,32,143,182,133,33,141,70,115,110,};
-static uint8_t hchacha20_133[]={81,16,61,31,174,14,142,54,143,37,72,14,231,50,131,129,};
-static uint8_t hchacha20_134[]={155,132,229,8,4,68,155,89,74,84,36,7,65,226,29,117,211,16,80,210,97,47,76,188,101,31,234,47,37,189,156,31,};
-static uint8_t hchacha20_135[]={194,248,178,82,161,138,41,196,77,191,187,98,203,230,195,223,212,219,85,55,135,52,216,17,11,143,32,241,209,173,166,221,};
-static uint8_t hchacha20_136[]={212,218,72,251,9,192,101,128,235,70,187,197,202,98,191,171,};
-static uint8_t hchacha20_137[]={49,92,63,225,0,158,67,135,98,167,47,39,231,166,139,140,203,44,11,96,191,121,203,110,72,18,61,176,196,45,74,235,};
-static uint8_t hchacha20_138[]={64,177,132,39,27,115,183,16,212,12,182,52,53,4,44,155,82,109,30,92,58,119,191,197,22,162,188,180,204,39,236,174,};
-static uint8_t hchacha20_139[]={179,69,19,24,89,12,132,227,17,221,30,135,111,82,125,129,};
-static uint8_t hchacha20_140[]={203,189,227,163,65,37,4,193,246,132,170,39,62,230,145,21,158,220,159,68,227,6,54,2,120,214,61,78,226,241,250,164,};
-static uint8_t hchacha20_141[]={236,129,223,6,199,228,38,183,41,174,187,2,190,48,200,70,235,34,132,144,223,74,14,108,104,138,170,166,191,5,209,68,};
-static uint8_t hchacha20_142[]={40,51,95,38,82,146,107,253,254,50,223,215,137,23,59,168,};
-static uint8_t hchacha20_143[]={82,43,82,46,76,249,170,30,128,18,106,68,110,215,185,102,90,243,231,129,163,213,175,220,228,58,95,224,205,189,67,81,};
-static uint8_t hchacha20_144[]={96,250,1,20,128,46,227,51,215,196,156,202,173,129,8,219,71,12,136,37,20,113,101,146,229,122,186,38,187,117,4,155,};
-static uint8_t hchacha20_145[]={117,219,8,139,209,168,156,106,103,251,118,185,108,152,116,120,};
-static uint8_t hchacha20_146[]={224,4,204,18,223,219,116,38,142,89,149,131,133,226,161,198,255,49,227,22,100,131,137,113,98,159,91,191,136,244,237,81,};
-static uint8_t hchacha20_147[]={191,186,36,73,166,7,243,204,161,201,17,211,183,217,203,151,43,205,132,176,36,97,137,199,130,0,50,224,49,148,159,30,};
-static uint8_t hchacha20_148[]={151,232,173,94,181,167,92,200,5,144,8,80,150,157,228,142,};
-static uint8_t hchacha20_149[]={25,250,235,251,185,84,85,47,207,191,155,145,242,113,201,57,122,21,198,65,115,60,57,74,156,183,49,194,134,198,134,69,};
-static size_t nb_hchacha20_vectors=150;
-static uint8_t *hchacha20_vectors[]={hchacha20_0,hchacha20_1,hchacha20_2,hchacha20_3,hchacha20_4,hchacha20_5,hchacha20_6,hchacha20_7,hchacha20_8,hchacha20_9,hchacha20_10,hchacha20_11,hchacha20_12,hchacha20_13,hchacha20_14,hchacha20_15,hchacha20_16,hchacha20_17,hchacha20_18,hchacha20_19,hchacha20_20,hchacha20_21,hchacha20_22,hchacha20_23,hchacha20_24,hchacha20_25,hchacha20_26,hchacha20_27,hchacha20_28,hchacha20_29,hchacha20_30,hchacha20_31,hchacha20_32,hchacha20_33,hchacha20_34,hchacha20_35,hchacha20_36,hchacha20_37,hchacha20_38,hchacha20_39,hchacha20_40,hchacha20_41,hchacha20_42,hchacha20_43,hchacha20_44,hchacha20_45,hchacha20_46,hchacha20_47,hchacha20_48,hchacha20_49,hchacha20_50,hchacha20_51,hchacha20_52,hchacha20_53,hchacha20_54,hchacha20_55,hchacha20_56,hchacha20_57,hchacha20_58,hchacha20_59,hchacha20_60,hchacha20_61,hchacha20_62,hchacha20_63,hchacha20_64,hchacha20_65,hchacha20_66,hchacha20_67,hchacha20_68,hchacha20_69,hchacha20_70,hchacha20_71,hchacha20_72,hchacha20_73,hchacha20_74,hchacha20_75,hchacha20_76,hchacha20_77,hchacha20_78,hchacha20_79,hchacha20_80,hchacha20_81,hchacha20_82,hchacha20_83,hchacha20_84,hchacha20_85,hchacha20_86,hchacha20_87,hchacha20_88,hchacha20_89,hchacha20_90,hchacha20_91,hchacha20_92,hchacha20_93,hchacha20_94,hchacha20_95,hchacha20_96,hchacha20_97,hchacha20_98,hchacha20_99,hchacha20_100,hchacha20_101,hchacha20_102,hchacha20_103,hchacha20_104,hchacha20_105,hchacha20_106,hchacha20_107,hchacha20_108,hchacha20_109,hchacha20_110,hchacha20_111,hchacha20_112,hchacha20_113,hchacha20_114,hchacha20_115,hchacha20_116,hchacha20_117,hchacha20_118,hchacha20_119,hchacha20_120,hchacha20_121,hchacha20_122,hchacha20_123,hchacha20_124,hchacha20_125,hchacha20_126,hchacha20_127,hchacha20_128,hchacha20_129,hchacha20_130,hchacha20_131,hchacha20_132,hchacha20_133,hchacha20_134,hchacha20_135,hchacha20_136,hchacha20_137,hchacha20_138,hchacha20_139,hchacha20_140,hchacha20_141,hchacha20_142,hchacha20_143,hchacha20_144,hchacha20_145,hchacha20_146,hchacha20_147,hchacha20_148,hchacha20_149,};
-static size_t hchacha20_sizes[]={32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,32,16,32,};
-static uint8_t xchacha20_0[]={228,196,5,79,227,90,117,217,192,246,121,173,135,112,216,34,126,104,228,193,230,140,230,126,232,142,107,226,81,162,7,72,};
-static uint8_t xchacha20_1[]={179,117,60,255,58,109,153,1,99,230,182,13,161,228,229,214,162,223,120,193,108,150,165,45,};
-static uint8_t xchacha20_3[]={228,181,239,201,50,251,87,152,};
-static uint8_t xchacha20_5[]={251,85,152,33,141,183,29,235,71,63,125,4,193,82,231,232,87,115,103,21,220,123,120,138,202,57,163,201,106,135,128,25,};
-static uint8_t xchacha20_6[]={232,153,156,129,92,87,35,219,251,222,5,230,199,31,17,138,252,13,237,181,185,248,222,163,};
-static uint8_t xchacha20_7[]={152,};
-static uint8_t xchacha20_8[]={198,248,161,37,31,154,217,148,};
-static uint8_t xchacha20_9[]={206,};
-static uint8_t xchacha20_10[]={252,22,153,100,165,174,152,94,108,17,176,183,187,24,165,31,215,127,191,253,114,42,162,32,239,221,137,71,202,90,92,127,};
-static uint8_t xchacha20_11[]={177,194,235,219,154,209,246,3,128,31,242,46,128,49,79,113,106,249,194,32,34,250,21,157,};
-static uint8_t xchacha20_12[]={187,75,};
-static uint8_t xchacha20_13[]={53,100,28,103,3,26,16,254,};
-static uint8_t xchacha20_14[]={223,217,};
-static uint8_t xchacha20_15[]={162,14,175,63,255,123,55,42,168,1,235,152,161,41,139,198,16,40,7,55,80,131,28,140,180,60,214,130,43,243,246,250,};
-static uint8_t xchacha20_16[]={224,128,28,182,200,67,216,6,107,7,52,102,53,54,95,183,214,238,84,229,201,205,111,5,};
-static uint8_t xchacha20_17[]={215,107,43,};
-static uint8_t xchacha20_18[]={189,224,226,20,156,193,249,14,};
-static uint8_t xchacha20_19[]={249,10,180,};
-static uint8_t xchacha20_20[]={115,100,197,77,30,64,126,40,46,240,142,219,253,189,233,54,201,212,45,245,138,225,88,137,245,201,57,163,8,126,174,172,};
-static uint8_t xchacha20_21[]={31,42,88,226,194,118,61,1,181,87,68,196,166,95,77,185,58,223,240,7,140,99,240,144,};
-static uint8_t xchacha20_22[]={251,96,122,144,};
-static uint8_t xchacha20_23[]={192,163,86,201,215,218,41,40,};
-static uint8_t xchacha20_24[]={31,160,220,56,};
-static uint8_t xchacha20_25[]={198,14,44,215,169,200,69,67,78,149,212,49,157,121,209,189,170,143,115,133,63,189,153,88,233,255,194,58,14,203,183,180,};
-static uint8_t xchacha20_26[]={141,187,166,54,114,213,130,187,131,217,34,73,128,3,36,203,201,166,229,179,125,54,136,126,};
-static uint8_t xchacha20_27[]={124,121,9,63,88,};
-static uint8_t xchacha20_28[]={63,33,175,236,78,61,244,164,};
-static uint8_t xchacha20_29[]={82,78,189,61,137,};
-static uint8_t xchacha20_30[]={56,41,169,149,174,35,251,195,165,99,158,2,140,210,181,247,27,185,12,122,30,74,138,5,1,125,38,227,175,195,168,133,};
-static uint8_t xchacha20_31[]={65,246,195,244,93,113,248,163,204,49,160,99,234,74,173,27,77,0,219,111,82,40,233,185,};
-static uint8_t xchacha20_32[]={177,86,26,127,97,129,};
-static uint8_t xchacha20_33[]={10,254,85,83,133,212,208,150,};
-static uint8_t xchacha20_34[]={90,92,246,29,222,252,};
-static uint8_t xchacha20_35[]={100,193,87,34,81,19,47,194,139,243,127,216,233,111,35,39,207,121,72,161,18,111,211,113,117,169,31,72,61,107,58,217,};
-static uint8_t xchacha20_36[]={35,8,223,126,109,170,139,243,239,222,117,248,10,215,42,73,174,7,148,0,158,33,173,51,};
-static uint8_t xchacha20_37[]={250,65,65,254,95,167,159,};
-static uint8_t xchacha20_38[]={182,24,176,50,91,92,55,168,};
-static uint8_t xchacha20_39[]={76,157,199,104,87,138,146,};
-static uint8_t xchacha20_40[]={177,158,14,206,57,193,128,164,199,86,192,60,25,144,2,128,255,108,222,190,81,116,213,7,198,224,134,12,56,195,83,113,};
-static uint8_t xchacha20_41[]={118,197,137,101,183,74,86,197,43,49,81,187,138,20,156,244,248,33,88,213,124,130,63,58,};
-static uint8_t xchacha20_42[]={144,198,180,39,145,34,38,255,};
-static uint8_t xchacha20_43[]={23,19,248,80,98,133,27,223,};
-static uint8_t xchacha20_44[]={101,150,79,228,236,88,234,137,};
-static uint8_t xchacha20_45[]={10,119,11,238,77,208,190,106,90,11,94,149,100,92,125,203,192,60,39,1,13,243,50,15,231,91,10,62,204,137,131,173,};
-static uint8_t xchacha20_46[]={148,33,126,128,52,143,208,243,245,78,84,185,91,181,72,220,34,37,162,100,68,55,50,180,};
-static uint8_t xchacha20_47[]={27,134,21,144,53,141,84,56,148,};
-static uint8_t xchacha20_48[]={73,238,224,67,237,25,185,75,};
-static uint8_t xchacha20_49[]={22,82,148,119,170,50,10,21,8,};
-static uint8_t xchacha20_50[]={217,130,51,219,239,144,73,73,81,236,145,168,67,246,112,31,130,22,167,50,107,36,31,213,127,50,224,153,118,222,64,84,};
-static uint8_t xchacha20_51[]={121,123,154,238,130,14,13,227,129,208,40,82,172,19,245,17,145,130,103,183,3,115,48,230,};
-static uint8_t xchacha20_52[]={11,161,197,135,90,2,117,248,204,199,};
-static uint8_t xchacha20_53[]={231,254,77,165,52,138,251,28,};
-static uint8_t xchacha20_54[]={56,229,12,117,135,49,122,218,169,162,};
-static uint8_t xchacha20_55[]={198,183,226,36,22,62,169,40,119,31,222,55,120,196,83,179,93,152,222,206,216,18,252,86,133,132,53,101,183,61,9,118,};
-static uint8_t xchacha20_56[]={1,211,85,130,120,189,157,115,39,222,95,218,162,184,66,5,11,55,14,131,126,248,17,164,};
-static uint8_t xchacha20_57[]={150,22,157,95,247,104,135,135,102,192,140,};
-static uint8_t xchacha20_58[]={164,45,252,161,253,10,154,192,};
-static uint8_t xchacha20_59[]={185,163,128,95,160,143,187,148,131,114,234,};
-static uint8_t xchacha20_60[]={4,44,155,82,109,30,92,58,119,191,197,22,162,188,180,204,39,236,174,179,69,19,24,89,12,132,227,17,221,30,135,111,};
-static uint8_t xchacha20_61[]={82,125,129,236,129,223,6,199,228,38,183,41,174,187,2,190,48,200,70,235,34,132,144,223,};
-static uint8_t xchacha20_62[]={74,14,108,104,138,170,166,191,5,209,68,40,};
-static uint8_t xchacha20_63[]={53,59,181,125,32,187,38,159,};
-static uint8_t xchacha20_64[]={52,40,238,59,139,70,98,73,131,244,202,16,};
-static uint8_t xchacha20_65[]={13,103,72,45,28,111,154,34,69,11,255,2,129,75,134,38,168,149,52,73,92,59,195,200,137,122,9,111,188,47,158,80,};
-static uint8_t xchacha20_66[]={253,167,142,227,200,176,251,96,35,26,229,107,211,150,147,177,216,185,65,166,121,48,55,78,};
-static uint8_t xchacha20_67[]={21,240,1,238,53,177,10,193,239,160,104,85,239,};
-static uint8_t xchacha20_68[]={94,166,148,63,246,135,60,223,};
-static uint8_t xchacha20_69[]={97,222,91,229,51,243,123,107,218,59,247,235,226,};
-static uint8_t xchacha20_70[]={120,152,73,252,174,129,97,53,248,255,124,131,21,106,54,174,189,216,177,27,103,158,19,37,101,152,144,135,13,166,91,212,};
-static uint8_t xchacha20_71[]={199,144,206,183,53,28,223,41,219,218,62,104,194,214,76,4,199,218,115,64,253,98,46,107,};
-static uint8_t xchacha20_72[]={225,75,209,13,64,3,184,207,126,149,107,200,71,207,};
-static uint8_t xchacha20_73[]={36,237,51,198,107,47,105,6,};
-static uint8_t xchacha20_74[]={240,248,21,137,243,180,226,129,97,79,194,243,41,229,};
-static uint8_t xchacha20_75[]={252,154,226,246,27,243,206,116,83,175,173,232,155,43,170,214,189,40,140,37,170,239,230,49,193,81,202,59,86,188,183,16,};
-static uint8_t xchacha20_76[]={177,24,120,78,101,161,241,209,150,74,249,162,79,83,227,188,254,119,146,65,89,30,44,56,};
-static uint8_t xchacha20_77[]={91,227,181,121,120,12,92,192,196,144,188,46,217,240,110,};
-static uint8_t xchacha20_78[]={225,238,113,134,126,177,131,37,};
-static uint8_t xchacha20_79[]={210,86,22,31,86,221,34,83,122,247,6,7,60,152,99,};
-static uint8_t xchacha20_80[]={38,143,97,184,158,224,20,168,131,177,68,15,168,129,133,164,26,177,93,35,64,37,212,163,142,89,138,126,204,168,38,94,};
-static uint8_t xchacha20_81[]={254,145,140,223,30,119,92,213,246,246,245,44,177,109,150,49,44,33,11,79,188,180,73,155,};
-static uint8_t xchacha20_82[]={54,134,247,56,33,17,121,149,155,47,55,54,204,197,146,75,};
-static uint8_t xchacha20_83[]={12,144,189,92,217,70,255,145,};
-static uint8_t xchacha20_84[]={58,131,223,13,81,79,41,182,100,213,126,54,48,92,224,202,};
-static uint8_t xchacha20_85[]={193,124,75,218,203,52,17,101,30,64,136,222,201,5,37,26,233,60,137,152,96,6,29,52,13,160,46,81,154,37,78,16,};
-static uint8_t xchacha20_86[]={149,146,202,174,131,212,106,173,93,212,51,142,3,79,6,96,105,62,169,230,145,78,92,216,};
-static uint8_t xchacha20_87[]={144,177,101,239,4,69,211,183,80,85,38,27,226,121,247,6,231,};
-static uint8_t xchacha20_88[]={251,88,6,72,85,235,25,158,};
-static uint8_t xchacha20_89[]={92,181,68,208,141,34,104,2,164,93,204,19,19,64,4,156,178,};
-static uint8_t xchacha20_90[]={30,90,240,124,62,92,71,161,104,231,154,244,143,50,219,158,3,9,8,245,165,232,247,232,64,18,41,142,82,253,61,214,};
-static uint8_t xchacha20_91[]={113,118,146,250,241,108,79,153,231,13,51,14,187,234,138,186,36,185,10,216,235,77,229,128,};
-static uint8_t xchacha20_92[]={163,139,253,157,239,229,247,246,3,248,29,132,154,150,127,91,113,67,};
-static uint8_t xchacha20_93[]={137,13,23,255,69,237,245,195,};
-static uint8_t xchacha20_94[]={23,114,228,1,153,120,119,160,117,249,63,212,78,25,144,107,148,169,};
-static uint8_t xchacha20_95[]={154,186,163,24,181,240,198,149,104,101,102,97,251,205,59,202,64,178,44,101,116,168,196,79,247,155,116,48,24,96,247,230,};
-static uint8_t xchacha20_96[]={240,8,143,204,152,33,19,35,237,109,30,15,227,32,79,59,168,53,155,38,26,163,44,228,};
-static uint8_t xchacha20_97[]={4,177,72,160,80,60,100,212,95,98,56,130,150,252,233,33,3,34,137,};
-static uint8_t xchacha20_98[]={112,197,52,89,83,243,242,79,};
-static uint8_t xchacha20_99[]={99,231,247,123,1,30,136,128,115,9,19,87,71,57,87,225,43,82,114,};
-static uint8_t xchacha20_100[]={113,119,1,155,114,220,190,152,210,161,40,11,250,255,190,251,174,52,130,239,92,20,244,49,247,127,62,67,148,91,192,239,};
-static uint8_t xchacha20_101[]={173,188,13,217,220,70,134,193,52,137,79,76,149,18,58,192,229,182,216,107,51,206,116,82,};
-static uint8_t xchacha20_102[]={56,85,188,214,13,132,69,163,224,22,113,156,225,1,210,67,173,33,121,76,};
-static uint8_t xchacha20_103[]={91,1,170,14,43,0,82,70,};
-static uint8_t xchacha20_104[]={226,183,168,229,228,234,48,25,248,104,16,234,106,129,111,114,192,77,48,95,};
-static uint8_t xchacha20_105[]={152,244,6,86,248,174,231,234,230,185,7,208,145,117,173,19,203,134,210,232,248,238,145,186,234,121,46,127,27,95,52,223,};
-static uint8_t xchacha20_106[]={29,206,72,220,193,79,185,165,156,63,219,222,76,123,94,19,115,45,12,80,213,67,46,141,};
-static uint8_t xchacha20_107[]={4,51,98,123,74,71,220,124,229,194,105,55,67,104,16,87,29,188,100,204,21,};
-static uint8_t xchacha20_108[]={113,63,180,169,76,110,175,219,};
-static uint8_t xchacha20_109[]={6,230,97,134,148,185,39,41,20,234,177,1,212,49,56,216,246,34,171,188,83,};
-static uint8_t xchacha20_110[]={89,137,191,88,31,114,238,10,19,113,143,17,201,134,107,10,214,52,97,157,0,40,143,253,199,158,125,2,172,146,179,7,};
-static uint8_t xchacha20_111[]={232,233,19,129,154,250,26,214,213,242,70,166,249,205,38,46,117,50,129,41,245,179,119,207,};
-static uint8_t xchacha20_112[]={239,169,99,205,18,129,188,198,234,166,163,112,139,111,213,239,72,23,100,152,8,70,};
-static uint8_t xchacha20_113[]={134,4,253,98,61,136,62,74,};
-static uint8_t xchacha20_114[]={200,148,215,148,93,147,68,194,73,127,6,108,84,65,179,15,66,40,20,112,26,7,};
-static uint8_t xchacha20_115[]={27,54,29,234,205,164,241,59,71,81,128,212,48,210,157,127,247,189,106,20,148,111,52,93,128,3,170,239,29,170,239,79,};
-static uint8_t xchacha20_116[]={224,174,28,243,213,218,138,100,219,128,245,219,25,10,166,139,203,178,238,246,74,174,118,163,};
-static uint8_t xchacha20_117[]={88,216,74,175,228,201,109,103,109,12,136,6,184,185,138,180,245,223,235,201,7,176,12,};
-static uint8_t xchacha20_118[]={184,22,11,180,150,214,96,254,};
-static uint8_t xchacha20_119[]={64,84,213,122,239,143,243,143,117,93,106,117,14,247,67,83,1,250,137,109,223,152,252,};
-static uint8_t xchacha20_120[]={94,224,235,191,164,66,216,179,9,198,157,244,140,106,224,137,244,84,247,209,165,44,168,183,35,42,169,157,21,169,131,64,};
-static uint8_t xchacha20_121[]={75,212,74,74,165,139,130,72,251,202,50,236,117,138,59,9,235,210,161,158,109,145,174,86,};
-static uint8_t xchacha20_122[]={171,189,122,176,141,123,153,152,224,82,76,14,226,250,59,212,91,43,5,182,252,16,200,189,};
-static uint8_t xchacha20_123[]={135,173,249,117,255,101,171,229,};
-static uint8_t xchacha20_124[]={148,58,133,137,229,83,218,177,169,142,144,15,189,148,19,134,197,7,45,80,15,76,218,89,};
-static uint8_t xchacha20_125[]={110,71,170,58,181,73,250,196,48,12,33,72,114,91,87,21,11,129,212,48,185,92,138,253,183,180,191,136,151,46,180,199,};
-static uint8_t xchacha20_126[]={114,29,73,133,220,212,109,144,29,72,159,111,41,49,22,206,82,104,112,202,110,87,189,176,};
-static uint8_t xchacha20_127[]={247,53,53,161,79,155,243,200,13,33,35,163,218,244,143,112,180,67,50,142,25,170,26,143,146,};
-static uint8_t xchacha20_128[]={63,166,215,141,84,75,18,211,};
-static uint8_t xchacha20_129[]={126,242,10,149,151,57,75,111,31,139,146,250,187,38,136,130,250,102,32,81,161,97,51,157,137,};
-static uint8_t xchacha20_130[]={37,93,206,240,18,74,82,16,173,144,126,175,142,119,186,216,13,108,21,240,204,173,50,199,76,195,141,33,242,22,189,146,};
-static uint8_t xchacha20_131[]={93,50,67,127,6,228,25,155,87,96,124,8,90,133,125,52,189,23,9,232,207,220,206,151,};
-static uint8_t xchacha20_132[]={38,192,55,248,151,7,18,160,173,173,170,76,17,70,0,194,51,169,196,183,60,233,225,149,36,54,};
-static uint8_t xchacha20_133[]={10,84,171,195,135,103,228,108,};
-static uint8_t xchacha20_134[]={74,170,202,201,193,168,5,124,135,13,212,221,77,11,175,43,138,115,112,49,27,177,30,231,133,157,};
-static uint8_t xchacha20_135[]={178,193,73,65,182,71,94,216,164,220,3,111,241,180,105,11,220,108,1,177,49,116,98,139,77,204,255,60,88,55,30,221,};
-static uint8_t xchacha20_136[]={59,108,96,37,185,251,0,3,211,23,142,226,127,227,157,252,196,81,70,211,108,101,73,219,};
-static uint8_t xchacha20_137[]={134,112,143,161,19,22,216,86,203,48,42,42,10,233,170,119,174,227,146,193,214,178,63,4,65,62,143,};
-static uint8_t xchacha20_138[]={29,129,41,211,50,40,210,66,};
-static uint8_t xchacha20_139[]={94,190,59,170,62,154,17,195,163,0,224,18,234,180,122,139,74,112,251,67,41,120,54,24,251,74,187,};
-static uint8_t xchacha20_140[]={20,9,98,65,109,196,82,79,108,153,81,166,237,21,248,221,195,83,246,198,44,215,76,72,102,118,183,106,224,222,198,100,};
-static uint8_t xchacha20_141[]={161,28,162,213,88,211,54,166,190,55,53,2,169,80,192,17,249,86,17,80,61,189,202,86,};
-static uint8_t xchacha20_142[]={196,12,244,107,73,174,86,172,142,197,228,142,225,80,214,99,21,162,152,12,156,247,107,109,62,157,32,226,};
-static uint8_t xchacha20_143[]={203,112,96,184,182,112,95,60,};
-static uint8_t xchacha20_144[]={18,13,69,226,156,66,228,190,205,166,87,2,53,60,85,93,165,212,67,155,239,143,195,230,168,28,6,94,};
-static uint8_t xchacha20_145[]={219,52,218,55,118,47,31,249,94,96,72,30,22,4,210,229,223,207,13,153,67,174,33,214,239,171,128,71,85,25,123,255,};
-static uint8_t xchacha20_146[]={159,36,238,233,130,176,249,8,146,136,207,123,69,112,172,50,11,52,79,79,112,243,31,83,};
-static uint8_t xchacha20_147[]={12,35,18,219,91,114,65,101,29,54,26,145,247,152,109,179,146,42,171,205,102,11,136,209,76,28,22,1,73,};
-static uint8_t xchacha20_148[]={171,195,29,246,224,197,53,218,};
-static uint8_t xchacha20_149[]={208,144,100,54,197,226,211,86,20,247,38,112,57,183,220,99,5,184,19,128,0,71,55,211,246,167,118,230,20,};
-static uint8_t xchacha20_150[]={251,196,52,209,9,194,44,98,232,10,57,223,118,125,42,252,44,88,218,190,118,255,130,228,65,159,236,78,242,18,108,157,};
-static uint8_t xchacha20_151[]={205,71,38,169,28,59,82,95,152,201,178,195,42,171,110,85,197,240,241,219,112,211,168,213,};
-static uint8_t xchacha20_152[]={16,131,73,11,104,75,204,15,73,173,178,120,152,184,245,134,152,162,178,37,69,177,131,214,137,179,162,57,245,50,};
-static uint8_t xchacha20_153[]={189,216,96,123,168,196,4,44,};
-static uint8_t xchacha20_154[]={19,231,139,193,123,35,148,64,72,169,9,135,58,185,225,206,236,19,249,184,19,3,141,8,209,8,110,88,88,73,};
-static uint8_t xchacha20_155[]={248,91,74,172,191,0,105,11,40,33,65,120,247,184,59,170,18,210,143,216,41,50,7,45,235,114,74,109,47,98,190,48,};
-static uint8_t xchacha20_156[]={198,226,225,74,142,21,135,131,252,122,23,101,231,16,46,235,242,19,154,4,155,144,242,215,};
-static uint8_t xchacha20_157[]={63,50,195,92,214,60,123,204,87,164,50,23,170,185,105,164,95,119,58,117,215,97,110,50,113,171,20,135,239,171,86,};
-static uint8_t xchacha20_158[]={103,179,111,108,191,18,192,198,};
-static uint8_t xchacha20_159[]={11,175,142,205,71,50,53,18,212,126,137,31,104,14,74,1,118,9,25,48,56,124,118,253,38,254,80,76,202,40,36,};
-static uint8_t xchacha20_160[]={139,127,126,64,161,126,184,127,24,116,183,197,2,37,216,84,74,1,204,44,240,237,140,48,195,220,242,202,111,243,239,117,};
-static uint8_t xchacha20_161[]={121,143,249,37,53,98,236,186,62,126,66,164,60,111,215,74,60,67,48,234,23,141,170,250,};
-static uint8_t xchacha20_162[]={5,50,48,94,131,86,241,170,95,145,202,145,220,218,117,215,22,126,21,133,224,33,30,179,183,142,107,224,207,80,32,154,};
-static uint8_t xchacha20_163[]={108,152,118,47,23,237,130,9,};
-static uint8_t xchacha20_164[]={106,174,201,28,28,148,48,113,14,236,171,152,100,136,247,66,190,122,246,223,158,104,186,106,8,5,223,248,81,175,38,115,};
-static uint8_t xchacha20_165[]={54,218,130,202,182,191,59,118,116,194,88,12,231,109,19,9,249,178,104,138,181,10,7,237,241,198,198,129,168,89,239,195,};
-static uint8_t xchacha20_166[]={253,155,71,86,21,175,148,99,104,13,220,12,160,209,245,168,24,75,228,81,111,183,229,144,};
-static uint8_t xchacha20_167[]={249,76,154,225,6,190,122,177,74,129,118,162,16,23,107,84,2,213,200,187,148,165,249,242,124,161,125,217,59,233,64,206,176,};
-static uint8_t xchacha20_168[]={150,205,246,156,107,186,137,194,};
-static uint8_t xchacha20_169[]={35,102,32,2,162,110,33,89,112,237,73,196,2,229,151,43,238,177,203,205,223,115,155,156,234,238,227,203,6,74,52,180,168,};
-static uint8_t xchacha20_170[]={167,239,109,12,222,50,134,199,67,92,12,178,207,134,14,187,149,162,229,204,156,132,181,109,38,138,44,151,40,242,185,251,};
-static uint8_t xchacha20_171[]={59,226,46,83,187,75,254,81,70,40,175,163,73,211,23,163,96,229,217,158,84,219,112,206,};
-static uint8_t xchacha20_172[]={89,87,102,202,150,232,190,207,183,47,149,97,202,148,114,23,50,106,18,235,37,115,119,19,229,111,229,11,23,242,221,118,125,85,};
-static uint8_t xchacha20_173[]={45,179,227,24,4,235,167,199,};
-static uint8_t xchacha20_174[]={118,178,249,170,20,17,136,165,139,194,252,215,9,76,159,195,31,214,14,109,99,76,154,93,104,8,139,14,17,54,47,224,139,17,};
-static uint8_t xchacha20_175[]={172,14,235,145,148,203,35,102,156,254,150,77,8,127,51,244,54,109,75,221,114,25,7,248,40,243,131,193,27,182,217,86,};
-static uint8_t xchacha20_176[]={214,77,180,168,234,173,33,172,32,210,195,31,197,47,8,215,86,190,68,107,153,148,110,172,};
-static uint8_t xchacha20_177[]={109,114,29,27,117,152,225,136,94,176,160,137,223,26,165,226,59,75,66,36,235,184,112,106,132,15,73,132,84,7,246,114,196,42,18,};
-static uint8_t xchacha20_178[]={150,155,82,54,78,125,12,49,};
-static uint8_t xchacha20_179[]={48,244,248,174,230,144,56,203,43,58,1,117,242,11,16,17,82,88,155,231,254,181,61,56,38,121,32,213,213,151,43,179,117,189,91,};
-static uint8_t xchacha20_180[]={74,100,169,143,109,255,156,175,20,16,208,160,249,120,115,70,233,87,22,149,169,213,21,164,134,123,144,144,194,231,52,39,};
-static uint8_t xchacha20_181[]={230,249,93,188,112,176,26,7,117,82,107,79,36,162,254,161,151,227,82,94,146,190,43,53,};
-static uint8_t xchacha20_182[]={121,239,201,58,1,38,99,236,154,129,15,184,137,204,152,121,89,133,26,36,184,16,28,176,79,145,96,255,138,144,121,89,187,216,159,242,};
-static uint8_t xchacha20_183[]={113,213,85,163,173,196,20,180,};
-static uint8_t xchacha20_184[]={163,46,40,63,109,68,222,206,20,236,192,168,204,116,252,75,133,214,217,3,179,100,210,137,231,117,107,56,35,130,173,210,126,19,24,211,};
-static uint8_t xchacha20_185[]={53,90,174,215,107,18,222,160,175,103,141,224,156,188,77,66,177,2,21,186,32,144,77,137,29,17,124,152,223,133,186,90,};
-static uint8_t xchacha20_186[]={166,90,206,167,61,115,123,80,120,24,130,149,57,192,33,239,153,183,53,51,247,71,167,203,};
-static uint8_t xchacha20_187[]={139,141,106,206,67,160,37,143,11,174,246,6,172,123,5,155,166,22,236,30,149,34,39,243,28,240,168,61,203,102,97,60,1,44,222,162,163,};
-static uint8_t xchacha20_188[]={109,121,104,185,97,87,126,116,};
-static uint8_t xchacha20_189[]={249,172,84,52,200,34,141,31,215,240,97,82,99,20,119,174,156,22,155,78,229,136,106,13,11,178,147,29,89,41,54,242,54,35,83,200,32,};
-static uint8_t xchacha20_190[]={92,15,22,91,35,47,40,20,100,228,143,11,13,37,119,84,42,211,70,91,246,192,99,67,83,144,71,3,136,162,125,147,};
-static uint8_t xchacha20_191[]={139,17,60,116,207,29,150,44,134,79,41,113,160,177,136,8,100,159,151,140,201,77,232,184,};
-static uint8_t xchacha20_192[]={247,15,165,207,62,192,186,209,169,36,153,182,134,96,193,253,47,128,155,178,106,238,41,249,58,180,72,70,148,80,111,174,113,211,7,172,69,35,};
-static uint8_t xchacha20_193[]={189,228,160,184,147,222,226,76,};
-static uint8_t xchacha20_194[]={246,199,40,219,12,161,155,2,188,139,122,170,125,67,78,252,97,49,74,87,2,15,115,120,109,80,215,57,114,91,61,19,75,88,254,218,45,205,};
-static uint8_t xchacha20_195[]={44,86,74,35,18,226,69,211,170,66,108,191,165,13,160,1,209,132,15,22,229,188,110,126,32,239,242,57,250,167,13,68,};
-static uint8_t xchacha20_196[]={131,150,213,167,250,142,215,13,168,59,163,108,72,4,213,144,123,116,4,66,73,9,50,49,};
-static uint8_t xchacha20_197[]={204,203,120,183,164,204,141,211,63,34,151,189,211,218,55,54,81,204,237,196,83,252,230,217,166,252,174,157,226,124,188,44,42,251,245,23,160,155,36,};
-static uint8_t xchacha20_198[]={143,225,222,97,143,166,152,151,};
-static uint8_t xchacha20_199[]={181,211,152,211,153,3,212,184,240,255,181,172,150,170,86,94,244,20,48,39,216,63,78,81,243,160,181,50,45,194,138,189,180,132,6,150,164,10,204,};
-static uint8_t xchacha20_200[]={6,182,104,7,239,60,75,176,108,138,4,232,225,125,222,22,228,15,135,58,184,162,25,106,179,61,69,81,59,112,19,98,};
-static uint8_t xchacha20_201[]={78,1,225,95,97,106,52,54,202,168,129,60,134,58,19,235,133,224,106,151,63,149,32,75,};
-static uint8_t xchacha20_202[]={38,92,159,118,73,100,7,189,209,189,22,183,246,234,62,151,243,52,110,99,213,224,95,152,150,177,130,30,61,190,56,42,136,73,227,226,126,5,200,87,};
-static uint8_t xchacha20_203[]={233,196,73,188,95,2,230,243,};
-static uint8_t xchacha20_204[]={253,68,98,234,113,207,148,175,143,119,78,209,202,90,116,124,104,72,3,240,21,96,202,26,86,155,61,213,11,241,222,8,3,225,198,34,146,147,174,61,};
-static uint8_t xchacha20_205[]={220,75,250,124,220,24,93,59,37,40,85,153,54,81,11,254,129,74,225,98,234,221,246,9,153,47,103,150,101,74,89,166,};
-static uint8_t xchacha20_206[]={99,35,41,33,66,202,73,156,68,203,149,188,48,140,16,212,74,165,52,6,110,251,65,63,};
-static uint8_t xchacha20_207[]={189,126,98,47,178,162,54,107,32,67,145,86,114,141,119,83,197,152,16,101,8,135,139,191,68,103,217,199,129,46,166,134,104,53,128,54,90,80,18,166,8,};
-static uint8_t xchacha20_208[]={189,113,232,198,132,20,217,164,};
-static uint8_t xchacha20_209[]={137,146,99,43,48,183,198,153,80,31,4,183,125,131,195,138,230,244,35,152,147,75,94,255,150,124,223,121,127,3,150,34,90,245,227,24,168,225,63,232,200,};
-static uint8_t xchacha20_210[]={157,106,18,60,152,161,47,7,193,33,127,6,171,217,83,86,119,53,138,138,28,253,139,100,140,170,0,95,16,131,112,76,};
-static uint8_t xchacha20_211[]={227,248,181,155,65,203,2,227,191,86,124,81,231,208,112,61,99,61,43,224,255,97,49,82,};
-static uint8_t xchacha20_212[]={215,100,18,245,91,226,240,208,119,67,162,200,203,1,162,187,50,79,238,223,245,46,212,193,39,91,106,64,79,79,179,123,142,221,167,6,99,54,171,44,5,155,};
-static uint8_t xchacha20_213[]={177,28,17,84,244,191,7,206,};
-static uint8_t xchacha20_214[]={209,127,211,193,88,253,197,114,139,85,246,174,218,175,94,84,96,104,240,157,140,16,147,71,83,218,64,147,219,48,202,163,37,181,73,104,43,117,219,82,118,196,};
-static uint8_t xchacha20_215[]={135,155,203,102,215,132,225,127,145,244,220,18,177,89,116,197,239,141,249,252,251,135,140,254,52,171,182,171,233,82,237,203,};
-static uint8_t xchacha20_216[]={146,76,180,195,239,117,241,20,10,121,202,8,76,117,162,170,188,170,139,88,253,132,64,4,};
-static uint8_t xchacha20_217[]={126,129,248,45,15,7,166,130,195,4,177,143,171,123,159,23,108,97,64,247,47,57,111,89,207,135,112,222,239,89,154,209,78,64,136,14,192,115,116,78,89,203,160,};
-static uint8_t xchacha20_218[]={193,165,14,240,4,41,84,10,};
-static uint8_t xchacha20_219[]={209,254,247,243,7,33,208,183,203,195,244,136,17,202,140,166,173,216,40,190,242,61,44,207,201,202,251,127,175,153,179,184,19,94,232,209,225,235,126,101,88,133,230,};
-static uint8_t xchacha20_220[]={117,165,227,171,47,118,99,155,164,43,179,239,18,251,203,199,166,24,48,197,99,77,243,18,26,43,193,119,147,194,144,126,};
-static uint8_t xchacha20_221[]={150,39,173,216,130,169,20,222,223,239,60,160,228,192,39,10,135,98,222,15,24,53,169,161,};
-static uint8_t xchacha20_222[]={180,14,97,70,156,160,14,67,123,189,104,191,236,136,241,114,81,253,83,229,233,47,20,94,254,35,203,31,52,197,168,41,48,25,20,35,132,74,38,132,188,152,156,204,};
-static uint8_t xchacha20_223[]={34,31,191,9,162,103,163,19,};
-static uint8_t xchacha20_224[]={182,61,167,44,111,121,227,125,208,150,48,251,233,130,94,85,121,206,106,35,60,36,74,147,89,221,243,48,121,231,99,36,132,112,109,79,175,96,250,123,75,66,213,118,};
-static uint8_t xchacha20_225[]={199,50,4,213,86,17,23,234,122,193,106,0,150,170,124,161,183,250,91,234,43,51,77,247,184,30,20,17,18,155,92,111,};
-static uint8_t xchacha20_226[]={144,175,56,103,68,68,209,102,147,180,33,101,157,112,187,74,173,38,65,88,118,61,49,51,};
-static uint8_t xchacha20_227[]={2,21,139,142,170,139,228,198,241,147,34,4,204,194,3,245,184,86,149,188,199,136,233,120,90,163,30,213,172,152,78,253,76,252,154,200,190,158,89,26,98,228,217,174,223,};
-static uint8_t xchacha20_228[]={18,3,131,69,77,9,26,43,};
-static uint8_t xchacha20_229[]={182,206,167,223,1,11,178,193,7,83,87,70,9,66,124,30,224,63,77,182,152,215,45,250,113,162,74,12,178,112,230,141,153,63,108,196,198,176,190,24,255,74,172,85,208,};
-static uint8_t xchacha20_230[]={32,164,70,45,79,12,85,9,3,255,69,244,115,135,110,176,198,46,182,67,196,195,125,213,15,145,171,74,66,55,226,116,};
-static uint8_t xchacha20_231[]={131,87,91,71,205,104,250,123,61,9,222,159,209,232,209,39,108,11,156,26,47,51,66,183,};
-static uint8_t xchacha20_232[]={199,47,50,174,26,198,58,16,90,165,36,249,123,12,114,81,131,220,51,53,139,17,59,141,215,88,108,60,211,155,40,128,19,114,143,193,138,134,71,206,169,236,45,54,103,145,};
-static uint8_t xchacha20_233[]={50,196,25,44,136,160,244,52,};
-static uint8_t xchacha20_234[]={253,167,182,16,230,111,34,160,147,144,165,99,95,80,231,67,189,112,187,24,85,103,196,199,112,71,123,33,227,59,51,226,76,222,72,65,172,34,21,197,93,55,59,68,177,231,};
-static uint8_t xchacha20_235[]={38,121,235,136,242,253,127,22,3,147,101,57,119,155,38,13,1,114,141,164,146,162,142,184,123,165,181,205,171,87,192,142,};
-static uint8_t xchacha20_236[]={110,25,176,69,245,65,195,68,84,38,182,244,14,8,102,181,53,106,76,123,173,226,214,34,};
-static uint8_t xchacha20_237[]={50,93,133,181,78,182,213,118,97,31,130,137,62,55,103,130,1,7,225,205,103,92,37,176,15,64,188,13,138,230,47,64,163,136,118,109,29,67,176,185,65,158,118,68,223,111,17,};
-static uint8_t xchacha20_238[]={83,169,42,119,26,225,165,199,};
-static uint8_t xchacha20_239[]={2,124,85,183,163,250,148,234,84,120,184,194,154,250,172,11,83,178,80,232,240,243,226,214,88,135,125,100,238,125,4,129,200,67,119,243,213,37,13,138,42,236,198,205,124,158,21,};
-static uint8_t xchacha20_240[]={53,15,127,141,97,208,245,27,224,48,93,192,90,39,202,148,143,134,35,90,53,185,248,207,74,1,182,75,166,246,136,210,};
-static uint8_t xchacha20_241[]={31,130,2,169,155,157,220,55,227,134,184,158,23,211,77,143,179,49,128,210,140,30,216,60,};
-static uint8_t xchacha20_242[]={82,139,106,230,216,243,118,171,53,168,48,216,1,85,137,16,114,217,146,46,244,219,83,227,125,17,206,149,74,242,69,227,171,210,113,166,129,66,101,51,189,188,141,26,82,173,69,17,};
-static uint8_t xchacha20_243[]={102,150,102,103,203,230,132,197,};
-static uint8_t xchacha20_244[]={201,102,171,46,163,104,106,172,123,115,64,27,206,128,215,223,202,3,65,253,219,187,225,118,117,191,133,167,69,205,27,93,61,78,105,127,127,50,177,183,210,55,189,47,168,248,147,113,};
-static uint8_t xchacha20_245[]={52,14,33,46,247,181,124,56,93,228,99,115,60,148,1,4,127,238,127,16,69,185,179,239,53,164,174,20,52,255,100,250,};
-static uint8_t xchacha20_246[]={64,164,199,127,224,90,15,46,168,243,161,87,36,23,225,196,178,245,220,186,214,47,178,240,};
-static uint8_t xchacha20_247[]={218,249,116,255,192,235,100,52,73,16,109,119,22,239,36,16,70,248,171,19,129,2,63,58,212,159,190,116,125,110,221,159,130,101,66,88,194,136,53,25,54,31,146,174,3,56,205,245,74,};
-static uint8_t xchacha20_248[]={216,13,119,183,33,148,1,55,};
-static uint8_t xchacha20_249[]={189,172,24,234,39,119,81,64,153,242,41,125,143,161,202,101,144,168,237,31,82,94,94,188,46,33,72,144,88,229,209,191,239,90,93,237,252,70,234,207,227,46,97,82,23,62,204,48,238,};
-static uint8_t xchacha20_250[]={78,101,109,37,198,187,227,103,199,207,253,105,119,241,140,214,170,207,53,168,239,240,145,163,29,49,96,130,248,33,118,105,};
-static uint8_t xchacha20_251[]={64,156,189,110,126,52,149,151,201,29,197,51,141,22,147,79,135,35,186,26,50,100,146,148,};
-static uint8_t xchacha20_252[]={178,70,58,46,174,236,242,36,38,61,30,148,11,7,7,15,66,220,207,121,120,151,255,107,234,220,43,141,238,212,11,144,192,72,126,176,96,69,116,51,209,201,173,253,136,217,85,211,59,101,};
-static uint8_t xchacha20_253[]={13,153,90,54,54,1,144,173,};
-static uint8_t xchacha20_254[]={144,182,85,218,145,207,81,180,151,155,35,150,104,249,235,89,169,21,138,53,56,191,202,169,38,4,98,136,81,80,129,108,106,59,65,164,116,74,20,157,198,76,87,202,19,14,94,86,30,189,};
-static uint8_t xchacha20_255[]={172,67,156,165,253,119,140,149,212,15,16,198,4,118,40,78,224,201,102,158,153,54,13,42,208,97,150,43,234,56,169,47,};
-static uint8_t xchacha20_256[]={154,73,177,181,192,7,226,122,227,9,110,246,47,80,96,67,174,129,96,77,64,45,229,79,};
-static uint8_t xchacha20_257[]={50,84,194,206,100,205,229,232,148,236,128,154,46,238,244,206,225,233,100,1,109,75,146,100,118,216,189,71,234,176,188,153,176,137,68,47,166,91,253,167,140,188,192,34,91,219,37,171,175,66,174,};
-static uint8_t xchacha20_258[]={78,11,208,127,219,219,11,234,};
-static uint8_t xchacha20_259[]={134,168,12,240,38,190,140,240,247,160,83,83,255,112,247,30,171,26,239,122,217,132,19,196,7,179,16,101,121,116,30,173,91,203,195,3,125,241,186,98,212,25,161,60,1,202,138,222,229,53,60,};
-static uint8_t xchacha20_260[]={145,72,226,212,203,245,175,193,204,150,252,181,46,211,50,117,100,88,206,248,254,226,191,49,162,81,144,19,95,202,96,209,};
-static uint8_t xchacha20_261[]={42,57,163,81,117,250,62,9,35,142,241,209,215,244,131,77,238,196,87,141,95,243,17,194,};
-static uint8_t xchacha20_262[]={53,108,225,112,47,108,27,52,179,244,112,186,191,22,198,194,9,72,77,199,53,163,142,57,86,21,86,53,242,10,136,224,26,27,126,163,63,69,42,2,31,208,208,135,177,108,208,181,100,94,16,71,};
-static uint8_t xchacha20_263[]={88,9,204,114,29,208,230,155,};
-static uint8_t xchacha20_264[]={0,29,208,86,133,15,205,180,4,153,73,10,176,78,80,0,168,99,231,145,70,207,113,114,226,156,200,23,186,83,43,75,29,215,173,101,46,186,19,191,185,14,225,108,253,109,120,31,36,54,195,168,};
-static uint8_t xchacha20_265[]={176,240,34,223,51,193,247,1,234,143,221,129,66,164,132,15,165,173,64,48,189,57,143,150,25,124,193,127,172,77,62,23,};
-static uint8_t xchacha20_266[]={58,66,27,188,206,176,88,30,111,238,210,53,189,246,85,251,64,242,64,52,240,95,11,6,};
-static uint8_t xchacha20_267[]={218,65,107,239,77,27,6,179,76,178,241,240,250,128,165,91,40,118,89,172,165,212,90,222,86,238,126,30,23,149,230,251,159,208,125,221,246,74,74,231,110,107,111,5,94,17,103,8,171,174,173,236,191,};
-static uint8_t xchacha20_268[]={66,97,170,77,87,220,207,32,};
-static uint8_t xchacha20_269[]={35,130,113,86,253,79,156,47,53,234,64,66,191,83,169,140,87,94,94,149,59,205,174,134,244,66,171,162,4,135,89,64,116,217,73,207,200,66,216,74,112,75,175,240,0,134,36,70,131,148,79,134,38,};
-static uint8_t xchacha20_270[]={224,143,165,101,94,149,35,79,111,92,104,185,74,239,166,168,200,117,52,33,91,172,246,196,88,18,197,116,211,130,152,138,};
-static uint8_t xchacha20_271[]={184,46,118,154,185,142,2,144,96,20,104,165,211,102,225,240,232,59,48,161,104,169,145,57,};
-static uint8_t xchacha20_272[]={241,120,104,159,22,173,227,185,219,174,34,141,211,24,230,176,244,42,64,150,247,170,10,77,220,55,142,23,33,213,18,110,90,199,69,86,19,137,51,198,179,222,182,21,196,252,208,67,14,78,98,148,38,148,};
-static uint8_t xchacha20_273[]={145,145,113,137,78,198,208,51,};
-static uint8_t xchacha20_274[]={103,6,27,124,242,89,254,128,121,205,252,8,128,162,107,197,140,57,11,41,84,58,21,228,164,157,23,67,14,166,83,187,231,88,14,76,92,96,77,127,251,145,29,140,71,151,155,59,207,232,126,0,138,165,};
-static uint8_t xchacha20_275[]={20,138,226,177,91,13,180,238,116,125,237,151,114,36,202,123,106,22,204,249,47,91,16,64,138,181,28,105,47,165,2,72,};
-static uint8_t xchacha20_276[]={210,198,219,251,220,197,192,92,160,185,29,167,203,208,199,32,81,144,200,174,209,1,95,213,};
-static uint8_t xchacha20_277[]={96,89,221,37,220,110,74,237,38,66,219,25,199,56,157,149,83,53,58,75,1,159,241,9,4,233,194,153,173,24,227,202,148,111,11,48,61,118,93,135,142,148,107,42,243,11,54,248,255,201,142,34,116,175,240,};
-static uint8_t xchacha20_278[]={61,242,153,90,96,205,21,153,};
-static uint8_t xchacha20_279[]={211,53,86,103,185,124,123,226,108,208,97,91,42,157,59,183,239,148,6,186,207,87,190,28,21,14,154,119,196,129,73,220,138,77,195,101,85,89,220,151,75,0,221,163,200,215,199,108,97,46,88,220,147,196,124,};
-static uint8_t xchacha20_280[]={86,188,62,223,88,9,108,223,24,15,27,190,125,248,40,24,126,44,102,240,132,17,175,93,187,198,100,171,164,94,107,54,};
-static uint8_t xchacha20_281[]={16,206,215,95,208,240,151,72,58,229,245,199,211,81,108,20,75,141,7,135,161,151,211,127,};
-static uint8_t xchacha20_282[]={108,5,68,12,176,220,61,95,233,206,167,188,169,182,72,111,193,139,133,222,12,101,29,119,31,82,66,132,74,224,156,26,223,57,16,105,139,134,15,239,48,217,152,132,44,78,98,127,241,241,153,46,201,93,37,62,};
-static uint8_t xchacha20_283[]={135,107,121,199,102,32,40,48,};
-static uint8_t xchacha20_284[]={100,242,65,96,41,14,223,0,81,251,104,162,74,212,205,52,71,249,162,168,29,12,37,226,181,236,212,133,29,66,232,160,116,239,190,193,163,173,86,255,226,221,165,29,0,121,235,162,102,0,219,23,35,103,164,70,};
-static uint8_t xchacha20_285[]={92,31,125,253,57,126,120,52,59,253,186,150,71,179,145,18,58,231,137,1,78,82,6,202,74,90,201,121,19,69,35,180,};
-static uint8_t xchacha20_286[]={139,100,181,236,191,118,226,77,88,86,63,140,162,82,158,17,235,36,255,229,76,119,97,125,};
-static uint8_t xchacha20_287[]={79,130,228,227,165,148,161,209,130,198,117,79,34,72,251,163,138,136,141,64,130,65,126,78,100,228,87,197,188,68,72,236,250,54,152,77,199,254,73,189,51,248,178,30,204,109,203,128,194,61,129,254,187,128,220,171,26,};
-static uint8_t xchacha20_288[]={13,89,150,130,182,145,141,63,};
-static uint8_t xchacha20_289[]={53,107,39,230,125,228,77,94,227,59,66,76,176,32,225,126,141,101,144,177,149,117,206,141,4,56,136,160,97,28,46,82,222,140,201,2,162,85,163,193,152,218,50,112,96,114,207,134,16,97,21,64,141,251,100,45,200,};
-static uint8_t xchacha20_290[]={56,72,24,212,206,64,42,167,133,35,56,86,11,214,229,89,135,165,240,52,110,59,156,19,131,85,118,137,132,227,154,50,};
-static uint8_t xchacha20_291[]={69,135,28,141,209,85,13,171,143,217,124,141,64,222,147,233,201,144,236,204,190,15,66,64,};
-static uint8_t xchacha20_292[]={115,211,42,244,234,41,15,141,189,163,189,242,147,144,151,28,9,232,178,235,208,128,253,249,85,24,52,117,55,91,222,41,177,38,212,173,145,156,221,34,120,164,211,37,224,179,79,59,73,120,237,30,215,102,215,85,63,124,};
-static uint8_t xchacha20_293[]={1,61,29,104,82,62,210,176,};
-static uint8_t xchacha20_294[]={236,241,54,172,34,59,142,223,43,175,182,225,106,66,41,190,30,145,87,178,20,158,106,116,43,151,36,217,240,76,100,144,88,151,145,69,67,215,5,219,110,84,20,41,54,161,126,30,230,115,97,68,218,140,54,60,180,84,};
-static uint8_t xchacha20_295[]={132,173,183,239,106,253,89,234,47,91,33,62,8,115,7,113,43,24,4,133,122,241,195,135,216,178,145,110,135,52,156,197,};
-static uint8_t xchacha20_296[]={26,46,237,84,58,152,96,213,61,117,78,189,6,65,164,88,212,130,158,185,111,249,255,177,};
-static uint8_t xchacha20_297[]={138,129,182,123,216,48,175,77,177,204,174,34,183,131,33,173,153,145,97,30,221,128,51,161,222,6,251,200,8,168,143,160,28,27,115,242,189,112,37,103,53,132,172,167,176,73,145,185,123,131,58,154,253,120,177,30,247,94,96,};
-static uint8_t xchacha20_298[]={172,63,128,98,7,207,211,50,};
-static uint8_t xchacha20_299[]={110,231,122,124,219,199,103,173,233,8,40,218,187,84,170,235,162,115,118,255,122,153,153,131,85,92,72,173,66,230,254,194,214,232,225,245,31,239,80,169,40,34,115,40,116,122,169,93,143,135,60,34,71,147,99,42,96,66,126,};
-static uint8_t xchacha20_300[]={51,212,55,248,65,216,36,86,55,165,136,169,80,133,245,35,172,214,106,150,118,139,107,92,89,208,2,225,250,10,194,82,};
-static uint8_t xchacha20_301[]={65,254,218,188,244,76,178,51,34,83,215,227,189,238,250,209,63,220,71,151,65,141,249,104,};
-static uint8_t xchacha20_302[]={84,134,223,73,107,251,244,41,222,191,239,222,60,187,80,243,33,108,196,36,192,81,204,248,13,206,195,110,211,156,215,195,240,67,167,182,164,201,146,235,136,216,23,216,20,151,193,103,20,75,241,15,39,114,217,137,32,179,172,59,};
-static uint8_t xchacha20_303[]={225,78,55,233,235,160,254,61,};
-static uint8_t xchacha20_304[]={148,120,38,194,30,149,112,27,79,18,43,238,114,99,63,226,190,195,161,139,184,181,117,153,133,246,66,60,96,4,128,233,232,161,255,110,7,223,170,138,137,121,106,247,20,127,3,217,109,79,153,147,37,76,74,146,134,25,3,202,};
-static uint8_t xchacha20_305[]={214,248,12,92,45,27,152,121,181,243,229,64,61,235,4,169,82,21,181,171,172,247,191,234,172,167,115,254,116,233,253,36,};
-static uint8_t xchacha20_306[]={172,213,166,153,121,206,58,208,245,131,209,184,202,9,26,100,100,41,243,64,94,70,146,82,};
-static uint8_t xchacha20_307[]={105,144,188,189,165,74,177,159,81,164,162,189,27,181,39,153,4,141,195,83,116,190,4,98,38,79,157,114,253,139,203,238,189,16,27,173,164,12,43,236,152,220,55,77,200,29,113,234,240,9,93,29,0,146,110,172,251,181,19,129,74,};
-static uint8_t xchacha20_308[]={127,61,242,220,200,133,31,141,};
-static uint8_t xchacha20_309[]={48,166,72,150,204,128,186,205,5,113,53,227,225,218,205,204,61,205,153,151,226,214,106,59,137,88,139,215,97,148,89,141,52,25,36,83,127,72,204,84,244,135,133,109,246,166,85,182,100,167,156,204,224,103,1,210,91,63,143,244,149,};
-static uint8_t xchacha20_310[]={14,56,193,246,182,233,17,101,187,9,51,234,20,247,153,203,97,158,188,248,134,0,151,32,224,62,156,39,56,53,92,240,};
-static uint8_t xchacha20_311[]={82,45,177,199,78,92,191,48,11,197,132,156,83,207,115,186,172,119,112,62,153,10,1,124,};
-static uint8_t xchacha20_312[]={21,205,227,200,28,250,74,39,240,170,99,172,96,202,104,100,160,64,47,40,203,196,10,149,123,146,5,117,141,186,38,105,244,81,201,121,208,1,125,89,40,89,48,240,222,21,216,84,97,85,194,73,126,34,25,175,90,20,120,175,248,14,};
-static uint8_t xchacha20_313[]={17,20,46,221,113,194,209,248,};
-static uint8_t xchacha20_314[]={200,141,174,201,51,143,227,90,60,54,13,157,125,203,110,125,29,207,149,12,22,64,20,72,11,149,47,64,247,35,0,109,111,1,200,18,128,93,250,8,52,227,176,84,126,70,7,174,185,156,206,200,202,235,13,187,149,132,26,228,127,192,};
-static uint8_t xchacha20_315[]={217,24,103,169,58,176,207,54,20,249,88,227,213,36,169,218,32,103,188,215,65,251,174,209,177,142,114,2,79,157,246,84,};
-static uint8_t xchacha20_316[]={208,239,70,133,107,48,134,168,68,0,141,245,203,158,40,40,244,160,252,146,249,167,200,116,};
-static uint8_t xchacha20_317[]={98,142,224,52,61,244,26,224,251,128,141,105,51,30,83,166,108,187,118,143,48,148,221,245,91,91,109,186,218,64,34,134,238,251,187,228,49,195,209,250,145,26,75,175,143,131,181,188,190,194,37,24,184,252,219,197,27,181,90,238,44,3,74,};
-static uint8_t xchacha20_318[]={166,225,137,245,3,170,112,96,};
-static uint8_t xchacha20_319[]={18,129,48,175,70,214,204,73,30,241,2,44,177,103,32,4,208,47,248,229,217,58,112,23,89,151,46,55,109,102,149,2,130,196,3,106,155,188,193,253,73,7,132,110,16,118,84,234,23,202,212,185,113,120,213,202,195,173,59,105,184,238,168,};
-static uint8_t xchacha20_320[]={171,230,116,111,144,122,241,203,240,185,76,203,251,26,80,49,132,246,114,166,133,188,144,241,121,129,106,183,16,48,195,85,};
-static uint8_t xchacha20_321[]={18,27,152,88,0,38,29,69,200,244,59,216,247,229,31,182,75,48,68,88,96,7,4,150,};
-static uint8_t xchacha20_322[]={95,209,194,204,152,215,223,111,12,226,135,237,19,140,30,66,212,225,227,212,70,145,106,151,174,103,84,105,140,28,156,23,102,156,71,34,182,234,49,45,197,3,205,77,236,239,202,242,45,7,49,3,215,143,144,162,216,211,153,152,125,138,209,130,};
-static uint8_t xchacha20_323[]={27,91,2,5,178,111,123,142,};
-static uint8_t xchacha20_324[]={95,185,46,222,122,44,135,194,99,142,239,40,24,218,166,95,254,47,117,172,162,25,99,43,1,136,253,211,221,139,60,46,67,87,44,8,77,34,194,2,173,129,69,212,190,183,234,227,15,194,86,2,53,225,171,36,212,96,151,193,205,246,112,187,};
-static uint8_t xchacha20_325[]={170,19,83,128,165,123,91,1,141,213,172,25,252,110,116,27,85,31,114,172,188,44,18,249,175,22,207,53,159,32,253,59,};
-static uint8_t xchacha20_326[]={17,175,83,177,93,125,24,20,95,243,145,144,135,73,185,69,240,159,239,133,156,161,40,180,};
-static uint8_t xchacha20_327[]={4,184,187,223,85,85,223,64,176,126,136,24,244,83,195,2,214,122,204,141,229,66,175,42,172,208,190,111,50,239,72,194,31,3,72,6,69,240,97,102,66,107,204,243,188,212,22,170,88,78,93,97,118,148,35,160,128,92,253,110,161,36,195,153,136,};
-static uint8_t xchacha20_328[]={120,208,99,156,145,113,16,158,};
-static uint8_t xchacha20_329[]={139,255,34,133,16,251,93,9,231,230,198,210,132,248,227,41,39,183,132,51,191,246,70,32,88,132,110,130,84,146,170,112,56,158,231,33,116,140,72,71,56,113,161,33,206,235,65,119,194,224,16,70,5,11,181,231,25,224,113,234,152,174,184,87,76,};
-static uint8_t xchacha20_330[]={145,70,130,156,194,220,6,9,209,17,222,185,140,205,38,244,57,16,150,230,39,43,148,133,253,213,32,128,79,28,83,27,};
-static uint8_t xchacha20_331[]={74,75,18,72,226,242,27,243,179,90,165,193,64,75,9,237,79,166,191,73,197,87,208,250,};
-static uint8_t xchacha20_332[]={104,185,237,14,205,17,61,140,147,127,120,249,252,49,58,109,124,90,110,138,48,126,139,206,81,33,231,63,101,7,169,119,171,155,186,249,231,117,92,63,16,39,54,143,252,189,11,109,254,247,180,223,82,94,46,174,205,212,237,233,190,10,190,147,163,191,};
-static uint8_t xchacha20_333[]={177,170,86,82,81,72,80,165,};
-static uint8_t xchacha20_334[]={219,42,123,142,250,86,102,234,122,102,1,141,230,194,200,211,242,238,71,63,128,40,200,76,49,137,117,58,196,53,50,194,174,245,2,208,27,186,171,253,247,216,235,106,201,254,137,57,101,231,164,197,225,193,177,90,241,180,120,18,171,204,233,12,105,231,};
-static uint8_t xchacha20_335[]={132,102,150,106,217,12,234,199,31,124,83,243,38,169,132,227,244,181,64,37,96,104,42,86,120,140,165,69,77,205,175,57,};
-static uint8_t xchacha20_336[]={42,52,56,126,153,157,49,21,9,217,218,114,177,43,35,112,184,91,115,126,148,108,189,39,};
-static uint8_t xchacha20_337[]={127,125,232,160,32,5,69,231,126,13,39,205,225,173,62,219,56,168,202,68,236,215,139,179,233,130,112,106,224,226,120,169,232,166,125,158,210,130,153,130,231,220,233,152,171,21,11,104,13,230,91,74,55,100,111,214,129,173,253,137,230,192,187,56,140,55,75,};
-static uint8_t xchacha20_338[]={38,82,143,230,126,71,171,252,};
-static uint8_t xchacha20_339[]={124,130,110,45,114,48,150,61,217,241,231,66,91,19,154,124,50,60,94,204,179,125,28,46,41,55,255,21,157,210,209,131,207,71,119,19,250,177,27,180,116,41,232,201,240,168,183,245,191,228,88,92,106,0,207,224,89,207,39,31,61,16,89,234,204,10,179,};
-static uint8_t xchacha20_340[]={144,9,119,207,153,43,208,122,167,234,82,36,146,203,74,128,41,26,82,23,146,30,21,102,248,189,243,14,74,100,50,5,};
-static uint8_t xchacha20_341[]={224,228,201,204,42,28,31,4,235,24,229,144,219,53,82,207,117,59,251,73,51,67,189,132,};
-static uint8_t xchacha20_342[]={7,203,228,240,173,246,117,51,251,150,189,190,168,19,179,117,1,105,171,94,137,0,138,157,106,46,179,141,201,100,31,244,113,3,50,71,94,210,193,135,136,161,205,29,243,241,199,36,186,35,206,68,118,174,56,202,234,150,88,26,88,41,55,223,130,30,120,236,};
-static uint8_t xchacha20_343[]={212,228,114,35,222,64,111,136,};
-static uint8_t xchacha20_344[]={255,50,9,145,238,33,83,173,168,206,250,66,22,197,177,151,202,169,56,50,176,226,38,57,138,224,69,21,114,128,103,1,141,207,138,74,135,30,78,123,114,78,228,97,107,131,115,198,177,69,163,40,127,142,11,47,161,15,43,43,83,67,98,137,151,25,104,11,};
-static uint8_t xchacha20_345[]={104,102,161,124,220,237,13,69,204,248,195,135,69,8,148,218,251,67,208,135,170,177,249,208,44,225,161,75,144,224,213,92,};
-static uint8_t xchacha20_346[]={17,117,209,97,201,57,252,171,84,228,163,81,133,8,164,117,246,232,16,2,96,250,208,49,};
-static uint8_t xchacha20_347[]={216,13,102,110,210,40,164,162,27,155,240,190,244,10,196,74,197,57,32,36,170,100,219,96,171,239,237,211,189,30,217,8,251,69,71,70,18,124,145,96,201,38,247,251,169,204,251,34,171,208,139,50,2,56,54,165,29,179,242,87,7,247,149,151,228,225,111,132,255,};
-static uint8_t xchacha20_348[]={220,68,87,6,52,39,148,171,};
-static uint8_t xchacha20_349[]={161,126,218,165,64,167,153,158,78,145,143,201,181,90,35,71,33,215,211,106,97,26,170,6,216,70,19,132,190,1,104,69,4,255,247,198,221,183,68,50,126,30,30,174,50,59,242,200,110,62,64,190,116,250,239,65,167,66,26,255,196,103,46,252,25,20,129,61,68,};
-static uint8_t xchacha20_350[]={165,72,162,67,14,67,65,46,253,134,26,203,149,99,92,47,202,103,12,60,95,187,169,106,167,26,147,64,236,117,104,18,};
-static uint8_t xchacha20_351[]={139,133,19,97,91,12,251,15,152,154,249,116,71,34,101,206,212,6,204,72,168,86,52,141,};
-static uint8_t xchacha20_352[]={90,255,107,48,177,120,226,60,250,237,100,252,49,225,151,110,99,165,141,154,72,212,122,172,115,157,148,218,204,225,4,25,159,213,129,254,32,112,186,213,211,77,190,234,114,146,97,124,117,121,227,65,211,38,254,129,248,115,251,57,247,126,39,97,27,95,27,95,217,86,};
-static uint8_t xchacha20_353[]={91,76,25,56,94,216,92,161,};
-static uint8_t xchacha20_354[]={14,102,100,45,192,52,83,77,245,164,224,100,167,97,92,151,139,134,138,181,118,177,129,211,18,8,234,252,213,64,238,208,65,47,63,70,206,101,206,215,140,81,127,91,107,38,179,209,19,137,153,64,214,147,228,136,96,120,94,153,237,142,76,188,156,117,232,207,126,45,};
-static uint8_t xchacha20_355[]={129,196,2,143,94,108,251,3,7,67,17,44,215,8,119,63,208,221,50,230,92,243,226,66,87,26,220,216,77,152,241,48,};
-static uint8_t xchacha20_356[]={12,106,182,47,6,82,232,188,13,121,187,86,124,167,220,252,23,144,111,96,44,23,149,172,};
-static uint8_t xchacha20_357[]={93,183,187,30,36,40,23,181,24,160,9,46,187,36,78,181,208,59,116,160,130,182,232,16,162,117,200,59,36,220,67,7,210,57,105,95,35,124,247,40,165,25,57,141,7,24,32,200,33,109,55,48,36,21,42,13,96,158,158,154,239,197,5,149,25,80,24,184,167,201,117,};
-static uint8_t xchacha20_358[]={25,178,159,199,164,143,201,11,};
-static uint8_t xchacha20_359[]={94,38,196,60,86,42,118,105,158,85,63,13,2,201,124,172,199,86,115,220,191,103,69,130,14,86,40,184,128,221,48,186,146,202,88,251,17,87,236,75,165,131,247,206,62,250,31,155,66,215,110,100,227,244,62,69,107,120,231,223,36,6,214,236,34,33,223,172,241,95,142,};
-static uint8_t xchacha20_360[]={248,20,254,192,224,240,231,13,157,23,96,58,255,141,133,121,251,152,227,82,46,129,178,21,100,123,135,25,238,63,225,125,};
-static uint8_t xchacha20_361[]={83,205,158,17,255,11,251,68,183,203,155,60,72,11,38,87,196,227,21,195,27,188,194,216,};
-static uint8_t xchacha20_362[]={51,114,234,145,134,234,87,176,118,201,53,139,220,102,152,152,139,3,200,143,147,98,181,169,239,243,230,23,140,28,56,2,19,65,93,31,106,119,67,14,149,46,175,242,35,27,32,201,37,18,253,137,33,159,222,73,219,1,254,159,145,32,67,123,89,65,234,116,239,197,12,58,};
-static uint8_t xchacha20_363[]={125,245,108,64,11,0,179,3,};
-static uint8_t xchacha20_364[]={227,104,78,18,64,79,95,39,143,113,80,125,15,88,65,60,170,29,207,236,224,169,50,112,235,175,87,255,153,142,116,93,155,71,73,214,180,164,134,227,121,124,59,115,77,189,184,111,236,179,226,94,8,195,145,176,100,183,154,53,218,69,163,135,74,21,249,93,66,130,227,146,};
-static uint8_t xchacha20_365[]={144,223,147,17,58,197,0,131,72,89,75,175,59,70,127,74,127,83,133,131,178,81,9,103,223,187,228,214,97,62,47,0,};
-static uint8_t xchacha20_366[]={180,80,18,140,3,26,208,34,21,22,45,76,132,36,60,154,132,226,153,193,237,167,211,137,};
-static uint8_t xchacha20_367[]={105,126,254,11,101,14,83,33,27,224,203,250,91,69,59,220,51,213,244,69,50,124,237,53,185,220,248,66,198,239,188,157,67,230,143,78,81,254,144,91,177,59,30,103,50,102,96,181,164,207,170,95,60,83,126,68,84,56,210,169,224,172,81,233,0,225,22,128,17,231,185,50,13,};
-static uint8_t xchacha20_368[]={120,137,140,94,200,222,190,80,};
-static uint8_t xchacha20_369[]={253,221,50,65,150,122,204,192,246,219,34,222,29,54,62,151,234,233,153,20,243,103,109,62,72,168,124,18,218,120,24,155,184,16,198,37,65,163,161,119,40,138,87,173,80,166,45,227,86,50,195,12,64,239,1,72,112,195,30,21,186,63,0,55,149,241,25,74,140,255,117,159,207,};
-static uint8_t xchacha20_370[]={31,188,144,136,103,162,126,79,176,14,188,241,67,238,163,128,143,46,79,179,14,97,182,17,117,208,139,109,52,19,147,161,};
-static uint8_t xchacha20_371[]={176,243,39,14,208,52,179,70,97,142,142,58,136,96,207,129,157,92,71,159,176,223,157,198,};
-static uint8_t xchacha20_372[]={224,148,211,127,44,134,11,238,25,116,102,40,126,139,158,239,105,237,120,235,173,113,57,209,238,9,13,202,74,145,192,234,249,167,218,38,72,36,1,177,31,170,41,10,227,205,176,97,47,250,113,245,204,32,176,19,77,156,252,204,239,250,111,225,168,15,27,50,58,233,145,221,147,70,};
-static uint8_t xchacha20_373[]={210,226,216,85,116,238,44,91,};
-static uint8_t xchacha20_374[]={206,71,24,61,210,139,118,90,75,82,174,7,57,65,242,213,4,47,95,187,151,35,91,176,100,147,184,223,203,233,90,181,181,127,246,123,43,214,245,133,169,204,220,177,111,91,169,168,61,110,161,194,151,59,10,28,232,188,215,55,96,217,235,98,42,251,110,42,42,241,155,127,108,85,};
-static uint8_t xchacha20_375[]={26,76,227,186,9,158,62,171,247,113,36,81,163,22,3,186,104,175,110,40,84,194,23,62,127,83,232,212,77,35,57,26,};
-static uint8_t xchacha20_376[]={176,236,217,1,14,49,19,92,233,150,40,62,25,75,23,28,152,9,239,138,46,205,208,88,};
-static uint8_t xchacha20_377[]={175,163,123,105,31,206,91,37,72,238,220,120,168,179,28,19,50,137,160,240,179,60,33,188,218,183,85,161,182,144,225,193,11,177,10,91,180,224,115,145,147,12,169,89,0,39,102,52,113,224,8,99,215,42,14,155,192,59,242,159,253,112,191,59,59,48,216,7,141,24,40,112,249,137,62,};
-static uint8_t xchacha20_378[]={208,81,133,163,196,157,140,97,};
-static uint8_t xchacha20_379[]={196,205,178,31,240,173,60,167,2,248,237,134,163,102,198,157,7,15,190,227,186,189,191,4,209,187,51,97,150,104,113,59,2,115,72,32,100,70,5,191,14,237,186,145,194,103,80,88,221,147,171,64,128,83,142,153,230,1,224,61,0,245,205,74,147,119,56,221,93,72,167,174,105,103,160,};
-static uint8_t xchacha20_380[]={158,52,158,163,119,205,43,153,228,132,134,9,117,57,79,93,251,5,131,24,123,195,96,166,232,241,194,54,130,162,109,220,};
-static uint8_t xchacha20_381[]={19,254,34,142,234,134,112,80,148,154,98,255,93,15,147,62,111,206,154,67,152,245,117,121,};
-static uint8_t xchacha20_382[]={239,166,88,51,124,185,196,60,81,191,218,132,33,119,242,80,231,186,116,237,11,160,0,19,6,14,85,118,145,196,215,193,207,209,152,103,225,90,179,54,247,134,36,226,26,227,170,179,253,133,11,176,234,137,65,207,93,164,132,200,251,106,207,226,231,130,49,14,180,75,158,202,75,7,187,10,};
-static uint8_t xchacha20_383[]={6,121,117,229,7,90,137,227,};
-static uint8_t xchacha20_384[]={210,11,233,5,166,79,7,226,34,66,235,96,11,209,225,150,102,164,74,170,176,98,233,41,195,120,232,230,131,241,57,192,104,102,75,57,139,249,194,162,172,128,224,242,253,243,46,62,56,232,106,226,204,56,251,64,66,121,184,129,114,223,224,44,78,197,28,117,187,66,12,207,253,132,194,136,};
-static uint8_t xchacha20_385[]={69,204,205,255,175,245,8,242,64,3,173,27,234,55,60,63,208,71,139,67,44,0,252,179,233,153,171,23,241,3,228,33,};
-static uint8_t xchacha20_386[]={227,121,85,233,189,74,181,58,68,222,126,10,249,201,88,39,240,1,188,207,202,249,90,181,};
-static uint8_t xchacha20_387[]={138,81,159,244,113,171,182,36,229,224,192,66,30,113,159,26,94,17,16,215,200,16,51,38,29,43,190,250,75,158,115,119,41,119,210,54,132,144,36,222,93,194,238,204,62,42,117,50,4,223,242,14,63,4,89,198,229,8,210,155,77,186,30,62,213,74,33,246,64,113,25,193,233,190,234,51,202,};
-static uint8_t xchacha20_388[]={45,255,18,167,193,90,24,65,};
-static uint8_t xchacha20_389[]={108,52,28,174,186,6,20,53,219,22,172,6,143,252,251,6,89,209,43,71,60,80,11,29,255,188,104,173,253,217,81,15,232,214,103,40,111,98,5,51,241,59,106,6,250,80,214,21,0,28,58,172,177,104,103,253,94,157,160,216,200,59,42,113,160,110,198,199,139,150,21,163,220,82,159,72,50,};
-static uint8_t xchacha20_390[]={38,83,206,129,110,182,62,213,179,77,78,105,98,23,56,220,92,171,40,25,87,22,207,51,120,212,145,57,135,86,234,190,};
-static uint8_t xchacha20_391[]={210,145,16,93,15,184,174,149,233,105,222,98,83,7,110,247,10,190,208,103,36,135,52,206,};
-static uint8_t xchacha20_392[]={31,47,42,197,103,97,27,226,44,1,133,175,124,175,218,223,138,58,94,31,189,151,115,62,73,130,127,141,229,171,120,113,45,46,23,29,225,66,32,179,158,178,68,211,98,107,210,74,76,224,17,246,208,183,22,97,121,99,238,171,216,54,91,254,196,169,19,140,176,65,122,92,95,28,164,218,244,70,};
-static uint8_t xchacha20_393[]={215,73,90,121,29,12,99,232,};
-static uint8_t xchacha20_394[]={86,12,158,247,188,71,130,5,187,172,138,224,207,237,180,30,20,199,185,78,220,169,8,204,105,38,134,228,157,175,33,24,209,85,192,77,241,37,26,19,172,201,189,146,26,83,39,98,10,33,192,13,90,107,237,5,247,222,13,63,131,66,214,37,58,16,217,229,180,89,137,155,39,206,215,91,140,57,};
-static uint8_t xchacha20_395[]={175,61,248,169,41,197,162,197,166,254,229,160,87,243,184,55,102,211,245,204,151,169,126,239,232,251,163,63,221,93,65,52,};
-static uint8_t xchacha20_396[]={97,134,103,41,132,200,108,32,194,71,52,229,131,31,115,192,32,246,91,99,115,235,95,194,};
-static uint8_t xchacha20_397[]={197,1,47,64,25,186,79,178,174,72,92,178,174,138,150,206,138,124,144,219,182,146,66,138,36,61,61,37,173,110,254,68,114,49,251,129,132,75,160,217,50,203,10,187,184,248,6,241,208,58,217,100,146,193,111,10,62,232,42,118,245,60,193,149,27,205,14,190,170,54,131,47,84,3,111,12,33,146,31,};
-static uint8_t xchacha20_398[]={67,246,235,103,97,66,60,62,};
-static uint8_t xchacha20_399[]={220,230,24,47,43,23,0,159,61,107,227,192,162,202,80,159,30,96,34,0,27,176,246,82,231,111,6,67,118,132,231,24,188,223,24,163,93,158,215,31,125,66,29,11,192,186,168,195,37,143,146,170,128,87,10,225,253,235,31,52,138,95,162,162,115,159,226,23,108,162,149,244,103,141,126,190,45,41,11,};
-static uint8_t xchacha20_400[]={253,122,55,110,215,58,107,210,38,156,201,188,130,98,127,191,37,53,45,204,105,23,214,99,136,71,251,217,67,41,175,205,};
-static uint8_t xchacha20_401[]={195,124,70,65,239,73,33,129,159,211,77,205,252,223,130,51,244,191,4,105,91,201,237,44,};
-static uint8_t xchacha20_402[]={94,212,52,72,242,218,215,66,92,199,74,98,128,240,140,133,40,157,161,16,83,199,182,243,69,181,99,167,179,22,29,227,149,180,202,15,148,129,78,239,178,116,82,204,79,156,82,109,89,12,86,197,24,55,65,110,13,127,225,98,216,209,234,233,158,177,83,172,190,66,100,51,193,162,95,210,100,110,204,42,};
-static uint8_t xchacha20_403[]={190,130,215,74,10,107,238,76,};
-static uint8_t xchacha20_404[]={202,218,26,5,89,41,144,175,124,45,95,215,211,144,37,25,52,232,0,27,19,233,54,125,218,124,157,75,169,97,15,248,165,64,165,83,156,127,249,165,209,160,242,36,118,202,96,220,108,2,91,101,247,75,144,91,49,229,248,145,20,82,188,185,213,208,212,231,205,40,232,184,30,93,210,202,242,26,224,58,};
-static uint8_t xchacha20_405[]={212,19,123,205,251,210,235,36,10,134,33,236,26,92,25,208,66,195,230,226,194,38,100,39,79,218,246,66,65,149,41,81,};
-static uint8_t xchacha20_406[]={111,144,15,9,157,161,97,125,57,211,112,160,21,108,240,186,151,62,74,128,236,186,77,210,};
-static uint8_t xchacha20_407[]={53,24,0,232,213,219,172,194,212,1,226,205,50,83,123,216,219,191,136,168,92,17,179,134,205,62,18,68,109,31,248,102,153,227,166,66,219,190,38,185,77,137,176,68,243,100,108,40,59,178,235,135,41,123,69,86,214,57,11,246,152,184,158,239,241,83,70,93,30,102,160,177,97,33,220,169,181,138,103,219,189,};
-static uint8_t xchacha20_408[]={181,103,177,191,230,61,51,35,};
-static uint8_t xchacha20_409[]={166,150,187,170,9,145,180,127,71,121,211,43,49,249,16,118,123,174,70,253,15,145,84,183,120,173,179,136,160,67,209,107,96,49,20,175,114,176,112,147,192,193,109,236,35,192,133,221,91,135,141,110,125,120,82,159,93,147,99,78,94,234,22,111,86,163,62,61,9,123,251,49,193,212,219,110,249,217,78,180,95,};
-static uint8_t xchacha20_410[]={222,250,202,26,233,92,45,151,90,225,78,95,171,2,175,66,66,179,31,38,108,231,127,237,65,126,220,35,8,155,111,218,};
-static uint8_t xchacha20_411[]={145,4,11,48,135,9,14,134,179,189,166,78,166,78,250,62,164,136,179,234,172,141,199,203,};
-static uint8_t xchacha20_412[]={21,57,107,116,140,95,253,101,168,102,9,87,205,134,237,190,23,123,161,80,67,222,232,42,195,197,46,137,115,65,149,110,27,143,228,61,146,33,236,81,115,227,162,225,176,117,140,144,77,245,238,247,87,246,240,225,34,6,228,116,113,121,22,241,27,125,166,236,84,179,164,194,75,42,222,117,84,123,71,244,105,243,};
-static uint8_t xchacha20_413[]={78,235,27,216,166,15,134,99,};
-static uint8_t xchacha20_414[]={108,180,252,162,5,212,14,129,136,252,181,191,159,38,25,222,142,248,115,109,102,217,96,14,39,206,27,183,145,53,113,188,100,6,44,19,62,175,245,42,153,64,146,197,108,145,222,9,179,204,213,153,125,130,252,129,251,185,56,94,163,201,132,54,42,164,179,181,38,12,101,123,55,222,10,115,23,234,32,78,15,2,};
-static uint8_t xchacha20_415[]={129,210,91,113,239,230,177,39,40,68,118,24,168,67,217,59,74,36,117,194,51,233,217,85,115,206,124,25,126,92,109,248,};
-static uint8_t xchacha20_416[]={229,118,87,225,220,25,58,184,52,31,245,25,88,95,231,73,131,13,155,55,1,150,103,215,};
-static uint8_t xchacha20_417[]={182,174,239,204,33,56,142,153,28,122,211,219,182,130,63,216,188,27,62,29,189,15,229,193,232,82,245,107,31,229,241,214,206,85,40,180,149,212,224,242,16,243,12,53,46,109,9,6,30,102,88,39,191,51,147,146,55,155,73,49,236,189,161,49,195,127,236,29,196,231,83,149,43,196,179,101,200,17,216,235,120,237,218,};
-static uint8_t xchacha20_418[]={109,117,134,203,175,123,30,138,};
-static uint8_t xchacha20_419[]={56,77,230,231,103,84,179,129,31,250,58,209,25,120,244,166,241,213,139,197,197,43,250,172,73,10,146,169,86,246,162,8,36,9,14,120,128,48,101,82,181,20,91,48,79,169,59,72,108,160,89,153,54,227,23,140,185,55,151,20,29,225,26,76,59,139,99,18,105,162,245,253,192,30,188,66,175,204,241,50,5,5,91,};
-static uint8_t xchacha20_420[]={13,209,141,120,86,157,245,127,58,139,181,192,66,7,97,127,255,27,200,15,224,221,122,110,231,174,49,188,25,148,65,123,};
-static uint8_t xchacha20_421[]={58,175,115,232,226,94,120,150,167,15,218,71,67,137,122,17,231,242,99,118,151,160,145,98,};
-static uint8_t xchacha20_422[]={191,249,135,110,74,253,20,158,152,250,127,178,212,242,59,221,127,208,214,127,158,63,76,193,205,108,154,179,174,214,47,5,15,8,56,162,186,72,159,28,197,154,121,76,102,63,36,213,208,87,21,43,128,33,29,102,165,248,147,103,207,19,93,195,184,50,35,63,180,85,154,179,176,107,16,224,104,179,85,43,217,75,139,24,};
-static uint8_t xchacha20_423[]={209,33,235,182,234,93,88,188,};
-static uint8_t xchacha20_424[]={1,214,209,20,113,214,79,35,244,23,168,238,123,240,152,163,120,22,196,47,223,140,156,37,206,186,128,0,31,189,22,17,30,28,201,251,217,161,58,91,191,71,55,219,96,77,5,212,194,190,222,40,100,67,175,105,117,41,215,152,247,114,179,186,157,6,224,22,121,218,132,161,30,86,194,71,221,135,132,224,79,148,245,74,};
-static uint8_t xchacha20_425[]={43,24,191,219,114,158,99,165,35,0,106,189,119,12,193,160,111,166,64,252,150,132,241,214,148,121,55,177,1,240,20,131,};
-static uint8_t xchacha20_426[]={137,122,101,193,90,181,78,255,135,24,14,158,111,176,78,245,188,28,13,17,249,80,63,18,};
-static uint8_t xchacha20_427[]={129,44,69,213,207,162,75,27,112,211,245,197,18,128,187,229,132,236,79,92,83,152,123,52,158,222,222,37,109,209,216,212,48,83,214,31,91,216,166,110,87,157,89,130,53,3,106,28,198,223,63,153,105,7,242,11,171,86,133,53,13,51,41,158,31,2,37,51,58,223,97,136,252,8,10,128,213,204,160,123,244,109,210,120,31,};
-static uint8_t xchacha20_428[]={53,135,172,244,185,148,31,245,};
-static uint8_t xchacha20_429[]={205,62,211,253,162,198,39,87,127,52,184,109,38,228,201,222,121,249,46,18,124,122,166,90,194,154,197,139,14,219,120,225,149,24,231,2,51,171,106,232,245,146,149,158,31,204,236,121,93,18,49,195,44,28,151,126,197,218,48,39,237,255,124,239,206,185,174,123,237,107,23,216,10,0,82,3,24,20,86,18,19,177,10,25,95,};
-static uint8_t xchacha20_430[]={93,177,220,88,134,175,75,204,88,56,21,89,181,198,15,132,170,122,170,219,239,57,207,91,50,62,22,60,84,213,104,255,};
-static uint8_t xchacha20_431[]={26,13,210,142,139,170,80,42,166,98,214,253,219,67,62,118,69,186,86,195,191,116,138,168,};
-static uint8_t xchacha20_432[]={126,118,1,198,225,102,135,21,16,143,24,31,105,5,132,46,25,99,197,5,225,182,223,164,38,92,96,84,186,55,2,226,187,84,72,58,92,42,118,120,12,65,222,162,234,21,160,162,16,18,107,24,20,76,180,173,42,145,51,96,158,16,161,5,223,151,67,73,131,63,93,105,53,160,160,251,206,0,214,211,76,28,193,92,154,94,};
-static uint8_t xchacha20_433[]={176,234,226,124,153,252,30,94,};
-static uint8_t xchacha20_434[]={160,64,150,20,231,85,104,131,161,92,198,75,194,255,178,0,210,157,247,207,132,245,200,94,83,30,4,59,193,242,15,123,23,103,213,57,160,160,41,229,226,23,41,125,67,58,46,205,179,141,73,226,162,195,146,219,212,29,55,47,48,48,28,61,162,192,120,207,52,229,65,233,176,82,16,236,179,214,39,203,110,206,143,231,165,209,};
-static uint8_t xchacha20_435[]={168,25,157,177,119,154,132,144,16,118,29,16,47,253,188,50,60,156,230,141,180,191,255,156,169,131,34,123,150,177,166,226,};
-static uint8_t xchacha20_436[]={76,15,151,255,121,226,142,50,61,32,64,53,220,252,186,165,27,202,22,123,92,42,109,76,};
-static uint8_t xchacha20_437[]={164,16,221,175,182,246,101,222,21,66,184,194,219,91,196,232,11,236,37,7,187,134,113,119,12,206,175,216,25,40,78,189,200,200,118,28,77,7,80,95,212,207,63,137,120,117,112,139,246,20,9,35,15,66,8,87,11,76,6,69,8,172,81,130,195,87,81,78,236,48,93,215,32,246,174,103,208,122,39,245,137,112,146,234,159,156,8,};
-static uint8_t xchacha20_438[]={83,229,149,207,99,248,127,180,};
-static uint8_t xchacha20_439[]={20,12,141,224,211,93,7,34,201,122,162,223,1,151,56,189,95,143,6,200,133,192,189,144,104,27,223,207,213,230,179,211,68,92,159,45,165,87,203,194,205,144,52,212,144,216,216,67,150,117,128,124,108,118,138,148,135,135,147,122,151,160,24,76,152,245,184,136,31,173,181,255,107,166,79,57,41,226,165,222,169,255,50,83,45,30,194,};
-static uint8_t xchacha20_440[]={165,158,80,40,2,105,199,202,242,254,49,143,88,121,123,155,113,1,181,103,212,37,248,159,46,107,240,7,142,94,84,123,};
-static uint8_t xchacha20_441[]={54,15,19,70,75,75,41,195,253,55,206,44,204,127,77,73,61,247,69,234,110,75,21,155,};
-static uint8_t xchacha20_442[]={126,251,169,96,27,146,231,180,55,60,135,12,15,73,88,197,84,111,81,102,136,178,83,236,176,227,231,18,108,136,193,237,231,115,127,110,20,197,128,95,227,166,35,190,110,100,220,175,8,239,201,246,10,116,234,69,53,243,74,195,42,85,174,212,127,242,227,254,12,169,152,116,126,40,108,211,91,247,239,252,228,10,249,129,54,255,187,230,};
-static uint8_t xchacha20_443[]={32,204,86,48,246,130,194,151,};
-static uint8_t xchacha20_444[]={136,176,153,222,210,54,228,39,247,17,66,32,154,121,0,14,22,211,228,193,102,26,206,215,234,111,205,132,221,95,85,137,216,244,195,248,135,65,117,50,246,93,18,239,138,218,151,75,49,80,208,171,163,66,188,47,25,20,226,205,122,129,9,225,215,0,194,89,158,196,184,71,119,151,255,108,197,209,196,184,252,252,135,84,27,78,94,104,};
-static uint8_t xchacha20_445[]={250,213,245,228,130,201,146,24,101,88,182,216,36,252,187,41,95,246,124,169,127,193,4,160,156,122,37,45,253,120,200,60,};
-static uint8_t xchacha20_446[]={76,189,119,129,110,222,118,98,169,110,9,173,13,144,159,113,75,123,183,125,107,87,25,139,};
-static uint8_t xchacha20_447[]={10,124,196,125,133,210,21,79,149,88,56,86,142,184,149,58,209,139,98,250,4,157,248,243,2,4,62,131,76,202,162,234,221,56,130,6,23,165,64,180,110,101,193,72,174,191,231,204,127,63,143,209,1,243,182,32,38,122,149,52,52,201,222,97,135,251,142,113,48,221,166,188,139,191,214,249,207,150,152,35,170,190,157,232,192,64,2,148,230,};
-static uint8_t xchacha20_448[]={152,220,188,21,25,48,184,4,};
-static uint8_t xchacha20_449[]={35,197,185,203,111,148,148,244,217,40,176,230,112,167,84,25,0,91,211,88,65,45,20,126,47,37,16,205,253,65,253,91,168,228,239,191,180,174,116,130,172,225,153,98,88,38,155,35,81,110,160,62,211,25,133,132,244,58,108,182,113,155,59,105,63,246,2,136,229,10,128,28,199,137,95,157,255,45,178,25,19,85,122,153,153,123,244,117,20,};
-static uint8_t xchacha20_450[]={55,166,107,152,37,183,122,48,33,15,77,86,21,116,167,120,18,25,85,254,48,205,150,230,52,229,154,62,214,236,102,150,};
-static uint8_t xchacha20_451[]={72,83,249,33,224,145,129,57,255,183,92,14,87,109,27,132,179,198,238,212,251,219,230,153,};
-static uint8_t xchacha20_452[]={82,64,195,248,151,220,95,68,46,200,203,195,98,154,195,248,212,239,19,134,105,89,72,181,166,165,100,53,18,47,111,95,166,153,98,86,93,53,34,134,40,150,32,196,200,117,25,199,85,180,64,5,172,217,4,159,25,36,1,123,75,226,137,34,212,191,10,174,194,153,246,173,127,250,20,100,210,100,247,69,148,225,4,67,69,97,68,117,12,63,};
-static uint8_t xchacha20_453[]={154,230,160,87,52,177,226,128,};
-static uint8_t xchacha20_454[]={15,238,48,80,244,56,154,58,166,23,76,101,57,177,199,229,72,146,24,163,85,217,203,43,201,197,156,50,147,125,198,185,143,149,226,156,54,86,13,76,254,127,81,114,176,40,33,232,189,175,81,148,247,63,58,169,228,24,172,254,30,247,142,117,250,8,169,127,29,190,30,169,94,41,174,11,53,177,54,153,96,7,137,224,151,219,243,228,104,102,};
-static uint8_t xchacha20_455[]={248,97,49,172,170,227,116,73,53,153,173,221,21,85,125,136,233,63,37,42,137,119,20,172,155,201,43,230,187,16,13,216,};
-static uint8_t xchacha20_456[]={137,181,223,111,94,208,219,112,92,76,63,175,90,227,170,211,10,209,144,211,26,92,16,3,};
-static uint8_t xchacha20_457[]={203,74,236,149,100,175,18,201,199,117,11,174,50,207,85,246,87,58,225,197,21,23,81,205,183,11,168,85,5,253,13,51,91,227,19,98,224,238,66,33,20,77,50,238,156,180,97,168,28,198,156,52,183,245,142,46,237,222,226,35,47,207,199,110,15,133,0,89,19,157,51,142,229,24,81,76,152,132,181,94,219,180,104,153,176,10,198,25,114,199,155,};
-static uint8_t xchacha20_458[]={151,110,213,68,206,129,115,225,};
-static uint8_t xchacha20_459[]={59,197,161,103,84,165,50,52,6,215,98,114,117,213,175,134,101,68,110,11,175,118,202,25,91,123,135,253,189,78,63,234,214,146,148,155,4,132,202,86,108,10,9,221,210,90,74,125,215,74,49,50,146,158,113,199,218,184,167,79,37,23,190,34,176,197,199,64,52,166,56,43,122,241,30,151,177,183,78,61,9,49,206,133,157,48,154,163,202,65,43,};
-static uint8_t xchacha20_460[]={217,0,84,208,234,6,223,23,15,180,118,243,185,206,125,21,64,174,111,145,240,196,78,120,81,227,214,69,49,226,15,189,};
-static uint8_t xchacha20_461[]={215,89,112,109,210,72,102,255,172,129,73,186,26,144,79,166,94,73,194,202,8,103,228,23,};
-static uint8_t xchacha20_462[]={155,21,15,0,120,219,18,223,9,179,37,25,255,179,24,60,38,136,81,233,170,150,140,180,120,21,90,163,202,193,69,218,134,154,221,22,10,162,153,72,70,227,87,187,34,194,146,192,206,183,68,98,173,69,2,159,140,237,0,32,121,30,106,4,23,138,239,217,182,171,92,14,170,74,233,183,245,190,85,102,250,216,138,176,104,30,54,1,222,133,179,176,};
-static uint8_t xchacha20_463[]={145,58,83,110,19,176,53,159,};
-static uint8_t xchacha20_464[]={177,32,208,245,158,182,20,244,91,123,76,161,224,243,141,217,57,149,12,102,153,23,8,50,74,96,4,24,16,25,253,205,46,35,178,10,186,135,28,114,245,181,95,64,236,201,199,228,201,105,59,118,118,124,2,23,197,63,221,237,10,91,171,101,40,170,25,91,165,78,135,246,20,203,173,75,86,199,146,161,123,90,240,126,83,242,226,50,105,189,149,174,};
-static uint8_t xchacha20_465[]={223,82,1,102,6,126,138,81,196,121,90,194,211,237,21,31,31,48,128,78,209,22,12,190,11,72,107,93,21,200,174,51,};
-static uint8_t xchacha20_466[]={7,240,104,155,117,58,11,217,201,46,44,187,56,35,48,96,37,135,56,19,178,170,247,158,};
-static uint8_t xchacha20_467[]={86,32,236,183,227,216,248,29,188,131,236,85,83,188,40,49,128,196,56,196,50,248,63,197,163,48,35,93,171,54,237,242,22,107,145,255,30,254,112,157,126,128,199,37,122,69,142,64,243,133,109,131,57,227,228,105,18,133,117,15,163,225,150,35,127,129,49,229,184,74,14,112,212,16,85,221,99,46,160,181,183,53,224,15,82,3,58,253,204,253,247,14,70,};
-static uint8_t xchacha20_468[]={184,167,73,119,235,154,203,15,};
-static uint8_t xchacha20_469[]={57,169,168,185,204,53,208,222,94,180,83,41,22,211,86,131,239,81,179,165,52,72,92,59,127,204,99,59,96,178,182,66,124,171,181,189,218,180,153,106,163,101,150,205,154,181,84,68,40,104,84,124,203,168,21,188,196,80,185,117,47,244,203,130,46,241,233,203,83,1,87,249,131,144,0,84,161,5,18,248,180,85,161,237,56,195,146,236,13,46,173,70,222,};
-static uint8_t xchacha20_470[]={136,85,199,152,31,228,194,158,142,230,89,68,250,31,242,136,116,20,244,22,142,244,1,152,21,44,107,144,32,46,144,74,};
-static uint8_t xchacha20_471[]={189,58,205,29,12,84,20,192,183,51,71,99,91,78,70,55,43,141,172,235,211,187,28,139,};
-static uint8_t xchacha20_472[]={123,9,97,168,72,142,69,217,164,97,104,172,204,4,131,232,74,38,167,253,123,42,144,155,40,54,50,66,79,181,114,184,38,186,15,253,70,41,119,182,183,222,12,219,206,14,163,122,178,113,20,239,150,118,168,105,16,126,136,195,136,151,215,12,147,118,36,193,54,163,62,158,216,105,19,100,103,140,247,181,182,242,222,9,22,63,50,156,68,30,131,172,21,46,};
-static uint8_t xchacha20_473[]={69,20,84,252,114,186,74,245,};
-static uint8_t xchacha20_474[]={157,192,26,12,161,41,206,187,7,70,211,186,123,134,26,60,14,124,209,238,248,193,61,48,117,93,133,155,236,48,57,31,96,156,93,62,141,54,215,41,70,19,8,142,240,12,48,243,229,83,134,243,60,21,209,5,20,27,141,197,137,38,177,222,216,185,55,115,207,101,216,133,76,20,52,153,250,143,22,211,20,16,200,16,9,217,134,137,58,27,145,89,162,136,};
-static uint8_t xchacha20_475[]={97,143,40,212,174,165,209,141,34,16,68,85,174,163,10,97,179,28,231,21,22,28,232,135,164,18,6,94,232,231,105,252,};
-static uint8_t xchacha20_476[]={161,184,28,11,176,216,108,157,99,113,139,173,217,163,138,235,126,83,140,69,42,69,205,75,};
-static uint8_t xchacha20_477[]={140,14,37,253,180,47,136,213,97,97,21,50,144,183,62,94,137,16,134,243,23,85,111,66,104,218,136,175,116,42,137,14,37,79,219,246,52,198,116,242,10,69,124,145,238,253,231,0,234,9,179,83,171,184,148,216,48,8,254,122,193,7,94,112,158,39,154,12,33,41,147,34,133,157,6,234,149,24,130,235,154,137,38,138,129,167,107,160,53,110,49,192,98,242,173,};
-static uint8_t xchacha20_478[]={191,252,89,111,245,61,104,255,};
-static uint8_t xchacha20_479[]={255,72,197,121,95,144,89,197,110,197,61,214,106,73,24,60,69,132,121,220,188,30,90,75,67,240,169,10,69,204,4,42,67,50,60,241,235,14,223,33,209,156,85,160,47,3,208,191,124,99,125,139,229,231,198,43,236,114,139,78,217,25,165,22,147,223,153,213,19,9,216,88,205,80,64,2,87,232,120,65,112,200,245,156,202,99,181,59,36,173,121,91,182,135,76,};
-static uint8_t xchacha20_480[]={152,46,193,213,16,195,144,190,54,169,203,3,35,140,48,234,41,218,59,120,232,200,109,85,180,3,83,145,162,248,26,71,};
-static uint8_t xchacha20_481[]={151,54,95,190,144,2,187,14,194,234,29,67,134,96,17,254,172,200,243,138,28,49,162,0,};
-static uint8_t xchacha20_482[]={26,167,138,141,88,33,121,216,103,56,100,242,205,110,39,155,10,28,191,170,37,232,193,132,206,76,171,112,110,249,168,249,61,155,12,56,222,177,118,24,207,215,112,84,21,237,228,84,229,239,38,136,30,62,199,97,75,99,179,29,60,136,248,172,62,95,15,180,188,223,219,154,56,253,58,205,175,183,251,66,12,22,117,142,90,236,21,212,233,209,93,207,68,6,222,0,};
-static uint8_t xchacha20_483[]={237,234,102,12,255,211,131,200,};
-static uint8_t xchacha20_484[]={201,67,99,52,31,23,135,76,250,102,208,6,9,78,73,66,87,161,214,241,146,42,150,27,124,56,219,112,208,19,10,149,149,245,9,88,65,199,135,186,139,61,49,150,171,42,219,82,65,89,19,49,150,194,250,192,29,41,249,245,203,107,16,83,189,170,92,153,251,231,126,102,222,126,91,50,218,5,94,0,204,202,110,131,194,24,104,69,84,160,26,5,21,232,232,136,};
-static uint8_t xchacha20_485[]={207,9,172,172,0,11,51,247,125,10,5,241,53,7,152,68,84,123,246,243,229,97,128,150,245,26,46,56,181,95,67,184,};
-static uint8_t xchacha20_486[]={142,101,119,128,97,113,94,235,149,62,150,152,201,59,99,40,200,174,153,206,152,251,89,25,};
-static uint8_t xchacha20_487[]={211,90,206,151,132,95,152,211,121,233,116,54,101,217,27,175,89,187,123,57,116,1,68,204,49,170,240,154,202,181,39,235,249,251,35,223,129,17,209,58,61,44,167,129,227,138,81,226,35,96,141,182,16,208,225,69,79,121,177,166,147,253,113,174,196,24,59,63,208,219,14,209,75,189,112,96,146,74,126,225,87,30,155,209,243,24,29,22,175,140,86,238,9,221,162,152,139,};
-static uint8_t xchacha20_488[]={228,34,20,207,142,147,191,165,};
-static uint8_t xchacha20_489[]={23,141,170,69,80,26,205,169,138,122,57,22,232,51,85,13,230,248,119,209,126,4,163,117,173,1,131,77,231,231,120,180,118,130,75,111,8,12,139,156,73,174,143,218,74,174,128,162,244,87,107,152,29,182,177,26,4,196,106,66,20,130,71,191,174,108,143,40,104,211,58,91,215,145,79,195,130,215,37,76,137,115,42,174,67,251,217,136,131,29,236,102,239,159,92,211,156,};
-static uint8_t xchacha20_490[]={234,177,129,201,131,45,109,65,87,150,165,193,142,192,217,42,116,159,221,148,249,247,38,213,26,141,223,73,148,122,232,199,};
-static uint8_t xchacha20_491[]={1,121,223,21,39,120,125,61,60,177,111,231,122,166,238,108,223,200,57,57,175,156,214,114,};
-static uint8_t xchacha20_492[]={216,241,67,155,20,247,172,47,141,1,250,36,186,15,252,159,226,214,122,155,25,55,220,64,129,147,33,221,114,138,188,35,214,81,109,251,140,208,140,10,230,254,242,133,201,22,0,146,212,176,7,51,102,96,232,65,145,82,209,118,91,54,239,71,65,151,151,166,141,116,250,74,12,84,162,122,145,104,31,231,174,146,27,73,167,25,173,221,160,217,121,223,102,209,20,151,100,233,};
-static uint8_t xchacha20_493[]={193,60,3,74,195,34,230,230,};
-static uint8_t xchacha20_494[]={11,217,89,161,89,151,231,7,190,177,249,78,245,168,141,192,0,253,107,247,57,100,96,181,148,62,68,34,170,91,49,172,80,233,236,208,109,223,99,7,158,198,81,175,171,169,100,183,106,73,56,160,223,238,235,54,112,103,13,178,150,192,168,183,222,68,174,87,79,205,27,222,106,91,159,25,52,30,234,182,103,185,18,194,24,220,62,176,109,120,206,246,42,226,224,193,53,239,};
-static uint8_t xchacha20_495[]={160,12,222,150,73,93,181,250,62,190,66,177,38,223,230,21,215,47,216,244,102,239,118,110,104,198,86,154,146,243,251,197,};
-static uint8_t xchacha20_496[]={174,105,53,52,251,90,192,131,138,105,11,64,145,27,228,28,25,148,128,21,233,28,221,229,};
-static uint8_t xchacha20_497[]={170,10,148,238,131,11,238,80,7,74,29,148,108,172,85,209,167,2,19,173,143,43,250,112,46,52,96,127,167,113,9,90,25,157,25,27,196,235,245,226,119,78,225,133,179,64,112,92,243,130,43,148,201,112,42,6,255,253,85,176,207,223,154,249,190,19,130,194,227,193,67,242,63,125,174,240,236,66,252,142,24,98,226,180,105,228,198,1,2,116,106,213,134,238,27,30,88,133,254,};
-static uint8_t xchacha20_498[]={152,215,215,19,67,89,218,45,};
-static uint8_t xchacha20_499[]={157,82,107,11,31,202,143,17,146,166,185,76,250,15,135,213,70,40,209,68,90,253,175,123,147,77,153,113,9,226,170,23,137,31,180,33,98,246,129,47,190,139,253,198,255,217,78,240,181,187,1,138,171,116,149,115,56,103,246,107,187,251,50,87,193,161,78,45,192,22,119,91,255,216,88,139,120,97,156,53,43,26,44,177,246,226,21,68,179,215,217,180,178,76,207,3,249,247,88,};
-static uint8_t xchacha20_500[]={227,242,250,63,241,147,9,95,28,137,219,250,204,33,17,209,204,205,171,3,248,133,14,151,43,37,109,222,182,76,101,41,};
-static uint8_t xchacha20_501[]={97,116,171,152,67,173,118,66,110,159,120,30,218,70,240,167,217,88,219,163,13,228,193,239,};
-static uint8_t xchacha20_502[]={9,7,109,171,126,228,51,26,75,165,56,245,131,88,0,126,15,141,55,31,139,189,170,190,152,40,214,37,138,104,154,102,201,69,59,102,167,200,216,107,177,93,183,241,88,47,3,31,250,10,43,86,90,83,116,250,112,233,189,204,234,35,220,218,81,25,233,199,126,46,177,39,62,172,105,244,50,161,82,112,220,40,63,17,248,87,233,64,10,166,128,213,34,185,88,189,197,99,29,114,};
-static uint8_t xchacha20_503[]={245,209,224,112,30,251,115,210,};
-static uint8_t xchacha20_504[]={123,215,206,94,96,69,1,47,172,119,185,141,118,128,152,68,252,58,9,255,242,127,69,46,90,129,152,117,207,109,172,224,63,206,92,85,40,204,242,62,66,202,68,176,204,116,104,160,90,101,154,110,139,24,154,157,135,239,228,26,173,72,129,20,80,3,11,2,229,99,172,30,176,17,203,239,154,6,87,92,40,114,38,81,35,145,111,130,124,111,55,157,184,206,139,75,30,226,87,197,};
-static uint8_t xchacha20_505[]={10,58,251,156,172,195,143,62,120,106,130,248,129,138,96,113,175,166,154,239,193,139,22,18,84,177,155,56,203,72,237,251,};
-static uint8_t xchacha20_506[]={8,22,157,160,90,176,139,39,45,207,43,50,109,75,109,132,122,252,190,235,142,95,110,120,};
-static uint8_t xchacha20_507[]={82,40,46,113,192,134,58,22,102,76,202,66,112,91,228,76,140,218,238,39,84,113,208,25,169,230,148,152,247,223,90,98,237,175,223,206,20,29,33,79,137,96,87,195,15,56,112,231,154,209,121,30,6,211,62,179,49,81,6,209,132,129,35,144,138,241,48,62,233,154,99,83,35,30,3,20,171,19,216,5,51,128,21,209,31,149,237,63,180,52,146,161,248,29,1,166,11,240,55,225,32,};
-static uint8_t xchacha20_508[]={108,254,106,37,90,111,242,116,};
-static uint8_t xchacha20_509[]={107,160,250,86,225,83,89,53,42,174,197,109,73,38,181,238,112,159,170,46,112,7,210,65,177,146,198,104,190,26,151,141,16,89,97,143,223,77,101,216,40,210,88,17,221,114,203,89,34,110,84,115,178,34,168,143,163,230,183,26,254,253,87,70,37,164,90,172,32,113,101,15,210,136,15,0,162,125,18,243,36,198,62,225,71,90,130,15,91,195,177,32,64,97,186,142,8,191,40,17,219,};
-static uint8_t xchacha20_510[]={34,61,143,184,218,1,241,231,83,41,159,202,112,116,208,20,217,37,227,105,33,88,21,209,142,198,214,200,187,90,114,114,};
-static uint8_t xchacha20_511[]={79,127,229,120,120,131,137,226,221,19,130,216,121,247,248,220,16,157,160,68,88,13,113,42,};
-static uint8_t xchacha20_512[]={116,197,72,218,143,49,228,119,250,103,105,73,87,189,48,160,154,211,130,239,185,159,152,228,135,135,137,92,247,39,164,7,34,221,166,61,229,233,152,170,96,62,242,114,52,17,32,150,252,218,101,201,7,156,215,59,29,80,216,218,158,92,150,88,152,130,4,174,72,242,6,116,113,143,171,12,15,116,42,96,187,191,85,38,139,133,156,119,31,22,142,157,221,39,85,180,140,84,213,114,66,190,};
-static uint8_t xchacha20_513[]={13,153,137,242,206,137,84,0,};
-static uint8_t xchacha20_514[]={243,88,154,222,99,249,224,184,28,155,26,202,167,126,184,228,82,190,53,88,190,153,158,158,69,142,120,50,29,58,11,201,123,54,39,245,220,188,253,49,85,59,103,154,85,185,91,130,111,38,227,40,38,60,159,61,188,150,224,23,195,124,237,100,48,206,44,168,30,148,203,126,242,166,196,71,154,37,201,100,240,56,55,139,167,158,9,20,86,122,137,63,32,79,137,9,161,97,171,148,42,135,};
-static uint8_t xchacha20_515[]={41,7,197,84,3,234,233,176,175,167,2,181,153,94,130,99,29,48,207,48,91,109,230,235,252,134,218,34,124,228,103,251,};
-static uint8_t xchacha20_516[]={153,55,193,234,98,104,149,167,101,230,137,184,198,31,209,179,108,39,87,94,140,250,176,113,};
-static uint8_t xchacha20_517[]={255,41,60,70,61,10,215,109,78,202,212,166,72,250,153,42,92,88,47,214,212,145,178,93,220,86,185,173,248,14,49,183,164,185,140,42,58,32,78,176,237,174,74,75,80,89,164,68,220,76,123,246,106,210,139,168,177,60,152,235,186,9,116,51,186,163,172,217,65,93,124,6,19,234,193,157,234,228,214,159,184,77,53,150,5,18,102,75,26,249,236,145,76,17,242,25,129,5,211,238,169,84,56,};
-static uint8_t xchacha20_518[]={126,91,29,38,106,20,76,19,};
-static uint8_t xchacha20_519[]={208,233,167,145,167,138,209,163,155,26,163,28,104,54,5,107,82,32,200,181,14,44,247,132,242,203,89,94,112,255,125,155,35,52,182,121,226,207,171,30,37,148,28,15,192,26,53,177,120,115,190,122,102,53,233,26,171,1,67,155,63,92,171,143,240,205,160,169,208,228,209,224,52,156,59,100,181,29,217,253,115,139,108,194,136,245,47,242,43,134,146,184,46,205,183,39,125,243,53,143,34,1,160,};
-static uint8_t xchacha20_520[]={57,159,4,122,68,18,217,251,87,128,181,105,6,44,199,143,185,254,68,117,113,62,1,43,130,19,121,222,60,37,129,224,};
-static uint8_t xchacha20_521[]={210,26,220,249,154,225,226,204,232,254,177,137,85,54,146,201,236,147,226,150,216,187,249,220,};
-static uint8_t xchacha20_522[]={154,187,42,247,113,99,211,116,68,115,246,13,140,178,23,241,61,51,43,243,227,69,242,25,109,80,154,170,136,26,131,62,116,178,75,191,63,164,6,14,69,216,132,147,78,82,150,88,129,70,51,82,245,23,193,6,12,69,243,7,236,185,14,35,64,60,151,98,236,220,148,210,100,151,133,235,253,35,156,193,115,68,188,254,153,90,104,157,96,5,189,189,152,219,59,78,31,168,191,25,172,251,185,24,};
-static uint8_t xchacha20_523[]={240,165,83,71,137,38,171,38,};
-static uint8_t xchacha20_524[]={144,32,234,115,236,229,38,84,200,6,203,230,29,214,19,3,0,247,8,106,137,86,105,178,17,187,228,239,14,163,244,220,255,182,101,165,146,49,158,172,6,188,42,122,239,217,106,135,91,168,96,72,194,238,78,170,179,211,9,160,184,4,218,55,18,98,235,219,112,134,181,47,47,148,89,117,191,131,135,39,95,141,187,80,251,0,135,141,215,164,192,144,134,167,111,50,109,145,104,245,254,167,58,98,};
-static uint8_t xchacha20_525[]={219,193,32,0,82,92,120,86,246,71,211,155,49,193,107,252,250,118,207,66,60,145,236,237,54,232,174,166,146,181,118,177,};
-static uint8_t xchacha20_526[]={254,49,110,216,190,94,30,243,71,194,136,149,188,27,240,177,55,85,24,108,84,207,237,201,};
-static uint8_t xchacha20_527[]={61,124,93,128,195,242,189,130,80,64,73,171,40,253,152,204,226,110,111,90,143,134,148,152,90,38,57,160,60,241,70,7,117,137,52,165,12,71,106,107,193,34,236,186,86,17,9,109,154,38,109,41,47,81,27,44,133,23,48,193,231,17,201,44,160,233,190,191,36,86,40,218,234,143,39,1,123,108,190,84,33,91,230,68,96,124,64,180,4,186,87,228,59,234,22,73,83,14,104,249,155,22,215,30,100,};
-static uint8_t xchacha20_528[]={241,223,240,124,0,149,218,167,};
-static uint8_t xchacha20_529[]={13,104,255,243,185,87,132,171,123,159,139,92,83,2,229,141,128,114,5,249,73,239,109,58,171,228,155,5,184,168,188,144,210,255,83,92,229,251,53,169,168,154,6,165,145,215,122,121,167,135,14,174,14,39,185,171,54,192,253,53,104,111,44,24,175,191,102,157,237,54,152,122,214,114,252,223,171,150,168,141,166,196,247,57,3,186,9,164,98,251,17,172,225,11,124,105,107,194,90,160,80,225,198,33,49,};
-static uint8_t xchacha20_530[]={132,192,27,48,13,201,239,68,49,36,229,22,234,186,207,199,62,169,42,8,26,139,139,147,235,79,65,161,118,19,104,52,};
-static uint8_t xchacha20_531[]={203,116,36,190,159,149,218,45,72,158,28,137,102,158,135,243,144,197,213,34,89,135,13,237,};
-static uint8_t xchacha20_532[]={255,15,145,219,228,219,10,78,227,187,121,117,119,174,231,32,76,96,89,207,91,199,226,73,178,50,106,208,95,193,247,77,217,132,137,114,92,208,161,134,34,241,233,109,237,203,80,23,57,71,119,209,116,199,175,239,96,201,200,126,102,170,59,111,127,190,7,225,106,146,2,47,209,112,195,64,212,155,129,193,174,183,90,162,10,137,193,84,122,11,181,64,164,127,75,224,57,140,233,45,230,213,152,230,86,62,};
-static uint8_t xchacha20_533[]={211,75,251,157,126,119,68,0,};
-static uint8_t xchacha20_534[]={69,88,190,196,179,187,120,28,56,82,249,241,108,236,216,217,47,250,3,54,176,148,55,187,217,240,160,124,54,182,125,7,19,157,142,61,202,190,41,250,14,194,19,115,114,8,200,214,169,14,232,164,1,105,35,199,160,84,10,63,72,51,167,211,7,25,180,153,125,252,207,201,199,246,197,237,69,239,203,200,130,40,238,192,220,85,57,79,125,32,185,122,159,206,202,251,243,99,164,188,184,213,254,28,169,2,};
-static uint8_t xchacha20_535[]={213,122,214,6,154,31,129,1,2,182,100,138,246,53,66,143,201,26,250,92,225,188,8,240,123,190,153,193,249,211,47,49,};
-static uint8_t xchacha20_536[]={31,233,211,3,194,172,29,230,60,236,53,21,139,121,165,127,2,195,159,122,10,129,83,202,};
-static uint8_t xchacha20_537[]={139,235,28,195,31,28,240,156,50,228,210,109,139,112,200,198,188,104,151,19,62,66,60,5,175,178,255,132,62,54,88,33,167,122,215,100,242,136,231,126,151,212,20,129,195,149,141,23,35,163,255,85,37,96,215,228,101,222,151,131,131,1,7,170,204,182,95,18,103,66,117,39,118,125,20,59,86,22,137,80,183,225,0,50,164,158,165,51,75,160,167,156,127,136,129,130,210,1,2,155,231,178,71,204,139,176,43,};
-static uint8_t xchacha20_538[]={194,218,130,110,72,148,228,132,};
-static uint8_t xchacha20_539[]={81,77,64,177,185,35,150,67,47,118,96,76,144,7,164,37,46,90,191,76,255,215,221,210,137,80,137,39,99,127,139,151,37,70,72,58,70,122,12,135,112,163,75,233,167,129,135,247,193,106,64,47,27,85,164,144,89,2,226,133,179,224,185,185,226,24,219,59,40,33,118,168,105,1,205,55,62,24,56,170,191,251,178,68,52,130,71,111,169,18,183,137,210,65,236,187,159,225,125,93,228,120,191,160,16,136,134,};
-static uint8_t xchacha20_540[]={16,175,49,186,38,8,237,13,180,157,224,76,81,219,162,126,209,7,170,93,161,87,230,52,202,197,23,210,21,165,157,136,};
-static uint8_t xchacha20_541[]={73,243,190,166,63,234,237,95,46,157,166,132,180,69,90,168,34,200,39,44,170,208,92,65,};
-static uint8_t xchacha20_542[]={29,219,254,35,18,80,253,71,187,201,163,141,215,91,47,34,92,72,0,65,11,173,39,253,98,139,141,159,56,94,17,129,64,83,174,238,218,219,94,18,235,46,133,124,85,112,191,110,95,157,35,192,208,162,52,79,70,59,100,197,115,151,193,234,95,186,149,103,215,170,19,119,144,230,249,50,71,229,66,199,184,118,54,143,52,55,153,132,209,164,71,183,166,198,91,132,136,130,167,87,27,189,221,216,187,180,75,110,};
-static uint8_t xchacha20_543[]={112,143,43,131,170,176,64,8,};
-static uint8_t xchacha20_544[]={251,57,127,237,92,245,237,233,158,159,50,121,47,55,126,32,213,196,135,210,35,166,45,118,69,157,108,41,174,98,45,37,101,3,112,179,232,192,116,159,10,55,140,21,5,21,254,146,53,161,12,216,25,198,240,29,97,117,132,64,129,191,15,3,34,35,230,45,138,80,56,222,135,216,184,139,4,241,244,181,165,39,156,254,99,119,171,237,0,147,154,38,100,164,36,97,10,2,141,192,39,162,146,146,28,244,197,252,};
-static uint8_t xchacha20_545[]={4,28,85,14,237,61,130,194,53,108,165,0,171,158,0,238,71,91,175,227,186,210,195,157,74,87,0,98,10,141,160,35,};
-static uint8_t xchacha20_546[]={193,120,218,42,193,184,18,122,32,179,103,202,17,157,192,156,12,145,138,66,70,254,180,208,};
-static uint8_t xchacha20_547[]={96,154,229,66,195,244,58,122,8,206,135,142,37,190,195,184,51,229,13,136,174,127,158,122,29,227,160,229,88,195,195,247,134,252,3,161,65,83,67,234,125,191,86,70,64,133,162,203,195,181,65,136,7,219,237,119,87,174,54,214,62,239,243,243,233,224,252,23,52,128,234,105,27,94,139,125,111,71,58,190,150,14,94,134,67,201,179,1,68,130,189,224,136,182,114,2,78,49,144,30,242,159,174,42,54,75,212,114,145,};
-static uint8_t xchacha20_548[]={155,78,213,62,102,129,72,236,};
-static uint8_t xchacha20_549[]={159,185,45,134,0,76,37,164,239,232,214,2,6,4,56,136,48,165,120,138,198,182,27,134,246,189,100,243,133,50,235,46,161,80,14,194,121,102,50,81,201,45,203,114,165,121,20,227,143,13,199,194,174,78,61,167,248,246,235,110,182,157,187,200,49,119,148,141,238,27,215,250,255,5,60,246,253,45,128,244,47,125,121,187,66,131,158,125,207,204,40,85,28,19,21,219,48,212,51,145,250,67,58,217,99,138,91,6,119,};
-static uint8_t xchacha20_550[]={46,99,195,73,113,200,244,254,209,92,217,37,126,209,202,180,107,249,100,147,51,42,103,9,118,243,194,119,183,186,254,107,};
-static uint8_t xchacha20_551[]={48,197,179,73,113,16,253,63,10,5,7,84,3,130,42,48,35,229,58,155,183,17,204,194,};
-static uint8_t xchacha20_552[]={58,160,106,157,241,28,255,41,134,107,135,141,132,199,153,31,26,144,179,171,197,138,14,236,140,26,218,119,49,199,192,112,233,245,109,101,78,51,164,99,15,78,155,174,190,31,255,191,39,97,238,27,58,91,91,31,217,213,76,174,151,148,92,69,2,46,253,63,27,214,185,16,46,160,243,77,77,165,234,110,183,95,162,63,111,231,66,227,243,159,252,59,80,99,43,67,73,51,23,89,163,51,58,182,250,141,146,31,137,245,};
-static uint8_t xchacha20_553[]={42,126,135,240,160,141,80,141,};
-static uint8_t xchacha20_554[]={96,1,144,1,173,96,94,181,201,0,53,232,156,174,4,238,175,107,174,55,118,98,127,79,9,131,182,6,65,237,102,49,17,139,160,245,85,107,77,130,84,89,32,85,191,3,140,103,25,169,212,23,19,116,112,192,36,112,184,91,25,99,232,237,255,48,190,17,61,12,13,91,9,196,14,243,130,9,64,19,143,170,9,106,70,81,105,234,129,86,111,140,236,97,125,194,144,181,44,169,75,110,75,255,206,229,92,206,171,200,};
-static uint8_t xchacha20_555[]={103,41,235,75,32,254,171,187,159,41,174,152,46,234,37,110,59,114,66,27,119,21,206,104,55,69,104,244,109,178,200,215,};
-static uint8_t xchacha20_556[]={127,48,6,28,137,65,211,104,185,186,33,4,218,196,18,202,254,43,120,125,179,119,18,37,};
-static uint8_t xchacha20_557[]={28,69,103,33,94,48,48,243,192,68,158,23,132,208,196,251,91,32,52,85,218,94,76,209,12,74,62,249,124,106,158,180,248,162,189,51,114,21,141,8,36,202,6,207,235,3,50,254,45,33,27,35,192,198,151,200,242,163,53,244,30,168,223,235,159,44,27,65,50,6,134,237,164,179,138,58,233,246,88,45,252,44,29,166,26,206,145,153,216,148,113,138,99,91,86,177,220,124,57,195,60,225,75,128,144,20,63,58,252,232,48,};
-static uint8_t xchacha20_558[]={59,236,147,25,101,170,191,139,};
-static uint8_t xchacha20_559[]={222,245,82,92,139,148,173,149,209,194,131,151,159,112,87,133,161,165,58,134,161,250,215,69,68,165,102,155,164,60,98,125,135,190,140,59,141,4,79,44,154,23,45,9,110,161,155,186,246,58,209,237,91,111,14,173,69,47,152,156,128,51,43,8,118,16,38,165,188,40,205,90,99,119,64,36,26,58,187,59,39,181,28,154,251,217,185,242,196,146,112,174,148,97,15,240,68,169,129,118,113,186,150,242,235,3,57,41,101,3,210,};
-static uint8_t xchacha20_560[]={109,172,40,32,40,131,200,231,250,52,123,80,202,171,68,150,114,114,56,234,47,129,156,94,142,182,35,196,186,109,180,220,};
-static uint8_t xchacha20_561[]={207,46,195,103,250,4,227,165,24,157,135,97,166,114,124,209,5,65,24,66,34,171,214,152,};
-static uint8_t xchacha20_562[]={30,56,114,253,54,100,143,223,158,84,46,253,121,213,78,0,86,78,9,121,95,98,50,229,166,111,102,24,237,56,136,188,81,80,97,108,230,15,243,175,115,102,144,137,201,158,118,206,212,126,251,36,92,207,164,152,215,220,172,40,199,156,128,68,184,26,99,141,236,80,64,164,248,161,15,208,56,43,194,36,21,57,224,193,46,246,42,189,6,240,80,133,115,152,40,60,121,60,217,235,228,131,174,177,56,161,151,107,4,79,41,249,};
-static uint8_t xchacha20_563[]={185,103,102,96,48,191,245,56,};
-static uint8_t xchacha20_564[]={233,241,0,17,8,236,223,93,151,40,42,243,138,74,117,38,71,161,185,218,106,130,179,116,54,235,248,76,60,62,143,210,20,72,226,43,255,193,172,141,142,79,109,149,115,221,168,18,176,181,48,236,243,143,100,171,225,215,197,214,155,126,75,127,226,238,95,62,241,176,255,97,249,147,35,68,92,207,207,162,74,185,251,148,218,201,55,34,245,67,39,53,231,161,150,59,95,184,241,117,151,168,88,168,224,54,11,182,164,226,250,249,};
-static uint8_t xchacha20_565[]={251,112,238,158,152,183,25,120,102,177,39,97,203,167,36,14,121,77,11,156,55,178,34,136,58,79,123,97,240,255,239,92,};
-static uint8_t xchacha20_566[]={231,199,78,249,94,58,169,9,161,210,140,190,95,78,243,219,202,163,210,63,166,70,184,121,};
-static uint8_t xchacha20_567[]={33,160,34,102,201,86,84,4,248,181,67,11,109,49,117,99,237,135,1,8,0,148,89,206,137,215,232,145,189,14,179,75,154,9,34,80,100,241,95,6,49,218,110,91,253,251,168,234,19,114,174,103,116,79,46,197,246,229,166,205,180,2,143,130,241,189,164,187,173,14,54,144,125,43,133,201,173,135,176,230,87,119,96,191,97,188,43,85,219,64,212,231,140,125,116,90,196,131,50,65,101,69,107,234,3,75,184,56,31,70,241,176,112,};
-static uint8_t xchacha20_568[]={182,143,233,203,249,245,112,1,};
-static uint8_t xchacha20_569[]={46,124,23,105,78,220,136,217,214,23,23,173,113,175,170,224,119,241,234,15,89,153,155,77,245,144,42,186,4,126,130,57,65,197,168,180,24,152,36,194,18,231,138,161,193,48,211,80,130,103,20,141,184,215,154,46,151,170,155,229,50,103,142,77,69,62,119,86,115,251,220,11,132,128,234,187,91,90,108,55,36,54,156,7,218,81,59,28,75,16,129,55,37,223,190,58,226,78,137,84,134,189,170,152,105,185,44,98,196,72,237,78,76,};
-static uint8_t xchacha20_570[]={104,58,133,237,69,196,158,87,66,54,148,28,202,184,219,154,158,183,26,73,75,100,35,65,233,143,9,116,240,30,169,211,};
-static uint8_t xchacha20_571[]={134,218,93,35,203,122,3,213,66,239,109,156,150,248,209,35,175,196,193,117,181,133,129,145,};
-static uint8_t xchacha20_572[]={99,206,234,120,226,111,197,203,41,217,149,3,2,153,74,157,108,200,30,67,153,23,245,74,217,116,65,177,86,216,108,2,216,127,174,157,251,69,239,215,87,115,228,59,217,193,196,20,41,153,180,6,92,56,254,125,205,234,119,39,92,211,157,204,153,238,113,176,229,105,23,195,175,48,219,55,10,84,133,136,68,227,42,170,219,145,126,211,165,136,16,108,224,204,77,251,228,1,21,95,194,136,82,146,80,10,69,251,35,18,19,83,154,80,};
-static uint8_t xchacha20_573[]={121,219,122,16,198,93,158,0,};
-static uint8_t xchacha20_574[]={211,208,116,234,117,84,212,133,180,97,13,231,239,218,235,65,21,169,221,41,67,229,245,223,66,49,79,102,167,77,59,7,21,15,74,230,24,135,233,141,49,183,127,7,167,127,108,183,12,250,1,134,6,24,93,71,244,247,0,55,200,20,166,17,124,100,178,188,33,112,27,217,27,144,111,16,143,179,173,70,145,211,195,169,129,129,183,77,182,208,53,118,196,11,74,28,138,224,52,122,98,244,162,54,160,105,188,198,113,88,62,122,181,52,};
-static uint8_t xchacha20_575[]={10,227,196,67,93,1,116,9,174,207,168,120,199,216,76,162,56,227,91,0,236,31,89,160,200,76,134,36,203,152,239,17,};
-static uint8_t xchacha20_576[]={20,157,228,48,8,103,227,238,243,93,13,181,9,0,102,95,58,28,49,153,67,180,226,123,};
-static uint8_t xchacha20_577[]={229,56,43,62,206,13,166,32,154,80,106,29,114,74,127,14,104,151,159,58,195,201,104,248,197,108,133,209,9,45,198,146,120,243,217,89,75,26,227,251,200,158,70,179,201,49,141,51,99,38,181,143,217,193,52,12,206,120,7,176,185,178,77,8,11,28,207,244,188,21,72,202,168,49,82,196,41,217,106,38,176,4,212,128,205,188,228,106,214,129,28,35,133,205,31,77,205,4,182,142,169,194,125,206,7,39,81,65,171,129,108,127,113,212,27,};
-static uint8_t xchacha20_578[]={72,206,181,206,134,196,212,167,};
-static uint8_t xchacha20_579[]={230,187,242,124,169,53,216,162,233,118,91,141,193,233,29,55,209,106,202,252,128,248,118,167,163,93,100,241,22,230,11,162,61,248,161,118,103,66,35,216,82,78,115,235,124,225,214,63,85,230,227,195,109,152,172,58,238,228,96,200,49,10,79,83,60,0,71,246,212,33,139,139,67,12,48,2,153,91,46,76,243,249,141,144,117,207,100,193,179,209,227,86,119,144,226,84,109,20,198,107,122,222,91,47,172,61,140,66,237,25,161,93,57,236,70,};
-static uint8_t xchacha20_580[]={154,159,149,108,215,87,180,53,22,84,39,213,73,153,246,105,5,160,253,193,4,225,143,107,107,166,246,78,249,130,190,109,};
-static uint8_t xchacha20_581[]={79,177,95,132,222,192,246,174,124,235,191,160,32,139,120,178,109,150,249,114,238,147,71,62,};
-static uint8_t xchacha20_582[]={132,187,140,83,87,247,222,104,27,53,89,160,226,17,200,86,122,93,179,133,230,118,129,32,82,158,183,85,172,35,0,248,55,39,145,44,93,73,42,240,207,87,245,186,114,24,141,38,74,187,202,228,28,219,243,13,200,98,147,133,247,98,143,114,241,122,203,128,235,4,215,53,66,253,128,88,184,73,176,240,255,83,158,48,102,158,83,185,253,58,211,36,185,221,128,86,187,161,81,191,181,124,151,236,172,103,50,15,101,194,111,91,244,2,48,175,};
-static uint8_t xchacha20_583[]={73,166,246,188,151,91,191,195,};
-static uint8_t xchacha20_584[]={140,146,11,232,109,208,165,155,170,237,137,104,152,195,21,212,6,149,89,34,23,6,183,245,86,98,7,145,234,125,26,194,106,72,130,4,17,117,220,132,93,109,120,216,13,214,46,120,221,209,230,109,176,140,66,31,77,49,228,195,7,198,30,215,242,246,181,27,144,100,108,53,52,50,53,70,181,203,185,98,195,92,74,79,158,112,72,200,217,90,129,76,105,91,187,14,164,17,254,216,145,237,185,229,240,58,47,146,253,88,81,176,222,86,231,153,};
-static uint8_t xchacha20_585[]={195,52,124,235,197,250,121,180,212,248,85,12,9,33,30,73,76,77,55,226,250,230,198,75,21,136,72,115,183,130,94,6,};
-static uint8_t xchacha20_586[]={84,100,70,96,4,92,172,101,142,43,186,23,147,159,200,68,177,151,31,14,100,199,5,157,};
-static uint8_t xchacha20_587[]={246,144,117,35,206,133,214,143,133,28,107,184,73,151,31,207,22,28,128,31,220,173,241,82,198,40,32,73,176,244,46,177,101,114,54,133,174,144,106,200,191,182,239,28,18,171,103,164,148,108,80,226,47,124,93,214,209,64,202,212,19,144,78,147,68,50,99,19,185,84,46,250,73,173,146,228,198,65,15,103,44,150,103,227,102,46,104,162,5,219,144,86,170,191,180,212,116,235,229,227,102,209,112,171,159,171,237,224,217,167,189,98,28,181,25,53,167,};
-static uint8_t xchacha20_588[]={178,208,214,95,24,116,143,90,};
-static uint8_t xchacha20_589[]={231,80,74,95,196,224,101,16,0,76,37,38,240,178,58,221,185,71,60,62,223,246,171,21,50,176,144,24,203,4,125,68,20,176,213,152,13,172,245,58,253,83,43,88,236,49,10,97,139,118,123,39,56,222,236,151,51,50,219,145,188,105,80,163,247,23,180,8,119,75,86,57,129,175,165,4,14,133,168,136,58,104,108,128,13,96,108,234,206,195,124,36,195,42,112,24,219,189,89,101,47,4,89,81,48,181,3,234,253,94,129,188,234,126,108,52,22,};
-static uint8_t xchacha20_590[]={211,157,212,86,120,186,104,147,184,230,226,192,137,70,109,197,109,195,88,91,91,2,147,97,67,127,128,160,213,68,71,243,};
-static uint8_t xchacha20_591[]={214,217,117,68,247,88,185,69,12,97,99,15,113,121,75,40,18,213,140,113,238,22,9,72,};
-static uint8_t xchacha20_592[]={197,230,239,132,187,136,223,16,186,88,35,137,129,220,170,169,204,253,48,38,219,9,246,229,84,229,246,231,191,120,46,46,71,225,16,60,152,25,216,124,193,92,150,40,90,202,181,52,156,54,58,36,161,205,214,24,7,228,193,171,101,243,140,25,232,102,0,247,118,41,58,110,24,88,44,72,250,218,29,64,40,232,35,183,160,144,112,52,189,78,118,243,150,88,224,4,232,252,108,250,172,119,201,73,167,66,12,10,243,252,245,73,161,43,15,204,16,36,};
-static uint8_t xchacha20_593[]={253,115,91,177,198,172,48,41,};
-static uint8_t xchacha20_594[]={75,215,158,122,8,52,23,84,241,72,245,175,43,117,71,223,61,134,112,203,127,47,0,30,184,237,144,161,211,15,222,169,185,235,142,10,189,207,97,56,218,109,90,166,107,116,157,82,247,133,152,95,160,243,161,222,72,237,127,45,113,162,134,144,7,111,155,133,250,60,213,113,37,215,101,202,188,17,2,55,244,12,114,147,7,169,102,168,158,38,235,184,78,184,121,66,186,43,252,208,95,232,222,54,145,191,62,117,146,224,22,105,109,71,247,140,92,249,};
-static uint8_t xchacha20_595[]={76,233,165,156,136,205,119,105,218,135,145,222,86,173,67,210,134,151,65,55,93,80,65,32,21,211,92,192,139,75,87,99,};
-static uint8_t xchacha20_596[]={153,125,18,3,36,117,3,244,150,25,18,170,121,244,244,185,151,215,248,69,15,23,65,175,};
-static uint8_t xchacha20_597[]={102,47,195,215,5,178,95,22,136,209,9,207,195,78,221,77,29,43,11,210,102,217,226,9,255,53,183,1,157,177,15,60,211,193,113,100,186,57,41,84,87,210,181,116,143,86,21,150,193,9,88,201,21,23,181,182,191,32,88,8,80,95,142,210,9,241,217,8,245,26,203,8,115,125,43,28,159,110,254,255,151,190,208,147,248,14,213,81,213,79,74,60,4,62,224,109,127,134,59,148,131,207,73,210,184,205,167,28,99,93,22,212,246,1,122,181,40,169,223,};
-static uint8_t xchacha20_598[]={56,72,222,15,48,223,83,255,};
-static uint8_t xchacha20_599[]={188,80,202,31,42,16,128,91,2,148,60,72,238,83,253,34,208,20,177,215,141,95,78,169,19,147,33,173,190,234,43,198,41,87,116,134,107,253,6,76,218,53,67,249,61,221,122,181,163,206,253,133,183,78,150,195,3,197,81,60,161,7,124,86,66,63,163,55,146,78,16,201,219,26,161,131,39,44,191,147,86,165,44,32,209,41,95,114,139,100,216,161,72,54,139,193,207,241,143,209,58,155,118,72,75,244,105,247,96,179,89,27,122,153,174,57,116,167,118,};
-static uint8_t xchacha20_600[]={13,136,54,152,32,70,118,174,84,85,89,74,4,190,6,85,93,214,195,168,137,206,247,96,6,75,105,161,176,240,223,29,};
-static uint8_t xchacha20_601[]={73,127,121,118,122,147,187,120,155,123,92,114,125,235,192,107,193,92,149,217,180,138,161,204,};
-static uint8_t xchacha20_602[]={22,22,174,126,110,146,246,32,182,165,230,151,240,110,67,159,233,34,3,56,136,28,14,130,210,199,1,25,207,88,35,146,120,63,160,242,208,176,57,220,30,115,235,55,168,33,26,125,214,239,76,113,207,151,53,163,136,91,171,220,225,115,206,129,15,121,10,35,215,17,167,33,70,76,131,226,250,184,206,251,14,193,212,136,62,96,164,155,131,121,248,95,237,176,184,138,157,165,177,167,107,199,119,55,237,148,98,187,191,97,230,173,23,196,94,92,147,29,224,51,};
-static uint8_t xchacha20_603[]={24,196,162,43,32,177,101,113,};
-static uint8_t xchacha20_604[]={91,41,86,149,177,182,25,122,197,162,105,13,207,203,87,69,31,38,246,184,65,216,234,99,11,157,37,147,10,225,244,171,190,252,15,168,215,82,134,110,142,91,126,218,12,99,153,4,245,255,55,76,81,130,210,107,78,149,89,251,59,86,109,245,201,80,41,63,124,242,71,168,178,96,52,173,26,196,54,204,188,193,176,209,8,4,222,210,43,47,237,51,190,170,15,59,110,238,9,27,90,228,61,243,39,178,39,175,214,197,134,61,205,175,210,151,255,73,201,33,};
-static uint8_t xchacha20_605[]={153,113,118,77,198,117,33,177,168,178,111,45,140,231,146,129,40,200,255,243,220,68,87,115,108,69,147,78,134,81,42,70,};
-static uint8_t xchacha20_606[]={198,141,235,49,33,178,136,216,120,0,175,215,42,131,249,158,29,137,37,157,46,134,100,55,};
-static uint8_t xchacha20_607[]={125,144,119,51,225,223,233,105,120,241,221,96,155,144,139,15,212,157,177,44,234,82,67,226,82,171,93,144,13,24,126,56,126,88,95,164,184,203,215,129,108,131,255,135,130,230,186,120,211,234,233,21,51,112,32,11,38,125,16,54,163,13,83,152,186,168,94,198,64,127,228,113,160,215,28,250,205,26,123,47,151,42,46,29,62,78,115,98,203,18,6,254,82,217,24,120,0,213,2,138,208,44,171,185,54,182,190,106,11,163,20,70,244,200,64,24,100,45,163,169,63,};
-static uint8_t xchacha20_608[]={69,134,158,164,127,12,250,117,};
-static uint8_t xchacha20_609[]={243,160,187,56,135,28,146,46,153,249,86,234,42,6,85,241,91,105,51,85,109,194,4,43,69,184,255,95,130,191,21,35,237,220,35,75,198,76,96,180,1,190,151,180,250,213,136,113,122,120,165,5,137,20,252,40,133,133,169,39,244,101,100,197,3,238,211,231,158,179,29,122,62,193,172,89,252,183,13,3,29,157,166,33,130,172,12,91,235,226,169,93,249,191,68,192,214,54,186,65,186,180,67,46,68,172,67,106,182,120,158,171,149,81,178,73,46,125,154,25,57,};
-static uint8_t xchacha20_610[]={156,159,61,55,184,238,60,251,83,241,48,190,161,115,36,108,108,119,138,196,154,247,123,197,240,78,132,115,86,255,49,23,};
-static uint8_t xchacha20_611[]={151,146,142,199,127,111,120,47,134,64,95,130,11,0,228,94,169,41,82,101,41,134,81,53,};
-static uint8_t xchacha20_612[]={28,180,225,165,207,150,249,185,144,228,245,248,13,142,218,108,140,102,132,227,106,168,134,111,80,35,252,87,120,43,246,169,123,186,234,48,80,170,185,69,200,91,220,198,193,97,202,113,221,106,176,19,134,114,79,103,42,135,248,80,24,46,68,144,17,149,14,189,92,104,247,23,84,142,191,24,18,239,149,20,27,56,231,247,161,23,243,38,176,24,121,98,106,191,116,123,251,247,60,89,133,238,168,161,241,239,78,111,10,177,107,12,164,183,32,210,12,188,182,241,49,238,};
-static uint8_t xchacha20_613[]={117,214,209,239,80,50,229,197,};
-static uint8_t xchacha20_614[]={63,34,242,100,20,247,27,222,134,221,186,173,225,6,15,244,140,209,23,154,188,33,24,135,5,252,172,55,179,223,104,203,14,161,126,166,19,109,25,236,98,236,140,216,54,50,207,27,132,216,195,13,202,224,179,205,185,144,67,204,207,3,156,68,33,112,14,133,41,220,96,182,40,185,76,185,174,183,8,76,201,88,34,167,224,189,9,129,236,187,160,51,40,35,250,251,240,9,208,199,126,184,30,38,45,169,186,19,16,166,167,50,80,54,176,248,169,44,1,217,76,234,};
-static uint8_t xchacha20_615[]={129,219,215,157,76,217,241,246,7,242,158,145,233,149,242,250,171,203,250,155,215,151,79,158,187,97,82,34,220,123,63,237,};
-static uint8_t xchacha20_616[]={122,164,96,247,139,186,228,223,106,148,181,79,107,236,140,166,58,176,119,92,141,184,47,13,};
-static uint8_t xchacha20_617[]={22,52,79,149,121,182,102,68,13,47,105,227,158,84,240,204,151,90,202,89,219,246,51,116,58,102,252,214,250,105,8,125,15,160,91,109,139,120,24,235,9,152,151,235,97,150,237,49,154,108,199,220,25,216,122,233,52,170,60,149,197,115,198,239,23,192,113,92,246,255,228,161,209,35,207,75,254,36,77,197,80,142,71,212,46,228,211,159,25,66,27,98,21,53,86,161,189,59,227,82,124,217,79,156,200,183,197,179,75,247,125,229,35,70,140,7,219,37,173,45,50,251,240,};
-static uint8_t xchacha20_618[]={66,206,198,97,140,150,249,224,};
-static uint8_t xchacha20_619[]={40,182,254,5,195,224,139,31,48,0,247,226,77,230,203,238,110,133,254,56,139,203,21,175,126,90,46,124,196,112,35,52,147,92,177,205,62,17,167,86,68,163,227,144,131,248,189,54,192,216,183,245,86,44,185,248,201,42,231,130,252,178,62,31,137,171,112,166,212,5,25,27,137,71,168,244,247,29,33,115,113,60,137,17,159,68,137,25,239,236,211,194,158,124,85,197,94,222,209,14,231,122,84,254,142,63,163,242,224,123,32,55,88,196,24,99,193,78,128,30,184,154,178,};
-static uint8_t xchacha20_620[]={87,154,181,12,7,10,39,24,204,174,176,99,90,150,53,234,80,92,194,40,124,5,31,169,100,71,161,254,250,99,80,128,};
-static uint8_t xchacha20_621[]={234,124,89,189,243,237,29,29,169,45,92,163,42,226,223,212,188,245,128,160,109,186,100,41,};
-static uint8_t xchacha20_622[]={145,27,104,185,212,109,117,253,183,32,148,238,136,10,179,132,184,150,225,44,58,53,45,160,177,5,133,113,157,163,0,211,238,31,99,11,123,153,250,118,191,208,21,187,23,2,204,95,142,140,178,68,184,233,234,121,170,215,67,5,130,186,93,118,139,28,7,119,114,173,225,134,37,144,214,226,17,173,24,33,166,56,51,241,3,18,19,147,221,52,176,208,38,7,63,188,221,235,182,243,73,28,9,18,72,3,10,190,143,2,246,254,111,184,0,145,171,183,151,2,129,135,47,189,};
-static uint8_t xchacha20_623[]={24,97,185,210,125,150,59,74,};
-static uint8_t xchacha20_624[]={136,2,108,251,181,220,82,72,218,101,63,249,95,215,16,249,22,13,191,171,94,73,143,122,116,26,118,65,207,110,226,7,249,113,62,88,165,231,72,192,44,183,242,193,82,226,68,247,31,160,81,43,118,146,28,87,76,56,161,55,122,112,150,4,240,81,141,72,173,13,180,35,77,105,191,64,42,235,6,4,77,212,28,76,246,92,225,178,40,148,159,241,14,7,97,192,210,40,207,176,169,195,42,1,45,138,6,75,46,6,197,92,141,210,19,189,118,181,49,4,12,58,198,141,};
-static uint8_t xchacha20_625[]={114,130,255,102,189,161,45,131,176,127,192,214,90,89,172,125,241,90,119,48,217,176,148,84,223,144,138,170,200,239,203,93,};
-static uint8_t xchacha20_626[]={5,47,211,41,46,26,162,105,152,132,188,214,254,44,250,121,96,200,192,13,198,244,67,149,};
-static uint8_t xchacha20_627[]={200,49,160,82,124,177,167,30,55,179,172,35,224,40,137,83,68,154,68,244,56,162,174,192,206,11,156,240,180,179,73,93,22,111,43,128,64,146,246,18,255,59,10,51,169,246,210,9,33,46,148,147,215,79,126,142,249,245,83,41,49,40,227,211,254,56,61,39,102,168,24,186,228,118,81,77,51,46,136,217,195,90,155,210,40,39,251,185,247,51,134,141,130,216,194,39,242,220,250,140,117,129,213,64,25,112,156,33,245,97,163,150,77,101,135,3,241,57,53,165,23,164,26,96,6,};
-static uint8_t xchacha20_628[]={119,90,31,250,16,32,189,150,};
-static uint8_t xchacha20_629[]={253,156,232,253,111,91,60,200,176,136,231,29,224,116,26,191,71,173,55,126,93,163,215,211,255,163,38,94,166,223,167,111,163,75,76,252,241,118,223,97,116,241,173,69,181,220,183,123,51,205,3,80,91,194,173,21,54,33,27,245,172,245,158,104,122,90,18,11,60,184,205,28,23,50,50,209,216,231,172,239,189,30,65,218,22,162,15,152,119,238,25,156,90,116,217,231,58,168,212,115,7,29,239,136,179,135,181,116,1,220,22,35,158,156,180,8,189,118,206,76,98,23,99,255,220,};
-static uint8_t xchacha20_630[]={30,46,125,159,26,194,214,169,10,234,26,30,215,51,80,99,86,187,98,227,22,73,128,245,244,250,230,193,92,174,158,240,};
-static uint8_t xchacha20_631[]={213,1,226,224,133,153,137,14,240,40,6,237,64,167,138,212,56,7,83,189,35,29,111,122,};
-static uint8_t xchacha20_632[]={195,235,198,253,41,155,31,54,14,164,89,189,76,46,141,185,173,155,177,36,147,66,107,184,221,12,64,57,203,131,251,248,210,245,50,49,245,174,106,117,6,108,124,23,22,90,191,13,211,75,120,146,206,206,18,54,249,240,169,151,170,127,225,161,20,143,34,124,50,109,146,17,240,236,41,234,186,211,202,124,202,121,53,199,156,199,106,126,212,129,158,126,180,156,90,179,10,99,124,169,155,104,185,130,122,197,22,221,124,191,211,170,156,187,206,8,161,133,117,26,153,44,212,136,21,127,};
-static uint8_t xchacha20_633[]={2,92,17,104,238,70,39,0,};
-static uint8_t xchacha20_634[]={128,202,224,138,151,215,248,34,100,187,56,189,114,79,242,93,186,155,2,135,131,79,159,137,213,52,101,196,9,108,146,106,204,116,221,172,224,243,116,191,221,100,91,103,88,159,239,132,31,107,67,24,55,166,222,75,82,143,190,91,49,96,179,0,145,215,217,66,141,35,11,139,95,37,159,76,54,206,164,22,161,198,125,62,237,187,86,120,91,50,62,149,189,156,6,150,163,158,7,22,7,203,135,191,179,85,111,172,66,241,84,162,118,131,79,154,147,72,129,249,54,69,90,110,172,72,};
-static uint8_t xchacha20_635[]={51,31,139,18,169,195,165,130,76,236,213,179,91,76,214,219,91,140,145,103,117,20,187,26,10,169,80,167,64,92,56,153,};
-static uint8_t xchacha20_636[]={118,159,9,95,236,135,94,254,98,107,213,9,42,160,227,131,171,153,251,107,79,16,185,13,};
-static uint8_t xchacha20_637[]={45,230,48,250,153,18,139,197,108,40,197,252,126,154,80,70,141,60,100,54,28,3,182,136,31,50,184,208,136,52,143,99,148,12,33,171,83,121,20,161,176,65,246,208,149,200,182,15,134,231,133,239,0,9,28,130,232,223,163,174,236,250,164,175,108,195,103,116,13,6,116,164,255,34,2,216,75,102,78,104,56,142,193,72,127,140,1,40,142,233,94,202,45,226,133,118,5,160,166,55,5,142,97,114,247,139,65,81,61,197,81,50,12,149,66,185,140,55,24,249,77,136,128,97,66,58,87,};
-static uint8_t xchacha20_638[]={3,138,44,141,221,188,226,26,};
-static uint8_t xchacha20_639[]={222,29,78,177,240,64,119,83,153,29,191,0,198,83,55,209,144,0,103,26,188,89,62,182,85,30,32,49,15,6,232,124,27,247,153,110,245,110,255,227,89,222,147,75,230,146,12,213,161,192,228,175,22,41,204,73,165,201,42,246,138,16,119,61,195,62,98,247,119,232,113,119,209,147,195,186,226,54,116,196,149,98,135,250,141,58,180,227,236,13,134,239,169,177,59,183,149,58,253,122,143,22,166,37,121,158,199,146,227,61,120,217,57,78,29,212,94,75,3,85,248,206,125,114,76,34,157,};
-static uint8_t xchacha20_640[]={94,120,193,88,202,88,85,211,253,39,18,157,253,14,112,157,183,86,221,212,175,213,104,28,232,54,65,198,158,53,3,82,};
-static uint8_t xchacha20_641[]={196,231,79,49,147,50,202,14,169,123,119,210,86,138,37,236,26,147,161,132,142,34,92,132,};
-static uint8_t xchacha20_642[]={14,8,88,226,219,12,86,16,99,133,173,106,178,82,11,124,34,30,122,254,188,245,93,135,186,177,61,213,184,211,67,129,29,101,175,127,246,118,43,95,208,177,169,238,112,148,187,218,66,115,138,88,241,144,61,228,24,63,72,38,3,215,40,191,162,6,30,2,26,150,236,203,37,86,15,2,108,188,107,28,117,244,111,51,170,182,174,169,107,193,229,249,204,94,72,180,54,68,51,251,112,122,114,53,151,130,222,132,21,101,168,25,117,98,112,111,159,23,61,74,85,184,97,74,221,34,95,253,};
-static uint8_t xchacha20_643[]={255,255,255,255,255,255,255,255,};
-static uint8_t xchacha20_644[]={250,251,157,79,4,192,155,153,182,78,184,191,78,148,67,25,27,250,61,62,224,156,80,92,179,151,95,67,61,35,71,29,41,77,162,32,56,106,195,127,14,212,96,128,149,147,191,104,178,185,177,203,83,18,248,205,130,10,76,193,202,178,205,39,162,119,155,36,217,0,72,205,184,223,215,112,190,77,195,227,179,7,125,64,35,222,139,128,46,28,147,149,107,244,200,131,115,163,251,222,140,5,158,38,172,137,237,182,251,97,53,66,172,4,18,80,141,43,160,54,123,91,205,136,159,149,108,188,};
-static uint8_t xchacha20_645[]={154,184,108,137,119,218,92,172,189,108,53,151,233,164,2,152,137,197,163,156,204,20,193,219,16,51,2,110,227,253,182,222,};
-static uint8_t xchacha20_646[]={5,157,74,27,102,83,107,56,68,94,64,150,125,68,115,185,167,98,78,98,229,68,125,110,};
-static uint8_t xchacha20_647[]={178,179,170,230,14,173,6,226,53,189,94,197,115,82,27,213,213,205,26,212,248,152,59,50,192,142,67,205,95,59,212,94,128,201,15,134,58,105,210,202,131,194,196,215,162,87,106,232,201,189,92,86,179,33,221,211,56,122,174,73,77,217,109,26,18,22,121,182,113,228,79,231,133,127,123,74,14,94,219,136,227,175,172,92,199,113,243,146,32,39,187,149,62,113,220,89,57,11,202,120,213,211,172,206,170,161,142,80,192,174,176,13,200,209,253,3,77,57,165,219,145,218,93,39,223,249,138,194,};
-static uint8_t xchacha20_648[]={254,255,255,255,255,255,255,255,};
-static uint8_t xchacha20_649[]={105,225,107,39,71,170,55,183,13,75,211,8,181,152,155,170,0,74,110,176,148,59,89,71,93,195,101,99,93,32,54,103,25,27,96,137,233,42,51,66,159,35,199,248,205,227,177,208,26,125,157,194,107,99,22,223,132,41,35,27,55,156,9,31,192,245,194,226,219,134,203,183,147,114,3,215,112,230,125,169,147,14,38,72,215,95,113,226,86,179,130,253,12,0,63,108,160,136,231,173,126,31,51,29,146,235,247,34,94,205,241,174,46,36,59,181,42,191,173,72,207,173,63,89,227,112,233,106,};
-static uint8_t xchacha20_650[]={30,157,195,138,184,198,186,47,185,7,172,84,232,240,138,153,59,4,162,119,174,7,87,94,9,136,169,138,167,31,224,37,};
-static uint8_t xchacha20_651[]={139,123,72,171,165,76,190,163,39,30,229,176,94,143,41,40,126,129,162,229,112,182,81,150,};
-static uint8_t xchacha20_652[]={194,6,104,100,91,175,48,227,150,90,141,99,77,4,48,248,207,178,13,242,196,57,165,117,206,153,41,161,47,126,81,127,37,124,148,171,76,106,118,201,149,41,30,103,168,206,142,127,75,30,31,46,100,196,20,211,207,78,185,39,174,239,79,49,236,84,99,30,217,164,200,169,145,89,143,79,38,93,7,125,101,11,25,7,234,206,186,58,226,85,179,202,102,248,70,186,42,242,253,133,199,178,186,140,247,146,249,246,28,110,23,217,87,129,192,165,34,151,117,242,241,156,233,25,66,172,114,18,};
-static uint8_t xchacha20_653[]={253,255,255,255,255,255,255,255,};
-static uint8_t xchacha20_654[]={227,57,98,72,83,23,0,100,224,106,120,233,214,225,222,76,182,165,15,247,143,19,196,51,185,217,178,128,188,8,189,18,116,251,171,188,53,23,202,140,202,224,29,48,168,22,130,189,14,32,198,127,36,139,90,218,1,112,130,114,175,172,231,251,6,82,104,9,133,22,152,28,61,239,148,13,90,163,159,87,42,149,32,225,196,209,114,33,186,96,164,93,241,162,31,43,46,57,196,19,190,163,51,165,125,111,65,126,136,216,58,10,59,219,245,184,11,17,196,60,210,247,80,64,79,140,75,109,};
-static size_t nb_xchacha20_vectors=655;
-static uint8_t *xchacha20_vectors[]={xchacha20_0,xchacha20_1,0,xchacha20_3,0,xchacha20_5,xchacha20_6,xchacha20_7,xchacha20_8,xchacha20_9,xchacha20_10,xchacha20_11,xchacha20_12,xchacha20_13,xchacha20_14,xchacha20_15,xchacha20_16,xchacha20_17,xchacha20_18,xchacha20_19,xchacha20_20,xchacha20_21,xchacha20_22,xchacha20_23,xchacha20_24,xchacha20_25,xchacha20_26,xchacha20_27,xchacha20_28,xchacha20_29,xchacha20_30,xchacha20_31,xchacha20_32,xchacha20_33,xchacha20_34,xchacha20_35,xchacha20_36,xchacha20_37,xchacha20_38,xchacha20_39,xchacha20_40,xchacha20_41,xchacha20_42,xchacha20_43,xchacha20_44,xchacha20_45,xchacha20_46,xchacha20_47,xchacha20_48,xchacha20_49,xchacha20_50,xchacha20_51,xchacha20_52,xchacha20_53,xchacha20_54,xchacha20_55,xchacha20_56,xchacha20_57,xchacha20_58,xchacha20_59,xchacha20_60,xchacha20_61,xchacha20_62,xchacha20_63,xchacha20_64,xchacha20_65,xchacha20_66,xchacha20_67,xchacha20_68,xchacha20_69,xchacha20_70,xchacha20_71,xchacha20_72,xchacha20_73,xchacha20_74,xchacha20_75,xchacha20_76,xchacha20_77,xchacha20_78,xchacha20_79,xchacha20_80,xchacha20_81,xchacha20_82,xchacha20_83,xchacha20_84,xchacha20_85,xchacha20_86,xchacha20_87,xchacha20_88,xchacha20_89,xchacha20_90,xchacha20_91,xchacha20_92,xchacha20_93,xchacha20_94,xchacha20_95,xchacha20_96,xchacha20_97,xchacha20_98,xchacha20_99,xchacha20_100,xchacha20_101,xchacha20_102,xchacha20_103,xchacha20_104,xchacha20_105,xchacha20_106,xchacha20_107,xchacha20_108,xchacha20_109,xchacha20_110,xchacha20_111,xchacha20_112,xchacha20_113,xchacha20_114,xchacha20_115,xchacha20_116,xchacha20_117,xchacha20_118,xchacha20_119,xchacha20_120,xchacha20_121,xchacha20_122,xchacha20_123,xchacha20_124,xchacha20_125,xchacha20_126,xchacha20_127,xchacha20_128,xchacha20_129,xchacha20_130,xchacha20_131,xchacha20_132,xchacha20_133,xchacha20_134,xchacha20_135,xchacha20_136,xchacha20_137,xchacha20_138,xchacha20_139,xchacha20_140,xchacha20_141,xchacha20_142,xchacha20_143,xchacha20_144,xchacha20_145,xchacha20_146,xchacha20_147,xchacha20_148,xchacha20_149,xchacha20_150,xchacha20_151,xchacha20_152,xchacha20_153,xchacha20_154,xchacha20_155,xchacha20_156,xchacha20_157,xchacha20_158,xchacha20_159,xchacha20_160,xchacha20_161,xchacha20_162,xchacha20_163,xchacha20_164,xchacha20_165,xchacha20_166,xchacha20_167,xchacha20_168,xchacha20_169,xchacha20_170,xchacha20_171,xchacha20_172,xchacha20_173,xchacha20_174,xchacha20_175,xchacha20_176,xchacha20_177,xchacha20_178,xchacha20_179,xchacha20_180,xchacha20_181,xchacha20_182,xchacha20_183,xchacha20_184,xchacha20_185,xchacha20_186,xchacha20_187,xchacha20_188,xchacha20_189,xchacha20_190,xchacha20_191,xchacha20_192,xchacha20_193,xchacha20_194,xchacha20_195,xchacha20_196,xchacha20_197,xchacha20_198,xchacha20_199,xchacha20_200,xchacha20_201,xchacha20_202,xchacha20_203,xchacha20_204,xchacha20_205,xchacha20_206,xchacha20_207,xchacha20_208,xchacha20_209,xchacha20_210,xchacha20_211,xchacha20_212,xchacha20_213,xchacha20_214,xchacha20_215,xchacha20_216,xchacha20_217,xchacha20_218,xchacha20_219,xchacha20_220,xchacha20_221,xchacha20_222,xchacha20_223,xchacha20_224,xchacha20_225,xchacha20_226,xchacha20_227,xchacha20_228,xchacha20_229,xchacha20_230,xchacha20_231,xchacha20_232,xchacha20_233,xchacha20_234,xchacha20_235,xchacha20_236,xchacha20_237,xchacha20_238,xchacha20_239,xchacha20_240,xchacha20_241,xchacha20_242,xchacha20_243,xchacha20_244,xchacha20_245,xchacha20_246,xchacha20_247,xchacha20_248,xchacha20_249,xchacha20_250,xchacha20_251,xchacha20_252,xchacha20_253,xchacha20_254,xchacha20_255,xchacha20_256,xchacha20_257,xchacha20_258,xchacha20_259,xchacha20_260,xchacha20_261,xchacha20_262,xchacha20_263,xchacha20_264,xchacha20_265,xchacha20_266,xchacha20_267,xchacha20_268,xchacha20_269,xchacha20_270,xchacha20_271,xchacha20_272,xchacha20_273,xchacha20_274,xchacha20_275,xchacha20_276,xchacha20_277,xchacha20_278,xchacha20_279,xchacha20_280,xchacha20_281,xchacha20_282,xchacha20_283,xchacha20_284,xchacha20_285,xchacha20_286,xchacha20_287,xchacha20_288,xchacha20_289,xchacha20_290,xchacha20_291,xchacha20_292,xchacha20_293,xchacha20_294,xchacha20_295,xchacha20_296,xchacha20_297,xchacha20_298,xchacha20_299,xchacha20_300,xchacha20_301,xchacha20_302,xchacha20_303,xchacha20_304,xchacha20_305,xchacha20_306,xchacha20_307,xchacha20_308,xchacha20_309,xchacha20_310,xchacha20_311,xchacha20_312,xchacha20_313,xchacha20_314,xchacha20_315,xchacha20_316,xchacha20_317,xchacha20_318,xchacha20_319,xchacha20_320,xchacha20_321,xchacha20_322,xchacha20_323,xchacha20_324,xchacha20_325,xchacha20_326,xchacha20_327,xchacha20_328,xchacha20_329,xchacha20_330,xchacha20_331,xchacha20_332,xchacha20_333,xchacha20_334,xchacha20_335,xchacha20_336,xchacha20_337,xchacha20_338,xchacha20_339,xchacha20_340,xchacha20_341,xchacha20_342,xchacha20_343,xchacha20_344,xchacha20_345,xchacha20_346,xchacha20_347,xchacha20_348,xchacha20_349,xchacha20_350,xchacha20_351,xchacha20_352,xchacha20_353,xchacha20_354,xchacha20_355,xchacha20_356,xchacha20_357,xchacha20_358,xchacha20_359,xchacha20_360,xchacha20_361,xchacha20_362,xchacha20_363,xchacha20_364,xchacha20_365,xchacha20_366,xchacha20_367,xchacha20_368,xchacha20_369,xchacha20_370,xchacha20_371,xchacha20_372,xchacha20_373,xchacha20_374,xchacha20_375,xchacha20_376,xchacha20_377,xchacha20_378,xchacha20_379,xchacha20_380,xchacha20_381,xchacha20_382,xchacha20_383,xchacha20_384,xchacha20_385,xchacha20_386,xchacha20_387,xchacha20_388,xchacha20_389,xchacha20_390,xchacha20_391,xchacha20_392,xchacha20_393,xchacha20_394,xchacha20_395,xchacha20_396,xchacha20_397,xchacha20_398,xchacha20_399,xchacha20_400,xchacha20_401,xchacha20_402,xchacha20_403,xchacha20_404,xchacha20_405,xchacha20_406,xchacha20_407,xchacha20_408,xchacha20_409,xchacha20_410,xchacha20_411,xchacha20_412,xchacha20_413,xchacha20_414,xchacha20_415,xchacha20_416,xchacha20_417,xchacha20_418,xchacha20_419,xchacha20_420,xchacha20_421,xchacha20_422,xchacha20_423,xchacha20_424,xchacha20_425,xchacha20_426,xchacha20_427,xchacha20_428,xchacha20_429,xchacha20_430,xchacha20_431,xchacha20_432,xchacha20_433,xchacha20_434,xchacha20_435,xchacha20_436,xchacha20_437,xchacha20_438,xchacha20_439,xchacha20_440,xchacha20_441,xchacha20_442,xchacha20_443,xchacha20_444,xchacha20_445,xchacha20_446,xchacha20_447,xchacha20_448,xchacha20_449,xchacha20_450,xchacha20_451,xchacha20_452,xchacha20_453,xchacha20_454,xchacha20_455,xchacha20_456,xchacha20_457,xchacha20_458,xchacha20_459,xchacha20_460,xchacha20_461,xchacha20_462,xchacha20_463,xchacha20_464,xchacha20_465,xchacha20_466,xchacha20_467,xchacha20_468,xchacha20_469,xchacha20_470,xchacha20_471,xchacha20_472,xchacha20_473,xchacha20_474,xchacha20_475,xchacha20_476,xchacha20_477,xchacha20_478,xchacha20_479,xchacha20_480,xchacha20_481,xchacha20_482,xchacha20_483,xchacha20_484,xchacha20_485,xchacha20_486,xchacha20_487,xchacha20_488,xchacha20_489,xchacha20_490,xchacha20_491,xchacha20_492,xchacha20_493,xchacha20_494,xchacha20_495,xchacha20_496,xchacha20_497,xchacha20_498,xchacha20_499,xchacha20_500,xchacha20_501,xchacha20_502,xchacha20_503,xchacha20_504,xchacha20_505,xchacha20_506,xchacha20_507,xchacha20_508,xchacha20_509,xchacha20_510,xchacha20_511,xchacha20_512,xchacha20_513,xchacha20_514,xchacha20_515,xchacha20_516,xchacha20_517,xchacha20_518,xchacha20_519,xchacha20_520,xchacha20_521,xchacha20_522,xchacha20_523,xchacha20_524,xchacha20_525,xchacha20_526,xchacha20_527,xchacha20_528,xchacha20_529,xchacha20_530,xchacha20_531,xchacha20_532,xchacha20_533,xchacha20_534,xchacha20_535,xchacha20_536,xchacha20_537,xchacha20_538,xchacha20_539,xchacha20_540,xchacha20_541,xchacha20_542,xchacha20_543,xchacha20_544,xchacha20_545,xchacha20_546,xchacha20_547,xchacha20_548,xchacha20_549,xchacha20_550,xchacha20_551,xchacha20_552,xchacha20_553,xchacha20_554,xchacha20_555,xchacha20_556,xchacha20_557,xchacha20_558,xchacha20_559,xchacha20_560,xchacha20_561,xchacha20_562,xchacha20_563,xchacha20_564,xchacha20_565,xchacha20_566,xchacha20_567,xchacha20_568,xchacha20_569,xchacha20_570,xchacha20_571,xchacha20_572,xchacha20_573,xchacha20_574,xchacha20_575,xchacha20_576,xchacha20_577,xchacha20_578,xchacha20_579,xchacha20_580,xchacha20_581,xchacha20_582,xchacha20_583,xchacha20_584,xchacha20_585,xchacha20_586,xchacha20_587,xchacha20_588,xchacha20_589,xchacha20_590,xchacha20_591,xchacha20_592,xchacha20_593,xchacha20_594,xchacha20_595,xchacha20_596,xchacha20_597,xchacha20_598,xchacha20_599,xchacha20_600,xchacha20_601,xchacha20_602,xchacha20_603,xchacha20_604,xchacha20_605,xchacha20_606,xchacha20_607,xchacha20_608,xchacha20_609,xchacha20_610,xchacha20_611,xchacha20_612,xchacha20_613,xchacha20_614,xchacha20_615,xchacha20_616,xchacha20_617,xchacha20_618,xchacha20_619,xchacha20_620,xchacha20_621,xchacha20_622,xchacha20_623,xchacha20_624,xchacha20_625,xchacha20_626,xchacha20_627,xchacha20_628,xchacha20_629,xchacha20_630,xchacha20_631,xchacha20_632,xchacha20_633,xchacha20_634,xchacha20_635,xchacha20_636,xchacha20_637,xchacha20_638,xchacha20_639,xchacha20_640,xchacha20_641,xchacha20_642,xchacha20_643,xchacha20_644,xchacha20_645,xchacha20_646,xchacha20_647,xchacha20_648,xchacha20_649,xchacha20_650,xchacha20_651,xchacha20_652,xchacha20_653,xchacha20_654,};
-static size_t xchacha20_sizes[]={32,24,0,8,0,32,24,1,8,1,32,24,2,8,2,32,24,3,8,3,32,24,4,8,4,32,24,5,8,5,32,24,6,8,6,32,24,7,8,7,32,24,8,8,8,32,24,9,8,9,32,24,10,8,10,32,24,11,8,11,32,24,12,8,12,32,24,13,8,13,32,24,14,8,14,32,24,15,8,15,32,24,16,8,16,32,24,17,8,17,32,24,18,8,18,32,24,19,8,19,32,24,20,8,20,32,24,21,8,21,32,24,22,8,22,32,24,23,8,23,32,24,24,8,24,32,24,25,8,25,32,24,26,8,26,32,24,27,8,27,32,24,28,8,28,32,24,29,8,29,32,24,30,8,30,32,24,31,8,31,32,24,32,8,32,32,24,33,8,33,32,24,34,8,34,32,24,35,8,35,32,24,36,8,36,32,24,37,8,37,32,24,38,8,38,32,24,39,8,39,32,24,40,8,40,32,24,41,8,41,32,24,42,8,42,32,24,43,8,43,32,24,44,8,44,32,24,45,8,45,32,24,46,8,46,32,24,47,8,47,32,24,48,8,48,32,24,49,8,49,32,24,50,8,50,32,24,51,8,51,32,24,52,8,52,32,24,53,8,53,32,24,54,8,54,32,24,55,8,55,32,24,56,8,56,32,24,57,8,57,32,24,58,8,58,32,24,59,8,59,32,24,60,8,60,32,24,61,8,61,32,24,62,8,62,32,24,63,8,63,32,24,64,8,64,32,24,65,8,65,32,24,66,8,66,32,24,67,8,67,32,24,68,8,68,32,24,69,8,69,32,24,70,8,70,32,24,71,8,71,32,24,72,8,72,32,24,73,8,73,32,24,74,8,74,32,24,75,8,75,32,24,76,8,76,32,24,77,8,77,32,24,78,8,78,32,24,79,8,79,32,24,80,8,80,32,24,81,8,81,32,24,82,8,82,32,24,83,8,83,32,24,84,8,84,32,24,85,8,85,32,24,86,8,86,32,24,87,8,87,32,24,88,8,88,32,24,89,8,89,32,24,90,8,90,32,24,91,8,91,32,24,92,8,92,32,24,93,8,93,32,24,94,8,94,32,24,95,8,95,32,24,96,8,96,32,24,97,8,97,32,24,98,8,98,32,24,99,8,99,32,24,100,8,100,32,24,101,8,101,32,24,102,8,102,32,24,103,8,103,32,24,104,8,104,32,24,105,8,105,32,24,106,8,106,32,24,107,8,107,32,24,108,8,108,32,24,109,8,109,32,24,110,8,110,32,24,111,8,111,32,24,112,8,112,32,24,113,8,113,32,24,114,8,114,32,24,115,8,115,32,24,116,8,116,32,24,117,8,117,32,24,118,8,118,32,24,119,8,119,32,24,120,8,120,32,24,121,8,121,32,24,122,8,122,32,24,123,8,123,32,24,124,8,124,32,24,125,8,125,32,24,126,8,126,32,24,127,8,127,32,24,128,8,128,32,24,128,8,128,32,24,128,8,128,};
-static uint8_t ietf_chacha20_0[]={228,196,5,79,227,90,117,217,192,246,121,173,135,112,216,34,126,104,228,193,230,140,230,126,232,142,107,226,81,162,7,72,};
-static uint8_t ietf_chacha20_1[]={179,117,60,255,58,109,153,1,99,230,182,13,};
-static uint8_t ietf_chacha20_3[]={228,181,239,201,0,0,0,0,};
-static uint8_t ietf_chacha20_5[]={41,154,162,84,164,96,106,182,160,88,224,198,251,85,152,33,141,183,29,235,71,63,125,4,193,82,231,232,87,115,103,21,};
-static uint8_t ietf_chacha20_6[]={220,123,120,138,202,57,163,201,106,135,128,25,};
-static uint8_t ietf_chacha20_7[]={232,};
-static uint8_t ietf_chacha20_8[]={31,247,22,251,0,0,0,0,};
-static uint8_t ietf_chacha20_9[]={109,};
-static uint8_t ietf_chacha20_10[]={0,23,38,85,35,108,221,205,24,121,202,31,4,179,95,145,173,171,112,184,31,80,64,53,252,22,153,100,165,174,152,94,};
-static uint8_t ietf_chacha20_11[]={108,17,176,183,187,24,165,31,215,127,191,253,};
-static uint8_t ietf_chacha20_12[]={114,42,};
-static uint8_t ietf_chacha20_13[]={59,108,227,180,0,0,0,0,};
-static uint8_t ietf_chacha20_14[]={115,213,};
-static uint8_t ietf_chacha20_15[]={104,98,223,109,36,88,214,199,71,57,160,173,33,105,185,200,158,221,116,225,111,188,236,199,72,194,93,195,56,4,31,195,};
-static uint8_t ietf_chacha20_16[]={74,240,241,189,162,14,175,63,255,123,55,42,};
-static uint8_t ietf_chacha20_17[]={168,1,235,};
-static uint8_t ietf_chacha20_18[]={71,252,97,47,0,0,0,0,};
-static uint8_t ietf_chacha20_19[]={9,36,103,};
-static uint8_t ietf_chacha20_20[]={215,11,180,173,237,203,229,32,254,214,52,245,19,184,194,234,106,179,127,230,51,186,115,2,165,219,108,42,162,9,226,68,};
-static uint8_t ietf_chacha20_21[]={120,250,27,214,246,255,171,233,133,85,224,52,};
-static uint8_t ietf_chacha20_22[]={52,44,190,192,};
-static uint8_t ietf_chacha20_23[]={181,190,129,5,0,0,0,0,};
-static uint8_t ietf_chacha20_24[]={32,79,159,65,};
-static uint8_t ietf_chacha20_25[]={46,124,103,154,49,135,226,42,99,93,48,28,233,138,208,0,202,48,16,73,242,232,145,228,3,37,12,51,88,252,32,48,};
-static uint8_t ietf_chacha20_26[]={178,39,187,150,233,59,136,244,25,175,233,249,};
-static uint8_t ietf_chacha20_27[]={214,96,224,19,118,};
-static uint8_t ietf_chacha20_28[]={243,235,158,181,0,0,0,0,};
-static uint8_t ietf_chacha20_29[]={252,92,206,144,207,};
-static uint8_t ietf_chacha20_30[]={129,48,98,189,63,63,107,118,104,205,143,211,175,206,12,199,82,155,135,223,197,142,206,185,81,225,229,61,158,148,121,51,};
-static uint8_t ietf_chacha20_31[]={41,25,156,66,208,4,188,15,13,171,58,223,};
-static uint8_t ietf_chacha20_32[]={12,215,2,233,158,250,};
-static uint8_t ietf_chacha20_33[]={177,5,199,209,0,0,0,0,};
-static uint8_t ietf_chacha20_34[]={131,130,74,124,195,119,};
-static uint8_t ietf_chacha20_35[]={101,58,13,47,64,177,90,253,114,92,245,6,80,102,190,28,184,3,220,21,136,101,237,141,124,202,114,220,242,183,198,181,};
-static uint8_t ietf_chacha20_36[]={208,208,69,191,50,176,99,211,218,72,75,161,};
-static uint8_t ietf_chacha20_37[]={132,62,7,27,97,196,156,};
-static uint8_t ietf_chacha20_38[]={16,190,67,250,0,0,0,0,};
-static uint8_t ietf_chacha20_39[]={120,11,27,33,224,133,36,};
-static uint8_t ietf_chacha20_40[]={90,126,138,117,178,199,163,173,112,9,25,243,106,70,234,15,250,104,8,87,227,1,136,248,160,60,124,75,108,17,188,57,};
-static uint8_t ietf_chacha20_41[]={174,206,206,194,102,135,35,54,130,211,24,135,};
-static uint8_t ietf_chacha20_42[]={39,112,40,226,253,40,111,38,};
-static uint8_t ietf_chacha20_43[]={250,175,67,237,0,0,0,0,};
-static uint8_t ietf_chacha20_44[]={128,222,72,138,131,161,224,249,};
-static uint8_t ietf_chacha20_45[]={128,142,83,227,8,172,88,15,115,24,254,42,178,164,147,59,93,144,219,113,138,163,68,15,190,155,161,127,9,113,98,25,};
-static uint8_t ietf_chacha20_46[]={189,255,201,58,24,158,65,10,106,62,100,119,};
-static uint8_t ietf_chacha20_47[]={251,176,92,124,53,149,108,60,12,};
-static uint8_t ietf_chacha20_48[]={213,107,172,196,0,0,0,0,};
-static uint8_t ietf_chacha20_49[]={142,105,170,4,194,204,45,151,111,};
-static uint8_t ietf_chacha20_50[]={0,107,115,243,215,15,192,75,21,208,194,165,223,166,80,190,80,68,251,80,97,129,27,134,107,231,249,214,35,252,176,119,};
-static uint8_t ietf_chacha20_51[]={238,25,66,22,16,174,178,99,197,127,174,240,};
-static uint8_t ietf_chacha20_52[]={6,98,212,36,192,122,122,165,0,80,};
-static uint8_t ietf_chacha20_53[]={148,112,191,144,0,0,0,0,};
-static uint8_t ietf_chacha20_54[]={109,196,39,121,33,209,174,208,24,72,};
-static uint8_t ietf_chacha20_55[]={115,48,230,11,161,197,135,90,2,117,248,204,199,92,190,152,124,18,69,126,181,97,79,135,241,253,196,1,24,144,109,2,};
-static uint8_t ietf_chacha20_56[]={198,2,5,157,72,174,5,174,98,211,214,7,};
-static uint8_t ietf_chacha20_57[]={214,191,99,198,118,11,128,36,131,176,227,};
-static uint8_t ietf_chacha20_58[]={3,214,104,46,0,0,0,0,};
-static uint8_t ietf_chacha20_59[]={46,135,64,226,251,99,0,169,114,129,10,};
-static uint8_t ietf_chacha20_60[]={222,95,218,162,184,66,5,11,55,14,131,126,248,17,164,150,22,157,95,247,104,135,135,102,192,140,69,86,31,220,42,173,};
-static uint8_t ietf_chacha20_61[]={100,105,193,19,128,195,211,248,115,199,35,60,};
-static uint8_t ietf_chacha20_62[]={84,30,164,196,56,36,236,216,191,126,17,172,};
-static uint8_t ietf_chacha20_63[]={39,91,35,159,0,0,0,0,};
-static uint8_t ietf_chacha20_64[]={6,181,78,1,136,142,134,79,80,173,12,183,};
-static uint8_t ietf_chacha20_65[]={30,135,111,82,125,129,236,129,223,6,199,228,38,183,41,174,187,2,190,48,200,70,235,34,132,144,223,74,14,108,104,138,};
-static uint8_t ietf_chacha20_66[]={170,166,191,5,209,68,40,51,95,38,82,146,};
-static uint8_t ietf_chacha20_67[]={107,253,254,50,223,215,137,23,59,168,96,250,1,};
-static uint8_t ietf_chacha20_68[]={221,234,97,199,0,0,0,0,};
-static uint8_t ietf_chacha20_69[]={213,180,48,3,196,42,75,111,196,121,161,141,80,};
-static uint8_t ietf_chacha20_70[]={149,52,73,92,59,195,200,137,122,9,111,188,47,158,80,253,167,142,227,200,176,251,96,35,26,229,107,211,150,147,177,216,};
-static uint8_t ietf_chacha20_71[]={185,65,166,121,48,55,78,21,240,1,238,53,};
-static uint8_t ietf_chacha20_72[]={177,10,193,239,160,104,85,239,103,236,224,37,8,221,};
-static uint8_t ietf_chacha20_73[]={168,27,152,105,0,0,0,0,};
-static uint8_t ietf_chacha20_74[]={6,251,157,192,138,77,244,79,142,187,103,5,135,209,};
-static uint8_t ietf_chacha20_75[]={129,97,53,248,255,124,131,21,106,54,174,189,216,177,27,103,158,19,37,101,152,144,135,13,166,91,212,199,144,206,183,53,};
-static uint8_t ietf_chacha20_76[]={28,223,41,219,218,62,104,194,214,76,4,199,};
-static uint8_t ietf_chacha20_77[]={218,115,64,253,98,46,107,225,75,209,13,64,3,184,207,};
-static uint8_t ietf_chacha20_78[]={174,51,235,143,0,0,0,0,};
-static uint8_t ietf_chacha20_79[]={122,158,220,68,121,47,189,50,157,123,60,5,71,59,215,};
-static uint8_t ietf_chacha20_80[]={178,85,89,35,50,188,225,252,154,226,246,27,243,206,116,83,175,173,232,155,43,170,214,189,40,140,37,170,239,230,49,193,};
-static uint8_t ietf_chacha20_81[]={81,202,59,86,188,183,16,177,24,120,78,101,};
-static uint8_t ietf_chacha20_82[]={161,241,209,150,74,249,162,79,83,227,188,254,119,146,65,89,};
-static uint8_t ietf_chacha20_83[]={198,72,111,34,0,0,0,0,};
-static uint8_t ietf_chacha20_84[]={212,205,36,72,86,54,196,180,135,164,159,4,177,240,217,60,};
-static uint8_t ietf_chacha20_85[]={169,122,231,91,5,157,44,237,248,217,34,75,64,90,4,239,124,2,12,38,143,97,184,158,224,20,168,131,177,68,15,168,};
-static uint8_t ietf_chacha20_86[]={129,133,164,26,177,93,35,64,37,212,163,142,};
-static uint8_t ietf_chacha20_87[]={89,138,126,204,168,38,94,254,145,140,223,30,119,92,213,246,246,};
-static uint8_t ietf_chacha20_88[]={255,236,166,12,0,0,0,0,};
-static uint8_t ietf_chacha20_89[]={103,180,180,196,2,63,76,196,101,58,238,133,162,41,185,122,13,};
-static uint8_t ietf_chacha20_90[]={104,190,224,219,95,186,123,121,185,95,181,18,137,228,186,155,232,108,25,203,112,13,32,12,24,34,81,245,169,202,251,193,};
-static uint8_t ietf_chacha20_91[]={124,75,218,203,52,17,101,30,64,136,222,201,};
-static uint8_t ietf_chacha20_92[]={5,37,26,233,60,137,152,96,6,29,52,13,160,46,81,154,37,78,};
-static uint8_t ietf_chacha20_93[]={35,86,230,171,0,0,0,0,};
-static uint8_t ietf_chacha20_94[]={191,118,11,214,222,155,227,27,85,64,240,249,218,191,244,104,229,186,};
-static uint8_t ietf_chacha20_95[]={251,86,109,183,238,107,143,255,55,27,11,168,104,243,58,235,207,25,65,1,189,250,9,97,199,221,212,41,6,15,164,176,};
-static uint8_t ietf_chacha20_96[]={23,32,179,77,118,135,29,238,35,202,137,30,};
-static uint8_t ietf_chacha20_97[]={90,240,124,62,92,71,161,104,231,154,244,143,50,219,158,3,9,8,245,};
-static uint8_t ietf_chacha20_98[]={53,130,152,43,0,0,0,0,};
-static uint8_t ietf_chacha20_99[]={15,24,134,188,8,159,126,136,33,157,174,22,163,216,208,11,142,252,37,};
-static uint8_t ietf_chacha20_100[]={183,99,49,48,181,52,29,192,86,4,6,208,244,171,81,16,168,171,20,23,228,18,125,69,145,87,181,139,32,37,110,223,};
-static uint8_t ietf_chacha20_101[]={144,29,90,139,192,247,31,104,152,166,177,208,};
-static uint8_t ietf_chacha20_102[]={129,142,219,47,86,29,50,25,117,42,112,154,186,163,24,181,240,198,149,104,};
-static uint8_t ietf_chacha20_103[]={243,143,85,72,0,0,0,0,};
-static uint8_t ietf_chacha20_104[]={15,203,53,182,90,124,234,55,122,196,97,68,30,157,17,15,32,91,158,175,};
-static uint8_t ietf_chacha20_105[]={0,121,89,114,8,96,166,147,87,202,73,81,72,250,161,229,146,74,176,145,211,251,73,150,195,239,195,196,139,18,58,8,};
-static uint8_t ietf_chacha20_106[]={153,140,85,34,58,148,14,63,160,187,225,177,};
-static uint8_t ietf_chacha20_107[]={244,191,46,199,152,195,32,156,108,222,50,43,91,8,167,53,68,224,120,40,106,};
-static uint8_t ietf_chacha20_108[]={187,39,204,124,0,0,0,0,};
-static uint8_t ietf_chacha20_109[]={82,250,119,202,53,200,26,249,98,9,101,20,175,155,111,201,132,202,172,115,196,};
-static uint8_t ietf_chacha20_110[]={62,172,223,151,159,170,224,33,2,167,35,226,183,92,28,7,205,112,212,4,35,58,166,128,229,184,254,26,35,155,119,207,};
-static uint8_t ietf_chacha20_111[]={45,174,183,23,151,228,51,193,110,211,3,1,};
-static uint8_t ietf_chacha20_112[]={112,48,178,216,91,120,109,110,16,87,84,19,249,159,145,22,111,14,205,27,119,17,};
-static uint8_t ietf_chacha20_113[]={40,184,171,207,0,0,0,0,};
-static uint8_t ietf_chacha20_114[]={47,109,250,72,198,163,118,101,233,232,97,47,211,99,204,137,126,149,245,16,112,20,};
-static uint8_t ietf_chacha20_115[]={79,241,228,204,160,211,195,21,97,103,35,235,175,216,82,112,88,2,140,132,131,250,243,16,92,89,24,251,66,191,55,141,};
-static uint8_t ietf_chacha20_116[]={234,88,157,143,91,5,163,57,208,139,116,145,};
-static uint8_t ietf_chacha20_117[]={97,32,137,125,8,131,28,247,45,237,249,244,131,114,50,73,198,125,143,6,41,28,156,};
-static uint8_t ietf_chacha20_118[]={11,37,211,15,0,0,0,0,};
-static uint8_t ietf_chacha20_119[]={9,120,51,242,197,173,22,132,130,252,66,153,155,80,249,218,217,153,189,134,230,16,36,};
-static uint8_t ietf_chacha20_120[]={73,99,175,110,11,241,127,124,114,217,148,114,128,245,201,116,255,4,133,124,174,202,176,106,148,58,208,128,131,208,12,150,};
-static uint8_t ietf_chacha20_121[]={21,161,237,42,109,252,61,253,179,146,8,190,};
-static uint8_t ietf_chacha20_122[]={250,233,53,245,47,10,64,125,194,212,4,19,75,149,5,192,52,69,181,236,120,193,54,246,};
-static uint8_t ietf_chacha20_123[]={126,234,24,125,0,0,0,0,};
-static uint8_t ietf_chacha20_124[]={188,92,114,197,161,22,164,122,144,161,152,53,88,137,175,231,161,238,85,17,164,215,225,50,};
-static uint8_t ietf_chacha20_125[]={138,180,245,223,235,201,7,176,12,183,222,238,110,21,12,160,112,49,5,144,209,238,74,240,158,190,189,13,238,179,17,145,};
-static uint8_t ietf_chacha20_126[]={185,105,189,249,136,197,108,99,50,74,142,93,};
-static uint8_t ietf_chacha20_127[]={245,28,202,98,187,156,103,43,52,187,4,80,66,185,188,19,251,173,203,155,187,86,129,229,160,};
-static uint8_t ietf_chacha20_128[]={185,195,116,29,0,0,0,0,};
-static uint8_t ietf_chacha20_129[]={254,79,231,8,2,173,33,227,234,13,81,107,74,50,135,239,113,66,79,248,241,229,209,17,78,};
-static uint8_t ietf_chacha20_130[]={122,176,141,123,153,152,224,82,76,14,226,250,59,212,91,43,5,182,252,16,200,189,208,53,204,61,225,160,153,31,116,51,};
-static uint8_t ietf_chacha20_131[]={99,97,162,210,189,117,82,95,188,56,213,162,};
-static uint8_t ietf_chacha20_132[]={100,221,213,147,228,100,120,179,189,120,178,78,37,15,97,22,5,138,11,241,72,128,189,228,223,158,};
-static uint8_t ietf_chacha20_133[]={189,221,194,166,0,0,0,0,};
-static uint8_t ietf_chacha20_134[]={242,178,2,213,247,191,224,118,71,243,182,159,24,28,154,23,220,11,44,203,38,255,157,86,42,52,};
-static uint8_t ietf_chacha20_135[]={22,206,82,104,112,202,110,87,189,176,247,53,53,161,79,155,243,200,13,33,35,163,218,244,143,112,180,67,50,142,25,170,};
-static uint8_t ietf_chacha20_136[]={26,143,146,156,28,168,108,135,41,21,151,85,};
-static uint8_t ietf_chacha20_137[]={63,106,99,211,96,252,248,57,157,142,146,212,189,37,250,196,26,234,22,75,175,239,47,250,81,131,181,};
-static uint8_t ietf_chacha20_138[]={49,51,169,3,0,0,0,0,};
-static uint8_t ietf_chacha20_139[]={75,174,157,239,166,114,137,0,190,204,129,59,176,58,74,82,2,209,11,233,203,167,241,27,192,120,146,};
-static uint8_t ietf_chacha20_140[]={67,127,6,228,25,155,87,96,124,8,90,133,125,52,189,23,9,232,207,220,206,151,38,192,55,248,151,7,18,160,173,173,};
-static uint8_t ietf_chacha20_141[]={170,76,17,70,0,194,51,169,196,183,60,233,};
-static uint8_t ietf_chacha20_142[]={225,149,36,54,53,160,59,234,252,203,113,173,75,13,113,212,254,79,18,126,238,90,36,114,198,91,174,140,};
-static uint8_t ietf_chacha20_143[]={50,231,131,163,0,0,0,0,};
-static uint8_t ietf_chacha20_144[]={155,148,192,255,137,223,67,102,157,10,141,125,37,121,23,154,151,106,168,138,96,244,141,170,133,122,52,127,};
-static uint8_t ietf_chacha20_145[]={98,139,77,204,255,60,88,55,30,221,59,108,96,37,185,251,0,3,211,23,142,226,127,227,157,252,196,81,70,211,108,101,};
-static uint8_t ietf_chacha20_146[]={73,219,134,112,143,161,19,22,216,86,203,48,};
-static uint8_t ietf_chacha20_147[]={42,42,10,233,170,119,174,227,146,193,214,178,63,4,65,62,143,108,122,36,246,103,2,32,181,26,209,151,57,};
-static uint8_t ietf_chacha20_148[]={116,248,88,63,0,0,0,0,};
-static uint8_t ietf_chacha20_149[]={160,165,92,8,195,121,93,3,171,114,160,165,195,236,39,73,57,175,75,159,190,169,192,171,254,113,9,50,181,};
-static uint8_t ietf_chacha20_150[]={81,166,237,21,248,221,195,83,246,198,44,215,76,72,102,118,183,106,224,222,198,100,161,28,162,213,88,211,54,166,190,55,};
-static uint8_t ietf_chacha20_151[]={53,2,169,80,192,17,249,86,17,80,61,189,};
-static uint8_t ietf_chacha20_152[]={202,86,196,12,244,107,73,174,86,172,142,197,228,142,225,80,214,99,21,162,152,12,156,247,107,109,62,157,32,226,};
-static uint8_t ietf_chacha20_153[]={153,106,230,216,0,0,0,0,};
-static uint8_t ietf_chacha20_154[]={161,195,249,150,116,229,80,226,137,137,188,217,40,223,50,28,131,128,51,63,14,185,16,51,174,244,220,23,6,0,};
-static uint8_t ietf_chacha20_155[]={19,171,219,52,218,55,118,47,31,249,94,96,72,30,22,4,210,229,223,207,13,153,67,174,33,214,239,171,128,71,85,25,};
-static uint8_t ietf_chacha20_156[]={123,255,159,36,238,233,130,176,249,8,146,136,};
-static uint8_t ietf_chacha20_157[]={207,123,69,112,172,50,11,52,79,79,112,243,31,83,12,35,18,219,91,114,65,101,29,54,26,145,247,152,109,179,146,};
-static uint8_t ietf_chacha20_158[]={61,46,229,118,0,0,0,0,};
-static uint8_t ietf_chacha20_159[]={3,209,224,72,213,5,229,234,115,198,27,255,52,89,206,26,105,219,83,75,200,148,34,75,39,145,221,84,212,20,55,};
-static uint8_t ietf_chacha20_160[]={121,107,165,40,88,103,251,123,106,135,255,61,141,189,251,196,52,209,9,194,44,98,232,10,57,223,118,125,42,252,44,88,};
-static uint8_t ietf_chacha20_161[]={218,190,118,255,130,228,65,159,236,78,242,18,};
-static uint8_t ietf_chacha20_162[]={108,157,205,71,38,169,28,59,82,95,152,201,178,195,42,171,110,85,197,240,241,219,112,211,168,213,16,131,73,11,104,75,};
-static uint8_t ietf_chacha20_163[]={15,108,187,122,0,0,0,0,};
-static uint8_t ietf_chacha20_164[]={91,235,108,34,28,57,219,224,214,239,148,132,190,251,225,194,144,142,197,175,45,127,202,37,150,199,244,48,165,76,25,223,};
-static uint8_t ietf_chacha20_165[]={137,118,184,133,216,86,94,220,204,122,3,154,93,216,232,88,233,156,147,128,47,71,86,243,215,103,248,91,74,172,191,0,};
-static uint8_t ietf_chacha20_166[]={105,11,40,33,65,120,247,184,59,170,18,210,};
-static uint8_t ietf_chacha20_167[]={143,216,41,50,7,45,235,114,74,109,47,98,190,48,198,226,225,74,142,21,135,131,252,122,23,101,231,16,46,235,242,19,154,};
-static uint8_t ietf_chacha20_168[]={138,113,238,62,0,0,0,0,};
-static uint8_t ietf_chacha20_169[]={179,247,201,235,248,145,183,91,164,139,189,26,7,78,237,104,5,193,67,172,43,209,18,139,88,240,5,169,84,170,151,202,14,};
-static uint8_t ietf_chacha20_170[]={186,104,115,203,184,164,111,244,89,55,229,240,196,133,200,134,49,20,114,131,152,115,33,200,93,74,68,112,21,189,180,199,};
-static uint8_t ietf_chacha20_171[]={146,26,110,146,123,108,139,127,126,64,161,126,};
-static uint8_t ietf_chacha20_172[]={184,127,24,116,183,197,2,37,216,84,74,1,204,44,240,237,140,48,195,220,242,202,111,243,239,117,121,143,249,37,53,98,236,186,};
-static uint8_t ietf_chacha20_173[]={84,205,58,65,0,0,0,0,};
-static uint8_t ietf_chacha20_174[]={63,126,246,239,7,68,25,213,254,97,94,179,85,96,154,4,146,249,19,166,6,128,140,55,220,29,3,90,238,162,58,75,108,116,};
-static uint8_t ietf_chacha20_175[]={14,172,213,83,140,28,52,26,16,40,211,153,197,200,204,29,50,125,47,41,244,134,108,24,60,147,243,0,4,104,49,249,};
-static uint8_t ietf_chacha20_176[]={231,28,191,214,8,124,143,38,166,79,193,63,};
-static uint8_t ietf_chacha20_177[]={158,147,171,28,121,150,54,218,130,202,182,191,59,118,116,194,88,12,231,109,19,9,249,178,104,138,181,10,7,237,241,198,198,129,168,};
-static uint8_t ietf_chacha20_178[]={215,185,97,78,0,0,0,0,};
-static uint8_t ietf_chacha20_179[]={178,25,155,172,123,85,119,35,28,222,76,184,153,73,49,42,226,84,145,169,13,146,154,200,42,54,84,178,44,166,157,172,146,47,216,};
-static uint8_t ietf_chacha20_180[]={115,250,123,53,181,89,159,134,57,249,41,64,122,11,242,149,243,191,207,107,214,225,158,114,111,131,210,76,163,109,61,91,};
-static uint8_t ietf_chacha20_181[]={75,101,196,12,224,249,203,11,222,195,215,68,};
-static uint8_t ietf_chacha20_182[]={180,255,55,66,235,2,87,55,78,132,131,236,151,31,117,157,204,45,167,239,109,12,222,50,134,199,67,92,12,178,207,134,14,187,149,162,};
-static uint8_t ietf_chacha20_183[]={55,191,235,94,0,0,0,0,};
-static uint8_t ietf_chacha20_184[]={3,17,235,9,56,170,145,102,186,151,216,244,104,26,71,190,21,153,157,135,133,219,216,116,114,176,125,9,237,115,195,208,246,69,198,165,};
-static uint8_t ietf_chacha20_185[]={65,200,67,78,87,180,126,223,50,246,207,110,209,190,214,195,131,232,152,223,68,216,69,88,131,122,1,120,175,139,17,65,};
-static uint8_t ietf_chacha20_186[]={126,218,52,127,196,12,103,129,33,191,0,103,};
-static uint8_t ietf_chacha20_187[]={235,70,119,168,79,68,47,172,15,58,218,36,18,166,151,148,197,33,183,105,169,228,163,176,200,11,186,135,110,150,172,14,235,145,148,203,35,};
-static uint8_t ietf_chacha20_188[]={170,57,192,35,0,0,0,0,};
-static uint8_t ietf_chacha20_189[]={208,153,66,97,102,117,149,103,239,222,246,217,82,103,1,100,24,163,251,56,138,252,120,243,175,70,166,237,198,0,207,113,135,214,63,20,68,};
-static uint8_t ietf_chacha20_190[]={109,248,181,60,180,224,133,242,169,190,40,78,223,49,98,235,22,131,56,80,127,113,194,200,121,117,70,12,177,251,189,34,};
-static uint8_t ietf_chacha20_191[]={196,146,227,61,40,127,71,62,209,201,54,16,};
-static uint8_t ietf_chacha20_192[]={178,150,220,180,109,17,123,212,250,12,228,54,78,223,2,50,61,82,148,98,184,116,66,76,137,244,170,84,147,18,108,152,28,228,218,80,90,180,};
-static uint8_t ietf_chacha20_193[]={168,99,66,230,0,0,0,0,};
-static uint8_t ietf_chacha20_194[]={250,133,116,3,11,36,236,154,233,107,173,200,16,135,139,15,50,67,46,161,227,161,200,233,162,178,210,160,26,85,255,84,106,87,92,232,149,164,};
-static uint8_t ietf_chacha20_195[]={89,187,216,159,242,55,175,173,240,161,161,68,67,188,198,67,66,180,75,196,218,25,13,150,147,30,6,224,9,35,190,242,};
-static uint8_t ietf_chacha20_196[]={108,94,234,122,222,104,154,151,16,53,122,2,};
-static uint8_t ietf_chacha20_197[]={16,15,115,66,106,69,117,12,191,184,166,147,250,248,142,235,123,173,131,58,75,56,1,140,225,196,89,1,236,236,182,211,100,248,239,53,158,150,81,};
-static uint8_t ietf_chacha20_198[]={121,160,159,32,0,0,0,0,};
-static uint8_t ietf_chacha20_199[]={153,176,241,237,69,146,141,201,185,252,140,86,97,8,216,103,136,217,131,203,124,65,251,14,174,179,146,208,235,186,244,159,65,10,33,143,72,33,178,};
-static uint8_t ietf_chacha20_200[]={30,149,34,39,243,28,240,168,61,203,102,97,60,1,44,222,162,163,119,105,97,240,239,211,152,113,32,81,183,231,184,80,};
-static uint8_t ietf_chacha20_201[]={14,203,208,48,210,198,160,1,43,142,174,234,};
-static uint8_t ietf_chacha20_202[]={187,204,13,111,30,3,244,172,247,9,179,189,227,15,78,138,163,235,176,232,247,81,88,190,114,116,99,226,93,43,63,2,219,92,243,52,37,129,206,114,};
-static uint8_t ietf_chacha20_203[]={236,140,113,249,0,0,0,0,};
-static uint8_t ietf_chacha20_204[]={203,195,159,72,15,29,247,185,41,122,97,185,122,197,35,54,142,48,212,140,211,6,95,139,74,226,198,81,138,29,237,62,81,178,166,122,128,47,33,240,};
-static uint8_t ietf_chacha20_205[]={209,169,36,153,182,134,96,193,253,47,128,155,178,106,238,41,249,58,180,72,70,148,80,111,174,113,211,7,172,69,35,154,};
-static uint8_t ietf_chacha20_206[]={67,31,63,81,40,90,186,13,189,58,253,174,};
-static uint8_t ietf_chacha20_207[]={2,49,196,161,252,20,178,27,162,241,194,117,72,212,194,89,84,78,128,185,70,150,218,131,138,214,24,107,46,162,159,75,161,91,85,155,102,193,2,49,99,};
-static uint8_t ietf_chacha20_208[]={186,253,216,227,0,0,0,0,};
-static uint8_t ietf_chacha20_209[]={196,187,104,186,224,12,117,52,97,211,81,107,182,77,160,19,238,162,47,254,251,113,88,217,85,160,100,157,108,242,186,207,194,196,212,200,38,208,122,113,213,};
-static uint8_t ietf_chacha20_210[]={66,73,9,50,49,204,203,120,183,164,204,141,211,63,34,151,189,211,218,55,54,81,204,237,196,83,252,230,217,166,252,174,};
-static uint8_t ietf_chacha20_211[]={157,226,124,188,44,42,251,245,23,160,155,36,};
-static uint8_t ietf_chacha20_212[]={3,117,211,119,18,208,160,222,115,61,85,63,226,62,231,35,87,137,57,61,201,163,69,234,77,215,171,227,226,210,234,169,156,239,98,43,55,88,22,73,183,14,};
-static uint8_t ietf_chacha20_213[]={4,119,241,78,0,0,0,0,};
-static uint8_t ietf_chacha20_214[]={145,234,168,186,180,51,98,249,101,108,57,187,252,12,79,213,212,47,15,146,41,151,53,215,89,144,177,11,177,239,11,32,40,106,230,226,98,191,28,43,254,39,};
-static uint8_t ietf_chacha20_215[]={54,202,168,129,60,134,58,19,235,133,224,106,151,63,149,32,75,38,92,159,118,73,100,7,189,209,189,22,183,246,234,62,};
-static uint8_t ietf_chacha20_216[]={151,243,52,110,99,213,224,95,152,150,177,130,};
-static uint8_t ietf_chacha20_217[]={30,61,190,56,42,136,73,227,226,126,5,200,87,33,64,41,125,134,71,62,114,13,98,230,199,239,23,102,228,175,248,49,60,104,139,107,145,102,123,32,204,252,5,};
-static uint8_t ietf_chacha20_218[]={52,48,233,251,0,0,0,0,};
-static uint8_t ietf_chacha20_219[]={172,176,195,87,150,80,251,16,112,188,218,17,174,59,146,237,163,17,30,33,138,75,195,211,71,255,57,136,70,190,149,127,174,56,136,155,67,73,121,51,93,16,213,};
-static uint8_t ietf_chacha20_220[]={150,101,74,89,166,99,35,41,33,66,202,73,156,68,203,149,188,48,140,16,212,74,165,52,6,110,251,65,63,189,126,98,};
-static uint8_t ietf_chacha20_221[]={47,178,162,54,107,32,67,145,86,114,141,119,};
-static uint8_t ietf_chacha20_222[]={83,197,152,16,101,8,135,139,191,68,103,217,199,129,46,166,134,104,53,128,54,90,80,18,166,8,248,24,133,65,189,144,118,233,5,94,3,243,222,163,16,191,153,62,};
-static uint8_t ietf_chacha20_223[]={103,146,44,193,0,0,0,0,};
-static uint8_t ietf_chacha20_224[]={15,217,17,159,83,222,221,111,215,199,7,136,43,73,74,14,21,143,181,255,111,131,0,27,228,37,193,211,70,8,115,77,183,0,87,88,43,203,124,78,237,154,47,99,};
-static uint8_t ietf_chacha20_225[]={86,119,53,138,138,28,253,139,100,140,170,0,95,16,131,112,76,227,248,181,155,65,203,2,227,191,86,124,81,231,208,112,};
-static uint8_t ietf_chacha20_226[]={61,99,61,43,224,255,97,49,82,215,100,18,};
-static uint8_t ietf_chacha20_227[]={245,91,226,240,208,119,67,162,200,203,1,162,187,50,79,238,223,245,46,212,193,39,91,106,64,79,79,179,123,142,221,167,6,99,54,171,44,5,155,79,142,130,14,166,126,};
-static uint8_t ietf_chacha20_228[]={83,202,72,99,0,0,0,0,};
-static uint8_t ietf_chacha20_229[]={22,71,230,94,171,151,66,71,194,42,161,217,229,43,230,212,207,217,89,180,172,144,207,233,187,237,78,55,193,19,199,165,69,136,207,117,248,157,139,181,24,141,123,141,35,};
-static uint8_t ietf_chacha20_230[]={102,215,132,225,127,145,244,220,18,177,89,116,197,239,141,249,252,251,135,140,254,52,171,182,171,233,82,237,203,146,76,180,};
-static uint8_t ietf_chacha20_231[]={195,239,117,241,20,10,121,202,8,76,117,162,};
-static uint8_t ietf_chacha20_232[]={170,188,170,139,88,253,132,64,4,126,129,248,45,15,7,166,130,195,4,177,143,171,123,159,23,108,97,64,247,47,57,111,89,207,135,112,222,239,89,154,209,78,64,136,14,192,};
-static uint8_t ietf_chacha20_233[]={203,182,111,6,0,0,0,0,};
-static uint8_t ietf_chacha20_234[]={170,137,186,117,47,244,68,201,127,236,182,122,20,130,187,196,88,245,162,0,60,74,106,117,205,118,72,200,46,27,101,42,147,196,151,224,46,231,208,203,164,151,47,209,213,52,};
-static uint8_t ietf_chacha20_235[]={117,111,119,83,243,241,81,189,34,117,165,227,171,47,118,99,155,164,43,179,239,18,251,203,199,166,24,48,197,99,77,243,};
-static uint8_t ietf_chacha20_236[]={18,26,43,193,119,147,194,144,126,150,39,173,};
-static uint8_t ietf_chacha20_237[]={216,130,169,20,222,223,239,60,160,228,192,39,10,135,98,222,15,24,53,169,161,180,14,97,70,156,160,14,67,123,189,104,191,236,136,241,114,81,253,83,229,233,47,20,94,254,35,};
-static uint8_t ietf_chacha20_238[]={235,16,231,84,0,0,0,0,};
-static uint8_t ietf_chacha20_239[]={102,222,254,145,142,60,105,88,57,18,101,57,16,122,207,88,62,66,57,186,226,102,22,213,135,233,142,79,210,248,160,154,44,75,182,231,70,179,210,235,23,248,153,124,185,127,218,};
-static uint8_t ietf_chacha20_240[]={205,213,62,62,222,106,147,38,71,141,249,227,204,59,106,26,87,157,224,146,18,199,50,4,213,86,17,23,234,122,193,106,};
-static uint8_t ietf_chacha20_241[]={0,150,170,124,161,183,250,91,234,43,51,77,};
-static uint8_t ietf_chacha20_242[]={247,184,30,20,17,18,155,92,111,144,175,56,103,68,68,209,102,147,180,33,101,157,112,187,74,173,38,65,88,118,61,49,51,2,21,139,142,170,139,228,198,241,147,34,4,204,194,3,};
-static uint8_t ietf_chacha20_243[]={80,45,158,247,0,0,0,0,};
-static uint8_t ietf_chacha20_244[]={48,172,78,19,83,36,163,147,48,204,178,237,18,50,202,242,4,123,148,9,200,234,106,158,186,109,61,137,11,153,148,190,13,150,139,48,49,10,159,35,6,238,255,173,84,75,144,191,};
-static uint8_t ietf_chacha20_245[]={97,210,167,239,117,225,143,71,238,10,25,31,97,213,115,158,73,130,230,156,161,153,29,140,19,103,40,56,233,191,105,127,};
-static uint8_t ietf_chacha20_246[]={50,32,164,70,45,79,12,85,9,3,255,69,};
-static uint8_t ietf_chacha20_247[]={244,115,135,110,176,198,46,182,67,196,195,125,213,15,145,171,74,66,55,226,116,131,87,91,71,205,104,250,123,61,9,222,159,209,232,209,39,108,11,156,26,47,51,66,183,199,47,50,174,};
-static uint8_t ietf_chacha20_248[]={1,69,71,169,0,0,0,0,};
-static uint8_t ietf_chacha20_249[]={120,112,165,178,214,190,49,167,107,132,225,65,33,96,169,63,15,26,226,144,15,126,194,105,247,209,199,80,240,133,113,41,40,247,2,10,55,242,4,180,195,4,237,32,156,3,67,6,54,};
-static uint8_t ietf_chacha20_250[]={69,4,195,36,193,223,157,179,143,49,52,24,163,140,68,65,178,8,48,59,38,68,73,25,42,204,228,182,160,115,74,224,};
-static uint8_t ietf_chacha20_251[]={221,209,185,209,33,233,89,233,104,234,121,25,};
-static uint8_t ietf_chacha20_252[]={83,38,121,235,136,242,253,127,22,3,147,101,57,119,155,38,13,1,114,141,164,146,162,142,184,123,165,181,205,171,87,192,142,110,25,176,69,245,65,195,68,84,38,182,244,14,8,102,181,53,};
-static uint8_t ietf_chacha20_253[]={21,223,45,231,0,0,0,0,};
-static uint8_t ietf_chacha20_254[]={202,206,131,235,94,224,178,116,237,116,140,240,195,50,127,49,157,225,89,235,187,120,9,43,93,40,3,140,204,220,19,176,115,213,83,137,193,165,207,95,37,51,218,242,226,88,135,0,230,26,};
-static uint8_t ietf_chacha20_255[]={119,58,38,248,90,190,45,244,242,239,155,227,13,50,146,101,28,242,182,180,80,65,26,119,164,174,74,60,160,146,136,102,};
-static uint8_t ietf_chacha20_256[]={186,93,48,230,239,15,160,5,33,173,219,20,};
-static uint8_t ietf_chacha20_257[]={7,29,95,220,56,21,219,191,253,82,121,155,102,53,15,127,141,97,208,245,27,224,48,93,192,90,39,202,148,143,134,35,90,53,185,248,207,74,1,182,75,166,246,136,210,31,130,2,169,155,157,};
-static uint8_t ietf_chacha20_258[]={213,186,191,115,0,0,0,0,};
-static uint8_t ietf_chacha20_259[]={23,253,140,119,21,191,68,64,203,76,197,185,156,157,43,222,214,82,25,199,196,204,113,62,239,172,140,68,7,241,95,162,69,38,106,173,2,25,211,96,196,220,147,232,64,8,54,155,254,37,167,};
-static uint8_t ietf_chacha20_260[]={6,30,244,145,40,54,135,124,158,2,72,110,101,15,140,203,31,181,172,56,174,159,106,231,67,171,92,19,74,20,152,233,};
-static uint8_t ietf_chacha20_261[]={160,117,55,213,81,233,151,13,7,52,106,152,};
-static uint8_t ietf_chacha20_262[]={49,138,12,95,186,0,229,47,116,184,165,216,195,50,138,71,110,246,208,184,101,164,90,115,216,52,14,33,46,247,181,124,56,93,228,99,115,60,148,1,4,127,238,127,16,69,185,179,239,53,164,174,};
-static uint8_t ietf_chacha20_263[]={84,60,81,172,0,0,0,0,};
-static uint8_t ietf_chacha20_264[]={87,226,132,107,84,235,252,17,223,135,212,146,35,176,243,110,66,142,89,64,197,178,52,206,86,88,88,145,232,110,219,141,67,51,254,243,56,111,60,30,64,246,3,119,48,37,101,227,251,140,64,178,};
-static uint8_t ietf_chacha20_265[]={74,112,67,115,82,109,142,84,41,196,69,83,10,13,72,170,39,72,145,36,110,44,233,9,231,174,224,109,65,145,186,80,};
-static uint8_t ietf_chacha20_266[]={148,230,224,238,209,93,223,34,75,88,103,51,};
-static uint8_t ietf_chacha20_267[]={86,55,102,44,161,174,7,179,202,213,27,150,242,23,142,219,137,128,59,72,132,159,156,32,56,203,132,29,177,92,224,255,11,114,79,217,13,78,101,109,37,198,187,227,103,199,207,253,105,119,241,140,214,};
-static uint8_t ietf_chacha20_268[]={245,51,5,103,0,0,0,0,};
-static uint8_t ietf_chacha20_269[]={117,23,2,138,39,54,59,64,207,202,4,17,32,196,141,96,241,35,128,168,166,1,128,54,66,175,198,250,212,29,2,4,106,8,226,192,198,183,35,248,107,246,44,237,106,8,41,141,190,129,57,78,55,};
-static uint8_t ietf_chacha20_270[]={96,69,116,51,209,201,173,253,136,217,85,211,59,101,53,132,134,127,113,240,50,201,228,63,159,207,213,120,170,216,18,209,};
-static uint8_t ietf_chacha20_271[]={90,5,89,128,243,189,15,192,115,98,195,69,};
-static uint8_t ietf_chacha20_272[]={13,55,36,198,28,83,161,149,40,71,158,172,198,150,20,34,174,236,197,144,166,44,52,0,64,12,11,73,150,217,205,16,239,33,31,87,112,200,240,186,230,134,149,255,136,92,140,3,78,172,67,156,165,253,};
-static uint8_t ietf_chacha20_273[]={176,76,53,6,0,0,0,0,};
-static uint8_t ietf_chacha20_274[]={189,93,126,41,87,9,251,173,230,116,6,218,251,100,238,224,134,12,127,187,176,231,107,106,176,103,63,49,177,191,127,118,64,196,14,198,139,62,143,63,245,173,130,136,226,132,215,205,156,194,206,184,187,203,};
-static uint8_t ietf_chacha20_275[]={118,216,189,71,234,176,188,153,176,137,68,47,166,91,253,167,140,188,192,34,91,219,37,171,175,66,174,27,183,164,82,32,};
-static uint8_t ietf_chacha20_276[]={250,13,107,16,145,232,91,137,209,105,127,179,};
-static uint8_t ietf_chacha20_277[]={75,64,143,222,241,165,139,45,234,10,69,99,184,109,101,222,59,73,64,47,45,89,85,199,227,63,58,53,248,60,214,153,238,23,17,58,185,166,112,6,211,188,199,167,188,35,102,155,90,146,156,235,6,196,165,};
-static uint8_t ietf_chacha20_278[]={100,139,208,221,0,0,0,0,};
-static uint8_t ietf_chacha20_279[]={107,91,69,245,244,47,23,163,118,35,167,53,2,173,189,179,222,26,161,56,241,4,68,158,252,97,69,108,4,219,99,197,34,205,29,252,15,94,2,194,122,109,167,128,156,118,54,0,113,81,82,196,134,98,61,};
-static uint8_t ietf_chacha20_280[]={191,22,198,194,9,72,77,199,53,163,142,57,86,21,86,53,242,10,136,224,26,27,126,163,63,69,42,2,31,208,208,135,};
-static uint8_t ietf_chacha20_281[]={177,108,208,181,100,94,16,71,242,106,38,10,};
-static uint8_t ietf_chacha20_282[]={136,80,177,227,109,105,239,206,127,91,71,239,211,213,227,194,113,121,111,118,210,14,255,235,216,36,4,171,177,233,76,205,149,61,159,134,185,163,248,107,3,185,219,184,17,201,191,23,201,116,15,68,106,214,175,63,};
-static uint8_t ietf_chacha20_283[]={186,65,77,21,0,0,0,0,};
-static uint8_t ietf_chacha20_284[]={199,195,84,226,66,130,78,128,131,107,136,163,146,221,119,104,207,187,89,49,213,99,239,111,188,247,164,139,140,225,156,125,113,66,162,32,236,195,206,249,4,12,42,172,127,131,199,133,133,234,35,71,3,93,230,212,};
-static uint8_t ietf_chacha20_285[]={218,65,107,239,77,27,6,179,76,178,241,240,250,128,165,91,40,118,89,172,165,212,90,222,86,238,126,30,23,149,230,251,};
-static uint8_t ietf_chacha20_286[]={159,208,125,221,246,74,74,231,110,107,111,5,};
-static uint8_t ietf_chacha20_287[]={94,17,103,8,171,174,173,236,191,71,11,68,108,197,0,53,37,108,178,76,91,223,14,9,107,199,38,164,205,212,196,224,251,96,84,59,227,99,175,160,192,5,75,107,111,229,115,209,223,205,236,153,175,107,191,198,146,};
-static uint8_t ietf_chacha20_288[]={6,210,83,253,0,0,0,0,};
-static uint8_t ietf_chacha20_289[]={84,41,150,71,146,247,39,129,195,145,156,83,218,70,122,225,134,160,153,200,2,138,70,113,226,188,235,120,74,20,127,6,106,227,160,21,142,216,174,97,138,4,175,204,88,244,165,139,72,57,205,145,20,112,197,16,188,};
-static uint8_t ietf_chacha20_290[]={211,102,225,240,232,59,48,161,104,169,145,57,241,120,104,159,22,173,227,185,219,174,34,141,211,24,230,176,244,42,64,150,};
-static uint8_t ietf_chacha20_291[]={247,170,10,77,220,55,142,23,33,213,18,110,};
-static uint8_t ietf_chacha20_292[]={90,199,69,86,19,137,51,198,179,222,182,21,196,252,208,67,14,78,98,148,38,148,226,255,88,167,41,198,32,147,75,143,116,35,227,116,144,97,21,74,148,118,32,194,190,203,78,42,180,188,46,69,49,91,42,93,212,11,};
-static uint8_t ietf_chacha20_293[]={165,6,94,6,0,0,0,0,};
-static uint8_t ietf_chacha20_294[]={74,147,80,92,227,219,97,209,44,125,30,167,241,65,138,64,98,131,153,66,64,39,186,109,223,81,19,208,251,98,139,214,26,167,19,134,91,150,59,131,66,224,225,119,200,74,239,242,29,252,183,203,112,24,3,129,126,15,};
-static uint8_t ietf_chacha20_295[]={210,198,219,251,220,197,192,92,160,185,29,167,203,208,199,32,81,144,200,174,209,1,95,213,96,89,221,37,220,110,74,237,};
-static uint8_t ietf_chacha20_296[]={38,66,219,25,199,56,157,149,83,53,58,75,};
-static uint8_t ietf_chacha20_297[]={1,159,241,9,4,233,194,153,173,24,227,202,148,111,11,48,61,118,93,135,142,148,107,42,243,11,54,248,255,201,142,34,116,175,240,148,203,175,16,209,115,54,47,73,224,182,184,120,109,140,139,113,137,171,48,33,137,242,224,};
-static uint8_t ietf_chacha20_298[]={72,136,235,207,0,0,0,0,};
-static uint8_t ietf_chacha20_299[]={42,69,31,215,72,238,189,222,213,33,44,189,37,254,67,134,231,15,107,176,76,39,54,251,8,106,121,133,112,184,195,122,238,39,230,94,111,227,133,251,160,87,28,132,40,99,230,62,87,235,71,167,96,241,77,223,191,42,24,};
-static uint8_t ietf_chacha20_300[]={132,17,175,93,187,198,100,171,164,94,107,54,16,206,215,95,208,240,151,72,58,229,245,199,211,81,108,20,75,141,7,135,};
-static uint8_t ietf_chacha20_301[]={161,151,211,127,108,5,68,12,176,220,61,95,};
-static uint8_t ietf_chacha20_302[]={233,206,167,188,169,182,72,111,193,139,133,222,12,101,29,119,31,82,66,132,74,224,156,26,223,57,16,105,139,134,15,239,48,217,152,132,44,78,98,127,241,241,153,46,201,93,37,62,141,44,250,71,177,135,188,150,138,143,17,107,};
-static uint8_t ietf_chacha20_303[]={240,75,210,224,0,0,0,0,};
-static uint8_t ietf_chacha20_304[]={220,237,201,56,18,140,222,128,225,241,112,131,251,147,121,6,118,146,210,155,115,140,161,36,16,22,249,203,149,23,227,67,158,165,201,228,25,37,209,35,254,60,183,113,184,192,173,219,228,223,109,229,227,48,193,77,70,44,222,186,};
-static uint8_t ietf_chacha20_305[]={59,253,186,150,71,179,145,18,58,231,137,1,78,82,6,202,74,90,201,121,19,69,35,180,139,100,181,236,191,118,226,77,};
-static uint8_t ietf_chacha20_306[]={88,86,63,140,162,82,158,17,235,36,255,229,};
-static uint8_t ietf_chacha20_307[]={76,119,97,125,79,130,228,227,165,148,161,209,130,198,117,79,34,72,251,163,138,136,141,64,130,65,126,78,100,228,87,197,188,68,72,236,250,54,152,77,199,254,73,189,51,248,178,30,204,109,203,128,194,61,129,254,187,128,220,171,26,};
-static uint8_t ietf_chacha20_308[]={52,183,36,255,0,0,0,0,};
-static uint8_t ietf_chacha20_309[]={43,111,32,28,84,101,110,31,246,252,112,21,223,92,143,211,62,120,17,143,132,6,227,194,27,190,55,83,74,143,185,28,45,46,53,36,218,25,121,200,73,246,61,54,31,105,106,139,81,17,13,167,43,68,103,234,56,246,79,35,98,};
-static uint8_t ietf_chacha20_310[]={132,83,218,1,56,72,24,212,206,64,42,167,133,35,56,86,11,214,229,89,135,165,240,52,110,59,156,19,131,85,118,137,};
-static uint8_t ietf_chacha20_311[]={132,227,154,50,69,135,28,141,209,85,13,171,};
-static uint8_t ietf_chacha20_312[]={143,217,124,141,64,222,147,233,201,144,236,204,190,15,66,64,115,211,42,244,234,41,15,141,189,163,189,242,147,144,151,28,9,232,178,235,208,128,253,249,85,24,52,117,55,91,222,41,177,38,212,173,145,156,221,34,120,164,211,37,224,179,};
-static uint8_t ietf_chacha20_313[]={162,124,9,182,0,0,0,0,};
-static uint8_t ietf_chacha20_314[]={93,233,91,228,206,70,88,81,153,80,54,236,76,147,55,148,127,105,158,195,125,212,191,243,84,23,47,98,124,216,109,103,165,170,130,60,217,238,37,171,153,215,197,20,164,183,212,140,230,13,135,253,18,170,75,147,247,70,232,134,211,123,};
-static uint8_t ietf_chacha20_315[]={201,199,139,173,149,197,226,200,172,215,47,94,159,80,253,172,132,173,183,239,106,253,89,234,47,91,33,62,8,115,7,113,};
-static uint8_t ietf_chacha20_316[]={43,24,4,133,122,241,195,135,216,178,145,110,};
-static uint8_t ietf_chacha20_317[]={135,52,156,197,26,46,237,84,58,152,96,213,61,117,78,189,6,65,164,88,212,130,158,185,111,249,255,177,138,129,182,123,216,48,175,77,177,204,174,34,183,131,33,173,153,145,97,30,221,128,51,161,222,6,251,200,8,168,143,160,28,27,115,};
-static uint8_t ietf_chacha20_318[]={35,14,154,140,0,0,0,0,};
-static uint8_t ietf_chacha20_319[]={232,255,64,96,161,148,165,70,52,243,173,172,191,50,208,40,209,173,192,213,177,225,43,60,188,140,92,72,119,77,146,32,250,184,229,183,235,81,24,145,183,7,162,2,26,151,161,12,129,196,113,188,191,93,29,228,51,31,249,44,55,113,33,};
-static uint8_t ietf_chacha20_320[]={74,127,187,4,195,97,45,240,228,7,181,174,166,229,129,151,26,9,162,186,44,140,135,122,134,13,18,225,51,212,55,248,};
-static uint8_t ietf_chacha20_321[]={65,216,36,86,55,165,136,169,80,133,245,35,};
-static uint8_t ietf_chacha20_322[]={172,214,106,150,118,139,107,92,89,208,2,225,250,10,194,82,65,254,218,188,244,76,178,51,34,83,215,227,189,238,250,209,63,220,71,151,65,141,249,104,84,134,223,73,107,251,244,41,222,191,239,222,60,187,80,243,33,108,196,36,192,81,204,248,};
-static uint8_t ietf_chacha20_323[]={251,54,102,165,0,0,0,0,};
-static uint8_t ietf_chacha20_324[]={166,162,170,73,158,188,103,112,40,0,210,57,250,195,165,138,190,7,105,97,158,206,191,236,34,223,252,249,220,210,89,203,216,160,66,248,52,180,59,34,196,149,160,244,166,16,210,10,135,255,48,217,202,7,32,214,118,225,57,167,33,107,181,104,};
-static uint8_t ietf_chacha20_325[]={206,212,49,165,164,16,234,33,59,218,216,183,27,107,130,34,87,13,222,69,246,227,128,187,180,117,235,239,227,217,118,76,};
-static uint8_t ietf_chacha20_326[]={179,108,136,132,60,32,49,127,214,248,12,92,};
-static uint8_t ietf_chacha20_327[]={45,27,152,121,181,243,229,64,61,235,4,169,82,21,181,171,172,247,191,234,172,167,115,254,116,233,253,36,172,213,166,153,121,206,58,208,245,131,209,184,202,9,26,100,100,41,243,64,94,70,146,82,105,144,188,189,165,74,177,159,81,164,162,189,27,};
-static uint8_t ietf_chacha20_328[]={157,226,251,73,0,0,0,0,};
-static uint8_t ietf_chacha20_329[]={142,149,176,126,219,89,178,66,122,84,125,14,61,144,47,250,40,67,17,196,153,66,100,164,26,13,0,166,188,110,201,56,58,43,187,173,146,236,36,23,71,110,110,199,42,211,243,212,30,173,2,88,244,141,184,196,59,136,111,72,40,114,84,141,61,};
-static uint8_t ietf_chacha20_330[]={122,201,111,150,79,120,17,195,186,165,190,62,62,144,83,184,223,163,218,64,86,88,143,186,227,162,84,251,9,92,14,120,};
-static uint8_t ietf_chacha20_331[]={6,33,128,73,165,238,53,186,217,39,70,84,};
-static uint8_t ietf_chacha20_332[]={41,39,19,11,93,220,225,17,14,56,193,246,182,233,17,101,187,9,51,234,20,247,153,203,97,158,188,248,134,0,151,32,224,62,156,39,56,53,92,240,82,45,177,199,78,92,191,48,11,197,132,156,83,207,115,186,172,119,112,62,153,10,1,124,21,205,};
-static uint8_t ietf_chacha20_333[]={147,207,204,39,0,0,0,0,};
-static uint8_t ietf_chacha20_334[]={146,34,144,162,120,117,165,7,148,7,23,13,132,106,100,89,51,157,21,200,227,125,36,42,201,25,203,180,200,173,45,214,165,208,246,132,34,39,225,197,157,51,193,184,109,115,162,46,191,34,127,129,104,251,122,194,147,72,83,231,232,237,240,102,46,240,};
-static uint8_t ietf_chacha20_335[]={128,112,90,183,94,31,181,47,12,108,89,201,202,244,131,97,146,157,199,180,63,110,151,149,235,121,16,33,238,249,174,132,};
-static uint8_t ietf_chacha20_336[]={187,11,5,136,91,192,123,205,37,104,66,139,};
-static uint8_t ietf_chacha20_337[]={235,122,243,155,198,44,122,116,216,135,157,111,230,246,111,139,38,107,6,166,217,24,103,169,58,176,207,54,20,249,88,227,213,36,169,218,32,103,188,215,65,251,174,209,177,142,114,2,79,157,246,84,208,239,70,133,107,48,134,168,68,0,141,245,203,158,40,};
-static uint8_t ietf_chacha20_338[]={164,92,137,102,0,0,0,0,};
-static uint8_t ietf_chacha20_339[]={141,238,244,209,161,162,136,94,105,68,150,184,108,177,174,93,193,229,230,225,207,94,190,244,94,179,68,181,226,82,214,9,173,211,60,149,112,15,149,87,97,143,92,140,26,249,223,29,213,21,138,139,116,26,35,156,102,220,51,154,51,3,227,240,215,152,157,};
-static uint8_t ietf_chacha20_340[]={252,219,197,27,181,90,238,44,3,74,141,49,31,196,21,178,152,19,144,255,3,108,11,71,133,247,174,79,199,134,161,121,};
-static uint8_t ietf_chacha20_341[]={36,255,108,20,150,6,151,149,103,1,101,215,};
-static uint8_t ietf_chacha20_342[]={85,90,198,146,4,91,70,231,104,176,74,179,59,180,220,229,193,9,8,1,10,210,245,165,189,35,127,12,231,101,217,27,171,230,116,111,144,122,241,203,240,185,76,203,251,26,80,49,132,246,114,166,133,188,144,241,121,129,106,183,16,48,195,85,18,27,152,88,};
-static uint8_t ietf_chacha20_343[]={184,134,56,218,0,0,0,0,};
-static uint8_t ietf_chacha20_344[]={140,252,52,64,250,183,179,191,249,124,251,151,193,7,137,28,67,44,18,238,168,210,127,227,145,42,138,210,98,120,245,137,29,65,218,133,19,80,24,248,128,204,34,76,29,44,88,153,38,135,161,85,97,178,69,162,28,118,33,171,102,70,47,243,90,216,65,110,};
-static uint8_t ietf_chacha20_345[]={3,205,77,236,239,202,242,45,7,49,3,215,143,144,162,216,211,153,152,125,138,209,130,237,2,131,41,21,11,153,11,32,};
-static uint8_t ietf_chacha20_346[]={65,62,142,108,234,119,179,250,91,235,176,68,};
-static uint8_t ietf_chacha20_347[]={169,205,75,160,226,25,93,63,248,138,121,159,221,20,238,86,127,105,245,105,213,146,223,21,223,10,15,132,104,212,21,17,50,6,140,178,133,161,243,193,232,59,106,120,170,19,83,128,165,123,91,1,141,213,172,25,252,110,116,27,85,31,114,172,188,44,18,249,175,};
-static uint8_t ietf_chacha20_348[]={197,62,210,169,0,0,0,0,};
-static uint8_t ietf_chacha20_349[]={164,32,178,109,25,180,206,101,158,164,231,54,22,176,169,146,152,49,100,204,74,160,102,15,61,231,204,249,33,39,236,49,132,172,12,175,221,52,2,1,183,82,164,192,162,107,191,244,188,232,99,103,203,3,36,140,106,98,72,56,97,234,205,75,195,164,29,218,56,};
-static uint8_t ietf_chacha20_350[]={239,72,194,31,3,72,6,69,240,97,102,66,107,204,243,188,212,22,170,88,78,93,97,118,148,35,160,128,92,253,110,161,};
-static uint8_t ietf_chacha20_351[]={36,195,153,136,13,248,121,223,148,11,124,53,};
-static uint8_t ietf_chacha20_352[]={197,245,136,192,13,89,43,129,67,191,20,27,227,37,16,233,181,31,233,45,87,161,102,239,221,86,202,138,98,90,243,144,106,49,56,176,170,78,170,182,114,234,150,124,41,213,22,177,128,6,173,233,127,2,134,177,145,70,130,156,194,220,6,9,209,17,222,185,140,205,};
-static uint8_t ietf_chacha20_353[]={50,173,125,46,0,0,0,0,};
-static uint8_t ietf_chacha20_354[]={208,146,171,214,66,47,78,8,35,53,96,167,68,104,155,52,124,190,219,133,231,74,201,19,182,3,113,74,190,241,109,195,121,179,74,77,242,162,82,82,220,113,179,36,29,134,84,91,80,130,101,213,178,49,9,70,108,36,83,196,246,207,86,99,154,158,102,190,118,217,};
-static uint8_t ietf_chacha20_355[]={90,110,138,48,126,139,206,81,33,231,63,101,7,169,119,171,155,186,249,231,117,92,63,16,39,54,143,252,189,11,109,254,};
-static uint8_t ietf_chacha20_356[]={247,180,223,82,94,46,174,205,212,237,233,190,};
-static uint8_t ietf_chacha20_357[]={10,190,147,163,191,211,216,105,189,35,52,41,1,64,132,218,162,135,114,107,105,66,32,202,31,108,249,185,104,203,121,208,220,189,99,97,250,97,249,102,11,149,36,23,45,177,2,146,58,177,243,19,134,109,74,104,112,226,99,143,154,238,138,151,150,147,179,38,132,102,150,};
-static uint8_t ietf_chacha20_358[]={124,244,64,144,0,0,0,0,};
-static uint8_t ietf_chacha20_359[]={105,144,160,192,21,15,25,241,120,89,156,161,58,27,77,229,119,124,79,36,182,179,115,216,49,128,36,95,156,109,182,100,74,54,100,1,137,163,155,219,37,49,151,94,245,111,214,36,5,243,115,167,81,101,125,176,243,43,167,209,23,19,0,39,206,133,184,19,72,64,177,};
-static uint8_t ietf_chacha20_360[]={5,69,231,126,13,39,205,225,173,62,219,56,168,202,68,236,215,139,179,233,130,112,106,224,226,120,169,232,166,125,158,210,};
-static uint8_t ietf_chacha20_361[]={130,153,130,231,220,233,152,171,21,11,104,13,};
-static uint8_t ietf_chacha20_362[]={230,91,74,55,100,111,214,129,173,253,137,230,192,187,56,140,55,75,35,47,138,94,204,223,234,86,34,76,217,188,72,11,17,63,17,177,46,34,246,38,11,253,147,104,227,18,95,159,66,168,122,156,160,102,47,225,185,82,151,174,97,102,244,255,66,70,222,93,174,232,52,166,};
-static uint8_t ietf_chacha20_363[]={32,202,71,76,0,0,0,0,};
-static uint8_t ietf_chacha20_364[]={125,84,137,150,73,122,240,82,135,19,113,67,122,158,167,247,116,117,41,184,34,208,192,53,92,128,104,197,48,125,189,183,84,91,213,220,134,9,211,221,86,188,124,109,130,14,109,217,129,207,44,188,91,232,52,34,110,66,170,213,11,162,77,71,184,99,1,224,160,128,141,1,};
-static uint8_t ietf_chacha20_365[]={59,251,73,51,67,189,132,7,203,228,240,173,246,117,51,251,150,189,190,168,19,179,117,1,105,171,94,137,0,138,157,106,};
-static uint8_t ietf_chacha20_366[]={46,179,141,201,100,31,244,113,3,50,71,94,};
-static uint8_t ietf_chacha20_367[]={210,193,135,136,161,205,29,243,241,199,36,186,35,206,68,118,174,56,202,234,150,88,26,88,41,55,223,130,30,120,236,7,178,241,76,0,104,72,34,80,72,21,93,10,134,46,51,95,72,111,14,78,104,125,107,225,203,71,170,179,222,102,163,250,94,207,127,39,125,1,79,65,148,};
-static uint8_t ietf_chacha20_368[]={117,246,189,193,0,0,0,0,};
-static uint8_t ietf_chacha20_369[]={187,44,152,42,202,79,20,135,171,216,244,103,173,80,30,90,221,25,44,13,33,212,157,17,139,14,226,144,54,194,220,5,54,101,177,99,98,251,178,0,148,4,181,207,198,50,248,19,232,90,38,9,41,156,195,240,82,61,56,137,1,80,19,226,206,120,84,173,171,56,91,184,187,};
-static uint8_t ietf_chacha20_370[]={57,252,171,84,228,163,81,133,8,164,117,246,232,16,2,96,250,208,49,216,13,102,110,210,40,164,162,27,155,240,190,244,};
-static uint8_t ietf_chacha20_371[]={10,196,74,197,57,32,36,170,100,219,96,171,};
-static uint8_t ietf_chacha20_372[]={239,237,211,189,30,217,8,251,69,71,70,18,124,145,96,201,38,247,251,169,204,251,34,171,208,139,50,2,56,54,165,29,179,242,87,7,247,149,151,228,225,111,132,255,89,186,244,70,169,160,176,207,110,219,35,12,58,65,75,41,208,51,116,32,85,226,133,161,230,169,223,161,98,81,};
-static uint8_t ietf_chacha20_373[]={201,149,220,28,0,0,0,0,};
-static uint8_t ietf_chacha20_374[]={118,208,194,226,87,171,29,94,149,208,71,253,83,108,24,130,54,164,171,192,171,94,17,50,203,242,129,61,199,83,57,91,115,240,74,211,43,36,179,190,86,102,54,82,37,147,140,239,226,140,135,104,15,56,4,224,30,95,68,223,4,74,18,142,40,229,34,190,232,245,154,123,89,60,};
-static uint8_t ietf_chacha20_375[]={26,147,64,236,117,104,18,139,133,19,97,91,12,251,15,152,154,249,116,71,34,101,206,212,6,204,72,168,86,52,141,90,};
-static uint8_t ietf_chacha20_376[]={255,107,48,177,120,226,60,250,237,100,252,49,};
-static uint8_t ietf_chacha20_377[]={225,151,110,99,165,141,154,72,212,122,172,115,157,148,218,204,225,4,25,159,213,129,254,32,112,186,213,211,77,190,234,114,146,97,124,117,121,227,65,211,38,254,129,248,115,251,57,247,126,39,97,27,95,27,95,217,86,41,134,218,132,187,236,101,136,40,0,113,45,32,85,248,204,104,253,};
-static uint8_t ietf_chacha20_378[]={167,211,244,176,0,0,0,0,};
-static uint8_t ietf_chacha20_379[]={233,205,109,63,97,165,136,84,239,192,30,63,184,67,100,137,249,186,177,227,116,44,49,150,115,94,155,163,86,218,219,203,86,211,224,55,127,146,10,13,130,157,161,157,145,116,106,169,246,201,116,178,53,223,245,98,6,61,105,21,226,84,254,53,181,188,232,228,63,107,71,146,120,98,78,};
-static uint8_t ietf_chacha20_380[]={8,119,63,208,221,50,230,92,243,226,66,87,26,220,216,77,152,241,48,12,106,182,47,6,82,232,188,13,121,187,86,124,};
-static uint8_t ietf_chacha20_381[]={167,220,252,23,144,111,96,44,23,149,172,93,};
-static uint8_t ietf_chacha20_382[]={183,187,30,36,40,23,181,24,160,9,46,187,36,78,181,208,59,116,160,130,182,232,16,162,117,200,59,36,220,67,7,210,57,105,95,35,124,247,40,165,25,57,141,7,24,32,200,33,109,55,48,36,21,42,13,96,158,158,154,239,197,5,149,25,80,24,184,167,201,117,127,232,112,245,21,160,};
-static uint8_t ietf_chacha20_383[]={215,5,171,8,0,0,0,0,};
-static uint8_t ietf_chacha20_384[]={104,49,14,93,255,44,222,161,195,169,45,128,27,97,158,18,145,45,172,188,126,250,139,157,186,138,190,29,179,102,51,196,239,24,194,182,238,157,38,221,18,54,249,157,31,52,205,158,54,134,251,89,226,137,133,133,59,45,178,2,34,245,175,28,251,235,92,109,105,68,126,131,104,178,168,115,};
-static uint8_t ietf_chacha20_385[]={20,254,192,224,240,231,13,157,23,96,58,255,141,133,121,251,152,227,82,46,129,178,21,100,123,135,25,238,63,225,125,83,};
-static uint8_t ietf_chacha20_386[]={205,158,17,255,11,251,68,183,203,155,60,72,};
-static uint8_t ietf_chacha20_387[]={11,38,87,196,227,21,195,27,188,194,216,51,114,234,145,134,234,87,176,118,201,53,139,220,102,152,152,139,3,200,143,147,98,181,169,239,243,230,23,140,28,56,2,19,65,93,31,106,119,67,14,149,46,175,242,35,27,32,201,37,18,253,137,33,159,222,73,219,1,254,159,145,32,67,123,89,65,};
-static uint8_t ietf_chacha20_388[]={248,61,222,86,0,0,0,0,};
-static uint8_t ietf_chacha20_389[]={12,151,112,67,230,99,180,23,104,52,156,120,224,33,230,153,113,25,215,161,130,183,130,64,211,68,67,197,159,11,120,130,73,144,115,93,130,222,191,36,6,219,223,221,239,133,203,15,141,192,197,64,243,92,91,208,193,4,134,211,88,202,5,169,173,55,254,87,64,41,202,165,156,172,147,192,187,};
-static uint8_t ietf_chacha20_390[]={147,31,253,244,45,122,80,140,74,253,120,144,223,147,17,58,197,0,131,72,89,75,175,59,70,127,74,127,83,133,131,178,};
-static uint8_t ietf_chacha20_391[]={81,9,103,223,187,228,214,97,62,47,0,180,};
-static uint8_t ietf_chacha20_392[]={80,18,140,3,26,208,34,21,22,45,76,132,36,60,154,132,226,153,193,237,167,211,137,105,126,254,11,101,14,83,33,27,224,203,250,91,69,59,220,51,213,244,69,50,124,237,53,185,220,248,66,198,239,188,157,67,230,143,78,81,254,144,91,177,59,30,103,50,102,96,181,164,207,170,95,60,83,126,};
-static uint8_t ietf_chacha20_393[]={233,248,165,197,0,0,0,0,};
-static uint8_t ietf_chacha20_394[]={235,48,103,116,52,199,238,114,18,200,121,35,195,246,197,220,10,79,117,44,60,23,57,132,17,19,55,7,206,145,135,103,11,250,228,11,224,125,92,100,136,151,167,80,120,213,83,10,123,121,85,50,141,54,81,138,235,210,209,144,151,233,141,251,190,70,171,42,246,124,116,62,49,192,136,204,158,252,};
-static uint8_t ietf_chacha20_395[]={72,38,136,216,137,246,95,103,60,114,164,154,120,199,169,217,204,57,225,48,183,67,210,31,188,144,136,103,162,126,79,176,};
-static uint8_t ietf_chacha20_396[]={14,188,241,67,238,163,128,143,46,79,179,14,};
-static uint8_t ietf_chacha20_397[]={97,182,17,117,208,139,109,52,19,147,161,176,243,39,14,208,52,179,70,97,142,142,58,136,96,207,129,157,92,71,159,176,223,157,198,224,148,211,127,44,134,11,238,25,116,102,40,126,139,158,239,105,237,120,235,173,113,57,209,238,9,13,202,74,145,192,234,249,167,218,38,72,36,1,177,31,170,41,10,};
-static uint8_t ietf_chacha20_398[]={214,6,180,134,0,0,0,0,};
-static uint8_t ietf_chacha20_399[]={243,46,14,148,210,88,229,2,64,119,88,247,64,189,98,171,236,172,52,127,135,2,75,88,189,223,131,218,67,146,174,29,12,28,184,158,30,102,4,13,90,28,139,119,177,208,227,222,180,207,36,246,196,121,1,20,242,15,178,26,108,60,213,50,101,29,58,9,102,221,130,9,165,80,170,9,158,104,20,};
-static uint8_t ietf_chacha20_400[]={83,135,7,71,91,129,201,115,92,34,81,3,214,80,54,156,76,141,109,187,241,212,157,184,178,44,192,57,203,165,246,53,};
-static uint8_t ietf_chacha20_401[]={114,78,208,26,76,227,186,9,158,62,171,247,};
-static uint8_t ietf_chacha20_402[]={113,36,81,163,22,3,186,104,175,110,40,84,194,23,62,127,83,232,212,77,35,57,26,176,236,217,1,14,49,19,92,233,150,40,62,25,75,23,28,152,9,239,138,46,205,208,88,175,163,123,105,31,206,91,37,72,238,220,120,168,179,28,19,50,137,160,240,179,60,33,188,218,183,85,161,182,144,225,193,11,};
-static uint8_t ietf_chacha20_403[]={145,205,223,190,0,0,0,0,};
-static uint8_t ietf_chacha20_404[]={99,248,229,206,53,107,122,247,136,72,244,190,188,219,158,68,54,196,161,59,45,103,10,145,6,52,135,101,163,142,208,50,108,31,253,29,75,108,77,82,201,211,165,236,153,70,49,142,78,22,98,134,176,151,206,168,133,217,25,4,55,243,132,202,43,64,171,38,205,239,41,248,245,80,202,237,233,247,173,59,};
-static uint8_t ietf_chacha20_405[]={180,93,17,31,80,155,85,12,41,146,244,188,145,107,18,228,203,71,172,151,193,50,123,206,222,250,85,105,186,251,210,69,};
-static uint8_t ietf_chacha20_406[]={30,68,140,35,3,165,85,136,33,48,252,247,};
-static uint8_t ietf_chacha20_407[]={131,175,6,158,52,158,163,119,205,43,153,228,132,134,9,117,57,79,93,251,5,131,24,123,195,96,166,232,241,194,54,130,162,109,220,19,254,34,142,234,134,112,80,148,154,98,255,93,15,147,62,111,206,154,67,152,245,117,121,239,166,88,51,124,185,196,60,81,191,218,132,33,119,242,80,231,186,116,237,11,160,};
-static uint8_t ietf_chacha20_408[]={149,84,13,81,0,0,0,0,};
-static uint8_t ietf_chacha20_409[]={31,43,116,157,26,95,134,234,211,100,73,205,244,47,235,234,128,40,72,54,193,177,88,204,3,189,188,124,81,184,139,81,9,81,250,84,255,174,181,55,28,50,205,216,162,121,99,177,50,187,83,221,169,254,34,171,239,146,252,121,29,155,199,94,217,205,49,114,213,236,173,243,5,155,246,67,117,237,213,125,82,};
-static uint8_t ietf_chacha20_410[]={158,202,75,7,187,10,115,100,249,169,47,92,58,169,180,123,175,1,245,179,141,137,63,92,244,229,194,3,182,177,54,163,};
-static uint8_t ietf_chacha20_411[]={155,196,78,58,233,76,104,226,236,217,62,93,};
-static uint8_t ietf_chacha20_412[]={250,219,210,153,199,121,191,172,132,9,243,246,18,102,45,69,204,205,255,175,245,8,242,64,3,173,27,234,55,60,63,208,71,139,67,44,0,252,179,233,153,171,23,241,3,228,33,227,121,85,233,189,74,181,58,68,222,126,10,249,201,88,39,240,1,188,207,202,249,90,181,138,81,159,244,113,171,182,36,229,224,192,};
-static uint8_t ietf_chacha20_413[]={75,246,145,59,0,0,0,0,};
-static uint8_t ietf_chacha20_414[]={50,60,176,30,132,225,140,218,115,0,56,190,239,27,227,68,104,85,154,221,198,97,47,106,79,97,81,8,220,222,226,179,21,75,173,15,202,200,218,138,229,104,138,160,232,10,16,53,252,29,248,203,101,34,85,185,227,95,19,170,176,148,201,234,38,202,14,159,36,140,110,22,164,158,131,215,134,28,60,247,163,189,};
-static uint8_t ietf_chacha20_415[]={210,155,77,186,30,62,213,74,33,246,64,113,25,193,233,190,234,51,202,184,150,177,176,188,47,125,42,161,255,125,148,99,};
-static uint8_t ietf_chacha20_416[]={141,151,56,104,228,152,2,98,192,11,65,192,};
-static uint8_t ietf_chacha20_417[]={50,14,114,174,221,73,125,112,140,72,162,230,95,101,166,203,123,167,114,121,17,245,112,144,9,149,215,38,83,206,129,110,182,62,213,179,77,78,105,98,23,56,220,92,171,40,25,87,22,207,51,120,212,145,57,135,86,234,190,210,145,16,93,15,184,174,149,233,105,222,98,83,7,110,247,10,190,208,103,36,135,52,206,};
-static uint8_t ietf_chacha20_418[]={8,206,220,71,0,0,0,0,};
-static uint8_t ietf_chacha20_419[]={180,74,189,120,18,186,166,22,3,185,115,244,199,67,75,251,0,33,131,175,106,146,13,70,213,42,36,145,168,10,177,185,21,42,200,101,249,186,138,6,55,170,9,17,227,80,158,160,98,244,54,86,99,112,31,246,166,164,231,26,18,129,16,115,212,96,241,86,202,139,145,106,25,197,190,20,157,180,127,233,152,10,118,};
-static uint8_t ietf_chacha20_420[]={210,74,76,224,17,246,208,183,22,97,121,99,238,171,216,54,91,254,196,169,19,140,176,65,122,92,95,28,164,218,244,70,};
-static uint8_t ietf_chacha20_421[]={2,188,16,154,49,75,236,88,62,243,44,48,};
-static uint8_t ietf_chacha20_422[]={72,87,73,169,255,45,71,65,112,245,138,71,17,34,35,218,166,195,239,173,218,144,245,128,29,105,207,218,198,73,227,32,231,67,134,56,9,25,67,175,61,248,169,41,197,162,197,166,254,229,160,87,243,184,55,102,211,245,204,151,169,126,239,232,251,163,63,221,93,65,52,97,134,103,41,132,200,108,32,194,71,52,229,131,};
-static uint8_t ietf_chacha20_423[]={107,240,107,170,0,0,0,0,};
-static uint8_t ietf_chacha20_424[]={118,181,50,11,127,36,40,184,65,177,202,97,70,183,132,101,231,179,227,126,112,189,226,84,114,226,253,127,122,165,240,49,231,57,60,13,205,116,12,75,242,33,120,219,212,46,249,92,202,31,178,211,96,73,58,29,199,185,177,227,141,228,133,157,201,143,176,45,135,75,168,242,12,179,179,225,17,212,242,26,90,109,137,210,};
-static uint8_t ietf_chacha20_425[]={251,129,132,75,160,217,50,203,10,187,184,248,6,241,208,58,217,100,146,193,111,10,62,232,42,118,245,60,193,149,27,205,};
-static uint8_t ietf_chacha20_426[]={14,190,170,54,131,47,84,3,111,12,33,146,};
-static uint8_t ietf_chacha20_427[]={31,231,97,14,196,155,160,217,100,193,201,239,158,70,191,10,251,223,107,90,164,80,214,81,117,189,229,126,109,246,5,75,24,72,5,252,44,149,0,253,231,189,83,157,57,242,35,218,219,89,190,253,122,55,110,215,58,107,210,38,156,201,188,130,98,127,191,37,53,45,204,105,23,214,99,136,71,251,217,67,41,175,205,195,124,};
-static uint8_t ietf_chacha20_428[]={49,103,123,43,0,0,0,0,};
-static uint8_t ietf_chacha20_429[]={67,63,249,85,209,70,228,196,145,253,170,197,30,54,236,148,188,233,182,84,2,145,195,54,88,37,198,86,113,138,190,139,60,49,114,218,58,92,103,22,219,25,119,162,245,123,15,39,203,154,143,62,36,95,163,170,32,196,204,92,164,3,241,224,16,57,9,90,102,167,15,152,29,52,240,133,176,207,0,14,96,190,34,0,45,};
-static uint8_t ietf_chacha20_430[]={182,243,69,181,99,167,179,22,29,227,149,180,202,15,148,129,78,239,178,116,82,204,79,156,82,109,89,12,86,197,24,55,};
-static uint8_t ietf_chacha20_431[]={65,110,13,127,225,98,216,209,234,233,158,177,};
-static uint8_t ietf_chacha20_432[]={83,172,190,66,100,51,193,162,95,210,100,110,204,42,51,51,19,8,146,36,142,46,146,241,172,241,132,147,254,252,78,117,76,88,152,7,190,132,156,95,15,125,34,149,215,169,183,246,217,18,93,238,60,0,174,167,184,26,128,46,66,65,181,212,19,123,205,251,210,235,36,10,134,33,236,26,92,25,208,66,195,230,226,194,38,100,};
-static uint8_t ietf_chacha20_433[]={199,26,55,29,0,0,0,0,};
-static uint8_t ietf_chacha20_434[]={107,213,158,52,18,218,136,0,9,214,194,125,75,3,158,28,179,66,150,203,158,124,100,45,57,47,85,231,187,102,115,214,199,3,61,136,38,238,155,146,109,57,254,109,169,138,179,27,29,249,254,144,83,23,62,83,176,225,248,92,120,22,148,37,243,184,176,22,244,7,247,71,255,209,233,52,21,38,47,57,6,214,33,54,42,67,};
-static uint8_t ietf_chacha20_435[]={226,205,50,83,123,216,219,191,136,168,92,17,179,134,205,62,18,68,109,31,248,102,153,227,166,66,219,190,38,185,77,137,};
-static uint8_t ietf_chacha20_436[]={176,68,243,100,108,40,59,178,235,135,41,123,};
-static uint8_t ietf_chacha20_437[]={69,86,214,57,11,246,152,184,158,239,241,83,70,93,30,102,160,177,97,33,220,169,181,138,103,219,189,36,80,197,108,37,191,225,156,238,19,218,198,149,33,222,114,49,14,98,188,4,58,51,194,245,73,17,213,13,186,208,135,227,184,219,55,203,179,46,233,124,156,244,13,182,246,113,78,222,250,202,26,233,92,45,151,90,225,78,95,};
-static uint8_t ietf_chacha20_438[]={1,231,173,189,0,0,0,0,};
-static uint8_t ietf_chacha20_439[]={147,72,69,116,134,146,138,209,41,28,91,71,16,152,234,7,21,84,201,198,207,125,77,241,15,222,212,90,197,94,246,196,170,113,181,18,11,21,80,36,151,108,119,32,191,59,96,172,206,141,210,68,81,199,248,119,120,16,48,231,237,193,160,107,89,95,48,122,166,54,191,164,92,233,216,255,121,169,214,120,154,158,75,226,19,149,83,};
-static uint8_t ietf_chacha20_440[]={199,203,21,57,107,116,140,95,253,101,168,102,9,87,205,134,237,190,23,123,161,80,67,222,232,42,195,197,46,137,115,65,};
-static uint8_t ietf_chacha20_441[]={149,110,27,143,228,61,146,33,236,81,115,227,};
-static uint8_t ietf_chacha20_442[]={162,225,176,117,140,144,77,245,238,247,87,246,240,225,34,6,228,116,113,121,22,241,27,125,166,236,84,179,164,194,75,42,222,117,84,123,71,244,105,243,69,8,58,53,134,85,214,16,249,155,201,92,221,159,61,92,80,2,88,36,241,71,242,109,10,63,106,248,111,207,91,203,23,62,231,182,126,126,110,175,195,198,5,14,194,161,109,129,};
-static uint8_t ietf_chacha20_443[]={141,204,230,187,0,0,0,0,};
-static uint8_t ietf_chacha20_444[]={251,154,130,146,165,66,236,201,44,119,186,2,221,24,120,255,149,41,229,41,133,26,7,162,172,117,201,0,182,199,46,122,180,77,111,59,193,13,28,180,220,146,169,108,24,254,107,217,161,53,131,31,188,217,10,129,104,128,29,247,188,33,2,113,12,56,192,62,127,41,157,121,66,215,224,89,0,146,125,148,54,201,9,24,73,116,11,116,};
-static uint8_t ietf_chacha20_445[]={245,25,88,95,231,73,131,13,155,55,1,150,103,215,182,174,239,204,33,56,142,153,28,122,211,219,182,130,63,216,188,27,};
-static uint8_t ietf_chacha20_446[]={62,29,189,15,229,193,232,82,245,107,31,229,};
-static uint8_t ietf_chacha20_447[]={241,214,206,85,40,180,149,212,224,242,16,243,12,53,46,109,9,6,30,102,88,39,191,51,147,146,55,155,73,49,236,189,161,49,195,127,236,29,196,231,83,149,43,196,179,101,200,17,216,235,120,237,218,255,134,110,188,199,220,131,119,161,230,72,116,40,24,66,221,219,8,211,90,20,253,231,80,6,195,239,132,210,231,85,132,8,211,212,227,};
-static uint8_t ietf_chacha20_448[]={31,28,178,139,0,0,0,0,};
-static uint8_t ietf_chacha20_449[]={197,2,219,216,252,128,194,46,26,177,246,218,58,180,15,158,4,230,162,0,124,27,43,88,105,184,49,90,253,89,5,186,73,186,254,5,136,117,21,234,151,113,239,186,152,174,118,88,126,106,217,173,174,227,35,200,134,197,19,215,154,38,189,210,36,41,225,141,74,231,30,165,89,7,232,232,97,212,57,74,147,135,241,78,108,118,32,13,60,};
-static uint8_t ietf_chacha20_450[]={65,123,58,175,115,232,226,94,120,150,167,15,218,71,67,137,122,17,231,242,99,118,151,160,145,98,191,249,135,110,74,253,};
-static uint8_t ietf_chacha20_451[]={20,158,152,250,127,178,212,242,59,221,127,208,};
-static uint8_t ietf_chacha20_452[]={214,127,158,63,76,193,205,108,154,179,174,214,47,5,15,8,56,162,186,72,159,28,197,154,121,76,102,63,36,213,208,87,21,43,128,33,29,102,165,248,147,103,207,19,93,195,184,50,35,63,180,85,154,179,176,107,16,224,104,179,85,43,217,75,139,24,151,198,130,92,144,193,40,44,186,179,251,252,161,141,219,185,197,144,128,13,69,54,130,249,};
-static uint8_t ietf_chacha20_453[]={148,160,21,128,0,0,0,0,};
-static uint8_t ietf_chacha20_454[]={152,26,30,65,124,99,247,117,125,90,119,95,137,108,215,82,212,171,195,75,173,97,177,124,24,164,247,182,197,80,108,71,130,2,242,140,172,153,241,235,13,9,153,49,154,165,248,188,199,237,252,11,219,228,175,231,62,89,86,145,208,61,148,195,93,24,116,237,55,193,169,237,39,1,146,169,150,224,106,60,213,195,143,243,21,3,123,51,230,68,};
-static uint8_t ietf_chacha20_455[]={64,252,150,132,241,214,148,121,55,177,1,240,20,131,137,122,101,193,90,181,78,255,135,24,14,158,111,176,78,245,188,28,};
-static uint8_t ietf_chacha20_456[]={13,17,249,80,63,18,129,44,69,213,207,162,};
-static uint8_t ietf_chacha20_457[]={75,27,112,211,245,197,18,128,187,229,132,236,79,92,83,152,123,52,158,222,222,37,109,209,216,212,48,83,214,31,91,216,166,110,87,157,89,130,53,3,106,28,198,223,63,153,105,7,242,11,171,86,133,53,13,51,41,158,31,2,37,51,58,223,97,136,252,8,10,128,213,204,160,123,244,109,210,120,31,38,136,106,97,186,165,217,168,167,248,23,81,};
-static uint8_t ietf_chacha20_458[]={166,249,81,103,0,0,0,0,};
-static uint8_t ietf_chacha20_459[]={130,94,148,83,94,21,110,147,64,50,97,40,98,0,59,58,23,7,29,218,72,16,229,97,68,131,121,139,69,57,57,201,73,37,156,116,134,114,143,127,60,56,207,85,247,152,250,155,59,201,109,255,150,125,110,101,189,114,178,24,55,51,178,193,19,114,176,68,232,6,28,33,200,159,240,80,25,31,8,200,115,166,203,247,30,254,12,191,11,57,40,};
-static uint8_t ietf_chacha20_460[]={75,204,88,56,21,89,181,198,15,132,170,122,170,219,239,57,207,91,50,62,22,60,84,213,104,255,26,13,210,142,139,170,};
-static uint8_t ietf_chacha20_461[]={80,42,166,98,214,253,219,67,62,118,69,186,};
-static uint8_t ietf_chacha20_462[]={86,195,191,116,138,168,126,118,1,198,225,102,135,21,16,143,24,31,105,5,132,46,25,99,197,5,225,182,223,164,38,92,96,84,186,55,2,226,187,84,72,58,92,42,118,120,12,65,222,162,234,21,160,162,16,18,107,24,20,76,180,173,42,145,51,96,158,16,161,5,223,151,67,73,131,63,93,105,53,160,160,251,206,0,214,211,76,28,193,92,154,94,};
-static uint8_t ietf_chacha20_463[]={175,141,52,172,0,0,0,0,};
-static uint8_t ietf_chacha20_464[]={33,74,124,160,169,144,18,30,99,146,104,194,31,107,77,3,21,89,213,234,58,154,210,17,233,184,100,189,63,144,80,142,13,168,229,14,80,187,21,12,74,243,197,255,229,14,117,112,102,230,186,95,226,118,207,252,192,27,198,242,51,59,189,142,87,100,206,188,189,205,133,42,35,222,255,81,29,51,145,244,73,160,245,162,2,20,4,177,187,113,51,87,};
-static uint8_t ietf_chacha20_465[]={139,102,29,82,182,83,168,25,157,177,119,154,132,144,16,118,29,16,47,253,188,50,60,156,230,141,180,191,255,156,169,131,};
-static uint8_t ietf_chacha20_466[]={34,123,150,177,166,226,76,15,151,255,121,226,};
-static uint8_t ietf_chacha20_467[]={142,50,61,32,64,53,220,252,186,165,27,202,22,123,92,42,109,76,164,16,221,175,182,246,101,222,21,66,184,194,219,91,196,232,11,236,37,7,187,134,113,119,12,206,175,216,25,40,78,189,200,200,118,28,77,7,80,95,212,207,63,137,120,117,112,139,246,20,9,35,15,66,8,87,11,76,6,69,8,172,81,130,195,87,81,78,236,48,93,215,32,246,174,};
-static uint8_t ietf_chacha20_468[]={195,71,29,136,0,0,0,0,};
-static uint8_t ietf_chacha20_469[]={167,88,225,63,178,132,250,31,165,80,14,121,31,232,13,249,18,64,140,72,172,249,11,157,244,62,61,86,69,4,138,168,121,163,211,183,138,235,219,156,252,210,140,36,183,105,69,213,219,248,127,253,173,1,175,11,194,36,215,190,84,121,27,114,179,173,94,163,112,115,209,66,188,65,195,156,240,187,168,230,164,58,208,150,20,145,12,121,217,11,34,18,102,};
-static uint8_t ietf_chacha20_470[]={80,241,31,196,161,73,148,202,171,225,96,35,102,94,140,203,30,32,165,158,80,40,2,105,199,202,242,254,49,143,88,121,};
-static uint8_t ietf_chacha20_471[]={123,155,113,1,181,103,212,37,248,159,46,107,};
-static uint8_t ietf_chacha20_472[]={240,7,142,94,84,123,54,15,19,70,75,75,41,195,253,55,206,44,204,127,77,73,61,247,69,234,110,75,21,155,126,251,169,96,27,146,231,180,55,60,135,12,15,73,88,197,84,111,81,102,136,178,83,236,176,227,231,18,108,136,193,237,231,115,127,110,20,197,128,95,227,166,35,190,110,100,220,175,8,239,201,246,10,116,234,69,53,243,74,195,42,85,174,212,};
-static uint8_t ietf_chacha20_473[]={31,123,196,10,0,0,0,0,};
-static uint8_t ietf_chacha20_474[]={177,131,102,152,29,47,81,255,118,121,110,92,61,251,121,195,122,215,251,86,136,24,22,18,166,10,158,123,74,104,255,207,202,171,16,83,12,195,104,184,178,50,180,158,7,113,109,230,96,197,29,147,106,28,77,14,90,85,154,221,169,218,119,156,56,137,150,125,212,9,123,123,193,40,166,212,102,2,105,249,174,76,125,203,232,22,43,109,215,121,33,132,146,183,};
-static uint8_t ietf_chacha20_475[]={252,126,122,61,174,153,115,34,204,195,216,125,131,254,92,153,42,75,5,150,39,45,164,93,143,59,8,143,238,152,250,213,};
-static uint8_t ietf_chacha20_476[]={245,228,130,201,146,24,101,88,182,216,36,252,};
-static uint8_t ietf_chacha20_477[]={187,41,95,246,124,169,127,193,4,160,156,122,37,45,253,120,200,60,76,189,119,129,110,222,118,98,169,110,9,173,13,144,159,113,75,123,183,125,107,87,25,139,10,124,196,125,133,210,21,79,149,88,56,86,142,184,149,58,209,139,98,250,4,157,248,243,2,4,62,131,76,202,162,234,221,56,130,6,23,165,64,180,110,101,193,72,174,191,231,204,127,63,143,209,1,};
-static uint8_t ietf_chacha20_478[]={166,213,190,252,0,0,0,0,};
-static uint8_t ietf_chacha20_479[]={226,164,46,246,168,86,180,6,18,1,169,251,64,205,101,210,37,149,107,227,181,232,97,48,59,12,57,180,121,123,59,234,137,110,111,87,7,147,40,100,141,92,239,174,122,39,70,7,70,235,163,105,88,120,177,168,125,183,217,183,232,181,47,89,36,105,73,238,40,150,23,2,147,33,73,189,178,120,75,0,92,5,18,237,183,7,145,124,39,141,236,51,232,41,252,};
-static uint8_t ietf_chacha20_480[]={148,230,167,181,2,23,184,199,138,232,134,22,218,10,229,72,108,58,253,102,144,62,198,152,99,11,36,150,28,183,44,219,};
-static uint8_t ietf_chacha20_481[]={216,42,87,83,174,168,236,110,64,154,55,166,};
-static uint8_t ietf_chacha20_482[]={107,152,37,183,122,48,33,15,77,86,21,116,167,120,18,25,85,254,48,205,150,230,52,229,154,62,214,236,102,150,72,83,249,33,224,145,129,57,255,183,92,14,87,109,27,132,179,198,238,212,251,219,230,153,82,64,195,248,151,220,95,68,46,200,203,195,98,154,195,248,212,239,19,134,105,89,72,181,166,165,100,53,18,47,111,95,166,153,98,86,93,53,34,134,40,150,};
-static uint8_t ietf_chacha20_483[]={2,237,76,175,0,0,0,0,};
-static uint8_t ietf_chacha20_484[]={121,231,145,247,255,94,82,205,229,176,22,105,44,222,112,180,32,91,238,222,152,21,174,75,116,176,14,118,153,8,154,70,136,24,238,226,172,227,19,255,178,149,166,245,233,23,56,20,31,198,207,153,206,230,66,64,117,216,108,133,186,67,16,243,145,15,89,8,124,1,25,59,113,56,68,36,72,194,178,93,107,176,250,249,125,229,70,174,97,212,68,27,42,236,101,89,};
-static uint8_t ietf_chacha20_485[]={100,210,100,247,69,148,225,4,67,69,97,68,117,12,63,47,223,6,179,114,87,5,44,6,208,174,43,214,48,182,214,187,};
-static uint8_t ietf_chacha20_486[]={161,47,216,159,64,242,171,45,165,222,196,199,};
-static uint8_t ietf_chacha20_487[]={19,21,243,66,66,87,164,79,180,151,248,97,49,172,170,227,116,73,53,153,173,221,21,85,125,136,233,63,37,42,137,119,20,172,155,201,43,230,187,16,13,216,137,181,223,111,94,208,219,112,92,76,63,175,90,227,170,211,10,209,144,211,26,92,16,3,203,74,236,149,100,175,18,201,199,117,11,174,50,207,85,246,87,58,225,197,21,23,81,205,183,11,168,85,5,253,13,};
-static uint8_t ietf_chacha20_488[]={20,59,237,245,0,0,0,0,};
-static uint8_t ietf_chacha20_489[]={155,201,177,37,172,131,250,162,63,18,252,134,214,243,70,131,168,36,124,38,8,142,176,24,3,236,201,216,101,55,24,222,143,212,64,168,89,11,51,205,178,111,189,145,61,116,233,132,200,156,254,98,50,192,117,68,82,77,118,123,52,39,59,124,67,206,240,6,182,90,59,248,75,165,245,222,227,237,36,61,241,82,177,167,249,45,20,0,11,5,52,220,67,235,17,68,188,};
-static uint8_t ietf_chacha20_490[]={110,15,133,0,89,19,157,51,142,229,24,81,76,152,132,181,94,219,180,104,153,176,10,198,25,114,199,155,116,201,178,178,};
-static uint8_t ietf_chacha20_491[]={229,185,98,184,135,211,60,145,124,82,34,190,};
-static uint8_t ietf_chacha20_492[]={215,149,206,136,248,96,152,27,11,143,55,235,159,76,205,115,209,28,234,144,38,145,217,0,84,208,234,6,223,23,15,180,118,243,185,206,125,21,64,174,111,145,240,196,78,120,81,227,214,69,49,226,15,189,215,89,112,109,210,72,102,255,172,129,73,186,26,144,79,166,94,73,194,202,8,103,228,23,155,21,15,0,120,219,18,223,9,179,37,25,255,179,24,60,38,136,81,233,};
-static uint8_t ietf_chacha20_493[]={199,122,173,85,0,0,0,0,};
-static uint8_t ietf_chacha20_494[]={226,240,248,125,122,6,176,236,77,202,172,247,253,20,3,123,131,152,190,85,93,99,12,78,76,65,128,49,216,76,179,20,76,71,77,169,180,190,226,212,103,228,25,43,37,80,228,56,91,110,135,103,194,33,91,132,87,172,130,197,252,44,24,229,203,48,42,86,192,88,16,46,178,33,151,252,155,225,105,63,111,91,130,24,183,147,32,101,16,210,175,21,78,42,254,180,73,83,};
-static uint8_t ietf_chacha20_495[]={98,173,69,2,159,140,237,0,32,121,30,106,4,23,138,239,217,182,171,92,14,170,74,233,183,245,190,85,102,250,216,138,};
-static uint8_t ietf_chacha20_496[]={176,104,30,54,1,222,133,179,176,88,1,15,};
-static uint8_t ietf_chacha20_497[]={137,209,178,87,162,161,171,167,11,5,86,141,254,145,36,236,127,160,83,17,199,238,96,170,203,169,173,84,232,245,99,67,120,184,223,82,1,102,6,126,138,81,196,121,90,194,211,237,21,31,31,48,128,78,209,22,12,190,11,72,107,93,21,200,174,51,7,240,104,155,117,58,11,217,201,46,44,187,56,35,48,96,37,135,56,19,178,170,247,158,86,32,236,183,227,216,248,29,188,};
-static uint8_t ietf_chacha20_498[]={68,145,206,235,0,0,0,0,};
-static uint8_t ietf_chacha20_499[]={218,209,137,172,82,193,85,143,23,50,173,73,41,247,226,147,32,4,201,219,32,62,230,98,198,164,149,86,49,75,75,59,152,8,16,181,213,238,241,48,84,178,6,252,14,145,5,189,60,250,55,102,129,218,148,72,197,80,93,4,177,84,20,219,230,28,51,38,96,19,145,89,251,175,103,150,143,55,76,92,19,73,9,123,240,0,131,174,132,77,108,225,133,84,77,203,15,141,4,};
-static uint8_t ietf_chacha20_500[]={157,126,128,199,37,122,69,142,64,243,133,109,131,57,227,228,105,18,133,117,15,163,225,150,35,127,129,49,229,184,74,14,};
-static uint8_t ietf_chacha20_501[]={112,212,16,85,221,99,46,160,181,183,53,224,};
-static uint8_t ietf_chacha20_502[]={15,82,3,58,253,204,253,247,14,70,113,248,104,166,89,99,83,104,216,161,116,222,252,62,121,196,139,166,123,84,240,111,11,127,51,176,71,149,230,14,248,46,22,49,249,69,136,85,199,152,31,228,194,158,142,230,89,68,250,31,242,136,116,20,244,22,142,244,1,152,21,44,107,144,32,46,144,74,189,58,205,29,12,84,20,192,183,51,71,99,91,78,70,55,43,141,172,235,211,187,};
-static uint8_t ietf_chacha20_503[]={112,135,130,117,0,0,0,0,};
-static uint8_t ietf_chacha20_504[]={230,143,10,148,91,228,53,219,101,111,24,224,167,167,67,65,14,8,89,68,3,163,130,69,18,9,241,4,12,213,0,142,217,65,129,156,122,222,251,198,65,115,65,151,208,236,252,205,143,240,191,199,59,126,61,176,205,41,74,172,81,206,123,4,78,55,12,215,51,233,3,112,50,42,215,15,249,48,135,43,232,208,129,136,122,46,33,121,107,93,131,136,181,204,110,100,237,241,23,45,};
-static uint8_t ietf_chacha20_505[]={66,79,181,114,184,38,186,15,253,70,41,119,182,183,222,12,219,206,14,163,122,178,113,20,239,150,118,168,105,16,126,136,};
-static uint8_t ietf_chacha20_506[]={195,136,151,215,12,147,118,36,193,54,163,62,};
-static uint8_t ietf_chacha20_507[]={158,216,105,19,100,103,140,247,181,182,242,222,9,22,63,50,156,68,30,131,172,21,46,213,104,110,62,18,3,36,246,206,146,123,13,234,122,221,119,81,60,234,177,170,119,140,181,183,234,252,61,216,191,226,248,195,93,191,97,143,40,212,174,165,209,141,34,16,68,85,174,163,10,97,179,28,231,21,22,28,232,135,164,18,6,94,232,231,105,252,161,184,28,11,176,216,108,157,99,113,139,};
-static uint8_t ietf_chacha20_508[]={50,6,193,153,0,0,0,0,};
-static uint8_t ietf_chacha20_509[]={45,218,168,5,160,207,253,164,58,84,232,211,110,63,208,42,227,225,5,219,19,153,132,155,202,82,63,183,114,128,134,53,223,23,83,89,18,105,160,168,190,214,8,110,115,19,205,47,230,150,94,2,28,28,111,71,5,242,231,93,118,119,106,137,133,165,21,83,170,238,182,33,176,181,34,30,220,232,253,143,4,140,50,70,9,99,169,205,58,115,20,70,233,231,138,16,201,244,224,156,230,};
-static uint8_t ietf_chacha20_510[]={94,137,16,134,243,23,85,111,66,104,218,136,175,116,42,137,14,37,79,219,246,52,198,116,242,10,69,124,145,238,253,231,};
-static uint8_t ietf_chacha20_511[]={0,234,9,179,83,171,184,148,216,48,8,254,};
-static uint8_t ietf_chacha20_512[]={122,193,7,94,112,158,39,154,12,33,41,147,34,133,157,6,234,149,24,130,235,154,137,38,138,129,167,107,160,53,110,49,192,98,242,173,163,118,133,217,4,166,12,133,175,20,145,246,211,240,92,41,150,234,151,161,127,149,129,113,224,51,97,227,154,222,207,224,73,237,152,46,193,213,16,195,144,190,54,169,203,3,35,140,48,234,41,218,59,120,232,200,109,85,180,3,83,145,162,248,26,71,};
-static uint8_t ietf_chacha20_513[]={62,191,15,191,0,0,0,0,};
-static uint8_t ietf_chacha20_514[]={27,184,31,219,212,222,48,179,220,145,232,82,87,17,149,141,75,4,84,27,107,254,252,63,177,120,146,97,90,108,157,124,251,213,131,114,216,136,130,154,185,172,103,194,102,218,177,9,95,0,25,210,44,147,238,67,255,119,40,82,208,160,171,217,178,247,184,52,97,175,136,157,133,226,194,38,3,91,243,238,63,105,246,76,62,244,157,225,3,73,95,160,254,215,64,208,95,9,145,231,170,216,};
-static uint8_t ietf_chacha20_515[]={141,88,33,121,216,103,56,100,242,205,110,39,155,10,28,191,170,37,232,193,132,206,76,171,112,110,249,168,249,61,155,12,};
-static uint8_t ietf_chacha20_516[]={56,222,177,118,24,207,215,112,84,21,237,228,};
-static uint8_t ietf_chacha20_517[]={84,229,239,38,136,30,62,199,97,75,99,179,29,60,136,248,172,62,95,15,180,188,223,219,154,56,253,58,205,175,183,251,66,12,22,117,142,90,236,21,212,233,209,93,207,68,6,222,0,31,98,42,124,210,72,91,197,249,234,118,80,37,52,136,69,216,202,106,80,67,46,24,95,228,151,38,52,245,232,130,43,228,207,9,172,172,0,11,51,247,125,10,5,241,53,7,152,68,84,123,246,243,229,};
-static uint8_t ietf_chacha20_518[]={138,164,188,87,0,0,0,0,};
-static uint8_t ietf_chacha20_519[]={24,70,250,111,251,128,112,80,89,113,67,225,80,233,70,211,198,251,154,211,81,95,13,63,40,69,36,77,250,136,251,197,224,65,123,177,209,26,83,110,149,124,121,25,55,242,173,127,6,34,129,61,66,38,16,40,109,91,150,247,128,155,220,42,219,62,239,25,33,119,101,25,182,200,168,237,69,86,29,205,198,194,209,152,99,162,225,13,216,231,208,252,176,123,224,236,131,56,69,242,112,186,222,};
-static uint8_t ietf_chacha20_520[]={40,200,174,153,206,152,251,89,25,211,90,206,151,132,95,152,211,121,233,116,54,101,217,27,175,89,187,123,57,116,1,68,};
-static uint8_t ietf_chacha20_521[]={204,49,170,240,154,202,181,39,235,249,251,35,};
-static uint8_t ietf_chacha20_522[]={223,129,17,209,58,61,44,167,129,227,138,81,226,35,96,141,182,16,208,225,69,79,121,177,166,147,253,113,174,196,24,59,63,208,219,14,209,75,189,112,96,146,74,126,225,87,30,155,209,243,24,29,22,175,140,86,238,9,221,162,152,139,196,89,220,73,229,121,79,85,245,162,62,248,149,219,134,41,150,12,57,176,48,41,147,204,151,20,147,194,183,25,32,193,234,177,129,201,131,45,109,65,87,150,};
-static uint8_t ietf_chacha20_523[]={99,244,54,198,0,0,0,0,};
-static uint8_t ietf_chacha20_524[]={249,174,67,83,193,112,200,86,224,253,175,154,92,39,13,110,68,33,229,43,0,59,167,29,155,113,156,239,186,225,139,213,27,106,169,184,135,88,75,157,110,211,3,19,78,159,191,129,45,205,176,148,252,57,102,239,57,45,204,82,241,226,107,116,254,139,160,88,226,194,178,42,32,30,29,160,85,36,216,130,61,225,200,155,32,65,79,178,31,234,183,216,144,253,201,242,133,201,32,48,177,51,47,55,};
-static uint8_t ietf_chacha20_525[]={21,39,120,125,61,60,177,111,231,122,166,238,108,223,200,57,57,175,156,214,114,216,241,67,155,20,247,172,47,141,1,250,};
-static uint8_t ietf_chacha20_526[]={36,186,15,252,159,226,214,122,155,25,55,220,};
-static uint8_t ietf_chacha20_527[]={64,129,147,33,221,114,138,188,35,214,81,109,251,140,208,140,10,230,254,242,133,201,22,0,146,212,176,7,51,102,96,232,65,145,82,209,118,91,54,239,71,65,151,151,166,141,116,250,74,12,84,162,122,145,104,31,231,174,146,27,73,167,25,173,221,160,217,121,223,102,209,20,151,100,233,24,174,121,67,57,213,123,102,232,33,75,82,38,65,101,2,147,69,183,124,57,138,86,83,91,162,144,138,12,211,};
-static uint8_t ietf_chacha20_528[]={223,46,49,150,0,0,0,0,};
-static uint8_t ietf_chacha20_529[]={14,196,75,35,81,184,49,240,102,1,179,243,131,6,178,119,197,208,138,96,162,69,237,122,216,59,185,63,200,209,227,126,74,40,54,156,219,86,156,17,42,156,162,226,43,98,248,42,112,89,191,194,61,155,108,22,83,16,164,254,212,196,201,231,238,177,77,186,229,107,68,57,185,201,31,13,21,55,230,167,200,61,207,230,117,237,216,204,73,226,43,181,154,20,76,164,41,96,10,118,30,115,217,60,85,};
-static uint8_t ietf_chacha20_530[]={110,104,198,86,154,146,243,251,197,174,105,53,52,251,90,192,131,138,105,11,64,145,27,228,28,25,148,128,21,233,28,221,};
-static uint8_t ietf_chacha20_531[]={229,170,10,148,238,131,11,238,80,7,74,29,};
-static uint8_t ietf_chacha20_532[]={148,108,172,85,209,167,2,19,173,143,43,250,112,46,52,96,127,167,113,9,90,25,157,25,27,196,235,245,226,119,78,225,133,179,64,112,92,243,130,43,148,201,112,42,6,255,253,85,176,207,223,154,249,190,19,130,194,227,193,67,242,63,125,174,240,236,66,252,142,24,98,226,180,105,228,198,1,2,116,106,213,134,238,27,30,88,133,254,95,200,50,148,250,0,210,158,122,6,124,171,69,19,110,77,20,16,};
-static uint8_t ietf_chacha20_533[]={118,48,243,112,0,0,0,0,};
-static uint8_t ietf_chacha20_534[]={101,151,132,19,53,97,60,90,36,146,216,115,215,84,50,186,35,102,251,63,75,120,222,229,238,55,224,204,133,148,189,217,165,172,240,201,216,146,242,186,181,27,185,111,12,117,254,232,34,156,207,176,52,177,191,148,132,70,37,38,99,46,121,105,241,131,13,63,161,168,99,215,199,141,122,70,213,221,196,41,40,155,102,159,146,207,21,138,121,216,225,35,253,167,44,113,82,180,228,86,37,115,57,66,95,99,};
-static uint8_t ietf_chacha20_535[]={250,204,33,17,209,204,205,171,3,248,133,14,151,43,37,109,222,182,76,101,41,97,116,171,152,67,173,118,66,110,159,120,};
-static uint8_t ietf_chacha20_536[]={30,218,70,240,167,217,88,219,163,13,228,193,};
-static uint8_t ietf_chacha20_537[]={239,9,7,109,171,126,228,51,26,75,165,56,245,131,88,0,126,15,141,55,31,139,189,170,190,152,40,214,37,138,104,154,102,201,69,59,102,167,200,216,107,177,93,183,241,88,47,3,31,250,10,43,86,90,83,116,250,112,233,189,204,234,35,220,218,81,25,233,199,126,46,177,39,62,172,105,244,50,161,82,112,220,40,63,17,248,87,233,64,10,166,128,213,34,185,88,189,197,99,29,114,185,241,225,223,212,50,};
-static uint8_t ietf_chacha20_538[]={219,142,172,190,0,0,0,0,};
-static uint8_t ietf_chacha20_539[]={144,126,237,250,63,143,116,134,89,150,148,239,216,253,13,85,51,24,190,250,208,229,77,90,189,233,129,42,46,90,44,200,147,0,244,149,54,143,231,82,115,74,121,199,144,220,124,223,237,123,217,195,111,125,206,187,229,216,179,22,182,186,191,204,72,52,158,20,239,202,109,242,98,240,223,73,191,179,139,184,48,205,71,234,13,163,209,25,239,67,241,45,87,129,177,147,211,156,44,164,219,128,205,141,20,72,246,};
-static uint8_t ietf_chacha20_540[]={108,10,58,251,156,172,195,143,62,120,106,130,248,129,138,96,113,175,166,154,239,193,139,22,18,84,177,155,56,203,72,237,};
-static uint8_t ietf_chacha20_541[]={251,8,22,157,160,90,176,139,39,45,207,43,};
-static uint8_t ietf_chacha20_542[]={50,109,75,109,132,122,252,190,235,142,95,110,120,82,40,46,113,192,134,58,22,102,76,202,66,112,91,228,76,140,218,238,39,84,113,208,25,169,230,148,152,247,223,90,98,237,175,223,206,20,29,33,79,137,96,87,195,15,56,112,231,154,209,121,30,6,211,62,179,49,81,6,209,132,129,35,144,138,241,48,62,233,154,99,83,35,30,3,20,171,19,216,5,51,128,21,209,31,149,237,63,180,52,146,161,248,29,1,};
-static uint8_t ietf_chacha20_543[]={104,54,175,39,0,0,0,0,};
-static uint8_t ietf_chacha20_544[]={221,82,16,127,68,188,230,216,146,8,199,29,27,243,57,89,196,166,61,139,162,64,80,43,12,40,19,32,128,35,3,5,84,172,238,216,2,122,173,237,105,221,181,218,253,23,173,36,207,1,151,94,105,209,114,74,225,179,178,64,221,80,170,19,139,162,27,204,220,223,90,108,56,40,24,52,239,76,183,139,227,105,113,244,13,149,133,10,125,131,32,101,7,105,141,186,154,155,215,54,213,113,51,80,216,210,51,173,};
-static uint8_t ietf_chacha20_545[]={209,241,18,208,97,180,206,243,247,6,239,86,13,34,61,143,184,218,1,241,231,83,41,159,202,112,116,208,20,217,37,227,};
-static uint8_t ietf_chacha20_546[]={105,33,88,21,209,142,198,214,200,187,90,114,};
-static uint8_t ietf_chacha20_547[]={114,79,127,229,120,120,131,137,226,221,19,130,216,121,247,248,220,16,157,160,68,88,13,113,42,116,197,72,218,143,49,228,119,250,103,105,73,87,189,48,160,154,211,130,239,185,159,152,228,135,135,137,92,247,39,164,7,34,221,166,61,229,233,152,170,96,62,242,114,52,17,32,150,252,218,101,201,7,156,215,59,29,80,216,218,158,92,150,88,152,130,4,174,72,242,6,116,113,143,171,12,15,116,42,96,187,191,85,38,};
-static uint8_t ietf_chacha20_548[]={149,116,64,219,0,0,0,0,};
-static uint8_t ietf_chacha20_549[]={183,120,156,62,146,51,82,95,114,200,247,53,147,133,208,178,96,51,57,4,150,7,166,44,69,139,126,177,224,145,233,73,163,132,72,203,67,93,27,194,140,177,232,79,88,21,153,246,157,194,121,203,138,99,13,162,125,157,148,21,14,103,232,219,10,144,234,208,61,15,252,252,23,235,238,203,236,96,5,127,248,28,204,92,92,87,93,168,125,107,62,129,187,140,78,229,235,122,119,56,43,233,70,49,147,11,147,89,188,};
-static uint8_t ietf_chacha20_550[]={202,81,99,211,221,5,45,60,174,122,39,247,98,77,2,180,148,65,148,65,57,93,189,253,126,41,7,197,84,3,234,233,};
-static uint8_t ietf_chacha20_551[]={176,175,167,2,181,153,94,130,99,29,48,207,};
-static uint8_t ietf_chacha20_552[]={48,91,109,230,235,252,134,218,34,124,228,103,251,153,55,193,234,98,104,149,167,101,230,137,184,198,31,209,179,108,39,87,94,140,250,176,113,255,41,60,70,61,10,215,109,78,202,212,166,72,250,153,42,92,88,47,214,212,145,178,93,220,86,185,173,248,14,49,183,164,185,140,42,58,32,78,176,237,174,74,75,80,89,164,68,220,76,123,246,106,210,139,168,177,60,152,235,186,9,116,51,186,163,172,217,65,93,124,6,19,};
-static uint8_t ietf_chacha20_553[]={253,137,248,248,0,0,0,0,};
-static uint8_t ietf_chacha20_554[]={227,155,126,18,123,154,216,7,240,245,108,178,207,38,58,74,36,213,9,234,6,172,33,206,48,93,107,167,203,139,82,146,21,90,146,198,230,20,248,177,30,184,112,24,187,251,160,29,88,204,176,61,113,211,180,134,95,187,251,205,28,219,215,13,16,103,2,215,191,11,154,236,67,192,146,234,44,232,207,102,118,46,241,37,228,78,179,145,229,193,198,71,94,29,130,76,48,138,61,141,37,189,234,114,3,43,151,192,219,243,};
-static uint8_t ietf_chacha20_555[]={76,17,242,25,129,5,211,238,169,84,56,93,166,28,117,249,217,103,36,45,20,66,79,13,53,185,104,5,215,47,161,181,};
-static uint8_t ietf_chacha20_556[]={243,244,108,103,240,57,159,4,122,68,18,217,};
-static uint8_t ietf_chacha20_557[]={251,87,128,181,105,6,44,199,143,185,254,68,117,113,62,1,43,130,19,121,222,60,37,129,224,210,26,220,249,154,225,226,204,232,254,177,137,85,54,146,201,236,147,226,150,216,187,249,220,154,187,42,247,113,99,211,116,68,115,246,13,140,178,23,241,61,51,43,243,227,69,242,25,109,80,154,170,136,26,131,62,116,178,75,191,63,164,6,14,69,216,132,147,78,82,150,88,129,70,51,82,245,23,193,6,12,69,243,7,236,185,};
-static uint8_t ietf_chacha20_558[]={145,251,200,213,0,0,0,0,};
-static uint8_t ietf_chacha20_559[]={98,151,76,147,255,109,78,165,168,192,197,198,5,88,52,31,2,126,88,53,193,20,245,72,217,35,164,159,231,104,195,138,5,18,127,237,152,69,143,197,243,104,49,131,20,178,220,25,188,157,128,151,5,66,55,29,170,229,64,207,26,0,174,251,232,110,150,71,9,65,112,222,142,167,130,55,16,75,179,11,67,173,104,104,230,33,199,95,62,131,47,128,42,152,207,92,86,74,200,222,149,254,179,115,127,198,148,43,132,166,202,};
-static uint8_t ietf_chacha20_560[]={115,68,188,254,153,90,104,157,96,5,189,189,152,219,59,78,31,168,191,25,172,251,185,24,63,30,242,107,82,166,66,35,};
-static uint8_t ietf_chacha20_561[]={29,97,188,81,8,110,63,224,165,182,180,98,};
-static uint8_t ietf_chacha20_562[]={30,82,35,158,241,219,193,32,0,82,92,120,86,246,71,211,155,49,193,107,252,250,118,207,66,60,145,236,237,54,232,174,166,146,181,118,177,254,49,110,216,190,94,30,243,71,194,136,149,188,27,240,177,55,85,24,108,84,207,237,201,61,124,93,128,195,242,189,130,80,64,73,171,40,253,152,204,226,110,111,90,143,134,148,152,90,38,57,160,60,241,70,7,117,137,52,165,12,71,106,107,193,34,236,186,86,17,9,109,154,38,109,};
-static uint8_t ietf_chacha20_563[]={193,9,167,174,0,0,0,0,};
-static uint8_t ietf_chacha20_564[]={132,29,77,92,87,78,144,151,10,247,1,106,94,126,121,157,241,30,179,5,142,111,96,214,107,65,40,109,240,40,232,160,77,162,254,65,122,246,113,1,77,104,173,173,35,221,120,50,181,151,91,53,233,119,110,85,50,154,158,248,121,103,99,12,67,246,220,74,19,125,163,122,233,1,56,169,38,101,139,149,231,180,84,29,123,235,87,42,86,49,57,114,27,52,138,57,161,10,112,195,247,56,125,202,253,204,58,213,134,237,152,200,};
-static uint8_t ietf_chacha20_565[]={36,86,40,218,234,143,39,1,123,108,190,84,33,91,230,68,96,124,64,180,4,186,87,228,59,234,22,73,83,14,104,249,};
-static uint8_t ietf_chacha20_566[]={155,22,215,30,100,193,131,181,15,26,119,105,};
-static uint8_t ietf_chacha20_567[]={126,165,110,115,61,76,4,25,201,129,74,90,2,230,238,157,211,132,192,27,48,13,201,239,68,49,36,229,22,234,186,207,199,62,169,42,8,26,139,139,147,235,79,65,161,118,19,104,52,203,116,36,190,159,149,218,45,72,158,28,137,102,158,135,243,144,197,213,34,89,135,13,237,255,15,145,219,228,219,10,78,227,187,121,117,119,174,231,32,76,96,89,207,91,199,226,73,178,50,106,208,95,193,247,77,217,132,137,114,92,208,161,134,};
-static uint8_t ietf_chacha20_568[]={191,189,92,126,0,0,0,0,};
-static uint8_t ietf_chacha20_569[]={200,144,172,220,65,156,69,131,97,4,8,109,176,176,70,199,120,98,67,97,160,247,173,106,245,251,73,33,78,159,35,19,61,197,248,159,142,99,121,15,250,2,214,152,62,187,35,226,204,5,121,78,107,156,125,203,135,52,160,255,187,232,46,56,10,145,48,42,75,84,28,226,117,246,229,167,237,8,69,113,72,95,249,174,176,44,17,201,248,114,218,45,208,129,176,134,240,65,169,235,203,101,6,202,175,71,32,152,94,193,217,187,42,};
-static uint8_t ietf_chacha20_570[]={96,201,200,126,102,170,59,111,127,190,7,225,106,146,2,47,209,112,195,64,212,155,129,193,174,183,90,162,10,137,193,84,};
-static uint8_t ietf_chacha20_571[]={122,11,181,64,164,127,75,224,57,140,233,45,};
-static uint8_t ietf_chacha20_572[]={230,213,152,230,86,62,69,169,207,239,105,191,82,187,51,196,57,241,209,114,80,6,22,247,90,68,91,112,194,213,122,214,6,154,31,129,1,2,182,100,138,246,53,66,143,201,26,250,92,225,188,8,240,123,190,153,193,249,211,47,49,31,233,211,3,194,172,29,230,60,236,53,21,139,121,165,127,2,195,159,122,10,129,83,202,139,235,28,195,31,28,240,156,50,228,210,109,139,112,200,198,188,104,151,19,62,66,60,5,175,178,255,132,62,};
-static uint8_t ietf_chacha20_573[]={239,175,173,143,0,0,0,0,};
-static uint8_t ietf_chacha20_574[]={26,20,149,231,6,70,51,179,147,18,146,67,201,170,225,200,181,11,12,80,71,217,171,129,229,141,34,80,43,243,146,199,126,230,15,236,95,133,193,225,245,16,66,209,216,47,135,15,172,20,211,198,217,28,17,179,221,204,164,54,164,191,95,155,30,156,254,37,205,11,238,38,229,210,100,249,68,241,90,74,100,229,139,226,186,22,169,58,219,168,112,152,166,146,182,73,12,54,172,243,37,12,42,66,128,226,97,19,195,73,142,8,182,178,};
-static uint8_t ietf_chacha20_575[]={195,149,141,23,35,163,255,85,37,96,215,228,101,222,151,131,131,1,7,170,204,182,95,18,103,66,117,39,118,125,20,59,};
-static uint8_t ietf_chacha20_576[]={86,22,137,80,183,225,0,50,164,158,165,51,};
-static uint8_t ietf_chacha20_577[]={75,160,167,156,127,136,129,130,210,1,2,155,231,178,71,204,139,176,43,180,61,190,105,202,90,101,74,97,31,211,238,200,71,211,159,237,13,193,17,38,112,16,175,49,186,38,8,237,13,180,157,224,76,81,219,162,126,209,7,170,93,161,87,230,52,202,197,23,210,21,165,157,136,73,243,190,166,63,234,237,95,46,157,166,132,180,69,90,168,34,200,39,44,170,208,92,65,29,219,254,35,18,80,253,71,187,201,163,141,215,91,47,34,92,72,};
-static uint8_t ietf_chacha20_578[]={129,59,139,57,0,0,0,0,};
-static uint8_t ietf_chacha20_579[]={111,170,140,43,42,125,131,33,110,137,21,14,19,123,237,146,62,86,114,2,224,168,29,176,144,41,98,238,229,120,94,215,161,216,102,251,231,151,210,58,131,63,230,47,35,36,165,53,15,248,250,214,139,46,90,77,171,218,133,83,254,154,75,103,250,196,88,39,164,133,2,144,112,150,180,51,122,173,240,245,95,132,119,245,208,180,247,145,182,147,68,48,128,251,7,33,116,133,21,173,136,177,37,91,223,100,72,142,6,235,198,129,185,2,112,};
-static uint8_t ietf_chacha20_580[]={64,83,174,238,218,219,94,18,235,46,133,124,85,112,191,110,95,157,35,192,208,162,52,79,70,59,100,197,115,151,193,234,};
-static uint8_t ietf_chacha20_581[]={95,186,149,103,215,170,19,119,144,230,249,50,};
-static uint8_t ietf_chacha20_582[]={71,229,66,199,184,118,54,143,52,55,153,132,209,164,71,183,166,198,91,132,136,130,167,87,27,189,221,216,187,180,75,110,113,12,51,1,235,195,91,195,226,167,108,27,59,168,239,216,54,72,19,76,155,4,28,85,14,237,61,130,194,53,108,165,0,171,158,0,238,71,91,175,227,186,210,195,157,74,87,0,98,10,141,160,35,193,120,218,42,193,184,18,122,32,179,103,202,17,157,192,156,12,145,138,66,70,254,180,208,96,154,229,66,195,244,58,};
-static uint8_t ietf_chacha20_583[]={129,82,48,68,0,0,0,0,};
-static uint8_t ietf_chacha20_584[]={142,20,98,46,218,173,236,152,184,112,102,202,149,227,142,114,202,52,250,246,203,102,170,74,234,50,187,128,8,73,90,52,225,176,59,18,218,178,83,173,55,130,223,26,52,246,5,128,164,199,58,211,225,239,235,239,65,234,135,30,103,69,151,67,92,159,210,227,97,148,2,135,178,25,97,221,178,175,227,91,121,178,86,100,180,84,87,186,124,223,137,120,47,63,165,236,193,15,67,143,168,147,27,155,12,12,30,3,116,212,80,233,80,145,195,134,};
-static uint8_t ietf_chacha20_585[]={174,127,158,122,29,227,160,229,88,195,195,247,134,252,3,161,65,83,67,234,125,191,86,70,64,133,162,203,195,181,65,136,};
-static uint8_t ietf_chacha20_586[]={7,219,237,119,87,174,54,214,62,239,243,243,};
-static uint8_t ietf_chacha20_587[]={233,224,252,23,52,128,234,105,27,94,139,125,111,71,58,190,150,14,94,134,67,201,179,1,68,130,189,224,136,182,114,2,78,49,144,30,242,159,174,42,54,75,212,114,145,241,242,181,166,78,176,27,108,194,201,157,93,40,102,85,219,215,73,102,42,46,99,195,73,113,200,244,254,209,92,217,37,126,209,202,180,107,249,100,147,51,42,103,9,118,243,194,119,183,186,254,107,48,197,179,73,113,16,253,63,10,5,7,84,3,130,42,48,35,229,58,155,};
-static uint8_t ietf_chacha20_588[]={136,56,114,159,0,0,0,0,};
-static uint8_t ietf_chacha20_589[]={247,58,55,77,160,106,70,199,38,181,46,20,138,108,206,206,183,4,145,50,107,23,130,140,47,200,101,19,65,94,206,243,113,246,8,226,123,119,165,4,192,70,155,112,38,37,184,12,179,134,124,25,80,86,18,167,100,147,21,50,201,98,138,182,143,240,221,96,119,155,48,32,184,219,207,48,236,66,52,218,173,0,213,185,52,87,16,162,182,198,168,252,74,126,208,251,108,182,159,186,208,115,47,249,132,99,68,153,118,204,77,241,36,126,180,205,220,};
-static uint8_t ietf_chacha20_590[]={134,107,135,141,132,199,153,31,26,144,179,171,197,138,14,236,140,26,218,119,49,199,192,112,233,245,109,101,78,51,164,99,};
-static uint8_t ietf_chacha20_591[]={15,78,155,174,190,31,255,191,39,97,238,27,};
-static uint8_t ietf_chacha20_592[]={58,91,91,31,217,213,76,174,151,148,92,69,2,46,253,63,27,214,185,16,46,160,243,77,77,165,234,110,183,95,162,63,111,231,66,227,243,159,252,59,80,99,43,67,73,51,23,89,163,51,58,182,250,141,146,31,137,245,121,180,210,166,154,173,35,24,199,89,232,116,60,32,169,68,108,124,59,103,41,235,75,32,254,171,187,159,41,174,152,46,234,37,110,59,114,66,27,119,21,206,104,55,69,104,244,109,178,200,215,127,48,6,28,137,65,211,104,185,};
-static uint8_t ietf_chacha20_593[]={41,216,77,125,0,0,0,0,};
-static uint8_t ietf_chacha20_594[]={77,72,214,228,79,127,135,224,154,105,70,22,242,38,94,94,21,87,65,86,207,195,206,162,26,21,160,148,30,169,185,60,30,74,234,245,15,181,53,231,80,47,30,24,1,30,14,107,145,95,128,49,175,222,20,233,0,39,83,201,39,251,218,160,110,118,138,65,118,19,209,36,59,250,225,41,194,85,140,204,135,14,221,98,155,30,148,169,61,152,95,202,21,8,44,172,160,31,107,10,43,236,131,120,59,74,44,230,221,163,120,106,75,107,222,169,152,118,};
-static uint8_t ietf_chacha20_595[]={179,119,18,37,28,69,103,33,94,48,48,243,192,68,158,23,132,208,196,251,91,32,52,85,218,94,76,209,12,74,62,249,};
-static uint8_t ietf_chacha20_596[]={124,106,158,180,248,162,189,51,114,21,141,8,};
-static uint8_t ietf_chacha20_597[]={36,202,6,207,235,3,50,254,45,33,27,35,192,198,151,200,242,163,53,244,30,168,223,235,159,44,27,65,50,6,134,237,164,179,138,58,233,246,88,45,252,44,29,166,26,206,145,153,216,148,113,138,99,91,86,177,220,124,57,195,60,225,75,128,144,20,63,58,252,232,48,238,110,217,190,237,167,65,225,11,125,75,83,85,214,76,184,178,185,109,172,40,32,40,131,200,231,250,52,123,80,202,171,68,150,114,114,56,234,47,129,156,94,142,182,35,196,186,109,};
-static uint8_t ietf_chacha20_598[]={125,81,135,2,0,0,0,0,};
-static uint8_t ietf_chacha20_599[]={46,158,181,9,175,73,205,251,200,123,66,186,158,66,198,229,175,136,63,145,100,27,109,144,248,150,85,79,58,55,39,62,133,79,241,244,251,217,210,161,109,83,155,187,225,230,141,40,74,98,230,143,10,57,136,29,41,168,30,92,123,104,232,86,50,189,96,59,252,4,118,241,112,237,162,156,192,219,140,1,244,28,70,79,195,187,45,69,171,13,69,62,189,87,236,215,210,172,247,17,191,163,194,187,71,192,56,157,252,118,112,237,173,178,20,30,69,229,176,};
-static uint8_t ietf_chacha20_600[]={24,157,135,97,166,114,124,209,5,65,24,66,34,171,214,152,30,56,114,253,54,100,143,223,158,84,46,253,121,213,78,0,};
-static uint8_t ietf_chacha20_601[]={86,78,9,121,95,98,50,229,166,111,102,24,};
-static uint8_t ietf_chacha20_602[]={237,56,136,188,81,80,97,108,230,15,243,175,115,102,144,137,201,158,118,206,212,126,251,36,92,207,164,152,215,220,172,40,199,156,128,68,184,26,99,141,236,80,64,164,248,161,15,208,56,43,194,36,21,57,224,193,46,246,42,189,6,240,80,133,115,152,40,60,121,60,217,235,228,131,174,177,56,161,151,107,4,79,41,249,38,195,14,253,98,242,46,150,150,31,197,231,179,26,248,83,182,251,112,238,158,152,183,25,120,102,177,39,97,203,167,36,14,121,77,11,};
-static uint8_t ietf_chacha20_603[]={165,197,43,62,0,0,0,0,};
-static uint8_t ietf_chacha20_604[]={247,44,78,150,214,217,217,188,174,183,173,50,84,5,131,227,17,54,130,100,130,191,138,197,158,99,122,135,183,213,76,231,151,75,199,211,91,225,28,116,110,153,226,185,45,208,240,105,204,217,219,73,227,20,246,76,208,33,21,203,79,240,65,16,176,169,63,99,208,15,141,124,61,36,48,12,83,125,160,251,181,178,225,50,221,76,91,197,47,70,206,236,10,142,116,183,199,0,236,74,223,3,23,80,236,52,242,98,108,132,4,76,79,197,157,121,45,241,193,9,};
-static uint8_t ietf_chacha20_605[]={240,255,239,92,231,199,78,249,94,58,169,9,161,210,140,190,95,78,243,219,202,163,210,63,166,70,184,121,33,160,34,102,};
-static uint8_t ietf_chacha20_606[]={201,86,84,4,248,181,67,11,109,49,117,99,};
-static uint8_t ietf_chacha20_607[]={237,135,1,8,0,148,89,206,137,215,232,145,189,14,179,75,154,9,34,80,100,241,95,6,49,218,110,91,253,251,168,234,19,114,174,103,116,79,46,197,246,229,166,205,180,2,143,130,241,189,164,187,173,14,54,144,125,43,133,201,173,135,176,230,87,119,96,191,97,188,43,85,219,64,212,231,140,125,116,90,196,131,50,65,101,69,107,234,3,75,184,56,31,70,241,176,112,169,196,172,71,191,20,79,56,77,56,228,200,118,43,107,121,104,58,133,237,69,196,158,87,};
-static uint8_t ietf_chacha20_608[]={97,147,182,142,0,0,0,0,};
-static uint8_t ietf_chacha20_609[]={98,68,28,236,161,233,219,10,255,187,163,192,89,252,181,151,100,55,99,144,173,73,212,92,54,121,20,129,53,2,10,247,42,137,51,165,203,95,80,85,234,248,106,240,184,160,106,70,74,195,24,18,179,128,75,31,66,21,56,64,211,83,125,251,61,214,86,226,132,174,125,195,83,231,21,11,135,14,68,42,17,236,155,210,228,174,251,102,146,157,180,210,129,146,128,121,79,179,162,227,205,203,26,253,0,190,145,14,198,163,132,255,125,237,201,22,131,173,143,52,23,};
-static uint8_t ietf_chacha20_610[]={158,183,26,73,75,100,35,65,233,143,9,116,240,30,169,211,134,218,93,35,203,122,3,213,66,239,109,156,150,248,209,35,};
-static uint8_t ietf_chacha20_611[]={175,196,193,117,181,133,129,145,99,206,234,120,};
-static uint8_t ietf_chacha20_612[]={226,111,197,203,41,217,149,3,2,153,74,157,108,200,30,67,153,23,245,74,217,116,65,177,86,216,108,2,216,127,174,157,251,69,239,215,87,115,228,59,217,193,196,20,41,153,180,6,92,56,254,125,205,234,119,39,92,211,157,204,153,238,113,176,229,105,23,195,175,48,219,55,10,84,133,136,68,227,42,170,219,145,126,211,165,136,16,108,224,204,77,251,228,1,21,95,194,136,82,146,80,10,69,251,35,18,19,83,154,80,123,188,234,210,150,8,184,108,236,123,226,149,};
-static uint8_t ietf_chacha20_613[]={154,212,39,186,0,0,0,0,};
-static uint8_t ietf_chacha20_614[]={250,20,115,232,148,252,152,171,57,30,12,53,211,176,216,238,231,245,130,81,29,192,126,253,103,11,11,92,230,84,163,171,114,8,30,216,192,137,107,113,220,225,96,24,221,70,214,168,126,228,93,178,169,139,233,123,95,17,80,112,236,85,145,221,90,122,146,217,11,127,255,13,214,246,170,65,90,46,101,147,215,206,22,2,162,240,241,159,218,12,189,46,141,222,213,143,89,251,22,119,73,90,116,18,132,129,120,113,219,184,63,190,39,205,180,24,38,176,92,92,171,44,};
-static uint8_t ietf_chacha20_615[]={93,1,116,9,174,207,168,120,199,216,76,162,56,227,91,0,236,31,89,160,200,76,134,36,203,152,239,17,20,157,228,48,};
-static uint8_t ietf_chacha20_616[]={8,103,227,238,243,93,13,181,9,0,102,95,};
-static uint8_t ietf_chacha20_617[]={58,28,49,153,67,180,226,123,229,56,43,62,206,13,166,32,154,80,106,29,114,74,127,14,104,151,159,58,195,201,104,248,197,108,133,209,9,45,198,146,120,243,217,89,75,26,227,251,200,158,70,179,201,49,141,51,99,38,181,143,217,193,52,12,206,120,7,176,185,178,77,8,11,28,207,244,188,21,72,202,168,49,82,196,41,217,106,38,176,4,212,128,205,188,228,106,214,129,28,35,133,205,31,77,205,4,182,142,169,194,125,206,7,39,81,65,171,129,108,127,113,212,27,};
-static uint8_t ietf_chacha20_618[]={67,238,243,4,0,0,0,0,};
-static uint8_t ietf_chacha20_619[]={238,72,13,165,26,44,205,162,84,115,74,188,100,216,180,140,80,113,141,7,160,115,1,136,178,87,226,38,241,88,135,63,81,186,241,217,241,115,157,23,76,47,101,8,178,113,181,129,235,116,178,187,99,165,122,252,26,226,253,17,233,102,45,110,52,222,151,206,15,148,74,174,16,161,121,169,10,100,22,244,45,88,201,92,107,189,141,227,76,157,26,147,57,15,212,159,73,232,150,169,214,102,121,170,117,188,46,174,129,170,238,96,168,170,54,205,243,21,103,137,102,161,14,};
-static uint8_t ietf_chacha20_620[]={225,172,3,113,113,242,168,73,154,159,149,108,215,87,180,53,22,84,39,213,73,153,246,105,5,160,253,193,4,225,143,107,};
-static uint8_t ietf_chacha20_621[]={107,166,246,78,249,130,190,109,79,177,95,132,};
-static uint8_t ietf_chacha20_622[]={222,192,246,174,124,235,191,160,32,139,120,178,109,150,249,114,238,147,71,62,132,187,140,83,87,247,222,104,27,53,89,160,226,17,200,86,122,93,179,133,230,118,129,32,82,158,183,85,172,35,0,248,55,39,145,44,93,73,42,240,207,87,245,186,114,24,141,38,74,187,202,228,28,219,243,13,200,98,147,133,247,98,143,114,241,122,203,128,235,4,215,53,66,253,128,88,184,73,176,240,255,83,158,48,102,158,83,185,253,58,211,36,185,221,128,86,187,161,81,191,181,124,151,236,};
-static uint8_t ietf_chacha20_623[]={251,219,97,63,0,0,0,0,};
-static uint8_t ietf_chacha20_624[]={32,50,43,187,70,164,59,72,96,110,45,214,196,41,63,74,254,220,167,250,48,41,31,42,28,207,6,29,0,150,76,144,72,227,208,198,25,23,209,230,29,118,102,135,90,151,66,216,241,52,219,205,60,154,199,194,51,169,12,98,199,26,9,215,23,217,47,100,75,179,63,199,39,151,168,239,82,245,133,85,35,111,139,4,113,186,11,208,193,6,53,160,54,95,195,243,69,111,235,9,126,195,197,102,68,14,225,221,94,22,218,188,234,92,168,139,146,189,247,45,226,79,226,195,};
-static uint8_t ietf_chacha20_625[]={194,111,91,244,2,48,175,250,142,131,72,68,101,73,91,208,170,96,64,178,195,52,124,235,197,250,121,180,212,248,85,12,};
-static uint8_t ietf_chacha20_626[]={9,33,30,73,76,77,55,226,250,230,198,75,};
-static uint8_t ietf_chacha20_627[]={21,136,72,115,183,130,94,6,84,100,70,96,4,92,172,101,142,43,186,23,147,159,200,68,177,151,31,14,100,199,5,157,246,144,117,35,206,133,214,143,133,28,107,184,73,151,31,207,22,28,128,31,220,173,241,82,198,40,32,73,176,244,46,177,101,114,54,133,174,144,106,200,191,182,239,28,18,171,103,164,148,108,80,226,47,124,93,214,209,64,202,212,19,144,78,147,68,50,99,19,185,84,46,250,73,173,146,228,198,65,15,103,44,150,103,227,102,46,104,162,5,219,144,86,170,};
-static uint8_t ietf_chacha20_628[]={101,32,13,253,0,0,0,0,};
-static uint8_t ietf_chacha20_629[]={107,94,64,72,248,6,230,87,47,208,18,251,89,84,163,185,42,25,128,107,166,9,36,171,189,147,123,10,19,177,27,216,161,77,212,118,155,237,79,238,65,65,41,219,166,58,212,184,228,92,204,0,121,142,143,51,174,201,235,177,5,198,56,72,70,97,130,101,177,168,205,190,68,6,180,3,209,79,167,13,1,151,170,112,187,25,216,31,199,31,98,128,43,247,122,178,2,49,136,103,102,238,178,67,160,120,126,124,179,33,203,255,185,219,203,36,97,209,120,2,197,96,19,220,2,};
-static uint8_t ietf_chacha20_630[]={235,229,227,102,209,112,171,159,171,237,224,217,167,189,98,28,181,25,53,167,175,88,200,218,138,1,16,76,240,146,249,253,};
-static uint8_t ietf_chacha20_631[]={211,157,212,86,120,186,104,147,184,230,226,192,};
-static uint8_t ietf_chacha20_632[]={137,70,109,197,109,195,88,91,91,2,147,97,67,127,128,160,213,68,71,243,214,217,117,68,247,88,185,69,12,97,99,15,113,121,75,40,18,213,140,113,238,22,9,72,197,230,239,132,187,136,223,16,186,88,35,137,129,220,170,169,204,253,48,38,219,9,246,229,84,229,246,231,191,120,46,46,71,225,16,60,152,25,216,124,193,92,150,40,90,202,181,52,156,54,58,36,161,205,214,24,7,228,193,171,101,243,140,25,232,102,0,247,118,41,58,110,24,88,44,72,250,218,29,64,40,232,};
-static uint8_t ietf_chacha20_633[]={116,1,52,0,0,0,0,0,};
-static uint8_t ietf_chacha20_634[]={190,88,231,236,108,80,54,129,54,182,251,100,9,90,110,92,53,181,248,26,132,251,78,203,8,56,44,132,107,171,57,46,128,17,128,83,20,162,68,140,225,65,32,199,37,2,188,4,131,199,138,210,73,60,116,94,138,145,248,196,137,210,38,209,57,90,59,170,42,183,236,95,41,234,102,135,164,114,129,64,150,171,175,232,203,26,173,82,246,127,0,181,203,184,202,159,158,158,72,6,44,161,209,32,169,118,193,74,114,98,37,2,142,77,192,94,224,190,184,125,82,39,213,192,105,130,};
-static uint8_t ietf_chacha20_635[]={144,112,52,189,78,118,243,150,88,224,4,232,252,108,250,172,119,201,73,167,66,12,10,243,252,245,73,161,43,15,204,16,};
-static uint8_t ietf_chacha20_636[]={36,5,181,170,140,104,56,203,80,66,93,56,};
-static uint8_t ietf_chacha20_637[]={76,233,165,156,136,205,119,105,218,135,145,222,86,173,67,210,134,151,65,55,93,80,65,32,21,211,92,192,139,75,87,99,153,125,18,3,36,117,3,244,150,25,18,170,121,244,244,185,151,215,248,69,15,23,65,175,102,47,195,215,5,178,95,22,136,209,9,207,195,78,221,77,29,43,11,210,102,217,226,9,255,53,183,1,157,177,15,60,211,193,113,100,186,57,41,84,87,210,181,116,143,86,21,150,193,9,88,201,21,23,181,182,191,32,88,8,80,95,142,210,9,241,217,8,245,26,203,};
-static uint8_t ietf_chacha20_638[]={160,16,132,255,0,0,0,0,};
-static uint8_t ietf_chacha20_639[]={150,103,11,26,42,25,136,83,199,88,177,138,14,85,37,248,86,56,73,108,64,216,62,2,239,144,102,29,157,102,73,170,240,202,246,22,8,131,129,121,82,168,214,161,70,129,161,54,79,253,155,142,226,114,168,90,65,85,179,110,210,58,203,178,92,147,126,137,201,40,192,250,14,140,175,24,201,174,198,200,76,135,51,115,202,102,246,136,17,154,93,27,97,37,116,110,64,30,26,158,32,0,136,79,99,5,147,180,23,1,66,119,63,123,194,17,101,48,105,161,89,76,11,58,213,186,244,};
-static size_t nb_ietf_chacha20_vectors=640;
-static uint8_t *ietf_chacha20_vectors[]={ietf_chacha20_0,ietf_chacha20_1,0,ietf_chacha20_3,0,ietf_chacha20_5,ietf_chacha20_6,ietf_chacha20_7,ietf_chacha20_8,ietf_chacha20_9,ietf_chacha20_10,ietf_chacha20_11,ietf_chacha20_12,ietf_chacha20_13,ietf_chacha20_14,ietf_chacha20_15,ietf_chacha20_16,ietf_chacha20_17,ietf_chacha20_18,ietf_chacha20_19,ietf_chacha20_20,ietf_chacha20_21,ietf_chacha20_22,ietf_chacha20_23,ietf_chacha20_24,ietf_chacha20_25,ietf_chacha20_26,ietf_chacha20_27,ietf_chacha20_28,ietf_chacha20_29,ietf_chacha20_30,ietf_chacha20_31,ietf_chacha20_32,ietf_chacha20_33,ietf_chacha20_34,ietf_chacha20_35,ietf_chacha20_36,ietf_chacha20_37,ietf_chacha20_38,ietf_chacha20_39,ietf_chacha20_40,ietf_chacha20_41,ietf_chacha20_42,ietf_chacha20_43,ietf_chacha20_44,ietf_chacha20_45,ietf_chacha20_46,ietf_chacha20_47,ietf_chacha20_48,ietf_chacha20_49,ietf_chacha20_50,ietf_chacha20_51,ietf_chacha20_52,ietf_chacha20_53,ietf_chacha20_54,ietf_chacha20_55,ietf_chacha20_56,ietf_chacha20_57,ietf_chacha20_58,ietf_chacha20_59,ietf_chacha20_60,ietf_chacha20_61,ietf_chacha20_62,ietf_chacha20_63,ietf_chacha20_64,ietf_chacha20_65,ietf_chacha20_66,ietf_chacha20_67,ietf_chacha20_68,ietf_chacha20_69,ietf_chacha20_70,ietf_chacha20_71,ietf_chacha20_72,ietf_chacha20_73,ietf_chacha20_74,ietf_chacha20_75,ietf_chacha20_76,ietf_chacha20_77,ietf_chacha20_78,ietf_chacha20_79,ietf_chacha20_80,ietf_chacha20_81,ietf_chacha20_82,ietf_chacha20_83,ietf_chacha20_84,ietf_chacha20_85,ietf_chacha20_86,ietf_chacha20_87,ietf_chacha20_88,ietf_chacha20_89,ietf_chacha20_90,ietf_chacha20_91,ietf_chacha20_92,ietf_chacha20_93,ietf_chacha20_94,ietf_chacha20_95,ietf_chacha20_96,ietf_chacha20_97,ietf_chacha20_98,ietf_chacha20_99,ietf_chacha20_100,ietf_chacha20_101,ietf_chacha20_102,ietf_chacha20_103,ietf_chacha20_104,ietf_chacha20_105,ietf_chacha20_106,ietf_chacha20_107,ietf_chacha20_108,ietf_chacha20_109,ietf_chacha20_110,ietf_chacha20_111,ietf_chacha20_112,ietf_chacha20_113,ietf_chacha20_114,ietf_chacha20_115,ietf_chacha20_116,ietf_chacha20_117,ietf_chacha20_118,ietf_chacha20_119,ietf_chacha20_120,ietf_chacha20_121,ietf_chacha20_122,ietf_chacha20_123,ietf_chacha20_124,ietf_chacha20_125,ietf_chacha20_126,ietf_chacha20_127,ietf_chacha20_128,ietf_chacha20_129,ietf_chacha20_130,ietf_chacha20_131,ietf_chacha20_132,ietf_chacha20_133,ietf_chacha20_134,ietf_chacha20_135,ietf_chacha20_136,ietf_chacha20_137,ietf_chacha20_138,ietf_chacha20_139,ietf_chacha20_140,ietf_chacha20_141,ietf_chacha20_142,ietf_chacha20_143,ietf_chacha20_144,ietf_chacha20_145,ietf_chacha20_146,ietf_chacha20_147,ietf_chacha20_148,ietf_chacha20_149,ietf_chacha20_150,ietf_chacha20_151,ietf_chacha20_152,ietf_chacha20_153,ietf_chacha20_154,ietf_chacha20_155,ietf_chacha20_156,ietf_chacha20_157,ietf_chacha20_158,ietf_chacha20_159,ietf_chacha20_160,ietf_chacha20_161,ietf_chacha20_162,ietf_chacha20_163,ietf_chacha20_164,ietf_chacha20_165,ietf_chacha20_166,ietf_chacha20_167,ietf_chacha20_168,ietf_chacha20_169,ietf_chacha20_170,ietf_chacha20_171,ietf_chacha20_172,ietf_chacha20_173,ietf_chacha20_174,ietf_chacha20_175,ietf_chacha20_176,ietf_chacha20_177,ietf_chacha20_178,ietf_chacha20_179,ietf_chacha20_180,ietf_chacha20_181,ietf_chacha20_182,ietf_chacha20_183,ietf_chacha20_184,ietf_chacha20_185,ietf_chacha20_186,ietf_chacha20_187,ietf_chacha20_188,ietf_chacha20_189,ietf_chacha20_190,ietf_chacha20_191,ietf_chacha20_192,ietf_chacha20_193,ietf_chacha20_194,ietf_chacha20_195,ietf_chacha20_196,ietf_chacha20_197,ietf_chacha20_198,ietf_chacha20_199,ietf_chacha20_200,ietf_chacha20_201,ietf_chacha20_202,ietf_chacha20_203,ietf_chacha20_204,ietf_chacha20_205,ietf_chacha20_206,ietf_chacha20_207,ietf_chacha20_208,ietf_chacha20_209,ietf_chacha20_210,ietf_chacha20_211,ietf_chacha20_212,ietf_chacha20_213,ietf_chacha20_214,ietf_chacha20_215,ietf_chacha20_216,ietf_chacha20_217,ietf_chacha20_218,ietf_chacha20_219,ietf_chacha20_220,ietf_chacha20_221,ietf_chacha20_222,ietf_chacha20_223,ietf_chacha20_224,ietf_chacha20_225,ietf_chacha20_226,ietf_chacha20_227,ietf_chacha20_228,ietf_chacha20_229,ietf_chacha20_230,ietf_chacha20_231,ietf_chacha20_232,ietf_chacha20_233,ietf_chacha20_234,ietf_chacha20_235,ietf_chacha20_236,ietf_chacha20_237,ietf_chacha20_238,ietf_chacha20_239,ietf_chacha20_240,ietf_chacha20_241,ietf_chacha20_242,ietf_chacha20_243,ietf_chacha20_244,ietf_chacha20_245,ietf_chacha20_246,ietf_chacha20_247,ietf_chacha20_248,ietf_chacha20_249,ietf_chacha20_250,ietf_chacha20_251,ietf_chacha20_252,ietf_chacha20_253,ietf_chacha20_254,ietf_chacha20_255,ietf_chacha20_256,ietf_chacha20_257,ietf_chacha20_258,ietf_chacha20_259,ietf_chacha20_260,ietf_chacha20_261,ietf_chacha20_262,ietf_chacha20_263,ietf_chacha20_264,ietf_chacha20_265,ietf_chacha20_266,ietf_chacha20_267,ietf_chacha20_268,ietf_chacha20_269,ietf_chacha20_270,ietf_chacha20_271,ietf_chacha20_272,ietf_chacha20_273,ietf_chacha20_274,ietf_chacha20_275,ietf_chacha20_276,ietf_chacha20_277,ietf_chacha20_278,ietf_chacha20_279,ietf_chacha20_280,ietf_chacha20_281,ietf_chacha20_282,ietf_chacha20_283,ietf_chacha20_284,ietf_chacha20_285,ietf_chacha20_286,ietf_chacha20_287,ietf_chacha20_288,ietf_chacha20_289,ietf_chacha20_290,ietf_chacha20_291,ietf_chacha20_292,ietf_chacha20_293,ietf_chacha20_294,ietf_chacha20_295,ietf_chacha20_296,ietf_chacha20_297,ietf_chacha20_298,ietf_chacha20_299,ietf_chacha20_300,ietf_chacha20_301,ietf_chacha20_302,ietf_chacha20_303,ietf_chacha20_304,ietf_chacha20_305,ietf_chacha20_306,ietf_chacha20_307,ietf_chacha20_308,ietf_chacha20_309,ietf_chacha20_310,ietf_chacha20_311,ietf_chacha20_312,ietf_chacha20_313,ietf_chacha20_314,ietf_chacha20_315,ietf_chacha20_316,ietf_chacha20_317,ietf_chacha20_318,ietf_chacha20_319,ietf_chacha20_320,ietf_chacha20_321,ietf_chacha20_322,ietf_chacha20_323,ietf_chacha20_324,ietf_chacha20_325,ietf_chacha20_326,ietf_chacha20_327,ietf_chacha20_328,ietf_chacha20_329,ietf_chacha20_330,ietf_chacha20_331,ietf_chacha20_332,ietf_chacha20_333,ietf_chacha20_334,ietf_chacha20_335,ietf_chacha20_336,ietf_chacha20_337,ietf_chacha20_338,ietf_chacha20_339,ietf_chacha20_340,ietf_chacha20_341,ietf_chacha20_342,ietf_chacha20_343,ietf_chacha20_344,ietf_chacha20_345,ietf_chacha20_346,ietf_chacha20_347,ietf_chacha20_348,ietf_chacha20_349,ietf_chacha20_350,ietf_chacha20_351,ietf_chacha20_352,ietf_chacha20_353,ietf_chacha20_354,ietf_chacha20_355,ietf_chacha20_356,ietf_chacha20_357,ietf_chacha20_358,ietf_chacha20_359,ietf_chacha20_360,ietf_chacha20_361,ietf_chacha20_362,ietf_chacha20_363,ietf_chacha20_364,ietf_chacha20_365,ietf_chacha20_366,ietf_chacha20_367,ietf_chacha20_368,ietf_chacha20_369,ietf_chacha20_370,ietf_chacha20_371,ietf_chacha20_372,ietf_chacha20_373,ietf_chacha20_374,ietf_chacha20_375,ietf_chacha20_376,ietf_chacha20_377,ietf_chacha20_378,ietf_chacha20_379,ietf_chacha20_380,ietf_chacha20_381,ietf_chacha20_382,ietf_chacha20_383,ietf_chacha20_384,ietf_chacha20_385,ietf_chacha20_386,ietf_chacha20_387,ietf_chacha20_388,ietf_chacha20_389,ietf_chacha20_390,ietf_chacha20_391,ietf_chacha20_392,ietf_chacha20_393,ietf_chacha20_394,ietf_chacha20_395,ietf_chacha20_396,ietf_chacha20_397,ietf_chacha20_398,ietf_chacha20_399,ietf_chacha20_400,ietf_chacha20_401,ietf_chacha20_402,ietf_chacha20_403,ietf_chacha20_404,ietf_chacha20_405,ietf_chacha20_406,ietf_chacha20_407,ietf_chacha20_408,ietf_chacha20_409,ietf_chacha20_410,ietf_chacha20_411,ietf_chacha20_412,ietf_chacha20_413,ietf_chacha20_414,ietf_chacha20_415,ietf_chacha20_416,ietf_chacha20_417,ietf_chacha20_418,ietf_chacha20_419,ietf_chacha20_420,ietf_chacha20_421,ietf_chacha20_422,ietf_chacha20_423,ietf_chacha20_424,ietf_chacha20_425,ietf_chacha20_426,ietf_chacha20_427,ietf_chacha20_428,ietf_chacha20_429,ietf_chacha20_430,ietf_chacha20_431,ietf_chacha20_432,ietf_chacha20_433,ietf_chacha20_434,ietf_chacha20_435,ietf_chacha20_436,ietf_chacha20_437,ietf_chacha20_438,ietf_chacha20_439,ietf_chacha20_440,ietf_chacha20_441,ietf_chacha20_442,ietf_chacha20_443,ietf_chacha20_444,ietf_chacha20_445,ietf_chacha20_446,ietf_chacha20_447,ietf_chacha20_448,ietf_chacha20_449,ietf_chacha20_450,ietf_chacha20_451,ietf_chacha20_452,ietf_chacha20_453,ietf_chacha20_454,ietf_chacha20_455,ietf_chacha20_456,ietf_chacha20_457,ietf_chacha20_458,ietf_chacha20_459,ietf_chacha20_460,ietf_chacha20_461,ietf_chacha20_462,ietf_chacha20_463,ietf_chacha20_464,ietf_chacha20_465,ietf_chacha20_466,ietf_chacha20_467,ietf_chacha20_468,ietf_chacha20_469,ietf_chacha20_470,ietf_chacha20_471,ietf_chacha20_472,ietf_chacha20_473,ietf_chacha20_474,ietf_chacha20_475,ietf_chacha20_476,ietf_chacha20_477,ietf_chacha20_478,ietf_chacha20_479,ietf_chacha20_480,ietf_chacha20_481,ietf_chacha20_482,ietf_chacha20_483,ietf_chacha20_484,ietf_chacha20_485,ietf_chacha20_486,ietf_chacha20_487,ietf_chacha20_488,ietf_chacha20_489,ietf_chacha20_490,ietf_chacha20_491,ietf_chacha20_492,ietf_chacha20_493,ietf_chacha20_494,ietf_chacha20_495,ietf_chacha20_496,ietf_chacha20_497,ietf_chacha20_498,ietf_chacha20_499,ietf_chacha20_500,ietf_chacha20_501,ietf_chacha20_502,ietf_chacha20_503,ietf_chacha20_504,ietf_chacha20_505,ietf_chacha20_506,ietf_chacha20_507,ietf_chacha20_508,ietf_chacha20_509,ietf_chacha20_510,ietf_chacha20_511,ietf_chacha20_512,ietf_chacha20_513,ietf_chacha20_514,ietf_chacha20_515,ietf_chacha20_516,ietf_chacha20_517,ietf_chacha20_518,ietf_chacha20_519,ietf_chacha20_520,ietf_chacha20_521,ietf_chacha20_522,ietf_chacha20_523,ietf_chacha20_524,ietf_chacha20_525,ietf_chacha20_526,ietf_chacha20_527,ietf_chacha20_528,ietf_chacha20_529,ietf_chacha20_530,ietf_chacha20_531,ietf_chacha20_532,ietf_chacha20_533,ietf_chacha20_534,ietf_chacha20_535,ietf_chacha20_536,ietf_chacha20_537,ietf_chacha20_538,ietf_chacha20_539,ietf_chacha20_540,ietf_chacha20_541,ietf_chacha20_542,ietf_chacha20_543,ietf_chacha20_544,ietf_chacha20_545,ietf_chacha20_546,ietf_chacha20_547,ietf_chacha20_548,ietf_chacha20_549,ietf_chacha20_550,ietf_chacha20_551,ietf_chacha20_552,ietf_chacha20_553,ietf_chacha20_554,ietf_chacha20_555,ietf_chacha20_556,ietf_chacha20_557,ietf_chacha20_558,ietf_chacha20_559,ietf_chacha20_560,ietf_chacha20_561,ietf_chacha20_562,ietf_chacha20_563,ietf_chacha20_564,ietf_chacha20_565,ietf_chacha20_566,ietf_chacha20_567,ietf_chacha20_568,ietf_chacha20_569,ietf_chacha20_570,ietf_chacha20_571,ietf_chacha20_572,ietf_chacha20_573,ietf_chacha20_574,ietf_chacha20_575,ietf_chacha20_576,ietf_chacha20_577,ietf_chacha20_578,ietf_chacha20_579,ietf_chacha20_580,ietf_chacha20_581,ietf_chacha20_582,ietf_chacha20_583,ietf_chacha20_584,ietf_chacha20_585,ietf_chacha20_586,ietf_chacha20_587,ietf_chacha20_588,ietf_chacha20_589,ietf_chacha20_590,ietf_chacha20_591,ietf_chacha20_592,ietf_chacha20_593,ietf_chacha20_594,ietf_chacha20_595,ietf_chacha20_596,ietf_chacha20_597,ietf_chacha20_598,ietf_chacha20_599,ietf_chacha20_600,ietf_chacha20_601,ietf_chacha20_602,ietf_chacha20_603,ietf_chacha20_604,ietf_chacha20_605,ietf_chacha20_606,ietf_chacha20_607,ietf_chacha20_608,ietf_chacha20_609,ietf_chacha20_610,ietf_chacha20_611,ietf_chacha20_612,ietf_chacha20_613,ietf_chacha20_614,ietf_chacha20_615,ietf_chacha20_616,ietf_chacha20_617,ietf_chacha20_618,ietf_chacha20_619,ietf_chacha20_620,ietf_chacha20_621,ietf_chacha20_622,ietf_chacha20_623,ietf_chacha20_624,ietf_chacha20_625,ietf_chacha20_626,ietf_chacha20_627,ietf_chacha20_628,ietf_chacha20_629,ietf_chacha20_630,ietf_chacha20_631,ietf_chacha20_632,ietf_chacha20_633,ietf_chacha20_634,ietf_chacha20_635,ietf_chacha20_636,ietf_chacha20_637,ietf_chacha20_638,ietf_chacha20_639,};
-static size_t ietf_chacha20_sizes[]={32,12,0,8,0,32,12,1,8,1,32,12,2,8,2,32,12,3,8,3,32,12,4,8,4,32,12,5,8,5,32,12,6,8,6,32,12,7,8,7,32,12,8,8,8,32,12,9,8,9,32,12,10,8,10,32,12,11,8,11,32,12,12,8,12,32,12,13,8,13,32,12,14,8,14,32,12,15,8,15,32,12,16,8,16,32,12,17,8,17,32,12,18,8,18,32,12,19,8,19,32,12,20,8,20,32,12,21,8,21,32,12,22,8,22,32,12,23,8,23,32,12,24,8,24,32,12,25,8,25,32,12,26,8,26,32,12,27,8,27,32,12,28,8,28,32,12,29,8,29,32,12,30,8,30,32,12,31,8,31,32,12,32,8,32,32,12,33,8,33,32,12,34,8,34,32,12,35,8,35,32,12,36,8,36,32,12,37,8,37,32,12,38,8,38,32,12,39,8,39,32,12,40,8,40,32,12,41,8,41,32,12,42,8,42,32,12,43,8,43,32,12,44,8,44,32,12,45,8,45,32,12,46,8,46,32,12,47,8,47,32,12,48,8,48,32,12,49,8,49,32,12,50,8,50,32,12,51,8,51,32,12,52,8,52,32,12,53,8,53,32,12,54,8,54,32,12,55,8,55,32,12,56,8,56,32,12,57,8,57,32,12,58,8,58,32,12,59,8,59,32,12,60,8,60,32,12,61,8,61,32,12,62,8,62,32,12,63,8,63,32,12,64,8,64,32,12,65,8,65,32,12,66,8,66,32,12,67,8,67,32,12,68,8,68,32,12,69,8,69,32,12,70,8,70,32,12,71,8,71,32,12,72,8,72,32,12,73,8,73,32,12,74,8,74,32,12,75,8,75,32,12,76,8,76,32,12,77,8,77,32,12,78,8,78,32,12,79,8,79,32,12,80,8,80,32,12,81,8,81,32,12,82,8,82,32,12,83,8,83,32,12,84,8,84,32,12,85,8,85,32,12,86,8,86,32,12,87,8,87,32,12,88,8,88,32,12,89,8,89,32,12,90,8,90,32,12,91,8,91,32,12,92,8,92,32,12,93,8,93,32,12,94,8,94,32,12,95,8,95,32,12,96,8,96,32,12,97,8,97,32,12,98,8,98,32,12,99,8,99,32,12,100,8,100,32,12,101,8,101,32,12,102,8,102,32,12,103,8,103,32,12,104,8,104,32,12,105,8,105,32,12,106,8,106,32,12,107,8,107,32,12,108,8,108,32,12,109,8,109,32,12,110,8,110,32,12,111,8,111,32,12,112,8,112,32,12,113,8,113,32,12,114,8,114,32,12,115,8,115,32,12,116,8,116,32,12,117,8,117,32,12,118,8,118,32,12,119,8,119,32,12,120,8,120,32,12,121,8,121,32,12,122,8,122,32,12,123,8,123,32,12,124,8,124,32,12,125,8,125,32,12,126,8,126,32,12,127,8,127,};
-static uint8_t aead_ietf_0[]={228,228,196,5,79,227,90,117,217,192,246,121,173,135,112,216,34,126,104,228,193,230,140,230,126,232,142,107,226,81,162,7,};
-static uint8_t aead_ietf_1[]={72,179,117,60,255,58,109,153,1,99,230,182,13,161,228,229,214,162,223,120,193,108,150,165,};
-static uint8_t aead_ietf_4[]={181,237,76,126,99,161,68,241,5,219,226,176,57,199,232,5,};
-static uint8_t aead_ietf_5[]={128,25,232,153,156,129,92,87,35,219,251,222,5,230,199,31,17,138,252,13,237,181,185,248,222,163,152,178,215,100,188,166,};
-static uint8_t aead_ietf_6[]={141,252,2,58,152,33,147,157,56,158,56,160,114,207,27,65,59,177,81,124,63,232,58,190,};
-static uint8_t aead_ietf_8[]={134,};
-static uint8_t aead_ietf_9[]={55,65,144,56,41,117,144,122,104,232,163,65,250,160,119,42,160,};
-static uint8_t aead_ietf_10[]={249,153,178,10,180,118,158,177,208,28,5,124,82,149,237,4,43,69,54,86,29,206,50,71,139,17,58,219,91,96,92,172,};
-static uint8_t aead_ietf_11[]={117,188,252,172,181,227,232,17,183,142,114,227,152,253,209,24,191,4,198,167,237,7,86,163,};
-static uint8_t aead_ietf_13[]={104,98,};
-static uint8_t aead_ietf_14[]={202,109,65,127,4,6,137,94,141,184,73,169,21,211,184,178,7,105,};
-static uint8_t aead_ietf_15[]={157,109,32,0,5,238,114,195,188,62,74,227,186,223,215,154,223,228,107,42,225,4,95,120,56,46,4,201,105,223,26,45,};
-static uint8_t aead_ietf_16[]={106,150,58,121,197,132,1,119,10,56,50,72,181,215,11,180,173,237,203,229,32,254,214,52,};
-static uint8_t aead_ietf_18[]={52,52,44,};
-static uint8_t aead_ietf_19[]={34,16,250,194,44,29,151,149,21,200,153,235,158,174,121,67,103,115,198,};
-static uint8_t aead_ietf_20[]={27,243,46,124,103,154,49,135,226,42,99,93,48,28,233,138,208,0,202,48,16,73,242,232,145,228,3,37,12,51,88,252,};
-static uint8_t aead_ietf_21[]={32,48,178,39,187,150,233,59,136,244,25,175,233,249,214,96,224,19,118,18,40,5,30,197,};
-static uint8_t aead_ietf_23[]={194,58,14,203,};
-static uint8_t aead_ietf_24[]={87,82,184,29,52,114,137,85,81,133,52,28,194,18,89,168,60,250,34,185,};
-static uint8_t aead_ietf_25[]={171,58,223,12,215,2,233,158,250,94,246,229,157,59,32,22,128,248,226,213,164,239,127,35,241,182,168,225,2,103,10,56,};
-static uint8_t aead_ietf_26[]={41,169,149,174,35,251,195,165,99,158,2,140,210,181,247,27,185,12,122,30,74,138,5,1,};
-static uint8_t aead_ietf_28[]={86,26,127,97,129,};
-static uint8_t aead_ietf_29[]={51,111,43,31,189,128,110,149,53,7,186,202,37,125,2,203,9,202,146,203,251,};
-static uint8_t aead_ietf_30[]={100,193,87,34,81,19,47,194,139,243,127,216,233,111,35,39,207,121,72,161,18,111,211,113,117,169,31,72,61,107,58,217,};
-static uint8_t aead_ietf_31[]={35,8,223,126,109,170,139,243,239,222,117,248,10,215,42,73,174,7,148,0,158,33,173,51,};
-static uint8_t aead_ietf_33[]={250,90,126,138,117,178,};
-static uint8_t aead_ietf_34[]={227,151,10,32,138,206,49,108,235,57,244,129,48,93,198,60,199,103,9,179,54,89,};
-static uint8_t aead_ietf_35[]={113,118,197,137,101,183,74,86,197,43,49,81,187,138,20,156,244,248,33,88,213,124,130,63,58,144,198,180,39,145,34,38,};
-static uint8_t aead_ietf_36[]={255,96,77,154,190,225,251,140,141,53,83,10,12,213,128,142,83,227,8,172,88,15,115,24,};
-static uint8_t aead_ietf_38[]={100,119,251,176,92,124,53,};
-static uint8_t aead_ietf_39[]={120,181,99,243,205,211,1,127,45,47,138,197,179,143,151,5,165,48,52,62,187,59,235,};
-static uint8_t aead_ietf_40[]={84,56,148,0,107,115,243,215,15,192,75,21,208,194,165,223,166,80,190,80,68,251,80,97,129,27,134,107,231,249,214,35,};
-static uint8_t aead_ietf_41[]={252,176,119,238,25,66,22,16,174,178,99,197,127,174,240,6,98,212,36,192,122,122,165,0,};
-static uint8_t aead_ietf_43[]={171,41,17,180,32,116,65,78,};
-static uint8_t aead_ietf_44[]={196,170,173,6,251,205,103,114,0,83,45,47,125,160,248,237,238,79,194,161,94,188,4,200,};
-static uint8_t aead_ietf_45[]={98,211,214,7,214,191,99,198,118,11,128,36,131,176,227,170,169,221,79,121,198,197,233,62,107,81,218,69,1,140,107,222,};
-static uint8_t aead_ietf_46[]={16,143,129,249,171,250,35,100,11,131,207,227,254,211,75,207,102,64,191,11,175,100,125,175,};
-static uint8_t aead_ietf_48[]={55,134,172,164,198,183,226,36,22,};
-static uint8_t aead_ietf_49[]={25,161,48,202,46,134,136,147,233,124,237,248,252,41,50,119,152,247,217,57,90,131,40,77,223,};
-static uint8_t aead_ietf_50[]={194,248,178,82,161,138,41,196,77,191,187,98,203,230,195,223,212,219,85,55,135,52,216,17,11,143,32,241,209,173,166,221,};
-static uint8_t aead_ietf_51[]={212,218,72,251,9,192,101,128,235,70,187,197,202,98,191,171,64,177,132,39,27,115,183,16,};
-static uint8_t aead_ietf_53[]={17,221,30,135,111,82,125,129,236,129,};
-static uint8_t aead_ietf_54[]={116,129,222,139,140,224,240,55,182,3,225,95,63,34,22,116,41,178,63,153,161,126,197,142,93,67,};
-static uint8_t aead_ietf_55[]={130,0,50,224,49,148,159,30,151,232,173,94,181,167,92,200,5,144,8,80,150,157,228,142,116,38,120,115,214,94,13,103,};
-static uint8_t aead_ietf_56[]={72,45,28,111,154,34,69,11,255,2,129,75,134,38,168,149,52,73,92,59,195,200,137,122,};
-static uint8_t aead_ietf_58[]={1,238,53,177,10,193,239,160,104,85,239,};
-static uint8_t aead_ietf_59[]={32,35,23,145,204,106,206,173,182,127,16,69,183,187,128,46,20,107,192,92,102,241,232,224,190,31,22,};
-static uint8_t aead_ietf_60[]={152,73,252,174,129,97,53,248,255,124,131,21,106,54,174,189,216,177,27,103,158,19,37,101,152,144,135,13,166,91,212,199,};
-static uint8_t aead_ietf_61[]={144,206,183,53,28,223,41,219,218,62,104,194,214,76,4,199,218,115,64,253,98,46,107,225,};
-static uint8_t aead_ietf_63[]={42,169,46,91,214,81,88,23,219,125,21,175,};
-static uint8_t aead_ietf_64[]={254,147,40,72,62,233,147,141,85,81,67,31,147,52,37,134,89,10,49,211,56,200,125,96,135,134,204,100,};
-static uint8_t aead_ietf_65[]={177,24,120,78,101,161,241,209,150,74,249,162,79,83,227,188,254,119,146,65,89,30,44,56,91,227,181,121,120,12,92,192,};
-static uint8_t aead_ietf_66[]={196,144,188,46,217,240,110,18,156,82,213,125,160,32,56,154,48,19,74,64,221,191,19,231,};
-static uint8_t aead_ietf_68[]={153,242,237,26,29,6,17,222,87,44,14,134,35,};
-static uint8_t aead_ietf_69[]={188,162,54,147,173,76,53,17,175,213,245,206,98,243,3,253,182,45,68,27,88,10,73,232,16,39,254,209,133,};
-static uint8_t aead_ietf_70[]={149,155,47,55,54,204,197,146,75,211,109,214,59,234,229,17,247,53,212,229,118,62,133,88,91,174,146,14,76,113,160,68,};
-static uint8_t aead_ietf_71[]={184,82,103,70,221,188,226,123,83,255,253,78,247,128,219,75,249,184,229,117,100,128,125,248,};
-static uint8_t aead_ietf_73[]={30,241,35,104,190,224,219,95,186,123,121,185,95,181,};
-static uint8_t aead_ietf_74[]={166,163,48,63,233,38,163,45,236,23,111,126,251,179,248,95,187,56,128,62,86,22,155,4,181,11,189,145,106,119,};
-static uint8_t aead_ietf_75[]={239,215,252,218,179,20,90,164,189,120,6,212,139,212,73,135,102,207,223,162,213,3,25,70,118,36,130,227,173,27,84,255,};
-static uint8_t aead_ietf_76[]={220,69,98,182,227,110,201,120,204,191,35,42,46,202,61,53,251,86,109,183,238,107,143,255,};
-static uint8_t aead_ietf_78[]={35,202,137,30,90,240,124,62,92,71,161,104,231,154,244,};
-static uint8_t aead_ietf_79[]={114,239,9,196,27,48,78,46,180,25,159,168,193,205,248,59,88,129,244,230,165,29,238,54,164,148,85,36,141,206,8,};
-static uint8_t aead_ietf_80[]={92,159,195,75,243,183,99,49,48,181,52,29,192,86,4,6,208,244,171,81,16,168,171,20,23,228,18,125,69,145,87,181,};
-static uint8_t aead_ietf_81[]={139,32,37,110,223,144,29,90,139,192,247,31,104,152,166,177,208,129,142,219,47,86,29,50,};
-static uint8_t aead_ietf_83[]={24,96,247,230,240,8,143,204,152,33,19,35,237,109,30,15,};
-static uint8_t aead_ietf_84[]={53,88,184,93,15,217,130,40,106,138,178,89,204,128,55,69,40,160,185,75,122,91,126,62,85,220,248,249,151,208,168,181,};
-static uint8_t aead_ietf_85[]={14,63,160,187,225,177,244,191,46,199,152,195,32,156,108,222,50,43,91,8,167,53,68,224,120,40,106,142,91,113,119,1,};
-static uint8_t aead_ietf_86[]={155,114,220,190,152,210,161,40,11,250,255,190,251,174,52,130,239,92,20,244,49,247,127,62,};
-static uint8_t aead_ietf_88[]={214,13,132,69,163,224,22,113,156,225,1,210,67,173,33,121,76,};
-static uint8_t aead_ietf_89[]={211,145,184,93,12,121,29,124,201,65,67,3,203,11,69,11,182,132,221,248,194,249,85,100,47,150,22,224,44,94,50,196,159,};
-static uint8_t aead_ietf_90[]={6,86,248,174,231,234,230,185,7,208,145,117,173,19,203,134,210,232,248,238,145,186,234,121,46,127,27,95,52,223,29,206,};
-static uint8_t aead_ietf_91[]={72,220,193,79,185,165,156,63,219,222,76,123,94,19,115,45,12,80,213,67,46,141,4,51,};
-static uint8_t aead_ietf_93[]={176,227,186,11,79,241,228,204,160,211,195,21,97,103,35,235,175,216,};
-static uint8_t aead_ietf_94[]={163,79,84,228,148,37,55,170,222,89,127,106,10,193,137,168,56,16,162,242,134,142,246,82,98,62,46,217,56,182,177,154,253,27,};
-static uint8_t aead_ietf_95[]={233,19,129,154,250,26,214,213,242,70,166,249,205,38,46,117,50,129,41,245,179,119,207,239,169,99,205,18,129,188,198,234,};
-static uint8_t aead_ietf_96[]={166,163,112,139,111,213,239,72,23,100,152,8,70,142,236,179,126,73,99,175,110,11,241,127,};
-static uint8_t aead_ietf_98[]={253,179,146,8,190,250,233,53,245,47,10,64,125,194,212,4,19,75,149,};
-static uint8_t aead_ietf_99[]={98,30,248,12,92,7,151,97,206,146,81,47,187,196,239,157,81,192,17,55,123,116,113,199,7,215,56,59,213,147,28,39,40,142,174,};
-static uint8_t aead_ietf_100[]={109,12,136,6,184,185,138,180,245,223,235,201,7,176,12,183,222,238,110,21,12,160,112,49,5,144,209,238,74,240,158,190,};
-static uint8_t aead_ietf_101[]={189,13,238,179,17,145,185,105,189,249,136,197,108,99,50,74,142,93,245,28,202,98,187,156,};
-static uint8_t aead_ietf_103[]={187,34,231,113,226,114,200,18,83,201,4,22,188,52,133,62,246,120,104,116,};
-static uint8_t aead_ietf_104[]={7,69,174,2,89,113,41,213,25,180,166,45,3,191,1,205,43,112,164,135,228,74,157,227,211,215,4,112,181,165,167,2,196,132,52,154,};
-static uint8_t aead_ietf_105[]={117,82,95,188,56,213,162,100,221,213,147,228,100,120,179,189,120,178,78,37,15,97,22,5,138,11,241,72,128,189,228,223,};
-static uint8_t aead_ietf_106[]={158,23,11,193,89,8,85,235,103,0,107,165,34,40,160,11,181,175,135,244,123,86,227,221,};
-static uint8_t aead_ietf_108[]={40,63,110,71,170,58,181,73,250,196,48,12,33,72,114,91,87,21,11,129,212,};
-static uint8_t aead_ietf_109[]={83,52,85,223,11,147,199,60,158,62,250,170,153,253,189,111,143,227,88,1,228,187,195,213,173,85,96,53,226,190,16,21,56,26,190,54,44,};
-static uint8_t aead_ietf_110[]={86,54,96,127,220,143,107,148,119,51,133,181,69,138,218,215,65,165,240,3,232,55,183,248,171,145,51,47,108,35,131,94,};
-static uint8_t aead_ietf_111[]={223,224,164,209,165,179,188,224,74,178,13,231,156,186,213,48,221,17,150,84,55,94,12,27,};
-static uint8_t aead_ietf_113[]={22,189,146,93,50,67,127,6,228,25,155,87,96,124,8,90,133,125,52,189,23,9,};
-static uint8_t aead_ietf_114[]={116,145,244,80,9,204,173,193,139,4,12,12,197,144,16,183,219,107,54,60,6,215,201,11,46,50,147,23,163,158,66,68,23,251,245,85,229,110,};
-static uint8_t aead_ietf_115[]={147,11,240,136,74,238,11,205,162,226,14,18,201,218,226,140,94,146,226,56,108,100,101,115,127,208,229,29,178,193,73,65,};
-static uint8_t aead_ietf_116[]={182,71,94,216,164,220,3,111,241,180,105,11,220,108,1,177,49,116,98,139,77,204,255,60,};
-static uint8_t aead_ietf_118[]={19,22,216,86,203,48,42,42,10,233,170,119,174,227,146,193,214,178,63,4,65,62,143,};
-static uint8_t aead_ietf_119[]={107,117,40,227,50,211,11,10,89,128,127,249,196,135,41,11,20,5,222,225,211,53,230,223,36,147,118,113,184,116,38,174,34,68,196,129,106,20,155,};
-static uint8_t aead_ietf_120[]={65,109,196,82,79,108,153,81,166,237,21,248,221,195,83,246,198,44,215,76,72,102,118,183,106,224,222,198,100,161,28,162,};
-static uint8_t aead_ietf_121[]={213,88,211,54,166,190,55,53,2,169,80,192,17,249,86,17,80,61,189,202,86,196,12,244,};
-static uint8_t aead_ietf_123[]={86,69,224,252,108,57,48,66,44,236,118,68,177,186,85,150,73,158,109,128,211,254,206,203,};
-static uint8_t aead_ietf_124[]={104,104,224,33,217,145,1,64,207,140,46,45,80,56,244,246,120,200,232,189,106,78,236,205,157,52,15,57,20,177,237,17,141,98,231,180,248,44,118,198,};
-static uint8_t aead_ietf_125[]={238,233,130,176,249,8,146,136,207,123,69,112,172,50,11,52,79,79,112,243,31,83,12,35,18,219,91,114,65,101,29,54,};
-static uint8_t aead_ietf_126[]={26,145,247,152,109,179,146,42,171,205,102,11,136,209,76,28,22,1,73,35,33,55,149,33,};
-static uint8_t aead_ietf_128[]={208,157,96,81,120,44,53,200,83,122,89,120,24,181,168,48,3,102,225,22,116,96,156,118,172,};
-static uint8_t aead_ietf_129[]={133,212,74,228,16,6,243,51,8,68,90,26,3,147,173,213,33,113,228,153,108,64,248,168,98,243,34,211,16,119,62,186,188,186,69,224,231,187,239,27,174,};
-static uint8_t aead_ietf_130[]={173,178,120,152,184,245,134,152,162,178,37,69,177,131,214,137,179,162,57,245,50,227,50,166,249,157,101,74,10,157,132,207,};
-static uint8_t aead_ietf_131[]={146,153,176,124,197,104,213,100,6,39,17,176,200,67,87,152,137,15,232,120,67,247,243,66,};
-static uint8_t aead_ietf_133[]={110,45,245,139,216,138,137,118,184,133,216,86,94,220,204,122,3,154,93,216,232,88,233,156,147,128,};
-static uint8_t aead_ietf_134[]={140,87,85,214,210,215,184,110,239,254,150,233,142,105,250,247,245,78,135,39,142,35,97,205,80,178,18,3,80,202,82,74,151,188,182,212,250,189,111,164,126,75,};
-static uint8_t aead_ietf_135[]={30,111,136,253,104,125,95,232,182,75,51,249,47,227,52,52,88,46,226,63,46,176,58,70,235,208,229,42,15,37,102,35,};
-static uint8_t aead_ietf_136[]={217,107,47,200,108,89,196,130,205,39,187,33,247,179,49,38,255,100,84,186,104,115,203,184,};
-static uint8_t aead_ietf_138[]={108,139,127,126,64,161,126,184,127,24,116,183,197,2,37,216,84,74,1,204,44,240,237,140,48,195,220,};
-static uint8_t aead_ietf_139[]={203,128,194,64,100,7,44,179,19,236,240,116,228,239,49,164,245,62,116,93,234,191,77,176,175,139,204,219,242,161,196,80,130,132,93,193,184,15,213,158,56,14,114,};
-static uint8_t aead_ietf_140[]={245,131,108,248,156,147,67,215,14,172,213,83,140,28,52,26,16,40,211,153,197,200,204,29,50,125,47,41,244,134,108,24,};
-static uint8_t aead_ietf_141[]={60,147,243,0,4,104,49,249,231,28,191,214,8,124,143,38,166,79,193,63,158,147,171,28,};
-static uint8_t aead_ietf_143[]={239,195,253,155,71,86,21,175,148,99,104,13,220,12,160,209,245,168,24,75,228,81,111,183,229,144,249,76,};
-static uint8_t aead_ietf_144[]={122,7,188,106,145,93,24,221,198,99,73,98,98,215,184,56,39,181,161,91,96,207,72,84,69,37,132,95,182,7,132,38,127,216,43,8,8,123,48,122,155,85,172,70,};
-static uint8_t aead_ietf_145[]={12,224,249,203,11,222,195,215,68,180,255,55,66,235,2,87,55,78,132,131,236,151,31,117,157,204,45,167,239,109,12,222,};
-static uint8_t aead_ietf_146[]={50,134,199,67,92,12,178,207,134,14,187,149,162,229,204,156,132,181,109,38,138,44,151,40,};
-static uint8_t aead_ietf_148[]={232,190,207,183,47,149,97,202,148,114,23,50,106,18,235,37,115,119,19,229,111,229,11,23,242,221,118,125,85,};
-static uint8_t aead_ietf_149[]={230,175,124,238,99,217,42,116,94,226,102,164,34,2,207,165,40,103,81,173,111,166,100,83,247,126,185,203,240,34,14,196,100,47,94,30,120,243,149,66,8,129,90,17,9,};
-static uint8_t aead_ietf_150[]={148,203,35,102,156,254,150,77,8,127,51,244,54,109,75,221,114,25,7,248,40,243,131,193,27,182,217,86,214,77,180,168,};
-static uint8_t aead_ietf_151[]={234,173,33,172,32,210,195,31,197,47,8,215,86,190,68,107,153,148,110,172,109,114,29,27,};
-static uint8_t aead_ietf_153[]={126,170,64,246,135,130,168,109,248,181,60,180,224,133,242,169,190,40,78,223,49,98,235,22,131,56,80,127,113,194,};
-static uint8_t aead_ietf_154[]={1,11,142,232,143,200,133,186,14,208,218,190,103,103,99,12,46,67,25,48,248,142,232,203,61,4,115,71,227,140,255,143,200,4,95,235,95,131,72,110,43,239,98,183,106,30,};
-static uint8_t aead_ietf_155[]={188,112,176,26,7,117,82,107,79,36,162,254,161,151,227,82,94,146,190,43,53,121,239,201,58,1,38,99,236,154,129,15,};
-static uint8_t aead_ietf_156[]={184,137,204,152,121,89,133,26,36,184,16,28,176,79,145,96,255,138,144,121,89,187,216,159,};
-static uint8_t aead_ietf_158[]={222,104,154,151,16,53,122,2,16,15,115,66,106,69,117,12,191,184,166,147,250,248,142,235,123,173,131,58,75,56,1,};
-static uint8_t aead_ietf_159[]={151,8,58,125,230,241,151,139,47,51,27,184,26,203,187,222,250,52,87,234,205,113,32,236,147,65,31,99,219,133,62,210,175,27,196,68,246,214,189,54,115,120,235,198,218,217,26,};
-static uint8_t aead_ietf_160[]={246,6,172,123,5,155,166,22,236,30,149,34,39,243,28,240,168,61,203,102,97,60,1,44,222,162,163,119,105,97,240,239,};
-static uint8_t aead_ietf_161[]={211,152,113,32,81,183,231,184,80,14,203,208,48,210,198,160,1,43,142,174,234,187,204,13,};
-static uint8_t aead_ietf_163[]={52,37,129,206,114,121,193,24,187,139,13,73,107,97,12,45,81,150,125,18,130,28,248,109,121,107,124,215,173,44,189,92,};
-static uint8_t aead_ietf_164[]={242,120,232,148,145,153,197,82,124,218,111,106,187,72,79,253,10,147,75,141,178,171,62,72,117,162,92,158,58,26,200,203,183,82,242,35,23,184,213,23,42,153,121,172,25,116,235,214,};
-static uint8_t aead_ietf_165[]={63,81,40,90,186,13,189,58,253,174,2,49,196,161,252,20,178,27,162,241,194,117,72,212,194,89,84,78,128,185,70,150,};
-static uint8_t aead_ietf_166[]={218,131,138,214,24,107,46,162,159,75,161,91,85,155,102,193,2,49,99,162,203,188,12,249,};
-static uint8_t aead_ietf_168[]={44,86,74,35,18,226,69,211,170,66,108,191,165,13,160,1,209,132,15,22,229,188,110,126,32,239,242,57,250,167,13,68,131,};
-static uint8_t aead_ietf_169[]={176,148,199,251,163,54,88,250,190,149,151,233,183,168,160,23,140,111,9,150,112,118,103,127,38,118,65,137,199,217,206,45,100,200,125,14,230,232,91,7,84,128,187,69,42,159,179,47,54,};
-static uint8_t aead_ietf_170[]={239,98,43,55,88,22,73,183,14,69,35,206,130,41,209,60,220,111,103,219,205,91,188,19,44,106,75,71,241,242,121,110,};
-static uint8_t aead_ietf_171[]={80,94,5,80,156,191,87,83,148,155,180,136,227,249,156,1,76,228,255,228,88,94,157,63,};
-static uint8_t aead_ietf_173[]={98,78,1,225,95,97,106,52,54,202,168,129,60,134,58,19,235,133,224,106,151,63,149,32,75,38,92,159,118,73,100,7,189,209,};
-static uint8_t aead_ietf_174[]={121,137,245,3,31,181,232,11,246,60,149,147,97,8,74,226,87,229,149,21,201,13,172,123,146,91,67,75,155,160,178,6,8,191,97,190,243,62,92,64,3,243,84,47,143,18,54,128,36,152,};
-static uint8_t aead_ietf_175[]={214,168,193,212,126,136,119,164,171,252,239,131,205,255,77,170,116,132,83,132,216,189,202,192,80,189,220,75,250,124,220,24,};
-static uint8_t aead_ietf_176[]={93,59,37,40,85,153,54,81,11,254,129,74,225,98,234,221,246,9,153,47,103,150,101,74,};
-static uint8_t aead_ietf_178[]={54,107,32,67,145,86,114,141,119,83,197,152,16,101,8,135,139,191,68,103,217,199,129,46,166,134,104,53,128,54,90,80,18,166,8,};
-static uint8_t aead_ietf_179[]={187,176,187,16,74,242,203,84,214,100,91,6,177,115,233,159,166,55,10,135,252,127,205,69,227,147,15,126,79,23,218,224,148,27,15,166,149,169,97,161,83,103,72,161,156,165,136,190,102,109,105,};
-static uint8_t aead_ietf_180[]={161,47,7,193,33,127,6,171,217,83,86,119,53,138,138,28,253,139,100,140,170,0,95,16,131,112,76,227,248,181,155,65,};
-static uint8_t aead_ietf_181[]={203,2,227,191,86,124,81,231,208,112,61,99,61,43,224,255,97,49,82,215,100,18,245,91,};
-static uint8_t aead_ietf_183[]={54,171,44,5,155,79,142,130,14,166,126,147,227,220,131,98,179,90,241,180,209,105,138,160,18,91,200,40,46,105,14,62,94,156,155,250,};
-static uint8_t aead_ietf_184[]={193,45,126,232,198,19,8,85,15,166,49,252,20,122,57,0,23,209,186,152,53,114,75,73,179,41,179,152,184,209,253,109,21,229,72,66,128,219,51,186,7,236,135,234,235,20,49,131,83,159,19,217,};
-static uint8_t aead_ietf_185[]={239,117,241,20,10,121,202,8,76,117,162,170,188,170,139,88,253,132,64,4,126,129,248,45,15,7,166,130,195,4,177,143,};
-static uint8_t aead_ietf_186[]={171,123,159,23,108,97,64,247,47,57,111,89,207,135,112,222,239,89,154,209,78,64,136,14,};
-static uint8_t aead_ietf_188[]={253,42,81,100,177,21,110,130,76,49,79,54,153,38,143,159,199,131,81,249,0,8,1,36,35,87,174,196,111,155,102,80,65,117,203,220,228,};
-static uint8_t aead_ietf_189[]={177,133,239,141,79,234,114,72,15,157,20,49,4,246,185,6,221,220,177,169,164,76,130,185,57,235,183,237,162,118,136,23,115,159,29,36,80,44,98,159,7,199,148,251,130,216,206,234,154,6,127,174,239,};
-static uint8_t aead_ietf_190[]={191,236,136,241,114,81,253,83,229,233,47,20,94,254,35,203,31,52,197,168,41,48,25,20,35,132,74,38,132,188,152,156,};
-static uint8_t aead_ietf_191[]={204,192,80,246,127,110,106,71,167,57,232,66,220,36,66,160,239,79,112,66,238,202,141,157,};
-static uint8_t aead_ietf_193[]={230,103,80,96,169,25,129,79,80,205,213,62,62,222,106,147,38,71,141,249,227,204,59,106,26,87,157,224,146,18,199,50,4,213,86,17,23,234,};
-static uint8_t aead_ietf_194[]={80,211,203,204,207,189,83,231,147,39,8,202,4,126,108,81,157,65,180,78,3,249,133,248,236,182,14,21,115,70,18,231,1,225,51,137,194,232,234,120,34,61,7,31,127,187,87,206,182,84,115,191,41,132,};
-static uint8_t aead_ietf_195[]={217,174,223,120,172,241,118,191,245,119,251,140,219,204,146,238,124,186,52,227,79,188,43,29,169,17,160,100,129,83,3,153,};
-static uint8_t aead_ietf_196[]={254,157,40,238,118,49,89,71,114,50,241,159,75,227,228,143,148,196,164,71,38,1,97,210,};
-static uint8_t aead_ietf_198[]={164,70,45,79,12,85,9,3,255,69,244,115,135,110,176,198,46,182,67,196,195,125,213,15,145,171,74,66,55,226,116,131,87,91,71,205,104,250,123,};
-static uint8_t aead_ietf_199[]={1,61,218,214,221,70,224,182,7,4,71,38,147,188,10,150,169,41,151,138,15,146,218,208,94,124,183,157,246,216,70,143,112,77,209,97,163,198,191,43,145,248,229,143,168,14,119,122,93,144,106,96,162,1,42,};
-static uint8_t aead_ietf_200[]={36,46,22,48,22,213,94,4,215,140,21,69,4,195,36,193,223,157,179,143,49,52,24,163,140,68,65,178,8,48,59,38,};
-static uint8_t aead_ietf_201[]={68,73,25,42,204,228,182,160,115,74,224,221,209,185,209,33,233,89,233,104,234,121,25,83,};
-static uint8_t aead_ietf_203[]={110,25,176,69,245,65,195,68,84,38,182,244,14,8,102,181,53,106,76,123,173,226,214,34,50,93,133,181,78,182,213,118,97,31,130,137,62,55,103,130,};
-static uint8_t aead_ietf_204[]={174,110,167,156,190,253,38,152,189,59,61,236,126,14,10,3,99,239,93,78,90,207,234,148,244,203,205,123,146,225,216,252,134,163,193,25,152,11,190,227,176,36,2,135,192,3,81,83,210,186,20,74,213,246,233,59,};
-static uint8_t aead_ietf_205[]={186,93,48,230,239,15,160,5,33,173,219,20,7,29,95,220,56,21,219,191,253,82,121,155,102,53,15,127,141,97,208,245,};
-static uint8_t aead_ietf_206[]={27,224,48,93,192,90,39,202,148,143,134,35,90,53,185,248,207,74,1,182,75,166,246,136,};
-static uint8_t aead_ietf_208[]={171,53,168,48,216,1,85,137,16,114,217,146,46,244,219,83,227,125,17,206,149,74,242,69,227,171,210,113,166,129,66,101,51,189,188,141,26,82,173,69,17,};
-static uint8_t aead_ietf_209[]={38,103,233,74,24,135,216,6,46,3,179,239,7,233,116,57,254,175,174,8,158,170,177,152,76,155,146,228,78,209,13,75,57,249,100,153,198,255,95,5,100,239,87,1,48,175,116,114,244,234,15,75,248,11,181,122,209,};
-static uint8_t aead_ietf_210[]={124,56,93,228,99,115,60,148,1,4,127,238,127,16,69,185,179,239,53,164,174,20,52,255,100,250,64,164,199,127,224,90,};
-static uint8_t aead_ietf_211[]={15,46,168,243,161,87,36,23,225,196,178,245,220,186,214,47,178,240,218,249,116,255,192,235,};
-static uint8_t aead_ietf_213[]={53,25,54,31,146,174,3,56,205,245,74,112,67,115,82,109,142,84,41,196,69,83,10,13,72,170,39,72,145,36,110,44,233,9,231,174,224,109,65,145,186,80,};
-static uint8_t aead_ietf_214[]={250,74,56,149,82,95,22,247,61,89,127,16,140,106,1,192,207,248,174,71,119,181,250,106,184,232,9,1,15,108,74,113,26,18,133,200,148,7,215,22,215,233,86,241,157,185,21,71,175,164,103,91,54,235,128,127,164,31,};
-static uint8_t aead_ietf_215[]={52,149,151,201,29,197,51,141,22,147,79,135,35,186,26,50,100,146,148,178,70,58,46,174,236,242,36,38,61,30,148,11,};
-static uint8_t aead_ietf_216[]={7,7,15,66,220,207,121,120,151,255,107,234,220,43,141,238,212,11,144,192,72,126,176,96,};
-static uint8_t aead_ietf_218[]={5,89,128,243,189,15,192,115,98,195,69,13,55,36,198,28,83,161,149,40,71,158,172,198,150,20,34,174,236,197,144,166,44,52,0,64,12,11,73,150,217,205,16,};
-static uint8_t aead_ietf_219[]={60,152,203,112,136,88,205,190,85,116,30,48,34,63,11,76,185,47,107,228,73,65,141,248,61,200,137,14,87,85,175,148,174,0,10,80,234,235,209,100,137,29,119,80,169,8,117,230,164,170,201,217,194,78,84,112,36,200,148,};
-static uint8_t aead_ietf_220[]={46,238,244,206,225,233,100,1,109,75,146,100,118,216,189,71,234,176,188,153,176,137,68,47,166,91,253,167,140,188,192,34,};
-static uint8_t aead_ietf_221[]={91,219,37,171,175,66,174,27,183,164,82,32,250,13,107,16,145,232,91,137,209,105,127,179,};
-static uint8_t aead_ietf_223[]={238,23,17,58,185,166,112,6,211,188,199,167,188,35,102,155,90,146,156,235,6,196,165,127,18,172,255,93,88,145,72,226,212,203,245,175,193,204,150,252,181,46,211,50,};
-static uint8_t aead_ietf_224[]={79,45,130,16,94,218,119,181,164,109,51,28,29,175,4,3,182,14,72,2,248,110,139,137,108,206,115,52,104,161,180,113,244,90,2,163,217,200,61,62,113,113,24,39,120,57,133,195,96,7,100,80,103,112,221,172,154,8,212,113,};
-static uint8_t aead_ietf_225[]={135,177,108,208,181,100,94,16,71,242,106,38,10,136,80,177,227,109,105,239,206,127,91,71,239,211,213,227,194,113,121,111,};
-static uint8_t aead_ietf_226[]={118,210,14,255,235,216,36,4,171,177,233,76,205,149,61,159,134,185,163,248,107,3,185,219,};
-static uint8_t aead_ietf_228[]={34,223,51,193,247,1,234,143,221,129,66,164,132,15,165,173,64,48,189,57,143,150,25,124,193,127,172,77,62,23,58,66,27,188,206,176,88,30,111,238,210,53,189,246,85,};
-static uint8_t aead_ietf_229[]={80,19,141,82,27,32,55,116,230,28,215,179,209,231,200,238,159,11,105,108,219,121,59,21,164,228,13,167,109,152,122,72,231,68,124,206,30,59,207,255,148,217,23,50,170,232,255,34,2,49,244,133,59,58,201,195,194,206,124,143,198,};
-static uint8_t aead_ietf_230[]={196,224,251,96,84,59,227,99,175,160,192,5,75,107,111,229,115,209,223,205,236,153,175,107,191,198,146,218,162,234,182,250,};
-static uint8_t aead_ietf_231[]={6,7,116,98,99,119,166,125,254,250,95,148,153,210,243,243,244,21,120,176,215,38,145,224,};
-static uint8_t aead_ietf_233[]={46,118,154,185,142,2,144,96,20,104,165,211,102,225,240,232,59,48,161,104,169,145,57,241,120,104,159,22,173,227,185,219,174,34,141,211,24,230,176,244,42,64,150,247,170,10,};
-static uint8_t aead_ietf_234[]={195,90,124,99,212,255,175,102,36,55,217,30,71,30,205,114,151,214,248,236,190,38,3,77,36,229,19,65,53,211,13,203,118,101,236,143,48,148,195,151,246,92,17,55,214,88,74,149,170,3,120,44,81,38,208,161,1,55,113,154,97,57,};
-static uint8_t aead_ietf_235[]={108,174,81,207,163,37,119,129,161,145,162,31,196,117,89,219,224,21,92,175,160,16,34,61,20,138,226,177,91,13,180,238,};
-static uint8_t aead_ietf_236[]={116,125,237,151,114,36,202,123,106,22,204,249,47,91,16,64,138,181,28,105,47,165,2,72,};
-static uint8_t aead_ietf_238[]={38,66,219,25,199,56,157,149,83,53,58,75,1,159,241,9,4,233,194,153,173,24,227,202,148,111,11,48,61,118,93,135,142,148,107,42,243,11,54,248,255,201,142,34,116,175,240,};
-static uint8_t aead_ietf_239[]={209,111,252,95,160,117,174,238,102,234,141,119,189,213,187,30,171,72,14,49,244,184,139,237,248,202,220,126,249,123,146,73,209,4,238,83,168,152,50,121,135,191,224,124,139,45,148,80,248,164,142,66,172,161,95,174,159,176,118,243,58,28,11,};
-static uint8_t aead_ietf_240[]={223,24,15,27,190,125,248,40,24,126,44,102,240,132,17,175,93,187,198,100,171,164,94,107,54,16,206,215,95,208,240,151,};
-static uint8_t aead_ietf_241[]={72,58,229,245,199,211,81,108,20,75,141,7,135,161,151,211,127,108,5,68,12,176,220,61,};
-static uint8_t aead_ietf_243[]={239,48,217,152,132,44,78,98,127,241,241,153,46,201,93,37,62,141,44,250,71,177,135,188,150,138,143,17,107,40,159,120,232,92,142,197,35,185,131,103,242,94,221,215,161,164,195,133,};
-static uint8_t aead_ietf_244[]={202,12,108,165,3,30,82,105,130,184,214,132,46,52,213,107,10,114,206,240,198,228,140,118,118,29,201,229,255,230,62,72,199,9,86,29,112,159,249,152,203,187,127,225,218,159,33,22,90,160,200,200,76,193,13,210,113,13,6,186,185,215,193,158,};
-static uint8_t aead_ietf_245[]={226,77,88,86,63,140,162,82,158,17,235,36,255,229,76,119,97,125,79,130,228,227,165,148,161,209,130,198,117,79,34,72,};
-static uint8_t aead_ietf_246[]={251,163,138,136,141,64,130,65,126,78,100,228,87,197,188,68,72,236,250,54,152,77,199,254,};
-static uint8_t aead_ietf_248[]={47,195,94,75,111,185,61,244,52,14,63,96,49,44,187,91,204,112,81,189,0,44,49,109,251,215,29,25,205,20,128,117,79,226,109,112,150,4,152,51,17,165,57,140,80,112,243,236,252,};
-static uint8_t aead_ietf_249[]={7,93,203,32,124,252,203,23,228,197,153,159,186,124,95,72,177,236,139,111,56,251,108,128,69,60,48,168,123,138,130,120,175,77,61,92,70,254,123,207,3,228,81,223,7,75,57,70,59,3,78,154,206,185,101,50,173,24,221,17,240,143,44,135,110,};
-static uint8_t aead_ietf_250[]={144,151,28,9,232,178,235,208,128,253,249,85,24,52,117,55,91,222,41,177,38,212,173,145,156,221,34,120,164,211,37,224,};
-static uint8_t aead_ietf_251[]={179,79,59,73,120,237,30,215,102,215,85,63,124,50,150,129,200,237,19,98,47,28,159,235,};
-static uint8_t aead_ietf_253[]={4,129,249,220,53,43,39,248,73,236,38,35,201,199,139,173,149,197,226,200,172,215,47,94,159,80,253,172,132,173,183,239,106,253,89,234,47,91,33,62,8,115,7,113,43,24,4,133,122,241,};
-static uint8_t aead_ietf_254[]={1,117,202,135,4,49,210,77,75,249,170,57,114,11,103,61,0,247,237,228,237,38,132,15,193,117,241,37,55,158,176,59,6,124,217,63,204,234,224,185,110,87,22,94,76,132,229,114,52,201,135,108,57,209,198,128,243,209,174,169,128,84,235,4,167,40,};
-static uint8_t aead_ietf_255[]={176,73,145,185,123,131,58,154,253,120,177,30,247,94,96,226,4,255,214,142,224,76,22,137,143,181,252,237,116,164,74,145,};
-static uint8_t aead_ietf_256[]={152,73,82,137,127,139,113,36,94,9,128,78,186,187,39,208,64,58,24,185,75,51,203,162,};
-static uint8_t aead_ietf_258[]={248,65,216,36,86,55,165,136,169,80,133,245,35,172,214,106,150,118,139,107,92,89,208,2,225,250,10,194,82,65,254,218,188,244,76,178,51,34,83,215,227,189,238,250,209,63,220,71,151,65,141,};
-static uint8_t aead_ietf_259[]={104,111,168,40,137,241,144,208,43,145,204,201,73,4,250,95,131,112,187,118,145,4,134,18,118,23,3,131,236,138,80,48,143,122,231,210,123,188,202,192,184,90,177,77,71,20,151,60,24,161,69,217,155,66,92,5,226,7,134,176,2,188,204,12,179,103,220,};
-static uint8_t aead_ietf_260[]={134,86,242,69,251,47,6,132,16,125,219,57,74,157,206,212,49,165,164,16,234,33,59,218,216,183,27,107,130,34,87,13,};
-static uint8_t aead_ietf_261[]={222,69,246,227,128,187,180,117,235,239,227,217,118,76,179,108,136,132,60,32,49,127,214,248,};
-static uint8_t aead_ietf_263[]={166,153,121,206,58,208,245,131,209,184,202,9,26,100,100,41,243,64,94,70,146,82,105,144,188,189,165,74,177,159,81,164,162,189,27,181,39,153,4,141,195,83,116,190,4,98,38,79,157,114,253,139,};
-static uint8_t aead_ietf_264[]={114,58,50,9,208,49,184,29,41,185,246,30,20,144,142,93,148,184,186,221,126,22,45,105,57,243,146,107,232,87,249,44,173,60,38,0,125,36,66,2,164,52,76,95,92,130,105,67,143,63,47,30,10,93,58,47,250,134,227,38,31,114,76,30,220,210,231,1,};
-static uint8_t aead_ietf_265[]={92,14,120,6,33,128,73,165,238,53,186,217,39,70,84,41,39,19,11,93,220,225,17,14,56,193,246,182,233,17,101,187,};
-static uint8_t aead_ietf_266[]={9,51,234,20,247,153,203,97,158,188,248,134,0,151,32,224,62,156,39,56,53,92,240,82,};
-static uint8_t aead_ietf_268[]={170,99,172,96,202,104,100,160,64,47,40,203,196,10,149,123,146,5,117,141,186,38,105,244,81,201,121,208,1,125,89,40,89,48,240,222,21,216,84,97,85,194,73,126,34,25,175,90,20,120,175,248,14,};
-static uint8_t aead_ietf_269[]={64,74,89,194,161,171,33,137,164,147,39,147,99,0,222,110,241,160,103,19,65,34,128,180,231,211,254,47,164,114,217,224,10,79,123,239,235,31,126,9,57,190,167,173,174,61,149,0,161,57,41,183,113,35,4,169,55,199,208,250,18,154,123,58,229,70,62,202,66,};
-static uint8_t aead_ietf_270[]={20,249,88,227,213,36,169,218,32,103,188,215,65,251,174,209,177,142,114,2,79,157,246,84,208,239,70,133,107,48,134,168,};
-static uint8_t aead_ietf_271[]={68,0,141,245,203,158,40,40,244,160,252,146,249,167,200,116,98,142,224,52,61,244,26,224,};
-static uint8_t aead_ietf_273[]={145,26,75,175,143,131,181,188,190,194,37,24,184,252,219,197,27,181,90,238,44,3,74,141,49,31,196,21,178,152,19,144,255,3,108,11,71,133,247,174,79,199,134,161,121,36,255,108,20,150,6,151,149,103,};
-static uint8_t aead_ietf_274[]={58,187,132,187,231,90,69,49,13,3,55,190,77,2,137,95,71,121,58,242,137,183,85,211,77,161,182,144,29,223,102,242,69,94,146,239,248,255,62,52,17,19,198,241,99,110,231,18,93,208,195,68,218,11,248,100,212,154,120,105,20,189,217,253,96,222,206,29,5,151,};
-static uint8_t aead_ietf_275[]={69,200,244,59,216,247,229,31,182,75,48,68,88,96,7,4,150,95,209,194,204,152,215,223,111,12,226,135,237,19,140,30,};
-static uint8_t aead_ietf_276[]={66,212,225,227,212,70,145,106,151,174,103,84,105,140,28,156,23,102,156,71,34,182,234,49,};
-static uint8_t aead_ietf_278[]={11,32,65,62,142,108,234,119,179,250,91,235,176,68,169,205,75,160,226,25,93,63,248,138,121,159,221,20,238,86,127,105,245,105,213,146,223,21,223,10,15,132,104,212,21,17,50,6,140,178,133,161,243,193,232,};
-static uint8_t aead_ietf_279[]={62,76,222,85,127,111,17,221,124,9,63,55,80,43,194,189,45,0,139,152,134,253,242,113,129,8,250,110,175,3,82,133,169,73,103,182,0,75,36,112,22,219,87,137,214,191,174,30,242,19,60,149,103,125,10,7,116,164,254,196,77,94,30,46,178,96,17,40,2,2,105,};
-static uint8_t aead_ietf_280[]={195,2,214,122,204,141,229,66,175,42,172,208,190,111,50,239,72,194,31,3,72,6,69,240,97,102,66,107,204,243,188,212,};
-static uint8_t aead_ietf_281[]={22,170,88,78,93,97,118,148,35,160,128,92,253,110,161,36,195,153,136,13,248,121,223,148,};
-static uint8_t aead_ietf_283[]={90,243,144,106,49,56,176,170,78,170,182,114,234,150,124,41,213,22,177,128,6,173,233,127,2,134,177,145,70,130,156,194,220,6,9,209,17,222,185,140,205,38,244,57,16,150,230,39,43,148,133,253,213,32,128,79,};
-static uint8_t aead_ietf_284[]={14,196,173,203,218,51,8,101,129,43,133,120,84,157,250,36,67,64,193,214,198,160,1,104,199,26,125,0,87,98,40,218,50,206,95,29,8,133,152,5,162,202,72,85,209,162,191,51,204,194,145,43,65,195,14,90,187,145,238,160,171,171,97,67,188,208,90,216,143,247,102,198,};
-static uint8_t aead_ietf_285[]={189,11,109,254,247,180,223,82,94,46,174,205,212,237,233,190,10,190,147,163,191,211,216,105,189,35,52,41,1,64,132,218,};
-static uint8_t aead_ietf_286[]={162,135,114,107,105,66,32,202,31,108,249,185,104,203,121,208,220,189,99,97,250,97,249,102,};
-static uint8_t aead_ietf_288[]={217,12,234,199,31,124,83,243,38,169,132,227,244,181,64,37,96,104,42,86,120,140,165,69,77,205,175,57,42,52,56,126,153,157,49,21,9,217,218,114,177,43,35,112,184,91,115,126,148,108,189,39,127,125,232,160,32,};
-static uint8_t aead_ietf_289[]={165,57,98,219,58,218,57,210,248,142,42,127,30,253,191,73,251,80,210,26,90,127,18,129,145,10,141,172,80,140,135,1,51,131,253,6,164,164,123,222,178,4,22,99,196,14,211,240,230,43,42,125,45,30,153,124,30,198,214,237,249,111,142,22,239,192,125,73,22,81,42,70,111,};
-static uint8_t aead_ietf_290[]={76,217,188,72,11,17,63,17,177,46,34,246,38,11,253,147,104,227,18,95,159,66,168,122,156,160,102,47,225,185,82,151,};
-static uint8_t aead_ietf_291[]={174,97,102,244,255,66,70,222,93,174,232,52,166,194,165,38,162,152,107,31,212,144,9,119,};
-static uint8_t aead_ietf_293[]={204,42,28,31,4,235,24,229,144,219,53,82,207,117,59,251,73,51,67,189,132,7,203,228,240,173,246,117,51,251,150,189,190,168,19,179,117,1,105,171,94,137,0,138,157,106,46,179,141,201,100,31,244,113,3,50,71,94,};
-static uint8_t aead_ietf_294[]={167,105,94,60,203,200,170,171,152,217,241,3,19,164,210,24,93,143,5,161,35,210,199,70,63,113,98,255,162,4,130,126,42,26,5,76,239,170,25,232,212,6,215,11,61,99,171,136,148,224,104,1,78,83,10,142,203,29,48,88,237,229,69,11,161,20,131,186,174,243,33,90,84,130,};
-static uint8_t aead_ietf_295[]={79,65,148,52,241,63,235,71,195,238,106,6,115,214,107,154,161,221,189,5,115,220,104,102,161,124,220,237,13,69,204,248,};
-static uint8_t aead_ietf_296[]={195,135,69,8,148,218,251,67,208,135,170,177,249,208,44,225,161,75,144,224,213,92,17,117,};
-static uint8_t aead_ietf_298[]={240,190,244,10,196,74,197,57,32,36,170,100,219,96,171,239,237,211,189,30,217,8,251,69,71,70,18,124,145,96,201,38,247,251,169,204,251,34,171,208,139,50,2,56,54,165,29,179,242,87,7,247,149,151,228,225,111,132,255,};
-static uint8_t aead_ietf_299[]={148,213,226,140,123,60,96,11,224,145,120,239,141,254,156,244,152,133,181,128,53,156,175,146,156,88,222,109,58,6,61,86,149,214,57,87,169,115,110,88,130,14,168,56,61,220,164,230,81,167,3,199,88,137,182,78,221,205,252,116,14,222,28,148,218,71,129,173,82,83,57,170,120,134,83,};
-static uint8_t aead_ietf_300[]={134,26,203,149,99,92,47,202,103,12,60,95,187,169,106,167,26,147,64,236,117,104,18,139,133,19,97,91,12,251,15,152,};
-static uint8_t aead_ietf_301[]={154,249,116,71,34,101,206,212,6,204,72,168,86,52,141,90,255,107,48,177,120,226,60,250,};
-static uint8_t aead_ietf_303[]={77,190,234,114,146,97,124,117,121,227,65,211,38,254,129,248,115,251,57,247,126,39,97,27,95,27,95,217,86,41,134,218,132,187,236,101,136,40,0,113,45,32,85,248,204,104,253,142,108,14,165,219,228,113,86,255,137,243,226,106,};
-static uint8_t aead_ietf_304[]={121,224,41,254,5,226,31,237,101,170,131,9,44,31,35,77,169,55,121,154,209,111,59,168,3,253,221,143,221,95,228,77,111,191,173,83,115,43,7,241,203,31,89,100,116,216,232,51,230,248,4,60,142,212,195,37,69,31,46,110,150,161,19,89,74,57,207,57,24,8,49,143,5,247,180,110,};
-static uint8_t aead_ietf_305[]={13,121,187,86,124,167,220,252,23,144,111,96,44,23,149,172,93,183,187,30,36,40,23,181,24,160,9,46,187,36,78,181,};
-static uint8_t aead_ietf_306[]={208,59,116,160,130,182,232,16,162,117,200,59,36,220,67,7,210,57,105,95,35,124,247,40,};
-static uint8_t aead_ietf_308[]={232,112,245,21,160,53,134,186,187,134,27,127,161,3,170,232,90,36,8,158,183,58,139,28,110,186,115,109,1,152,236,237,9,108,75,0,180,255,57,100,140,150,176,245,100,4,132,110,151,207,21,183,218,132,177,173,125,248,20,254,192,};
-static uint8_t aead_ietf_309[]={27,233,25,119,152,87,154,245,3,88,22,111,221,231,87,75,176,243,90,153,114,11,111,39,79,63,168,214,197,238,102,167,25,122,203,208,10,182,22,112,138,54,78,50,88,144,191,194,203,234,120,231,143,122,239,11,184,198,219,15,247,215,157,58,241,1,23,176,213,92,23,114,183,152,44,33,202,};
-static uint8_t aead_ietf_310[]={152,139,3,200,143,147,98,181,169,239,243,230,23,140,28,56,2,19,65,93,31,106,119,67,14,149,46,175,242,35,27,32,};
-static uint8_t aead_ietf_311[]={201,37,18,253,137,33,159,222,73,219,1,254,159,145,32,67,123,89,65,234,116,239,197,12,};
-static uint8_t aead_ietf_313[]={189,200,79,88,42,83,103,55,73,201,48,141,199,70,233,147,31,253,244,45,122,80,140,74,253,120,144,223,147,17,58,197,0,131,72,89,75,175,59,70,127,74,127,83,133,131,178,81,9,103,223,187,228,214,97,62,47,0,180,80,18,140,};
-static uint8_t aead_ietf_314[]={213,160,88,202,244,71,109,89,16,127,153,252,230,205,192,70,179,19,92,86,147,126,107,71,16,13,3,197,117,102,98,142,85,2,61,214,154,245,152,47,56,182,181,94,187,193,248,86,183,163,101,182,63,166,215,118,215,69,164,41,27,245,43,50,24,245,232,26,28,22,73,120,32,31,63,255,240,128,};
-static uint8_t aead_ietf_315[]={96,181,164,207,170,95,60,83,126,68,84,56,210,169,224,172,81,233,0,225,22,128,17,231,185,50,13,85,205,218,175,56,};
-static uint8_t aead_ietf_316[]={11,114,36,7,68,130,104,189,242,174,44,133,123,16,153,113,127,139,151,22,112,173,184,144,};
-static uint8_t aead_ietf_318[]={162,126,79,176,14,188,241,67,238,163,128,143,46,79,179,14,97,182,17,117,208,139,109,52,19,147,161,176,243,39,14,208,52,179,70,97,142,142,58,136,96,207,129,157,92,71,159,176,223,157,198,224,148,211,127,44,134,11,238,25,116,102,40,};
-static uint8_t aead_ietf_319[]={190,239,242,84,151,5,107,35,124,204,65,199,16,41,159,227,207,166,18,0,252,170,174,168,242,28,161,192,137,35,20,68,110,132,104,74,62,116,27,181,247,38,244,104,38,211,60,138,246,182,205,112,85,164,108,137,170,100,226,12,95,192,239,234,65,76,143,27,153,213,112,23,201,245,110,245,31,192,187,};
-static uint8_t aead_ietf_320[]={140,120,199,215,35,29,140,224,132,90,39,199,150,36,84,76,145,83,135,7,71,91,129,201,115,92,34,81,3,214,80,54,};
-static uint8_t aead_ietf_321[]={156,76,141,109,187,241,212,157,184,178,44,192,57,203,165,246,53,114,78,208,26,76,227,186,};
-static uint8_t aead_ietf_323[]={14,49,19,92,233,150,40,62,25,75,23,28,152,9,239,138,46,205,208,88,175,163,123,105,31,206,91,37,72,238,220,120,168,179,28,19,50,137,160,240,179,60,33,188,218,183,85,161,182,144,225,193,11,177,10,91,180,224,115,145,147,12,169,89,};
-static uint8_t aead_ietf_324[]={121,9,164,255,231,223,216,41,35,150,110,11,28,175,224,189,252,57,153,151,119,12,136,127,37,103,146,6,211,247,171,173,26,42,83,61,44,179,160,25,240,144,96,30,11,169,192,204,44,181,20,136,242,220,110,173,131,249,72,50,137,253,139,237,245,153,246,30,166,169,53,36,159,146,70,113,106,250,132,244,};
-static uint8_t aead_ietf_325[]={85,105,186,251,210,69,30,68,140,35,3,165,85,136,33,48,252,247,131,175,6,158,52,158,163,119,205,43,153,228,132,134,};
-static uint8_t aead_ietf_326[]={9,117,57,79,93,251,5,131,24,123,195,96,166,232,241,194,54,130,162,109,220,19,254,34,};
-static uint8_t aead_ietf_328[]={132,33,119,242,80,231,186,116,237,11,160,0,19,6,14,85,118,145,196,215,193,207,209,152,103,225,90,179,54,247,134,36,226,26,227,170,179,253,133,11,176,234,137,65,207,93,164,132,200,251,106,207,226,231,130,49,14,180,75,158,202,75,7,187,10,};
-static uint8_t aead_ietf_329[]={219,218,105,144,232,121,139,53,27,26,67,111,35,188,108,152,115,96,101,8,102,191,132,36,128,196,72,76,160,137,110,15,15,170,81,84,23,140,214,6,42,66,4,186,3,55,166,24,220,222,251,150,72,105,94,231,199,56,234,66,29,75,76,104,63,90,30,116,134,117,1,234,30,177,149,70,85,26,154,222,45,};
-static uint8_t aead_ietf_330[]={173,27,234,55,60,63,208,71,139,67,44,0,252,179,233,153,171,23,241,3,228,33,227,121,85,233,189,74,181,58,68,222,};
-static uint8_t aead_ietf_331[]={126,10,249,201,88,39,240,1,188,207,202,249,90,181,138,81,159,244,113,171,182,36,229,224,};
-static uint8_t aead_ietf_333[]={238,204,62,42,117,50,4,223,242,14,63,4,89,198,229,8,210,155,77,186,30,62,213,74,33,246,64,113,25,193,233,190,234,51,202,184,150,177,176,188,47,125,42,161,255,125,148,99,141,151,56,104,228,152,2,98,192,11,65,192,50,14,114,174,221,73,};
-static uint8_t aead_ietf_334[]={178,178,146,19,178,40,69,64,126,9,26,54,198,193,185,76,254,149,2,178,75,117,119,160,79,171,238,213,177,123,236,119,142,164,39,211,9,195,238,29,8,176,164,187,91,83,128,186,1,73,241,227,230,54,223,187,136,182,171,120,114,150,7,82,4,243,68,136,95,20,121,209,216,215,62,67,122,126,84,17,189,13,};
-static uint8_t aead_ietf_335[]={105,222,98,83,7,110,247,10,190,208,103,36,135,52,206,31,47,42,197,103,97,27,226,44,1,133,175,124,175,218,223,138,};
-static uint8_t aead_ietf_336[]={58,94,31,189,151,115,62,73,130,127,141,229,171,120,113,45,46,23,29,225,66,32,179,158,};
-static uint8_t aead_ietf_338[]={28,164,218,244,70,2,188,16,154,49,75,236,88,62,243,44,48,72,87,73,169,255,45,71,65,112,245,138,71,17,34,35,218,166,195,239,173,218,144,245,128,29,105,207,218,198,73,227,32,231,67,134,56,9,25,67,175,61,248,169,41,197,162,197,166,254,229,};
-static uint8_t aead_ietf_339[]={67,104,175,92,37,66,218,219,58,251,148,95,88,246,180,67,153,233,239,22,249,41,227,121,201,188,241,202,119,157,46,201,35,238,76,239,195,165,146,222,3,86,134,3,73,32,167,144,128,2,195,249,80,244,58,117,201,48,220,193,108,186,98,0,198,17,43,35,214,48,138,166,130,66,106,208,138,22,207,233,59,85,252,};
-static uint8_t aead_ietf_340[]={138,124,144,219,182,146,66,138,36,61,61,37,173,110,254,68,114,49,251,129,132,75,160,217,50,203,10,187,184,248,6,241,};
-static uint8_t aead_ietf_341[]={208,58,217,100,146,193,111,10,62,232,42,118,245,60,193,149,27,205,14,190,170,54,131,47,};
-static uint8_t aead_ietf_343[]={229,126,109,246,5,75,24,72,5,252,44,149,0,253,231,189,83,157,57,242,35,218,219,89,190,253,122,55,110,215,58,107,210,38,156,201,188,130,98,127,191,37,53,45,204,105,23,214,99,136,71,251,217,67,41,175,205,195,124,70,65,239,73,33,129,159,211,77,};
-static uint8_t aead_ietf_344[]={133,93,225,143,77,11,109,174,70,209,120,224,255,58,58,95,166,194,68,172,118,93,165,85,123,62,33,199,227,207,71,120,126,136,64,2,37,26,69,101,170,83,113,235,33,223,91,28,77,173,188,140,10,26,99,3,66,160,98,116,249,7,238,140,95,79,19,221,43,70,146,66,170,86,44,184,118,164,126,12,32,34,84,26,};
-static uint8_t aead_ietf_345[]={109,89,12,86,197,24,55,65,110,13,127,225,98,216,209,234,233,158,177,83,172,190,66,100,51,193,162,95,210,100,110,204,};
-static uint8_t aead_ietf_346[]={42,51,51,19,8,146,36,142,46,146,241,172,241,132,147,254,252,78,117,76,88,152,7,190,};
-static uint8_t aead_ietf_348[]={235,36,10,134,33,236,26,92,25,208,66,195,230,226,194,38,100,39,79,218,246,66,65,149,41,81,111,144,15,9,157,161,97,125,57,211,112,160,21,108,240,186,151,62,74,128,236,186,77,210,53,24,0,232,213,219,172,194,212,1,226,205,50,83,123,216,219,191,136,};
-static uint8_t aead_ietf_349[]={70,188,248,40,228,84,217,220,178,239,147,69,56,7,235,186,176,213,184,11,183,229,66,147,46,192,224,61,171,80,254,206,62,213,112,50,181,45,220,146,49,240,12,134,205,180,103,70,176,201,245,234,189,121,240,245,2,121,176,213,123,34,236,160,177,151,65,115,161,202,69,13,131,126,77,131,194,218,20,146,106,205,227,250,89,};
-static uint8_t aead_ietf_350[]={103,219,189,36,80,197,108,37,191,225,156,238,19,218,198,149,33,222,114,49,14,98,188,4,58,51,194,245,73,17,213,13,};
-static uint8_t aead_ietf_351[]={186,208,135,227,184,219,55,203,179,46,233,124,156,244,13,182,246,113,78,222,250,202,26,233,};
-static uint8_t aead_ietf_353[]={9,14,134,179,189,166,78,166,78,250,62,164,136,179,234,172,141,199,203,21,57,107,116,140,95,253,101,168,102,9,87,205,134,237,190,23,123,161,80,67,222,232,42,195,197,46,137,115,65,149,110,27,143,228,61,146,33,236,81,115,227,162,225,176,117,140,144,77,245,238,};
-static uint8_t aead_ietf_354[]={241,108,240,28,67,145,143,251,182,92,244,50,142,245,225,236,119,225,249,87,209,233,116,1,139,7,45,222,111,140,193,181,26,95,160,100,38,237,91,215,195,161,68,114,166,157,198,236,149,157,220,39,154,88,142,175,121,218,6,17,20,89,23,195,180,193,141,218,12,35,76,119,162,128,16,134,19,13,192,242,147,70,250,81,76,17,};
-static uint8_t aead_ietf_355[]={248,111,207,91,203,23,62,231,182,126,126,110,175,195,198,5,14,194,161,109,129,210,91,113,239,230,177,39,40,68,118,24,};
-static uint8_t aead_ietf_356[]={168,67,217,59,74,36,117,194,51,233,217,85,115,206,124,25,126,92,109,248,229,118,87,225,};
-static uint8_t aead_ietf_358[]={182,130,63,216,188,27,62,29,189,15,229,193,232,82,245,107,31,229,241,214,206,85,40,180,149,212,224,242,16,243,12,53,46,109,9,6,30,102,88,39,191,51,147,146,55,155,73,49,236,189,161,49,195,127,236,29,196,231,83,149,43,196,179,101,200,17,216,235,120,237,218,};
-static uint8_t aead_ietf_359[]={139,234,251,103,105,71,62,33,231,10,56,143,123,255,125,151,65,137,222,202,201,143,209,174,180,245,236,208,77,41,184,10,210,76,92,67,253,197,6,122,250,179,143,72,202,23,161,70,135,82,33,137,201,127,6,74,114,59,119,249,156,189,172,158,145,54,33,195,98,146,159,213,7,255,119,162,111,134,214,63,98,170,213,63,26,235,121,};
-static uint8_t aead_ietf_360[]={192,66,7,97,127,255,27,200,15,224,221,122,110,231,174,49,188,25,148,65,123,58,175,115,232,226,94,120,150,167,15,218,};
-static uint8_t aead_ietf_361[]={71,67,137,122,17,231,242,99,118,151,160,145,98,191,249,135,110,74,253,20,158,152,250,127,};
-static uint8_t aead_ietf_363[]={76,102,63,36,213,208,87,21,43,128,33,29,102,165,248,147,103,207,19,93,195,184,50,35,63,180,85,154,179,176,107,16,224,104,179,85,43,217,75,139,24,151,198,130,92,144,193,40,44,186,179,251,252,161,141,219,185,197,144,128,13,69,54,130,249,90,15,100,41,166,116,181,};
-static uint8_t aead_ietf_364[]={183,182,100,171,2,13,185,162,244,214,38,175,254,42,80,89,15,217,3,186,253,188,63,62,191,77,122,79,83,6,90,81,248,180,244,203,194,98,122,89,28,157,194,166,252,145,45,131,141,203,174,134,76,73,185,176,204,236,52,187,224,220,179,86,117,227,181,167,141,50,237,71,103,173,187,167,208,12,160,26,205,37,189,127,19,252,54,200,};
-static uint8_t aead_ietf_365[]={14,158,111,176,78,245,188,28,13,17,249,80,63,18,129,44,69,213,207,162,75,27,112,211,245,197,18,128,187,229,132,236,};
-static uint8_t aead_ietf_366[]={79,92,83,152,123,52,158,222,222,37,109,209,216,212,48,83,214,31,91,216,166,110,87,157,};
-static uint8_t aead_ietf_368[]={10,128,213,204,160,123,244,109,210,120,31,38,136,106,97,186,165,217,168,167,248,23,81,253,156,139,154,23,168,127,145,33,46,60,94,90,232,228,180,22,88,89,75,50,41,80,66,170,224,86,26,178,90,6,176,93,177,220,88,134,175,75,204,88,56,21,89,181,198,15,132,170,122,};
-static uint8_t aead_ietf_369[]={205,148,73,231,121,13,134,22,28,136,30,43,29,152,228,161,170,210,54,221,7,210,223,106,201,166,149,250,130,144,140,123,2,226,165,85,212,197,89,13,23,172,156,158,68,224,85,187,140,229,129,56,125,173,227,93,210,52,34,154,135,11,239,234,19,170,169,148,167,29,125,164,245,52,83,124,228,111,248,151,188,136,92,30,36,121,60,90,66,};
-static uint8_t aead_ietf_370[]={99,197,5,225,182,223,164,38,92,96,84,186,55,2,226,187,84,72,58,92,42,118,120,12,65,222,162,234,21,160,162,16,};
-static uint8_t aead_ietf_371[]={18,107,24,20,76,180,173,42,145,51,96,158,16,161,5,223,151,67,73,131,63,93,105,53,};
-static uint8_t aead_ietf_373[]={68,98,145,225,53,118,127,59,193,47,46,201,59,174,206,247,23,195,139,102,29,82,182,83,168,25,157,177,119,154,132,144,16,118,29,16,47,253,188,50,60,156,230,141,180,191,255,156,169,131,34,123,150,177,166,226,76,15,151,255,121,226,142,50,61,32,64,53,220,252,186,165,27,202,};
-static uint8_t aead_ietf_374[]={79,213,212,239,43,111,89,203,203,63,10,220,75,253,182,104,111,136,87,17,24,225,137,116,193,155,166,201,153,35,115,159,254,222,122,127,19,73,190,203,166,93,253,232,73,141,74,158,216,212,64,246,242,97,99,86,62,249,141,53,82,254,201,204,3,154,151,254,91,27,192,117,141,32,151,226,64,78,207,215,198,97,87,11,175,216,28,245,171,54,};
-static uint8_t aead_ietf_375[]={246,20,9,35,15,66,8,87,11,76,6,69,8,172,81,130,195,87,81,78,236,48,93,215,32,246,174,103,208,122,39,245,};
-static uint8_t aead_ietf_376[]={137,112,146,234,159,156,8,90,58,224,15,86,196,43,80,201,86,94,85,111,53,127,55,45,};
-static uint8_t aead_ietf_378[]={202,242,254,49,143,88,121,123,155,113,1,181,103,212,37,248,159,46,107,240,7,142,94,84,123,54,15,19,70,75,75,41,195,253,55,206,44,204,127,77,73,61,247,69,234,110,75,21,155,126,251,169,96,27,146,231,180,55,60,135,12,15,73,88,197,84,111,81,102,136,178,83,236,176,227,};
-static uint8_t aead_ietf_379[]={240,33,232,118,13,209,6,209,125,145,248,35,153,227,173,170,115,64,51,47,194,180,180,107,138,170,217,22,92,157,128,0,110,239,157,237,181,136,54,152,56,70,177,32,146,187,76,217,140,193,22,41,153,221,146,152,31,7,52,240,142,87,160,89,130,89,169,47,72,183,44,242,192,142,108,103,134,135,155,97,23,156,31,42,192,206,67,98,185,111,245,};
-static uint8_t aead_ietf_380[]={252,228,10,249,129,54,255,187,230,237,214,241,149,200,88,173,147,165,125,166,252,126,122,61,174,153,115,34,204,195,216,125,};
-static uint8_t aead_ietf_381[]={131,254,92,153,42,75,5,150,39,45,164,93,143,59,8,143,238,152,250,213,245,228,130,201,};
-static uint8_t aead_ietf_383[]={118,98,169,110,9,173,13,144,159,113,75,123,183,125,107,87,25,139,10,124,196,125,133,210,21,79,149,88,56,86,142,184,149,58,209,139,98,250,4,157,248,243,2,4,62,131,76,202,162,234,221,56,130,6,23,165,64,180,110,101,193,72,174,191,231,204,127,63,143,209,1,243,182,32,38,122,};
-static uint8_t aead_ietf_384[]={209,9,222,107,56,81,3,212,220,241,25,58,88,2,11,189,185,235,225,18,135,122,44,118,226,41,95,251,33,246,175,59,159,252,154,244,26,64,242,47,93,63,189,166,220,98,250,230,16,193,174,161,90,129,128,183,85,98,142,43,153,4,20,248,35,10,4,65,9,161,52,95,45,99,202,222,35,11,146,159,10,124,170,177,252,41,221,119,182,141,165,249,};
-static uint8_t aead_ietf_385[]={152,99,11,36,150,28,183,44,219,216,42,87,83,174,168,236,110,64,154,55,166,107,152,37,183,122,48,33,15,77,86,21,};
-static uint8_t aead_ietf_386[]={116,167,120,18,25,85,254,48,205,150,230,52,229,154,62,214,236,102,150,72,83,249,33,224,};
-static uint8_t aead_ietf_388[]={154,195,248,212,239,19,134,105,89,72,181,166,165,100,53,18,47,111,95,166,153,98,86,93,53,34,134,40,150,32,196,200,117,25,199,85,180,64,5,172,217,4,159,25,36,1,123,75,226,137,34,212,191,10,174,194,153,246,173,127,250,20,100,210,100,247,69,148,225,4,67,69,97,68,117,12,63,};
-static uint8_t aead_ietf_389[]={46,192,239,74,209,34,158,36,233,47,141,35,3,50,128,29,190,135,7,154,176,104,201,15,24,122,221,203,99,191,17,145,223,46,48,206,44,117,213,51,99,205,76,216,151,234,235,44,62,151,221,116,209,245,129,6,124,213,15,237,75,196,0,201,132,225,98,35,62,41,113,155,37,103,185,158,39,216,231,123,115,185,18,184,111,151,113,198,36,248,58,167,141,};
-static uint8_t aead_ietf_390[]={21,85,125,136,233,63,37,42,137,119,20,172,155,201,43,230,187,16,13,216,137,181,223,111,94,208,219,112,92,76,63,175,};
-static uint8_t aead_ietf_391[]={90,227,170,211,10,209,144,211,26,92,16,3,203,74,236,149,100,175,18,201,199,117,11,174,};
-static uint8_t aead_ietf_393[]={156,180,97,168,28,198,156,52,183,245,142,46,237,222,226,35,47,207,199,110,15,133,0,89,19,157,51,142,229,24,81,76,152,132,181,94,219,180,104,153,176,10,198,25,114,199,155,116,201,178,178,229,185,98,184,135,211,60,145,124,82,34,190,215,149,206,136,248,96,152,27,11,143,55,235,159,76,205,};
-static uint8_t aead_ietf_394[]={96,89,133,130,163,97,37,224,253,95,40,125,214,99,112,174,198,117,255,142,13,50,119,128,131,235,61,4,132,9,106,115,27,8,50,159,190,137,217,223,101,76,241,215,180,160,180,53,120,229,149,199,155,14,109,197,21,8,209,205,253,243,121,175,110,60,200,239,175,50,216,116,58,167,224,62,178,35,213,23,182,202,150,33,163,53,59,165,134,42,210,137,155,159,};
-static uint8_t aead_ietf_395[]={186,26,144,79,166,94,73,194,202,8,103,228,23,155,21,15,0,120,219,18,223,9,179,37,25,255,179,24,60,38,136,81,};
-static uint8_t aead_ietf_396[]={233,170,150,140,180,120,21,90,163,202,193,69,218,134,154,221,22,10,162,153,72,70,227,87,};
-static uint8_t aead_ietf_398[]={183,245,190,85,102,250,216,138,176,104,30,54,1,222,133,179,176,88,1,15,137,209,178,87,162,161,171,167,11,5,86,141,254,145,36,236,127,160,83,17,199,238,96,170,203,169,173,84,232,245,99,67,120,184,223,82,1,102,6,126,138,81,196,121,90,194,211,237,21,31,31,48,128,78,209,22,12,190,11,};
-static uint8_t aead_ietf_399[]={58,215,168,217,34,230,166,83,64,114,43,168,239,95,157,42,151,131,196,26,246,235,33,255,62,20,49,145,234,165,35,229,55,211,178,207,99,218,83,9,217,187,84,120,253,74,169,186,90,46,70,91,115,184,104,13,224,154,19,135,79,220,216,97,103,125,36,149,61,115,58,40,3,51,195,60,189,91,133,93,233,231,159,65,121,134,129,197,81,27,44,121,179,183,9,};
-static uint8_t aead_ietf_400[]={56,196,50,248,63,197,163,48,35,93,171,54,237,242,22,107,145,255,30,254,112,157,126,128,199,37,122,69,142,64,243,133,};
-static uint8_t aead_ietf_401[]={109,131,57,227,228,105,18,133,117,15,163,225,150,35,127,129,49,229,184,74,14,112,212,16,};
-static uint8_t aead_ietf_403[]={62,121,196,139,166,123,84,240,111,11,127,51,176,71,149,230,14,248,46,22,49,249,69,136,85,199,152,31,228,194,158,142,230,89,68,250,31,242,136,116,20,244,22,142,244,1,152,21,44,107,144,32,46,144,74,189,58,205,29,12,84,20,192,183,51,71,99,91,78,70,55,43,141,172,235,211,187,28,139,123,};
-static uint8_t aead_ietf_404[]={81,39,215,67,74,24,170,218,241,180,146,2,7,58,50,2,59,83,70,182,89,126,235,164,27,45,132,22,237,230,189,234,102,170,47,140,217,37,238,145,214,154,148,71,239,47,37,192,206,15,146,196,4,59,96,217,122,221,7,248,128,16,88,196,21,166,229,57,53,110,46,93,2,124,218,178,26,150,116,147,191,243,213,213,68,2,186,32,65,89,222,97,202,67,118,27,};
-static uint8_t aead_ietf_405[]={113,20,239,150,118,168,105,16,126,136,195,136,151,215,12,147,118,36,193,54,163,62,158,216,105,19,100,103,140,247,181,182,};
-static uint8_t aead_ietf_406[]={242,222,9,22,63,50,156,68,30,131,172,21,46,213,104,110,62,18,3,36,246,206,146,123,};
-static uint8_t aead_ietf_408[]={34,16,68,85,174,163,10,97,179,28,231,21,22,28,232,135,164,18,6,94,232,231,105,252,161,184,28,11,176,216,108,157,99,113,139,173,217,163,138,235,126,83,140,69,42,69,205,75,140,14,37,253,180,47,136,213,97,97,21,50,144,183,62,94,137,16,134,243,23,85,111,66,104,218,136,175,116,42,137,14,37,};
-static uint8_t aead_ietf_409[]={207,76,161,67,201,225,3,24,5,96,111,73,234,179,41,208,158,53,199,240,185,116,160,124,162,168,193,166,73,243,120,3,185,174,61,188,118,165,80,3,190,190,89,169,216,166,78,18,136,226,30,127,164,93,171,79,157,204,152,118,34,191,143,130,19,136,178,113,147,112,22,226,195,184,142,30,70,142,42,227,208,238,118,69,214,74,151,232,242,224,6,167,95,52,36,28,170,};
-static uint8_t aead_ietf_410[]={154,137,38,138,129,167,107,160,53,110,49,192,98,242,173,163,118,133,217,4,166,12,133,175,20,145,246,211,240,92,41,150,};
-static uint8_t aead_ietf_411[]={234,151,161,127,149,129,113,224,51,97,227,154,222,207,224,73,237,152,46,193,213,16,195,144,};
-static uint8_t aead_ietf_413[]={14,194,234,29,67,134,96,17,254,172,200,243,138,28,49,162,0,26,167,138,141,88,33,121,216,103,56,100,242,205,110,39,155,10,28,191,170,37,232,193,132,206,76,171,112,110,249,168,249,61,155,12,56,222,177,118,24,207,215,112,84,21,237,228,84,229,239,38,136,30,62,199,97,75,99,179,29,60,136,248,172,62,};
-static uint8_t aead_ietf_414[]={31,98,113,110,111,1,126,231,220,64,28,42,14,177,17,162,181,129,112,3,107,205,158,217,78,76,132,93,26,144,37,33,124,52,121,69,99,158,119,234,235,246,68,61,167,194,132,247,137,39,246,204,111,165,239,159,1,211,48,44,217,173,85,205,205,184,25,196,172,50,61,66,121,135,74,89,120,236,118,30,114,216,230,82,210,243,85,57,45,55,141,210,47,90,186,178,215,215,};
-static uint8_t aead_ietf_415[]={69,216,202,106,80,67,46,24,95,228,151,38,52,245,232,130,43,228,207,9,172,172,0,11,51,247,125,10,5,241,53,7,};
-static uint8_t aead_ietf_416[]={152,68,84,123,246,243,229,97,128,150,245,26,46,56,181,95,67,184,142,101,119,128,97,113,};
-static uint8_t aead_ietf_418[]={27,175,89,187,123,57,116,1,68,204,49,170,240,154,202,181,39,235,249,251,35,223,129,17,209,58,61,44,167,129,227,138,81,226,35,96,141,182,16,208,225,69,79,121,177,166,147,253,113,174,196,24,59,63,208,219,14,209,75,189,112,96,146,74,126,225,87,30,155,209,243,24,29,22,175,140,86,238,9,221,162,152,139,};
-static uint8_t aead_ietf_419[]={143,118,91,240,118,15,122,91,153,250,119,177,186,208,145,80,20,27,113,250,85,205,72,52,92,242,239,81,160,97,67,231,37,236,4,5,16,129,107,64,181,91,169,209,174,186,181,138,12,178,61,164,158,207,244,40,127,254,220,102,237,213,81,66,253,119,65,213,165,227,154,120,246,61,221,76,244,109,138,164,144,90,152,193,46,32,205,146,160,49,140,239,206,111,140,253,20,86,195,};
-static uint8_t aead_ietf_420[]={192,217,42,116,159,221,148,249,247,38,213,26,141,223,73,148,122,232,199,1,121,223,21,39,120,125,61,60,177,111,231,122,};
-static uint8_t aead_ietf_421[]={166,238,108,223,200,57,57,175,156,214,114,216,241,67,155,20,247,172,47,141,1,250,36,186,};
-static uint8_t aead_ietf_423[]={22,0,146,212,176,7,51,102,96,232,65,145,82,209,118,91,54,239,71,65,151,151,166,141,116,250,74,12,84,162,122,145,104,31,231,174,146,27,73,167,25,173,221,160,217,121,223,102,209,20,151,100,233,24,174,121,67,57,213,123,102,232,33,75,82,38,65,101,2,147,69,183,124,57,138,86,83,91,162,144,138,12,211,152,};
-static uint8_t aead_ietf_424[]={162,232,20,119,242,205,211,188,152,168,34,220,74,190,229,183,61,63,226,29,98,173,18,22,28,167,85,101,103,96,206,208,63,84,112,120,28,29,164,24,217,249,45,139,131,187,190,16,124,238,220,198,88,68,176,217,246,74,189,162,84,151,44,142,59,205,107,72,212,70,248,37,89,220,89,144,161,165,20,73,38,22,81,152,158,183,169,171,171,20,211,127,175,22,227,22,19,105,102,40,};
-static uint8_t aead_ietf_425[]={145,27,228,28,25,148,128,21,233,28,221,229,170,10,148,238,131,11,238,80,7,74,29,148,108,172,85,209,167,2,19,173,};
-static uint8_t aead_ietf_426[]={143,43,250,112,46,52,96,127,167,113,9,90,25,157,25,27,196,235,245,226,119,78,225,133,};
-static uint8_t aead_ietf_428[]={236,66,252,142,24,98,226,180,105,228,198,1,2,116,106,213,134,238,27,30,88,133,254,95,200,50,148,250,0,210,158,122,6,124,171,69,19,110,77,20,16,161,37,235,84,110,237,241,180,143,15,145,245,227,242,250,63,241,147,9,95,28,137,219,250,204,33,17,209,204,205,171,3,248,133,14,151,43,37,109,222,182,76,101,41,};
-static uint8_t aead_ietf_429[]={100,164,88,227,183,67,88,234,76,7,58,69,49,44,175,11,158,63,25,164,163,81,205,124,122,174,199,44,9,147,211,151,231,158,144,184,197,104,208,124,201,57,240,79,202,28,122,71,76,168,231,170,229,236,115,206,115,199,45,140,214,227,137,241,186,124,130,145,250,178,234,151,228,129,148,179,131,66,119,34,174,84,108,93,70,165,176,234,104,71,23,66,164,175,19,226,165,3,212,234,44,};
-static uint8_t aead_ietf_430[]={31,139,189,170,190,152,40,214,37,138,104,154,102,201,69,59,102,167,200,216,107,177,93,183,241,88,47,3,31,250,10,43,};
-static uint8_t aead_ietf_431[]={86,90,83,116,250,112,233,189,204,234,35,220,218,81,25,233,199,126,46,177,39,62,172,105,};
-static uint8_t aead_ietf_433[]={187,47,72,63,171,159,154,25,188,199,105,14,64,200,153,84,176,205,81,134,104,108,10,58,251,156,172,195,143,62,120,106,130,248,129,138,96,113,175,166,154,239,193,139,22,18,84,177,155,56,203,72,237,251,8,22,157,160,90,176,139,39,45,207,43,50,109,75,109,132,122,252,190,235,142,95,110,120,82,40,46,113,192,134,58,22,};
-static uint8_t aead_ietf_434[]={249,167,157,21,50,169,121,25,186,101,44,72,81,239,152,214,78,141,238,142,164,156,125,117,197,227,29,114,87,201,165,214,218,18,164,218,216,22,207,74,103,44,28,13,156,55,95,250,121,58,235,57,2,100,156,204,162,65,2,76,208,244,217,213,6,112,179,142,147,2,133,186,86,22,1,35,135,244,59,251,111,142,172,100,231,43,143,216,233,167,240,240,110,144,170,159,49,244,94,216,188,172,};
-static uint8_t aead_ietf_435[]={121,30,6,211,62,179,49,81,6,209,132,129,35,144,138,241,48,62,233,154,99,83,35,30,3,20,171,19,216,5,51,128,};
-static uint8_t aead_ietf_436[]={21,209,31,149,237,63,180,52,146,161,248,29,1,166,11,240,55,225,32,177,181,210,72,45,};
-static uint8_t aead_ietf_438[]={41,159,202,112,116,208,20,217,37,227,105,33,88,21,209,142,198,214,200,187,90,114,114,79,127,229,120,120,131,137,226,221,19,130,216,121,247,248,220,16,157,160,68,88,13,113,42,116,197,72,218,143,49,228,119,250,103,105,73,87,189,48,160,154,211,130,239,185,159,152,228,135,135,137,92,247,39,164,7,34,221,166,61,229,233,152,170,};
-static uint8_t aead_ietf_439[]={56,204,240,242,129,215,100,30,175,115,128,224,66,0,143,47,247,150,67,185,40,43,49,181,219,34,180,240,116,93,214,251,102,248,155,187,107,206,25,27,128,140,69,82,186,37,68,65,128,132,37,21,125,98,124,254,122,91,166,237,151,182,100,96,132,152,75,7,206,86,110,11,150,2,90,35,179,3,236,55,233,48,174,132,48,98,154,171,188,142,6,173,230,255,253,255,202,253,87,221,173,49,197,};
-static uint8_t aead_ietf_440[]={191,85,38,139,133,156,119,31,22,142,157,221,39,85,180,140,84,213,114,66,190,223,253,202,81,99,211,221,5,45,60,174,};
-static uint8_t aead_ietf_441[]={122,39,247,98,77,2,180,148,65,148,65,57,93,189,253,126,41,7,197,84,3,234,233,176,};
-static uint8_t aead_ietf_443[]={101,230,137,184,198,31,209,179,108,39,87,94,140,250,176,113,255,41,60,70,61,10,215,109,78,202,212,166,72,250,153,42,92,88,47,214,212,145,178,93,220,86,185,173,248,14,49,183,164,185,140,42,58,32,78,176,237,174,74,75,80,89,164,68,220,76,123,246,106,210,139,168,177,60,152,235,186,9,116,51,186,163,172,217,65,93,124,6,};
-static uint8_t aead_ietf_444[]={90,33,82,141,139,16,89,61,116,97,55,59,162,229,239,225,73,6,191,219,179,186,223,127,243,15,76,217,115,29,108,76,75,48,194,84,199,9,27,29,232,135,247,144,81,207,196,251,245,193,174,123,189,94,151,66,47,223,49,187,27,33,144,18,82,234,182,107,146,146,140,236,144,67,75,237,47,167,250,205,166,133,52,27,99,19,240,158,115,53,198,60,214,110,83,113,209,132,15,137,48,190,69,157,};
-static uint8_t aead_ietf_445[]={20,66,79,13,53,185,104,5,215,47,161,181,243,244,108,103,240,57,159,4,122,68,18,217,251,87,128,181,105,6,44,199,};
-static uint8_t aead_ietf_446[]={143,185,254,68,117,113,62,1,43,130,19,121,222,60,37,129,224,210,26,220,249,154,225,226,};
-static uint8_t aead_ietf_448[]={241,61,51,43,243,227,69,242,25,109,80,154,170,136,26,131,62,116,178,75,191,63,164,6,14,69,216,132,147,78,82,150,88,129,70,51,82,245,23,193,6,12,69,243,7,236,185,14,35,64,60,151,98,236,220,148,210,100,151,133,235,253,35,156,193,115,68,188,254,153,90,104,157,96,5,189,189,152,219,59,78,31,168,191,25,172,251,185,24,};
-static uint8_t aead_ietf_449[]={167,10,121,150,230,49,244,0,132,233,114,51,142,123,157,73,49,239,80,62,92,104,184,15,77,201,236,164,40,17,242,15,243,66,209,108,62,211,255,126,196,37,192,104,135,139,222,124,191,153,67,251,237,134,210,31,51,43,35,7,177,22,228,44,168,157,189,151,182,102,188,13,185,156,146,120,16,211,74,69,33,20,144,18,11,129,91,142,106,61,154,31,65,40,147,240,228,88,220,207,3,58,164,244,34,};
-static uint8_t aead_ietf_450[]={107,252,250,118,207,66,60,145,236,237,54,232,174,166,146,181,118,177,254,49,110,216,190,94,30,243,71,194,136,149,188,27,};
-static uint8_t aead_ietf_451[]={240,177,55,85,24,108,84,207,237,201,61,124,93,128,195,242,189,130,80,64,73,171,40,253,};
-static uint8_t aead_ietf_453[]={9,109,154,38,109,41,47,81,27,44,133,23,48,193,231,17,201,44,160,233,190,191,36,86,40,218,234,143,39,1,123,108,190,84,33,91,230,68,96,124,64,180,4,186,87,228,59,234,22,73,83,14,104,249,155,22,215,30,100,193,131,181,15,26,119,105,126,165,110,115,61,76,4,25,201,129,74,90,2,230,238,157,211,132,192,27,48,13,201,239,};
-static uint8_t aead_ietf_454[]={40,253,209,17,238,98,147,91,205,194,144,120,210,156,155,245,62,36,77,171,193,75,2,20,206,18,140,135,165,66,125,22,176,50,62,83,148,18,142,198,1,239,246,207,93,60,21,57,167,65,165,84,108,31,182,218,84,148,153,25,62,7,47,247,22,153,250,133,216,1,35,140,52,46,143,244,113,34,181,10,133,53,181,174,122,137,28,170,117,100,213,234,193,244,220,224,166,164,163,167,45,142,87,108,108,115,};
-static uint8_t aead_ietf_455[]={158,135,243,144,197,213,34,89,135,13,237,255,15,145,219,228,219,10,78,227,187,121,117,119,174,231,32,76,96,89,207,91,};
-static uint8_t aead_ietf_456[]={199,226,73,178,50,106,208,95,193,247,77,217,132,137,114,92,208,161,134,34,241,233,109,237,};
-static uint8_t aead_ietf_458[]={155,129,193,174,183,90,162,10,137,193,84,122,11,181,64,164,127,75,224,57,140,233,45,230,213,152,230,86,62,69,169,207,239,105,191,82,187,51,196,57,241,209,114,80,6,22,247,90,68,91,112,194,213,122,214,6,154,31,129,1,2,182,100,138,246,53,66,143,201,26,250,92,225,188,8,240,123,190,153,193,249,211,47,49,31,233,211,3,194,172,29,};
-static uint8_t aead_ietf_459[]={161,214,221,134,74,21,79,120,76,183,50,25,177,116,156,21,198,114,162,75,34,184,7,65,113,14,47,23,113,228,126,158,221,220,243,52,183,129,32,153,14,72,39,160,167,231,12,133,202,83,193,227,50,238,82,42,19,253,113,42,152,96,205,70,32,146,207,17,104,184,17,113,248,220,77,160,198,107,221,15,111,102,91,96,117,120,98,241,55,10,202,182,43,169,79,92,73,236,178,115,84,204,232,51,141,92,80,};
-static uint8_t aead_ietf_460[]={62,66,60,5,175,178,255,132,62,54,88,33,167,122,215,100,242,136,231,126,151,212,20,129,195,149,141,23,35,163,255,85,};
-static uint8_t aead_ietf_461[]={37,96,215,228,101,222,151,131,131,1,7,170,204,182,95,18,103,66,117,39,118,125,20,59,};
-static uint8_t aead_ietf_463[]={61,190,105,202,90,101,74,97,31,211,238,200,71,211,159,237,13,193,17,38,112,16,175,49,186,38,8,237,13,180,157,224,76,81,219,162,126,209,7,170,93,161,87,230,52,202,197,23,210,21,165,157,136,73,243,190,166,63,234,237,95,46,157,166,132,180,69,90,168,34,200,39,44,170,208,92,65,29,219,254,35,18,80,253,71,187,201,163,141,215,91,47,};
-static uint8_t aead_ietf_464[]={172,57,109,151,215,196,170,152,34,18,46,103,14,132,210,208,191,177,224,145,111,112,198,175,159,239,200,231,6,37,160,85,239,214,37,114,122,24,130,218,39,108,184,12,146,138,22,79,85,159,10,121,147,51,58,216,112,75,7,61,161,19,198,150,158,45,31,181,45,47,20,97,67,227,64,193,179,126,99,191,178,109,195,87,138,16,102,174,230,41,14,89,15,208,42,27,195,162,77,57,243,156,47,202,23,220,208,230,};
-static uint8_t aead_ietf_465[]={192,208,162,52,79,70,59,100,197,115,151,193,234,95,186,149,103,215,170,19,119,144,230,249,50,71,229,66,199,184,118,54,};
-static uint8_t aead_ietf_466[]={143,52,55,153,132,209,164,71,183,166,198,91,132,136,130,167,87,27,189,221,216,187,180,75,};
-static uint8_t aead_ietf_468[]={165,0,171,158,0,238,71,91,175,227,186,210,195,157,74,87,0,98,10,141,160,35,193,120,218,42,193,184,18,122,32,179,103,202,17,157,192,156,12,145,138,66,70,254,180,208,96,154,229,66,195,244,58,122,8,206,135,142,37,190,195,184,51,229,13,136,174,127,158,122,29,227,160,229,88,195,195,247,134,252,3,161,65,83,67,234,125,191,86,70,64,133,162,};
-static uint8_t aead_ietf_469[]={72,246,79,178,58,59,240,184,83,118,213,224,159,8,21,104,203,161,25,98,190,173,18,15,53,92,178,161,52,229,211,194,196,109,28,33,84,183,193,203,166,183,237,206,142,187,232,255,53,152,42,101,179,229,68,156,232,220,20,227,74,68,55,92,219,117,132,105,240,115,21,139,55,106,29,90,24,8,253,84,161,67,78,72,120,153,195,21,110,210,225,47,206,21,52,237,137,41,41,147,36,202,241,71,177,96,10,99,80,};
-static uint8_t aead_ietf_470[]={94,134,67,201,179,1,68,130,189,224,136,182,114,2,78,49,144,30,242,159,174,42,54,75,212,114,145,241,242,181,166,78,};
-static uint8_t aead_ietf_471[]={176,27,108,194,201,157,93,40,102,85,219,215,73,102,42,46,99,195,73,113,200,244,254,209,};
-static uint8_t aead_ietf_473[]={5,7,84,3,130,42,48,35,229,58,155,183,17,204,194,58,160,106,157,241,28,255,41,134,107,135,141,132,199,153,31,26,144,179,171,197,138,14,236,140,26,218,119,49,199,192,112,233,245,109,101,78,51,164,99,15,78,155,174,190,31,255,191,39,97,238,27,58,91,91,31,217,213,76,174,151,148,92,69,2,46,253,63,27,214,185,16,46,160,243,77,77,165,234,};
-static uint8_t aead_ietf_474[]={65,213,66,77,172,75,120,225,34,62,73,188,113,189,167,168,37,180,171,253,4,154,156,221,126,106,235,135,120,123,217,100,106,198,74,23,36,80,197,65,54,228,195,43,0,41,154,26,116,244,167,133,242,124,244,179,171,159,132,38,220,88,208,135,8,34,160,176,84,116,115,71,227,172,255,128,90,51,207,204,220,71,210,79,251,103,144,97,208,57,82,60,177,35,101,105,255,207,6,44,135,83,193,105,100,18,8,186,98,188,};
-static uint8_t aead_ietf_475[]={166,154,173,35,24,199,89,232,116,60,32,169,68,108,124,59,103,41,235,75,32,254,171,187,159,41,174,152,46,234,37,110,};
-static uint8_t aead_ietf_476[]={59,114,66,27,119,21,206,104,55,69,104,244,109,178,200,215,127,48,6,28,137,65,211,104,};
-static uint8_t aead_ietf_478[]={91,32,52,85,218,94,76,209,12,74,62,249,124,106,158,180,248,162,189,51,114,21,141,8,36,202,6,207,235,3,50,254,45,33,27,35,192,198,151,200,242,163,53,244,30,168,223,235,159,44,27,65,50,6,134,237,164,179,138,58,233,246,88,45,252,44,29,166,26,206,145,153,216,148,113,138,99,91,86,177,220,124,57,195,60,225,75,128,144,20,63,58,252,232,48,};
-static uint8_t aead_ietf_479[]={132,253,211,231,73,177,226,123,67,147,203,131,6,103,170,35,44,129,52,127,178,254,132,25,204,18,145,202,12,12,53,228,146,148,50,48,170,45,135,213,255,249,9,145,242,79,186,241,87,233,69,246,89,53,65,56,134,102,13,30,21,177,192,232,249,148,36,1,69,232,15,23,105,29,73,41,74,108,6,27,1,150,13,85,22,23,155,215,5,146,204,240,48,209,4,205,121,172,144,248,182,181,167,239,93,72,133,15,252,39,14,};
-static uint8_t aead_ietf_480[]={150,114,114,56,234,47,129,156,94,142,182,35,196,186,109,180,220,207,46,195,103,250,4,227,165,24,157,135,97,166,114,124,};
-static uint8_t aead_ietf_481[]={209,5,65,24,66,34,171,214,152,30,56,114,253,54,100,143,223,158,84,46,253,121,213,78,};
-static uint8_t aead_ietf_483[]={206,212,126,251,36,92,207,164,152,215,220,172,40,199,156,128,68,184,26,99,141,236,80,64,164,248,161,15,208,56,43,194,36,21,57,224,193,46,246,42,189,6,240,80,133,115,152,40,60,121,60,217,235,228,131,174,177,56,161,151,107,4,79,41,249,38,195,14,253,98,242,46,150,150,31,197,231,179,26,248,83,182,251,112,238,158,152,183,25,120,102,177,39,97,203,167,};
-static uint8_t aead_ietf_484[]={198,220,137,179,191,123,196,235,5,59,1,96,122,199,144,29,18,217,177,125,70,65,115,131,145,143,109,63,188,103,36,158,107,227,133,71,194,177,240,186,212,59,62,146,109,166,45,28,167,197,27,12,242,100,132,254,123,170,148,121,137,7,227,238,147,211,94,241,126,86,36,143,169,6,3,152,192,107,243,61,74,238,155,10,47,36,3,62,187,19,246,210,116,215,87,108,245,150,162,249,253,98,53,173,219,207,125,93,18,186,188,87,};
-static uint8_t aead_ietf_485[]={243,219,202,163,210,63,166,70,184,121,33,160,34,102,201,86,84,4,248,181,67,11,109,49,117,99,237,135,1,8,0,148,};
-static uint8_t aead_ietf_486[]={89,206,137,215,232,145,189,14,179,75,154,9,34,80,100,241,95,6,49,218,110,91,253,251,};
-static uint8_t aead_ietf_488[]={176,230,87,119,96,191,97,188,43,85,219,64,212,231,140,125,116,90,196,131,50,65,101,69,107,234,3,75,184,56,31,70,241,176,112,169,196,172,71,191,20,79,56,77,56,228,200,118,43,107,121,104,58,133,237,69,196,158,87,66,54,148,28,202,184,219,154,158,183,26,73,75,100,35,65,233,143,9,116,240,30,169,211,134,218,93,35,203,122,3,213,66,239,109,156,150,248,};
-static uint8_t aead_ietf_489[]={215,174,241,75,202,224,62,189,129,76,92,100,74,56,148,113,255,45,107,36,134,54,23,95,38,200,182,153,81,244,142,94,107,218,150,188,86,204,217,245,228,244,246,171,84,217,6,30,96,229,79,157,232,3,134,47,31,95,60,170,85,72,15,12,118,80,134,170,4,194,105,150,141,38,179,215,163,228,179,226,87,200,114,72,21,251,66,204,34,238,176,159,55,80,106,122,56,35,162,56,7,33,72,196,202,153,134,107,59,195,145,20,86,};
-static uint8_t aead_ietf_490[]={23,245,74,217,116,65,177,86,216,108,2,216,127,174,157,251,69,239,215,87,115,228,59,217,193,196,20,41,153,180,6,92,};
-static uint8_t aead_ietf_491[]={56,254,125,205,234,119,39,92,211,157,204,153,238,113,176,229,105,23,195,175,48,219,55,10,};
-static uint8_t aead_ietf_493[]={18,19,83,154,80,123,188,234,210,150,8,184,108,236,123,226,149,200,168,72,10,227,196,67,93,1,116,9,174,207,168,120,199,216,76,162,56,227,91,0,236,31,89,160,200,76,134,36,203,152,239,17,20,157,228,48,8,103,227,238,243,93,13,181,9,0,102,95,58,28,49,153,67,180,226,123,229,56,43,62,206,13,166,32,154,80,106,29,114,74,127,14,104,151,159,58,195,201,};
-static uint8_t aead_ietf_494[]={136,80,112,42,123,255,68,195,115,76,248,19,90,66,23,36,220,227,60,6,219,179,82,52,190,9,21,102,59,120,227,191,165,42,140,49,90,61,98,94,141,180,135,184,199,89,50,164,94,140,24,241,97,177,234,32,46,30,92,199,20,121,252,140,0,93,39,47,159,211,155,173,200,29,63,89,192,232,44,130,24,126,228,16,35,141,165,196,217,53,170,40,137,224,194,12,2,206,175,149,216,185,72,194,148,245,139,240,79,200,123,111,194,53,};
-static uint8_t aead_ietf_495[]={217,193,52,12,206,120,7,176,185,178,77,8,11,28,207,244,188,21,72,202,168,49,82,196,41,217,106,38,176,4,212,128,};
-static uint8_t aead_ietf_496[]={205,188,228,106,214,129,28,35,133,205,31,77,205,4,182,142,169,194,125,206,7,39,81,65,};
-static uint8_t aead_ietf_498[]={213,73,153,246,105,5,160,253,193,4,225,143,107,107,166,246,78,249,130,190,109,79,177,95,132,222,192,246,174,124,235,191,160,32,139,120,178,109,150,249,114,238,147,71,62,132,187,140,83,87,247,222,104,27,53,89,160,226,17,200,86,122,93,179,133,230,118,129,32,82,158,183,85,172,35,0,248,55,39,145,44,93,73,42,240,207,87,245,186,114,24,141,38,74,187,202,228,28,219,};
-static uint8_t aead_ietf_499[]={35,109,247,239,139,1,180,67,69,98,157,160,204,38,216,150,74,67,164,172,197,7,149,253,115,74,217,86,220,245,31,119,43,7,105,85,240,13,8,155,61,192,182,97,17,221,26,38,58,145,44,123,20,211,6,6,165,221,169,183,29,187,118,145,105,207,114,152,224,137,183,17,92,58,231,209,69,32,138,147,178,177,27,31,187,14,201,100,183,125,252,126,233,21,135,164,241,205,119,85,87,162,38,113,177,225,140,58,73,247,9,28,67,244,211,};
-static uint8_t aead_ietf_500[]={48,102,158,83,185,253,58,211,36,185,221,128,86,187,161,81,191,181,124,151,236,172,103,50,15,101,194,111,91,244,2,48,};
-static uint8_t aead_ietf_501[]={175,250,142,131,72,68,101,73,91,208,170,96,64,178,195,52,124,235,197,250,121,180,212,248,};
-static uint8_t aead_ietf_503[]={186,23,147,159,200,68,177,151,31,14,100,199,5,157,246,144,117,35,206,133,214,143,133,28,107,184,73,151,31,207,22,28,128,31,220,173,241,82,198,40,32,73,176,244,46,177,101,114,54,133,174,144,106,200,191,182,239,28,18,171,103,164,148,108,80,226,47,124,93,214,209,64,202,212,19,144,78,147,68,50,99,19,185,84,46,250,73,173,146,228,198,65,15,103,44,150,103,227,102,46,};
-static uint8_t aead_ietf_504[]={142,123,15,113,237,151,79,208,245,188,204,194,147,81,115,107,40,33,134,166,237,59,181,189,40,208,95,60,35,247,183,152,226,84,100,133,204,61,194,108,25,82,55,170,226,102,169,81,244,54,127,200,46,163,144,116,215,173,234,170,31,228,85,125,87,129,2,245,240,218,36,253,79,231,118,81,187,121,137,195,16,255,178,196,72,185,97,230,57,133,190,220,251,38,202,198,190,145,165,21,222,17,3,36,74,3,120,66,88,210,212,65,71,225,145,31,};
-static uint8_t aead_ietf_505[]={25,53,167,175,88,200,218,138,1,16,76,240,146,249,253,211,157,212,86,120,186,104,147,184,230,226,192,137,70,109,197,109,};
-static uint8_t aead_ietf_506[]={195,88,91,91,2,147,97,67,127,128,160,213,68,71,243,214,217,117,68,247,88,185,69,12,};
-static uint8_t aead_ietf_508[]={253,48,38,219,9,246,229,84,229,246,231,191,120,46,46,71,225,16,60,152,25,216,124,193,92,150,40,90,202,181,52,156,54,58,36,161,205,214,24,7,228,193,171,101,243,140,25,232,102,0,247,118,41,58,110,24,88,44,72,250,218,29,64,40,232,35,183,160,144,112,52,189,78,118,243,150,88,224,4,232,252,108,250,172,119,201,73,167,66,12,10,243,252,245,73,161,43,15,204,16,36,};
-static uint8_t aead_ietf_509[]={22,166,111,57,129,223,148,84,106,126,129,85,160,195,126,66,235,170,203,59,19,88,107,15,116,36,62,35,161,12,145,252,81,4,227,23,197,6,115,15,124,35,244,134,50,92,61,246,46,234,5,172,46,58,91,144,116,251,66,12,174,222,97,112,69,81,195,169,240,155,175,152,82,222,240,238,187,233,18,97,110,59,14,140,182,97,221,150,75,224,222,156,101,78,184,247,228,201,249,60,160,231,81,220,190,26,28,187,148,191,225,47,120,73,75,229,174,};
-static uint8_t aead_ietf_510[]={134,151,65,55,93,80,65,32,21,211,92,192,139,75,87,99,153,125,18,3,36,117,3,244,150,25,18,170,121,244,244,185,};
-static uint8_t aead_ietf_511[]={151,215,248,69,15,23,65,175,102,47,195,215,5,178,95,22,136,209,9,207,195,78,221,77,};
-static uint8_t aead_ietf_513[]={193,9,88,201,21,23,181,182,191,32,88,8,80,95,142,210,9,241,217,8,245,26,203,8,115,125,43,28,159,110,254,255,151,190,208,147,248,14,213,81,213,79,74,60,4,62,224,109,127,134,59,148,131,207,73,210,184,205,167,28,99,93,22,212,246,1,122,181,40,169,223,99,169,176,235,66,151,48,191,191,24,13,136,54,152,32,70,118,174,84,85,89,74,4,190,6,85,93,214,195,168,137,};
-static uint8_t aead_ietf_514[]={191,191,191,46,243,101,9,246,12,199,203,127,211,249,124,230,61,240,218,104,235,52,90,108,46,157,121,33,255,247,156,135,45,205,8,11,28,67,217,200,169,51,124,131,38,254,106,38,158,101,218,80,75,216,199,79,54,66,164,112,13,179,195,70,95,35,172,60,78,80,42,18,191,203,164,108,73,41,115,51,252,187,140,194,156,188,201,60,60,90,158,97,224,61,41,168,22,234,252,152,60,183,93,115,198,236,114,84,28,225,160,142,253,23,142,40,81,217,};
-static uint8_t aead_ietf_515[]={107,193,92,149,217,180,138,161,204,22,22,174,126,110,146,246,32,182,165,230,151,240,110,67,159,233,34,3,56,136,28,14,};
-static uint8_t aead_ietf_516[]={130,210,199,1,25,207,88,35,146,120,63,160,242,208,176,57,220,30,115,235,55,168,33,26,};
-static uint8_t aead_ietf_518[]={251,14,193,212,136,62,96,164,155,131,121,248,95,237,176,184,138,157,165,177,167,107,199,119,55,237,148,98,187,191,97,230,173,23,196,94,92,147,29,224,51,182,46,22,62,154,104,61,23,69,153,113,118,77,198,117,33,177,168,178,111,45,140,231,146,129,40,200,255,243,220,68,87,115,108,69,147,78,134,81,42,70,198,141,235,49,33,178,136,216,120,0,175,215,42,131,249,158,29,137,37,157,46,};
-static uint8_t aead_ietf_519[]={245,54,176,127,73,230,112,6,143,132,39,38,169,177,205,105,13,48,44,108,197,44,41,176,182,173,6,176,197,131,195,135,54,175,117,36,38,0,211,240,235,176,151,147,21,172,171,124,149,141,169,67,5,0,25,196,241,48,244,219,93,18,78,56,87,184,157,154,15,144,182,180,96,210,233,94,16,233,206,134,115,211,124,170,155,4,89,205,162,79,180,28,206,176,234,20,238,64,106,127,158,230,61,156,74,46,53,186,16,59,147,131,82,152,188,14,240,202,120,};
-static uint8_t aead_ietf_520[]={67,226,82,171,93,144,13,24,126,56,126,88,95,164,184,203,215,129,108,131,255,135,130,230,186,120,211,234,233,21,51,112,};
-static uint8_t aead_ietf_521[]={32,11,38,125,16,54,163,13,83,152,186,168,94,198,64,127,228,113,160,215,28,250,205,26,};
-static uint8_t aead_ietf_523[]={20,70,244,200,64,24,100,45,163,169,63,245,102,169,56,82,89,225,117,156,159,61,55,184,238,60,251,83,241,48,190,161,115,36,108,108,119,138,196,154,247,123,197,240,78,132,115,86,255,49,23,151,146,142,199,127,111,120,47,134,64,95,130,11,0,228,94,169,41,82,101,41,134,81,53,28,180,225,165,207,150,249,185,144,228,245,248,13,142,218,108,140,102,132,227,106,168,134,111,80,35,252,87,120,};
-static uint8_t aead_ietf_524[]={217,217,217,132,144,58,25,202,158,149,246,140,251,101,47,186,1,134,254,29,137,131,219,195,193,46,250,232,11,111,36,113,18,14,109,38,144,82,55,18,83,92,120,112,66,173,109,138,172,192,11,213,27,194,182,66,60,160,171,163,11,38,175,50,175,110,206,76,24,173,72,223,111,143,220,216,247,95,219,49,146,39,38,51,179,124,203,238,42,232,108,144,229,46,192,106,185,225,79,22,252,133,178,213,251,236,211,75,156,34,145,212,177,0,81,177,196,233,249,180,};
-static uint8_t aead_ietf_525[]={114,79,103,42,135,248,80,24,46,68,144,17,149,14,189,92,104,247,23,84,142,191,24,18,239,149,20,27,56,231,247,161,};
-static uint8_t aead_ietf_526[]={23,243,38,176,24,121,98,106,191,116,123,251,247,60,89,133,238,168,161,241,239,78,111,10,};
-static uint8_t aead_ietf_528[]={233,149,242,250,171,203,250,155,215,151,79,158,187,97,82,34,220,123,63,237,122,164,96,247,139,186,228,223,106,148,181,79,107,236,140,166,58,176,119,92,141,184,47,13,22,52,79,149,121,182,102,68,13,47,105,227,158,84,240,204,151,90,202,89,219,246,51,116,58,102,252,214,250,105,8,125,15,160,91,109,139,120,24,235,9,152,151,235,97,150,237,49,154,108,199,220,25,216,122,233,52,170,60,149,197,};
-static uint8_t aead_ietf_529[]={3,189,192,100,219,213,108,120,88,66,147,124,250,157,253,236,151,102,167,32,171,70,189,203,151,217,37,53,188,50,109,181,27,245,38,210,61,117,125,64,27,146,114,86,57,155,246,137,75,158,44,114,14,16,185,164,166,82,65,156,85,30,23,204,246,138,165,171,5,143,156,55,203,166,223,215,246,34,194,39,250,167,221,6,195,10,126,13,36,113,69,163,161,231,202,60,133,148,237,170,38,163,127,195,168,87,34,229,231,222,1,95,60,141,226,93,162,66,181,211,58,};
-static uint8_t aead_ietf_530[]={46,228,211,159,25,66,27,98,21,53,86,161,189,59,227,82,124,217,79,156,200,183,197,179,75,247,125,229,35,70,140,7,};
-static uint8_t aead_ietf_531[]={219,37,173,45,50,251,240,152,169,221,229,135,24,87,154,181,12,7,10,39,24,204,174,176,};
-static uint8_t aead_ietf_533[]={163,42,226,223,212,188,245,128,160,109,186,100,41,145,27,104,185,212,109,117,253,183,32,148,238,136,10,179,132,184,150,225,44,58,53,45,160,177,5,133,113,157,163,0,211,238,31,99,11,123,153,250,118,191,208,21,187,23,2,204,95,142,140,178,68,184,233,234,121,170,215,67,5,130,186,93,118,139,28,7,119,114,173,225,134,37,144,214,226,17,173,24,33,166,56,51,241,3,18,19,147,221,52,176,208,38,};
-static uint8_t aead_ietf_534[]={196,39,93,208,71,187,106,63,156,228,22,185,157,173,202,31,0,14,78,209,110,138,161,87,128,161,151,194,24,153,91,241,187,43,11,119,63,141,31,185,101,227,204,161,227,127,63,114,36,123,249,6,246,92,248,57,169,32,190,93,37,19,226,188,140,98,244,71,115,229,121,0,9,86,172,76,219,174,13,11,145,3,76,232,140,231,53,97,153,75,22,161,69,218,193,54,239,113,233,60,16,137,29,13,162,73,80,254,35,13,144,64,161,195,226,244,147,78,168,128,219,136,};
-static uint8_t aead_ietf_535[]={145,171,183,151,2,129,135,47,189,212,38,105,110,119,114,130,255,102,189,161,45,131,176,127,192,214,90,89,172,125,241,90,};
-static uint8_t aead_ietf_536[]={119,48,217,176,148,84,223,144,138,170,200,239,203,93,5,47,211,41,46,26,162,105,152,132,};
-static uint8_t aead_ietf_538[]={68,244,56,162,174,192,206,11,156,240,180,179,73,93,22,111,43,128,64,146,246,18,255,59,10,51,169,246,210,9,33,46,148,147,215,79,126,142,249,245,83,41,49,40,227,211,254,56,61,39,102,168,24,186,228,118,81,77,51,46,136,217,195,90,155,210,40,39,251,185,247,51,134,141,130,216,194,39,242,220,250,140,117,129,213,64,25,112,156,33,245,97,163,150,77,101,135,3,241,57,53,165,23,164,26,96,6,};
-static uint8_t aead_ietf_539[]={79,98,21,89,179,32,153,69,213,195,226,204,87,242,216,72,212,193,73,116,182,218,187,19,208,141,235,224,250,183,25,233,252,13,116,183,97,6,23,124,197,51,174,168,125,30,141,30,229,222,7,38,2,56,111,226,18,169,207,205,206,84,113,22,184,235,50,108,204,89,8,174,40,142,94,107,232,172,105,31,232,39,192,106,13,22,162,114,36,202,96,46,211,108,127,135,194,143,130,226,0,23,25,17,47,228,66,37,67,13,19,244,16,183,255,204,153,201,9,167,248,15,212,};
-static uint8_t aead_ietf_540[]={187,98,227,22,73,128,245,244,250,230,193,92,174,158,240,213,1,226,224,133,153,137,14,240,40,6,237,64,167,138,212,56,};
-static uint8_t aead_ietf_541[]={7,83,189,35,29,111,122,195,235,198,253,41,155,31,54,14,164,89,189,76,46,141,185,173,};
-static uint8_t aead_ietf_543[]={75,120,146,206,206,18,54,249,240,169,151,170,127,225,161,20,143,34,124,50,109,146,17,240,236,41,234,186,211,202,124,202,121,53,199,156,199,106,126,212,129,158,126,180,156,90,179,10,99,124,169,155,104,185,130,122,197,22,221,124,191,211,170,156,187,206,8,161,133,117,26,153,44,212,136,21,127,199,187,3,51,31,139,18,169,195,165,130,76,236,213,179,91,76,214,219,91,140,145,103,117,20,187,26,10,169,80,167,};
-static uint8_t aead_ietf_544[]={211,75,169,200,150,196,109,148,252,144,230,2,80,21,77,143,113,245,100,97,155,71,173,252,105,2,197,68,143,118,26,172,218,64,244,58,131,173,225,40,143,190,79,32,79,119,36,177,59,254,45,62,139,151,75,5,235,55,130,174,11,155,180,4,14,9,239,249,221,122,93,118,117,77,9,173,152,89,161,182,67,192,54,150,242,226,94,248,104,68,181,124,191,184,133,53,176,207,19,163,245,131,241,120,161,171,172,27,224,215,82,159,111,167,85,97,107,17,146,165,132,166,179,168,};
-static uint8_t aead_ietf_545[]={171,153,251,107,79,16,185,13,45,230,48,250,153,18,139,197,108,40,197,252,126,154,80,70,141,60,100,54,28,3,182,136,};
-static uint8_t aead_ietf_546[]={31,50,184,208,136,52,143,99,148,12,33,171,83,121,20,161,176,65,246,208,149,200,182,15,};
-static uint8_t aead_ietf_548[]={56,142,193,72,127,140,1,40,142,233,94,202,45,226,133,118,5,160,166,55,5,142,97,114,247,139,65,81,61,197,81,50,12,149,66,185,140,55,24,249,77,136,128,97,66,58,87,19,94,120,193,88,202,88,85,211,253,39,18,157,253,14,112,157,183,86,221,212,175,213,104,28,232,54,65,198,158,53,3,82,196,231,79,49,147,50,202,14,169,123,119,210,86,138,37,236,26,147,161,132,142,34,92,132,14,8,88,226,219,};
-static uint8_t aead_ietf_549[]={178,237,184,94,73,74,113,236,223,209,77,69,174,184,116,249,212,55,7,132,182,205,192,79,126,9,158,206,37,108,189,220,85,8,152,96,206,176,119,216,88,245,142,182,202,188,209,141,188,3,100,150,14,243,8,122,139,155,83,191,238,48,7,19,139,197,17,109,248,169,96,49,144,202,221,192,34,151,106,207,218,53,33,62,183,50,61,135,223,233,199,185,128,179,149,213,63,206,57,80,150,86,86,111,166,103,26,141,217,141,241,176,71,130,152,184,95,183,109,47,220,11,118,104,65,};
-static uint8_t aead_ietf_550[]={186,177,61,213,184,211,67,129,29,101,175,127,246,118,43,95,208,177,169,238,112,148,187,218,66,115,138,88,241,144,61,228,};
-static uint8_t aead_ietf_551[]={24,63,72,38,3,215,40,191,162,6,30,2,26,150,236,203,37,86,15,2,108,188,107,28,};
-static uint8_t aead_ietf_553[]={117,98,112,111,159,23,61,74,85,184,97,74,221,34,95,253,154,184,108,137,119,218,92,172,189,108,53,151,233,164,2,152,137,197,163,156,204,20,193,219,16,51,2,110,227,253,182,222,5,157,74,27,102,83,107,56,68,94,64,150,125,68,115,185,167,98,78,98,229,68,125,110,178,179,170,230,14,173,6,226,53,189,94,197,115,82,27,213,213,205,26,212,248,152,59,50,192,142,67,205,95,59,212,94,128,201,15,134,58,105,};
-static uint8_t aead_ietf_554[]={183,86,189,73,84,13,115,197,204,161,102,75,254,64,47,182,110,154,94,89,177,224,35,61,113,232,208,30,185,2,250,145,131,148,74,93,181,242,100,161,84,251,125,181,248,107,39,80,119,94,141,212,92,185,42,219,53,196,168,173,20,253,165,193,248,59,2,214,132,86,6,72,239,90,94,204,144,157,149,19,174,102,244,218,75,248,255,179,177,106,39,164,254,131,63,130,197,62,185,246,77,192,102,4,4,137,197,167,30,181,29,163,118,149,169,29,122,24,52,155,12,196,39,124,112,12,};
-static uint8_t aead_ietf_555[]={56,122,174,73,77,217,109,26,18,22,121,182,113,228,79,231,133,127,123,74,14,94,219,136,227,175,172,92,199,113,243,146,};
-static uint8_t aead_ietf_556[]={32,39,187,149,62,113,220,89,57,11,202,120,213,211,172,206,170,161,142,80,192,174,176,13,};
-static uint8_t aead_ietf_558[]={59,4,162,119,174,7,87,94,9,136,169,138,167,31,224,37,139,123,72,171,165,76,190,163,39,30,229,176,94,143,41,40,126,129,162,229,112,182,81,150,194,6,104,100,91,175,48,227,150,90,141,99,77,4,48,248,207,178,13,242,196,57,165,117,206,153,41,161,47,126,81,127,37,124,148,171,76,106,118,201,149,41,30,103,168,206,142,127,75,30,31,46,100,196,20,211,207,78,185,39,174,239,79,49,236,84,99,30,217,164,200,};
-static uint8_t aead_ietf_559[]={219,171,188,255,135,94,110,75,96,183,239,123,146,69,43,180,123,186,196,139,78,247,45,224,4,245,188,139,81,124,85,16,25,237,121,70,102,78,82,102,61,44,11,236,109,211,179,209,143,52,34,95,117,216,52,90,247,23,170,175,250,224,198,37,166,70,75,14,15,141,110,42,20,26,146,113,207,178,142,84,10,246,44,146,50,98,26,192,232,147,162,32,152,66,68,8,21,102,65,7,78,6,250,114,135,191,161,46,172,70,88,181,36,22,141,106,81,142,13,194,116,180,91,80,159,9,144,};
-static uint8_t aead_ietf_560[]={226,85,179,202,102,248,70,186,42,242,253,133,199,178,186,140,247,146,249,246,28,110,23,217,87,129,192,165,34,151,117,242,};
-static uint8_t aead_ietf_561[]={241,156,233,25,66,172,114,18,231,120,241,159,114,89,7,15,222,4,12,2,88,79,183,148,};
-static uint8_t aead_ietf_563[]={35,85,216,26,103,242,152,43,105,160,45,235,87,103,161,27,5,169,254,226,144,63,145,253,132,141,43,195,160,33,55,159,252,190,84,101,198,221,92,47,104,60,32,99,6,26,165,109,113,219,43,188,63,9,47,176,154,154,128,161,249,2,201,76,226,221,111,72,197,98,74,27,75,248,37,57,210,51,216,172,204,209,248,49,63,8,158,87,232,15,169,169,114,29,189,84,78,70,89,173,95,245,126,157,203,226,225,211,195,70,229,181,};
-static uint8_t aead_ietf_564[]={183,35,207,31,156,207,115,2,44,45,31,10,221,85,162,149,63,114,2,110,203,187,142,4,154,162,56,10,138,22,24,145,242,64,5,1,123,30,120,0,133,21,120,209,127,251,143,70,89,81,113,248,37,32,75,77,151,65,7,74,243,17,217,189,4,23,1,13,48,239,22,125,254,114,43,234,166,124,114,190,41,226,87,159,124,24,4,130,253,17,172,178,146,74,2,129,156,41,113,1,195,34,226,102,71,78,33,239,40,236,100,125,191,240,34,48,42,81,65,159,197,77,242,240,222,178,119,69,};
-static uint8_t aead_ietf_565[]={189,252,97,146,36,145,190,139,18,28,47,224,189,68,218,0,38,177,6,32,17,173,170,154,140,137,163,166,175,17,249,97,};
-static uint8_t aead_ietf_566[]={105,25,212,200,132,97,227,17,134,192,86,3,45,65,42,60,59,159,7,170,167,189,207,133,};
-static uint8_t aead_ietf_568[]={166,133,51,97,41,106,27,212,228,8,221,146,94,209,18,23,65,118,94,251,31,55,187,46,1,141,118,82,36,185,99,179,177,146,10,215,6,211,247,192,135,92,93,85,14,109,184,190,135,213,60,54,148,200,23,81,124,11,60,199,114,39,253,21,48,129,94,38,50,210,36,130,70,97,227,131,115,222,185,50,60,27,251,236,231,167,198,107,24,152,133,239,124,124,109,144,111,225,76,149,173,69,89,138,234,7,5,228,29,173,44,233,199,};
-static uint8_t aead_ietf_569[]={168,129,218,204,200,37,227,103,100,213,221,253,222,40,27,223,111,145,228,215,123,217,221,97,134,230,36,108,28,51,202,98,129,77,226,144,83,16,248,139,119,154,33,24,6,220,77,84,80,221,178,194,130,240,247,116,153,83,112,109,106,67,52,250,192,133,195,171,176,61,134,29,248,3,60,145,116,183,223,210,56,68,194,70,80,190,181,230,107,215,192,71,189,124,15,221,239,63,75,102,52,160,160,233,203,79,153,5,126,46,126,115,146,177,90,210,137,210,49,19,23,197,0,158,41,153,202,233,66,};
-static uint8_t aead_ietf_570[]={250,30,16,157,100,173,14,6,86,31,202,184,55,175,32,217,112,95,109,37,235,49,169,126,61,210,159,0,178,87,144,104,};
-static uint8_t aead_ietf_571[]={169,132,197,180,195,146,183,52,23,95,220,55,33,97,173,242,249,104,151,95,202,212,238,37,};
-static uint8_t aead_ietf_573[]={50,192,7,146,68,17,109,157,32,245,129,194,156,217,141,233,86,197,245,3,180,149,82,19,44,222,250,70,1,232,121,77,244,123,176,180,218,79,202,195,113,226,110,74,38,137,129,62,142,139,13,175,97,17,111,134,76,123,30,110,119,213,160,78,90,238,199,22,178,179,73,143,244,206,141,250,173,64,101,44,111,98,5,99,124,227,140,33,47,99,22,229,128,77,227,149,75,86,202,36,226,248,212,77,193,109,13,19,204,0,6,197,255,123,};
-static uint8_t aead_ietf_574[]={179,67,63,207,110,197,190,44,50,57,130,121,2,141,111,246,46,198,109,244,27,227,140,247,37,67,5,38,81,236,206,226,49,18,2,44,171,173,11,57,70,138,221,11,140,127,73,119,222,156,225,232,205,94,220,12,189,136,187,86,35,153,32,114,200,41,80,214,82,133,242,39,161,202,56,254,49,125,15,184,68,1,33,4,21,108,203,165,252,144,58,78,159,104,21,12,216,113,9,124,191,96,166,129,169,128,4,239,124,102,100,10,119,181,128,101,226,25,27,53,91,44,38,8,27,28,101,36,67,162,};
-static uint8_t aead_ietf_575[]={86,58,92,164,36,111,32,103,243,167,25,0,218,74,10,219,174,70,242,135,200,248,14,88,80,111,200,95,35,240,134,237,};
-static uint8_t aead_ietf_576[]={174,221,9,187,145,20,252,100,15,172,114,91,210,148,105,39,74,217,165,245,195,3,235,12,};
-static uint8_t aead_ietf_578[]={106,22,169,107,102,81,195,115,117,196,152,161,75,3,123,145,185,91,167,188,167,148,22,140,249,14,212,106,155,26,128,170,38,249,25,3,140,17,58,88,73,103,155,145,55,79,67,84,172,88,167,158,177,19,7,153,84,8,70,81,215,184,217,171,119,75,130,181,175,205,185,199,144,160,237,232,152,249,91,109,118,69,157,125,73,181,132,24,201,55,92,117,61,138,183,63,10,173,115,64,121,221,182,107,218,148,49,40,77,236,146,207,39,22,97,};
-static uint8_t aead_ietf_579[]={178,192,173,60,87,57,209,87,225,253,205,129,208,191,45,47,190,173,96,132,242,165,124,49,17,112,239,5,36,170,173,180,24,103,210,72,232,175,235,160,64,115,119,56,153,252,115,242,224,123,203,252,180,57,69,228,160,250,225,89,25,92,83,239,213,68,145,50,197,137,241,251,62,227,32,5,53,154,129,199,140,104,1,21,79,30,105,123,182,89,1,98,75,1,122,110,239,173,105,173,112,230,116,210,214,30,141,246,175,5,123,66,28,130,91,57,142,63,148,119,87,173,36,114,125,23,82,67,206,196,238,};
-static uint8_t aead_ietf_580[]={152,183,5,11,182,239,86,52,190,192,142,122,159,161,31,23,166,221,44,190,137,225,244,62,179,212,23,112,29,43,104,34,};
-static uint8_t aead_ietf_581[]={19,243,22,154,97,169,244,164,82,148,84,15,120,122,142,55,81,56,216,151,41,164,119,40,};
-static uint8_t aead_ietf_583[]={131,74,64,14,184,56,115,175,90,38,39,40,21,221,17,41,190,53,121,144,145,155,62,3,69,57,246,6,105,102,41,170,240,32,27,94,63,219,184,9,249,20,149,93,227,69,150,102,236,209,212,3,25,250,180,87,224,215,70,208,96,139,46,113,234,193,197,168,239,1,110,243,210,87,203,99,179,146,187,20,169,63,206,75,198,115,161,252,56,191,223,119,190,148,217,235,143,126,190,239,253,156,240,243,161,119,243,197,232,168,149,220,247,125,117,56,};
-static uint8_t aead_ietf_584[]={117,177,1,204,213,12,84,58,80,123,30,54,153,54,16,81,68,33,23,17,2,15,187,61,232,232,173,176,124,108,156,223,49,68,173,121,173,158,22,158,255,138,70,37,168,109,224,193,225,205,226,84,200,53,72,195,225,189,187,185,67,147,34,31,197,142,161,203,59,2,190,79,142,148,191,183,168,140,244,241,163,147,66,255,140,36,176,226,35,181,128,12,187,25,115,177,107,74,213,224,205,96,253,57,177,197,186,171,205,219,144,168,117,143,6,22,138,61,190,67,201,239,155,240,9,159,54,52,192,70,86,199,};
-static uint8_t aead_ietf_585[]={25,107,112,20,243,60,14,72,118,121,85,37,204,167,180,0,149,186,112,59,64,11,208,89,160,24,141,92,15,166,165,186,};
-static uint8_t aead_ietf_586[]={166,125,179,152,9,61,76,126,112,90,186,146,179,219,27,202,192,246,43,76,248,115,210,158,};
-static uint8_t aead_ietf_588[]={234,189,39,166,190,211,64,130,218,62,95,172,118,2,5,192,131,144,88,103,255,222,101,44,251,0,89,203,153,111,204,127,147,163,10,118,76,1,219,219,45,55,32,158,99,174,61,246,246,15,162,192,243,119,173,44,137,181,249,14,72,17,152,154,31,68,106,152,21,204,42,183,164,123,168,127,247,79,161,40,159,35,218,87,110,83,134,48,192,101,14,154,161,151,115,138,50,28,74,167,38,159,195,255,16,101,4,188,247,197,158,186,127,128,163,43,232,};
-static uint8_t aead_ietf_589[]={160,63,72,90,174,176,83,235,245,176,59,238,242,27,246,102,153,76,89,126,59,169,155,27,170,34,160,94,129,77,29,127,223,24,119,88,112,185,186,24,194,211,67,1,247,60,145,155,124,247,197,81,124,184,11,91,22,115,85,21,236,204,16,6,239,172,213,162,135,42,2,129,223,54,54,31,120,190,1,3,31,145,175,207,83,180,191,134,153,130,98,27,148,9,21,29,214,173,192,90,44,31,1,187,251,227,163,66,37,2,52,231,190,90,10,96,180,212,159,5,251,80,215,242,115,3,28,234,179,157,106,75,47,};
-static uint8_t aead_ietf_590[]={246,252,94,129,133,97,79,126,241,112,190,76,204,221,177,223,31,25,251,209,90,246,200,115,114,123,120,60,190,57,72,145,};
-static uint8_t aead_ietf_591[]={22,16,247,190,67,137,145,7,239,24,99,57,227,202,174,252,200,168,115,74,189,93,63,79,};
-static uint8_t aead_ietf_593[]={73,42,196,55,167,40,184,187,207,62,38,30,63,201,18,244,239,112,83,249,99,29,112,126,131,4,156,183,187,114,211,239,75,186,127,171,6,231,245,173,21,58,71,236,5,62,115,193,12,21,172,126,98,142,22,20,247,205,211,180,208,247,52,48,102,247,210,217,59,55,10,24,191,113,53,68,33,211,182,108,149,247,1,229,74,251,8,233,138,37,69,22,240,39,20,57,30,53,173,206,7,14,167,115,65,51,85,73,29,90,199,102,27,106,38,15,47,184,};
-static uint8_t aead_ietf_594[]={69,42,233,20,88,44,43,195,193,235,149,185,67,243,159,180,184,102,178,77,90,68,74,230,1,201,112,110,151,191,158,238,138,15,78,29,2,236,233,130,104,64,176,60,171,31,142,64,247,10,140,144,236,141,75,250,201,154,244,93,250,207,94,176,205,80,148,147,78,204,198,102,132,225,67,51,14,215,145,17,217,129,85,4,176,34,117,105,184,54,5,163,112,47,224,225,123,112,242,21,132,245,144,238,52,221,147,223,194,80,166,111,82,80,77,240,100,195,46,247,180,58,175,30,31,143,151,138,220,42,138,239,14,14,};
-static uint8_t aead_ietf_595[]={82,116,174,158,144,60,13,196,52,137,189,6,155,166,27,3,117,42,56,173,107,88,251,168,60,20,183,169,189,45,43,148,};
-static uint8_t aead_ietf_596[]={234,2,67,247,72,229,129,209,177,66,250,94,138,143,72,237,162,251,200,113,181,254,111,105,};
-static uint8_t aead_ietf_598[]={97,131,179,208,82,235,176,75,90,149,210,8,163,219,22,163,91,25,235,233,99,129,43,40,66,161,219,88,56,57,44,213,233,71,98,20,218,205,119,217,163,143,245,162,106,162,43,241,163,147,67,88,241,178,202,16,216,143,242,160,90,82,131,188,47,27,95,29,99,202,80,229,249,190,44,11,70,204,220,91,193,85,185,177,208,208,97,4,95,177,226,23,9,56,211,131,154,75,105,5,4,28,187,157,112,85,113,118,9,64,193,23,131,186,108,182,99,196,239,};
-static uint8_t aead_ietf_599[]={109,118,43,177,186,162,151,213,28,131,105,114,183,134,151,235,65,16,195,77,183,81,42,19,87,1,169,93,210,125,245,209,59,176,55,171,21,226,255,24,176,173,126,250,53,136,66,92,229,19,139,194,130,79,178,109,158,137,241,84,139,121,37,18,123,37,78,243,196,202,251,61,239,149,67,218,65,97,149,209,198,90,194,110,218,187,169,84,146,232,194,5,34,153,24,156,118,124,86,95,15,145,22,207,105,208,67,33,28,129,103,133,69,226,226,167,133,125,7,218,239,254,33,193,143,251,146,229,175,52,34,241,205,8,161,};
-static uint8_t aead_ietf_600[]={92,95,109,80,111,48,19,201,137,46,45,238,125,184,185,86,202,50,79,31,83,98,134,211,187,114,158,216,88,101,177,34,};
-static uint8_t aead_ietf_601[]={16,232,129,8,92,154,79,175,180,25,176,144,213,81,14,205,205,227,165,121,60,198,222,208,};
-static uint8_t aead_ietf_603[]={41,143,138,195,167,115,69,210,121,165,240,77,42,90,30,117,24,219,19,59,102,186,246,254,204,51,197,140,10,162,74,222,143,244,104,177,180,88,67,71,162,48,33,227,122,73,181,180,0,110,229,130,223,218,183,83,253,63,243,201,242,226,59,252,216,210,251,44,106,114,187,208,72,49,172,223,63,63,242,48,244,212,182,4,38,24,68,115,49,85,131,232,196,83,166,99,138,210,84,225,46,21,176,72,11,32,250,92,14,228,96,0,211,112,114,231,144,245,80,52,};
-static uint8_t aead_ietf_604[]={70,251,222,70,124,106,176,216,234,253,170,97,62,239,66,234,126,84,117,42,33,7,196,230,226,91,117,33,57,47,217,41,51,127,207,89,112,120,33,95,201,103,197,16,229,242,64,230,190,249,248,159,174,184,101,29,171,69,74,252,76,15,61,230,200,215,131,9,81,155,214,235,93,219,251,100,36,44,105,132,255,23,1,249,103,70,253,180,252,162,42,177,123,172,39,87,222,245,251,128,178,59,151,10,219,195,5,190,64,155,97,193,187,137,117,30,244,178,112,189,14,10,125,137,187,109,122,173,32,47,22,144,58,103,83,54,};
-static uint8_t aead_ietf_605[]={188,147,55,60,156,122,135,29,95,131,4,87,46,4,183,184,230,77,197,158,192,248,131,29,93,129,55,188,114,196,218,195,};
-static uint8_t aead_ietf_606[]={25,142,69,155,97,245,214,140,88,99,110,251,146,17,108,90,58,30,95,233,35,14,23,69,};
-static uint8_t aead_ietf_608[]={44,128,199,252,120,63,74,134,225,4,175,246,177,36,245,187,209,195,64,150,238,245,5,129,135,203,49,162,114,156,30,100,118,131,185,204,238,236,207,240,5,116,50,44,9,11,0,237,235,80,86,101,185,167,48,134,243,115,206,31,151,79,196,124,146,138,2,211,191,93,233,213,132,104,23,12,132,249,152,78,101,175,20,221,58,159,242,152,182,111,10,59,154,189,121,233,230,89,241,253,174,93,254,164,214,233,193,220,33,19,185,172,97,1,18,188,66,108,26,38,189,};
-static uint8_t aead_ietf_609[]={227,119,37,177,249,51,150,32,13,72,136,176,92,173,143,188,235,132,80,0,191,178,160,205,155,163,86,205,53,102,108,2,193,159,231,177,52,40,220,91,154,216,50,218,169,67,95,17,72,130,111,48,33,206,231,116,248,254,119,98,199,176,89,107,10,158,149,161,134,187,126,66,129,60,0,241,19,29,25,245,36,17,181,199,170,191,226,57,131,69,76,99,3,230,226,228,26,73,202,254,67,35,253,25,176,164,246,224,221,41,246,127,26,193,208,17,182,32,69,247,75,145,123,100,229,54,158,158,242,12,233,57,185,37,63,209,149,};
-static uint8_t aead_ietf_610[]={246,241,36,76,180,21,200,72,215,244,7,207,59,194,112,155,216,198,120,229,21,52,225,100,131,76,133,164,74,143,39,84,};
-static uint8_t aead_ietf_611[]={36,128,199,57,206,245,200,117,155,23,94,208,88,237,160,128,240,42,102,96,211,118,47,191,};
-static uint8_t aead_ietf_613[]={175,109,53,134,213,227,80,203,255,39,143,252,230,107,217,149,233,162,60,17,238,212,252,158,204,108,226,77,140,124,229,66,140,16,178,5,106,204,224,249,63,255,166,26,182,225,33,63,237,88,254,31,166,96,193,250,24,25,229,153,147,75,248,51,25,218,68,148,148,112,21,255,77,47,175,204,153,145,241,69,12,202,64,32,21,208,48,247,73,213,115,73,221,157,117,129,16,73,107,184,83,66,240,11,163,255,133,173,42,111,3,62,19,54,36,23,209,141,246,255,65,25,};
-static uint8_t aead_ietf_614[]={56,107,122,209,244,66,126,235,146,49,200,39,192,91,84,98,141,31,135,94,182,170,57,148,104,237,231,97,24,240,11,234,70,0,215,111,42,15,237,99,20,77,24,203,50,240,96,163,156,138,101,139,199,173,133,119,99,105,184,62,212,182,16,241,151,67,212,212,56,229,255,18,92,34,15,119,218,197,66,153,227,31,165,226,10,229,8,63,32,126,152,32,228,69,29,179,68,189,45,20,252,166,195,134,189,4,40,177,70,219,112,186,27,26,95,64,223,240,4,221,243,227,141,121,214,133,118,185,22,189,127,145,131,107,180,212,161,63,};
-static uint8_t aead_ietf_615[]={178,115,119,231,142,52,58,0,82,86,27,44,110,127,169,115,152,36,224,160,51,218,20,134,135,52,43,65,238,68,199,109,};
-static uint8_t aead_ietf_616[]={241,67,130,75,98,111,111,233,43,191,126,137,187,166,33,216,131,192,22,164,8,76,187,48,};
-static uint8_t aead_ietf_618[]={206,159,10,121,67,219,132,199,202,95,160,209,69,222,46,177,192,21,180,193,194,167,56,80,20,161,142,156,63,80,198,58,122,71,43,8,100,195,68,145,153,184,66,164,32,126,110,211,103,20,171,156,142,212,25,144,110,153,64,112,40,38,145,251,98,120,83,98,11,124,25,123,139,48,217,238,106,51,112,169,128,160,234,164,105,72,134,105,20,170,102,58,95,164,141,107,185,236,45,40,185,134,148,124,188,149,129,167,100,129,205,171,239,254,179,135,48,131,148,9,191,217,20,};
-static uint8_t aead_ietf_619[]={227,44,196,91,255,181,151,168,93,172,83,53,61,243,230,194,180,41,77,130,254,104,8,210,122,195,29,219,62,102,133,114,74,149,202,173,31,179,72,20,1,160,32,144,77,110,127,130,4,250,79,80,82,12,129,54,216,143,219,245,109,99,78,253,122,154,130,32,107,70,227,172,255,14,31,157,87,250,67,82,15,43,23,155,9,66,17,116,45,6,12,72,78,44,50,106,230,142,178,139,144,103,238,124,241,163,49,60,143,139,125,13,113,164,182,143,243,44,64,230,102,11,23,5,195,135,164,100,55,14,86,20,250,44,219,151,36,3,131,};
-static uint8_t aead_ietf_620[]={54,241,38,31,167,39,135,53,239,8,169,251,167,146,230,239,34,211,58,26,50,183,52,32,166,161,52,115,46,104,196,18,};
-static uint8_t aead_ietf_621[]={35,160,191,131,149,29,41,69,125,75,213,50,146,32,119,173,255,229,77,153,169,3,15,141,};
-static uint8_t aead_ietf_623[]={104,47,10,96,12,101,188,59,97,156,245,151,0,99,15,51,88,153,103,202,13,180,177,205,167,206,228,43,248,222,158,166,84,38,167,247,77,249,70,235,168,75,208,222,60,230,11,72,121,184,25,23,189,227,56,199,176,202,16,215,5,151,25,233,134,43,5,64,189,56,94,59,10,60,245,128,114,14,3,19,73,48,180,130,55,210,105,78,78,117,21,239,78,180,108,172,45,35,148,159,251,108,100,98,38,229,8,137,149,151,110,119,35,240,115,179,187,250,177,47,223,74,247,109,};
-static uint8_t aead_ietf_624[]={199,60,12,38,214,196,234,183,65,92,54,22,122,1,52,173,255,36,61,211,45,97,148,161,101,146,65,249,240,146,219,248,156,153,7,73,161,203,167,165,212,86,95,111,60,149,74,172,108,184,58,45,104,85,1,66,131,222,116,193,160,181,3,139,244,108,244,26,243,242,185,176,158,194,143,193,48,58,200,153,94,178,35,44,50,143,198,164,214,205,206,130,27,121,196,147,196,94,3,35,102,236,82,12,244,232,41,27,166,139,93,114,125,228,21,233,246,239,16,179,67,222,224,182,199,118,169,248,42,182,75,223,238,139,221,232,242,164,125,226,};
-static uint8_t aead_ietf_625[]={240,169,172,141,204,220,115,138,230,112,158,167,135,128,186,119,190,129,203,36,134,206,217,87,178,83,14,14,186,213,58,255,};
-static uint8_t aead_ietf_626[]={84,99,153,167,197,193,70,80,201,46,195,139,240,117,168,241,243,48,121,8,162,188,126,245,};
-static uint8_t aead_ietf_628[]={102,81,93,92,252,68,69,246,98,241,71,196,92,244,156,82,16,126,199,78,243,101,100,203,114,209,255,114,34,132,80,150,228,102,184,53,208,9,9,238,233,71,100,13,36,197,143,230,197,48,114,169,183,217,165,188,124,85,230,107,219,121,93,108,171,27,56,149,40,243,206,35,214,156,221,86,33,130,201,183,223,147,225,41,116,67,176,223,236,170,178,76,192,242,58,215,46,22,60,122,34,106,79,174,220,51,161,255,176,152,37,68,5,111,175,223,4,26,54,184,168,216,22,176,231,};
-static uint8_t aead_ietf_629[]={162,30,121,66,187,216,110,129,247,239,66,121,100,188,134,8,169,155,133,64,211,180,176,68,66,213,204,34,89,44,16,14,164,228,180,25,110,11,255,2,23,25,252,36,51,64,103,59,1,162,68,65,191,198,58,80,105,2,132,171,147,177,81,27,79,253,228,225,206,183,23,11,68,199,189,64,195,243,251,106,202,38,118,58,179,197,209,245,195,193,80,129,72,187,79,184,162,187,46,156,175,24,210,102,60,147,196,51,63,247,132,90,64,144,207,62,125,225,230,27,101,134,228,243,4,140,101,61,245,109,66,138,91,124,199,239,224,232,48,94,48,};
-static uint8_t aead_ietf_630[]={119,30,115,91,123,125,151,131,145,88,137,209,19,147,155,215,198,239,196,67,213,24,114,59,159,11,21,97,200,163,141,123,};
-static uint8_t aead_ietf_631[]={214,13,74,175,57,156,65,244,147,182,120,65,139,204,119,72,82,84,214,34,201,198,110,99,};
-static uint8_t aead_ietf_633[]={219,122,121,31,32,124,150,62,136,230,46,81,16,235,232,174,177,57,207,13,85,43,170,138,74,235,132,46,241,184,109,220,235,114,180,164,237,143,126,228,145,12,152,173,55,58,97,101,114,237,255,29,146,146,145,158,1,33,240,230,61,50,134,191,149,219,247,152,182,1,25,118,213,50,93,189,150,35,11,52,89,6,132,147,137,184,28,150,220,208,71,178,124,190,1,157,80,203,94,218,20,22,64,40,130,8,192,19,159,184,53,41,60,167,109,232,217,198,164,148,215,123,190,182,252,7,};
-static uint8_t aead_ietf_634[]={190,17,170,229,49,56,213,200,0,115,170,188,220,253,217,144,2,127,154,26,179,10,167,159,47,50,207,47,186,211,242,172,135,244,251,86,136,243,255,126,20,60,89,129,70,51,152,100,196,251,131,205,101,113,41,160,210,143,213,186,25,113,140,24,50,51,76,44,131,63,160,193,21,110,159,144,189,170,156,225,107,32,164,123,215,228,114,156,8,131,141,218,170,49,192,229,216,220,220,47,232,86,79,134,184,6,103,133,203,183,238,245,148,87,244,201,236,134,195,72,192,6,161,33,83,22,145,211,138,108,10,200,53,177,73,64,29,16,136,133,197,195,};
-static uint8_t aead_ietf_635[]={32,51,216,126,180,152,233,91,97,57,87,202,9,99,78,150,208,176,167,112,82,75,128,140,48,220,245,230,23,197,243,175,};
-static uint8_t aead_ietf_636[]={122,251,61,221,176,82,17,168,106,107,14,26,78,208,107,181,200,202,198,167,190,60,166,28,};
-static uint8_t aead_ietf_638[]={54,74,193,63,199,72,119,23,87,137,102,94,200,147,203,107,15,28,239,91,254,120,155,151,156,219,227,143,25,227,221,211,106,118,24,38,90,84,125,39,244,5,251,194,101,187,209,88,8,103,4,185,22,181,57,123,203,205,70,171,180,106,3,85,4,89,253,37,223,8,198,187,6,122,80,189,64,116,107,227,25,206,153,79,221,209,51,95,0,3,49,242,178,151,83,73,229,145,91,27,118,93,169,177,14,243,210,9,12,229,248,87,94,247,7,164,57,43,17,189,51,221,67,225,222,210,101,};
-static uint8_t aead_ietf_639[]={38,252,73,59,183,58,127,84,94,62,215,229,36,228,138,118,0,150,53,134,92,44,200,221,129,204,250,120,11,201,11,170,187,231,79,113,147,6,245,208,16,211,67,97,252,136,248,29,65,66,94,159,121,181,138,118,174,72,41,175,254,208,247,192,36,99,102,211,56,196,163,123,139,173,120,122,25,140,154,242,160,7,226,181,180,54,103,234,17,217,105,155,193,90,31,13,131,74,136,81,155,194,192,8,150,92,250,238,222,104,253,221,64,177,209,92,97,254,12,32,15,69,194,205,70,151,96,62,28,194,76,37,214,25,151,146,66,109,172,55,112,88,216,};
-static uint8_t aead_ietf_640[]={204,224,191,157,146,166,92,144,12,5,148,178,51,192,231,150,203,89,159,87,24,195,190,52,36,6,214,33,46,105,33,172,};
-static uint8_t aead_ietf_641[]={179,148,158,163,169,186,189,47,8,211,21,226,231,26,5,46,220,9,227,226,172,160,242,93,};
-static uint8_t aead_ietf_642[]={36,36,46,137,};
-static uint8_t aead_ietf_644[]={53,50,84,68,86,146,2,115,179,73,15,103,110,110,56,49,};
-static uint8_t aead_ietf_645[]={16,74,106,140,66,59,229,156,3,118,44,226,51,111,72,148,29,53,241,173,124,240,227,113,44,96,47,100,79,94,20,79,};
-static uint8_t aead_ietf_646[]={78,96,189,202,2,223,176,49,112,217,204,136,249,145,46,133,163,167,61,22,111,200,132,222,};
-static uint8_t aead_ietf_647[]={108,163,222,58,};
-static uint8_t aead_ietf_648[]={168,};
-static uint8_t aead_ietf_649[]={97,199,169,103,137,163,193,150,135,200,58,7,117,118,178,216,16,};
-static uint8_t aead_ietf_650[]={70,2,25,78,197,152,209,79,46,25,19,41,208,209,35,98,64,1,11,90,131,34,141,69,173,153,99,56,93,34,41,249,};
-static uint8_t aead_ietf_651[]={60,51,23,15,87,155,47,117,183,243,27,193,207,86,173,217,154,39,37,11,68,100,126,129,};
-static uint8_t aead_ietf_652[]={2,102,151,80,};
-static uint8_t aead_ietf_653[]={109,176,};
-static uint8_t aead_ietf_654[]={90,196,24,85,159,9,34,58,143,32,140,118,204,84,139,17,248,151,};
-static uint8_t aead_ietf_655[]={2,94,56,36,118,238,40,131,61,165,143,71,19,205,127,44,61,180,57,151,86,110,50,93,223,14,118,93,237,124,33,153,};
-static uint8_t aead_ietf_656[]={110,191,187,93,17,204,112,235,122,92,49,17,190,144,71,20,27,68,182,52,77,56,79,212,};
-static uint8_t aead_ietf_657[]={218,42,149,107,};
-static uint8_t aead_ietf_658[]={27,0,102,};
-static uint8_t aead_ietf_659[]={89,92,64,70,83,110,12,33,241,142,87,139,205,45,114,127,50,62,170,};
-static uint8_t aead_ietf_660[]={83,220,166,126,239,46,79,126,236,85,10,188,49,118,66,28,248,120,119,168,5,202,65,135,110,241,191,237,68,123,47,164,};
-static uint8_t aead_ietf_661[]={41,63,225,48,127,166,165,226,100,82,234,201,51,1,78,206,173,133,54,216,7,88,230,250,};
-static uint8_t aead_ietf_662[]={60,196,55,178,};
-static uint8_t aead_ietf_663[]={209,157,34,190,};
-static uint8_t aead_ietf_664[]={77,200,2,247,93,81,67,100,159,128,65,77,12,41,58,111,86,75,218,45,};
-static uint8_t aead_ietf_665[]={92,91,132,245,255,236,164,142,162,95,144,153,163,148,252,134,137,67,66,80,213,170,108,238,13,75,50,93,182,184,36,12,};
-static uint8_t aead_ietf_666[]={143,139,162,45,2,151,165,36,48,114,22,98,86,76,59,173,253,32,17,5,210,182,19,110,};
-static uint8_t aead_ietf_667[]={52,21,47,69,};
-static uint8_t aead_ietf_668[]={235,211,111,141,84,};
-static uint8_t aead_ietf_669[]={16,179,35,189,38,247,143,102,121,86,77,201,225,130,191,82,43,97,167,2,103,};
-static uint8_t aead_ietf_670[]={210,119,153,193,236,137,54,231,68,101,32,105,99,211,178,214,121,220,127,47,79,200,59,123,169,170,217,49,164,41,14,218,};
-static uint8_t aead_ietf_671[]={122,164,228,187,4,247,142,92,116,140,75,100,59,220,11,97,248,244,120,150,123,227,32,90,};
-static uint8_t aead_ietf_672[]={67,54,23,146,};
-static uint8_t aead_ietf_673[]={247,49,68,38,117,229,};
-static uint8_t aead_ietf_674[]={8,146,125,148,144,95,173,190,234,2,157,222,186,163,121,188,12,55,187,112,21,99,};
-static uint8_t aead_ietf_675[]={1,175,117,252,120,112,64,112,45,254,101,126,138,30,219,87,222,17,77,138,136,86,70,55,12,243,128,26,126,19,143,68,};
-static uint8_t aead_ietf_676[]={235,213,94,5,115,142,159,158,183,107,191,97,97,1,9,98,32,209,29,237,23,75,10,5,};
-static uint8_t aead_ietf_677[]={228,43,128,135,};
-static uint8_t aead_ietf_678[]={239,234,201,205,132,252,77,};
-static uint8_t aead_ietf_679[]={211,221,87,161,86,183,61,141,175,55,147,177,244,192,248,152,12,236,95,79,28,86,34,};
-static uint8_t aead_ietf_680[]={232,107,94,98,66,158,147,179,73,135,218,243,160,12,17,134,5,11,98,123,68,60,69,231,122,254,238,252,173,35,6,194,};
-static uint8_t aead_ietf_681[]={111,253,201,142,244,237,119,177,60,159,180,123,179,78,52,57,189,220,111,247,72,53,167,118,};
-static uint8_t aead_ietf_682[]={151,141,223,158,};
-static uint8_t aead_ietf_683[]={195,42,57,154,247,58,53,197,};
-static uint8_t aead_ietf_684[]={225,217,201,3,119,32,127,170,206,43,243,52,154,158,194,142,204,235,162,42,150,33,64,30,};
-static uint8_t aead_ietf_685[]={205,236,144,200,160,191,66,101,146,19,202,202,20,248,52,215,7,81,7,94,199,198,210,123,244,118,199,8,62,173,236,9,};
-static uint8_t aead_ietf_686[]={193,154,180,21,12,92,195,50,170,212,65,218,161,214,198,38,68,127,3,223,105,144,109,118,};
-static uint8_t aead_ietf_687[]={132,159,245,13,};
-static uint8_t aead_ietf_688[]={123,5,242,123,115,252,216,13,239,};
-static uint8_t aead_ietf_689[]={156,94,96,16,145,197,57,74,19,5,242,102,247,72,57,182,222,48,175,217,166,216,132,142,193,};
-static uint8_t aead_ietf_690[]={72,78,79,98,143,181,174,23,151,117,205,154,50,236,94,195,23,222,12,192,85,5,90,175,165,168,182,208,41,218,194,118,};
-static uint8_t aead_ietf_691[]={218,154,14,219,16,214,32,75,148,201,94,20,66,4,180,113,237,155,11,197,186,111,100,178,};
-static uint8_t aead_ietf_692[]={102,217,195,178,};
-static uint8_t aead_ietf_693[]={241,70,107,132,149,136,43,178,185,178,};
-static uint8_t aead_ietf_694[]={61,106,218,5,108,224,49,138,9,199,1,7,200,198,34,202,179,182,230,221,134,26,147,77,19,100,};
-static uint8_t aead_ietf_695[]={152,8,85,15,101,93,200,53,89,190,234,10,52,7,195,40,175,243,61,204,25,152,136,35,42,76,251,105,28,232,8,1,};
-static uint8_t aead_ietf_696[]={228,127,216,179,119,104,175,106,6,217,74,132,181,165,7,104,71,239,78,77,26,234,196,116,};
-static uint8_t aead_ietf_697[]={198,213,169,127,};
-static uint8_t aead_ietf_698[]={95,211,49,60,218,64,87,196,94,10,172,};
-static uint8_t aead_ietf_699[]={242,66,232,52,153,234,11,243,221,211,151,192,148,14,189,226,190,94,202,123,190,186,229,152,78,238,189,};
-static uint8_t aead_ietf_700[]={84,115,216,26,9,174,222,206,22,211,7,254,4,219,234,59,155,224,129,168,44,132,223,134,234,141,1,240,85,9,188,0,};
-static uint8_t aead_ietf_701[]={79,72,160,210,226,97,99,44,93,32,108,180,251,102,197,218,217,150,241,134,235,233,182,145,};
-static uint8_t aead_ietf_702[]={113,206,156,154,};
-static uint8_t aead_ietf_703[]={18,254,181,6,154,188,153,41,7,107,94,19,};
-static uint8_t aead_ietf_704[]={211,213,182,74,63,226,126,112,31,49,67,255,121,193,222,131,116,179,103,4,47,213,195,117,79,35,40,119,};
-static uint8_t aead_ietf_705[]={41,186,188,128,131,201,164,230,148,49,255,156,241,195,130,171,179,101,173,75,48,160,74,131,21,124,93,61,156,59,123,213,};
-static uint8_t aead_ietf_706[]={94,129,106,114,167,3,207,230,194,178,197,4,206,223,30,208,202,68,19,6,242,39,109,63,};
-static uint8_t aead_ietf_707[]={174,251,9,2,};
-static uint8_t aead_ietf_708[]={5,131,91,213,42,11,114,252,72,235,52,193,30,};
-static uint8_t aead_ietf_709[]={217,129,8,72,62,112,82,62,5,25,96,36,177,244,141,105,40,181,122,139,150,234,45,61,195,250,209,184,30,};
-static uint8_t aead_ietf_710[]={219,35,76,56,250,210,18,170,41,11,142,194,167,161,189,14,98,240,47,22,73,95,35,2,255,97,215,237,111,219,94,131,};
-static uint8_t aead_ietf_711[]={91,129,206,122,170,27,141,235,218,164,151,251,70,151,222,162,204,242,65,106,24,123,123,24,};
-static uint8_t aead_ietf_712[]={176,188,154,49,};
-static uint8_t aead_ietf_713[]={108,249,198,190,144,254,59,72,112,203,7,57,125,220,};
-static uint8_t aead_ietf_714[]={106,89,163,42,60,235,106,212,82,10,251,80,208,236,120,245,99,12,192,55,198,96,62,213,50,111,41,198,10,167,};
-static uint8_t aead_ietf_715[]={40,180,138,104,156,21,25,233,142,67,186,45,172,121,106,192,228,0,130,229,70,226,31,9,102,153,98,162,138,217,54,17,};
-static uint8_t aead_ietf_716[]={28,248,253,199,92,185,55,170,4,102,180,110,253,198,163,21,75,72,81,180,217,44,242,137,};
-static uint8_t aead_ietf_717[]={90,237,209,163,};
-static uint8_t aead_ietf_718[]={137,225,4,160,154,181,116,63,51,75,74,8,244,79,125,};
-static uint8_t aead_ietf_719[]={66,90,35,148,127,129,77,185,139,131,226,102,36,253,251,45,124,111,38,85,143,93,125,206,30,140,140,209,162,247,220,};
-static uint8_t aead_ietf_720[]={77,84,167,127,29,83,67,42,80,168,255,68,223,8,24,222,122,101,10,74,220,26,126,14,103,147,130,188,14,75,183,65,};
-static uint8_t aead_ietf_721[]={201,14,27,41,134,115,142,96,154,214,8,137,214,232,50,63,20,33,198,89,108,41,60,88,};
-static uint8_t aead_ietf_722[]={246,70,7,252,};
-static uint8_t aead_ietf_723[]={40,218,158,247,116,173,248,158,217,94,6,214,128,8,149,95,};
-static uint8_t aead_ietf_724[]={169,152,99,47,151,58,184,176,134,198,60,195,69,217,155,45,69,237,203,101,220,26,238,58,81,255,178,215,3,144,200,71,};
-static uint8_t aead_ietf_725[]={102,28,89,220,213,81,142,20,153,214,60,216,249,14,241,43,0,147,29,21,7,51,140,156,190,83,121,183,32,60,2,71,};
-static uint8_t aead_ietf_726[]={10,54,181,178,220,235,108,5,242,117,34,212,81,181,65,59,113,31,5,225,192,226,133,202,};
-static uint8_t aead_ietf_727[]={178,159,229,236,};
-static uint8_t aead_ietf_728[]={158,213,35,56,111,202,221,209,43,25,207,116,239,169,144,184,37,};
-static uint8_t aead_ietf_729[]={44,21,180,201,151,138,19,149,122,236,203,45,123,170,135,226,153,156,28,65,67,135,41,124,144,181,241,178,103,156,10,131,36,};
-static uint8_t aead_ietf_730[]={218,197,88,156,181,129,35,149,5,251,114,151,127,241,247,99,180,217,74,209,224,86,40,167,140,45,133,207,22,65,184,107,};
-static uint8_t aead_ietf_731[]={201,178,144,46,81,12,74,29,202,97,199,242,80,228,97,18,18,240,190,229,171,200,249,244,};
-static uint8_t aead_ietf_732[]={62,119,152,7,};
-static uint8_t aead_ietf_733[]={210,154,0,155,241,226,231,229,183,61,243,74,8,53,57,114,128,58,};
-static uint8_t aead_ietf_734[]={49,232,222,232,125,100,83,83,111,64,186,84,201,145,219,112,175,245,207,107,229,221,216,44,46,183,243,139,94,240,239,239,208,196,};
-static uint8_t aead_ietf_735[]={63,56,44,165,216,183,23,104,186,125,37,140,222,169,31,110,117,93,0,86,154,16,96,58,213,207,129,107,13,25,49,159,};
-static uint8_t aead_ietf_736[]={79,57,209,42,171,91,163,202,39,70,32,230,40,253,9,17,21,225,20,129,201,176,250,226,};
-static uint8_t aead_ietf_737[]={83,110,99,110,};
-static uint8_t aead_ietf_738[]={195,106,142,138,169,26,88,210,6,127,255,60,124,121,86,4,63,7,77,};
-static uint8_t aead_ietf_739[]={177,144,166,49,164,111,97,64,150,91,226,42,229,30,151,70,63,97,19,180,53,159,116,194,158,67,21,76,66,21,30,160,82,4,34,};
-static uint8_t aead_ietf_740[]={55,253,246,75,70,212,198,144,181,158,209,177,209,144,57,212,70,245,225,248,133,113,115,50,101,24,161,106,8,90,19,140,};
-static uint8_t aead_ietf_741[]={176,66,167,59,218,66,23,177,214,125,248,113,23,32,5,85,128,76,36,162,190,134,95,26,};
-static uint8_t aead_ietf_742[]={244,54,106,172,};
-static uint8_t aead_ietf_743[]={253,245,145,4,76,183,191,42,70,27,76,167,110,1,67,139,213,10,45,104,};
-static uint8_t aead_ietf_744[]={28,45,18,85,70,175,62,232,175,174,136,109,181,174,116,20,175,18,33,175,127,222,142,94,202,157,187,253,120,126,92,233,48,74,198,48,};
-static uint8_t aead_ietf_745[]={225,247,1,122,153,61,83,252,93,56,133,128,113,102,24,183,184,146,255,37,219,165,127,166,251,17,191,205,139,49,181,194,};
-static uint8_t aead_ietf_746[]={250,91,164,116,161,246,182,198,35,133,188,249,220,201,3,208,122,185,98,226,205,38,190,248,};
-static uint8_t aead_ietf_747[]={199,149,89,41,};
-static uint8_t aead_ietf_748[]={99,203,46,13,65,135,49,111,214,228,93,47,88,58,248,225,216,150,137,233,136,};
-static uint8_t aead_ietf_749[]={154,101,22,50,48,215,182,132,218,218,78,223,154,199,220,173,224,184,162,140,88,243,47,75,186,154,197,35,113,202,143,246,54,162,152,139,204,};
-static uint8_t aead_ietf_750[]={196,239,72,109,221,148,161,209,227,230,83,127,71,141,7,203,182,21,42,2,82,117,225,4,171,161,123,70,125,161,188,22,};
-static uint8_t aead_ietf_751[]={211,58,169,5,104,92,111,70,88,96,105,7,45,52,206,36,200,85,26,35,122,126,234,233,};
-static uint8_t aead_ietf_752[]={191,178,55,203,};
-static uint8_t aead_ietf_753[]={195,171,123,38,28,204,223,123,165,147,41,200,24,58,28,205,209,50,129,8,160,168,};
-static uint8_t aead_ietf_754[]={59,61,135,168,205,178,121,96,190,51,189,76,31,217,186,8,51,129,123,224,52,56,205,210,46,87,149,179,212,216,122,182,241,68,84,116,192,44,};
-static uint8_t aead_ietf_755[]={79,147,94,103,222,55,5,97,11,112,142,173,222,136,11,185,39,235,27,245,196,126,111,205,207,1,146,100,145,96,253,249,};
-static uint8_t aead_ietf_756[]={52,151,224,62,244,59,35,89,58,65,71,74,253,234,62,220,139,106,9,188,44,62,50,91,};
-static uint8_t aead_ietf_757[]={18,195,7,91,};
-static uint8_t aead_ietf_758[]={54,65,233,72,55,156,101,4,229,21,45,97,93,232,81,125,122,236,196,230,70,12,178,};
-static uint8_t aead_ietf_759[]={169,110,170,79,148,190,96,28,214,76,209,246,60,138,76,50,250,230,166,60,71,34,213,210,223,170,29,205,32,50,207,187,254,234,59,182,33,179,251,};
-static uint8_t aead_ietf_760[]={122,193,83,219,43,172,232,14,14,173,87,175,194,242,131,13,205,114,206,115,170,104,104,176,220,249,235,141,145,167,42,237,};
-static uint8_t aead_ietf_761[]={206,115,233,106,27,230,185,127,5,155,215,9,47,183,9,81,208,234,121,83,251,21,161,165,};
-static uint8_t aead_ietf_762[]={153,238,204,135,};
-static uint8_t aead_ietf_763[]={43,140,236,39,134,223,73,45,68,34,211,168,57,180,99,20,58,69,173,118,170,5,103,146,};
-static uint8_t aead_ietf_764[]={7,160,35,113,146,7,215,247,68,46,252,192,81,180,41,242,217,197,41,88,68,255,234,48,81,51,195,136,63,44,90,234,23,171,133,228,93,237,29,136,};
-static uint8_t aead_ietf_765[]={9,80,87,145,218,5,163,59,124,52,188,145,207,75,135,145,44,202,97,136,166,221,66,145,221,243,118,63,230,201,231,113,};
-static uint8_t aead_ietf_766[]={242,8,119,157,69,104,217,157,229,170,102,181,68,167,49,148,2,152,237,68,206,76,77,184,};
-static uint8_t aead_ietf_767[]={30,58,90,10,};
-static uint8_t aead_ietf_768[]={36,217,65,201,197,249,79,122,15,34,12,88,108,29,106,43,105,218,30,53,239,150,129,93,116,};
-static uint8_t aead_ietf_769[]={112,167,117,126,177,217,234,53,35,123,205,174,90,155,207,40,137,24,199,195,121,70,1,50,73,18,113,78,201,40,188,246,152,16,104,81,100,206,24,67,8,};
-static uint8_t aead_ietf_770[]={50,56,20,179,163,12,218,70,160,244,157,163,233,33,79,86,18,61,129,120,188,121,134,115,132,15,100,208,47,120,46,174,};
-static uint8_t aead_ietf_771[]={203,201,4,236,214,212,202,109,79,51,246,233,68,47,112,189,174,18,8,97,207,143,76,91,};
-static uint8_t aead_ietf_772[]={123,32,137,180,};
-static uint8_t aead_ietf_773[]={139,75,201,155,249,212,208,115,22,65,88,217,19,206,100,169,254,64,241,1,174,172,74,106,77,73,};
-static uint8_t aead_ietf_774[]={149,31,105,7,246,208,10,110,13,125,179,171,198,244,11,19,163,19,63,157,180,196,239,160,13,17,162,41,245,238,134,179,165,146,23,254,68,235,50,210,30,190,};
-static uint8_t aead_ietf_775[]={185,217,147,17,171,90,204,140,211,55,66,127,23,56,218,159,246,161,98,164,91,49,151,33,136,254,72,44,106,229,76,239,};
-static uint8_t aead_ietf_776[]={125,71,83,211,40,181,82,227,159,198,55,159,89,92,16,25,163,209,52,26,172,180,128,143,};
-static uint8_t aead_ietf_777[]={160,230,255,128,};
-static uint8_t aead_ietf_778[]={150,52,156,80,73,25,88,71,232,193,182,57,183,251,40,197,0,100,21,138,45,23,249,93,124,57,75,};
-static uint8_t aead_ietf_779[]={0,217,192,150,195,173,98,242,149,95,89,147,156,90,110,182,208,247,133,168,10,164,105,87,242,106,248,233,197,78,29,227,156,151,186,177,98,250,92,4,60,211,89,};
-static uint8_t aead_ietf_780[]={230,153,52,69,77,152,10,69,138,198,217,116,219,26,180,251,87,209,197,21,0,174,105,248,57,99,183,3,21,245,19,206,};
-static uint8_t aead_ietf_781[]={215,37,1,187,227,143,100,217,15,114,38,17,97,200,2,109,21,92,157,34,63,214,33,183,};
-static uint8_t aead_ietf_782[]={24,15,150,70,};
-static uint8_t aead_ietf_783[]={253,141,146,247,70,34,219,94,234,204,15,70,63,229,225,132,95,162,113,29,35,103,255,130,196,99,208,211,};
-static uint8_t aead_ietf_784[]={101,56,99,93,159,211,254,244,188,132,16,19,137,254,67,252,14,30,26,165,0,247,169,197,107,109,91,123,35,35,35,125,22,92,194,233,182,251,116,33,99,112,133,0,};
-static uint8_t aead_ietf_785[]={152,110,245,226,80,214,166,239,171,49,84,52,136,111,184,136,22,13,231,136,93,40,27,7,21,235,71,99,225,29,4,81,};
-static uint8_t aead_ietf_786[]={149,236,96,8,196,195,89,99,119,118,136,97,62,53,13,202,7,199,36,197,58,190,56,1,};
-static uint8_t aead_ietf_787[]={52,91,124,85,};
-static uint8_t aead_ietf_788[]={149,114,146,239,58,111,103,76,144,167,190,157,139,176,46,35,122,78,198,187,21,202,236,12,233,83,72,70,51,};
-static uint8_t aead_ietf_789[]={205,167,199,143,95,254,181,68,49,238,205,86,6,101,5,5,101,6,118,247,232,75,80,4,253,66,149,32,80,88,211,65,159,79,241,199,201,55,140,33,254,178,77,135,168,};
-static uint8_t aead_ietf_790[]={163,242,32,157,130,30,246,29,98,23,134,241,63,30,121,143,238,98,221,180,124,229,67,142,175,234,145,25,33,8,30,57,};
-static uint8_t aead_ietf_791[]={23,245,194,96,232,44,1,115,109,201,32,145,184,185,71,81,110,69,26,81,169,16,136,114,};
-static uint8_t aead_ietf_792[]={27,27,93,2,};
-static uint8_t aead_ietf_793[]={19,28,82,251,40,52,92,85,143,138,250,194,227,20,73,222,84,219,21,33,158,212,38,188,120,207,15,86,108,199,};
-static uint8_t aead_ietf_794[]={21,146,174,146,239,50,246,199,61,59,187,88,93,198,212,75,71,119,139,51,99,161,197,57,46,35,20,152,236,44,162,42,117,252,235,229,218,67,179,60,56,106,231,253,202,153,};
-static uint8_t aead_ietf_795[]={220,70,243,193,200,60,177,212,39,255,45,164,248,149,102,68,78,66,96,11,244,26,229,222,116,206,19,196,111,102,142,56,};
-static uint8_t aead_ietf_796[]={117,34,148,194,223,179,149,241,29,188,230,142,19,120,49,110,168,0,187,177,50,193,25,169,};
-static uint8_t aead_ietf_797[]={99,115,66,30,};
-static uint8_t aead_ietf_798[]={57,127,66,87,164,37,108,111,54,47,39,185,136,117,57,53,44,195,151,175,186,209,209,37,129,23,201,239,200,140,248,};
-static uint8_t aead_ietf_799[]={134,223,230,150,121,148,228,218,52,148,73,230,36,246,38,188,185,30,189,197,238,176,9,33,118,124,59,180,111,51,84,200,174,228,165,32,41,5,83,60,199,44,129,2,229,166,84,};
-static uint8_t aead_ietf_800[]={199,203,238,187,108,112,68,231,169,76,250,138,2,251,65,113,33,36,214,139,84,190,95,212,155,72,199,144,128,191,15,28,};
-static uint8_t aead_ietf_801[]={5,122,215,150,92,72,10,96,121,186,157,111,246,190,36,114,160,92,164,103,185,158,195,214,};
-static uint8_t aead_ietf_802[]={240,121,99,171,};
-static uint8_t aead_ietf_803[]={111,103,197,42,154,219,90,53,66,20,25,121,163,126,31,31,161,176,43,135,186,173,36,175,23,214,90,28,60,171,25,148,};
-static uint8_t aead_ietf_804[]={27,40,37,192,36,126,139,9,172,229,1,128,45,29,243,92,142,254,39,41,241,59,204,24,186,41,79,60,146,99,197,67,78,170,103,132,56,99,15,130,84,214,2,225,188,16,38,190,};
-static uint8_t aead_ietf_805[]={185,59,150,119,140,149,108,157,73,227,226,251,108,103,162,111,215,176,57,162,213,85,56,187,140,244,166,98,5,106,150,150,};
-static uint8_t aead_ietf_806[]={124,146,103,18,192,237,114,77,106,121,57,30,38,96,35,15,169,207,194,171,46,17,40,177,};
-static uint8_t aead_ietf_807[]={172,7,15,135,};
-static uint8_t aead_ietf_808[]={201,166,238,2,200,11,199,228,223,89,98,19,2,6,49,199,160,94,196,172,97,138,213,184,210,54,12,46,88,213,42,51,225,};
-static uint8_t aead_ietf_809[]={234,61,220,189,178,232,245,166,15,179,189,158,141,57,109,130,139,160,244,129,68,230,157,56,225,210,198,233,245,194,221,181,151,116,185,140,188,91,80,217,196,238,30,97,207,246,203,185,112,};
-static uint8_t aead_ietf_810[]={131,217,126,169,255,177,32,108,219,51,34,35,97,139,108,190,91,214,13,136,0,223,221,72,173,41,117,196,42,135,158,92,};
-static uint8_t aead_ietf_811[]={250,97,92,185,64,133,190,119,187,126,50,154,232,14,160,223,168,7,226,90,151,190,142,65,};
-static uint8_t aead_ietf_812[]={204,218,247,135,};
-static uint8_t aead_ietf_813[]={253,19,202,223,226,62,220,225,249,18,67,170,63,166,249,93,205,140,43,148,13,31,110,156,40,252,139,120,103,44,121,229,14,126,};
-static uint8_t aead_ietf_814[]={96,203,191,89,231,239,234,34,141,221,14,208,2,219,211,249,190,219,171,70,129,8,232,227,104,71,124,217,4,107,226,217,6,145,115,3,163,173,132,144,75,198,50,138,97,226,235,47,99,130,};
-static uint8_t aead_ietf_815[]={109,187,29,246,163,32,149,247,220,252,177,89,178,209,195,36,98,194,162,147,172,103,55,65,220,154,92,101,51,239,148,176,};
-static uint8_t aead_ietf_816[]={159,70,154,168,238,133,34,61,168,92,71,92,157,233,130,95,183,1,136,122,250,84,93,130,};
-static uint8_t aead_ietf_817[]={115,73,229,156,};
-static uint8_t aead_ietf_818[]={235,188,232,75,176,249,13,204,239,132,4,9,163,154,99,105,93,229,114,0,104,14,157,41,68,18,182,194,173,178,98,212,108,35,6,};
-static uint8_t aead_ietf_819[]={217,203,177,170,245,138,69,209,11,239,56,62,169,156,176,108,188,69,228,228,233,177,29,100,214,154,29,197,205,81,14,115,216,240,37,129,125,84,96,219,222,56,194,210,213,169,147,208,162,111,251,};
-static uint8_t aead_ietf_820[]={19,120,124,143,46,111,1,218,67,207,37,131,128,96,191,76,102,254,156,167,211,40,167,64,77,2,190,108,73,75,82,220,};
-static uint8_t aead_ietf_821[]={94,80,119,40,221,224,24,152,23,179,150,21,233,172,68,219,185,107,73,41,27,97,202,126,};
-static uint8_t aead_ietf_822[]={104,66,116,169,};
-static uint8_t aead_ietf_823[]={144,193,0,46,192,66,109,167,152,80,127,166,39,232,0,99,185,93,136,22,92,146,118,50,0,62,209,13,3,222,128,57,34,125,100,237,};
-static uint8_t aead_ietf_824[]={233,246,131,85,5,75,135,2,41,163,223,205,12,255,16,208,243,36,99,214,33,22,222,221,183,52,166,48,217,109,56,209,231,52,84,90,15,196,25,247,128,111,1,10,28,170,165,84,92,22,104,114,};
-static uint8_t aead_ietf_825[]={42,148,135,68,181,177,38,174,80,250,93,95,99,160,143,132,13,169,10,214,3,208,54,13,154,4,242,63,103,82,12,34,};
-static uint8_t aead_ietf_826[]={110,254,173,29,111,222,65,202,193,55,146,152,212,223,245,119,129,186,129,175,206,66,60,76,};
-static uint8_t aead_ietf_827[]={237,159,187,195,};
-static uint8_t aead_ietf_828[]={242,194,65,148,104,48,69,182,149,151,29,107,25,39,158,220,197,12,62,191,150,20,189,186,112,65,17,215,40,210,49,93,57,148,254,81,102,};
-static uint8_t aead_ietf_829[]={199,33,221,92,151,136,37,143,221,145,122,238,230,122,41,79,216,191,123,155,83,114,19,194,32,107,176,85,132,151,107,159,253,196,194,46,76,43,237,8,243,123,105,255,104,10,14,34,139,141,78,52,184,};
-static uint8_t aead_ietf_830[]={48,36,77,62,35,129,44,122,23,94,212,96,159,217,243,236,9,67,30,144,113,55,255,119,190,182,123,88,172,233,112,179,};
-static uint8_t aead_ietf_831[]={202,206,249,210,197,211,31,65,203,125,97,246,35,186,90,97,85,38,192,186,185,5,149,178,};
-static uint8_t aead_ietf_832[]={32,67,16,12,};
-static uint8_t aead_ietf_833[]={204,196,199,194,205,227,4,98,50,128,142,80,50,108,60,103,162,68,43,192,79,230,206,31,108,1,224,27,252,240,55,199,17,55,65,40,42,162,};
-static uint8_t aead_ietf_834[]={150,209,235,30,143,136,233,14,242,157,33,79,76,242,213,250,160,113,50,78,0,92,181,230,186,59,87,138,122,246,8,212,126,174,97,165,231,145,210,138,130,214,182,150,230,12,38,38,180,121,190,63,219,115,};
-static uint8_t aead_ietf_835[]={160,203,69,238,152,23,237,187,114,108,108,198,153,192,218,77,63,103,22,241,72,73,30,111,21,226,191,60,5,244,66,44,};
-static uint8_t aead_ietf_836[]={51,50,64,174,240,144,38,253,114,125,200,164,218,238,86,72,189,154,164,59,244,40,72,119,};
-static uint8_t aead_ietf_837[]={41,82,16,204,};
-static uint8_t aead_ietf_838[]={154,215,98,87,61,29,187,102,205,29,104,100,34,173,67,57,103,7,211,172,159,67,59,126,196,189,122,12,219,166,195,12,15,166,223,213,72,69,21,};
-static uint8_t aead_ietf_839[]={93,31,194,239,202,163,173,238,9,102,161,229,150,172,120,116,247,236,24,51,166,88,72,238,176,118,232,46,16,48,104,75,216,176,42,113,242,0,57,237,17,0,81,107,137,252,37,58,131,50,194,4,141,224,243,};
-static uint8_t aead_ietf_840[]={193,209,198,88,24,132,71,64,254,94,52,230,58,167,174,2,38,67,0,208,155,200,133,247,135,155,164,116,112,226,213,241,};
-static uint8_t aead_ietf_841[]={177,224,14,13,56,220,122,202,240,220,250,67,228,193,132,181,52,131,88,7,93,166,213,166,};
-static uint8_t aead_ietf_842[]={20,205,251,223,};
-static uint8_t aead_ietf_843[]={203,255,189,149,13,253,44,32,144,68,119,87,164,6,115,228,139,165,91,73,125,124,189,73,238,14,217,42,194,218,201,67,137,232,0,176,251,19,242,196,};
-static uint8_t aead_ietf_844[]={139,255,59,110,175,160,175,30,149,204,64,139,72,3,108,108,196,31,210,243,78,130,234,124,41,47,129,232,94,20,229,221,83,235,91,33,158,170,164,185,41,62,20,206,245,95,242,169,202,162,159,94,216,12,51,127,};
-static uint8_t aead_ietf_845[]={104,145,213,175,224,228,111,56,43,255,247,12,11,97,127,111,178,182,111,153,103,101,106,201,158,243,87,66,77,50,157,137,};
-static uint8_t aead_ietf_846[]={30,57,188,26,55,104,132,202,204,13,137,141,146,124,97,103,46,250,97,161,234,185,131,239,};
-static uint8_t aead_ietf_847[]={227,30,199,217,};
-static uint8_t aead_ietf_848[]={156,57,7,210,143,141,2,126,156,171,245,63,127,178,17,150,78,191,194,154,186,194,168,247,218,35,72,233,183,162,166,100,225,77,145,232,22,115,228,130,206,};
-static uint8_t aead_ietf_849[]={222,196,244,131,36,118,47,153,103,97,173,192,166,231,200,80,185,108,66,59,212,170,119,11,53,253,232,235,26,59,9,67,123,43,69,248,231,51,185,130,254,174,12,42,184,161,39,117,59,19,1,108,125,21,140,188,64,};
-static uint8_t aead_ietf_850[]={18,151,84,103,86,147,76,71,33,35,140,42,95,37,223,72,158,141,61,253,229,189,101,88,77,159,163,128,60,17,161,173,};
-static uint8_t aead_ietf_851[]={221,254,180,31,158,46,63,207,17,200,207,172,160,240,230,166,67,116,47,187,137,230,53,104,};
-static uint8_t aead_ietf_852[]={115,185,255,71,};
-static uint8_t aead_ietf_853[]={149,208,184,151,81,125,63,230,164,201,215,172,77,114,90,226,2,249,27,153,112,23,170,181,171,160,8,112,184,185,145,97,210,223,235,169,127,10,210,46,216,194,};
-static uint8_t aead_ietf_854[]={8,45,123,113,203,70,72,137,71,244,0,223,248,134,249,158,221,176,106,255,33,162,181,143,44,242,151,96,56,226,67,141,136,29,226,130,74,159,125,160,170,1,132,249,16,103,215,216,223,79,197,240,215,240,189,74,105,209,};
-static uint8_t aead_ietf_855[]={171,229,44,132,233,79,223,179,73,164,142,95,7,234,242,14,165,2,129,172,32,42,244,31,59,213,195,40,239,214,95,20,};
-static uint8_t aead_ietf_856[]={61,240,59,68,221,48,246,7,35,106,162,99,23,212,115,179,93,195,144,28,56,51,200,199,};
-static uint8_t aead_ietf_857[]={52,43,5,238,};
-static uint8_t aead_ietf_858[]={142,130,153,153,202,218,50,14,143,151,33,126,137,59,233,54,15,99,116,90,144,39,156,153,4,228,91,154,146,90,49,139,183,137,183,11,232,143,195,74,202,136,202,};
-static uint8_t aead_ietf_859[]={187,174,72,231,2,239,147,13,89,201,138,120,237,133,30,4,217,193,148,203,48,195,138,56,62,106,67,207,180,232,114,247,148,141,208,131,85,252,218,115,189,30,254,160,148,68,142,151,65,19,35,65,100,218,7,184,143,11,11,};
-static uint8_t aead_ietf_860[]={205,48,155,4,156,95,15,209,189,97,41,38,246,111,88,162,176,188,0,119,80,185,123,85,225,157,96,238,53,222,87,59,};
-static uint8_t aead_ietf_861[]={226,189,24,249,73,117,9,71,39,162,243,172,135,204,160,168,101,239,19,203,174,249,162,133,};
-static uint8_t aead_ietf_862[]={39,246,174,253,};
-static uint8_t aead_ietf_863[]={151,241,108,170,29,168,102,219,29,224,253,209,97,195,14,8,195,59,175,22,169,249,31,255,201,42,215,188,22,156,65,134,92,88,199,140,176,96,89,24,31,241,177,207,};
-static uint8_t aead_ietf_864[]={185,30,198,222,251,194,118,36,34,165,220,159,151,81,72,21,39,225,69,228,151,248,234,171,102,87,139,73,190,131,193,154,59,108,31,66,190,245,59,70,74,61,169,193,112,170,162,230,80,2,63,172,20,2,36,66,91,32,196,205,};
-static uint8_t aead_ietf_865[]={132,73,1,12,151,7,109,114,12,205,250,69,194,23,15,72,121,153,205,170,232,80,220,165,171,139,64,95,189,43,23,138,};
-static uint8_t aead_ietf_866[]={25,231,221,117,110,115,179,63,181,40,76,122,103,26,66,240,54,236,160,86,114,144,187,116,};
-static uint8_t aead_ietf_867[]={102,23,102,23,};
-static uint8_t aead_ietf_868[]={219,112,48,245,130,216,28,15,241,83,115,18,163,140,190,18,227,22,165,44,67,80,103,205,214,45,194,121,119,28,89,164,156,134,126,85,22,33,119,187,228,211,9,231,43,};
-static uint8_t aead_ietf_869[]={71,16,6,246,242,203,52,17,88,184,29,249,76,62,88,170,87,122,236,1,180,191,4,25,160,213,238,227,161,197,245,42,253,212,82,19,196,119,223,26,252,229,200,28,90,19,33,63,190,205,107,97,0,233,197,248,27,85,128,172,135,};
-static uint8_t aead_ietf_870[]={243,65,221,230,157,189,121,27,246,128,143,110,219,19,204,255,36,45,8,148,157,201,211,206,84,148,205,122,69,25,59,190,};
-static uint8_t aead_ietf_871[]={97,37,206,151,14,80,253,159,130,44,75,119,203,108,221,20,227,82,182,115,72,174,199,105,};
-static uint8_t aead_ietf_872[]={172,109,72,191,};
-static uint8_t aead_ietf_873[]={190,163,5,93,155,204,116,144,217,18,80,39,217,74,47,252,0,221,251,78,93,137,144,153,11,134,121,5,246,184,253,206,167,211,46,100,222,76,225,8,164,48,142,81,50,244,};
-static uint8_t aead_ietf_874[]={29,83,44,198,140,209,52,211,171,89,132,246,121,77,108,86,10,89,25,5,195,166,91,109,21,214,111,72,155,249,67,64,76,122,245,111,87,27,140,144,194,112,48,185,128,163,161,151,62,236,224,58,133,2,169,13,77,84,172,23,190,130,};
-static uint8_t aead_ietf_875[]={32,17,171,4,176,80,114,151,178,33,84,170,48,64,136,64,87,133,110,20,57,234,120,31,214,210,53,88,244,27,255,168,};
-static uint8_t aead_ietf_876[]={114,21,37,238,97,253,227,83,113,219,66,220,226,166,122,62,106,9,162,230,43,165,167,110,};
-static uint8_t aead_ietf_877[]={61,212,254,163,};
-static uint8_t aead_ietf_878[]={169,15,15,204,147,166,79,186,127,19,0,87,236,96,126,170,69,50,105,152,237,230,204,114,57,223,217,43,177,80,55,198,105,55,199,135,143,82,241,48,145,167,78,242,133,110,204,};
-static uint8_t aead_ietf_879[]={115,167,167,81,120,36,177,105,21,47,132,108,154,14,1,85,182,93,255,72,77,139,96,19,170,236,219,31,20,249,165,204,50,172,212,227,86,185,185,216,86,105,178,253,140,138,45,175,154,75,128,36,227,94,215,40,123,127,106,141,21,6,131,};
-static uint8_t aead_ietf_880[]={47,84,229,5,166,231,36,38,132,70,147,229,34,60,91,91,147,8,98,202,164,17,229,103,160,125,115,135,84,76,45,182,};
-static uint8_t aead_ietf_881[]={232,62,165,23,198,83,42,137,102,245,13,50,111,14,43,154,47,136,40,11,71,57,74,142,};
-static uint8_t aead_ietf_882[]={45,63,12,233,};
-static uint8_t aead_ietf_883[]={189,71,59,31,12,232,18,195,203,90,57,203,69,42,164,169,100,79,97,133,85,119,138,12,155,174,93,173,154,119,253,95,164,167,228,14,228,123,102,19,9,30,31,180,142,131,242,81,};
-static uint8_t aead_ietf_884[]={24,18,151,174,174,102,239,252,193,171,130,50,102,135,4,177,239,84,85,209,124,187,218,116,1,160,239,88,240,83,42,148,114,38,28,67,63,242,196,188,136,28,58,19,139,26,199,202,169,58,3,161,254,68,151,252,13,254,199,47,67,79,136,169,};
-static uint8_t aead_ietf_885[]={68,56,240,29,80,123,58,109,250,229,27,4,35,35,121,111,54,114,5,17,66,129,113,54,134,128,149,114,48,148,177,27,};
-static uint8_t aead_ietf_886[]={45,113,89,253,241,164,165,107,73,79,135,157,18,196,194,132,225,132,120,237,142,209,216,248,};
-static uint8_t aead_ietf_887[]={85,110,223,152,};
-static uint8_t aead_ietf_888[]={1,222,16,184,160,27,231,110,226,93,57,92,217,217,57,117,165,211,175,17,2,210,206,32,188,245,97,51,105,208,174,41,246,112,109,144,115,221,9,61,11,244,171,114,33,28,156,57,122,};
-static uint8_t aead_ietf_889[]={213,163,130,204,123,222,30,173,89,212,10,228,59,71,31,23,153,125,229,193,117,128,64,11,123,244,50,3,65,87,216,230,251,156,113,145,8,185,102,159,59,43,151,62,135,54,249,95,217,51,172,248,191,106,123,0,217,227,63,96,70,174,252,180,38,};
-static uint8_t aead_ietf_890[]={0,29,18,214,109,24,190,68,210,29,49,144,218,206,100,100,153,126,107,124,132,6,165,19,158,244,124,79,71,130,39,71,};
-static uint8_t aead_ietf_891[]={45,84,191,24,187,238,133,107,39,217,113,79,100,247,225,223,99,246,21,21,96,227,184,137,};
-static uint8_t aead_ietf_892[]={7,140,219,185,};
-static uint8_t aead_ietf_893[]={122,22,18,234,145,23,12,140,66,201,153,115,137,176,8,55,195,150,114,154,158,0,128,12,78,47,36,108,74,26,11,23,197,66,166,109,107,187,115,137,164,27,233,0,181,181,32,54,205,151,};
-static uint8_t aead_ietf_894[]={10,69,70,11,81,4,24,210,226,17,14,141,208,205,106,119,24,196,50,252,157,213,68,1,72,183,77,60,48,47,35,203,50,251,68,55,154,35,86,156,2,137,121,72,206,140,208,138,252,163,216,142,212,16,134,81,160,255,253,241,223,240,120,45,68,255,};
-static uint8_t aead_ietf_895[]={220,90,195,189,245,170,229,163,38,57,62,211,197,54,246,195,252,8,185,110,91,127,47,181,175,109,136,94,210,129,211,61,};
-static uint8_t aead_ietf_896[]={73,9,237,171,77,214,168,116,238,131,80,156,162,163,81,127,2,93,62,25,78,93,138,7,};
-static uint8_t aead_ietf_897[]={231,228,227,25,};
-static uint8_t aead_ietf_898[]={248,101,206,254,182,214,222,245,136,193,38,209,221,211,162,183,13,237,40,220,85,134,125,85,77,93,83,137,149,139,87,72,70,28,112,80,249,171,2,156,135,216,151,212,4,37,233,120,171,215,82,};
-static uint8_t aead_ietf_899[]={123,134,226,129,250,23,167,77,57,110,107,58,243,87,162,219,128,244,208,238,58,230,198,217,242,96,91,188,153,171,51,109,137,215,69,155,61,206,220,44,216,236,237,63,165,248,20,84,23,150,71,123,222,194,221,226,216,165,175,21,224,62,82,124,164,248,198,};
-static uint8_t aead_ietf_900[]={167,125,130,246,150,226,180,205,86,84,97,223,43,237,136,135,239,179,62,141,12,75,51,164,126,50,206,244,197,26,107,107,};
-static uint8_t aead_ietf_901[]={159,27,201,214,140,131,237,181,170,50,138,198,15,231,231,191,191,244,156,51,52,167,250,153,};
-static uint8_t aead_ietf_902[]={182,70,126,65,};
-static uint8_t aead_ietf_903[]={60,124,251,175,241,212,15,101,233,163,198,74,15,4,47,1,121,203,207,30,30,28,3,127,217,233,214,196,250,122,144,167,95,73,113,4,123,85,112,70,176,167,252,37,235,27,100,66,14,64,164,179,};
-static uint8_t aead_ietf_904[]={115,93,112,0,110,53,244,124,3,1,167,108,138,228,72,119,159,201,1,74,234,157,87,24,213,41,182,202,137,41,255,197,246,60,130,9,21,87,188,230,216,123,50,239,211,252,117,162,223,120,124,116,60,226,213,18,188,37,69,143,223,125,23,18,169,27,10,110,};
-static uint8_t aead_ietf_905[]={132,192,49,235,43,227,202,194,167,113,34,42,122,30,254,164,150,144,248,152,51,69,226,209,235,68,19,217,229,252,89,157,};
-static uint8_t aead_ietf_906[]={31,45,155,128,34,157,227,159,28,129,205,56,205,186,212,23,43,253,201,109,190,70,67,1,};
-static uint8_t aead_ietf_907[]={105,165,44,92,};
-static uint8_t aead_ietf_908[]={126,146,224,4,166,76,6,170,5,213,52,28,142,117,233,70,67,116,143,213,253,25,136,39,193,41,4,12,144,87,142,20,134,106,106,214,118,195,47,216,204,85,48,230,23,167,68,202,57,4,33,118,115,};
-static uint8_t aead_ietf_909[]={136,142,38,132,85,45,94,196,247,83,146,100,56,176,7,69,94,111,56,222,82,118,70,203,47,234,131,151,188,182,4,107,92,80,139,69,158,135,228,221,132,191,25,52,252,115,112,27,177,218,207,12,200,181,139,180,216,38,127,32,2,133,130,173,208,31,244,50,101,};
-static uint8_t aead_ietf_910[]={125,41,127,145,145,32,163,254,136,76,123,114,190,42,89,198,78,79,102,58,231,134,71,60,109,58,80,44,175,85,153,101,};
-static uint8_t aead_ietf_911[]={163,145,185,181,68,247,88,81,250,14,138,58,154,225,61,57,238,155,164,105,254,179,135,80,};
-static uint8_t aead_ietf_912[]={154,222,145,255,};
-static uint8_t aead_ietf_913[]={43,85,220,37,30,41,197,225,255,94,42,180,208,36,248,65,66,251,106,123,38,64,61,250,12,182,248,211,61,103,205,45,158,196,160,173,12,173,18,42,197,144,242,1,164,8,220,74,158,81,101,8,142,30,};
-static uint8_t aead_ietf_914[]={128,106,146,8,184,157,148,238,175,186,91,60,63,219,17,143,6,35,198,62,234,172,225,95,207,221,130,211,175,47,204,59,116,219,15,187,56,42,225,113,4,253,53,134,134,219,176,120,200,232,133,165,113,41,124,247,250,44,12,211,146,199,87,147,237,10,241,65,69,57,};
-static uint8_t aead_ietf_915[]={24,148,195,161,60,140,175,114,185,208,166,246,181,167,207,4,241,5,21,168,169,36,137,51,251,37,43,215,94,252,135,227,};
-static uint8_t aead_ietf_916[]={213,228,72,185,107,59,250,11,82,172,245,138,234,198,175,126,60,164,149,24,198,133,246,235,};
-static uint8_t aead_ietf_917[]={159,26,30,94,};
-static uint8_t aead_ietf_918[]={164,142,27,144,136,216,125,69,174,222,73,15,68,67,131,149,40,146,150,113,141,147,165,89,50,79,16,126,231,248,186,206,37,255,22,243,138,210,189,55,107,162,163,66,216,98,19,82,233,157,114,47,71,155,149,};
-static uint8_t aead_ietf_919[]={133,1,59,107,163,101,197,127,140,205,85,116,234,162,201,1,86,57,234,55,241,154,60,185,241,105,158,116,210,232,43,112,37,203,10,95,190,31,237,45,207,48,55,118,92,182,38,13,5,201,166,254,200,97,35,173,231,141,145,215,185,54,163,163,18,86,189,173,17,140,192,};
-static uint8_t aead_ietf_920[]={137,12,16,148,38,21,227,159,142,255,196,69,51,141,33,241,29,122,6,192,96,249,203,166,107,92,174,165,195,200,121,135,};
-static uint8_t aead_ietf_921[]={239,176,65,45,61,176,104,194,131,196,251,140,165,70,10,255,243,191,149,145,174,49,170,246,};
-static uint8_t aead_ietf_922[]={136,175,64,40,};
-static uint8_t aead_ietf_923[]={12,181,121,42,236,182,169,141,165,179,192,108,38,144,251,131,203,107,123,148,142,11,194,84,247,129,11,205,171,219,195,94,254,214,162,248,150,122,81,201,33,92,81,33,179,240,26,67,27,108,9,3,4,172,146,187,};
-static uint8_t aead_ietf_924[]={99,64,250,171,46,129,89,2,79,48,138,124,34,138,160,234,12,137,72,22,103,212,219,124,9,81,253,63,34,237,32,25,108,20,225,231,153,187,233,207,32,200,239,18,46,77,138,207,8,57,189,201,104,20,252,81,249,203,51,103,92,50,249,157,205,151,215,100,102,30,238,252,};
-static uint8_t aead_ietf_925[]={78,214,46,59,74,185,151,99,187,102,206,65,191,222,125,54,100,3,35,67,46,56,75,218,210,201,125,215,78,103,160,89,};
-static uint8_t aead_ietf_926[]={112,154,154,149,38,83,137,87,117,6,219,237,236,223,54,183,140,203,235,184,255,167,33,23,};
-static uint8_t aead_ietf_927[]={74,127,209,120,};
-static uint8_t aead_ietf_928[]={101,247,66,175,62,41,217,239,168,65,185,37,141,138,179,165,124,226,151,80,82,20,119,40,156,71,161,199,252,18,54,225,137,233,205,173,26,126,48,43,229,115,11,236,193,65,48,35,55,112,23,251,83,32,234,226,114,};
-static uint8_t aead_ietf_929[]={111,90,185,21,187,170,40,33,113,60,51,94,183,173,171,224,152,32,75,232,146,57,159,204,12,186,119,106,118,85,64,109,207,239,125,207,81,6,159,84,55,189,86,96,128,43,114,238,88,24,104,186,225,117,178,175,241,206,220,128,113,169,198,186,156,107,173,122,47,78,125,143,51,};
-static uint8_t aead_ietf_930[]={148,1,63,27,207,57,8,185,132,119,245,45,84,47,112,86,48,174,247,221,193,80,201,234,128,86,28,226,161,137,133,50,};
-static uint8_t aead_ietf_931[]={227,168,162,29,169,207,16,124,214,243,162,116,56,255,180,7,104,248,32,224,148,91,24,75,};
-static uint8_t aead_ietf_932[]={19,11,17,201,};
-static uint8_t aead_ietf_933[]={152,3,95,56,114,147,79,255,245,205,63,96,29,212,107,28,242,146,89,233,213,69,95,242,55,160,201,202,148,74,95,2,136,111,117,164,127,12,33,167,139,54,113,149,237,188,57,181,141,87,35,192,63,45,159,127,18,16,};
-static uint8_t aead_ietf_934[]={76,189,39,41,2,72,201,245,230,181,233,55,87,67,35,252,16,95,83,239,8,83,169,70,68,1,15,35,198,78,46,227,205,30,193,135,46,57,211,21,170,0,204,139,151,34,126,123,242,104,133,177,253,156,171,130,66,85,33,132,234,193,27,145,44,164,4,241,255,44,102,104,104,4,};
-static uint8_t aead_ietf_935[]={230,183,49,229,224,227,250,109,224,7,99,5,74,157,43,33,227,58,63,65,131,96,94,247,136,158,8,185,110,220,118,156,};
-static uint8_t aead_ietf_936[]={147,101,229,10,233,25,116,31,171,92,71,142,161,22,72,45,10,234,218,243,69,205,59,24,};
-static uint8_t aead_ietf_937[]={241,190,43,248,};
-static uint8_t aead_ietf_938[]={232,215,80,183,225,143,106,133,10,45,95,52,241,53,164,27,158,147,99,65,239,103,4,163,179,51,149,169,239,10,82,5,85,27,21,16,162,235,116,242,128,108,222,80,221,122,86,244,79,46,233,131,154,81,146,150,182,181,152,};
-static uint8_t aead_ietf_939[]={21,252,69,176,87,183,190,91,229,70,115,143,76,193,191,21,142,99,41,25,174,253,69,195,244,55,73,144,204,38,21,105,24,172,109,119,188,128,108,28,135,41,190,35,146,205,196,221,216,143,187,213,123,16,209,66,181,66,75,180,142,2,19,160,109,223,9,2,152,193,152,97,228,92,212,};
-static uint8_t aead_ietf_940[]={204,73,243,186,176,28,82,44,35,19,178,176,134,136,215,57,195,14,7,116,41,175,245,214,39,60,33,36,79,13,150,55,};
-static uint8_t aead_ietf_941[]={239,175,181,244,22,164,23,48,190,30,78,207,249,85,27,56,174,77,211,165,6,138,58,130,};
-static uint8_t aead_ietf_942[]={174,170,162,231,};
-static uint8_t aead_ietf_943[]={197,189,240,93,211,183,123,235,48,184,36,233,77,218,31,162,128,248,169,27,192,185,184,49,229,243,251,166,241,43,186,203,79,37,76,6,192,175,180,197,26,219,154,204,162,110,59,127,11,182,252,157,164,85,172,114,18,118,67,31,};
-static uint8_t aead_ietf_944[]={184,106,163,228,132,45,208,61,28,193,50,157,55,108,110,84,70,62,244,32,210,255,73,184,11,147,82,200,229,65,124,160,159,8,167,40,123,31,105,132,186,41,152,247,45,164,81,42,136,77,241,6,156,225,114,114,143,175,140,39,190,244,135,100,26,231,146,146,197,63,182,46,115,183,134,246,};
-static uint8_t aead_ietf_945[]={197,89,55,44,80,29,236,98,100,110,110,71,79,19,232,122,130,236,34,103,182,21,159,222,64,148,81,238,188,112,217,151,};
-static uint8_t aead_ietf_946[]={127,165,113,159,239,47,171,1,125,29,81,157,59,208,39,120,24,37,182,30,172,233,31,215,};
-static uint8_t aead_ietf_947[]={240,107,57,125,};
-static uint8_t aead_ietf_948[]={244,7,41,13,139,108,159,227,115,225,200,132,133,127,46,231,69,186,46,29,204,95,172,11,179,134,143,194,142,119,122,4,130,123,156,84,30,22,50,127,228,112,70,88,140,8,225,129,189,108,32,200,127,81,243,188,15,232,239,172,77,};
-static uint8_t aead_ietf_949[]={38,63,143,221,203,17,236,118,141,198,236,81,82,118,183,254,220,151,238,26,78,22,124,179,39,134,15,125,251,31,35,37,73,177,94,95,138,34,3,87,156,229,143,183,164,25,5,168,58,195,99,225,189,71,197,82,173,193,54,192,11,221,58,140,80,150,10,152,161,193,11,153,174,214,77,197,35,};
-static uint8_t aead_ietf_950[]={164,61,131,60,41,13,125,227,18,84,237,195,4,231,246,145,231,132,113,31,89,254,207,229,175,99,174,94,252,115,19,244,};
-static uint8_t aead_ietf_951[]={242,107,18,237,127,92,252,248,165,15,221,231,111,5,247,46,88,14,166,209,129,54,230,60,};
-static uint8_t aead_ietf_952[]={13,206,110,76,};
-static uint8_t aead_ietf_953[]={232,81,190,93,126,74,109,189,213,65,223,20,235,198,9,189,56,239,199,114,75,40,205,34,55,16,48,168,150,215,28,53,2,63,130,169,210,221,56,227,123,83,227,168,21,185,211,95,71,217,18,52,140,232,28,132,92,30,201,115,205,94,};
-static uint8_t aead_ietf_954[]={68,72,28,115,171,186,195,18,85,135,142,90,220,251,158,14,46,63,74,3,158,217,64,95,173,97,108,125,121,180,231,176,130,146,94,116,136,132,48,183,84,142,33,145,114,199,192,44,111,20,54,22,208,151,196,184,114,240,215,16,163,199,233,254,128,51,25,119,130,60,190,180,208,111,127,208,191,185,};
-static uint8_t aead_ietf_955[]={182,190,49,151,114,97,32,171,251,151,14,102,26,123,22,127,50,10,163,230,14,105,216,13,12,254,49,248,228,243,245,211,};
-static uint8_t aead_ietf_956[]={154,103,72,73,136,92,81,103,148,101,5,84,86,134,194,91,193,115,100,6,114,123,81,96,};
-static uint8_t aead_ietf_957[]={132,115,33,3,};
-static uint8_t aead_ietf_958[]={110,9,127,63,144,114,87,50,132,229,68,42,212,23,95,172,87,97,248,248,1,30,11,128,198,208,6,141,70,50,137,154,150,163,225,210,67,220,236,169,197,71,131,168,74,56,244,78,228,206,134,61,180,86,246,51,119,145,160,31,117,62,148,};
-static uint8_t aead_ietf_959[]={214,148,251,90,42,115,227,60,31,37,51,8,231,87,5,186,186,74,149,28,4,80,93,0,42,209,177,122,9,88,83,42,225,25,236,190,88,117,186,227,4,158,44,175,165,127,42,181,91,76,73,135,144,30,0,109,66,157,237,4,142,135,26,95,187,161,118,221,11,132,89,59,232,149,224,114,29,159,19,};
-static uint8_t aead_ietf_960[]={151,189,104,68,205,58,96,93,69,78,252,70,204,213,34,26,75,198,59,219,30,29,230,199,43,231,64,62,74,187,193,213,};
-static uint8_t aead_ietf_961[]={216,202,206,70,218,231,253,127,206,137,39,64,93,8,115,228,229,37,87,50,55,188,229,231,};
-static uint8_t aead_ietf_962[]={103,113,19,152,};
-static uint8_t aead_ietf_963[]={241,211,225,173,245,112,63,73,173,13,59,4,185,162,83,88,119,175,252,13,147,200,219,206,121,144,76,194,135,233,120,156,32,9,21,241,74,196,63,85,77,196,8,196,117,120,225,44,66,39,224,152,199,90,216,66,97,144,246,225,54,132,161,205,};
-static uint8_t aead_ietf_964[]={65,242,139,14,165,62,80,126,34,201,17,148,55,94,24,42,28,112,168,28,103,192,147,73,1,17,10,118,173,84,180,171,232,24,44,219,167,190,65,76,146,200,108,202,165,182,193,193,22,136,213,252,19,73,220,93,147,36,44,61,102,161,56,93,114,228,169,199,170,184,83,199,160,91,219,208,39,255,211,60,};
-static uint8_t aead_ietf_965[]={160,230,59,106,208,71,189,162,167,249,120,78,44,195,171,62,130,16,86,250,252,178,174,202,118,213,180,10,49,197,10,76,};
-static uint8_t aead_ietf_966[]={98,155,175,132,110,56,117,97,221,37,16,140,114,206,59,49,88,29,192,16,47,69,214,189,};
-static uint8_t aead_ietf_967[]={127,95,63,55,};
-static uint8_t aead_ietf_968[]={45,228,220,93,226,167,91,103,28,75,228,189,45,254,51,96,235,54,255,74,181,43,3,183,238,72,25,160,119,255,109,128,106,246,21,119,57,121,128,210,141,147,130,218,26,107,222,4,237,220,53,40,120,224,104,29,224,201,205,55,160,187,36,203,237,};
-static uint8_t aead_ietf_969[]={18,207,156,50,179,182,244,32,221,162,75,37,119,243,74,203,104,28,178,34,126,146,191,106,20,87,127,172,171,74,103,177,132,80,83,200,24,77,34,17,241,211,12,149,191,91,192,189,178,8,119,52,69,67,60,61,5,115,19,42,12,32,202,132,18,166,108,86,70,174,21,27,11,17,169,162,169,147,170,110,244,};
-static uint8_t aead_ietf_970[]={86,255,255,180,135,40,185,202,210,123,78,226,33,61,54,11,130,46,157,101,244,164,38,103,147,15,211,117,55,200,137,241,};
-static uint8_t aead_ietf_971[]={217,216,92,80,87,176,127,47,14,116,132,39,243,62,120,180,242,64,141,15,168,199,137,166,};
-static uint8_t aead_ietf_972[]={84,9,248,255,};
-static uint8_t aead_ietf_973[]={72,124,33,19,93,53,14,103,48,139,209,179,108,64,70,121,28,42,143,76,244,21,221,5,209,211,206,94,84,251,57,46,177,249,196,234,85,229,84,87,22,34,247,53,250,218,85,122,136,4,192,5,112,217,11,64,240,94,155,97,203,158,82,54,6,243,};
-static uint8_t aead_ietf_974[]={74,130,207,121,27,142,38,141,113,226,139,204,106,70,212,26,216,195,141,223,242,231,171,225,85,138,19,51,200,142,55,207,211,52,67,44,113,119,197,128,250,252,62,67,156,189,233,199,106,179,157,9,216,155,80,21,57,189,43,214,171,170,237,169,60,109,27,116,57,205,9,40,214,56,53,231,60,170,190,188,15,145,};
-static uint8_t aead_ietf_975[]={110,121,189,2,173,89,112,239,175,104,37,198,13,41,84,188,4,194,133,189,69,165,183,8,68,176,91,41,100,28,67,19,};
-static uint8_t aead_ietf_976[]={133,99,63,73,209,36,97,107,242,155,166,137,230,193,227,1,212,20,53,181,136,199,77,218,};
-static uint8_t aead_ietf_977[]={144,88,46,141,};
-static uint8_t aead_ietf_978[]={96,9,25,82,172,238,164,114,144,199,200,51,73,104,237,239,25,141,72,30,151,246,168,189,249,28,121,164,211,62,191,157,245,225,168,31,1,54,255,222,59,82,233,105,16,53,241,235,196,117,220,97,206,4,247,9,89,73,182,145,105,51,247,89,64,16,190,};
-static uint8_t aead_ietf_979[]={156,127,163,4,98,116,54,92,26,1,219,169,11,186,80,203,156,55,155,196,153,157,33,171,98,230,66,170,176,240,241,75,52,9,56,185,237,252,232,178,200,13,124,170,115,234,92,223,29,133,221,131,161,214,165,47,177,54,249,53,247,237,171,83,166,126,206,233,187,222,68,188,2,175,200,119,159,89,172,94,241,127,11,};
-static uint8_t aead_ietf_980[]={43,89,18,220,122,17,224,94,237,22,142,162,5,188,30,110,182,168,66,178,96,115,209,213,202,104,12,159,95,192,130,108,};
-static uint8_t aead_ietf_981[]={240,204,181,68,87,123,211,118,235,15,71,178,126,184,186,192,58,194,221,97,11,97,128,16,};
-static uint8_t aead_ietf_982[]={191,74,148,77,};
-static uint8_t aead_ietf_983[]={206,15,153,126,238,108,29,134,208,186,225,11,29,62,8,83,195,242,245,74,92,178,240,167,197,45,77,191,187,52,115,167,168,189,21,70,201,50,33,234,149,191,145,67,241,129,160,146,190,126,101,132,0,9,81,93,143,221,107,154,183,34,139,229,93,127,25,220,};
-static uint8_t aead_ietf_984[]={243,179,136,48,50,9,87,40,13,19,202,226,148,138,10,168,143,108,243,92,69,246,84,143,36,217,77,194,30,52,135,201,70,213,234,203,34,63,107,58,63,59,65,203,164,254,235,8,247,64,28,127,236,133,119,9,216,235,200,240,221,234,94,56,46,230,51,181,118,6,219,248,62,101,158,166,196,99,120,16,56,1,110,202,};
-static uint8_t aead_ietf_985[]={184,86,42,178,100,139,191,254,83,139,198,64,31,87,24,61,150,244,168,234,209,70,1,113,67,2,61,57,119,54,29,117,};
-static uint8_t aead_ietf_986[]={55,171,138,22,52,209,151,116,53,155,233,38,51,44,41,179,44,3,242,228,146,42,198,57,};
-static uint8_t aead_ietf_987[]={246,229,195,49,};
-static uint8_t aead_ietf_988[]={218,93,83,55,229,253,236,227,203,138,154,34,107,58,226,72,34,144,1,14,181,252,65,220,247,195,135,103,161,191,223,117,172,179,60,68,32,31,241,26,245,45,27,53,175,64,124,76,59,115,119,144,168,109,84,58,70,55,136,194,0,254,165,63,221,207,254,101,130,};
-static uint8_t aead_ietf_989[]={86,170,137,108,87,20,123,252,20,114,129,150,48,212,150,90,221,92,50,206,193,89,237,162,182,87,90,34,119,36,144,148,108,102,22,97,6,13,228,214,184,185,97,67,200,194,121,60,141,200,107,99,149,179,72,138,243,8,240,229,236,132,48,75,139,50,80,113,238,29,191,238,194,183,32,52,68,161,53,75,85,81,206,86,91,};
-static uint8_t aead_ietf_990[]={79,33,208,89,244,254,150,13,208,168,64,41,79,91,50,92,154,147,128,53,217,144,120,65,129,160,238,30,48,164,128,242,};
-static uint8_t aead_ietf_991[]={231,66,87,94,252,190,142,90,3,8,87,95,125,211,223,204,131,175,179,175,42,116,163,217,};
-static uint8_t aead_ietf_992[]={192,159,94,61,};
-static uint8_t aead_ietf_993[]={209,123,189,222,41,21,76,108,151,78,47,37,223,112,177,39,105,105,181,40,28,95,66,10,158,115,164,143,139,26,76,165,188,141,178,72,245,44,172,104,200,250,235,251,57,10,164,58,134,96,115,148,255,153,91,5,243,151,52,80,227,136,65,73,177,2,203,48,96,81,};
-static uint8_t aead_ietf_994[]={11,165,123,144,181,220,41,123,189,109,88,124,76,251,193,157,202,163,75,83,83,246,86,213,89,233,39,125,208,227,211,166,5,181,180,39,130,229,232,48,174,213,191,196,90,169,75,117,201,141,2,254,223,243,36,9,194,167,128,231,130,71,102,241,97,85,126,29,232,18,88,136,168,47,164,228,53,237,168,104,64,59,117,85,120,248,};
-static uint8_t aead_ietf_995[]={98,139,89,84,123,27,79,172,96,234,15,7,214,67,252,241,173,199,28,48,57,183,237,238,247,52,122,253,230,175,147,155,};
-static uint8_t aead_ietf_996[]={158,214,165,49,108,148,102,205,101,204,78,148,187,108,18,229,209,12,190,150,225,123,173,193,};
-static uint8_t aead_ietf_997[]={168,147,182,209,};
-static uint8_t aead_ietf_998[]={7,237,13,178,137,194,38,80,87,221,169,213,12,69,107,112,178,153,39,121,213,147,253,255,84,236,52,20,235,190,117,102,171,55,37,173,129,52,213,10,18,165,35,13,213,69,67,145,142,96,36,45,29,125,104,144,118,149,195,186,223,88,190,49,235,5,193,214,247,98,91,};
-static uint8_t aead_ietf_999[]={39,25,2,73,150,166,79,164,210,253,210,108,202,175,112,11,167,48,129,172,217,3,194,31,159,74,100,242,159,157,61,197,39,25,35,27,215,54,57,9,239,67,247,157,99,192,51,178,96,39,240,69,6,68,25,6,21,3,44,30,2,10,168,52,11,62,114,183,210,90,48,249,200,167,66,159,137,179,59,38,102,139,29,165,243,68,234,};
-static uint8_t aead_ietf_1000[]={151,187,27,242,48,87,225,124,229,165,224,51,251,7,166,201,202,166,212,177,58,229,189,133,178,33,218,64,167,151,94,155,};
-static uint8_t aead_ietf_1001[]={100,163,79,72,119,86,39,130,181,204,67,139,109,225,196,244,46,151,240,210,31,202,78,147,};
-static uint8_t aead_ietf_1002[]={13,171,176,216,};
-static uint8_t aead_ietf_1003[]={101,162,36,232,246,51,150,202,17,26,111,112,140,249,91,218,2,177,210,176,52,72,135,12,168,255,91,192,210,209,193,116,134,31,233,113,202,102,173,233,245,61,136,81,165,230,57,58,142,107,182,150,143,191,66,159,176,121,157,253,65,153,247,250,185,17,182,239,234,169,220,105,};
-static uint8_t aead_ietf_1004[]={41,152,207,224,13,22,98,60,198,85,118,128,111,63,209,95,96,87,84,246,83,20,14,96,186,248,64,99,42,208,152,36,28,71,220,48,56,84,63,220,94,114,156,103,255,43,255,115,158,201,149,14,182,217,206,75,84,209,102,164,123,42,202,185,124,149,198,116,155,96,106,14,149,96,176,82,37,77,45,254,46,76,227,187,177,132,12,159,};
-static uint8_t aead_ietf_1005[]={208,206,152,251,255,36,183,3,17,219,255,25,253,248,34,100,176,72,33,45,76,22,175,225,201,23,193,135,210,8,46,112,};
-static uint8_t aead_ietf_1006[]={245,146,149,93,59,1,42,22,71,249,253,156,165,213,182,25,116,180,200,21,78,6,95,218,};
-static uint8_t aead_ietf_1007[]={143,108,90,150,};
-static uint8_t aead_ietf_1008[]={137,63,113,111,28,75,43,83,89,90,47,115,164,154,87,117,197,115,54,194,29,221,180,174,171,234,2,222,39,101,93,89,233,24,252,254,57,252,82,24,35,198,43,34,52,28,202,30,116,185,131,24,93,176,244,104,3,163,228,33,129,38,52,34,211,161,85,171,126,144,54,236,153,};
-static uint8_t aead_ietf_1009[]={169,248,177,229,71,99,229,212,227,158,70,98,254,2,196,80,214,54,159,63,42,126,236,222,117,7,91,16,52,91,68,195,147,129,47,69,48,76,222,238,166,46,239,169,152,173,222,151,61,247,129,34,29,67,62,11,157,174,218,94,12,167,102,144,189,109,69,78,132,237,206,115,164,27,24,100,241,211,108,21,126,208,182,132,98,196,241,182,222,};
-static uint8_t aead_ietf_1010[]={156,228,245,138,213,177,12,68,142,55,192,135,87,177,195,202,170,43,97,146,214,247,233,254,3,202,127,191,10,130,46,105,};
-static uint8_t aead_ietf_1011[]={8,238,108,36,183,201,167,216,180,33,171,80,205,246,88,34,67,240,73,54,13,12,253,76,};
-static uint8_t aead_ietf_1012[]={34,202,103,170,};
-static uint8_t aead_ietf_1013[]={53,121,130,186,195,112,188,245,64,72,31,220,234,157,35,11,236,154,48,129,88,187,210,161,162,65,109,27,218,231,196,205,83,73,27,64,143,30,153,104,164,48,139,143,187,160,29,220,52,247,28,50,206,73,207,176,118,76,2,174,42,220,97,86,213,175,124,239,67,51,78,191,146,92,};
-static uint8_t aead_ietf_1014[]={213,29,101,12,112,206,62,252,44,37,96,96,131,18,176,173,100,39,46,238,57,149,207,91,233,14,123,130,243,178,24,29,250,220,247,143,108,207,37,232,148,66,199,29,100,101,252,202,147,68,5,84,88,255,192,148,86,20,167,208,252,206,235,108,20,82,179,43,63,26,157,79,92,186,123,249,124,155,231,146,224,190,110,130,50,65,121,239,56,27,};
-static uint8_t aead_ietf_1015[]={21,167,99,31,6,54,239,21,137,203,240,202,178,214,98,240,229,87,228,72,160,60,217,232,179,158,83,70,241,3,246,161,};
-static uint8_t aead_ietf_1016[]={244,26,121,250,141,117,184,239,171,216,68,127,231,64,208,191,207,72,43,2,248,176,255,137,};
-static uint8_t aead_ietf_1017[]={109,44,75,73,};
-static uint8_t aead_ietf_1018[]={72,79,203,117,209,173,167,154,11,229,145,97,27,187,60,32,71,56,40,167,76,181,155,233,19,33,29,94,129,122,235,134,136,245,94,55,215,241,226,153,154,102,28,156,87,121,131,122,255,39,231,221,122,140,76,221,8,156,27,92,133,37,244,200,254,251,228,193,28,27,143,0,166,25,5,};
-static uint8_t aead_ietf_1019[]={219,149,164,139,171,77,4,25,214,48,42,53,161,9,187,255,182,38,95,186,11,27,200,227,157,42,162,19,168,170,9,192,64,157,144,151,196,24,71,253,201,56,27,179,200,49,56,71,132,227,135,189,10,235,239,144,131,27,158,0,0,88,150,37,71,197,39,100,245,156,232,214,46,177,154,51,242,18,125,194,129,3,123,82,116,211,75,155,212,105,203,};
-static uint8_t aead_ietf_1020[]={218,59,247,108,189,99,134,110,24,68,131,85,87,128,156,99,182,54,168,182,0,146,225,159,69,30,44,92,165,141,241,227,};
-static uint8_t aead_ietf_1021[]={91,219,106,179,202,129,211,65,65,201,174,114,20,84,240,190,106,150,210,244,190,255,92,153,};
-static uint8_t aead_ietf_1022[]={154,44,1,227,};
-static uint8_t aead_ietf_1023[]={235,7,38,235,22,7,92,125,86,200,160,192,129,30,73,92,97,145,202,40,120,222,171,247,141,242,209,166,58,37,9,174,44,177,78,101,56,56,51,175,163,154,255,186,176,153,173,199,19,52,184,38,60,52,0,190,111,180,189,154,50,87,57,163,208,40,138,5,97,23,177,194,139,88,10,202,};
-static uint8_t aead_ietf_1024[]={175,248,111,245,237,130,96,243,5,247,124,82,106,55,138,122,74,54,189,22,37,220,128,167,89,130,3,20,207,147,56,51,144,235,78,215,118,188,186,177,74,18,130,245,233,26,110,54,54,235,12,13,205,75,218,8,8,238,234,68,121,11,121,70,22,77,51,116,97,150,235,1,243,247,226,21,241,254,81,255,138,104,45,88,207,248,139,17,21,84,195,183,};
-static uint8_t aead_ietf_1025[]={41,178,57,229,113,194,73,45,41,201,39,99,246,250,61,250,159,84,130,196,239,84,147,184,27,64,124,194,218,230,9,205,};
-static uint8_t aead_ietf_1026[]={125,169,114,118,133,115,114,222,214,238,104,92,4,104,254,171,137,97,147,254,171,71,91,99,};
-static uint8_t aead_ietf_1027[]={21,163,207,245,};
-static uint8_t aead_ietf_1028[]={65,161,102,109,83,20,47,11,215,14,90,12,158,158,65,208,87,19,11,127,95,43,166,110,118,71,27,130,156,91,50,78,222,68,217,179,253,172,78,211,74,137,32,235,122,77,252,17,10,104,63,233,144,47,82,26,249,119,73,63,51,16,216,227,139,136,6,174,84,73,207,21,132,149,0,29,86,};
-static uint8_t aead_ietf_1029[]={130,250,130,75,165,8,41,1,149,181,203,201,0,42,244,111,216,27,111,165,20,99,2,188,44,94,144,119,120,216,131,184,241,145,101,134,212,244,173,169,43,103,61,48,79,35,191,133,26,37,157,46,25,219,108,233,91,8,117,47,240,209,58,220,147,191,85,57,175,189,174,124,0,25,78,238,125,177,69,17,241,14,58,249,180,108,146,134,202,76,217,68,15,};
-static uint8_t aead_ietf_1030[]={67,18,166,81,49,228,200,63,173,16,193,215,208,94,48,44,201,252,188,128,27,80,140,119,166,92,131,119,241,231,58,97,};
-static uint8_t aead_ietf_1031[]={206,162,35,141,200,119,163,144,125,43,119,106,118,163,191,169,198,138,111,17,51,39,214,44,};
-static uint8_t aead_ietf_1032[]={28,125,235,87,};
-static uint8_t aead_ietf_1033[]={50,211,162,179,106,80,248,86,43,50,210,83,27,123,249,12,48,138,133,126,180,61,233,92,244,58,188,24,191,56,148,110,100,180,25,198,48,8,38,3,2,169,73,246,190,65,137,96,112,239,106,79,227,128,32,163,40,158,46,243,102,253,123,230,220,75,188,27,166,191,221,156,170,218,155,137,147,31,};
-static uint8_t aead_ietf_1034[]={57,233,21,62,138,6,191,98,175,143,6,58,47,187,14,245,89,25,208,118,178,33,75,232,79,225,217,95,127,149,228,62,41,42,187,206,192,122,98,190,214,59,96,130,220,99,75,145,71,250,157,69,148,94,246,125,38,136,106,144,253,242,174,41,44,169,192,84,45,58,59,36,92,100,83,132,228,183,76,41,211,182,137,116,194,137,237,193,30,120,98,72,99,62,};
-static uint8_t aead_ietf_1035[]={190,230,42,173,45,202,27,88,102,163,210,160,36,107,186,184,91,217,123,247,85,150,87,92,197,215,202,48,8,59,83,28,};
-static uint8_t aead_ietf_1036[]={22,204,239,155,139,184,164,232,38,241,166,127,155,21,18,94,58,232,252,49,150,84,202,195,};
-static uint8_t aead_ietf_1037[]={234,164,58,81,};
-static uint8_t aead_ietf_1038[]={176,243,118,67,145,16,252,45,201,195,135,188,227,168,141,162,121,91,35,149,253,244,32,251,183,43,171,232,214,228,153,194,112,22,107,243,246,254,218,126,50,36,27,201,107,43,56,69,201,246,215,20,111,19,143,10,77,220,194,122,211,123,196,52,168,216,16,213,141,204,221,31,57,207,45,204,38,69,232,};
-static uint8_t aead_ietf_1039[]={12,103,148,252,49,137,169,52,14,188,93,211,195,75,227,2,127,110,50,36,214,157,234,162,155,68,94,5,195,63,42,231,170,234,243,44,122,222,53,101,178,32,245,138,247,95,213,27,214,29,102,2,1,177,248,176,22,172,229,166,186,208,237,247,176,153,52,58,4,198,9,110,197,113,221,217,30,107,230,127,103,193,106,80,79,60,235,183,87,57,137,228,213,207,232,};
-static uint8_t aead_ietf_1040[]={107,55,232,30,109,113,23,166,203,24,34,152,1,223,128,245,148,68,249,191,173,82,219,161,220,106,37,255,201,93,173,245,};
-static uint8_t aead_ietf_1041[]={13,67,204,111,145,167,151,17,157,60,125,111,14,14,237,0,74,40,12,29,41,71,24,120,};
-static uint8_t aead_ietf_1042[]={149,171,73,164,};
-static uint8_t aead_ietf_1043[]={53,50,8,13,98,73,64,181,62,87,117,159,202,196,67,215,79,2,139,81,118,29,217,219,118,187,187,176,34,193,67,145,245,83,239,60,246,120,247,145,194,19,49,36,87,169,83,85,143,106,179,105,113,180,185,195,159,205,177,24,132,165,191,225,249,113,200,229,98,95,193,91,70,47,228,229,50,74,128,212,};
-static uint8_t aead_ietf_1044[]={209,15,185,55,241,231,144,60,190,70,90,58,97,220,45,242,190,49,32,85,244,233,128,36,172,28,58,243,86,234,149,159,132,132,93,104,32,125,236,120,188,224,53,249,223,245,117,38,159,252,170,100,89,11,136,137,193,150,79,32,25,218,48,105,53,112,147,180,45,2,20,92,55,106,5,210,250,210,225,94,190,217,118,144,48,46,87,160,62,223,249,245,38,9,255,128,};
-static uint8_t aead_ietf_1045[]={107,85,11,87,148,147,0,182,179,122,255,9,215,183,202,24,189,33,79,81,218,156,69,63,153,21,230,75,11,52,42,49,};
-static uint8_t aead_ietf_1046[]={127,28,92,225,27,242,125,172,154,132,162,113,10,254,137,237,111,139,143,94,102,96,195,96,};
-static uint8_t aead_ietf_1047[]={249,167,201,10,};
-static uint8_t aead_ietf_1048[]={91,232,190,250,59,121,70,64,133,63,216,113,37,55,52,39,88,55,216,73,13,14,41,181,215,159,59,198,58,193,132,194,203,70,193,141,250,13,31,177,30,185,101,166,97,172,147,210,47,171,58,254,100,246,30,32,242,88,239,97,46,203,8,46,80,248,102,235,37,211,214,231,63,117,68,201,67,57,43,16,165,};
-static uint8_t aead_ietf_1049[]={103,26,67,133,190,100,37,91,75,180,131,177,39,25,64,239,102,95,153,145,117,122,192,27,31,225,68,15,186,211,255,64,61,58,195,182,109,21,178,188,177,35,29,146,245,189,99,34,162,117,45,213,218,163,24,48,111,140,44,203,24,163,34,168,253,90,235,222,9,103,176,251,139,198,30,201,190,216,148,142,196,62,8,234,225,97,226,203,144,62,11,232,95,199,208,174,67,};
-static uint8_t aead_ietf_1050[]={58,156,192,251,159,25,122,105,51,86,159,245,132,253,213,207,96,193,221,156,159,43,174,138,253,97,166,180,202,24,4,109,};
-static uint8_t aead_ietf_1051[]={254,83,69,176,169,121,243,31,159,75,139,26,150,200,24,89,80,191,234,232,139,153,247,69,};
-static uint8_t aead_ietf_1052[]={84,39,117,36,};
-static uint8_t aead_ietf_1053[]={139,69,41,209,189,234,244,186,168,254,141,192,27,207,200,218,220,5,4,28,30,66,232,226,239,160,232,53,47,156,72,92,83,119,10,113,184,82,196,72,18,32,238,144,114,34,0,246,19,7,62,152,237,78,184,168,181,201,219,129,7,225,1,90,201,75,254,176,11,88,18,171,103,92,219,172,134,167,118,116,122,119,};
-static uint8_t aead_ietf_1054[]={117,92,181,130,183,248,207,237,197,136,235,203,218,174,105,40,82,123,211,244,177,123,7,97,72,89,76,76,66,119,76,76,124,206,90,217,248,215,227,68,212,46,210,192,187,253,97,191,187,51,233,88,122,27,50,45,202,65,231,76,190,135,45,234,225,163,17,170,96,213,163,115,126,49,234,231,140,128,239,87,49,228,166,78,228,207,176,220,14,200,12,126,111,115,61,250,95,240,};
-static uint8_t aead_ietf_1055[]={47,98,189,91,179,158,226,242,49,164,230,20,244,2,45,63,128,147,30,3,242,205,109,84,82,139,1,25,86,14,243,9,};
-static uint8_t aead_ietf_1056[]={102,254,135,175,249,74,191,233,92,217,11,182,66,129,166,23,98,2,173,150,139,60,37,86,};
-static uint8_t aead_ietf_1057[]={10,183,118,36,};
-static uint8_t aead_ietf_1058[]={183,198,151,176,132,157,60,144,227,172,3,218,98,36,123,73,188,6,24,179,177,217,72,113,69,218,117,234,128,196,118,219,193,182,45,166,96,48,26,181,51,54,134,233,201,13,119,228,108,44,249,169,34,86,214,17,183,215,116,16,26,51,146,110,187,26,141,182,248,158,125,209,207,162,90,152,83,236,220,220,80,186,119,};
-static uint8_t aead_ietf_1059[]={149,47,231,41,242,53,73,239,134,21,62,212,2,54,67,217,87,131,253,199,58,0,102,230,162,205,229,216,128,138,101,169,121,169,93,52,61,215,224,79,5,149,108,255,154,213,194,9,190,32,208,252,244,246,209,138,143,26,182,118,98,123,129,75,226,51,56,55,212,228,181,55,244,112,128,236,151,154,182,19,81,82,47,59,62,194,79,50,58,43,227,149,124,227,208,1,17,90,132,};
-static uint8_t aead_ietf_1060[]={4,135,54,168,214,108,1,136,180,160,94,94,0,242,224,151,169,49,191,146,236,214,180,241,246,154,255,246,3,129,100,191,};
-static uint8_t aead_ietf_1061[]={86,133,145,236,64,26,76,151,133,254,163,147,30,242,210,180,175,177,145,160,9,6,46,16,};
-static uint8_t aead_ietf_1062[]={44,8,255,176,};
-static uint8_t aead_ietf_1063[]={145,250,211,140,154,171,32,81,255,202,175,120,169,159,170,6,22,120,169,35,82,212,152,201,23,135,175,217,190,149,50,146,111,117,148,165,215,244,93,101,184,217,174,103,135,66,221,229,171,137,187,213,25,24,154,164,60,84,244,128,36,45,87,99,121,25,58,63,68,107,202,243,183,84,61,97,178,211,72,137,68,124,164,174,};
-static uint8_t aead_ietf_1064[]={25,26,237,233,106,79,175,236,61,156,85,248,12,137,99,23,60,55,12,2,86,157,149,215,147,16,251,95,117,139,123,56,213,234,213,0,82,125,145,104,149,212,251,40,201,40,192,182,156,185,254,28,24,41,174,43,162,94,31,163,88,56,101,64,31,127,192,204,148,193,8,207,213,152,99,124,222,133,25,114,196,131,194,240,218,163,191,197,124,30,107,128,81,145,238,249,91,194,190,170,};
-static uint8_t aead_ietf_1065[]={168,90,160,135,14,62,200,102,203,217,248,135,186,120,43,235,135,40,1,142,165,71,32,177,152,51,99,243,121,19,216,155,};
-static uint8_t aead_ietf_1066[]={167,76,6,140,247,212,15,209,154,229,40,224,32,147,112,89,238,65,209,215,23,201,3,178,};
-static uint8_t aead_ietf_1067[]={139,87,56,227,};
-static uint8_t aead_ietf_1068[]={4,167,26,154,58,92,58,22,183,14,200,112,18,195,119,112,0,103,46,20,113,126,37,164,250,121,145,34,123,189,64,173,34,206,103,182,68,90,198,213,233,63,190,4,194,70,85,225,220,53,80,46,45,94,232,45,182,96,6,241,240,244,219,43,2,85,157,178,230,166,208,19,4,96,253,91,156,35,240,206,27,71,112,245,151,};
-static uint8_t aead_ietf_1069[]={9,90,216,21,227,90,51,244,132,108,107,253,29,74,223,183,208,57,38,230,95,149,242,216,168,98,92,186,38,240,59,24,146,107,86,174,225,113,196,192,24,155,63,101,127,155,108,217,247,32,132,222,13,130,179,90,72,112,104,20,126,43,221,63,136,231,63,217,106,59,184,251,57,144,63,191,11,204,79,152,129,94,125,243,172,178,186,112,206,7,137,167,17,49,158,24,252,127,204,25,116,};
-static uint8_t aead_ietf_1070[]={56,237,81,216,178,33,228,225,2,65,21,161,41,206,75,27,154,79,90,237,25,133,27,11,222,67,243,15,143,178,137,187,};
-static uint8_t aead_ietf_1071[]={180,115,16,41,130,208,67,64,34,5,38,59,234,45,96,146,204,240,50,9,202,9,209,204,};
-static uint8_t aead_ietf_1072[]={116,39,56,77,};
-static uint8_t aead_ietf_1073[]={95,75,188,243,122,114,121,60,8,159,97,126,80,81,249,233,111,52,142,35,23,86,124,82,52,164,83,181,52,98,62,253,9,184,40,173,25,4,27,181,232,248,104,219,247,26,145,150,108,67,219,154,109,42,108,97,189,79,170,182,26,8,86,141,229,198,45,210,81,56,132,51,72,69,189,245,144,37,8,167,171,146,104,94,20,146,};
-static uint8_t aead_ietf_1074[]={130,161,158,183,218,15,64,96,170,39,2,148,49,225,24,81,223,79,201,191,165,113,240,1,140,97,99,223,74,186,185,242,238,172,130,170,122,237,132,105,7,180,124,116,164,34,88,210,119,69,255,147,19,35,252,115,35,245,252,0,245,89,149,32,193,62,129,137,50,253,55,100,234,76,28,231,166,41,76,95,28,230,192,159,60,167,158,8,158,231,64,148,2,51,55,79,250,27,243,59,9,169,};
-static uint8_t aead_ietf_1075[]={204,119,84,156,27,184,12,68,140,18,45,148,63,225,166,90,116,187,183,133,31,38,7,28,242,33,41,245,10,198,116,74,};
-static uint8_t aead_ietf_1076[]={150,109,66,83,126,156,251,178,227,152,25,198,191,42,168,59,146,61,140,230,240,142,98,85,};
-static uint8_t aead_ietf_1077[]={252,255,71,79,};
-static uint8_t aead_ietf_1078[]={21,41,155,74,132,131,236,77,229,177,67,30,38,111,106,137,79,131,189,53,85,98,200,35,127,137,229,225,2,217,194,144,245,150,66,126,88,44,33,189,63,34,117,40,28,194,112,51,62,123,188,217,76,48,91,32,244,136,4,145,159,169,29,177,238,57,249,129,29,210,62,154,200,157,144,122,37,166,161,4,177,38,169,155,104,254,75,};
-static uint8_t aead_ietf_1079[]={146,17,138,212,25,5,155,70,205,46,132,149,2,66,116,73,49,198,44,140,103,39,150,143,174,83,60,51,13,54,222,254,162,58,62,153,198,212,2,84,28,182,140,186,75,70,181,182,67,95,22,3,26,117,200,61,168,51,23,158,171,4,96,231,60,150,247,4,32,242,40,161,199,32,250,11,155,17,232,47,31,51,94,153,151,83,5,196,140,87,58,182,176,133,233,58,165,118,145,196,188,4,76,};
-static uint8_t aead_ietf_1080[]={58,161,132,220,46,135,202,98,201,88,166,80,130,208,92,11,213,30,122,141,191,108,83,1,52,40,186,29,64,221,23,201,};
-static uint8_t aead_ietf_1081[]={56,90,176,212,247,155,186,203,102,75,85,115,32,178,234,65,128,54,128,98,123,115,248,116,};
-static uint8_t aead_ietf_1082[]={193,150,28,13,};
-static uint8_t aead_ietf_1083[]={200,224,221,222,176,89,253,203,219,185,99,173,152,224,165,8,57,149,81,37,84,57,172,223,129,158,54,194,227,122,125,135,83,91,112,171,105,162,103,207,249,60,20,108,243,49,68,246,4,173,43,196,246,199,249,87,226,12,97,107,145,129,79,67,164,207,12,114,232,174,93,237,195,139,90,164,157,131,91,19,226,44,147,120,10,218,90,73,};
-static uint8_t aead_ietf_1084[]={19,184,62,71,204,248,162,40,157,162,220,154,103,28,231,113,161,255,8,221,92,138,106,84,98,128,2,101,167,67,242,34,254,226,48,90,196,110,201,216,74,130,139,143,66,14,89,26,185,18,74,20,215,183,15,225,18,68,97,148,226,244,60,89,225,207,221,149,2,92,70,205,8,238,99,10,226,24,180,183,133,196,129,34,175,110,3,151,210,73,35,234,26,232,134,198,92,139,110,108,247,127,8,34,};
-static uint8_t aead_ietf_1085[]={4,46,131,22,138,167,83,40,245,185,39,160,195,23,218,233,216,242,23,76,174,252,227,247,43,9,121,131,162,211,67,56,};
-static uint8_t aead_ietf_1086[]={175,115,209,161,73,101,159,45,191,141,239,168,149,153,236,61,74,226,189,203,165,61,47,238,};
-static uint8_t aead_ietf_1087[]={210,32,57,227,};
-static uint8_t aead_ietf_1088[]={60,234,156,191,136,55,110,179,100,221,171,153,234,173,107,59,250,169,56,87,88,157,133,166,151,240,156,150,90,191,4,90,102,131,91,108,146,221,206,179,89,77,253,11,113,7,25,94,30,48,219,8,126,210,98,14,97,222,153,228,41,137,232,225,233,248,63,8,240,213,86,133,100,128,152,30,135,205,181,98,58,123,20,175,145,25,40,103,115,};
-static uint8_t aead_ietf_1089[]={91,98,48,192,255,42,9,113,80,49,70,198,108,45,168,4,64,97,92,54,132,21,253,228,124,169,205,124,218,80,252,246,169,244,212,72,168,29,195,221,153,186,166,113,148,204,11,82,219,6,27,58,12,185,113,11,160,88,164,6,237,171,55,123,175,234,219,67,15,172,107,131,104,171,239,46,29,38,208,191,13,133,91,82,210,43,102,112,211,165,3,34,27,103,185,106,16,216,40,149,7,176,166,181,88,};
-static uint8_t aead_ietf_1090[]={19,14,121,72,168,118,57,123,64,68,238,121,16,21,47,23,199,97,97,61,75,128,169,67,225,47,20,98,193,202,183,155,};
-static uint8_t aead_ietf_1091[]={254,110,17,23,177,111,150,176,236,138,24,0,125,124,240,227,168,96,196,162,30,45,16,110,};
-static uint8_t aead_ietf_1092[]={217,36,232,216,};
-static uint8_t aead_ietf_1093[]={8,243,66,149,25,184,46,156,169,92,251,160,140,170,153,248,248,87,97,121,132,116,50,176,72,95,111,114,186,54,135,253,16,8,122,63,33,155,241,231,211,0,155,82,9,186,162,101,216,89,97,138,30,26,244,108,85,74,230,78,199,202,88,197,224,228,73,203,55,221,187,227,213,45,142,75,28,101,147,225,94,111,34,219,10,219,110,251,24,170,};
-static uint8_t aead_ietf_1094[]={57,151,187,177,112,34,39,122,213,0,181,67,116,110,207,151,14,127,254,206,113,236,5,115,212,173,179,177,177,73,131,90,73,42,205,33,90,83,67,221,173,171,86,11,172,21,132,59,116,13,82,42,169,165,1,253,93,202,247,140,88,205,193,253,245,164,202,89,113,128,251,171,206,26,169,72,175,80,186,1,37,249,168,113,108,127,134,206,203,104,81,181,18,245,29,89,65,97,55,62,180,192,104,18,9,143,};
-static uint8_t aead_ietf_1095[]={87,159,207,148,144,145,45,166,83,241,193,162,154,25,112,152,23,118,146,70,42,153,219,211,140,79,98,118,169,60,52,217,};
-static uint8_t aead_ietf_1096[]={3,191,127,119,229,161,247,47,177,53,22,151,30,2,26,122,12,137,181,45,32,126,54,250,};
-static uint8_t aead_ietf_1097[]={185,154,77,127,};
-static uint8_t aead_ietf_1098[]={155,253,192,109,203,147,215,215,74,131,128,43,194,129,42,180,100,95,253,240,23,58,198,100,56,41,58,241,63,84,213,128,94,225,202,128,147,26,29,29,55,188,84,92,248,165,221,48,135,64,203,3,16,95,174,219,36,96,49,110,133,64,219,251,73,66,162,220,104,35,110,237,185,118,100,147,132,246,91,170,115,82,122,159,95,28,124,37,105,185,177,};
-static uint8_t aead_ietf_1099[]={159,16,161,162,224,145,99,218,163,122,107,38,126,210,91,211,12,170,214,238,90,43,5,12,118,220,239,56,158,237,18,204,248,13,222,247,107,170,138,107,3,33,43,202,73,181,131,179,164,65,54,148,13,89,1,13,89,223,205,186,73,232,182,34,81,183,219,139,53,143,141,150,139,27,56,175,160,218,158,80,3,247,18,119,100,240,188,152,154,121,38,1,198,204,90,118,193,62,236,132,178,106,119,179,244,140,232,};
-static uint8_t aead_ietf_1100[]={177,195,217,155,108,99,131,170,35,158,95,240,146,130,197,215,56,5,179,7,97,248,201,45,132,103,207,242,145,207,76,35,};
-static uint8_t aead_ietf_1101[]={176,101,126,248,50,127,72,87,226,211,15,163,0,57,177,78,228,155,216,187,26,150,84,97,};
-static uint8_t aead_ietf_1102[]={73,167,62,199,};
-static uint8_t aead_ietf_1103[]={174,140,177,97,158,220,106,40,139,63,134,193,137,223,192,17,188,67,96,193,152,147,182,116,218,0,240,9,104,87,174,191,166,165,84,56,114,248,224,30,20,169,149,64,45,73,12,118,251,42,193,54,50,70,137,247,63,139,5,34,175,151,6,255,211,31,232,123,237,173,27,11,189,182,56,45,125,78,99,36,120,178,72,172,185,114,62,94,52,229,23,61,};
-static uint8_t aead_ietf_1104[]={119,16,241,128,182,23,187,101,69,246,133,134,188,53,145,27,193,110,174,41,152,87,146,155,41,204,31,8,36,40,252,62,37,197,158,95,59,40,213,70,168,139,169,201,141,66,159,69,57,128,4,200,125,182,100,94,29,201,71,85,47,9,77,5,118,122,83,72,251,143,58,9,15,118,201,183,104,148,12,161,182,214,200,65,42,38,2,129,116,238,240,247,24,66,67,170,210,136,191,87,53,116,42,110,239,73,196,145,};
-static uint8_t aead_ietf_1105[]={82,201,31,33,116,123,221,79,82,137,54,29,207,68,165,202,43,164,243,222,115,1,10,149,142,130,8,132,221,41,174,155,};
-static uint8_t aead_ietf_1106[]={46,250,163,141,180,7,94,27,18,167,119,147,176,140,31,221,219,223,91,89,69,59,33,101,};
-static uint8_t aead_ietf_1107[]={249,190,51,197,};
-static uint8_t aead_ietf_1108[]={188,192,134,113,126,161,47,188,31,214,27,36,11,142,246,6,191,87,18,40,8,244,42,170,43,48,53,33,3,184,214,207,89,171,50,98,0,124,77,27,175,79,160,200,59,226,53,244,23,1,242,220,145,219,94,200,1,46,130,194,190,130,135,218,74,57,40,20,40,75,159,146,40,212,84,140,139,77,67,236,95,91,125,231,148,194,175,99,126,117,243,6,80,};
-static uint8_t aead_ietf_1109[]={145,94,204,200,162,105,112,24,218,127,161,59,114,111,167,228,231,87,123,135,159,15,60,66,217,107,195,26,175,34,128,120,41,84,130,170,207,71,58,127,6,185,71,74,209,35,171,90,150,36,225,9,196,221,127,132,173,146,98,129,45,41,221,16,92,26,209,123,145,113,10,240,251,95,90,35,147,100,70,252,120,188,91,255,168,236,17,86,175,150,99,107,188,147,228,44,36,187,12,146,244,193,12,16,8,15,148,41,145,};
-static uint8_t aead_ietf_1110[]={235,10,107,32,39,39,195,58,127,244,34,214,16,247,75,195,62,2,150,227,144,182,92,213,51,243,19,165,228,116,14,85,};
-static uint8_t aead_ietf_1111[]={14,126,76,207,132,12,167,194,224,13,149,206,126,216,41,45,111,15,243,201,214,55,217,148,};
-static uint8_t aead_ietf_1112[]={6,16,63,1,};
-static uint8_t aead_ietf_1113[]={46,136,94,103,87,251,235,246,236,236,86,29,115,34,13,209,106,48,71,97,18,233,253,75,5,183,90,83,69,227,7,218,28,81,237,186,159,97,92,220,44,9,121,238,150,115,127,0,78,39,222,195,15,129,222,12,157,91,72,8,74,89,196,210,239,146,224,139,174,187,83,81,118,125,167,77,182,165,173,97,234,184,115,28,204,196,182,139,224,123,140,132,89,110,};
-static uint8_t aead_ietf_1114[]={144,239,115,154,182,224,229,140,210,39,241,182,230,121,190,170,226,93,254,198,11,234,137,226,178,67,196,223,169,137,191,68,204,75,66,74,112,242,16,20,200,188,106,149,164,62,19,190,32,106,245,180,134,242,52,223,79,172,173,165,195,161,71,164,12,5,53,219,48,37,146,132,214,135,64,129,248,202,24,68,62,21,2,200,97,207,33,131,66,119,176,251,5,14,97,61,173,38,159,235,46,155,66,29,132,50,245,78,104,106,};
-static uint8_t aead_ietf_1115[]={129,67,208,119,197,182,5,153,111,190,94,118,13,56,230,244,3,22,5,100,137,243,16,168,77,13,23,136,217,121,72,128,};
-static uint8_t aead_ietf_1116[]={31,172,152,99,184,98,56,138,229,91,216,52,174,53,117,181,31,111,255,155,42,139,33,106,};
-static uint8_t aead_ietf_1117[]={36,152,35,125,};
-static uint8_t aead_ietf_1118[]={247,244,101,26,94,65,54,51,177,136,137,171,137,184,31,47,83,88,31,136,209,97,19,17,240,188,180,109,186,30,23,96,252,187,107,151,35,76,153,50,82,200,245,253,71,174,209,21,204,119,60,173,11,234,213,117,169,120,89,133,8,168,202,249,23,170,107,74,89,108,123,73,18,37,202,19,47,134,40,87,145,222,83,202,39,167,120,155,85,45,132,69,8,240,86,};
-static uint8_t aead_ietf_1119[]={123,10,174,16,225,207,96,120,176,31,132,114,94,208,236,48,255,254,6,209,107,50,205,98,1,154,169,7,113,254,26,135,0,10,122,191,37,113,249,212,89,183,91,23,8,186,110,82,39,93,28,171,195,89,143,27,74,105,216,233,90,50,29,68,6,161,127,36,158,246,129,110,96,197,22,23,39,104,247,157,204,124,21,230,144,160,72,146,113,171,211,114,58,38,196,13,34,79,144,65,78,142,151,231,218,52,108,226,142,212,215,};
-static uint8_t aead_ietf_1120[]={7,146,88,93,130,199,244,137,87,140,47,180,185,144,106,133,77,241,232,77,64,225,142,128,145,117,226,110,4,187,56,164,};
-static uint8_t aead_ietf_1121[]={96,248,160,189,177,243,141,36,36,202,63,78,160,41,58,45,11,169,5,194,36,250,161,161,};
-static uint8_t aead_ietf_1122[]={35,69,139,130,};
-static uint8_t aead_ietf_1123[]={170,129,72,153,238,105,190,234,84,136,33,222,136,86,229,109,157,155,127,14,5,195,42,113,246,173,159,157,132,52,239,103,206,102,233,205,69,173,228,201,205,46,239,143,93,148,90,114,216,74,223,137,84,112,110,53,187,54,202,16,112,80,87,14,56,37,97,210,135,72,14,119,104,228,172,188,249,188,47,170,132,6,73,47,79,180,182,73,159,34,131,157,208,222,194,211,};
-static uint8_t aead_ietf_1124[]={188,243,29,215,255,198,104,73,15,216,161,120,180,164,31,134,139,249,202,46,81,29,246,223,246,64,102,207,64,187,62,212,140,108,94,68,150,188,129,115,242,223,217,134,164,194,185,76,66,134,193,242,169,51,127,197,86,7,124,27,21,183,255,250,59,36,148,58,213,0,29,236,243,215,100,37,197,49,109,146,137,183,222,100,228,83,83,48,221,170,41,0,144,44,236,193,244,53,150,228,90,71,92,150,214,115,113,253,194,93,249,83,};
-static uint8_t aead_ietf_1125[]={55,186,31,0,216,20,253,24,229,150,121,171,52,196,164,2,33,163,23,234,225,159,156,136,24,58,117,37,187,137,193,141,};
-static uint8_t aead_ietf_1126[]={244,170,139,153,221,141,109,127,216,237,197,200,170,155,144,91,106,74,22,248,96,143,180,172,};
-static uint8_t aead_ietf_1127[]={236,34,204,198,};
-static uint8_t aead_ietf_1128[]={71,142,253,238,111,232,168,242,170,71,174,58,53,131,60,30,203,138,62,228,80,54,50,122,177,221,38,173,254,251,143,144,203,100,53,121,4,54,224,183,190,89,71,155,245,13,135,122,18,38,197,14,15,167,242,41,147,222,148,111,115,105,72,195,67,247,184,139,190,17,32,174,126,26,27,25,162,191,158,59,25,114,115,163,71,126,129,9,229,134,155,102,95,174,186,9,199,};
-static uint8_t aead_ietf_1129[]={132,197,39,234,248,61,227,104,223,227,140,27,254,143,45,91,22,203,246,140,187,125,152,221,61,134,60,31,152,115,148,88,195,254,130,147,240,93,123,195,221,109,136,244,224,78,150,67,209,240,235,78,55,127,54,126,166,130,24,248,196,91,120,152,35,91,16,7,106,234,243,209,9,174,183,51,153,141,188,125,83,17,222,99,55,133,34,192,70,232,24,99,143,155,159,56,35,120,136,87,106,80,78,3,91,81,34,81,12,104,26,164,209,};
-static uint8_t aead_ietf_1130[]={220,123,36,186,106,101,253,70,200,21,89,75,192,113,160,206,238,12,2,155,204,255,169,24,183,138,51,173,157,242,201,16,};
-static uint8_t aead_ietf_1131[]={167,242,151,92,132,115,121,98,255,234,43,105,201,220,200,46,40,187,192,222,211,248,110,152,};
-static uint8_t aead_ietf_1132[]={21,105,147,189,};
-static uint8_t aead_ietf_1133[]={241,132,85,150,52,211,63,23,100,16,216,249,72,231,41,42,203,85,32,89,188,9,236,239,57,212,183,41,64,97,202,21,247,234,17,118,139,135,189,113,69,55,26,97,97,130,172,154,155,41,7,169,128,53,28,212,13,115,65,35,185,21,186,154,50,139,75,49,52,156,253,235,134,137,81,201,29,250,177,78,153,250,119,114,183,20,184,93,27,137,233,11,126,212,245,202,88,35,};
-static uint8_t aead_ietf_1134[]={249,6,52,75,216,182,29,231,146,85,155,235,58,142,126,4,19,222,32,255,30,100,125,121,1,102,43,171,55,120,177,240,24,231,36,120,218,46,16,237,92,74,6,174,216,254,14,190,179,23,33,232,113,133,11,93,236,173,73,28,77,148,95,201,0,151,113,168,26,54,59,182,125,252,177,94,8,93,107,175,114,7,233,220,251,45,153,121,16,173,212,105,161,121,72,103,154,210,255,12,152,176,178,110,207,38,86,77,66,172,33,47,25,24,};
-static uint8_t aead_ietf_1135[]={26,202,212,141,172,89,84,251,9,84,91,186,204,154,31,141,73,21,220,188,30,212,206,54,215,253,171,92,221,234,186,67,};
-static uint8_t aead_ietf_1136[]={1,121,205,6,177,102,187,246,193,113,106,54,116,219,113,107,189,9,136,14,143,249,126,102,};
-static uint8_t aead_ietf_1137[]={156,129,80,92,};
-static uint8_t aead_ietf_1138[]={163,103,138,23,89,244,206,181,25,215,133,230,251,32,180,216,111,12,189,109,209,138,200,234,103,40,125,112,135,151,237,103,201,216,94,64,51,25,152,209,82,169,150,67,27,244,69,28,204,24,209,90,182,122,221,103,254,105,62,16,18,132,115,203,243,231,58,175,255,84,234,182,74,187,175,163,133,119,22,5,91,205,139,230,25,13,56,44,199,108,8,25,190,58,88,42,126,220,223,};
-static uint8_t aead_ietf_1139[]={206,229,30,222,235,49,246,131,84,32,12,236,242,128,167,133,148,139,25,111,165,201,13,159,209,248,48,230,143,163,122,64,21,80,41,119,85,3,112,184,124,250,180,132,108,49,40,64,145,37,29,161,201,81,131,125,126,127,66,247,142,54,171,209,200,245,229,230,65,118,144,120,55,124,119,74,170,53,153,204,198,14,21,203,196,172,214,1,238,81,128,226,213,4,93,162,20,178,188,58,126,20,171,70,192,180,17,169,239,109,200,118,203,23,86,};
-static uint8_t aead_ietf_1140[]={89,12,213,1,203,178,83,6,14,215,176,55,35,61,137,219,111,50,122,144,204,28,122,146,92,246,77,166,153,64,89,168,};
-static uint8_t aead_ietf_1141[]={153,12,251,71,171,104,47,221,84,116,1,242,247,65,134,251,28,199,19,216,167,178,215,227,};
-static uint8_t aead_ietf_1142[]={51,30,97,159,};
-static uint8_t aead_ietf_1143[]={49,151,109,236,177,156,32,171,14,56,90,201,152,118,3,163,63,61,194,239,229,159,62,191,152,10,206,23,34,155,6,77,28,93,59,64,176,232,131,98,185,226,225,2,255,63,142,58,161,100,18,230,143,233,34,61,255,176,238,211,189,63,73,85,250,176,78,58,28,112,82,25,76,122,27,100,6,23,167,8,88,212,157,234,202,76,26,99,226,128,185,233,2,128,56,79,41,216,28,176,};
-static uint8_t aead_ietf_1144[]={127,250,180,85,248,101,41,52,78,127,140,139,62,255,196,74,193,240,144,126,63,203,5,38,198,161,188,117,109,151,54,215,212,44,26,124,175,139,213,2,136,128,239,43,50,241,99,118,250,159,225,115,125,123,11,119,30,42,6,136,31,161,46,245,249,178,119,215,82,168,212,77,85,124,197,201,163,238,5,41,200,36,108,61,28,213,214,68,208,56,55,2,209,113,18,9,133,217,51,3,178,239,37,226,186,223,125,245,234,140,125,71,234,247,108,68,};
-static uint8_t aead_ietf_1145[]={168,59,164,109,110,189,229,61,193,227,246,76,232,127,253,238,220,132,68,38,131,166,162,245,104,75,147,221,226,214,228,164,};
-static uint8_t aead_ietf_1146[]={33,96,36,130,218,113,148,17,103,45,31,31,65,45,229,22,34,166,69,189,111,223,180,161,};
-static uint8_t aead_ietf_1147[]={91,118,188,120,};
-static uint8_t aead_ietf_1148[]={88,108,126,182,13,205,108,223,105,25,66,182,169,80,0,1,95,150,64,232,239,179,45,13,104,109,52,110,229,85,193,73,194,188,234,216,175,245,139,183,239,40,74,154,62,194,221,222,79,184,173,51,137,99,111,161,100,96,249,138,238,123,19,64,28,64,21,198,18,23,192,19,4,208,193,108,74,176,155,113,83,57,152,239,150,153,246,103,242,190,140,64,59,250,134,255,180,109,132,33,248,};
-static uint8_t aead_ietf_1149[]={5,111,62,149,17,106,45,8,168,236,119,115,170,161,152,129,172,24,132,164,247,63,186,66,98,73,141,170,32,149,163,114,241,69,205,200,71,241,176,254,196,14,63,142,25,51,140,79,100,189,198,208,193,62,84,94,244,56,81,194,25,23,213,222,164,236,228,78,88,113,112,0,189,122,139,216,207,133,72,224,79,92,87,116,160,151,202,68,253,198,212,180,116,226,21,75,251,142,169,11,152,120,65,79,178,212,242,174,219,85,104,238,98,15,198,207,120,};
-static uint8_t aead_ietf_1150[]={166,229,6,170,92,218,103,155,161,40,211,39,108,245,70,154,92,219,129,29,202,225,201,110,171,229,83,91,172,252,70,94,};
-static uint8_t aead_ietf_1151[]={156,139,54,243,40,211,70,83,5,54,208,33,111,41,77,80,193,41,133,134,200,77,19,168,};
-static uint8_t aead_ietf_1152[]={90,56,85,73,};
-static uint8_t aead_ietf_1153[]={125,60,117,222,196,229,102,117,53,75,110,128,186,107,36,112,123,190,223,6,185,237,77,249,20,246,185,98,3,12,166,77,35,49,94,82,112,186,130,229,240,0,156,246,219,127,98,143,195,11,160,145,208,145,2,135,105,241,195,51,210,98,131,146,54,20,133,135,187,9,188,142,29,167,66,159,62,159,79,92,5,143,79,64,59,240,142,222,65,75,114,122,155,244,179,20,169,27,205,186,134,182,};
-static uint8_t aead_ietf_1154[]={178,101,54,235,36,83,102,157,29,92,107,246,85,253,245,254,252,129,208,76,202,182,35,6,236,100,70,251,214,49,122,50,108,60,136,181,102,245,212,148,159,45,33,92,124,210,17,126,48,193,89,144,186,95,78,189,172,242,107,49,228,225,240,157,81,240,118,122,162,171,65,32,48,5,69,223,249,247,105,202,246,237,134,175,169,83,68,93,88,144,80,252,34,45,254,156,20,92,184,30,219,225,213,170,240,226,97,9,109,94,40,176,154,208,24,99,171,4,};
-static uint8_t aead_ietf_1155[]={72,30,233,220,30,151,61,119,135,205,57,154,41,241,72,84,201,8,59,135,42,196,20,173,79,19,222,111,38,160,159,78,};
-static uint8_t aead_ietf_1156[]={174,200,69,213,144,118,173,201,125,110,202,244,223,219,228,72,170,222,225,44,228,226,86,232,};
-static uint8_t aead_ietf_1157[]={195,193,127,194,};
-static uint8_t aead_ietf_1158[]={56,69,77,113,238,233,141,12,39,203,34,93,244,79,202,15,147,205,220,192,253,34,104,150,147,187,9,190,82,108,250,90,224,184,231,64,21,168,176,220,115,148,226,243,145,73,68,29,184,45,147,7,58,11,235,239,78,10,54,5,231,130,100,175,165,201,228,13,238,25,77,119,114,122,160,169,223,68,97,163,0,186,80,151,182,34,106,231,144,151,226,158,21,51,90,62,152,74,222,20,118,119,89,};
-static uint8_t aead_ietf_1159[]={31,45,97,138,120,146,113,220,117,67,247,223,47,111,6,136,86,100,225,204,39,73,165,203,57,240,137,6,76,173,104,63,192,92,20,41,58,207,127,185,92,121,148,78,37,151,150,86,41,14,215,111,168,116,166,23,41,149,68,22,60,14,24,233,35,3,212,153,39,141,190,78,33,2,112,50,156,116,5,251,156,185,214,252,189,64,217,168,57,88,141,90,158,152,171,228,154,11,11,213,201,204,205,21,144,106,217,249,202,180,216,130,38,111,60,82,174,88,57,};
-static uint8_t aead_ietf_1160[]={124,98,146,11,55,241,151,198,1,230,57,28,7,188,120,29,238,221,55,27,137,29,101,217,83,181,242,38,50,104,224,81,};
-static uint8_t aead_ietf_1161[]={248,7,58,193,251,93,118,222,177,228,240,157,168,110,228,236,6,197,45,46,233,166,62,98,};
-static uint8_t aead_ietf_1162[]={46,228,79,129,};
-static uint8_t aead_ietf_1163[]={20,186,252,197,27,52,1,22,122,115,104,89,133,51,225,253,253,175,82,66,18,50,185,246,27,182,169,9,208,2,213,76,51,40,117,245,8,195,212,113,222,169,251,236,233,117,227,114,49,108,114,218,145,194,7,125,62,13,156,58,79,147,11,181,72,172,73,81,133,102,49,222,113,65,115,224,232,114,9,33,61,244,19,202,108,200,145,243,110,245,26,9,240,60,165,171,247,50,5,42,106,216,54,47,};
-static uint8_t aead_ietf_1164[]={166,142,80,91,63,109,67,35,36,159,103,68,250,58,170,124,122,52,161,175,87,158,7,52,179,29,165,18,72,66,210,252,194,136,254,182,109,144,102,80,184,135,16,59,100,228,100,165,173,113,86,29,81,139,45,243,63,238,197,241,172,55,6,238,4,201,217,80,142,47,81,78,181,188,122,80,235,165,91,241,81,116,220,178,181,186,168,215,34,152,105,65,55,232,8,63,194,136,186,114,163,132,16,2,129,45,197,165,81,233,1,109,219,229,40,62,71,216,215,192,};
-static uint8_t aead_ietf_1165[]={175,168,182,247,33,77,224,169,62,134,96,43,78,0,154,217,99,131,198,160,114,60,150,226,232,170,115,111,125,69,108,156,};
-static uint8_t aead_ietf_1166[]={76,2,145,34,9,228,11,214,215,83,75,221,184,174,206,112,185,166,203,150,254,68,114,74,};
-static uint8_t aead_ietf_1167[]={66,207,6,19,};
-static uint8_t aead_ietf_1168[]={107,208,146,109,247,48,235,239,24,86,153,40,237,30,158,99,92,37,22,82,59,17,248,10,146,100,209,199,201,46,34,208,2,122,155,12,181,179,235,235,250,146,193,61,156,132,13,84,177,201,112,128,248,46,134,27,238,17,245,36,148,50,53,64,221,145,156,253,225,32,73,169,82,251,150,203,222,206,21,189,7,71,118,102,94,121,158,219,75,13,173,159,98,14,20,219,152,223,142,25,169,186,144,122,6,};
-static uint8_t aead_ietf_1169[]={124,143,124,6,22,52,54,204,154,39,106,200,122,248,167,165,43,33,128,90,39,239,30,157,140,27,203,153,239,173,166,139,227,79,190,33,142,19,195,29,100,120,43,214,244,189,75,181,164,127,237,3,202,251,88,248,15,165,8,226,173,42,173,240,82,208,139,180,44,209,121,83,132,224,144,114,106,253,63,50,123,7,129,33,124,235,131,203,66,43,17,55,143,250,3,29,15,193,60,210,213,230,161,155,136,154,253,28,166,34,192,224,89,128,67,225,138,249,201,184,120,};
-static uint8_t aead_ietf_1170[]={65,129,251,209,194,159,198,243,48,50,43,181,74,87,139,105,120,8,26,59,236,223,219,205,81,238,178,214,208,230,185,34,};
-static uint8_t aead_ietf_1171[]={207,188,167,101,193,118,203,205,65,55,216,142,145,24,123,252,71,68,162,156,108,138,219,175,};
-static uint8_t aead_ietf_1172[]={135,181,82,102,};
-static uint8_t aead_ietf_1173[]={253,74,222,96,142,52,148,110,211,178,156,182,132,151,128,216,247,77,50,163,25,185,142,145,37,144,153,239,49,50,40,203,114,1,124,47,9,254,34,249,199,80,232,243,20,228,129,136,98,28,79,143,248,23,15,38,39,56,229,190,208,80,224,90,226,62,7,113,153,242,185,118,217,77,201,185,58,65,67,248,14,238,227,132,102,159,24,90,123,153,188,145,100,209,68,101,150,164,145,204,91,50,135,8,85,49,};
-static uint8_t aead_ietf_1174[]={244,106,201,242,163,248,243,149,196,16,156,122,74,175,197,29,54,213,142,90,233,64,119,234,106,35,38,230,58,89,80,205,103,167,37,45,216,20,174,103,60,222,35,15,233,91,119,34,228,126,17,245,170,138,16,59,7,24,106,241,128,94,206,88,105,164,128,117,205,38,222,8,122,74,184,158,163,159,45,87,147,143,228,82,121,142,30,180,186,96,39,211,200,73,127,125,241,97,81,37,110,18,92,140,87,146,175,133,113,17,48,166,174,213,106,138,240,213,224,70,51,114,};
-static uint8_t aead_ietf_1175[]={186,44,221,192,30,80,13,97,218,145,133,228,240,55,209,153,201,178,233,105,137,255,185,251,140,101,98,214,242,216,8,5,};
-static uint8_t aead_ietf_1176[]={186,175,50,49,91,118,166,240,214,222,165,222,237,168,139,205,43,253,126,229,224,94,124,201,};
-static uint8_t aead_ietf_1177[]={17,82,185,4,};
-static uint8_t aead_ietf_1178[]={121,166,32,102,12,18,137,89,158,45,85,180,173,172,143,143,86,144,174,52,177,141,156,61,242,97,50,49,242,123,212,113,131,214,194,133,5,148,64,122,47,90,252,118,117,229,13,204,143,86,51,39,211,90,156,91,193,226,210,141,147,26,225,52,56,105,0,65,152,143,137,92,131,243,196,31,231,203,227,238,231,93,98,214,215,161,252,199,212,153,183,245,55,133,99,12,4,156,18,228,163,187,133,4,207,82,106,};
-static uint8_t aead_ietf_1179[]={231,181,12,150,220,2,241,94,48,52,130,125,105,144,233,250,95,233,63,200,223,199,100,255,195,76,226,237,220,107,88,217,47,11,249,17,192,83,143,72,140,121,209,149,79,159,185,164,106,126,94,95,70,241,180,134,177,145,120,21,137,224,4,90,216,210,247,95,220,96,143,24,75,11,252,17,224,179,153,201,226,81,211,32,30,254,173,245,156,165,72,86,13,85,2,163,42,249,225,242,232,62,79,106,9,215,216,18,197,148,226,128,10,66,182,13,102,82,236,209,84,122,145,};
-static uint8_t aead_ietf_1180[]={82,2,41,176,71,51,206,154,81,39,32,65,172,107,196,121,122,21,21,169,59,6,86,68,66,81,95,52,203,35,65,249,};
-static uint8_t aead_ietf_1181[]={175,165,217,14,176,178,211,76,10,108,171,65,109,34,139,37,35,209,26,168,7,114,61,158,};
-static uint8_t aead_ietf_1182[]={71,124,173,140,};
-static uint8_t aead_ietf_1183[]={112,7,148,11,188,125,96,69,191,38,244,198,123,147,64,91,231,62,141,171,192,174,22,61,56,235,83,151,17,172,234,238,64,39,25,134,231,224,243,177,23,207,209,169,243,163,29,202,3,161,156,89,239,251,139,239,65,26,56,179,16,97,154,231,10,202,1,5,238,121,13,222,255,167,83,225,187,80,60,143,51,244,234,58,218,245,39,64,127,53,204,159,218,125,29,143,31,239,201,52,183,57,79,248,123,19,34,114,};
-static uint8_t aead_ietf_1184[]={139,213,103,39,209,248,172,127,81,34,164,120,21,194,81,148,193,178,75,29,218,125,182,193,95,195,85,134,109,166,195,254,152,19,178,248,201,67,122,125,16,129,19,194,125,112,239,44,151,95,189,61,24,186,130,69,213,151,216,19,167,69,165,119,107,55,16,169,40,114,141,216,198,153,39,3,182,196,142,225,222,159,88,242,205,191,91,250,183,146,149,4,132,163,198,200,237,40,192,124,54,8,26,195,53,185,222,66,221,202,72,77,58,90,124,81,233,175,7,90,10,149,17,209,};
-static uint8_t aead_ietf_1185[]={223,22,19,252,225,139,152,173,43,49,106,225,195,167,62,124,1,121,176,106,1,119,148,67,68,119,192,42,102,175,59,117,};
-static uint8_t aead_ietf_1186[]={147,33,205,93,134,66,43,89,194,21,242,106,237,252,154,208,130,38,216,205,101,232,239,112,};
-static uint8_t aead_ietf_1187[]={230,88,107,220,};
-static uint8_t aead_ietf_1188[]={103,255,228,12,0,39,160,170,105,132,95,207,53,47,43,55,70,22,152,152,194,191,248,203,102,241,90,33,106,127,146,249,95,128,29,111,172,215,238,205,72,155,151,60,176,34,74,53,194,154,153,42,159,230,13,178,239,242,53,179,76,182,184,21,34,78,201,31,127,176,236,204,9,107,63,123,13,56,212,6,186,71,9,9,198,205,27,74,234,188,222,177,50,4,203,61,64,142,231,177,190,162,68,161,94,37,93,62,143,};
-static uint8_t aead_ietf_1189[]={199,208,9,196,180,121,182,177,43,188,189,49,47,198,103,88,23,234,212,72,103,121,59,146,205,234,206,212,157,171,110,223,6,23,22,146,58,95,193,100,21,171,125,226,162,234,27,233,41,37,77,223,205,22,221,127,157,191,60,107,129,46,198,183,120,89,109,66,121,48,255,71,88,135,212,107,65,222,244,132,28,238,188,190,150,190,54,248,114,172,147,82,44,125,18,223,176,177,178,52,246,18,34,149,193,6,27,123,101,129,17,57,109,184,174,28,198,4,145,2,243,61,243,130,162,};
-static uint8_t aead_ietf_1190[]={84,135,208,237,174,69,34,82,136,140,27,95,107,235,27,71,185,251,200,80,109,160,196,80,169,16,151,128,65,118,58,127,};
-static uint8_t aead_ietf_1191[]={64,172,149,244,98,113,90,15,86,163,255,126,7,195,172,244,184,116,56,17,247,196,234,155,};
-static uint8_t aead_ietf_1192[]={73,70,141,151,};
-static uint8_t aead_ietf_1193[]={152,132,204,19,223,48,155,193,2,140,160,126,53,240,143,215,229,162,113,138,179,74,142,136,178,94,254,135,221,15,222,228,166,183,51,34,123,84,190,40,74,15,127,103,116,182,37,88,184,186,40,158,55,133,6,196,247,61,236,186,203,242,101,86,137,74,229,170,163,108,141,25,172,47,223,83,218,143,239,239,165,5,42,141,21,221,207,39,119,169,218,34,26,74,14,209,110,203,100,113,44,50,1,130,216,99,177,147,171,223,};
-static uint8_t aead_ietf_1194[]={195,144,212,81,146,124,38,98,148,36,62,183,45,209,252,201,233,65,175,98,230,1,140,10,207,124,59,79,174,81,114,220,69,246,145,10,255,129,70,138,43,58,246,77,35,106,3,91,108,151,140,21,29,204,66,14,49,44,200,231,156,253,248,205,85,122,91,27,145,5,149,75,171,67,155,234,87,127,7,70,242,135,193,56,10,55,183,204,80,145,104,49,137,64,52,195,144,60,159,102,11,193,107,233,117,196,95,116,40,216,90,16,157,114,99,155,34,132,111,62,59,37,229,109,212,19,};
-static uint8_t aead_ietf_1195[]={192,26,41,85,158,126,148,145,72,201,210,23,225,62,244,114,61,30,128,137,83,0,60,146,243,70,142,253,25,30,138,6,};
-static uint8_t aead_ietf_1196[]={217,241,84,37,116,36,34,159,143,16,85,150,104,187,176,250,113,241,138,162,179,128,64,202,};
-static uint8_t aead_ietf_1197[]={255,212,247,49,};
-static uint8_t aead_ietf_1198[]={3,255,217,87,21,97,188,170,152,169,39,253,96,34,65,106,104,2,243,44,100,30,21,153,225,110,81,147,148,141,189,190,177,117,93,162,41,247,46,19,56,30,47,53,155,97,69,169,187,62,236,0,87,118,152,232,164,57,7,171,14,154,96,173,143,3,41,102,182,88,23,33,248,162,216,240,47,227,188,238,190,22,114,26,132,199,8,123,155,80,192,171,118,111,159,143,108,230,124,189,60,83,186,42,25,91,175,99,72,163,163,};
-static uint8_t aead_ietf_1199[]={220,134,245,229,77,136,104,104,71,248,121,0,57,92,199,224,152,56,37,53,40,245,76,20,188,228,245,144,148,122,171,247,72,179,196,33,118,207,108,170,242,129,198,12,23,20,214,159,49,231,209,44,111,47,88,152,144,250,91,78,67,139,188,56,82,106,236,187,230,28,11,77,119,155,160,159,149,93,108,46,119,29,27,70,212,215,44,141,90,144,105,143,153,25,15,73,97,78,186,108,107,229,22,94,216,120,172,101,150,96,178,211,129,109,223,132,132,79,93,130,101,217,251,240,93,160,200,};
-static uint8_t aead_ietf_1200[]={1,15,136,216,246,204,181,58,153,187,38,234,70,103,32,78,245,209,210,87,158,226,255,129,231,69,132,245,220,113,24,91,};
-static uint8_t aead_ietf_1201[]={136,34,86,49,74,93,158,185,177,68,140,190,171,169,144,2,81,55,104,179,241,11,173,255,};
-static uint8_t aead_ietf_1202[]={147,81,126,197,};
-static uint8_t aead_ietf_1203[]={141,35,126,150,131,235,3,186,226,111,93,97,240,37,251,151,188,178,47,248,33,242,158,205,71,23,138,242,34,232,36,192,170,87,219,184,207,221,94,139,163,205,1,64,127,93,106,80,64,105,63,200,33,100,129,174,84,182,155,169,22,223,228,206,10,49,171,224,84,16,126,63,31,243,103,3,251,210,253,23,51,197,145,28,72,114,206,155,74,166,242,184,235,29,93,26,43,96,83,102,151,84,209,143,158,150,235,73,230,118,213,154,};
-static uint8_t aead_ietf_1204[]={28,148,244,215,5,157,253,237,188,22,17,126,73,187,109,35,39,154,61,20,67,102,43,11,35,166,91,200,164,228,39,123,34,41,120,207,108,197,205,77,93,97,239,244,82,72,88,232,52,130,252,50,116,205,198,26,28,61,253,13,224,16,88,66,93,100,223,244,218,66,15,203,154,255,219,55,168,31,253,86,27,181,26,181,94,94,252,12,140,106,254,146,78,244,64,95,3,208,98,10,229,28,56,21,169,138,150,237,57,65,24,172,123,46,189,58,188,73,166,7,115,3,167,132,52,216,179,223,};
-static uint8_t aead_ietf_1205[]={132,48,98,123,13,88,205,29,200,43,215,115,142,179,86,246,26,160,36,6,145,6,61,68,142,133,63,93,145,85,37,138,};
-static uint8_t aead_ietf_1206[]={180,142,6,240,97,140,123,186,25,59,43,65,243,227,153,247,30,135,142,8,51,1,185,118,};
-static uint8_t aead_ietf_1207[]={207,205,253,155,};
-static uint8_t aead_ietf_1208[]={101,190,221,28,14,161,11,185,80,171,75,68,118,68,155,48,239,27,130,209,55,10,101,57,113,124,36,21,253,39,238,232,138,178,196,191,7,133,173,109,116,148,119,186,176,238,59,178,230,115,228,111,73,37,135,5,245,129,50,249,129,251,205,82,19,74,237,174,217,196,245,201,153,156,42,230,66,125,140,176,195,149,165,103,169,22,101,151,99,50,204,244,25,227,140,93,100,254,35,232,145,254,175,145,217,101,119,150,255,217,9,15,56,};
-static uint8_t aead_ietf_1209[]={169,14,94,41,82,185,202,7,83,120,202,131,70,119,192,86,0,168,87,82,212,205,226,68,255,104,233,171,145,207,200,105,46,86,25,87,235,214,119,198,28,139,114,55,134,232,54,76,123,162,240,75,212,152,118,156,163,12,175,51,134,226,191,74,150,96,135,18,208,26,217,192,146,74,4,107,218,117,11,14,113,89,56,189,250,47,143,167,82,214,124,31,200,65,64,114,52,192,135,119,179,163,92,53,45,27,231,27,245,157,3,188,227,185,158,28,143,186,89,209,148,92,2,5,127,224,95,108,185,};
-static uint8_t aead_ietf_1210[]={43,178,11,37,113,167,148,231,186,179,101,41,6,159,24,223,217,105,8,145,121,49,41,134,216,122,225,72,254,3,80,177,};
-static uint8_t aead_ietf_1211[]={32,41,49,188,72,31,240,79,203,195,162,202,117,231,115,208,204,216,136,126,7,196,196,200,};
-static uint8_t aead_ietf_1212[]={253,238,12,236,};
-static uint8_t aead_ietf_1213[]={71,68,222,252,124,99,41,253,214,23,240,24,175,193,200,117,221,152,145,62,201,164,115,30,14,148,94,52,247,78,99,66,201,141,207,153,201,52,182,208,152,117,232,101,64,107,248,178,104,120,132,247,245,43,118,178,239,4,58,246,182,172,115,173,103,117,249,166,148,155,228,238,3,220,158,29,160,252,8,233,145,128,185,225,83,93,44,48,205,152,249,11,53,19,179,134,157,4,212,87,123,87,198,235,210,110,222,114,145,131,172,170,240,237,};
-static uint8_t aead_ietf_1214[]={188,70,61,207,87,93,184,172,93,183,164,148,80,247,80,85,204,218,11,54,157,177,82,27,251,13,220,13,81,135,234,118,128,40,142,162,111,59,86,5,184,18,61,131,211,221,142,39,100,239,28,83,170,160,118,108,15,136,147,131,0,76,22,207,30,174,131,49,24,204,200,0,195,57,141,98,45,69,79,200,228,61,89,102,115,207,27,88,239,145,45,83,15,69,227,47,209,156,114,49,42,145,110,155,157,184,132,240,5,54,51,196,131,80,208,230,227,246,147,21,161,65,78,10,23,160,79,183,91,242,};
-static uint8_t aead_ietf_1215[]={43,171,74,69,5,151,246,70,22,206,176,230,222,223,25,76,36,156,95,38,147,242,121,14,221,238,200,197,140,148,149,22,};
-static uint8_t aead_ietf_1216[]={193,28,99,235,119,48,219,250,199,243,137,67,227,63,156,102,239,108,52,50,93,195,63,156,};
-static uint8_t aead_ietf_1217[]={38,158,6,21,};
-static uint8_t aead_ietf_1218[]={148,136,76,57,115,198,219,180,86,220,21,156,192,78,146,113,116,73,3,96,0,110,134,57,234,211,89,63,189,207,64,156,147,63,110,193,108,199,184,81,173,89,35,142,48,134,80,127,25,68,91,255,240,252,219,19,48,52,171,164,58,173,175,142,54,45,200,68,143,87,51,86,30,162,226,56,24,195,128,86,65,236,87,145,225,18,44,251,153,159,0,52,154,155,88,92,31,144,147,83,242,202,12,59,219,180,16,196,119,17,3,73,212,155,39,};
-static uint8_t aead_ietf_1219[]={247,163,103,89,182,247,49,34,147,61,135,178,82,243,206,29,129,81,203,3,152,6,207,65,214,48,59,111,209,87,160,177,150,247,139,238,207,13,169,147,183,116,181,135,73,156,74,255,87,197,186,43,163,204,152,249,238,113,64,187,212,180,208,175,243,33,246,154,116,182,227,223,123,154,142,240,88,44,18,131,221,1,134,128,10,110,66,193,215,32,84,77,141,143,136,19,145,180,137,39,191,47,153,45,174,92,189,153,55,178,166,186,228,75,253,211,143,202,128,196,118,186,21,175,34,68,116,85,23,75,223,};
-static uint8_t aead_ietf_1220[]={80,244,87,125,34,31,49,189,24,101,13,96,178,244,120,166,167,152,237,110,118,47,55,24,189,218,100,92,132,236,12,77,};
-static uint8_t aead_ietf_1221[]={49,70,84,197,2,233,199,221,205,190,201,214,219,206,95,26,99,84,218,87,185,10,8,35,};
-static uint8_t aead_ietf_1222[]={235,158,8,234,};
-static uint8_t aead_ietf_1223[]={252,78,99,224,83,178,157,37,123,103,35,240,176,15,212,173,117,5,189,23,197,47,11,12,5,44,26,215,84,189,126,253,38,132,178,48,105,132,49,228,123,87,215,7,177,105,253,59,179,183,80,109,46,242,146,58,59,239,52,233,127,197,133,90,29,34,111,21,12,247,163,136,212,91,122,41,126,252,239,58,18,161,141,44,3,192,147,216,151,70,51,94,252,236,136,220,143,19,198,60,39,2,86,140,25,205,19,68,247,145,116,5,140,153,179,130,};
-static uint8_t aead_ietf_1224[]={187,67,190,184,48,92,146,88,84,187,102,17,95,84,187,196,137,106,102,53,191,252,8,183,90,149,3,53,155,80,20,175,1,28,77,48,184,241,1,207,88,0,35,185,51,12,70,113,232,24,10,190,224,20,243,61,143,187,69,146,85,99,205,104,20,172,135,163,165,235,23,64,30,212,245,96,189,184,4,246,58,192,242,34,183,6,255,212,133,192,94,227,66,129,72,58,173,138,243,34,60,72,152,146,108,17,76,111,85,238,161,228,43,191,229,90,130,106,202,85,131,98,205,36,196,111,175,254,114,237,124,210,};
-static uint8_t aead_ietf_1225[]={153,103,20,125,219,238,147,251,177,101,90,121,37,246,218,191,53,147,61,119,147,36,133,88,110,251,58,250,105,195,18,41,};
-static uint8_t aead_ietf_1226[]={164,164,233,146,68,29,63,254,148,117,215,40,135,52,27,181,115,84,32,165,157,19,154,242,};
-static uint8_t aead_ietf_1227[]={213,120,93,97,};
-static uint8_t aead_ietf_1228[]={34,155,123,171,98,26,161,53,161,46,237,63,51,190,144,186,3,235,17,203,52,188,221,136,156,216,62,182,62,37,190,103,154,66,185,130,231,211,249,202,137,27,182,75,144,165,20,151,79,197,201,96,31,18,123,33,167,191,160,192,238,74,53,244,152,166,134,95,217,194,69,168,246,137,80,222,101,186,100,20,69,26,62,145,205,222,6,113,35,153,169,211,174,100,41,83,62,97,90,4,126,94,194,86,9,154,51,93,1,155,199,30,78,195,183,7,17,};
-static uint8_t aead_ietf_1229[]={195,215,170,96,54,63,51,76,201,104,188,208,55,79,108,204,21,153,195,109,98,32,217,167,248,32,202,10,164,207,115,138,197,236,114,19,161,203,148,125,147,26,144,202,162,115,54,255,6,16,13,6,152,102,74,72,103,233,131,33,95,179,100,214,147,156,109,69,187,250,51,166,71,202,147,229,69,65,107,77,129,255,214,97,233,121,204,138,51,123,24,25,34,3,50,227,179,252,162,120,63,180,217,64,157,243,2,61,240,109,124,254,169,0,49,109,173,253,244,47,70,17,85,39,58,38,192,73,35,36,170,71,118,};
-static uint8_t aead_ietf_1230[]={77,59,220,143,8,65,49,167,222,217,69,14,40,84,133,45,211,156,43,250,56,118,94,81,183,156,24,244,170,139,254,44,};
-static uint8_t aead_ietf_1231[]={90,71,241,126,134,66,67,240,193,152,45,50,115,81,196,248,133,143,219,250,6,201,218,184,};
-static uint8_t aead_ietf_1232[]={186,128,233,75,};
-static uint8_t aead_ietf_1233[]={178,121,131,153,214,94,163,104,93,122,247,72,92,230,147,116,220,130,69,235,55,242,17,220,14,137,75,169,138,192,13,28,212,51,71,37,70,120,40,226,193,143,126,17,77,157,174,173,184,7,119,177,182,92,241,66,182,25,127,117,12,96,188,123,175,75,92,244,177,241,226,114,100,194,77,220,144,209,39,204,182,235,77,56,70,211,147,195,43,30,152,180,193,203,248,9,100,243,8,15,242,59,175,122,143,145,150,31,95,83,243,122,69,27,79,127,68,222,};
-static uint8_t aead_ietf_1234[]={64,121,36,254,3,186,78,78,131,251,191,57,134,71,38,132,238,71,133,8,185,108,213,170,154,181,19,107,152,60,84,17,72,64,186,124,46,18,34,76,5,32,227,155,195,148,27,248,161,168,84,43,161,141,58,246,200,16,125,192,61,230,149,46,60,67,62,131,106,167,30,158,88,147,106,142,98,105,110,97,189,243,183,202,121,123,21,39,68,51,20,79,171,17,117,8,243,177,122,6,11,54,187,237,135,199,153,162,200,150,251,67,22,53,158,60,36,77,135,101,127,201,170,2,174,9,230,62,115,228,36,238,94,233,};
-static uint8_t aead_ietf_1235[]={97,99,128,62,10,56,84,148,22,213,47,119,240,63,91,242,74,202,247,103,184,116,147,128,200,13,86,99,153,31,242,127,};
-static uint8_t aead_ietf_1236[]={119,109,210,183,147,169,31,89,205,229,123,76,48,169,156,135,21,60,185,25,172,206,255,64,};
-static uint8_t aead_ietf_1237[]={156,148,64,99,};
-static uint8_t aead_ietf_1238[]={192,111,130,206,180,129,188,1,40,238,177,242,138,69,0,133,21,106,124,107,42,195,218,27,92,7,192,18,148,174,10,113,135,74,57,89,196,20,181,198,4,138,84,149,67,160,176,110,181,214,162,119,122,106,101,152,15,36,40,118,106,185,199,91,209,90,127,201,171,225,32,2,236,9,68,106,155,142,223,213,85,11,74,131,37,217,126,99,74,169,8,44,63,123,181,98,163,225,198,166,213,206,217,188,114,140,31,205,49,90,188,127,184,229,147,255,221,183,235,};
-static uint8_t aead_ietf_1239[]={37,158,235,248,112,56,73,92,159,100,168,140,225,133,20,103,58,0,75,248,166,87,183,206,139,71,158,13,178,6,245,49,212,110,113,47,240,110,98,235,164,172,170,127,21,250,31,148,140,184,33,210,253,227,171,213,181,235,216,172,124,168,196,248,230,85,4,73,226,230,111,204,91,208,48,123,195,30,96,203,139,191,82,111,192,235,96,166,81,11,144,43,183,36,102,250,28,0,102,92,207,250,19,248,27,26,85,11,77,108,180,144,142,34,2,59,159,24,56,61,5,93,183,206,52,149,22,158,144,217,126,36,110,178,32,};
-static uint8_t aead_ietf_1240[]={127,222,94,3,114,100,41,236,40,160,239,104,83,181,221,243,62,32,96,169,181,216,84,21,23,130,60,150,63,213,190,207,};
-static uint8_t aead_ietf_1241[]={120,45,114,231,156,183,80,78,223,125,201,61,97,103,212,241,157,102,47,94,181,88,76,24,};
-static uint8_t aead_ietf_1242[]={122,245,43,82,};
-static uint8_t aead_ietf_1243[]={12,201,138,215,177,164,66,32,23,227,250,22,204,238,14,65,83,113,159,90,235,92,193,68,250,81,162,223,103,234,195,188,69,63,221,188,61,196,13,223,242,151,237,70,97,125,18,110,214,42,219,152,234,21,103,4,246,234,57,143,58,1,150,75,113,169,59,10,126,2,167,175,54,220,140,96,66,115,107,51,6,218,74,225,244,244,123,15,173,76,208,156,166,63,80,131,180,92,93,179,184,224,14,210,213,28,144,129,98,61,2,155,240,239,237,173,158,136,60,52,};
-static uint8_t aead_ietf_1244[]={105,105,121,149,0,59,253,209,55,72,81,185,245,45,251,214,138,121,119,244,194,159,39,127,181,59,225,224,226,163,178,232,2,16,136,79,9,62,7,173,212,86,98,191,87,168,69,107,197,25,172,103,220,11,251,160,166,173,243,73,137,168,40,131,40,150,3,203,51,131,22,70,36,98,248,26,138,38,228,116,112,220,130,215,97,69,69,20,224,199,208,253,128,28,117,20,226,233,113,128,235,167,163,39,59,144,57,23,189,141,103,159,28,87,246,226,49,22,227,127,181,188,71,22,172,107,245,149,224,198,85,250,61,116,67,118,};
-static uint8_t aead_ietf_1245[]={226,200,17,177,223,49,251,73,161,99,169,181,200,99,172,36,89,67,143,182,45,20,194,175,136,99,209,248,200,146,4,114,};
-static uint8_t aead_ietf_1246[]={45,220,237,66,35,97,88,214,178,157,70,91,101,207,18,181,163,29,234,220,227,56,175,208,};
-static uint8_t aead_ietf_1247[]={137,78,47,4,};
-static uint8_t aead_ietf_1248[]={110,173,40,170,47,12,239,193,200,200,150,119,48,175,168,91,119,134,105,106,200,198,31,241,170,121,195,44,77,210,164,237,219,233,15,194,112,208,162,172,35,11,118,130,18,58,21,149,167,225,1,131,153,116,53,136,157,150,218,126,47,148,227,35,110,230,215,115,24,25,158,205,248,66,1,17,199,147,181,81,246,43,79,1,159,66,136,54,36,53,119,188,251,77,196,191,81,26,179,70,234,64,151,235,84,156,81,158,18,207,138,36,116,112,185,72,136,14,131,152,75,};
-static uint8_t aead_ietf_1249[]={168,193,199,9,127,150,119,148,217,162,160,172,114,232,200,177,182,116,108,204,240,131,159,63,234,97,230,11,63,227,54,