CURVES_MAX_Q_BIT_LEN
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN > 65535)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BIGN256V1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BIGN384V1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BIGN512V1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP192R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP192T1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP224R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP224T1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP256R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP256T1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP320R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP320T1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP384R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP384T1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP512R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_BRAINPOOLP512T1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_FRP256V1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST256_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST512_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_A_PARAMSET_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_B_PARAMSET_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_C_PARAMSET_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_XCHA_PARAMSET_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_XCHB_PARAMSET_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2001_TESTPARAMSET_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_256_PARAMSETA_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_256_PARAMSETB_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_256_PARAMSETC_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_256_PARAMSETD_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETA_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETB_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETC_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETTEST_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SECP192K1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SECP192R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SECP224K1_Q_BITLEN)
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SECP224R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SECP256K1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SECP256R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SECP384R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SECP521R1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SM2P192TEST_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SM2P256TEST_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_SM2P256V1_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_WEI25519_Q_BITLEN)
#ifndef CURVES_MAX_Q_BIT_LEN
#if (CURVES_MAX_Q_BIT_LEN < CURVE_WEI448_Q_BITLEN)
#define BIGN_MAX_SIGLEN BIGN_SIGLEN(CURVES_MAX_Q_BIT_LEN)
u8 s0_sig[BIGN_S0_LEN(CURVES_MAX_Q_BIT_LEN)];
#define BIP0340_MAX_SIGLEN BIP0340_SIGLEN(CURVES_MAX_P_BIT_LEN, CURVES_MAX_Q_BIT_LEN)
#define EC_PRIV_KEY_MAX_SIZE (LOCAL_MAX(MAX_DIGEST_SIZE, LOCAL_MAX(BYTECEIL(CURVES_MAX_Q_BIT_LEN), BYTECEIL(CURVES_MAX_P_BIT_LEN))))
#define EC_PRIV_KEY_MAX_SIZE (LOCAL_MAX(BYTECEIL(CURVES_MAX_Q_BIT_LEN), BYTECEIL(CURVES_MAX_P_BIT_LEN)))
#define ECDSA_MAX_SIGLEN ECDSA_SIGLEN(CURVES_MAX_Q_BIT_LEN)
CURVES_MAX_Q_BIT_LEN)
#define ECGDSA_MAX_SIGLEN ECGDSA_SIGLEN(CURVES_MAX_Q_BIT_LEN)
#define ECKCDSA_MAX_SIGLEN ECKCDSA_SIGLEN(MAX_DIGEST_SIZE, CURVES_MAX_Q_BIT_LEN)
#define ECOSDSA_MAX_SIGLEN ECOSDSA_SIGLEN(MAX_DIGEST_SIZE, CURVES_MAX_Q_BIT_LEN)
#define ECRDSA_MAX_SIGLEN ECRDSA_SIGLEN(CURVES_MAX_Q_BIT_LEN)
#define ECSDSA_MAX_SIGLEN ECSDSA_SIGLEN(MAX_DIGEST_SIZE, CURVES_MAX_Q_BIT_LEN)
#define SM2_MAX_SIGLEN SM2_SIGLEN(CURVES_MAX_Q_BIT_LEN)
u8 FE2OS_D[LOCAL_MAX(BYTECEIL(CURVES_MAX_Q_BIT_LEN), 2 * BELT_HASH_DIGEST_SIZE)];
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&
u8 FE2OS_W[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), 2 * BIGN_S0_LEN(CURVES_MAX_Q_BIT_LEN))];
u8 TMP[BYTECEIL(CURVES_MAX_Q_BIT_LEN)];
u8 t[BIGN_S0_LEN(CURVES_MAX_Q_BIT_LEN)];
u8 FE2OS_W[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), 2 * BIGN_S0_LEN(CURVES_MAX_Q_BIT_LEN))];
u8 chacha20_scalar[BYTECEIL(CURVES_MAX_Q_BIT_LEN)];
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&
u8 chacha20_scalar[BYTECEIL(CURVES_MAX_Q_BIT_LEN)];
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&
u8 T[BYTECEIL(CURVES_MAX_Q_BIT_LEN) + MAX_DIGEST_SIZE];
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&
(q_bit_len <= CURVES_MAX_Q_BIT_LEN) &&