# Autogenerated wrapper script for AMCL_jll for armv7l-linux-gnueabihf
export libamcl_pairing_BLS383, libamcl_curve_GOLDILOCKS, libamcl_mpin_BLS24, libamcl_curve_NUMS256E, libamcl_bls_BN254, libamcl_curve_ED25519, libamcl_bls_BLS461, libamcl_curve_NUMS384E, libamcl_curve_NUMS512E, libamcl_mpin_BLS383, libamcl_wcc_BLS48, libamcl_mpin_BLS461, libamcl_curve_BLS48, libamcl_curve_SECP256K1, libamcl_pairing_BLS24, libamcl_curve_BN254CX, libamcl_curve_C41417, libamcl_mpin_BLS48, libamcl_mpin_BN254, libamcl_curve_NIST521, libamcl_curve_NUMS512W, libamcl_pairing_BN254, libamcl_curve_NUMS256W, libamcl_bls_BLS381, libamcl_mpin_FP256BN, libamcl_curve_BLS24, libamcl_x509, libamcl_curve_NIST384, libamcl_pairing_BLS48, libamcl_bls_BLS24, libamcl_bls_FP512BN, libamcl_rsa_3072, libamcl_bls_FP256BN, libamcl_wcc_BLS383, libamcl_wcc_BN254CX, libamcl_mpin_BN254CX, libamcl_rsa_4096, libamcl_pairing_BLS461, libamcl_mpin_FP512BN, libamcl_curve_NIST256, libamcl_pairing_FP256BN, libamcl_wcc_FP512BN, libamcl_bls_BLS383, libamcl_curve_BN254, libamcl_wcc_BLS461, libamcl_curve_C25519, libamcl_curve_HIFIVE, libamcl_mpin_BLS381, libamcl_curve_BLS383, libamcl_curve_BRAINPOOL, libamcl_pairing_BN254CX, libamcl_wcc_BN254, libamcl_curve_FP256BN, libamcl_curve_BLS381, libamcl_core, libamcl_curve_ANSSI, libamcl_curve_BLS461, libamcl_wcc_FP256BN, libamcl_bls_BLS48, libamcl_curve_NUMS384W, libamcl_wcc_BLS24, libamcl_curve_FP512BN, libamcl_wcc_BLS381, libamcl_pairing_FP512BN, libamcl_bls_BN254CX, libamcl_rsa_2048, libamcl_pairing_BLS381

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libamcl_pairing_BLS383`
const libamcl_pairing_BLS383_splitpath = ["lib", "libamcl_pairing_BLS383.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_pairing_BLS383_path = ""

# libamcl_pairing_BLS383-specific global declaration
# This will be filled out by __init__()
libamcl_pairing_BLS383_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_pairing_BLS383 = "libamcl_pairing_BLS383.so.2"


# Relative path to `libamcl_curve_GOLDILOCKS`
const libamcl_curve_GOLDILOCKS_splitpath = ["lib", "libamcl_curve_GOLDILOCKS.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_GOLDILOCKS_path = ""

# libamcl_curve_GOLDILOCKS-specific global declaration
# This will be filled out by __init__()
libamcl_curve_GOLDILOCKS_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_GOLDILOCKS = "libamcl_curve_GOLDILOCKS.so.2"


# Relative path to `libamcl_mpin_BLS24`
const libamcl_mpin_BLS24_splitpath = ["lib", "libamcl_mpin_BLS24.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_mpin_BLS24_path = ""

# libamcl_mpin_BLS24-specific global declaration
# This will be filled out by __init__()
libamcl_mpin_BLS24_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_mpin_BLS24 = "libamcl_mpin_BLS24.so.2"


# Relative path to `libamcl_curve_NUMS256E`
const libamcl_curve_NUMS256E_splitpath = ["lib", "libamcl_curve_NUMS256E.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_NUMS256E_path = ""

# libamcl_curve_NUMS256E-specific global declaration
# This will be filled out by __init__()
libamcl_curve_NUMS256E_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_NUMS256E = "libamcl_curve_NUMS256E.so.2"


# Relative path to `libamcl_bls_BN254`
const libamcl_bls_BN254_splitpath = ["lib", "libamcl_bls_BN254.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_bls_BN254_path = ""

# libamcl_bls_BN254-specific global declaration
# This will be filled out by __init__()
libamcl_bls_BN254_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_bls_BN254 = "libamcl_bls_BN254.so.2"


# Relative path to `libamcl_curve_ED25519`
const libamcl_curve_ED25519_splitpath = ["lib", "libamcl_curve_ED25519.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_ED25519_path = ""

# libamcl_curve_ED25519-specific global declaration
# This will be filled out by __init__()
libamcl_curve_ED25519_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_ED25519 = "libamcl_curve_ED25519.so.2"


# Relative path to `libamcl_bls_BLS461`
const libamcl_bls_BLS461_splitpath = ["lib", "libamcl_bls_BLS461.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_bls_BLS461_path = ""

# libamcl_bls_BLS461-specific global declaration
# This will be filled out by __init__()
libamcl_bls_BLS461_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_bls_BLS461 = "libamcl_bls_BLS461.so.2"


# Relative path to `libamcl_curve_NUMS384E`
const libamcl_curve_NUMS384E_splitpath = ["lib", "libamcl_curve_NUMS384E.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_NUMS384E_path = ""

# libamcl_curve_NUMS384E-specific global declaration
# This will be filled out by __init__()
libamcl_curve_NUMS384E_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_NUMS384E = "libamcl_curve_NUMS384E.so.2"


# Relative path to `libamcl_curve_NUMS512E`
const libamcl_curve_NUMS512E_splitpath = ["lib", "libamcl_curve_NUMS512E.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_NUMS512E_path = ""

# libamcl_curve_NUMS512E-specific global declaration
# This will be filled out by __init__()
libamcl_curve_NUMS512E_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_NUMS512E = "libamcl_curve_NUMS512E.so.2"


# Relative path to `libamcl_mpin_BLS383`
const libamcl_mpin_BLS383_splitpath = ["lib", "libamcl_mpin_BLS383.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_mpin_BLS383_path = ""

# libamcl_mpin_BLS383-specific global declaration
# This will be filled out by __init__()
libamcl_mpin_BLS383_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_mpin_BLS383 = "libamcl_mpin_BLS383.so.2"


# Relative path to `libamcl_wcc_BLS48`
const libamcl_wcc_BLS48_splitpath = ["lib", "libamcl_wcc_BLS48.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_wcc_BLS48_path = ""

# libamcl_wcc_BLS48-specific global declaration
# This will be filled out by __init__()
libamcl_wcc_BLS48_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_wcc_BLS48 = "libamcl_wcc_BLS48.so.2"


# Relative path to `libamcl_mpin_BLS461`
const libamcl_mpin_BLS461_splitpath = ["lib", "libamcl_mpin_BLS461.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_mpin_BLS461_path = ""

# libamcl_mpin_BLS461-specific global declaration
# This will be filled out by __init__()
libamcl_mpin_BLS461_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_mpin_BLS461 = "libamcl_mpin_BLS461.so.2"


# Relative path to `libamcl_curve_BLS48`
const libamcl_curve_BLS48_splitpath = ["lib", "libamcl_curve_BLS48.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_BLS48_path = ""

# libamcl_curve_BLS48-specific global declaration
# This will be filled out by __init__()
libamcl_curve_BLS48_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_BLS48 = "libamcl_curve_BLS48.so.2"


# Relative path to `libamcl_curve_SECP256K1`
const libamcl_curve_SECP256K1_splitpath = ["lib", "libamcl_curve_SECP256K1.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_SECP256K1_path = ""

# libamcl_curve_SECP256K1-specific global declaration
# This will be filled out by __init__()
libamcl_curve_SECP256K1_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_SECP256K1 = "libamcl_curve_SECP256K1.so.2"


# Relative path to `libamcl_pairing_BLS24`
const libamcl_pairing_BLS24_splitpath = ["lib", "libamcl_pairing_BLS24.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_pairing_BLS24_path = ""

# libamcl_pairing_BLS24-specific global declaration
# This will be filled out by __init__()
libamcl_pairing_BLS24_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_pairing_BLS24 = "libamcl_pairing_BLS24.so.2"


# Relative path to `libamcl_curve_BN254CX`
const libamcl_curve_BN254CX_splitpath = ["lib", "libamcl_curve_BN254CX.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_BN254CX_path = ""

# libamcl_curve_BN254CX-specific global declaration
# This will be filled out by __init__()
libamcl_curve_BN254CX_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_BN254CX = "libamcl_curve_BN254CX.so.2"


# Relative path to `libamcl_curve_C41417`
const libamcl_curve_C41417_splitpath = ["lib", "libamcl_curve_C41417.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_C41417_path = ""

# libamcl_curve_C41417-specific global declaration
# This will be filled out by __init__()
libamcl_curve_C41417_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_C41417 = "libamcl_curve_C41417.so.2"


# Relative path to `libamcl_mpin_BLS48`
const libamcl_mpin_BLS48_splitpath = ["lib", "libamcl_mpin_BLS48.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_mpin_BLS48_path = ""

# libamcl_mpin_BLS48-specific global declaration
# This will be filled out by __init__()
libamcl_mpin_BLS48_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_mpin_BLS48 = "libamcl_mpin_BLS48.so.2"


# Relative path to `libamcl_mpin_BN254`
const libamcl_mpin_BN254_splitpath = ["lib", "libamcl_mpin_BN254.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_mpin_BN254_path = ""

# libamcl_mpin_BN254-specific global declaration
# This will be filled out by __init__()
libamcl_mpin_BN254_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_mpin_BN254 = "libamcl_mpin_BN254.so.2"


# Relative path to `libamcl_curve_NIST521`
const libamcl_curve_NIST521_splitpath = ["lib", "libamcl_curve_NIST521.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_NIST521_path = ""

# libamcl_curve_NIST521-specific global declaration
# This will be filled out by __init__()
libamcl_curve_NIST521_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_NIST521 = "libamcl_curve_NIST521.so.2"


# Relative path to `libamcl_curve_NUMS512W`
const libamcl_curve_NUMS512W_splitpath = ["lib", "libamcl_curve_NUMS512W.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_NUMS512W_path = ""

# libamcl_curve_NUMS512W-specific global declaration
# This will be filled out by __init__()
libamcl_curve_NUMS512W_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_NUMS512W = "libamcl_curve_NUMS512W.so.2"


# Relative path to `libamcl_pairing_BN254`
const libamcl_pairing_BN254_splitpath = ["lib", "libamcl_pairing_BN254.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_pairing_BN254_path = ""

# libamcl_pairing_BN254-specific global declaration
# This will be filled out by __init__()
libamcl_pairing_BN254_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_pairing_BN254 = "libamcl_pairing_BN254.so.2"


# Relative path to `libamcl_curve_NUMS256W`
const libamcl_curve_NUMS256W_splitpath = ["lib", "libamcl_curve_NUMS256W.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_NUMS256W_path = ""

# libamcl_curve_NUMS256W-specific global declaration
# This will be filled out by __init__()
libamcl_curve_NUMS256W_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_NUMS256W = "libamcl_curve_NUMS256W.so.2"


# Relative path to `libamcl_bls_BLS381`
const libamcl_bls_BLS381_splitpath = ["lib", "libamcl_bls_BLS381.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_bls_BLS381_path = ""

# libamcl_bls_BLS381-specific global declaration
# This will be filled out by __init__()
libamcl_bls_BLS381_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_bls_BLS381 = "libamcl_bls_BLS381.so.2"


# Relative path to `libamcl_mpin_FP256BN`
const libamcl_mpin_FP256BN_splitpath = ["lib", "libamcl_mpin_FP256BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_mpin_FP256BN_path = ""

# libamcl_mpin_FP256BN-specific global declaration
# This will be filled out by __init__()
libamcl_mpin_FP256BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_mpin_FP256BN = "libamcl_mpin_FP256BN.so.2"


# Relative path to `libamcl_curve_BLS24`
const libamcl_curve_BLS24_splitpath = ["lib", "libamcl_curve_BLS24.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_BLS24_path = ""

# libamcl_curve_BLS24-specific global declaration
# This will be filled out by __init__()
libamcl_curve_BLS24_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_BLS24 = "libamcl_curve_BLS24.so.2"


# Relative path to `libamcl_x509`
const libamcl_x509_splitpath = ["lib", "libamcl_x509.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_x509_path = ""

# libamcl_x509-specific global declaration
# This will be filled out by __init__()
libamcl_x509_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_x509 = "libamcl_x509.so.2"


# Relative path to `libamcl_curve_NIST384`
const libamcl_curve_NIST384_splitpath = ["lib", "libamcl_curve_NIST384.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_NIST384_path = ""

# libamcl_curve_NIST384-specific global declaration
# This will be filled out by __init__()
libamcl_curve_NIST384_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_NIST384 = "libamcl_curve_NIST384.so.2"


# Relative path to `libamcl_pairing_BLS48`
const libamcl_pairing_BLS48_splitpath = ["lib", "libamcl_pairing_BLS48.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_pairing_BLS48_path = ""

# libamcl_pairing_BLS48-specific global declaration
# This will be filled out by __init__()
libamcl_pairing_BLS48_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_pairing_BLS48 = "libamcl_pairing_BLS48.so.2"


# Relative path to `libamcl_bls_BLS24`
const libamcl_bls_BLS24_splitpath = ["lib", "libamcl_bls_BLS24.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_bls_BLS24_path = ""

# libamcl_bls_BLS24-specific global declaration
# This will be filled out by __init__()
libamcl_bls_BLS24_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_bls_BLS24 = "libamcl_bls_BLS24.so.2"


# Relative path to `libamcl_bls_FP512BN`
const libamcl_bls_FP512BN_splitpath = ["lib", "libamcl_bls_FP512BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_bls_FP512BN_path = ""

# libamcl_bls_FP512BN-specific global declaration
# This will be filled out by __init__()
libamcl_bls_FP512BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_bls_FP512BN = "libamcl_bls_FP512BN.so.2"


# Relative path to `libamcl_rsa_3072`
const libamcl_rsa_3072_splitpath = ["lib", "libamcl_rsa_3072.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_rsa_3072_path = ""

# libamcl_rsa_3072-specific global declaration
# This will be filled out by __init__()
libamcl_rsa_3072_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_rsa_3072 = "libamcl_rsa_3072.so.2"


# Relative path to `libamcl_bls_FP256BN`
const libamcl_bls_FP256BN_splitpath = ["lib", "libamcl_bls_FP256BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_bls_FP256BN_path = ""

# libamcl_bls_FP256BN-specific global declaration
# This will be filled out by __init__()
libamcl_bls_FP256BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_bls_FP256BN = "libamcl_bls_FP256BN.so.2"


# Relative path to `libamcl_wcc_BLS383`
const libamcl_wcc_BLS383_splitpath = ["lib", "libamcl_wcc_BLS383.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_wcc_BLS383_path = ""

# libamcl_wcc_BLS383-specific global declaration
# This will be filled out by __init__()
libamcl_wcc_BLS383_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_wcc_BLS383 = "libamcl_wcc_BLS383.so.2"


# Relative path to `libamcl_wcc_BN254CX`
const libamcl_wcc_BN254CX_splitpath = ["lib", "libamcl_wcc_BN254CX.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_wcc_BN254CX_path = ""

# libamcl_wcc_BN254CX-specific global declaration
# This will be filled out by __init__()
libamcl_wcc_BN254CX_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_wcc_BN254CX = "libamcl_wcc_BN254CX.so.2"


# Relative path to `libamcl_mpin_BN254CX`
const libamcl_mpin_BN254CX_splitpath = ["lib", "libamcl_mpin_BN254CX.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_mpin_BN254CX_path = ""

# libamcl_mpin_BN254CX-specific global declaration
# This will be filled out by __init__()
libamcl_mpin_BN254CX_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_mpin_BN254CX = "libamcl_mpin_BN254CX.so.2"


# Relative path to `libamcl_rsa_4096`
const libamcl_rsa_4096_splitpath = ["lib", "libamcl_rsa_4096.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_rsa_4096_path = ""

# libamcl_rsa_4096-specific global declaration
# This will be filled out by __init__()
libamcl_rsa_4096_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_rsa_4096 = "libamcl_rsa_4096.so.2"


# Relative path to `libamcl_pairing_BLS461`
const libamcl_pairing_BLS461_splitpath = ["lib", "libamcl_pairing_BLS461.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_pairing_BLS461_path = ""

# libamcl_pairing_BLS461-specific global declaration
# This will be filled out by __init__()
libamcl_pairing_BLS461_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_pairing_BLS461 = "libamcl_pairing_BLS461.so.2"


# Relative path to `libamcl_mpin_FP512BN`
const libamcl_mpin_FP512BN_splitpath = ["lib", "libamcl_mpin_FP512BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_mpin_FP512BN_path = ""

# libamcl_mpin_FP512BN-specific global declaration
# This will be filled out by __init__()
libamcl_mpin_FP512BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_mpin_FP512BN = "libamcl_mpin_FP512BN.so.2"


# Relative path to `libamcl_curve_NIST256`
const libamcl_curve_NIST256_splitpath = ["lib", "libamcl_curve_NIST256.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_NIST256_path = ""

# libamcl_curve_NIST256-specific global declaration
# This will be filled out by __init__()
libamcl_curve_NIST256_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_NIST256 = "libamcl_curve_NIST256.so.2"


# Relative path to `libamcl_pairing_FP256BN`
const libamcl_pairing_FP256BN_splitpath = ["lib", "libamcl_pairing_FP256BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_pairing_FP256BN_path = ""

# libamcl_pairing_FP256BN-specific global declaration
# This will be filled out by __init__()
libamcl_pairing_FP256BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_pairing_FP256BN = "libamcl_pairing_FP256BN.so.2"


# Relative path to `libamcl_wcc_FP512BN`
const libamcl_wcc_FP512BN_splitpath = ["lib", "libamcl_wcc_FP512BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_wcc_FP512BN_path = ""

# libamcl_wcc_FP512BN-specific global declaration
# This will be filled out by __init__()
libamcl_wcc_FP512BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_wcc_FP512BN = "libamcl_wcc_FP512BN.so.2"


# Relative path to `libamcl_bls_BLS383`
const libamcl_bls_BLS383_splitpath = ["lib", "libamcl_bls_BLS383.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_bls_BLS383_path = ""

# libamcl_bls_BLS383-specific global declaration
# This will be filled out by __init__()
libamcl_bls_BLS383_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_bls_BLS383 = "libamcl_bls_BLS383.so.2"


# Relative path to `libamcl_curve_BN254`
const libamcl_curve_BN254_splitpath = ["lib", "libamcl_curve_BN254.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_BN254_path = ""

# libamcl_curve_BN254-specific global declaration
# This will be filled out by __init__()
libamcl_curve_BN254_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_BN254 = "libamcl_curve_BN254.so.2"


# Relative path to `libamcl_wcc_BLS461`
const libamcl_wcc_BLS461_splitpath = ["lib", "libamcl_wcc_BLS461.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_wcc_BLS461_path = ""

# libamcl_wcc_BLS461-specific global declaration
# This will be filled out by __init__()
libamcl_wcc_BLS461_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_wcc_BLS461 = "libamcl_wcc_BLS461.so.2"


# Relative path to `libamcl_curve_C25519`
const libamcl_curve_C25519_splitpath = ["lib", "libamcl_curve_C25519.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_C25519_path = ""

# libamcl_curve_C25519-specific global declaration
# This will be filled out by __init__()
libamcl_curve_C25519_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_C25519 = "libamcl_curve_C25519.so.2"


# Relative path to `libamcl_curve_HIFIVE`
const libamcl_curve_HIFIVE_splitpath = ["lib", "libamcl_curve_HIFIVE.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_HIFIVE_path = ""

# libamcl_curve_HIFIVE-specific global declaration
# This will be filled out by __init__()
libamcl_curve_HIFIVE_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_HIFIVE = "libamcl_curve_HIFIVE.so.2"


# Relative path to `libamcl_mpin_BLS381`
const libamcl_mpin_BLS381_splitpath = ["lib", "libamcl_mpin_BLS381.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_mpin_BLS381_path = ""

# libamcl_mpin_BLS381-specific global declaration
# This will be filled out by __init__()
libamcl_mpin_BLS381_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_mpin_BLS381 = "libamcl_mpin_BLS381.so.2"


# Relative path to `libamcl_curve_BLS383`
const libamcl_curve_BLS383_splitpath = ["lib", "libamcl_curve_BLS383.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_BLS383_path = ""

# libamcl_curve_BLS383-specific global declaration
# This will be filled out by __init__()
libamcl_curve_BLS383_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_BLS383 = "libamcl_curve_BLS383.so.2"


# Relative path to `libamcl_curve_BRAINPOOL`
const libamcl_curve_BRAINPOOL_splitpath = ["lib", "libamcl_curve_BRAINPOOL.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_BRAINPOOL_path = ""

# libamcl_curve_BRAINPOOL-specific global declaration
# This will be filled out by __init__()
libamcl_curve_BRAINPOOL_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_BRAINPOOL = "libamcl_curve_BRAINPOOL.so.2"


# Relative path to `libamcl_pairing_BN254CX`
const libamcl_pairing_BN254CX_splitpath = ["lib", "libamcl_pairing_BN254CX.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_pairing_BN254CX_path = ""

# libamcl_pairing_BN254CX-specific global declaration
# This will be filled out by __init__()
libamcl_pairing_BN254CX_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_pairing_BN254CX = "libamcl_pairing_BN254CX.so.2"


# Relative path to `libamcl_wcc_BN254`
const libamcl_wcc_BN254_splitpath = ["lib", "libamcl_wcc_BN254.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_wcc_BN254_path = ""

# libamcl_wcc_BN254-specific global declaration
# This will be filled out by __init__()
libamcl_wcc_BN254_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_wcc_BN254 = "libamcl_wcc_BN254.so.2"


# Relative path to `libamcl_curve_FP256BN`
const libamcl_curve_FP256BN_splitpath = ["lib", "libamcl_curve_FP256BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_FP256BN_path = ""

# libamcl_curve_FP256BN-specific global declaration
# This will be filled out by __init__()
libamcl_curve_FP256BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_FP256BN = "libamcl_curve_FP256BN.so.2"


# Relative path to `libamcl_curve_BLS381`
const libamcl_curve_BLS381_splitpath = ["lib", "libamcl_curve_BLS381.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_BLS381_path = ""

# libamcl_curve_BLS381-specific global declaration
# This will be filled out by __init__()
libamcl_curve_BLS381_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_BLS381 = "libamcl_curve_BLS381.so.2"


# Relative path to `libamcl_core`
const libamcl_core_splitpath = ["lib", "libamcl_core.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_core_path = ""

# libamcl_core-specific global declaration
# This will be filled out by __init__()
libamcl_core_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_core = "libamcl_core.so.2"


# Relative path to `libamcl_curve_ANSSI`
const libamcl_curve_ANSSI_splitpath = ["lib", "libamcl_curve_ANSSI.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_ANSSI_path = ""

# libamcl_curve_ANSSI-specific global declaration
# This will be filled out by __init__()
libamcl_curve_ANSSI_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_ANSSI = "libamcl_curve_ANSSI.so.2"


# Relative path to `libamcl_curve_BLS461`
const libamcl_curve_BLS461_splitpath = ["lib", "libamcl_curve_BLS461.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_BLS461_path = ""

# libamcl_curve_BLS461-specific global declaration
# This will be filled out by __init__()
libamcl_curve_BLS461_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_BLS461 = "libamcl_curve_BLS461.so.2"


# Relative path to `libamcl_wcc_FP256BN`
const libamcl_wcc_FP256BN_splitpath = ["lib", "libamcl_wcc_FP256BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_wcc_FP256BN_path = ""

# libamcl_wcc_FP256BN-specific global declaration
# This will be filled out by __init__()
libamcl_wcc_FP256BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_wcc_FP256BN = "libamcl_wcc_FP256BN.so.2"


# Relative path to `libamcl_bls_BLS48`
const libamcl_bls_BLS48_splitpath = ["lib", "libamcl_bls_BLS48.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_bls_BLS48_path = ""

# libamcl_bls_BLS48-specific global declaration
# This will be filled out by __init__()
libamcl_bls_BLS48_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_bls_BLS48 = "libamcl_bls_BLS48.so.2"


# Relative path to `libamcl_curve_NUMS384W`
const libamcl_curve_NUMS384W_splitpath = ["lib", "libamcl_curve_NUMS384W.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_NUMS384W_path = ""

# libamcl_curve_NUMS384W-specific global declaration
# This will be filled out by __init__()
libamcl_curve_NUMS384W_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_NUMS384W = "libamcl_curve_NUMS384W.so.2"


# Relative path to `libamcl_wcc_BLS24`
const libamcl_wcc_BLS24_splitpath = ["lib", "libamcl_wcc_BLS24.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_wcc_BLS24_path = ""

# libamcl_wcc_BLS24-specific global declaration
# This will be filled out by __init__()
libamcl_wcc_BLS24_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_wcc_BLS24 = "libamcl_wcc_BLS24.so.2"


# Relative path to `libamcl_curve_FP512BN`
const libamcl_curve_FP512BN_splitpath = ["lib", "libamcl_curve_FP512BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_curve_FP512BN_path = ""

# libamcl_curve_FP512BN-specific global declaration
# This will be filled out by __init__()
libamcl_curve_FP512BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_curve_FP512BN = "libamcl_curve_FP512BN.so.2"


# Relative path to `libamcl_wcc_BLS381`
const libamcl_wcc_BLS381_splitpath = ["lib", "libamcl_wcc_BLS381.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_wcc_BLS381_path = ""

# libamcl_wcc_BLS381-specific global declaration
# This will be filled out by __init__()
libamcl_wcc_BLS381_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_wcc_BLS381 = "libamcl_wcc_BLS381.so.2"


# Relative path to `libamcl_pairing_FP512BN`
const libamcl_pairing_FP512BN_splitpath = ["lib", "libamcl_pairing_FP512BN.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_pairing_FP512BN_path = ""

# libamcl_pairing_FP512BN-specific global declaration
# This will be filled out by __init__()
libamcl_pairing_FP512BN_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_pairing_FP512BN = "libamcl_pairing_FP512BN.so.2"


# Relative path to `libamcl_bls_BN254CX`
const libamcl_bls_BN254CX_splitpath = ["lib", "libamcl_bls_BN254CX.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_bls_BN254CX_path = ""

# libamcl_bls_BN254CX-specific global declaration
# This will be filled out by __init__()
libamcl_bls_BN254CX_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_bls_BN254CX = "libamcl_bls_BN254CX.so.2"


# Relative path to `libamcl_rsa_2048`
const libamcl_rsa_2048_splitpath = ["lib", "libamcl_rsa_2048.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_rsa_2048_path = ""

# libamcl_rsa_2048-specific global declaration
# This will be filled out by __init__()
libamcl_rsa_2048_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_rsa_2048 = "libamcl_rsa_2048.so.2"


# Relative path to `libamcl_pairing_BLS381`
const libamcl_pairing_BLS381_splitpath = ["lib", "libamcl_pairing_BLS381.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libamcl_pairing_BLS381_path = ""

# libamcl_pairing_BLS381-specific global declaration
# This will be filled out by __init__()
libamcl_pairing_BLS381_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libamcl_pairing_BLS381 = "libamcl_pairing_BLS381.so.2"


"""
Open all libraries
"""
function __init__()
    global artifact_dir = abspath(artifact"AMCL")

    # Initialize PATH and LIBPATH environment variable listings
    global PATH_list, LIBPATH_list
    # We first need to add to LIBPATH_list the libraries provided by Julia
    append!(LIBPATH_list, [joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)])
    global libamcl_pairing_BLS383_path = normpath(joinpath(artifact_dir, libamcl_pairing_BLS383_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_pairing_BLS383_handle = dlopen(libamcl_pairing_BLS383_path)
    push!(LIBPATH_list, dirname(libamcl_pairing_BLS383_path))

    global libamcl_curve_GOLDILOCKS_path = normpath(joinpath(artifact_dir, libamcl_curve_GOLDILOCKS_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_GOLDILOCKS_handle = dlopen(libamcl_curve_GOLDILOCKS_path)
    push!(LIBPATH_list, dirname(libamcl_curve_GOLDILOCKS_path))

    global libamcl_mpin_BLS24_path = normpath(joinpath(artifact_dir, libamcl_mpin_BLS24_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_mpin_BLS24_handle = dlopen(libamcl_mpin_BLS24_path)
    push!(LIBPATH_list, dirname(libamcl_mpin_BLS24_path))

    global libamcl_curve_NUMS256E_path = normpath(joinpath(artifact_dir, libamcl_curve_NUMS256E_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_NUMS256E_handle = dlopen(libamcl_curve_NUMS256E_path)
    push!(LIBPATH_list, dirname(libamcl_curve_NUMS256E_path))

    global libamcl_bls_BN254_path = normpath(joinpath(artifact_dir, libamcl_bls_BN254_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_bls_BN254_handle = dlopen(libamcl_bls_BN254_path)
    push!(LIBPATH_list, dirname(libamcl_bls_BN254_path))

    global libamcl_curve_ED25519_path = normpath(joinpath(artifact_dir, libamcl_curve_ED25519_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_ED25519_handle = dlopen(libamcl_curve_ED25519_path)
    push!(LIBPATH_list, dirname(libamcl_curve_ED25519_path))

    global libamcl_bls_BLS461_path = normpath(joinpath(artifact_dir, libamcl_bls_BLS461_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_bls_BLS461_handle = dlopen(libamcl_bls_BLS461_path)
    push!(LIBPATH_list, dirname(libamcl_bls_BLS461_path))

    global libamcl_curve_NUMS384E_path = normpath(joinpath(artifact_dir, libamcl_curve_NUMS384E_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_NUMS384E_handle = dlopen(libamcl_curve_NUMS384E_path)
    push!(LIBPATH_list, dirname(libamcl_curve_NUMS384E_path))

    global libamcl_curve_NUMS512E_path = normpath(joinpath(artifact_dir, libamcl_curve_NUMS512E_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_NUMS512E_handle = dlopen(libamcl_curve_NUMS512E_path)
    push!(LIBPATH_list, dirname(libamcl_curve_NUMS512E_path))

    global libamcl_mpin_BLS383_path = normpath(joinpath(artifact_dir, libamcl_mpin_BLS383_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_mpin_BLS383_handle = dlopen(libamcl_mpin_BLS383_path)
    push!(LIBPATH_list, dirname(libamcl_mpin_BLS383_path))

    global libamcl_wcc_BLS48_path = normpath(joinpath(artifact_dir, libamcl_wcc_BLS48_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_wcc_BLS48_handle = dlopen(libamcl_wcc_BLS48_path)
    push!(LIBPATH_list, dirname(libamcl_wcc_BLS48_path))

    global libamcl_mpin_BLS461_path = normpath(joinpath(artifact_dir, libamcl_mpin_BLS461_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_mpin_BLS461_handle = dlopen(libamcl_mpin_BLS461_path)
    push!(LIBPATH_list, dirname(libamcl_mpin_BLS461_path))

    global libamcl_curve_BLS48_path = normpath(joinpath(artifact_dir, libamcl_curve_BLS48_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_BLS48_handle = dlopen(libamcl_curve_BLS48_path)
    push!(LIBPATH_list, dirname(libamcl_curve_BLS48_path))

    global libamcl_curve_SECP256K1_path = normpath(joinpath(artifact_dir, libamcl_curve_SECP256K1_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_SECP256K1_handle = dlopen(libamcl_curve_SECP256K1_path)
    push!(LIBPATH_list, dirname(libamcl_curve_SECP256K1_path))

    global libamcl_pairing_BLS24_path = normpath(joinpath(artifact_dir, libamcl_pairing_BLS24_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_pairing_BLS24_handle = dlopen(libamcl_pairing_BLS24_path)
    push!(LIBPATH_list, dirname(libamcl_pairing_BLS24_path))

    global libamcl_curve_BN254CX_path = normpath(joinpath(artifact_dir, libamcl_curve_BN254CX_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_BN254CX_handle = dlopen(libamcl_curve_BN254CX_path)
    push!(LIBPATH_list, dirname(libamcl_curve_BN254CX_path))

    global libamcl_curve_C41417_path = normpath(joinpath(artifact_dir, libamcl_curve_C41417_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_C41417_handle = dlopen(libamcl_curve_C41417_path)
    push!(LIBPATH_list, dirname(libamcl_curve_C41417_path))

    global libamcl_mpin_BLS48_path = normpath(joinpath(artifact_dir, libamcl_mpin_BLS48_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_mpin_BLS48_handle = dlopen(libamcl_mpin_BLS48_path)
    push!(LIBPATH_list, dirname(libamcl_mpin_BLS48_path))

    global libamcl_mpin_BN254_path = normpath(joinpath(artifact_dir, libamcl_mpin_BN254_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_mpin_BN254_handle = dlopen(libamcl_mpin_BN254_path)
    push!(LIBPATH_list, dirname(libamcl_mpin_BN254_path))

    global libamcl_curve_NIST521_path = normpath(joinpath(artifact_dir, libamcl_curve_NIST521_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_NIST521_handle = dlopen(libamcl_curve_NIST521_path)
    push!(LIBPATH_list, dirname(libamcl_curve_NIST521_path))

    global libamcl_curve_NUMS512W_path = normpath(joinpath(artifact_dir, libamcl_curve_NUMS512W_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_NUMS512W_handle = dlopen(libamcl_curve_NUMS512W_path)
    push!(LIBPATH_list, dirname(libamcl_curve_NUMS512W_path))

    global libamcl_pairing_BN254_path = normpath(joinpath(artifact_dir, libamcl_pairing_BN254_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_pairing_BN254_handle = dlopen(libamcl_pairing_BN254_path)
    push!(LIBPATH_list, dirname(libamcl_pairing_BN254_path))

    global libamcl_curve_NUMS256W_path = normpath(joinpath(artifact_dir, libamcl_curve_NUMS256W_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_NUMS256W_handle = dlopen(libamcl_curve_NUMS256W_path)
    push!(LIBPATH_list, dirname(libamcl_curve_NUMS256W_path))

    global libamcl_bls_BLS381_path = normpath(joinpath(artifact_dir, libamcl_bls_BLS381_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_bls_BLS381_handle = dlopen(libamcl_bls_BLS381_path)
    push!(LIBPATH_list, dirname(libamcl_bls_BLS381_path))

    global libamcl_mpin_FP256BN_path = normpath(joinpath(artifact_dir, libamcl_mpin_FP256BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_mpin_FP256BN_handle = dlopen(libamcl_mpin_FP256BN_path)
    push!(LIBPATH_list, dirname(libamcl_mpin_FP256BN_path))

    global libamcl_curve_BLS24_path = normpath(joinpath(artifact_dir, libamcl_curve_BLS24_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_BLS24_handle = dlopen(libamcl_curve_BLS24_path)
    push!(LIBPATH_list, dirname(libamcl_curve_BLS24_path))

    global libamcl_x509_path = normpath(joinpath(artifact_dir, libamcl_x509_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_x509_handle = dlopen(libamcl_x509_path)
    push!(LIBPATH_list, dirname(libamcl_x509_path))

    global libamcl_curve_NIST384_path = normpath(joinpath(artifact_dir, libamcl_curve_NIST384_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_NIST384_handle = dlopen(libamcl_curve_NIST384_path)
    push!(LIBPATH_list, dirname(libamcl_curve_NIST384_path))

    global libamcl_pairing_BLS48_path = normpath(joinpath(artifact_dir, libamcl_pairing_BLS48_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_pairing_BLS48_handle = dlopen(libamcl_pairing_BLS48_path)
    push!(LIBPATH_list, dirname(libamcl_pairing_BLS48_path))

    global libamcl_bls_BLS24_path = normpath(joinpath(artifact_dir, libamcl_bls_BLS24_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_bls_BLS24_handle = dlopen(libamcl_bls_BLS24_path)
    push!(LIBPATH_list, dirname(libamcl_bls_BLS24_path))

    global libamcl_bls_FP512BN_path = normpath(joinpath(artifact_dir, libamcl_bls_FP512BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_bls_FP512BN_handle = dlopen(libamcl_bls_FP512BN_path)
    push!(LIBPATH_list, dirname(libamcl_bls_FP512BN_path))

    global libamcl_rsa_3072_path = normpath(joinpath(artifact_dir, libamcl_rsa_3072_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_rsa_3072_handle = dlopen(libamcl_rsa_3072_path)
    push!(LIBPATH_list, dirname(libamcl_rsa_3072_path))

    global libamcl_bls_FP256BN_path = normpath(joinpath(artifact_dir, libamcl_bls_FP256BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_bls_FP256BN_handle = dlopen(libamcl_bls_FP256BN_path)
    push!(LIBPATH_list, dirname(libamcl_bls_FP256BN_path))

    global libamcl_wcc_BLS383_path = normpath(joinpath(artifact_dir, libamcl_wcc_BLS383_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_wcc_BLS383_handle = dlopen(libamcl_wcc_BLS383_path)
    push!(LIBPATH_list, dirname(libamcl_wcc_BLS383_path))

    global libamcl_wcc_BN254CX_path = normpath(joinpath(artifact_dir, libamcl_wcc_BN254CX_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_wcc_BN254CX_handle = dlopen(libamcl_wcc_BN254CX_path)
    push!(LIBPATH_list, dirname(libamcl_wcc_BN254CX_path))

    global libamcl_mpin_BN254CX_path = normpath(joinpath(artifact_dir, libamcl_mpin_BN254CX_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_mpin_BN254CX_handle = dlopen(libamcl_mpin_BN254CX_path)
    push!(LIBPATH_list, dirname(libamcl_mpin_BN254CX_path))

    global libamcl_rsa_4096_path = normpath(joinpath(artifact_dir, libamcl_rsa_4096_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_rsa_4096_handle = dlopen(libamcl_rsa_4096_path)
    push!(LIBPATH_list, dirname(libamcl_rsa_4096_path))

    global libamcl_pairing_BLS461_path = normpath(joinpath(artifact_dir, libamcl_pairing_BLS461_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_pairing_BLS461_handle = dlopen(libamcl_pairing_BLS461_path)
    push!(LIBPATH_list, dirname(libamcl_pairing_BLS461_path))

    global libamcl_mpin_FP512BN_path = normpath(joinpath(artifact_dir, libamcl_mpin_FP512BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_mpin_FP512BN_handle = dlopen(libamcl_mpin_FP512BN_path)
    push!(LIBPATH_list, dirname(libamcl_mpin_FP512BN_path))

    global libamcl_curve_NIST256_path = normpath(joinpath(artifact_dir, libamcl_curve_NIST256_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_NIST256_handle = dlopen(libamcl_curve_NIST256_path)
    push!(LIBPATH_list, dirname(libamcl_curve_NIST256_path))

    global libamcl_pairing_FP256BN_path = normpath(joinpath(artifact_dir, libamcl_pairing_FP256BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_pairing_FP256BN_handle = dlopen(libamcl_pairing_FP256BN_path)
    push!(LIBPATH_list, dirname(libamcl_pairing_FP256BN_path))

    global libamcl_wcc_FP512BN_path = normpath(joinpath(artifact_dir, libamcl_wcc_FP512BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_wcc_FP512BN_handle = dlopen(libamcl_wcc_FP512BN_path)
    push!(LIBPATH_list, dirname(libamcl_wcc_FP512BN_path))

    global libamcl_bls_BLS383_path = normpath(joinpath(artifact_dir, libamcl_bls_BLS383_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_bls_BLS383_handle = dlopen(libamcl_bls_BLS383_path)
    push!(LIBPATH_list, dirname(libamcl_bls_BLS383_path))

    global libamcl_curve_BN254_path = normpath(joinpath(artifact_dir, libamcl_curve_BN254_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_BN254_handle = dlopen(libamcl_curve_BN254_path)
    push!(LIBPATH_list, dirname(libamcl_curve_BN254_path))

    global libamcl_wcc_BLS461_path = normpath(joinpath(artifact_dir, libamcl_wcc_BLS461_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_wcc_BLS461_handle = dlopen(libamcl_wcc_BLS461_path)
    push!(LIBPATH_list, dirname(libamcl_wcc_BLS461_path))

    global libamcl_curve_C25519_path = normpath(joinpath(artifact_dir, libamcl_curve_C25519_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_C25519_handle = dlopen(libamcl_curve_C25519_path)
    push!(LIBPATH_list, dirname(libamcl_curve_C25519_path))

    global libamcl_curve_HIFIVE_path = normpath(joinpath(artifact_dir, libamcl_curve_HIFIVE_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_HIFIVE_handle = dlopen(libamcl_curve_HIFIVE_path)
    push!(LIBPATH_list, dirname(libamcl_curve_HIFIVE_path))

    global libamcl_mpin_BLS381_path = normpath(joinpath(artifact_dir, libamcl_mpin_BLS381_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_mpin_BLS381_handle = dlopen(libamcl_mpin_BLS381_path)
    push!(LIBPATH_list, dirname(libamcl_mpin_BLS381_path))

    global libamcl_curve_BLS383_path = normpath(joinpath(artifact_dir, libamcl_curve_BLS383_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_BLS383_handle = dlopen(libamcl_curve_BLS383_path)
    push!(LIBPATH_list, dirname(libamcl_curve_BLS383_path))

    global libamcl_curve_BRAINPOOL_path = normpath(joinpath(artifact_dir, libamcl_curve_BRAINPOOL_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_BRAINPOOL_handle = dlopen(libamcl_curve_BRAINPOOL_path)
    push!(LIBPATH_list, dirname(libamcl_curve_BRAINPOOL_path))

    global libamcl_pairing_BN254CX_path = normpath(joinpath(artifact_dir, libamcl_pairing_BN254CX_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_pairing_BN254CX_handle = dlopen(libamcl_pairing_BN254CX_path)
    push!(LIBPATH_list, dirname(libamcl_pairing_BN254CX_path))

    global libamcl_wcc_BN254_path = normpath(joinpath(artifact_dir, libamcl_wcc_BN254_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_wcc_BN254_handle = dlopen(libamcl_wcc_BN254_path)
    push!(LIBPATH_list, dirname(libamcl_wcc_BN254_path))

    global libamcl_curve_FP256BN_path = normpath(joinpath(artifact_dir, libamcl_curve_FP256BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_FP256BN_handle = dlopen(libamcl_curve_FP256BN_path)
    push!(LIBPATH_list, dirname(libamcl_curve_FP256BN_path))

    global libamcl_curve_BLS381_path = normpath(joinpath(artifact_dir, libamcl_curve_BLS381_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_BLS381_handle = dlopen(libamcl_curve_BLS381_path)
    push!(LIBPATH_list, dirname(libamcl_curve_BLS381_path))

    global libamcl_core_path = normpath(joinpath(artifact_dir, libamcl_core_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_core_handle = dlopen(libamcl_core_path)
    push!(LIBPATH_list, dirname(libamcl_core_path))

    global libamcl_curve_ANSSI_path = normpath(joinpath(artifact_dir, libamcl_curve_ANSSI_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_ANSSI_handle = dlopen(libamcl_curve_ANSSI_path)
    push!(LIBPATH_list, dirname(libamcl_curve_ANSSI_path))

    global libamcl_curve_BLS461_path = normpath(joinpath(artifact_dir, libamcl_curve_BLS461_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_BLS461_handle = dlopen(libamcl_curve_BLS461_path)
    push!(LIBPATH_list, dirname(libamcl_curve_BLS461_path))

    global libamcl_wcc_FP256BN_path = normpath(joinpath(artifact_dir, libamcl_wcc_FP256BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_wcc_FP256BN_handle = dlopen(libamcl_wcc_FP256BN_path)
    push!(LIBPATH_list, dirname(libamcl_wcc_FP256BN_path))

    global libamcl_bls_BLS48_path = normpath(joinpath(artifact_dir, libamcl_bls_BLS48_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_bls_BLS48_handle = dlopen(libamcl_bls_BLS48_path)
    push!(LIBPATH_list, dirname(libamcl_bls_BLS48_path))

    global libamcl_curve_NUMS384W_path = normpath(joinpath(artifact_dir, libamcl_curve_NUMS384W_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_NUMS384W_handle = dlopen(libamcl_curve_NUMS384W_path)
    push!(LIBPATH_list, dirname(libamcl_curve_NUMS384W_path))

    global libamcl_wcc_BLS24_path = normpath(joinpath(artifact_dir, libamcl_wcc_BLS24_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_wcc_BLS24_handle = dlopen(libamcl_wcc_BLS24_path)
    push!(LIBPATH_list, dirname(libamcl_wcc_BLS24_path))

    global libamcl_curve_FP512BN_path = normpath(joinpath(artifact_dir, libamcl_curve_FP512BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_curve_FP512BN_handle = dlopen(libamcl_curve_FP512BN_path)
    push!(LIBPATH_list, dirname(libamcl_curve_FP512BN_path))

    global libamcl_wcc_BLS381_path = normpath(joinpath(artifact_dir, libamcl_wcc_BLS381_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_wcc_BLS381_handle = dlopen(libamcl_wcc_BLS381_path)
    push!(LIBPATH_list, dirname(libamcl_wcc_BLS381_path))

    global libamcl_pairing_FP512BN_path = normpath(joinpath(artifact_dir, libamcl_pairing_FP512BN_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_pairing_FP512BN_handle = dlopen(libamcl_pairing_FP512BN_path)
    push!(LIBPATH_list, dirname(libamcl_pairing_FP512BN_path))

    global libamcl_bls_BN254CX_path = normpath(joinpath(artifact_dir, libamcl_bls_BN254CX_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_bls_BN254CX_handle = dlopen(libamcl_bls_BN254CX_path)
    push!(LIBPATH_list, dirname(libamcl_bls_BN254CX_path))

    global libamcl_rsa_2048_path = normpath(joinpath(artifact_dir, libamcl_rsa_2048_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_rsa_2048_handle = dlopen(libamcl_rsa_2048_path)
    push!(LIBPATH_list, dirname(libamcl_rsa_2048_path))

    global libamcl_pairing_BLS381_path = normpath(joinpath(artifact_dir, libamcl_pairing_BLS381_splitpath...))

    # Manually `dlopen()` this right now so that future invocations
    # of `ccall` with its `SONAME` will find this path immediately.
    global libamcl_pairing_BLS381_handle = dlopen(libamcl_pairing_BLS381_path)
    push!(LIBPATH_list, dirname(libamcl_pairing_BLS381_path))

    # Filter out duplicate and empty entries in our PATH and LIBPATH entries
    filter!(!isempty, unique!(PATH_list))
    filter!(!isempty, unique!(LIBPATH_list))
    global PATH = join(PATH_list, ':')
    global LIBPATH = join(LIBPATH_list, ':')

    # Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
    # that don't honor our "already opened" trick)
    #for lp in LIBPATH_list
    #    push!(DL_LOAD_PATH, lp)
    #end
end  # __init__()

