ALGORITHMS = {
    "firesaber": {"path": "firesaber", "is_kem": True},
    "frodokem1344aes": {"path": "frodokem1344aes", "is_kem": True},
    "frodokem1344shake": {"path": "frodokem1344shake", "is_kem": True},
    "frodokem640aes": {"path": "frodokem640aes", "is_kem": True},
    "frodokem640shake": {"path": "frodokem640shake", "is_kem": True},
    "frodokem976aes": {"path": "frodokem976aes", "is_kem": True},
    "frodokem976shake": {"path": "frodokem976shake", "is_kem": True},
    "kyber1024": {"path": "kyber1024", "is_kem": True},
    "kyber1024_90s": {"path": "kyber1024-90s", "is_kem": True},
    "kyber512": {"path": "kyber512", "is_kem": True},
    "kyber512_90s": {"path": "kyber512-90s", "is_kem": True},
    "kyber768": {"path": "kyber768", "is_kem": True},
    "kyber768_90s": {"path": "kyber768-90s", "is_kem": True},
    "lightsaber": {"path": "lightsaber", "is_kem": True},
    "mceliece348864": {"path": "mceliece348864", "is_kem": True, "generate_in_threadpool": True},
    "mceliece348864f": {"path": "mceliece348864f", "is_kem": True, "generate_in_threadpool": True},
    "mceliece460896": {"path": "mceliece460896", "is_kem": True, "generate_in_threadpool": True},
    "mceliece460896f": {"path": "mceliece460896f", "is_kem": True, "generate_in_threadpool": True},
    "mceliece6688128": {"path": "mceliece6688128", "is_kem": True, "generate_in_threadpool": True},
    "mceliece6688128f": {"path": "mceliece6688128f", "is_kem": True, "generate_in_threadpool": True},
    "mceliece6960119": {"path": "mceliece6960119", "is_kem": True, "generate_in_threadpool": True},
    "mceliece6960119f": {"path": "mceliece6960119f", "is_kem": True, "generate_in_threadpool": True},
    "mceliece8192128": {"path": "mceliece8192128", "is_kem": True, "generate_in_threadpool": True},
    "mceliece8192128f": {"path": "mceliece8192128f", "is_kem": True, "generate_in_threadpool": True},
    "ntruhps2048509": {"path": "ntruhps2048509", "is_kem": True},
    "ntruhps2048677": {"path": "ntruhps2048677", "is_kem": True},
    "ntruhps4096821": {"path": "ntruhps4096821", "is_kem": True},
    "ntruhrss701": {"path": "ntruhrss701", "is_kem": True},
    "saber": {"path": "saber", "is_kem": True},
    "dilithium2": {"path": "dilithium2", "is_sign": True},
    "dilithium3": {"path": "dilithium3", "is_sign": True},
    "dilithium4": {"path": "dilithium4", "is_sign": True},
    "falcon_1024": {"path": "falcon-1024", "is_sign": True},
    "falcon_512": {"path": "falcon-512", "is_sign": True},
    "rainbowIa_classic": {
        "path": "rainbowIa-classic",
        "is_sign": True,
        "generate_in_threadpool": True,
        "sign_in_threadpool": True,
        "verify_in_threadpool": True,
    },
    "rainbowIa_cyclic": {
        "path": "rainbowIa-cyclic",
        "is_sign": True,
        "generate_in_threadpool": True,
        "sign_in_threadpool": True,
        "verify_in_threadpool": True,
    },
    "rainbowIa_cyclic_compressed": {
        "path": "rainbowIa-cyclic-compressed",
        "is_sign": True,
        "generate_in_threadpool": True,
        "sign_in_threadpool": True,
        "verify_in_threadpool": True,
    },
    "rainbowIIIc_classic": {
        "path": "rainbowIIIc-classic",
        "is_sign": True,
        "generate_in_threadpool": True,
        "sign_in_threadpool": True,
        "verify_in_threadpool": True,
    },
    "rainbowIIIc_cyclic": {
        "path": "rainbowIIIc-cyclic",
        "is_sign": True,
        "generate_in_threadpool": True,
        "sign_in_threadpool": True,
        "verify_in_threadpool": True,
    },
    "rainbowIIIc_cyclic_compressed": {
        "path": "rainbowIIIc-cyclic-compressed",
        "is_sign": True,
        "generate_in_threadpool": True,
        "sign_in_threadpool": True,
        "verify_in_threadpool": True,
    },
    "rainbowVc_classic": {
        "path": "rainbowVc-classic",
        "is_sign": True,
        "generate_in_threadpool": True,
        "sign_in_threadpool": True,
        "verify_in_threadpool": True,
    },
    "rainbowVc_cyclic": {
        "path": "rainbowVc-cyclic",
        "is_sign": True,
        "generate_in_threadpool": True,
        "sign_in_threadpool": True,
        "verify_in_threadpool": True,
    },
    "rainbowVc_cyclic_compressed": {
        "path": "rainbowVc-cyclic-compressed",
        "is_sign": True,
        "generate_in_threadpool": True,
        "sign_in_threadpool": True,
        "verify_in_threadpool": True,
    },
    "sphincs_haraka_128f_robust": {"path": "sphincs-haraka-128f-robust", "is_sign": True},
    "sphincs_haraka_128f_simple": {"path": "sphincs-haraka-128f-simple", "is_sign": True},
    "sphincs_haraka_128s_robust": {"path": "sphincs-haraka-128s-robust", "is_sign": True},
    "sphincs_haraka_128s_simple": {"path": "sphincs-haraka-128s-simple", "is_sign": True},
    "sphincs_haraka_192f_robust": {"path": "sphincs-haraka-192f-robust", "is_sign": True},
    "sphincs_haraka_192f_simple": {"path": "sphincs-haraka-192f-simple", "is_sign": True},
    "sphincs_haraka_192s_robust": {"path": "sphincs-haraka-192s-robust", "is_sign": True},
    "sphincs_haraka_192s_simple": {"path": "sphincs-haraka-192s-simple", "is_sign": True},
    "sphincs_haraka_256f_robust": {"path": "sphincs-haraka-256f-robust", "is_sign": True},
    "sphincs_haraka_256f_simple": {"path": "sphincs-haraka-256f-simple", "is_sign": True},
    "sphincs_haraka_256s_robust": {"path": "sphincs-haraka-256s-robust", "is_sign": True},
    "sphincs_haraka_256s_simple": {"path": "sphincs-haraka-256s-simple", "is_sign": True},
    "sphincs_sha256_128f_robust": {"path": "sphincs-sha256-128f-robust", "is_sign": True},
    "sphincs_sha256_128f_simple": {"path": "sphincs-sha256-128f-simple", "is_sign": True},
    "sphincs_sha256_128s_robust": {"path": "sphincs-sha256-128s-robust", "is_sign": True},
    "sphincs_sha256_128s_simple": {"path": "sphincs-sha256-128s-simple", "is_sign": True},
    "sphincs_sha256_192f_robust": {"path": "sphincs-sha256-192f-robust", "is_sign": True},
    "sphincs_sha256_192f_simple": {"path": "sphincs-sha256-192f-simple", "is_sign": True},
    "sphincs_sha256_192s_robust": {"path": "sphincs-sha256-192s-robust", "is_sign": True},
    "sphincs_sha256_192s_simple": {"path": "sphincs-sha256-192s-simple", "is_sign": True},
    "sphincs_sha256_256f_robust": {"path": "sphincs-sha256-256f-robust", "is_sign": True},
    "sphincs_sha256_256f_simple": {"path": "sphincs-sha256-256f-simple", "is_sign": True},
    "sphincs_sha256_256s_robust": {"path": "sphincs-sha256-256s-robust", "is_sign": True},
    "sphincs_sha256_256s_simple": {"path": "sphincs-sha256-256s-simple", "is_sign": True},
    "sphincs_shake256_128f_robust": {"path": "sphincs-shake256-128f-robust", "is_sign": True},
    "sphincs_shake256_128f_simple": {"path": "sphincs-shake256-128f-simple", "is_sign": True},
    "sphincs_shake256_128s_robust": {"path": "sphincs-shake256-128s-robust", "is_sign": True},
    "sphincs_shake256_128s_simple": {"path": "sphincs-shake256-128s-simple", "is_sign": True},
    "sphincs_shake256_192f_robust": {"path": "sphincs-shake256-192f-robust", "is_sign": True},
    "sphincs_shake256_192f_simple": {"path": "sphincs-shake256-192f-simple", "is_sign": True},
    "sphincs_shake256_192s_robust": {"path": "sphincs-shake256-192s-robust", "is_sign": True},
    "sphincs_shake256_192s_simple": {"path": "sphincs-shake256-192s-simple", "is_sign": True},
    "sphincs_shake256_256f_robust": {"path": "sphincs-shake256-256f-robust", "is_sign": True},
    "sphincs_shake256_256f_simple": {"path": "sphincs-shake256-256f-simple", "is_sign": True},
    "sphincs_shake256_256s_robust": {"path": "sphincs-shake256-256s-robust", "is_sign": True},
    "sphincs_shake256_256s_simple": {"path": "sphincs-shake256-256s-simple", "is_sign": True},
}
