aboutsummaryrefslogtreecommitdiff
path: root/doc/doxyout/hcrypto
diff options
context:
space:
mode:
Diffstat (limited to 'doc/doxyout/hcrypto')
-rw-r--r--doc/doxyout/hcrypto/html/bc_s.pngbin676 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/bdwn.pngbin147 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/closed.pngbin132 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/doc.pngbin746 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/doxygen.css1793
-rw-r--r--doc/doxyout/hcrypto/html/doxygen.svg26
-rw-r--r--doc/doxyout/hcrypto/html/dynsections.js121
-rw-r--r--doc/doxyout/hcrypto/html/example_evp_cipher_8c-example.html206
-rw-r--r--doc/doxyout/hcrypto/html/examples.html35
-rw-r--r--doc/doxyout/hcrypto/html/folderclosed.pngbin616 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/folderopen.pngbin597 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/graph_legend.html91
-rw-r--r--doc/doxyout/hcrypto/html/graph_legend.md51
-rw-r--r--doc/doxyout/hcrypto/html/graph_legend.pngbin20848 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__core.html194
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__des.html912
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__dh.html569
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__evp.html3103
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__misc.html194
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__rand.html428
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__rsa.html279
-rw-r--r--doc/doxyout/hcrypto/html/index.html59
-rw-r--r--doc/doxyout/hcrypto/html/jquery.js35
-rw-r--r--doc/doxyout/hcrypto/html/menu.js51
-rw-r--r--doc/doxyout/hcrypto/html/menudata.js29
-rw-r--r--doc/doxyout/hcrypto/html/modules.html42
-rw-r--r--doc/doxyout/hcrypto/html/nav_f.pngbin153 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/nav_g.pngbin95 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/nav_h.pngbin98 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/open.pngbin123 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/page_des.html58
-rw-r--r--doc/doxyout/hcrypto/html/page_dh.html39
-rw-r--r--doc/doxyout/hcrypto/html/page_evp.html40
-rw-r--r--doc/doxyout/hcrypto/html/page_rand.html37
-rw-r--r--doc/doxyout/hcrypto/html/page_rsa.html42
-rw-r--r--doc/doxyout/hcrypto/html/pages.html33
-rw-r--r--doc/doxyout/hcrypto/html/splitbar.pngbin314 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/sync_off.pngbin853 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/sync_on.pngbin845 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_a.pngbin142 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_b.pngbin169 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_h.pngbin177 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_s.pngbin184 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tabs.css1
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_cbc_cksum.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_cbc_encrypt.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_cfb64_encrypt.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_check_key_parity.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_ecb3_encrypt.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_ecb_encrypt.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_ede3_cbc_encrypt.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_encrypt.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_init_random_number_generator.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_is_weak_key.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_key_sched.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_new_random_key.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_pcbc_encrypt.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_random_key.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_set_key.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_set_key_checked.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_set_key_unchecked.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_set_odd_parity.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DES_string_to_key.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_check_pubkey.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_compute_key.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_free.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_generate_key.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_generate_parameters_ex.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_get_default_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_get_ex_data.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_ltm_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_new.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_new_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_null_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_set_default_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_set_ex_data.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_set_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_size.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/DH_up_ref.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_BytesToKey.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_block_size.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_cipher.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_cleanup.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_ctrl.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_flags.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_get_app_data.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_init.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_iv_length.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_key_length.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_mode.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_rand_key.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_set_app_data.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_set_key_length.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_block_size.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_iv_length.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CIPHER_key_length.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CipherFinal_ex.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CipherInit_ex.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_CipherUpdate.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_Digest.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_DigestFinal_ex.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_DigestInit_ex.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_DigestUpdate.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_block_size.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_cleanup.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_create.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_destroy.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_init.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_md.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_size.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_MD_block_size.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_MD_size.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_aes_128_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_aes_128_cfb8.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_aes_192_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_aes_192_cfb8.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_aes_256_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_aes_256_cfb8.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_camellia_128_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_camellia_192_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_camellia_256_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_des_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_des_ede3_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_enc_null.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_get_cipherbyname.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_128_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_128_cfb8.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_192_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_192_cfb8.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_256_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_256_cfb8.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_128_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_192_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_256_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_des_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_des_ede3_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_md4.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_md5.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_40_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_64_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha1.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha256.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha384.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha512.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_md4.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_md5.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_md_null.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_rc2_40_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_rc2_64_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_rc2_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_rc4.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_rc4_40.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_sha.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_sha1.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_sha256.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_sha384.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_sha512.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/EVP_wincrypt_des_ede3_cbc.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms_conf.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms_noconf.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC_SHA1.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_add.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_bytes.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_cleanup.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_file_name.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_get_rand_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_load_file.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_pseudo_bytes.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_seed.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_set_rand_engine.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_set_rand_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_status.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RAND_write_file.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RSA_free.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RSA_get_app_data.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RSA_get_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RSA_new.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RSA_new_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RSA_set_app_data.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RSA_set_method.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/RSA_up_ref.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_core.377
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_des.3379
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_dh.3292
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_evp.31441
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_misc.380
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_rand.3206
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3150
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_des.336
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_dh.310
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_evp.39
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_rand.36
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_rsa.313
-rw-r--r--doc/doxyout/hcrypto/manpages155
200 files changed, 0 insertions, 11415 deletions
diff --git a/doc/doxyout/hcrypto/html/bc_s.png b/doc/doxyout/hcrypto/html/bc_s.png
deleted file mode 100644
index 224b29aa9847..000000000000
--- a/doc/doxyout/hcrypto/html/bc_s.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/bdwn.png b/doc/doxyout/hcrypto/html/bdwn.png
deleted file mode 100644
index 940a0b950443..000000000000
--- a/doc/doxyout/hcrypto/html/bdwn.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/closed.png b/doc/doxyout/hcrypto/html/closed.png
deleted file mode 100644
index 98cc2c909da3..000000000000
--- a/doc/doxyout/hcrypto/html/closed.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/doc.png b/doc/doxyout/hcrypto/html/doc.png
deleted file mode 100644
index 17edabff95f7..000000000000
--- a/doc/doxyout/hcrypto/html/doc.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/doxygen.css b/doc/doxyout/hcrypto/html/doxygen.css
deleted file mode 100644
index ffbff0224931..000000000000
--- a/doc/doxyout/hcrypto/html/doxygen.css
+++ /dev/null
@@ -1,1793 +0,0 @@
-/* The standard CSS for doxygen 1.9.1 */
-
-body, table, div, p, dl {
- font: 400 14px/22px Roboto,sans-serif;
-}
-
-p.reference, p.definition {
- font: 400 14px/22px Roboto,sans-serif;
-}
-
-/* @group Heading Levels */
-
-h1.groupheader {
- font-size: 150%;
-}
-
-.title {
- font: 400 14px/28px Roboto,sans-serif;
- font-size: 150%;
- font-weight: bold;
- margin: 10px 2px;
-}
-
-h2.groupheader {
- border-bottom: 1px solid #879ECB;
- color: #354C7B;
- font-size: 150%;
- font-weight: normal;
- margin-top: 1.75em;
- padding-top: 8px;
- padding-bottom: 4px;
- width: 100%;
-}
-
-h3.groupheader {
- font-size: 100%;
-}
-
-h1, h2, h3, h4, h5, h6 {
- -webkit-transition: text-shadow 0.5s linear;
- -moz-transition: text-shadow 0.5s linear;
- -ms-transition: text-shadow 0.5s linear;
- -o-transition: text-shadow 0.5s linear;
- transition: text-shadow 0.5s linear;
- margin-right: 15px;
-}
-
-h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
- text-shadow: 0 0 15px cyan;
-}
-
-dt {
- font-weight: bold;
-}
-
-ul.multicol {
- -moz-column-gap: 1em;
- -webkit-column-gap: 1em;
- column-gap: 1em;
- -moz-column-count: 3;
- -webkit-column-count: 3;
- column-count: 3;
-}
-
-p.startli, p.startdd {
- margin-top: 2px;
-}
-
-th p.starttd, th p.intertd, th p.endtd {
- font-size: 100%;
- font-weight: 700;
-}
-
-p.starttd {
- margin-top: 0px;
-}
-
-p.endli {
- margin-bottom: 0px;
-}
-
-p.enddd {
- margin-bottom: 4px;
-}
-
-p.endtd {
- margin-bottom: 2px;
-}
-
-p.interli {
-}
-
-p.interdd {
-}
-
-p.intertd {
-}
-
-/* @end */
-
-caption {
- font-weight: bold;
-}
-
-span.legend {
- font-size: 70%;
- text-align: center;
-}
-
-h3.version {
- font-size: 90%;
- text-align: center;
-}
-
-div.navtab {
- border-right: 1px solid #A3B4D7;
- padding-right: 15px;
- text-align: right;
- line-height: 110%;
-}
-
-div.navtab table {
- border-spacing: 0;
-}
-
-td.navtab {
- padding-right: 6px;
- padding-left: 6px;
-}
-td.navtabHL {
- background-image: url('tab_a.png');
- background-repeat:repeat-x;
- padding-right: 6px;
- padding-left: 6px;
-}
-
-td.navtabHL a, td.navtabHL a:visited {
- color: #fff;
- text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-}
-
-a.navtab {
- font-weight: bold;
-}
-
-div.qindex{
- text-align: center;
- width: 100%;
- line-height: 140%;
- font-size: 130%;
- color: #A0A0A0;
-}
-
-dt.alphachar{
- font-size: 180%;
- font-weight: bold;
-}
-
-.alphachar a{
- color: black;
-}
-
-.alphachar a:hover, .alphachar a:visited{
- text-decoration: none;
-}
-
-.classindex dl {
- padding: 25px;
- column-count:1
-}
-
-.classindex dd {
- display:inline-block;
- margin-left: 50px;
- width: 90%;
- line-height: 1.15em;
-}
-
-.classindex dl.odd {
- background-color: #F8F9FC;
-}
-
-@media(min-width: 1120px) {
- .classindex dl {
- column-count:2
- }
-}
-
-@media(min-width: 1320px) {
- .classindex dl {
- column-count:3
- }
-}
-
-
-/* @group Link Styling */
-
-a {
- color: #3D578C;
- font-weight: normal;
- text-decoration: none;
-}
-
-.contents a:visited {
- color: #4665A2;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-.contents a.qindexHL:visited {
- color: #FFFFFF;
-}
-
-a.el {
- font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code, a.code:visited, a.line, a.line:visited {
- color: #4665A2;
-}
-
-a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
- color: #4665A2;
-}
-
-/* @end */
-
-dl.el {
- margin-left: -1cm;
-}
-
-ul {
- overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
-}
-
-#side-nav ul {
- overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
-}
-
-#main-nav ul {
- overflow: visible; /* reset ul rule for the navigation bar drop down lists */
-}
-
-.fragment {
- text-align: left;
- direction: ltr;
- overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
- overflow-y: hidden;
-}
-
-pre.fragment {
- border: 1px solid #C4CFE5;
- background-color: #FBFCFD;
- padding: 4px 6px;
- margin: 4px 8px 4px 2px;
- overflow: auto;
- word-wrap: break-word;
- font-size: 9pt;
- line-height: 125%;
- font-family: monospace, fixed;
- font-size: 105%;
-}
-
-div.fragment {
- padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
- margin: 4px 8px 4px 2px;
- background-color: #FBFCFD;
- border: 1px solid #C4CFE5;
-}
-
-div.line {
- font-family: monospace, fixed;
- font-size: 13px;
- min-height: 13px;
- line-height: 1.0;
- text-wrap: unrestricted;
- white-space: -moz-pre-wrap; /* Moz */
- white-space: -pre-wrap; /* Opera 4-6 */
- white-space: -o-pre-wrap; /* Opera 7 */
- white-space: pre-wrap; /* CSS3 */
- word-wrap: break-word; /* IE 5.5+ */
- text-indent: -53px;
- padding-left: 53px;
- padding-bottom: 0px;
- margin: 0px;
- -webkit-transition-property: background-color, box-shadow;
- -webkit-transition-duration: 0.5s;
- -moz-transition-property: background-color, box-shadow;
- -moz-transition-duration: 0.5s;
- -ms-transition-property: background-color, box-shadow;
- -ms-transition-duration: 0.5s;
- -o-transition-property: background-color, box-shadow;
- -o-transition-duration: 0.5s;
- transition-property: background-color, box-shadow;
- transition-duration: 0.5s;
-}
-
-div.line:after {
- content:"\000A";
- white-space: pre;
-}
-
-div.line.glow {
- background-color: cyan;
- box-shadow: 0 0 10px cyan;
-}
-
-
-span.lineno {
- padding-right: 4px;
- text-align: right;
- border-right: 2px solid #0F0;
- background-color: #E8E8E8;
- white-space: pre;
-}
-span.lineno a {
- background-color: #D8D8D8;
-}
-
-span.lineno a:hover {
- background-color: #C8C8C8;
-}
-
-.lineno {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-div.ah, span.ah {
- background-color: black;
- font-weight: bold;
- color: #FFFFFF;
- margin-bottom: 3px;
- margin-top: 3px;
- padding: 0.2em;
- border: solid thin #333;
- border-radius: 0.5em;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- box-shadow: 2px 2px 3px #999;
- -webkit-box-shadow: 2px 2px 3px #999;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
- background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
-}
-
-div.classindex ul {
- list-style: none;
- padding-left: 0;
-}
-
-div.classindex span.ai {
- display: inline-block;
-}
-
-div.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- font-weight: bold;
-}
-
-div.groupText {
- margin-left: 16px;
- font-style: italic;
-}
-
-body {
- background-color: white;
- color: black;
- margin: 0;
-}
-
-div.contents {
- margin-top: 10px;
- margin-left: 12px;
- margin-right: 8px;
-}
-
-td.indexkey {
- background-color: #EBEFF6;
- font-weight: bold;
- border: 1px solid #C4CFE5;
- margin: 2px 0px 2px 0;
- padding: 2px 10px;
- white-space: nowrap;
- vertical-align: top;
-}
-
-td.indexvalue {
- background-color: #EBEFF6;
- border: 1px solid #C4CFE5;
- padding: 2px 10px;
- margin: 2px 0px;
-}
-
-tr.memlist {
- background-color: #EEF1F7;
-}
-
-p.formulaDsp {
- text-align: center;
-}
-
-img.formulaDsp {
-
-}
-
-img.formulaInl, img.inline {
- vertical-align: middle;
-}
-
-div.center {
- text-align: center;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
-}
-
-div.center img {
- border: 0px;
-}
-
-address.footer {
- text-align: right;
- padding-right: 12px;
-}
-
-img.footer {
- border: 0px;
- vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
- color: #008000
-}
-
-span.keywordtype {
- color: #604020
-}
-
-span.keywordflow {
- color: #e08000
-}
-
-span.comment {
- color: #800000
-}
-
-span.preprocessor {
- color: #806020
-}
-
-span.stringliteral {
- color: #002080
-}
-
-span.charliteral {
- color: #008080
-}
-
-span.vhdldigit {
- color: #ff00ff
-}
-
-span.vhdlchar {
- color: #000000
-}
-
-span.vhdlkeyword {
- color: #700070
-}
-
-span.vhdllogic {
- color: #ff0000
-}
-
-blockquote {
- background-color: #F7F8FB;
- border-left: 2px solid #9CAFD4;
- margin: 0 24px 0 4px;
- padding: 0 12px 0 16px;
-}
-
-blockquote.DocNodeRTL {
- border-left: 0;
- border-right: 2px solid #9CAFD4;
- margin: 0 4px 0 24px;
- padding: 0 16px 0 12px;
-}
-
-/* @end */
-
-/*
-.search {
- color: #003399;
- font-weight: bold;
-}
-
-form.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-
-input.search {
- font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
-}
-*/
-
-td.tiny {
- font-size: 75%;
-}
-
-.dirtab {
- padding: 4px;
- border-collapse: collapse;
- border: 1px solid #A3B4D7;
-}
-
-th.dirtab {
- background: #EBEFF6;
- font-weight: bold;
-}
-
-hr {
- height: 0px;
- border: none;
- border-top: 1px solid #4A6AAA;
-}
-
-hr.footer {
- height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
- border-spacing: 0px;
- padding: 0px;
-}
-
-.memberdecls td, .fieldtable tr {
- -webkit-transition-property: background-color, box-shadow;
- -webkit-transition-duration: 0.5s;
- -moz-transition-property: background-color, box-shadow;
- -moz-transition-duration: 0.5s;
- -ms-transition-property: background-color, box-shadow;
- -ms-transition-duration: 0.5s;
- -o-transition-property: background-color, box-shadow;
- -o-transition-duration: 0.5s;
- transition-property: background-color, box-shadow;
- transition-duration: 0.5s;
-}
-
-.memberdecls td.glow, .fieldtable tr.glow {
- background-color: cyan;
- box-shadow: 0 0 15px cyan;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #F9FAFC;
- border: none;
- margin: 4px;
- padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
- padding: 0px 8px 4px 8px;
- color: #555;
-}
-
-.memSeparator {
- border-bottom: 1px solid #DEE4F0;
- line-height: 1px;
- margin: 0px;
- padding: 0px;
-}
-
-.memItemLeft, .memTemplItemLeft {
- white-space: nowrap;
-}
-
-.memItemRight, .memTemplItemRight {
- width: 100%;
-}
-
-.memTemplParams {
- color: #4665A2;
- white-space: nowrap;
- font-size: 80%;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtitle {
- padding: 8px;
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- border-top-right-radius: 4px;
- border-top-left-radius: 4px;
- margin-bottom: -1px;
- background-image: url('nav_f.png');
- background-repeat: repeat-x;
- background-color: #E2E8F2;
- line-height: 1.25;
- font-weight: 300;
- float:left;
-}
-
-.permalink
-{
- font-size: 65%;
- display: inline-block;
- vertical-align: middle;
-}
-
-.memtemplate {
- font-size: 80%;
- color: #4665A2;
- font-weight: normal;
- margin-left: 9px;
-}
-
-.memnav {
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-
-.mempage {
- width: 100%;
-}
-
-.memitem {
- padding: 0;
- margin-bottom: 10px;
- margin-right: 5px;
- -webkit-transition: box-shadow 0.5s linear;
- -moz-transition: box-shadow 0.5s linear;
- -ms-transition: box-shadow 0.5s linear;
- -o-transition: box-shadow 0.5s linear;
- transition: box-shadow 0.5s linear;
- display: table !important;
- width: 100%;
-}
-
-.memitem.glow {
- box-shadow: 0 0 15px cyan;
-}
-
-.memname {
- font-weight: 400;
- margin-left: 6px;
-}
-
-.memname td {
- vertical-align: bottom;
-}
-
-.memproto, dl.reflist dt {
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 0px 6px 0px;
- color: #253555;
- font-weight: bold;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- background-color: #DFE5F1;
- /* opera specific markup */
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- border-top-right-radius: 4px;
- /* firefox specific markup */
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- -moz-border-radius-topright: 4px;
- /* webkit specific markup */
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -webkit-border-top-right-radius: 4px;
-
-}
-
-.overload {
- font-family: "courier new",courier,monospace;
- font-size: 65%;
-}
-
-.memdoc, dl.reflist dd {
- border-bottom: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 10px 2px 10px;
- background-color: #FBFCFD;
- border-top-width: 0;
- background-image:url('nav_g.png');
- background-repeat:repeat-x;
- background-color: #FFFFFF;
- /* opera specific markup */
- border-bottom-left-radius: 4px;
- border-bottom-right-radius: 4px;
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- /* firefox specific markup */
- -moz-border-radius-bottomleft: 4px;
- -moz-border-radius-bottomright: 4px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- /* webkit specific markup */
- -webkit-border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-}
-
-dl.reflist dt {
- padding: 5px;
-}
-
-dl.reflist dd {
- margin: 0px 0px 10px 0px;
- padding: 5px;
-}
-
-.paramkey {
- text-align: right;
-}
-
-.paramtype {
- white-space: nowrap;
-}
-
-.paramname {
- color: #602020;
- white-space: nowrap;
-}
-.paramname em {
- font-style: normal;
-}
-.paramname code {
- line-height: 14px;
-}
-
-.params, .retval, .exception, .tparams {
- margin-left: 0px;
- padding-left: 0px;
-}
-
-.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
- font-weight: bold;
- vertical-align: top;
-}
-
-.params .paramtype, .tparams .paramtype {
- font-style: italic;
- vertical-align: top;
-}
-
-.params .paramdir, .tparams .paramdir {
- font-family: "courier new",courier,monospace;
- vertical-align: top;
-}
-
-table.mlabels {
- border-spacing: 0px;
-}
-
-td.mlabels-left {
- width: 100%;
- padding: 0px;
-}
-
-td.mlabels-right {
- vertical-align: bottom;
- padding: 0px;
- white-space: nowrap;
-}
-
-span.mlabels {
- margin-left: 8px;
-}
-
-span.mlabel {
- background-color: #728DC1;
- border-top:1px solid #5373B4;
- border-left:1px solid #5373B4;
- border-right:1px solid #C4CFE5;
- border-bottom:1px solid #C4CFE5;
- text-shadow: none;
- color: white;
- margin-right: 4px;
- padding: 2px 3px;
- border-radius: 3px;
- font-size: 7pt;
- white-space: nowrap;
- vertical-align: middle;
-}
-
-
-
-/* @end */
-
-/* these are for tree view inside a (index) page */
-
-div.directory {
- margin: 10px 0px;
- border-top: 1px solid #9CAFD4;
- border-bottom: 1px solid #9CAFD4;
- width: 100%;
-}
-
-.directory table {
- border-collapse:collapse;
-}
-
-.directory td {
- margin: 0px;
- padding: 0px;
- vertical-align: top;
-}
-
-.directory td.entry {
- white-space: nowrap;
- padding-right: 6px;
- padding-top: 3px;
-}
-
-.directory td.entry a {
- outline:none;
-}
-
-.directory td.entry a img {
- border: none;
-}
-
-.directory td.desc {
- width: 100%;
- padding-left: 6px;
- padding-right: 6px;
- padding-top: 3px;
- border-left: 1px solid rgba(0,0,0,0.05);
-}
-
-.directory tr.even {
- padding-left: 6px;
- background-color: #F7F8FB;
-}
-
-.directory img {
- vertical-align: -30%;
-}
-
-.directory .levels {
- white-space: nowrap;
- width: 100%;
- text-align: right;
- font-size: 9pt;
-}
-
-.directory .levels span {
- cursor: pointer;
- padding-left: 2px;
- padding-right: 2px;
- color: #3D578C;
-}
-
-.arrow {
- color: #9CAFD4;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- font-size: 80%;
- display: inline-block;
- width: 16px;
- height: 22px;
-}
-
-.icon {
- font-family: Arial, Helvetica;
- font-weight: bold;
- font-size: 12px;
- height: 14px;
- width: 16px;
- display: inline-block;
- background-color: #728DC1;
- color: white;
- text-align: center;
- border-radius: 4px;
- margin-left: 2px;
- margin-right: 2px;
-}
-
-.icona {
- width: 24px;
- height: 22px;
- display: inline-block;
-}
-
-.iconfopen {
- width: 24px;
- height: 18px;
- margin-bottom: 4px;
- background-image:url('folderopen.png');
- background-position: 0px -4px;
- background-repeat: repeat-y;
- vertical-align:top;
- display: inline-block;
-}
-
-.iconfclosed {
- width: 24px;
- height: 18px;
- margin-bottom: 4px;
- background-image:url('folderclosed.png');
- background-position: 0px -4px;
- background-repeat: repeat-y;
- vertical-align:top;
- display: inline-block;
-}
-
-.icondoc {
- width: 24px;
- height: 18px;
- margin-bottom: 4px;
- background-image:url('doc.png');
- background-position: 0px -4px;
- background-repeat: repeat-y;
- vertical-align:top;
- display: inline-block;
-}
-
-table.directory {
- font: 400 14px Roboto,sans-serif;
-}
-
-/* @end */
-
-div.dynheader {
- margin-top: 8px;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-address {
- font-style: normal;
- color: #2A3D61;
-}
-
-table.doxtable caption {
- caption-side: top;
-}
-
-table.doxtable {
- border-collapse:collapse;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-
-table.doxtable td, table.doxtable th {
- border: 1px solid #2D4068;
- padding: 3px 7px 2px;
-}
-
-table.doxtable th {
- background-color: #374F7F;
- color: #FFFFFF;
- font-size: 110%;
- padding-bottom: 4px;
- padding-top: 5px;
-}
-
-table.fieldtable {
- /*width: 100%;*/
- margin-bottom: 10px;
- border: 1px solid #A8B8D9;
- border-spacing: 0px;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
- box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-}
-
-.fieldtable td, .fieldtable th {
- padding: 3px 7px 2px;
-}
-
-.fieldtable td.fieldtype, .fieldtable td.fieldname {
- white-space: nowrap;
- border-right: 1px solid #A8B8D9;
- border-bottom: 1px solid #A8B8D9;
- vertical-align: top;
-}
-
-.fieldtable td.fieldname {
- padding-top: 3px;
-}
-
-.fieldtable td.fielddoc {
- border-bottom: 1px solid #A8B8D9;
- /*width: 100%;*/
-}
-
-.fieldtable td.fielddoc p:first-child {
- margin-top: 0px;
-}
-
-.fieldtable td.fielddoc p:last-child {
- margin-bottom: 2px;
-}
-
-.fieldtable tr:last-child td {
- border-bottom: none;
-}
-
-.fieldtable th {
- background-image:url('nav_f.png');
- background-repeat:repeat-x;
- background-color: #E2E8F2;
- font-size: 90%;
- color: #253555;
- padding-bottom: 4px;
- padding-top: 5px;
- text-align:left;
- font-weight: 400;
- -moz-border-radius-topleft: 4px;
- -moz-border-radius-topright: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom: 1px solid #A8B8D9;
-}
-
-
-.tabsearch {
- top: 0px;
- left: 10px;
- height: 36px;
- background-image: url('tab_b.png');
- z-index: 101;
- overflow: hidden;
- font-size: 13px;
-}
-
-.navpath ul
-{
- font-size: 11px;
- background-image:url('tab_b.png');
- background-repeat:repeat-x;
- background-position: 0 -5px;
- height:30px;
- line-height:30px;
- color:#8AA0CC;
- border:solid 1px #C2CDE4;
- overflow:hidden;
- margin:0px;
- padding:0px;
-}
-
-.navpath li
-{
- list-style-type:none;
- float:left;
- padding-left:10px;
- padding-right:15px;
- background-image:url('bc_s.png');
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
-}
-
-.navpath li.navelem a
-{
- height:32px;
- display:block;
- text-decoration: none;
- outline: none;
- color: #283A5D;
- font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- text-decoration: none;
-}
-
-.navpath li.navelem a:hover
-{
- color:#6884BD;
-}
-
-.navpath li.footer
-{
- list-style-type:none;
- float:right;
- padding-left:10px;
- padding-right:15px;
- background-image:none;
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
- font-size: 8pt;
-}
-
-
-div.summary
-{
- float: right;
- font-size: 8pt;
- padding-right: 5px;
- width: 50%;
- text-align: right;
-}
-
-div.summary a
-{
- white-space: nowrap;
-}
-
-table.classindex
-{
- margin: 10px;
- white-space: nowrap;
- margin-left: 3%;
- margin-right: 3%;
- width: 94%;
- border: 0;
- border-spacing: 0;
- padding: 0;
-}
-
-div.ingroups
-{
- font-size: 8pt;
- width: 50%;
- text-align: left;
-}
-
-div.ingroups a
-{
- white-space: nowrap;
-}
-
-div.header
-{
- background-image:url('nav_h.png');
- background-repeat:repeat-x;
- background-color: #F9FAFC;
- margin: 0px;
- border-bottom: 1px solid #C4CFE5;
-}
-
-div.headertitle
-{
- padding: 5px 5px 5px 10px;
-}
-
-.PageDocRTL-title div.headertitle {
- text-align: right;
- direction: rtl;
-}
-
-dl {
- padding: 0 0 0 0;
-}
-
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
-dl.section {
- margin-left: 0px;
- padding-left: 0px;
-}
-
-dl.section.DocNodeRTL {
- margin-right: 0px;
- padding-right: 0px;
-}
-
-dl.note {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #D0C000;
-}
-
-dl.note.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #D0C000;
-}
-
-dl.warning, dl.attention {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #FF0000;
-}
-
-dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #FF0000;
-}
-
-dl.pre, dl.post, dl.invariant {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #00D000;
-}
-
-dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #00D000;
-}
-
-dl.deprecated {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #505050;
-}
-
-dl.deprecated.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #505050;
-}
-
-dl.todo {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #00C0E0;
-}
-
-dl.todo.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #00C0E0;
-}
-
-dl.test {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #3030E0;
-}
-
-dl.test.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #3030E0;
-}
-
-dl.bug {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #C08050;
-}
-
-dl.bug.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #C08050;
-}
-
-dl.section dd {
- margin-bottom: 6px;
-}
-
-
-#projectlogo
-{
- text-align: center;
- vertical-align: bottom;
- border-collapse: separate;
-}
-
-#projectlogo img
-{
- border: 0px none;
-}
-
-#projectalign
-{
- vertical-align: middle;
-}
-
-#projectname
-{
- font: 300% Tahoma, Arial,sans-serif;
- margin: 0px;
- padding: 2px 0px;
-}
-
-#projectbrief
-{
- font: 120% Tahoma, Arial,sans-serif;
- margin: 0px;
- padding: 0px;
-}
-
-#projectnumber
-{
- font: 50% Tahoma, Arial,sans-serif;
- margin: 0px;
- padding: 0px;
-}
-
-#titlearea
-{
- padding: 0px;
- margin: 0px;
- width: 100%;
- border-bottom: 1px solid #5373B4;
-}
-
-.image
-{
- text-align: center;
-}
-
-.dotgraph
-{
- text-align: center;
-}
-
-.mscgraph
-{
- text-align: center;
-}
-
-.plantumlgraph
-{
- text-align: center;
-}
-
-.diagraph
-{
- text-align: center;
-}
-
-.caption
-{
- font-weight: bold;
-}
-
-div.zoom
-{
- border: 1px solid #90A5CE;
-}
-
-dl.citelist {
- margin-bottom:50px;
-}
-
-dl.citelist dt {
- color:#334975;
- float:left;
- font-weight:bold;
- margin-right:10px;
- padding:5px;
- text-align:right;
- width:52px;
-}
-
-dl.citelist dd {
- margin:2px 0 2px 72px;
- padding:5px 0;
-}
-
-div.toc {
- padding: 14px 25px;
- background-color: #F4F6FA;
- border: 1px solid #D8DFEE;
- border-radius: 7px 7px 7px 7px;
- float: right;
- height: auto;
- margin: 0 8px 10px 10px;
- width: 200px;
-}
-
-.PageDocRTL-title div.toc {
- float: left !important;
- text-align: right;
-}
-
-div.toc li {
- background: url("bdwn.png") no-repeat scroll 0 5px transparent;
- font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
- margin-top: 5px;
- padding-left: 10px;
- padding-top: 2px;
-}
-
-.PageDocRTL-title div.toc li {
- background-position-x: right !important;
- padding-left: 0 !important;
- padding-right: 10px;
-}
-
-div.toc h3 {
- font: bold 12px/1.2 Arial,FreeSans,sans-serif;
- color: #4665A2;
- border-bottom: 0 none;
- margin: 0;
-}
-
-div.toc ul {
- list-style: none outside none;
- border: medium none;
- padding: 0px;
-}
-
-div.toc li.level1 {
- margin-left: 0px;
-}
-
-div.toc li.level2 {
- margin-left: 15px;
-}
-
-div.toc li.level3 {
- margin-left: 30px;
-}
-
-div.toc li.level4 {
- margin-left: 45px;
-}
-
-span.emoji {
- /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
- * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
- */
-}
-
-.PageDocRTL-title div.toc li.level1 {
- margin-left: 0 !important;
- margin-right: 0;
-}
-
-.PageDocRTL-title div.toc li.level2 {
- margin-left: 0 !important;
- margin-right: 15px;
-}
-
-.PageDocRTL-title div.toc li.level3 {
- margin-left: 0 !important;
- margin-right: 30px;
-}
-
-.PageDocRTL-title div.toc li.level4 {
- margin-left: 0 !important;
- margin-right: 45px;
-}
-
-.inherit_header {
- font-weight: bold;
- color: gray;
- cursor: pointer;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.inherit_header td {
- padding: 6px 0px 2px 5px;
-}
-
-.inherit {
- display: none;
-}
-
-tr.heading h2 {
- margin-top: 12px;
- margin-bottom: 4px;
-}
-
-/* tooltip related style info */
-
-.ttc {
- position: absolute;
- display: none;
-}
-
-#powerTip {
- cursor: default;
- white-space: nowrap;
- background-color: white;
- border: 1px solid gray;
- border-radius: 4px 4px 4px 4px;
- box-shadow: 1px 1px 7px gray;
- display: none;
- font-size: smaller;
- max-width: 80%;
- opacity: 0.9;
- padding: 1ex 1em 1em;
- position: absolute;
- z-index: 2147483647;
-}
-
-#powerTip div.ttdoc {
- color: grey;
- font-style: italic;
-}
-
-#powerTip div.ttname a {
- font-weight: bold;
-}
-
-#powerTip div.ttname {
- font-weight: bold;
-}
-
-#powerTip div.ttdeci {
- color: #006318;
-}
-
-#powerTip div {
- margin: 0px;
- padding: 0px;
- font: 12px/16px Roboto,sans-serif;
-}
-
-#powerTip:before, #powerTip:after {
- content: "";
- position: absolute;
- margin: 0px;
-}
-
-#powerTip.n:after, #powerTip.n:before,
-#powerTip.s:after, #powerTip.s:before,
-#powerTip.w:after, #powerTip.w:before,
-#powerTip.e:after, #powerTip.e:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.nw:after, #powerTip.nw:before,
-#powerTip.sw:after, #powerTip.sw:before {
- border: solid transparent;
- content: " ";
- height: 0;
- width: 0;
- position: absolute;
-}
-
-#powerTip.n:after, #powerTip.s:after,
-#powerTip.w:after, #powerTip.e:after,
-#powerTip.nw:after, #powerTip.ne:after,
-#powerTip.sw:after, #powerTip.se:after {
- border-color: rgba(255, 255, 255, 0);
-}
-
-#powerTip.n:before, #powerTip.s:before,
-#powerTip.w:before, #powerTip.e:before,
-#powerTip.nw:before, #powerTip.ne:before,
-#powerTip.sw:before, #powerTip.se:before {
- border-color: rgba(128, 128, 128, 0);
-}
-
-#powerTip.n:after, #powerTip.n:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.nw:after, #powerTip.nw:before {
- top: 100%;
-}
-
-#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
- border-top-color: #FFFFFF;
- border-width: 10px;
- margin: 0px -10px;
-}
-#powerTip.n:before {
- border-top-color: #808080;
- border-width: 11px;
- margin: 0px -11px;
-}
-#powerTip.n:after, #powerTip.n:before {
- left: 50%;
-}
-
-#powerTip.nw:after, #powerTip.nw:before {
- right: 14px;
-}
-
-#powerTip.ne:after, #powerTip.ne:before {
- left: 14px;
-}
-
-#powerTip.s:after, #powerTip.s:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.sw:after, #powerTip.sw:before {
- bottom: 100%;
-}
-
-#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
- border-bottom-color: #FFFFFF;
- border-width: 10px;
- margin: 0px -10px;
-}
-
-#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
- border-bottom-color: #808080;
- border-width: 11px;
- margin: 0px -11px;
-}
-
-#powerTip.s:after, #powerTip.s:before {
- left: 50%;
-}
-
-#powerTip.sw:after, #powerTip.sw:before {
- right: 14px;
-}
-
-#powerTip.se:after, #powerTip.se:before {
- left: 14px;
-}
-
-#powerTip.e:after, #powerTip.e:before {
- left: 100%;
-}
-#powerTip.e:after {
- border-left-color: #FFFFFF;
- border-width: 10px;
- top: 50%;
- margin-top: -10px;
-}
-#powerTip.e:before {
- border-left-color: #808080;
- border-width: 11px;
- top: 50%;
- margin-top: -11px;
-}
-
-#powerTip.w:after, #powerTip.w:before {
- right: 100%;
-}
-#powerTip.w:after {
- border-right-color: #FFFFFF;
- border-width: 10px;
- top: 50%;
- margin-top: -10px;
-}
-#powerTip.w:before {
- border-right-color: #808080;
- border-width: 11px;
- top: 50%;
- margin-top: -11px;
-}
-
-@media print
-{
- #top { display: none; }
- #side-nav { display: none; }
- #nav-path { display: none; }
- body { overflow:visible; }
- h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
- .summary { display: none; }
- .memitem { page-break-inside: avoid; }
- #doc-content
- {
- margin-left:0 !important;
- height:auto !important;
- width:auto !important;
- overflow:inherit;
- display:inline;
- }
-}
-
-/* @group Markdown */
-
-table.markdownTable {
- border-collapse:collapse;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-
-table.markdownTable td, table.markdownTable th {
- border: 1px solid #2D4068;
- padding: 3px 7px 2px;
-}
-
-table.markdownTable tr {
-}
-
-th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
- background-color: #374F7F;
- color: #FFFFFF;
- font-size: 110%;
- padding-bottom: 4px;
- padding-top: 5px;
-}
-
-th.markdownTableHeadLeft, td.markdownTableBodyLeft {
- text-align: left
-}
-
-th.markdownTableHeadRight, td.markdownTableBodyRight {
- text-align: right
-}
-
-th.markdownTableHeadCenter, td.markdownTableBodyCenter {
- text-align: center
-}
-
-.DocNodeRTL {
- text-align: right;
- direction: rtl;
-}
-
-.DocNodeLTR {
- text-align: left;
- direction: ltr;
-}
-
-table.DocNodeRTL {
- width: auto;
- margin-right: 0;
- margin-left: auto;
-}
-
-table.DocNodeLTR {
- width: auto;
- margin-right: auto;
- margin-left: 0;
-}
-
-tt, code, kbd, samp
-{
- display: inline-block;
- direction:ltr;
-}
-/* @end */
-
-u {
- text-decoration: underline;
-}
-
diff --git a/doc/doxyout/hcrypto/html/doxygen.svg b/doc/doxyout/hcrypto/html/doxygen.svg
deleted file mode 100644
index d42dad52d5d1..000000000000
--- a/doc/doxyout/hcrypto/html/doxygen.svg
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg version="1.1" viewBox="0 0 104 31" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <linearGradient id="a">
- <stop stop-color="#5373B4" offset="0"/>
- <stop stop-color="#7C95C6" offset="1"/>
- </linearGradient>
- <linearGradient id="d" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
- <linearGradient id="c" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientTransform="matrix(.6816 0 0 1.0248 72.391 -.91809)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
- <linearGradient id="b" x1="56.295" x2="56.295" y1="24.622" y2="26.574" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
- <linearGradient id="e" x1="49.067" x2="48.956" y1="19.719" y2="9.5227" gradientTransform="matrix(.97968 0 0 1.0207 -.25579 -.25579)" gradientUnits="userSpaceOnUse">
- <stop stop-color="#C0CCE3" offset="0"/>
- <stop stop-color="#EEF1F7" offset="1"/>
- </linearGradient>
- <filter id="f" x="-.010676" y="-.045304" width="1.0214" height="1.0906" color-interpolation-filters="sRGB">
- <feGaussianBlur stdDeviation="0.45293203"/>
- </filter>
- </defs>
- <g>
- <path transform="translate(-2.5759 -27.848)" d="m13.609 32.203v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23645 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88018-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35277 3.7988-1.0566 1.0471-0.70387 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.92299-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.4611 0.28066 1.7988 0.84375 0.33777 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5976v-8.3926c0-0.84464-0.0765-1.6106-0.22851-2.2969-0.13511-0.70387-0.37971-1.2925-0.73438-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.063 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07028-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06051 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3438h-0.05078l-2.9648-9.3438zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914 0.38844 0.24635 0.6991 0.57184 0.93555 0.97656 0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13253 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10134 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88814-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70105 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.4927-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89025 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74023 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" filter="url(#f)" opacity=".3" stroke="#969696" xlink:href="#path141"/>
- <path d="m0.97202 24.161 43.605-0.0019 0.0508 3.3061-43.6 0.04174z" fill="url(#d)" stroke="#000" stroke-width=".5"/>
- <path d="m10.283 3.5547v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23644 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88017-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35278 3.7988-1.0566 1.0471-0.70386 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.923-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.461 0.28066 1.7988 0.84375 0.33778 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5977v-8.3926c0-0.84464-0.0765-1.6106-0.22852-2.2969-0.13511-0.70387-0.3797-1.2925-0.73437-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.062 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07027-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06052 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3437h-0.05078l-2.9648-9.3437zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914s0.6991 0.57184 0.93555 0.97656c0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13254 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10133 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88813-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70106 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.49271-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89026 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74024 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" fill="url(#e)" stroke="#4665A2" stroke-width=".7"/>
- <path d="m52.988 27.291c0.99602-1.0359 1.3944-1.8725 1.7928-3.1076l3.8247-0.03984c0.3113 1.6096 0.82413 2.5137 1.6335 3.1474z" fill="url(#b)" stroke="#000" stroke-width=".5"/>
- <path d="m73.89 24.04 28.885-0.2011-0.12476 3.3879-31.033 0.16229c1.2621-1.0234 1.9665-2.2859 2.2724-3.3491z" fill="url(#c)" stroke="#000" stroke-width=".41788"/>
- </g>
-</svg>
diff --git a/doc/doxyout/hcrypto/html/dynsections.js b/doc/doxyout/hcrypto/html/dynsections.js
deleted file mode 100644
index 3174bd7bebbf..000000000000
--- a/doc/doxyout/hcrypto/html/dynsections.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- @licend The above is the entire license notice for the JavaScript code in this file
- */
-function toggleVisibility(linkObj)
-{
- var base = $(linkObj).attr('id');
- var summary = $('#'+base+'-summary');
- var content = $('#'+base+'-content');
- var trigger = $('#'+base+'-trigger');
- var src=$(trigger).attr('src');
- if (content.is(':visible')===true) {
- content.hide();
- summary.show();
- $(linkObj).addClass('closed').removeClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
- content.show();
- summary.hide();
- $(linkObj).removeClass('closed').addClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
- }
- return false;
-}
-
-function updateStripes()
-{
- $('table.directory tr').
- removeClass('even').filter(':visible:even').addClass('even');
-}
-
-function toggleLevel(level)
-{
- $('table.directory tr').each(function() {
- var l = this.id.split('_').length-1;
- var i = $('#img'+this.id.substring(3));
- var a = $('#arr'+this.id.substring(3));
- if (l<level+1) {
- i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
- a.html('&#9660;');
- $(this).show();
- } else if (l==level+1) {
- i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
- a.html('&#9658;');
- $(this).show();
- } else {
- $(this).hide();
- }
- });
- updateStripes();
-}
-
-function toggleFolder(id)
-{
- // the clicked row
- var currentRow = $('#row_'+id);
-
- // all rows after the clicked row
- var rows = currentRow.nextAll("tr");
-
- var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
-
- // only match elements AFTER this one (can't hide elements before)
- var childRows = rows.filter(function() { return this.id.match(re); });
-
- // first row is visible we are HIDING
- if (childRows.filter(':first').is(':visible')===true) {
- // replace down arrow by right arrow for current row
- var currentRowSpans = currentRow.find("span");
- currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
- currentRowSpans.filter(".arrow").html('&#9658;');
- rows.filter("[id^=row_"+id+"]").hide(); // hide all children
- } else { // we are SHOWING
- // replace right arrow by down arrow for current row
- var currentRowSpans = currentRow.find("span");
- currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
- currentRowSpans.filter(".arrow").html('&#9660;');
- // replace down arrows by right arrows for child rows
- var childRowsSpans = childRows.find("span");
- childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
- childRowsSpans.filter(".arrow").html('&#9658;');
- childRows.show(); //show all children
- }
- updateStripes();
-}
-
-
-function toggleInherit(id)
-{
- var rows = $('tr.inherit.'+id);
- var img = $('tr.inherit_header.'+id+' img');
- var src = $(img).attr('src');
- if (rows.filter(':first').is(':visible')===true) {
- rows.css('display','none');
- $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
- rows.css('display','table-row'); // using show() causes jump in firefox
- $(img).attr('src',src.substring(0,src.length-10)+'open.png');
- }
-}
-/* @license-end */
diff --git a/doc/doxyout/hcrypto/html/example_evp_cipher_8c-example.html b/doc/doxyout/hcrypto/html/example_evp_cipher_8c-example.html
deleted file mode 100644
index 563cd93c81c3..000000000000
--- a/doc/doxyout/hcrypto/html/example_evp_cipher_8c-example.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>example_evp_cipher.c</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">example_evp_cipher.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>This is an example how to use <a class="el" href="group__hcrypto__evp.html#ga98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex()</a>, <a class="el" href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate()</a> and <a class="el" href="group__hcrypto__evp.html#ga714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex()</a>.</p>
-<div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * Copyright (c) 2008 Kungliga Tekniska Högskolan</span></div>
-<div class="line"><span class="comment"> * (Royal Institute of Technology, Stockholm, Sweden).</span></div>
-<div class="line"><span class="comment"> * All rights reserved.</span></div>
-<div class="line"><span class="comment"> *</span></div>
-<div class="line"><span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
-<div class="line"><span class="comment"> * modification, are permitted provided that the following conditions</span></div>
-<div class="line"><span class="comment"> * are met:</span></div>
-<div class="line"><span class="comment"> *</span></div>
-<div class="line"><span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div>
-<div class="line"><span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div>
-<div class="line"><span class="comment"> *</span></div>
-<div class="line"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div>
-<div class="line"><span class="comment"> * notice, this list of conditions and the following disclaimer in the</span></div>
-<div class="line"><span class="comment"> * documentation and/or other materials provided with the distribution.</span></div>
-<div class="line"><span class="comment"> *</span></div>
-<div class="line"><span class="comment"> * 3. Neither the name of the Institute nor the names of its contributors</span></div>
-<div class="line"><span class="comment"> * may be used to endorse or promote products derived from this software</span></div>
-<div class="line"><span class="comment"> * without specific prior written permission.</span></div>
-<div class="line"><span class="comment"> *</span></div>
-<div class="line"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS&#39;&#39; AND</span></div>
-<div class="line"><span class="comment"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div>
-<div class="line"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div>
-<div class="line"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE</span></div>
-<div class="line"><span class="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span></div>
-<div class="line"><span class="comment"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span></div>
-<div class="line"><span class="comment"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span></div>
-<div class="line"><span class="comment"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span></div>
-<div class="line"><span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span></div>
-<div class="line"><span class="comment"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span></div>
-<div class="line"><span class="comment"> * SUCH DAMAGE.</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"> </div>
-<div class="line"><span class="preprocessor">#include &lt;config.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;roken.h&gt;</span></div>
-<div class="line"> </div>
-<div class="line"><span class="preprocessor">#include &lt;krb5-types.h&gt;</span> <span class="comment">/* should really be stdint.h */</span></div>
-<div class="line"><span class="preprocessor">#include &lt;hcrypto/evp.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;hcrypto/evp-pkcs11.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#ifdef __APPLE__</span></div>
-<div class="line"><span class="preprocessor">#include &lt;hcrypto/evp-cc.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#endif</span></div>
-<div class="line"><span class="preprocessor">#ifdef _WIN32</span></div>
-<div class="line"><span class="preprocessor">#include &lt;hcrypto/evp-w32.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#endif</span></div>
-<div class="line"> </div>
-<div class="line"><span class="preprocessor">#include &lt;err.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;assert.h&gt;</span></div>
-<div class="line"> </div>
-<div class="line"><span class="comment">/* key and initial vector */</span></div>
-<div class="line"><span class="keyword">static</span> <span class="keywordtype">char</span> key[16] =</div>
-<div class="line"> <span class="stringliteral">&quot;\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4&quot;</span></div>
-<div class="line"> <span class="stringliteral">&quot;\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4&quot;</span>;</div>
-<div class="line"><span class="keyword">static</span> <span class="keywordtype">char</span> ivec[16] =</div>
-<div class="line"> <span class="stringliteral">&quot;\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4&quot;</span></div>
-<div class="line"> <span class="stringliteral">&quot;\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4&quot;</span>;</div>
-<div class="line"> </div>
-<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line">usage(<span class="keywordtype">int</span> exit_code) __attribute__((noreturn));</div>
-<div class="line"> </div>
-<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line">usage(<span class="keywordtype">int</span> exit_code)</div>
-<div class="line">{</div>
-<div class="line"> printf(<span class="stringliteral">&quot;usage: %s in out [pkcs11 | cc | w32]\n&quot;</span>, getprogname());</div>
-<div class="line"> exit(exit_code);</div>
-<div class="line">}</div>
-<div class="line"> </div>
-<div class="line"> </div>
-<div class="line"><span class="keywordtype">int</span></div>
-<div class="line">main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div>
-<div class="line">{</div>
-<div class="line"> <span class="keywordtype">int</span> encryptp = 1;</div>
-<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *ifn = NULL, *ofn = NULL;</div>
-<div class="line"> FILE *in, *out;</div>
-<div class="line"> <span class="keywordtype">void</span> *ibuf, *obuf;</div>
-<div class="line"> <span class="keywordtype">int</span> ilen, olen;</div>
-<div class="line"> <span class="keywordtype">size_t</span> block_size = 0;</div>
-<div class="line"> <span class="keyword">const</span> EVP_CIPHER *c = <a name="a0"></a><a class="code" href="group__hcrypto__evp.html#ga2747bac943db15c97167ac37fdc2af43">EVP_aes_128_cbc</a>();</div>
-<div class="line"> EVP_CIPHER_CTX ctx;</div>
-<div class="line"> <span class="keywordtype">int</span> ret;</div>
-<div class="line"> </div>
-<div class="line"> setprogname(argv[0]);</div>
-<div class="line"> </div>
-<div class="line"> <span class="keywordflow">if</span> (argc == 2) {</div>
-<div class="line"> <span class="keywordflow">if</span> (strcmp(argv[1], <span class="stringliteral">&quot;--version&quot;</span>) == 0) {</div>
-<div class="line"> printf(<span class="stringliteral">&quot;version&quot;</span>);</div>
-<div class="line"> exit(0);</div>
-<div class="line"> }</div>
-<div class="line"> <span class="keywordflow">if</span> (strcmp(argv[1], <span class="stringliteral">&quot;--help&quot;</span>) == 0)</div>
-<div class="line"> usage(0);</div>
-<div class="line"> usage(1);</div>
-<div class="line"> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (argc == 4 || argc == 5) {</div>
-<div class="line"> block_size = atoi(argv[1]);</div>
-<div class="line"> <span class="keywordflow">if</span> (block_size == 0)</div>
-<div class="line"> errx(1, <span class="stringliteral">&quot;invalid blocksize %s&quot;</span>, argv[1]);</div>
-<div class="line"> ifn = argv[2];</div>
-<div class="line"> ofn = argv[3];</div>
-<div class="line"> <span class="keywordflow">if</span> (argc == 5) {</div>
-<div class="line"> <span class="keywordflow">if</span> (strcmp(argv[4], <span class="stringliteral">&quot;pkcs11&quot;</span>) == 0)</div>
-<div class="line"> c = hc_EVP_pkcs11_aes_128_cbc();</div>
-<div class="line"><span class="preprocessor">#ifdef __APPLE__</span></div>
-<div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[4], <span class="stringliteral">&quot;cc&quot;</span>) == 0)</div>
-<div class="line"> c = hc_EVP_cc_aes_128_cbc();</div>
-<div class="line"><span class="preprocessor">#endif</span></div>
-<div class="line"><span class="preprocessor">#ifdef _WIN32</span></div>
-<div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[4], <span class="stringliteral">&quot;w32&quot;</span>) == 0)</div>
-<div class="line"> c = hc_EVP_w32crypto_aes_128_cbc();</div>
-<div class="line"><span class="preprocessor">#endif</span></div>
-<div class="line"> <span class="keywordflow">else</span></div>
-<div class="line"> usage(1);</div>
-<div class="line"> }</div>
-<div class="line"> } <span class="keywordflow">else</span></div>
-<div class="line"> usage(1);</div>
-<div class="line"> </div>
-<div class="line"> in = fopen(ifn, <span class="stringliteral">&quot;r&quot;</span>);</div>
-<div class="line"> <span class="keywordflow">if</span> (in == NULL)</div>
-<div class="line"> errx(1, <span class="stringliteral">&quot;failed to open input file&quot;</span>);</div>
-<div class="line"> out = fopen(ofn, <span class="stringliteral">&quot;w+&quot;</span>);</div>
-<div class="line"> <span class="keywordflow">if</span> (out == NULL)</div>
-<div class="line"> errx(1, <span class="stringliteral">&quot;failed to open output file&quot;</span>);</div>
-<div class="line"> </div>
-<div class="line"> <span class="comment">/* Check that key and ivec are long enough */</span></div>
-<div class="line"> assert(<a name="a1"></a><a class="code" href="group__hcrypto__evp.html#ga4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length</a>(c) &lt;= <span class="keyword">sizeof</span>(key));</div>
-<div class="line"> assert(<a name="a2"></a><a class="code" href="group__hcrypto__evp.html#ga7edebe76d19dee11686a6698d24f19f5">EVP_CIPHER_iv_length</a>(c) &lt;= <span class="keyword">sizeof</span>(ivec));</div>
-<div class="line"> </div>
-<div class="line"> <span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * Allocate buffer, the output buffer is at least</span></div>
-<div class="line"><span class="comment"> * EVP_CIPHER_block_size() longer</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"> ibuf = malloc(block_size);</div>
-<div class="line"> obuf = malloc(block_size + <a name="a3"></a><a class="code" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size</a>(c));</div>
-<div class="line"> </div>
-<div class="line"> <span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * Init the memory used for EVP_CIPHER_CTX and set the key and</span></div>
-<div class="line"><span class="comment"> * ivec.</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"> <a name="a4"></a><a class="code" href="group__hcrypto__evp.html#ga13d0ff0e87312566cb6b3591157f9754">EVP_CIPHER_CTX_init</a>(&amp;ctx);</div>
-<div class="line"> <a name="a5"></a><a class="code" href="group__hcrypto__evp.html#ga98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex</a>(&amp;ctx, c, NULL, key, ivec, encryptp);</div>
-<div class="line"> </div>
-<div class="line"> <span class="comment">/* read in buffer */</span></div>
-<div class="line"> <span class="keywordflow">while</span> ((ilen = fread(ibuf, 1, block_size, in)) &gt; 0) {</div>
-<div class="line"> <span class="comment">/* encrypto/decrypt */</span></div>
-<div class="line"> ret = <a name="a6"></a><a class="code" href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate</a>(&amp;ctx, obuf, &amp;olen, ibuf, ilen);</div>
-<div class="line"> <span class="keywordflow">if</span> (ret != 1) {</div>
-<div class="line"> <a name="a7"></a><a class="code" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a>(&amp;ctx);</div>
-<div class="line"> errx(1, <span class="stringliteral">&quot;EVP_CipherUpdate failed&quot;</span>);</div>
-<div class="line"> }</div>
-<div class="line"> <span class="comment">/* write out to output file */</span></div>
-<div class="line"> fwrite(obuf, 1, olen, out);</div>
-<div class="line"> }</div>
-<div class="line"> <span class="comment">/* done reading */</span></div>
-<div class="line"> fclose(in);</div>
-<div class="line"> </div>
-<div class="line"> <span class="comment">/* clear up any last bytes left in the output buffer */</span></div>
-<div class="line"> ret = <a name="a8"></a><a class="code" href="group__hcrypto__evp.html#ga714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex</a>(&amp;ctx, obuf, &amp;olen);</div>
-<div class="line"> <a class="code" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a>(&amp;ctx);</div>
-<div class="line"> <span class="keywordflow">if</span> (ret != 1)</div>
-<div class="line"> errx(1, <span class="stringliteral">&quot;EVP_CipherFinal_ex failed&quot;</span>);</div>
-<div class="line"> </div>
-<div class="line"> <span class="comment">/* write the last bytes out and close */</span></div>
-<div class="line"> fwrite(obuf, 1, olen, out);</div>
-<div class="line"> fclose(out);</div>
-<div class="line"> </div>
-<div class="line"> <span class="keywordflow">return</span> 0;</div>
-<div class="line">}</div>
-<div class="ttc" id="agroup__hcrypto__evp_html_ga13d0ff0e87312566cb6b3591157f9754"><div class="ttname"><a href="group__hcrypto__evp.html#ga13d0ff0e87312566cb6b3591157f9754">EVP_CIPHER_CTX_init</a></div><div class="ttdeci">void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *c)</div><div class="ttdef"><b>Definition:</b> evp.c:570</div></div>
-<div class="ttc" id="agroup__hcrypto__evp_html_ga2747bac943db15c97167ac37fdc2af43"><div class="ttname"><a href="group__hcrypto__evp.html#ga2747bac943db15c97167ac37fdc2af43">EVP_aes_128_cbc</a></div><div class="ttdeci">const EVP_CIPHER * EVP_aes_128_cbc(void)</div><div class="ttdef"><b>Definition:</b> evp.c:1153</div></div>
-<div class="ttc" id="agroup__hcrypto__evp_html_ga3123ff4b426783dd972538249b9e9d4d"><div class="ttname"><a href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size</a></div><div class="ttdeci">size_t EVP_CIPHER_block_size(const EVP_CIPHER *c)</div><div class="ttdef"><b>Definition:</b> evp.c:523</div></div>
-<div class="ttc" id="agroup__hcrypto__evp_html_ga4793a9e130da86ac42c497b19395b748"><div class="ttname"><a href="group__hcrypto__evp.html#ga4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length</a></div><div class="ttdeci">size_t EVP_CIPHER_key_length(const EVP_CIPHER *c)</div><div class="ttdef"><b>Definition:</b> evp.c:539</div></div>
-<div class="ttc" id="agroup__hcrypto__evp_html_ga714eef7d737fd68171d852043a4995de"><div class="ttname"><a href="group__hcrypto__evp.html#ga714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex</a></div><div class="ttdeci">int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, void *out, int *outlen)</div><div class="ttdef"><b>Definition:</b> evp.c:939</div></div>
-<div class="ttc" id="agroup__hcrypto__evp_html_ga7edebe76d19dee11686a6698d24f19f5"><div class="ttname"><a href="group__hcrypto__evp.html#ga7edebe76d19dee11686a6698d24f19f5">EVP_CIPHER_iv_length</a></div><div class="ttdeci">size_t EVP_CIPHER_iv_length(const EVP_CIPHER *c)</div><div class="ttdef"><b>Definition:</b> evp.c:555</div></div>
-<div class="ttc" id="agroup__hcrypto__evp_html_ga863349e1001b36cfd6c4afedddd12862"><div class="ttname"><a href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate</a></div><div class="ttdeci">int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, void *out, int *outlen, void *in, size_t inlen)</div><div class="ttdef"><b>Definition:</b> evp.c:853</div></div>
-<div class="ttc" id="agroup__hcrypto__evp_html_ga98da5a5c1aa25d9cb2e4717fa11314bd"><div class="ttname"><a href="group__hcrypto__evp.html#ga98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex</a></div><div class="ttdeci">int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE *engine, const void *key, const void *iv, int encp)</div><div class="ttdef"><b>Definition:</b> evp.c:775</div></div>
-<div class="ttc" id="agroup__hcrypto__evp_html_gac16dd3987cd90c8bcdbad5290c558359"><div class="ttname"><a href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a></div><div class="ttdeci">int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *c)</div><div class="ttdef"><b>Definition:</b> evp.c:586</div></div>
-</div><!-- fragment --> </div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/examples.html b/doc/doxyout/hcrypto/html/examples.html
deleted file mode 100644
index cfa9cd8b09da..000000000000
--- a/doc/doxyout/hcrypto/html/examples.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Examples</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Examples</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all examples:</div><ul>
-<li><a class="el" href="example_evp_cipher_8c-example.html">example_evp_cipher.c</a></li>
-
-</ul>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/folderclosed.png b/doc/doxyout/hcrypto/html/folderclosed.png
deleted file mode 100644
index bb8ab35edce8..000000000000
--- a/doc/doxyout/hcrypto/html/folderclosed.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/folderopen.png b/doc/doxyout/hcrypto/html/folderopen.png
deleted file mode 100644
index d6c7f676a3b3..000000000000
--- a/doc/doxyout/hcrypto/html/folderopen.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/graph_legend.html b/doc/doxyout/hcrypto/html/graph_legend.html
deleted file mode 100644
index 491b219540a0..000000000000
--- a/doc/doxyout/hcrypto/html/graph_legend.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Graph Legend</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Graph Legend</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
-<p>Consider the following example: </p><div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div>
-<div class="line"><span class="keyword">class </span>Invisible { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div>
-<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div>
-<div class="line"> </div>
-<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div>
-<div class="line"><span class="keyword">class </span>Undocumented { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div>
-<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! A template class */</span></div>
-<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div>
-<div class="line"><span class="keyword">class </span>ProtectedBase { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div>
-<div class="line"><span class="keyword">class </span>PrivateBase { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div>
-<div class="line"><span class="keyword">class </span>Used { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div>
-<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div>
-<div class="line"> <span class="keyword">protected</span> ProtectedBase,</div>
-<div class="line"> <span class="keyword">private</span> PrivateBase,</div>
-<div class="line"> <span class="keyword">public</span> Undocumented,</div>
-<div class="line"> <span class="keyword">public</span> Templ&lt;int&gt;</div>
-<div class="line">{</div>
-<div class="line"> <span class="keyword">private</span>:</div>
-<div class="line"> Used *m_usedClass;</div>
-<div class="line">};</div>
-</div><!-- fragment --><p> This will result in the following graph:</p>
-<center><img src="graph_legend.png" alt="" class="inline"/></center><p>The boxes in the above graph have the following meaning: </p>
-<ul>
-<li>
-A filled gray box represents the struct or class for which the graph is generated. </li>
-<li>
-A box with a black border denotes a documented struct or class. </li>
-<li>
-A box with a gray border denotes an undocumented struct or class. </li>
-<li>
-A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
-</ul>
-<p>The arrows have the following meaning: </p>
-<ul>
-<li>
-A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
-<li>
-A dark green arrow is used for protected inheritance. </li>
-<li>
-A dark red arrow is used for private inheritance. </li>
-<li>
-A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible. </li>
-<li>
-A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance. </li>
-</ul>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/graph_legend.md5 b/doc/doxyout/hcrypto/html/graph_legend.md5
deleted file mode 100644
index 8fcdccd1b9be..000000000000
--- a/doc/doxyout/hcrypto/html/graph_legend.md5
+++ /dev/null
@@ -1 +0,0 @@
-f51bf6e9a10430aafef59831b08dcbfe \ No newline at end of file
diff --git a/doc/doxyout/hcrypto/html/graph_legend.png b/doc/doxyout/hcrypto/html/graph_legend.png
deleted file mode 100644
index f323741337e1..000000000000
--- a/doc/doxyout/hcrypto/html/graph_legend.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__core.html b/doc/doxyout/hcrypto/html/group__hcrypto__core.html
deleted file mode 100644
index e86a38a6c471..000000000000
--- a/doc/doxyout/hcrypto/html/group__hcrypto__core.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hcrypto function controlling behavior</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hcrypto function controlling behavior</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gadeab70eab0fd570d0322bca3a72681ba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#gadeab70eab0fd570d0322bca3a72681ba">EVP_CIPHER_CTX_rand_key</a> (EVP_CIPHER_CTX *ctx, void *key)</td></tr>
-<tr class="separator:gadeab70eab0fd570d0322bca3a72681ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga97c103e02bc22ed1c4ef196ba0571941"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#ga97c103e02bc22ed1c4ef196ba0571941">EVP_CIPHER_CTX_ctrl</a> (EVP_CIPHER_CTX *ctx, int type, int arg, void *data)</td></tr>
-<tr class="separator:ga97c103e02bc22ed1c4ef196ba0571941"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8d39c8f6846136633bc84ca14ef4ec0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#ga8d39c8f6846136633bc84ca14ef4ec0e">OpenSSL_add_all_algorithms</a> (void)</td></tr>
-<tr class="separator:ga8d39c8f6846136633bc84ca14ef4ec0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad3aae18798d3ec4da0a3f4affe29263a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#gad3aae18798d3ec4da0a3f4affe29263a">OpenSSL_add_all_algorithms_conf</a> (void)</td></tr>
-<tr class="separator:gad3aae18798d3ec4da0a3f4affe29263a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga99be2e9346299cc4d4804d7b7be18028"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#ga99be2e9346299cc4d4804d7b7be18028">OpenSSL_add_all_algorithms_noconf</a> (void)</td></tr>
-<tr class="separator:ga99be2e9346299cc4d4804d7b7be18028"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga97c103e02bc22ed1c4ef196ba0571941"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga97c103e02bc22ed1c4ef196ba0571941">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_ctrl()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_CIPHER_CTX_ctrl </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>type</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>arg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>data</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Perform a operation on a ctx</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>context to perform operation on. </td></tr>
- <tr><td class="paramname">type</td><td>type of operation. </td></tr>
- <tr><td class="paramname">arg</td><td>argument to operation. </td></tr>
- <tr><td class="paramname">data</td><td>addition data to operation.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 for success, 0 for failure. </dd></dl>
-
-</div>
-</div>
-<a id="gadeab70eab0fd570d0322bca3a72681ba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gadeab70eab0fd570d0322bca3a72681ba">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_rand_key()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_CIPHER_CTX_rand_key </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>key</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Generate a random key for the specificed EVP_CIPHER.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>EVP_CIPHER_CTX type to build the key for. </td></tr>
- <tr><td class="paramname">key</td><td>return key, must be at least <a class="el" href="group__hcrypto__evp.html#ga4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length()</a> byte long.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 for success, 0 for failure. </dd></dl>
-
-</div>
-</div>
-<a id="ga8d39c8f6846136633bc84ca14ef4ec0e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8d39c8f6846136633bc84ca14ef4ec0e">&#9670;&nbsp;</a></span>OpenSSL_add_all_algorithms()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void OpenSSL_add_all_algorithms </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add all algorithms to the crypto core. </p>
-
-</div>
-</div>
-<a id="gad3aae18798d3ec4da0a3f4affe29263a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad3aae18798d3ec4da0a3f4affe29263a">&#9670;&nbsp;</a></span>OpenSSL_add_all_algorithms_conf()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void OpenSSL_add_all_algorithms_conf </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add all algorithms to the crypto core using configuration file. </p>
-
-</div>
-</div>
-<a id="ga99be2e9346299cc4d4804d7b7be18028"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga99be2e9346299cc4d4804d7b7be18028">&#9670;&nbsp;</a></span>OpenSSL_add_all_algorithms_noconf()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void OpenSSL_add_all_algorithms_noconf </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add all algorithms to the crypto core, but don't use the configuration file. </p>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__des.html b/doc/doxyout/hcrypto/html/group__hcrypto__des.html
deleted file mode 100644
index d81b3d60fccb..000000000000
--- a/doc/doxyout/hcrypto/html/group__hcrypto__des.html
+++ /dev/null
@@ -1,912 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>DES crypto functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">DES crypto functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga4179bef43ceb72cc2034f39e7d2d5ae4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga4179bef43ceb72cc2034f39e7d2d5ae4">DES_set_odd_parity</a> (DES_cblock *key)</td></tr>
-<tr class="separator:ga4179bef43ceb72cc2034f39e7d2d5ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacf0d611296ad70edf90a3130b2f62c71"><td class="memItemLeft" align="right" valign="top">int HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gacf0d611296ad70edf90a3130b2f62c71">DES_check_key_parity</a> (DES_cblock *key)</td></tr>
-<tr class="separator:gacf0d611296ad70edf90a3130b2f62c71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0d8a49cafee4be6cd3922bfb6323fd2d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga0d8a49cafee4be6cd3922bfb6323fd2d">DES_is_weak_key</a> (DES_cblock *key)</td></tr>
-<tr class="separator:ga0d8a49cafee4be6cd3922bfb6323fd2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaad10e059974f3048b3de49599989486b"><td class="memItemLeft" align="right" valign="top">int HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gaad10e059974f3048b3de49599989486b">DES_set_key</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
-<tr class="separator:gaad10e059974f3048b3de49599989486b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8131d59b5c0f65ca8bba0873932680d5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga8131d59b5c0f65ca8bba0873932680d5">DES_set_key_unchecked</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
-<tr class="separator:ga8131d59b5c0f65ca8bba0873932680d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3157dd2419a25cd4381867f012117d07"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga3157dd2419a25cd4381867f012117d07">DES_set_key_checked</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
-<tr class="separator:ga3157dd2419a25cd4381867f012117d07"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf5b4967f13a4a52c214c28b6e57a3a95"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gaf5b4967f13a4a52c214c28b6e57a3a95">DES_key_sched</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
-<tr class="separator:gaf5b4967f13a4a52c214c28b6e57a3a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga39662a8c2218601d402a895f08813662"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga39662a8c2218601d402a895f08813662">DES_encrypt</a> (uint32_t u[2], DES_key_schedule *ks, int encp)</td></tr>
-<tr class="separator:ga39662a8c2218601d402a895f08813662"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa5cf9203994e3a5ece2ef7a85e7a2875"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gaa5cf9203994e3a5ece2ef7a85e7a2875">DES_ecb_encrypt</a> (DES_cblock *input, DES_cblock *output, DES_key_schedule *ks, int encp)</td></tr>
-<tr class="separator:gaa5cf9203994e3a5ece2ef7a85e7a2875"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4946e6d9a944f8f029df4e6c68d1868e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga4946e6d9a944f8f029df4e6c68d1868e">DES_cbc_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)</td></tr>
-<tr class="separator:ga4946e6d9a944f8f029df4e6c68d1868e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga336e497f66748e92b93fc0b4512d78c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga336e497f66748e92b93fc0b4512d78c2">DES_pcbc_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)</td></tr>
-<tr class="separator:ga336e497f66748e92b93fc0b4512d78c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf2de06942efdf1bd45ce0a8c0597654e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gaf2de06942efdf1bd45ce0a8c0597654e">DES_ecb3_encrypt</a> (DES_cblock *input, DES_cblock *output, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, int encp)</td></tr>
-<tr class="separator:gaf2de06942efdf1bd45ce0a8c0597654e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga36a83e8a4de4ac0f93ea932229dc3607"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga36a83e8a4de4ac0f93ea932229dc3607">DES_ede3_cbc_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, DES_cblock *iv, int encp)</td></tr>
-<tr class="separator:ga36a83e8a4de4ac0f93ea932229dc3607"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9c2b24baea3d4e69524335a79e22ae2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga9c2b24baea3d4e69524335a79e22ae2d">DES_cfb64_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int *num, int encp)</td></tr>
-<tr class="separator:ga9c2b24baea3d4e69524335a79e22ae2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabf8f1cc95fd03ec1ef59563f9659ec42"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gabf8f1cc95fd03ec1ef59563f9659ec42">DES_cbc_cksum</a> (const void *in, DES_cblock *output, long length, DES_key_schedule *ks, DES_cblock *iv)</td></tr>
-<tr class="separator:gabf8f1cc95fd03ec1ef59563f9659ec42"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga60893cdc75d9ce8cbf4a5d7a874855c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga60893cdc75d9ce8cbf4a5d7a874855c8">DES_string_to_key</a> (const char *str, DES_cblock *key)</td></tr>
-<tr class="separator:ga60893cdc75d9ce8cbf4a5d7a874855c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacd3642bcd8a7e93ea977786e5b540d5f"><td class="memItemLeft" align="right" valign="top">int HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gacd3642bcd8a7e93ea977786e5b540d5f">DES_new_random_key</a> (DES_cblock *key)</td></tr>
-<tr class="separator:gacd3642bcd8a7e93ea977786e5b540d5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga45739e74db49d07bfaa0d7918efd4875"><td class="memItemLeft" align="right" valign="top">void HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga45739e74db49d07bfaa0d7918efd4875">DES_init_random_number_generator</a> (DES_cblock *seed)</td></tr>
-<tr class="separator:ga45739e74db49d07bfaa0d7918efd4875"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad70d485549f7444589f3283e938c0258"><td class="memItemLeft" align="right" valign="top">void HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gad70d485549f7444589f3283e938c0258">DES_random_key</a> (DES_cblock *key)</td></tr>
-<tr class="separator:gad70d485549f7444589f3283e938c0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_des.html">DES - Data Encryption Standard crypto interface</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="gabf8f1cc95fd03ec1ef59563f9659ec42"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gabf8f1cc95fd03ec1ef59563f9659ec42">&#9670;&nbsp;</a></span>DES_cbc_cksum()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint32_t DES_cbc_cksum </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>output</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">long&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>iv</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Crete a checksum using DES in CBC encryption mode. This mode is only used for Kerberos 4, and it should stay that way.</p>
-<p>The IV must always be diffrent for diffrent input data blocks.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>data to checksum </td></tr>
- <tr><td class="paramname">output</td><td>the checksum </td></tr>
- <tr><td class="paramname">length</td><td>length of data </td></tr>
- <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga4946e6d9a944f8f029df4e6c68d1868e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4946e6d9a944f8f029df4e6c68d1868e">&#9670;&nbsp;</a></span>DES_cbc_encrypt()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DES_cbc_encrypt </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">long&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>iv</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>encp</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encrypt/decrypt a block using DES in Chain Block Cipher mode (cbc).</p>
-<p>The IV must always be diffrent for diffrent input data blocks.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">out</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">length</td><td>length of data </td></tr>
- <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
- <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga9c2b24baea3d4e69524335a79e22ae2d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga9c2b24baea3d4e69524335a79e22ae2d">&#9670;&nbsp;</a></span>DES_cfb64_encrypt()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DES_cfb64_encrypt </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">long&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>iv</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int *&#160;</td>
- <td class="paramname"><em>num</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>encp</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encrypt/decrypt using DES in cipher feedback mode with 64 bit feedback.</p>
-<p>The IV must always be diffrent for diffrent input data blocks.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">out</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">length</td><td>length of data </td></tr>
- <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
- <tr><td class="paramname">num</td><td>offset into in cipher block encryption/decryption stop last time. </td></tr>
- <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gacf0d611296ad70edf90a3130b2f62c71"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gacf0d611296ad70edf90a3130b2f62c71">&#9670;&nbsp;</a></span>DES_check_key_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int HC_DEPRECATED DES_check_key_parity </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Check if the key have correct parity.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">key</td><td>key to check the parity. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
-
-</div>
-</div>
-<a id="gaf2de06942efdf1bd45ce0a8c0597654e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf2de06942efdf1bd45ce0a8c0597654e">&#9670;&nbsp;</a></span>DES_ecb3_encrypt()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DES_ecb3_encrypt </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>input</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>output</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>encp</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encrypt/decrypt a block using triple DES using EDE mode, encrypt/decrypt/encrypt.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">input</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">output</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">ks1</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">ks2</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">ks3</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gaa5cf9203994e3a5ece2ef7a85e7a2875"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaa5cf9203994e3a5ece2ef7a85e7a2875">&#9670;&nbsp;</a></span>DES_ecb_encrypt()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DES_ecb_encrypt </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>input</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>output</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>encp</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encrypt/decrypt a block using DES.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">input</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">output</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga36a83e8a4de4ac0f93ea932229dc3607"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga36a83e8a4de4ac0f93ea932229dc3607">&#9670;&nbsp;</a></span>DES_ede3_cbc_encrypt()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DES_ede3_cbc_encrypt </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">long&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>iv</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>encp</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encrypt/decrypt using Triple DES in Chain Block Cipher mode (cbc).</p>
-<p>The IV must always be diffrent for diffrent input data blocks.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">out</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">length</td><td>length of data </td></tr>
- <tr><td class="paramname">ks1</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">ks2</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">ks3</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
- <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga39662a8c2218601d402a895f08813662"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga39662a8c2218601d402a895f08813662">&#9670;&nbsp;</a></span>DES_encrypt()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DES_encrypt </td>
- <td>(</td>
- <td class="paramtype">uint32_t&#160;</td>
- <td class="paramname"><em>u</em>[2], </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>encp</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encrypt/decrypt a block using DES. Also called ECB mode</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">u</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga45739e74db49d07bfaa0d7918efd4875"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga45739e74db49d07bfaa0d7918efd4875">&#9670;&nbsp;</a></span>DES_init_random_number_generator()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void HC_DEPRECATED DES_init_random_number_generator </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>seed</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Seed the random number generator. Deprecated, use <a class="el" href="page_rand.html">RAND - random number</a></p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">seed</td><td>a seed to seed that random number generate with. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga0d8a49cafee4be6cd3922bfb6323fd2d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga0d8a49cafee4be6cd3922bfb6323fd2d">&#9670;&nbsp;</a></span>DES_is_weak_key()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DES_is_weak_key </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Checks if the key is any of the weaks keys that makes DES attacks trival.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">key</td><td>key to check.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 if the key is weak, 0 otherwise. </dd></dl>
-
-</div>
-</div>
-<a id="gaf5b4967f13a4a52c214c28b6e57a3a95"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf5b4967f13a4a52c214c28b6e57a3a95">&#9670;&nbsp;</a></span>DES_key_sched()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DES_key_sched </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Compatibility function for eay libdes, works just like <a class="el" href="group__hcrypto__des.html#ga3157dd2419a25cd4381867f012117d07">DES_set_key_checked()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">key</td><td>a key to initialize the key schedule with. </td></tr>
- <tr><td class="paramname">ks</td><td>a key schedule to initialize.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 on success, -1 on invalid parity, -2 on weak key. </dd></dl>
-
-</div>
-</div>
-<a id="gacd3642bcd8a7e93ea977786e5b540d5f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gacd3642bcd8a7e93ea977786e5b540d5f">&#9670;&nbsp;</a></span>DES_new_random_key()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int HC_DEPRECATED DES_new_random_key </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Generate a random des key using a random block, fixup parity and skip weak keys.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">key</td><td>is set to a random key.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 on success, non zero on random number generator failure. </dd></dl>
-
-</div>
-</div>
-<a id="ga336e497f66748e92b93fc0b4512d78c2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga336e497f66748e92b93fc0b4512d78c2">&#9670;&nbsp;</a></span>DES_pcbc_encrypt()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DES_pcbc_encrypt </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">long&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>iv</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>encp</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encrypt/decrypt a block using DES in Propagating Cipher Block Chaining mode. This mode is only used for Kerberos 4, and it should stay that way.</p>
-<p>The IV must always be diffrent for diffrent input data blocks.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">out</td><td>data to encrypt </td></tr>
- <tr><td class="paramname">length</td><td>length of data </td></tr>
- <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
- <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
- <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gad70d485549f7444589f3283e938c0258"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad70d485549f7444589f3283e938c0258">&#9670;&nbsp;</a></span>DES_random_key()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void HC_DEPRECATED DES_random_key </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Generate a random key, deprecated since it doesn't return an error code, use <a class="el" href="group__hcrypto__des.html#gacd3642bcd8a7e93ea977786e5b540d5f">DES_new_random_key()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">key</td><td>is set to a random key. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gaad10e059974f3048b3de49599989486b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaad10e059974f3048b3de49599989486b">&#9670;&nbsp;</a></span>DES_set_key()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int HC_DEPRECATED DES_set_key </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Setup a des key schedule from a key. Deprecated function, use <a class="el" href="group__hcrypto__des.html#ga8131d59b5c0f65ca8bba0873932680d5">DES_set_key_unchecked()</a> or <a class="el" href="group__hcrypto__des.html#ga3157dd2419a25cd4381867f012117d07">DES_set_key_checked()</a> instead.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">key</td><td>a key to initialize the key schedule with. </td></tr>
- <tr><td class="paramname">ks</td><td>a key schedule to initialize.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 on success </dd></dl>
-
-</div>
-</div>
-<a id="ga3157dd2419a25cd4381867f012117d07"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3157dd2419a25cd4381867f012117d07">&#9670;&nbsp;</a></span>DES_set_key_checked()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DES_set_key_checked </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Just like <a class="el" href="group__hcrypto__des.html#ga8131d59b5c0f65ca8bba0873932680d5">DES_set_key_unchecked()</a> except checking that the key is not weak for or have correct parity.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">key</td><td>a key to initialize the key schedule with. </td></tr>
- <tr><td class="paramname">ks</td><td>a key schedule to initialize.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 on success, -1 on invalid parity, -2 on weak key. </dd></dl>
-
-</div>
-</div>
-<a id="ga8131d59b5c0f65ca8bba0873932680d5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8131d59b5c0f65ca8bba0873932680d5">&#9670;&nbsp;</a></span>DES_set_key_unchecked()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DES_set_key_unchecked </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_key_schedule *&#160;</td>
- <td class="paramname"><em>ks</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Setup a des key schedule from a key. The key is no longer needed after this transaction and can cleared.</p>
-<p>Does NOT check that the key is weak for or have wrong parity.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">key</td><td>a key to initialize the key schedule with. </td></tr>
- <tr><td class="paramname">ks</td><td>a key schedule to initialize.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 on success </dd></dl>
-
-</div>
-</div>
-<a id="ga4179bef43ceb72cc2034f39e7d2d5ae4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4179bef43ceb72cc2034f39e7d2d5ae4">&#9670;&nbsp;</a></span>DES_set_odd_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DES_set_odd_parity </td>
- <td>(</td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the parity of the key block, used to generate a des key from a random key. See <a class="el" href="page_des.html#des_keygen">DES key generation</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">key</td><td>key to fixup the parity for. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga60893cdc75d9ce8cbf4a5d7a874855c8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga60893cdc75d9ce8cbf4a5d7a874855c8">&#9670;&nbsp;</a></span>DES_string_to_key()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DES_string_to_key </td>
- <td>(</td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>str</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DES_cblock *&#160;</td>
- <td class="paramname"><em>key</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Convert a string to a DES key. Use something like <a class="el" href="group__hcrypto__misc.html#gaece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1()</a> to create key from passwords.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">str</td><td>The string to convert to a key </td></tr>
- <tr><td class="paramname">key</td><td>the resulting key </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__dh.html b/doc/doxyout/hcrypto/html/group__hcrypto__dh.html
deleted file mode 100644
index 13c0cc284706..000000000000
--- a/doc/doxyout/hcrypto/html/group__hcrypto__dh.html
+++ /dev/null
@@ -1,569 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Diffie-Hellman functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Diffie-Hellman functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gabfe13af1fef654a94a9be268df6d8809"><td class="memItemLeft" align="right" valign="top">const DH_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gabfe13af1fef654a94a9be268df6d8809">DH_ltm_method</a> (void)</td></tr>
-<tr class="separator:gabfe13af1fef654a94a9be268df6d8809"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga76c6e12bd1f0b9977d80fee83b086031"><td class="memItemLeft" align="right" valign="top">DH *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga76c6e12bd1f0b9977d80fee83b086031">DH_new</a> (void)</td></tr>
-<tr class="separator:ga76c6e12bd1f0b9977d80fee83b086031"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2e97e03aee56c6094bb7fd6322b3ce68"><td class="memItemLeft" align="right" valign="top">DH *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga2e97e03aee56c6094bb7fd6322b3ce68">DH_new_method</a> (ENGINE *engine)</td></tr>
-<tr class="separator:ga2e97e03aee56c6094bb7fd6322b3ce68"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1f15312ca21e290ee714e86578820c35"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga1f15312ca21e290ee714e86578820c35">DH_free</a> (DH *dh)</td></tr>
-<tr class="separator:ga1f15312ca21e290ee714e86578820c35"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf7c3e51cba326865c3684012c2337df1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gaf7c3e51cba326865c3684012c2337df1">DH_up_ref</a> (DH *dh)</td></tr>
-<tr class="separator:gaf7c3e51cba326865c3684012c2337df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9e1fdd62e3bfe4b671dbfc363f0e6297"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga9e1fdd62e3bfe4b671dbfc363f0e6297">DH_size</a> (const DH *dh)</td></tr>
-<tr class="separator:ga9e1fdd62e3bfe4b671dbfc363f0e6297"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7a03e7589a8473ed34cf2a4177709c0e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga7a03e7589a8473ed34cf2a4177709c0e">DH_set_ex_data</a> (DH *dh, int idx, void *data)</td></tr>
-<tr class="separator:ga7a03e7589a8473ed34cf2a4177709c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga25fff6e977829c49410f046b8cc3471d"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga25fff6e977829c49410f046b8cc3471d">DH_get_ex_data</a> (DH *dh, int idx)</td></tr>
-<tr class="separator:ga25fff6e977829c49410f046b8cc3471d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga11ef051e93bc408f3e7ba77d44c5d3cb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga11ef051e93bc408f3e7ba77d44c5d3cb">DH_generate_parameters_ex</a> (DH *dh, int prime_len, int generator, BN_GENCB *cb)</td></tr>
-<tr class="separator:ga11ef051e93bc408f3e7ba77d44c5d3cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8995ef180ab448fdedde5da65f6ea249"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga8995ef180ab448fdedde5da65f6ea249">DH_check_pubkey</a> (const DH *dh, const BIGNUM *pub_key, int *codes)</td></tr>
-<tr class="separator:ga8995ef180ab448fdedde5da65f6ea249"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab90ec6b9e64f62c05754731c0c13ea01"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gab90ec6b9e64f62c05754731c0c13ea01">DH_generate_key</a> (DH *dh)</td></tr>
-<tr class="separator:gab90ec6b9e64f62c05754731c0c13ea01"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf8b793df62108341ed3dc54a0ca75ca8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gaf8b793df62108341ed3dc54a0ca75ca8">DH_compute_key</a> (unsigned char *shared_key, const BIGNUM *peer_pub_key, DH *dh)</td></tr>
-<tr class="separator:gaf8b793df62108341ed3dc54a0ca75ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae8f6c9ec1c2e4904439227a952980fdd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gae8f6c9ec1c2e4904439227a952980fdd">DH_set_method</a> (DH *dh, const DH_METHOD *method)</td></tr>
-<tr class="separator:gae8f6c9ec1c2e4904439227a952980fdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1e3dc0dbc1ba678716d28654c0eded84"><td class="memItemLeft" align="right" valign="top">const DH_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga1e3dc0dbc1ba678716d28654c0eded84">DH_null_method</a> (void)</td></tr>
-<tr class="separator:ga1e3dc0dbc1ba678716d28654c0eded84"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6c63e1e8af5957d7f798439c854d06b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga6c63e1e8af5957d7f798439c854d06b6">DH_set_default_method</a> (const DH_METHOD *meth)</td></tr>
-<tr class="separator:ga6c63e1e8af5957d7f798439c854d06b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae2b07654d087940e36e7583887d8b070"><td class="memItemLeft" align="right" valign="top">const DH_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gae2b07654d087940e36e7583887d8b070">DH_get_default_method</a> (void)</td></tr>
-<tr class="separator:gae2b07654d087940e36e7583887d8b070"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_dh.html">DH - Diffie-Hellman key exchange</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga8995ef180ab448fdedde5da65f6ea249"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8995ef180ab448fdedde5da65f6ea249">&#9670;&nbsp;</a></span>DH_check_pubkey()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DH_check_pubkey </td>
- <td>(</td>
- <td class="paramtype">const DH *&#160;</td>
- <td class="paramname"><em>dh</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const BIGNUM *&#160;</td>
- <td class="paramname"><em>pub_key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int *&#160;</td>
- <td class="paramname"><em>codes</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Check that the public key is sane.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dh</td><td>the local peer DH parameters. </td></tr>
- <tr><td class="paramname">pub_key</td><td>the remote peer public key parameters. </td></tr>
- <tr><td class="paramname">codes</td><td>return that the failures of the pub_key are.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure and *codes is set the the combined fail check for the public key </dd></dl>
-<p>Checks that the function performs are:</p><ul>
-<li>pub_key is not negative</li>
-<li>pub_key &gt; 1 and pub_key &lt; p - 1, to avoid small subgroups attack.</li>
-<li>if g == 2, pub_key have more then one bit set, if bits set is 1, log_2(pub_key) is trival</li>
-</ul>
-
-</div>
-</div>
-<a id="gaf8b793df62108341ed3dc54a0ca75ca8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf8b793df62108341ed3dc54a0ca75ca8">&#9670;&nbsp;</a></span>DH_compute_key()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DH_compute_key </td>
- <td>(</td>
- <td class="paramtype">unsigned char *&#160;</td>
- <td class="paramname"><em>shared_key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const BIGNUM *&#160;</td>
- <td class="paramname"><em>peer_pub_key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">DH *&#160;</td>
- <td class="paramname"><em>dh</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Complute the shared secret key.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">shared_key</td><td>the resulting shared key, need to be at least <a class="el" href="group__hcrypto__dh.html#ga9e1fdd62e3bfe4b671dbfc363f0e6297">DH_size()</a> large. </td></tr>
- <tr><td class="paramname">peer_pub_key</td><td>the peer's public key. </td></tr>
- <tr><td class="paramname">dh</td><td>the dh key pair.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-<p>Checks that the pubkey passed in is valid using <a class="el" href="group__hcrypto__dh.html#ga8995ef180ab448fdedde5da65f6ea249">DH_check_pubkey()</a>.</p>
-
-</div>
-</div>
-<a id="ga1f15312ca21e290ee714e86578820c35"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1f15312ca21e290ee714e86578820c35">&#9670;&nbsp;</a></span>DH_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DH_free </td>
- <td>(</td>
- <td class="paramtype">DH *&#160;</td>
- <td class="paramname"><em>dh</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free a DH object and release related resources, like ENGINE, that the object was using.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dh</td><td>object to be freed. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gab90ec6b9e64f62c05754731c0c13ea01"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab90ec6b9e64f62c05754731c0c13ea01">&#9670;&nbsp;</a></span>DH_generate_key()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DH_generate_key </td>
- <td>(</td>
- <td class="paramtype">DH *&#160;</td>
- <td class="paramname"><em>dh</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Generate a new DH private-public key pair. The dh parameter must be allocted first with <a class="el" href="group__hcrypto__dh.html#ga76c6e12bd1f0b9977d80fee83b086031">DH_new()</a>. dh-&gt;p and dp-&gt;g must be set.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dh</td><td>dh parameter.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="ga11ef051e93bc408f3e7ba77d44c5d3cb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga11ef051e93bc408f3e7ba77d44c5d3cb">&#9670;&nbsp;</a></span>DH_generate_parameters_ex()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DH_generate_parameters_ex </td>
- <td>(</td>
- <td class="paramtype">DH *&#160;</td>
- <td class="paramname"><em>dh</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>prime_len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>generator</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BN_GENCB *&#160;</td>
- <td class="paramname"><em>cb</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Generate DH parameters for the DH object give parameters.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dh</td><td>The DH object to generate parameters for. </td></tr>
- <tr><td class="paramname">prime_len</td><td>length of the prime </td></tr>
- <tr><td class="paramname">generator</td><td>generator, g </td></tr>
- <tr><td class="paramname">cb</td><td>Callback parameters to show progress, can be NULL.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the maximum size in bytes of the out data. </dd></dl>
-
-</div>
-</div>
-<a id="gae2b07654d087940e36e7583887d8b070"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae2b07654d087940e36e7583887d8b070">&#9670;&nbsp;</a></span>DH_get_default_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const DH_METHOD* DH_get_default_method </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the default DH implementation.</p>
-<dl class="section return"><dt>Returns</dt><dd>pointer to a DH_METHOD. </dd></dl>
-
-</div>
-</div>
-<a id="ga25fff6e977829c49410f046b8cc3471d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga25fff6e977829c49410f046b8cc3471d">&#9670;&nbsp;</a></span>DH_get_ex_data()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void* DH_get_ex_data </td>
- <td>(</td>
- <td class="paramtype">DH *&#160;</td>
- <td class="paramname"><em>dh</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>idx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the data for index idx in the DH object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dh</td><td>DH object. </td></tr>
- <tr><td class="paramname">idx</td><td>index to get the data for.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the object store in index idx </dd></dl>
-
-</div>
-</div>
-<a id="gabfe13af1fef654a94a9be268df6d8809"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gabfe13af1fef654a94a9be268df6d8809">&#9670;&nbsp;</a></span>DH_ltm_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const DH_METHOD* DH_ltm_method </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>DH implementation using libtommath.</p>
-<dl class="section return"><dt>Returns</dt><dd>the DH_METHOD for the DH implementation using libtommath. </dd></dl>
-
-</div>
-</div>
-<a id="ga76c6e12bd1f0b9977d80fee83b086031"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga76c6e12bd1f0b9977d80fee83b086031">&#9670;&nbsp;</a></span>DH_new()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">DH* DH_new </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Create a new DH object using DH_new_method(NULL), see <a class="el" href="group__hcrypto__dh.html#ga2e97e03aee56c6094bb7fd6322b3ce68">DH_new_method()</a>.</p>
-<dl class="section return"><dt>Returns</dt><dd>a newly allocated DH object. </dd></dl>
-
-</div>
-</div>
-<a id="ga2e97e03aee56c6094bb7fd6322b3ce68"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga2e97e03aee56c6094bb7fd6322b3ce68">&#9670;&nbsp;</a></span>DH_new_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">DH* DH_new_method </td>
- <td>(</td>
- <td class="paramtype">ENGINE *&#160;</td>
- <td class="paramname"><em>engine</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Create a new DH object from the given engine, if the NULL is used, the default engine is used. Free the DH object with <a class="el" href="group__hcrypto__dh.html#ga1f15312ca21e290ee714e86578820c35">DH_free()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">engine</td><td>The engine to use to allocate the DH object.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>a newly allocated DH object. </dd></dl>
-
-</div>
-</div>
-<a id="ga1e3dc0dbc1ba678716d28654c0eded84"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1e3dc0dbc1ba678716d28654c0eded84">&#9670;&nbsp;</a></span>DH_null_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const DH_METHOD* DH_null_method </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the dummy DH implementation.</p>
-<dl class="section return"><dt>Returns</dt><dd>pointer to a DH_METHOD. </dd></dl>
-
-</div>
-</div>
-<a id="ga6c63e1e8af5957d7f798439c854d06b6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6c63e1e8af5957d7f798439c854d06b6">&#9670;&nbsp;</a></span>DH_set_default_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void DH_set_default_method </td>
- <td>(</td>
- <td class="paramtype">const DH_METHOD *&#160;</td>
- <td class="paramname"><em>meth</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the default DH implementation.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">meth</td><td>pointer to a DH_METHOD. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga7a03e7589a8473ed34cf2a4177709c0e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga7a03e7589a8473ed34cf2a4177709c0e">&#9670;&nbsp;</a></span>DH_set_ex_data()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DH_set_ex_data </td>
- <td>(</td>
- <td class="paramtype">DH *&#160;</td>
- <td class="paramname"><em>dh</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>idx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>data</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the data index idx in the DH object to data.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dh</td><td>DH object. </td></tr>
- <tr><td class="paramname">idx</td><td>index to set the data for. </td></tr>
- <tr><td class="paramname">data</td><td>data to store for the index idx.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="gae8f6c9ec1c2e4904439227a952980fdd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae8f6c9ec1c2e4904439227a952980fdd">&#9670;&nbsp;</a></span>DH_set_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DH_set_method </td>
- <td>(</td>
- <td class="paramtype">DH *&#160;</td>
- <td class="paramname"><em>dh</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const DH_METHOD *&#160;</td>
- <td class="paramname"><em>method</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set a new method for the DH keypair.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dh</td><td>dh parameter. </td></tr>
- <tr><td class="paramname">method</td><td>the new method for the DH parameter.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="ga9e1fdd62e3bfe4b671dbfc363f0e6297"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga9e1fdd62e3bfe4b671dbfc363f0e6297">&#9670;&nbsp;</a></span>DH_size()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DH_size </td>
- <td>(</td>
- <td class="paramtype">const DH *&#160;</td>
- <td class="paramname"><em>dh</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The maximum output size of the <a class="el" href="group__hcrypto__dh.html#gaf8b793df62108341ed3dc54a0ca75ca8">DH_compute_key()</a> function.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dh</td><td>The DH object to get the size from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the maximum size in bytes of the out data. </dd></dl>
-
-</div>
-</div>
-<a id="gaf7c3e51cba326865c3684012c2337df1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf7c3e51cba326865c3684012c2337df1">&#9670;&nbsp;</a></span>DH_up_ref()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int DH_up_ref </td>
- <td>(</td>
- <td class="paramtype">DH *&#160;</td>
- <td class="paramname"><em>dh</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a reference to the DH object. The object should be free with <a class="el" href="group__hcrypto__dh.html#ga1f15312ca21e290ee714e86578820c35">DH_free()</a> to drop the reference.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dh</td><td>the object to increase the reference count too.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the updated reference count, can't safely be used except for debug printing. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__evp.html b/doc/doxyout/hcrypto/html/group__hcrypto__evp.html
deleted file mode 100644
index 70eb70092e99..000000000000
--- a/doc/doxyout/hcrypto/html/group__hcrypto__evp.html
+++ /dev/null
@@ -1,3103 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>EVP generic crypto functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">EVP generic crypto functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga769121c112a501748233bda8345cb47a"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga769121c112a501748233bda8345cb47a">EVP_wincrypt_des_ede3_cbc</a> (void)</td></tr>
-<tr class="separator:ga769121c112a501748233bda8345cb47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2decf06c0d9b08e364e9c4c8f4d3a7a3"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga2decf06c0d9b08e364e9c4c8f4d3a7a3">EVP_hcrypto_aes_128_cbc</a> (void)</td></tr>
-<tr class="separator:ga2decf06c0d9b08e364e9c4c8f4d3a7a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga16b21d9262c4af37121b0e85cc83b555"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga16b21d9262c4af37121b0e85cc83b555">EVP_hcrypto_aes_192_cbc</a> (void)</td></tr>
-<tr class="separator:ga16b21d9262c4af37121b0e85cc83b555"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga49b683aa07c039ad31d7e498c87ad95f"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga49b683aa07c039ad31d7e498c87ad95f">EVP_hcrypto_aes_256_cbc</a> (void)</td></tr>
-<tr class="separator:ga49b683aa07c039ad31d7e498c87ad95f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga44eb080ab987799883eae8e64970be6c"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga44eb080ab987799883eae8e64970be6c">EVP_hcrypto_aes_128_cfb8</a> (void)</td></tr>
-<tr class="separator:ga44eb080ab987799883eae8e64970be6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga532a6f5c56334ccf8615791bfaef041d"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga532a6f5c56334ccf8615791bfaef041d">EVP_hcrypto_aes_192_cfb8</a> (void)</td></tr>
-<tr class="separator:ga532a6f5c56334ccf8615791bfaef041d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4f7c34086cea5e4da92f56d543ec24bf"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4f7c34086cea5e4da92f56d543ec24bf">EVP_hcrypto_aes_256_cfb8</a> (void)</td></tr>
-<tr class="separator:ga4f7c34086cea5e4da92f56d543ec24bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga12b7608ec40d059f5539fd24277baae0"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga12b7608ec40d059f5539fd24277baae0">EVP_hcrypto_sha256</a> (void)</td></tr>
-<tr class="separator:ga12b7608ec40d059f5539fd24277baae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac002bcb2cc8ee9bb58b5924ab0bc3533"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac002bcb2cc8ee9bb58b5924ab0bc3533">EVP_hcrypto_sha384</a> (void)</td></tr>
-<tr class="separator:gac002bcb2cc8ee9bb58b5924ab0bc3533"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaef3c401b9d2e696f89f27335f4b261e2"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaef3c401b9d2e696f89f27335f4b261e2">EVP_hcrypto_sha512</a> (void)</td></tr>
-<tr class="separator:gaef3c401b9d2e696f89f27335f4b261e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5dc409fc540bad0751b96b3f74185477"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga5dc409fc540bad0751b96b3f74185477">EVP_hcrypto_sha1</a> (void)</td></tr>
-<tr class="separator:ga5dc409fc540bad0751b96b3f74185477"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3c7a8676a690817ec03d71568a7deb1b"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga3c7a8676a690817ec03d71568a7deb1b">EVP_hcrypto_md5</a> (void)</td></tr>
-<tr class="separator:ga3c7a8676a690817ec03d71568a7deb1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4456dfa7c2f23830fa32b99969720719"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4456dfa7c2f23830fa32b99969720719">EVP_hcrypto_md4</a> (void)</td></tr>
-<tr class="separator:ga4456dfa7c2f23830fa32b99969720719"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0cc4edf9d19ebf7198e33ac0c8138f04"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga0cc4edf9d19ebf7198e33ac0c8138f04">EVP_hcrypto_des_cbc</a> (void)</td></tr>
-<tr class="separator:ga0cc4edf9d19ebf7198e33ac0c8138f04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1c0e19f28dc594d929f089721e737237"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga1c0e19f28dc594d929f089721e737237">EVP_hcrypto_des_ede3_cbc</a> (void)</td></tr>
-<tr class="separator:ga1c0e19f28dc594d929f089721e737237"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac238450b802f4e0c78752ef1ba1198e9"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac238450b802f4e0c78752ef1ba1198e9">EVP_hcrypto_rc2_cbc</a> (void)</td></tr>
-<tr class="separator:gac238450b802f4e0c78752ef1ba1198e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga35d681a86e0ed71b505b53e5fc199ed5"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga35d681a86e0ed71b505b53e5fc199ed5">EVP_hcrypto_rc2_40_cbc</a> (void)</td></tr>
-<tr class="separator:ga35d681a86e0ed71b505b53e5fc199ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab7534f69db09cd76e4c36703a9340212"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab7534f69db09cd76e4c36703a9340212">EVP_hcrypto_rc2_64_cbc</a> (void)</td></tr>
-<tr class="separator:gab7534f69db09cd76e4c36703a9340212"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga68deec0ffc93c0dcd83db0478e72d5b8"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga68deec0ffc93c0dcd83db0478e72d5b8">EVP_hcrypto_camellia_128_cbc</a> (void)</td></tr>
-<tr class="separator:ga68deec0ffc93c0dcd83db0478e72d5b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafd6acecc697a1f9516909ca228cb54e5"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gafd6acecc697a1f9516909ca228cb54e5">EVP_hcrypto_camellia_192_cbc</a> (void)</td></tr>
-<tr class="separator:gafd6acecc697a1f9516909ca228cb54e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga211f7122bdeeb3551dcd02c37a7a11e6"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga211f7122bdeeb3551dcd02c37a7a11e6">EVP_hcrypto_camellia_256_cbc</a> (void)</td></tr>
-<tr class="separator:ga211f7122bdeeb3551dcd02c37a7a11e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga854def15f752a56d29b5f844c77a0f30"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga854def15f752a56d29b5f844c77a0f30">OSSL_CIPHER_ALGORITHM</a> (rc2_cbc, hc_EVP_CIPH_CBC_MODE|hc_EVP_CIPH_VARIABLE_LENGTH) OSSL_CIPHER_ALGORITHM(rc2_40_cbc</td></tr>
-<tr class="separator:ga854def15f752a56d29b5f844c77a0f30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga490caf6711e559d0f8dfb15ce7ea7d8e"><td class="memItemLeft" align="right" valign="top">hc_EVP_CIPH_CBC_MODE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga490caf6711e559d0f8dfb15ce7ea7d8e">OSSL_CIPHER_ALGORITHM</a> (rc2_64_cbc, hc_EVP_CIPH_CBC_MODE|hc_EVP_CIPH_VARIABLE_LENGTH) OSSL_CIPHER_ALGORITHM(rc4</td></tr>
-<tr class="separator:ga490caf6711e559d0f8dfb15ce7ea7d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0a9e352a3bdd21c0a1be38e0b3b44c01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga0a9e352a3bdd21c0a1be38e0b3b44c01">WINCNG_CIPHER_ALGORITHM</a> (des_ede3_cbc, BCRYPT_3DES_ALGORITHM, 8, 24, 8, EVP_CIPH_CBC_MODE)</td></tr>
-<tr class="separator:ga0a9e352a3bdd21c0a1be38e0b3b44c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa44c7356cbc89241ad94d600a26dd8f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaa44c7356cbc89241ad94d600a26dd8f5">WINCNG_CIPHER_ALGORITHM</a> (des_cbc, BCRYPT_DES_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)</td></tr>
-<tr class="separator:gaa44c7356cbc89241ad94d600a26dd8f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaabf5fbf59b7075976f9645953f247f58"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaabf5fbf59b7075976f9645953f247f58">WINCNG_CIPHER_ALGORITHM</a> (aes_128_cbc, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CBC_MODE)</td></tr>
-<tr class="separator:gaabf5fbf59b7075976f9645953f247f58"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga90b367607627a3d3b9ac4e1d5acc5205"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga90b367607627a3d3b9ac4e1d5acc5205">WINCNG_CIPHER_ALGORITHM</a> (aes_192_cbc, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CBC_MODE)</td></tr>
-<tr class="separator:ga90b367607627a3d3b9ac4e1d5acc5205"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacdc6624caef0007954fc4ac5ff5a8538"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gacdc6624caef0007954fc4ac5ff5a8538">WINCNG_CIPHER_ALGORITHM</a> (aes_256_cbc, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CBC_MODE)</td></tr>
-<tr class="separator:gacdc6624caef0007954fc4ac5ff5a8538"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae7d920e72e00826a41867fd712e5e563"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gae7d920e72e00826a41867fd712e5e563">WINCNG_CIPHER_ALGORITHM</a> (aes_128_cfb8, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CFB8_MODE)</td></tr>
-<tr class="separator:gae7d920e72e00826a41867fd712e5e563"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa2fc6a9c028c11198a99e8872e4e1b3a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaa2fc6a9c028c11198a99e8872e4e1b3a">WINCNG_CIPHER_ALGORITHM</a> (aes_192_cfb8, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CFB8_MODE)</td></tr>
-<tr class="separator:gaa2fc6a9c028c11198a99e8872e4e1b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga315f18327e597a13d06906f6ed74c004"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga315f18327e597a13d06906f6ed74c004">WINCNG_CIPHER_ALGORITHM</a> (aes_256_cfb8, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CFB8_MODE)</td></tr>
-<tr class="separator:ga315f18327e597a13d06906f6ed74c004"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga383cea2ae048ef0bf4af54c6f7848e9e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga383cea2ae048ef0bf4af54c6f7848e9e">WINCNG_CIPHER_ALGORITHM</a> (rc2_cbc, BCRYPT_RC2_ALGORITHM, 8, 16, 8, EVP_CIPH_CBC_MODE)</td></tr>
-<tr class="separator:ga383cea2ae048ef0bf4af54c6f7848e9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa7fb936c2d2447502a579b96beb3f59d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaa7fb936c2d2447502a579b96beb3f59d">WINCNG_CIPHER_ALGORITHM</a> (rc2_40_cbc, BCRYPT_RC2_ALGORITHM, 8, 5, 8, EVP_CIPH_CBC_MODE)</td></tr>
-<tr class="separator:gaa7fb936c2d2447502a579b96beb3f59d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad9839bba1e425e5cdb7c3e6e31ad1e01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gad9839bba1e425e5cdb7c3e6e31ad1e01">WINCNG_CIPHER_ALGORITHM</a> (rc2_64_cbc, BCRYPT_RC2_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)</td></tr>
-<tr class="separator:gad9839bba1e425e5cdb7c3e6e31ad1e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab6ac7f283eef0600c6b9612e088964a3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab6ac7f283eef0600c6b9612e088964a3">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE</a> (camellia_128_cbc)</td></tr>
-<tr class="separator:gab6ac7f283eef0600c6b9612e088964a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad9ace3cd5826a301a8f4aa6ab6548a00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gad9ace3cd5826a301a8f4aa6ab6548a00">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE</a> (camellia_192_cbc)</td></tr>
-<tr class="separator:gad9ace3cd5826a301a8f4aa6ab6548a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga41b2fefa9724adf79ff11ae2f34e70d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga41b2fefa9724adf79ff11ae2f34e70d0">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE</a> (camellia_256_cbc)</td></tr>
-<tr class="separator:ga41b2fefa9724adf79ff11ae2f34e70d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga802e58579b60e09c8d4c824ead9d79ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga802e58579b60e09c8d4c824ead9d79ba">WINCNG_CIPHER_ALGORITHM</a> (rc4, BCRYPT_RC4_ALGORITHM, 1, 16, 0, EVP_CIPH_STREAM_CIPHER|EVP_CIPH_VARIABLE_LENGTH)</td></tr>
-<tr class="separator:ga802e58579b60e09c8d4c824ead9d79ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab2be6c68f3308454d74343d5f700ad92"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab2be6c68f3308454d74343d5f700ad92">WINCNG_CIPHER_ALGORITHM</a> (rc4_40, BCRYPT_RC4_ALGORITHM, 1, 5, 0, EVP_CIPH_STREAM_CIPHER|EVP_CIPH_VARIABLE_LENGTH)</td></tr>
-<tr class="separator:gab2be6c68f3308454d74343d5f700ad92"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabea28e9ccb98329a7a76c95e8699221c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gabea28e9ccb98329a7a76c95e8699221c">EVP_MD_size</a> (const EVP_MD *md)</td></tr>
-<tr class="separator:gabea28e9ccb98329a7a76c95e8699221c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga48ccb698903828660dc1722d31311420"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga48ccb698903828660dc1722d31311420">EVP_MD_block_size</a> (const EVP_MD *md)</td></tr>
-<tr class="separator:ga48ccb698903828660dc1722d31311420"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga54bfa0296db2c131ef69e3a18c445357"><td class="memItemLeft" align="right" valign="top">EVP_MD_CTX *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create</a> (void)</td></tr>
-<tr class="separator:ga54bfa0296db2c131ef69e3a18c445357"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3fd216754cf705b7d4980744b1508410"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga3fd216754cf705b7d4980744b1508410">EVP_MD_CTX_init</a> (EVP_MD_CTX *ctx) HC_DEPRECATED</td></tr>
-<tr class="separator:ga3fd216754cf705b7d4980744b1508410"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae105ea6e5626f521fbe8cad0a85cbe46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gae105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy</a> (EVP_MD_CTX *ctx)</td></tr>
-<tr class="separator:gae105ea6e5626f521fbe8cad0a85cbe46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga34dea52c788c741fdb4f8fb051be3308"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga34dea52c788c741fdb4f8fb051be3308">EVP_MD_CTX_cleanup</a> (EVP_MD_CTX *ctx) HC_DEPRECATED</td></tr>
-<tr class="separator:ga34dea52c788c741fdb4f8fb051be3308"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaed3480025ecf31d0afcb62174d6acc24"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaed3480025ecf31d0afcb62174d6acc24">EVP_MD_CTX_md</a> (EVP_MD_CTX *ctx)</td></tr>
-<tr class="separator:gaed3480025ecf31d0afcb62174d6acc24"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga25a51444f0586be1494f78e4e17e65f8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga25a51444f0586be1494f78e4e17e65f8">EVP_MD_CTX_size</a> (EVP_MD_CTX *ctx)</td></tr>
-<tr class="separator:ga25a51444f0586be1494f78e4e17e65f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab35a28f548e64c74dbfd7198c04dad5d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab35a28f548e64c74dbfd7198c04dad5d">EVP_MD_CTX_block_size</a> (EVP_MD_CTX *ctx)</td></tr>
-<tr class="separator:gab35a28f548e64c74dbfd7198c04dad5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab6b800ba80b850cba223723b28fc9a44"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab6b800ba80b850cba223723b28fc9a44">EVP_DigestInit_ex</a> (EVP_MD_CTX *ctx, const EVP_MD *md, ENGINE *engine)</td></tr>
-<tr class="separator:gab6b800ba80b850cba223723b28fc9a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga12039fea1f371ef39a489d450f564338"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga12039fea1f371ef39a489d450f564338">EVP_DigestUpdate</a> (EVP_MD_CTX *ctx, const void *data, size_t size)</td></tr>
-<tr class="separator:ga12039fea1f371ef39a489d450f564338"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5103bec19556f264e1f442c6ffc3bddc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga5103bec19556f264e1f442c6ffc3bddc">EVP_DigestFinal_ex</a> (EVP_MD_CTX *ctx, void *hash, unsigned int *size)</td></tr>
-<tr class="separator:ga5103bec19556f264e1f442c6ffc3bddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab785fa9dd0a45be223a0d576af062c4b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab785fa9dd0a45be223a0d576af062c4b">EVP_Digest</a> (const void *data, size_t dsize, void *hash, unsigned int *hsize, const EVP_MD *md, ENGINE *engine)</td></tr>
-<tr class="separator:gab785fa9dd0a45be223a0d576af062c4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe55e56742a9b9ecffdaef7e95a6707a"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gafe55e56742a9b9ecffdaef7e95a6707a">EVP_sha256</a> (void)</td></tr>
-<tr class="separator:gafe55e56742a9b9ecffdaef7e95a6707a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga031405a10c84711b9a9699fadc8dbf2a"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga031405a10c84711b9a9699fadc8dbf2a">EVP_sha384</a> (void)</td></tr>
-<tr class="separator:ga031405a10c84711b9a9699fadc8dbf2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaceda0d5da59b56159d2e3515039a46ce"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaceda0d5da59b56159d2e3515039a46ce">EVP_sha512</a> (void)</td></tr>
-<tr class="separator:gaceda0d5da59b56159d2e3515039a46ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa090d659a494a10525e38d272efb01ae"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaa090d659a494a10525e38d272efb01ae">EVP_sha1</a> (void)</td></tr>
-<tr class="separator:gaa090d659a494a10525e38d272efb01ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaee62cb107a208bd6984dd767f9feb8c0"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaee62cb107a208bd6984dd767f9feb8c0">EVP_sha</a> (void)</td></tr>
-<tr class="separator:gaee62cb107a208bd6984dd767f9feb8c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3ccaad2c97f5cf27adb461b1b50aeabb"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga3ccaad2c97f5cf27adb461b1b50aeabb">EVP_md5</a> (void)</td></tr>
-<tr class="separator:ga3ccaad2c97f5cf27adb461b1b50aeabb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad232ca5dcef4ec58b182cb967f519999"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gad232ca5dcef4ec58b182cb967f519999">EVP_md4</a> (void)</td></tr>
-<tr class="separator:gad232ca5dcef4ec58b182cb967f519999"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5183830cf039ea4d9a2c1bd3c539e9af"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga5183830cf039ea4d9a2c1bd3c539e9af">EVP_md_null</a> (void)</td></tr>
-<tr class="separator:ga5183830cf039ea4d9a2c1bd3c539e9af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3123ff4b426783dd972538249b9e9d4d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size</a> (const EVP_CIPHER *c)</td></tr>
-<tr class="separator:ga3123ff4b426783dd972538249b9e9d4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4793a9e130da86ac42c497b19395b748"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length</a> (const EVP_CIPHER *c)</td></tr>
-<tr class="separator:ga4793a9e130da86ac42c497b19395b748"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7edebe76d19dee11686a6698d24f19f5"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga7edebe76d19dee11686a6698d24f19f5">EVP_CIPHER_iv_length</a> (const EVP_CIPHER *c)</td></tr>
-<tr class="separator:ga7edebe76d19dee11686a6698d24f19f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga13d0ff0e87312566cb6b3591157f9754"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga13d0ff0e87312566cb6b3591157f9754">EVP_CIPHER_CTX_init</a> (EVP_CIPHER_CTX *c)</td></tr>
-<tr class="separator:ga13d0ff0e87312566cb6b3591157f9754"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac16dd3987cd90c8bcdbad5290c558359"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a> (EVP_CIPHER_CTX *c)</td></tr>
-<tr class="separator:gac16dd3987cd90c8bcdbad5290c558359"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac4d29d4bc3473f2499cfa83f0201386c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac4d29d4bc3473f2499cfa83f0201386c">EVP_CIPHER_CTX_set_key_length</a> (EVP_CIPHER_CTX *c, int length)</td></tr>
-<tr class="separator:gac4d29d4bc3473f2499cfa83f0201386c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4018621241b76f106903263614967aff"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4018621241b76f106903263614967aff">EVP_CIPHER_CTX_cipher</a> (EVP_CIPHER_CTX *ctx)</td></tr>
-<tr class="separator:ga4018621241b76f106903263614967aff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9eaa8ae82fd5550771c4dfed92d82d5b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga9eaa8ae82fd5550771c4dfed92d82d5b">EVP_CIPHER_CTX_block_size</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-<tr class="separator:ga9eaa8ae82fd5550771c4dfed92d82d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad9a4a54b9b5d0b6035c7522ca461a9db"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gad9a4a54b9b5d0b6035c7522ca461a9db">EVP_CIPHER_CTX_key_length</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-<tr class="separator:gad9a4a54b9b5d0b6035c7522ca461a9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae160dd334fea8b844a4ef8a2ed5fbb0b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gae160dd334fea8b844a4ef8a2ed5fbb0b">EVP_CIPHER_CTX_iv_length</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-<tr class="separator:gae160dd334fea8b844a4ef8a2ed5fbb0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6f8b7130068dbc4f03fb2cf65cee02bf"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga6f8b7130068dbc4f03fb2cf65cee02bf">EVP_CIPHER_CTX_flags</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-<tr class="separator:ga6f8b7130068dbc4f03fb2cf65cee02bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac8013ca93e9b1ed25df3f535eb633f1a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac8013ca93e9b1ed25df3f535eb633f1a">EVP_CIPHER_CTX_mode</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-<tr class="separator:gac8013ca93e9b1ed25df3f535eb633f1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0f78fd8ac0fa0765245e373d42fc90e3"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga0f78fd8ac0fa0765245e373d42fc90e3">EVP_CIPHER_CTX_get_app_data</a> (EVP_CIPHER_CTX *ctx)</td></tr>
-<tr class="separator:ga0f78fd8ac0fa0765245e373d42fc90e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4fa322f7c3fe5fc570b8343d4d64fc52"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4fa322f7c3fe5fc570b8343d4d64fc52">EVP_CIPHER_CTX_set_app_data</a> (EVP_CIPHER_CTX *ctx, void *data)</td></tr>
-<tr class="separator:ga4fa322f7c3fe5fc570b8343d4d64fc52"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga98da5a5c1aa25d9cb2e4717fa11314bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex</a> (EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE *engine, const void *key, const void *iv, int encp)</td></tr>
-<tr class="separator:ga98da5a5c1aa25d9cb2e4717fa11314bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga863349e1001b36cfd6c4afedddd12862"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate</a> (EVP_CIPHER_CTX *ctx, void *out, int *outlen, void *in, size_t inlen)</td></tr>
-<tr class="separator:ga863349e1001b36cfd6c4afedddd12862"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga714eef7d737fd68171d852043a4995de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex</a> (EVP_CIPHER_CTX *ctx, void *out, int *outlen)</td></tr>
-<tr class="separator:ga714eef7d737fd68171d852043a4995de"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga70a05495ee115c6eb26d958a5ac75c8b"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga70a05495ee115c6eb26d958a5ac75c8b">EVP_enc_null</a> (void)</td></tr>
-<tr class="separator:ga70a05495ee115c6eb26d958a5ac75c8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac7d0f7590921dde70bebeebadd2fec36"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac7d0f7590921dde70bebeebadd2fec36">EVP_rc2_cbc</a> (void)</td></tr>
-<tr class="separator:gac7d0f7590921dde70bebeebadd2fec36"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga104bcd969bcc30dc3e7e77d63a38a87e"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga104bcd969bcc30dc3e7e77d63a38a87e">EVP_rc2_40_cbc</a> (void)</td></tr>
-<tr class="separator:ga104bcd969bcc30dc3e7e77d63a38a87e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga09cd194a211931839f1e7bb8e578099e"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga09cd194a211931839f1e7bb8e578099e">EVP_rc2_64_cbc</a> (void)</td></tr>
-<tr class="separator:ga09cd194a211931839f1e7bb8e578099e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9cb683240f384ddbd0f3279960af93ba"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga9cb683240f384ddbd0f3279960af93ba">EVP_rc4</a> (void)</td></tr>
-<tr class="separator:ga9cb683240f384ddbd0f3279960af93ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae5cbdfcb5012a07fec8df1d6b9c5d772"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gae5cbdfcb5012a07fec8df1d6b9c5d772">EVP_rc4_40</a> (void)</td></tr>
-<tr class="separator:gae5cbdfcb5012a07fec8df1d6b9c5d772"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8ba85e78fac7521ad71cb29ef62beab9"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga8ba85e78fac7521ad71cb29ef62beab9">EVP_des_cbc</a> (void)</td></tr>
-<tr class="separator:ga8ba85e78fac7521ad71cb29ef62beab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga191c1d946437661ee23de2ad9b3383e3"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga191c1d946437661ee23de2ad9b3383e3">EVP_des_ede3_cbc</a> (void)</td></tr>
-<tr class="separator:ga191c1d946437661ee23de2ad9b3383e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2747bac943db15c97167ac37fdc2af43"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga2747bac943db15c97167ac37fdc2af43">EVP_aes_128_cbc</a> (void)</td></tr>
-<tr class="separator:ga2747bac943db15c97167ac37fdc2af43"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga06625e6b350dcb0d99e05bde8d813867"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga06625e6b350dcb0d99e05bde8d813867">EVP_aes_192_cbc</a> (void)</td></tr>
-<tr class="separator:ga06625e6b350dcb0d99e05bde8d813867"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga597a638984cfe169f5b794a01076d289"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga597a638984cfe169f5b794a01076d289">EVP_aes_256_cbc</a> (void)</td></tr>
-<tr class="separator:ga597a638984cfe169f5b794a01076d289"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga95457efd23f815aaa9d54a39f71bd4f6"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga95457efd23f815aaa9d54a39f71bd4f6">EVP_aes_128_cfb8</a> (void)</td></tr>
-<tr class="separator:ga95457efd23f815aaa9d54a39f71bd4f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6c566f0f7831881bd835db251372790b"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga6c566f0f7831881bd835db251372790b">EVP_aes_192_cfb8</a> (void)</td></tr>
-<tr class="separator:ga6c566f0f7831881bd835db251372790b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4bf9f0274a43b3964f1c880900c80ded"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4bf9f0274a43b3964f1c880900c80ded">EVP_aes_256_cfb8</a> (void)</td></tr>
-<tr class="separator:ga4bf9f0274a43b3964f1c880900c80ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga204d1d59a0ec740ed29ec0ebcc2d9c97"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga204d1d59a0ec740ed29ec0ebcc2d9c97">EVP_camellia_128_cbc</a> (void)</td></tr>
-<tr class="separator:ga204d1d59a0ec740ed29ec0ebcc2d9c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga40e2b8cba4baa4ec4aa467bbd1defeb7"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga40e2b8cba4baa4ec4aa467bbd1defeb7">EVP_camellia_192_cbc</a> (void)</td></tr>
-<tr class="separator:ga40e2b8cba4baa4ec4aa467bbd1defeb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6de35c364f330f1decfb3444c4c6fa3c"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga6de35c364f330f1decfb3444c4c6fa3c">EVP_camellia_256_cbc</a> (void)</td></tr>
-<tr class="separator:ga6de35c364f330f1decfb3444c4c6fa3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaead9b446ac5ebd90dc7be0dbe6aba2b0"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaead9b446ac5ebd90dc7be0dbe6aba2b0">EVP_get_cipherbyname</a> (const char *name)</td></tr>
-<tr class="separator:gaead9b446ac5ebd90dc7be0dbe6aba2b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga25d3fb64e10e2c494858de14fc5d79b3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga25d3fb64e10e2c494858de14fc5d79b3">EVP_BytesToKey</a> (const EVP_CIPHER *type, const EVP_MD *md, const void *salt, const void *data, size_t datalen, unsigned int count, void *keydata, void *ivdata)</td></tr>
-<tr class="separator:ga25d3fb64e10e2c494858de14fc5d79b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_evp.html">EVP - generic crypto interface</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga2747bac943db15c97167ac37fdc2af43"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga2747bac943db15c97167ac37fdc2af43">&#9670;&nbsp;</a></span>EVP_aes_128_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_128_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-128 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a0">example_evp_cipher.c</a>.</dd>
-</dl>
-
-</div>
-</div>
-<a id="ga95457efd23f815aaa9d54a39f71bd4f6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga95457efd23f815aaa9d54a39f71bd4f6">&#9670;&nbsp;</a></span>EVP_aes_128_cfb8()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_128_cfb8 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-128 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga06625e6b350dcb0d99e05bde8d813867"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga06625e6b350dcb0d99e05bde8d813867">&#9670;&nbsp;</a></span>EVP_aes_192_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_192_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-192 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga6c566f0f7831881bd835db251372790b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6c566f0f7831881bd835db251372790b">&#9670;&nbsp;</a></span>EVP_aes_192_cfb8()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_192_cfb8 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-192 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga597a638984cfe169f5b794a01076d289"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga597a638984cfe169f5b794a01076d289">&#9670;&nbsp;</a></span>EVP_aes_256_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_256_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-256 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga4bf9f0274a43b3964f1c880900c80ded"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4bf9f0274a43b3964f1c880900c80ded">&#9670;&nbsp;</a></span>EVP_aes_256_cfb8()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_256_cfb8 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-256 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga25d3fb64e10e2c494858de14fc5d79b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga25d3fb64e10e2c494858de14fc5d79b3">&#9670;&nbsp;</a></span>EVP_BytesToKey()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_BytesToKey </td>
- <td>(</td>
- <td class="paramtype">const EVP_CIPHER *&#160;</td>
- <td class="paramname"><em>type</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const EVP_MD *&#160;</td>
- <td class="paramname"><em>md</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>salt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>datalen</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int&#160;</td>
- <td class="paramname"><em>count</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>keydata</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>ivdata</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Provides a legancy string to key function, used in PEM files.</p>
-<p>New protocols should use new string to key functions like NIST SP56-800A or PKCS#5 v2.0 (see <a class="el" href="group__hcrypto__misc.html#gaece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1()</a>).</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">type</td><td>type of cipher to use </td></tr>
- <tr><td class="paramname">md</td><td>message digest to use </td></tr>
- <tr><td class="paramname">salt</td><td>salt salt string, should be an binary 8 byte buffer. </td></tr>
- <tr><td class="paramname">data</td><td>the password/input key string. </td></tr>
- <tr><td class="paramname">datalen</td><td>length of data parameter. </td></tr>
- <tr><td class="paramname">count</td><td>iteration counter. </td></tr>
- <tr><td class="paramname">keydata</td><td>output keydata, needs to of the size <a class="el" href="group__hcrypto__evp.html#ga4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length()</a>. </td></tr>
- <tr><td class="paramname">ivdata</td><td>output ivdata, needs to of the size <a class="el" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the size of derived key. </dd></dl>
-
-</div>
-</div>
-<a id="ga204d1d59a0ec740ed29ec0ebcc2d9c97"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga204d1d59a0ec740ed29ec0ebcc2d9c97">&#9670;&nbsp;</a></span>EVP_camellia_128_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_camellia_128_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The Camellia-128 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga40e2b8cba4baa4ec4aa467bbd1defeb7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga40e2b8cba4baa4ec4aa467bbd1defeb7">&#9670;&nbsp;</a></span>EVP_camellia_192_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_camellia_192_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The Camellia-198 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga6de35c364f330f1decfb3444c4c6fa3c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6de35c364f330f1decfb3444c4c6fa3c">&#9670;&nbsp;</a></span>EVP_camellia_256_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_camellia_256_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The Camellia-256 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga3123ff4b426783dd972538249b9e9d4d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3123ff4b426783dd972538249b9e9d4d">&#9670;&nbsp;</a></span>EVP_CIPHER_block_size()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_CIPHER_block_size </td>
- <td>(</td>
- <td class="paramtype">const EVP_CIPHER *&#160;</td>
- <td class="paramname"><em>c</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the block size of the cipher.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">c</td><td>cipher to get the block size from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the block size of the cipher. </dd></dl>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a3">example_evp_cipher.c</a>.</dd>
-</dl>
-
-</div>
-</div>
-<a id="ga9eaa8ae82fd5550771c4dfed92d82d5b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga9eaa8ae82fd5550771c4dfed92d82d5b">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_block_size()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_CIPHER_CTX_block_size </td>
- <td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the block size of the cipher context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>cipher context to get the block size from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the block size of the cipher context. </dd></dl>
-
-</div>
-</div>
-<a id="ga4018621241b76f106903263614967aff"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4018621241b76f106903263614967aff">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_cipher()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_CIPHER_CTX_cipher </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the EVP_CIPHER for a EVP_CIPHER_CTX context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the context to get the cipher type from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gac16dd3987cd90c8bcdbad5290c558359"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac16dd3987cd90c8bcdbad5290c558359">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_cleanup()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_CIPHER_CTX_cleanup </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>c</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Clean up the EVP_CIPHER_CTX context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">c</td><td>the cipher to clean up.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a7">example_evp_cipher.c</a>.</dd>
-</dl>
-
-</div>
-</div>
-<a id="ga6f8b7130068dbc4f03fb2cf65cee02bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6f8b7130068dbc4f03fb2cf65cee02bf">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_flags()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">unsigned long EVP_CIPHER_CTX_flags </td>
- <td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the flags for an EVP_CIPHER_CTX context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the EVP_CIPHER_CTX to get the flags from</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the flags for an EVP_CIPHER_CTX. </dd></dl>
-
-</div>
-</div>
-<a id="ga0f78fd8ac0fa0765245e373d42fc90e3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga0f78fd8ac0fa0765245e373d42fc90e3">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_get_app_data()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void* EVP_CIPHER_CTX_get_app_data </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the app data for an EVP_CIPHER_CTX context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the EVP_CIPHER_CTX to get the app data from</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the app data for an EVP_CIPHER_CTX. </dd></dl>
-
-</div>
-</div>
-<a id="ga13d0ff0e87312566cb6b3591157f9754"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga13d0ff0e87312566cb6b3591157f9754">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_init()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void EVP_CIPHER_CTX_init </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>c</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Initiate a EVP_CIPHER_CTX context. Clean up with <a class="el" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">c</td><td>the cipher initiate. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a4">example_evp_cipher.c</a>.</dd>
-</dl>
-
-</div>
-</div>
-<a id="gae160dd334fea8b844a4ef8a2ed5fbb0b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae160dd334fea8b844a4ef8a2ed5fbb0b">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_iv_length()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_CIPHER_CTX_iv_length </td>
- <td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the IV size of the cipher context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>cipher context to get the IV size from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the IV size of the cipher context. </dd></dl>
-
-</div>
-</div>
-<a id="gad9a4a54b9b5d0b6035c7522ca461a9db"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad9a4a54b9b5d0b6035c7522ca461a9db">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_key_length()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_CIPHER_CTX_key_length </td>
- <td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the key size of the cipher context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>cipher context to get the key size from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the key size of the cipher context. </dd></dl>
-
-</div>
-</div>
-<a id="gac8013ca93e9b1ed25df3f535eb633f1a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac8013ca93e9b1ed25df3f535eb633f1a">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_mode()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_CIPHER_CTX_mode </td>
- <td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the mode for an EVP_CIPHER_CTX context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the EVP_CIPHER_CTX to get the mode from</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the mode for an EVP_CIPHER_CTX. </dd></dl>
-
-</div>
-</div>
-<a id="ga4fa322f7c3fe5fc570b8343d4d64fc52"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4fa322f7c3fe5fc570b8343d4d64fc52">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_set_app_data()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void EVP_CIPHER_CTX_set_app_data </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>data</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the app data for an EVP_CIPHER_CTX context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the EVP_CIPHER_CTX to set the app data for </td></tr>
- <tr><td class="paramname">data</td><td>the app data to set for an EVP_CIPHER_CTX. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gac4d29d4bc3473f2499cfa83f0201386c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac4d29d4bc3473f2499cfa83f0201386c">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_set_key_length()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_CIPHER_CTX_set_key_length </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>c</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>length</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>If the cipher type supports it, change the key length</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">c</td><td>the cipher context to change the key length for </td></tr>
- <tr><td class="paramname">length</td><td>new key length</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="ga7edebe76d19dee11686a6698d24f19f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga7edebe76d19dee11686a6698d24f19f5">&#9670;&nbsp;</a></span>EVP_CIPHER_iv_length()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_CIPHER_iv_length </td>
- <td>(</td>
- <td class="paramtype">const EVP_CIPHER *&#160;</td>
- <td class="paramname"><em>c</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the IV size of the cipher.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">c</td><td>cipher to get the IV size from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the IV size of the cipher. </dd></dl>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a2">example_evp_cipher.c</a>.</dd>
-</dl>
-
-</div>
-</div>
-<a id="ga4793a9e130da86ac42c497b19395b748"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4793a9e130da86ac42c497b19395b748">&#9670;&nbsp;</a></span>EVP_CIPHER_key_length()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_CIPHER_key_length </td>
- <td>(</td>
- <td class="paramtype">const EVP_CIPHER *&#160;</td>
- <td class="paramname"><em>c</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the key size of the cipher.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">c</td><td>cipher to get the key size from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the key size of the cipher. </dd></dl>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a1">example_evp_cipher.c</a>.</dd>
-</dl>
-
-</div>
-</div>
-<a id="ga714eef7d737fd68171d852043a4995de"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga714eef7d737fd68171d852043a4995de">&#9670;&nbsp;</a></span>EVP_CipherFinal_ex()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_CipherFinal_ex </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int *&#160;</td>
- <td class="paramname"><em>outlen</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encipher/decipher final data</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the cipher context. </td></tr>
- <tr><td class="paramname">out</td><td>output data from the operation. </td></tr>
- <tr><td class="paramname">outlen</td><td>output length</td></tr>
- </table>
- </dd>
-</dl>
-<p>The input length needs to be at least <a class="el" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a> bytes long.</p>
-<p>See <a class="el" href="page_evp.html#evp_cipher">EVP Cipher</a> for an example how to use this function.</p>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a8">example_evp_cipher.c</a>.</dd>
-</dl>
-
-</div>
-</div>
-<a id="ga98da5a5c1aa25d9cb2e4717fa11314bd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga98da5a5c1aa25d9cb2e4717fa11314bd">&#9670;&nbsp;</a></span>EVP_CipherInit_ex()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_CipherInit_ex </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const EVP_CIPHER *&#160;</td>
- <td class="paramname"><em>c</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">ENGINE *&#160;</td>
- <td class="paramname"><em>engine</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>iv</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>encp</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Initiate the EVP_CIPHER_CTX context to encrypt or decrypt data. Clean up with <a class="el" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>context to initiate </td></tr>
- <tr><td class="paramname">c</td><td>cipher to use. </td></tr>
- <tr><td class="paramname">engine</td><td>crypto engine to use, NULL to select default. </td></tr>
- <tr><td class="paramname">key</td><td>the crypto key to use, NULL will use the previous value. </td></tr>
- <tr><td class="paramname">iv</td><td>the IV to use, NULL will use the previous value. </td></tr>
- <tr><td class="paramname">encp</td><td>non zero will encrypt, -1 use the previous value.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a5">example_evp_cipher.c</a>.</dd>
-</dl>
-
-</div>
-</div>
-<a id="ga863349e1001b36cfd6c4afedddd12862"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga863349e1001b36cfd6c4afedddd12862">&#9670;&nbsp;</a></span>EVP_CipherUpdate()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_CipherUpdate </td>
- <td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int *&#160;</td>
- <td class="paramname"><em>outlen</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>inlen</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encipher/decipher partial data</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the cipher context. </td></tr>
- <tr><td class="paramname">out</td><td>output data from the operation. </td></tr>
- <tr><td class="paramname">outlen</td><td>output length </td></tr>
- <tr><td class="paramname">in</td><td>input data to the operation. </td></tr>
- <tr><td class="paramname">inlen</td><td>length of data.</td></tr>
- </table>
- </dd>
-</dl>
-<p>The output buffer length should at least be <a class="el" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a> byte longer then the input length.</p>
-<p>See <a class="el" href="page_evp.html#evp_cipher">EVP Cipher</a> for an example how to use this function.</p>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-<p>If there in no spare bytes in the left from last Update and the input length is on the block boundery, the <a class="el" href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate()</a> function can take a shortcut (and preformance gain) and directly encrypt the data, otherwise we hav to fix it up and store extra it the EVP_CIPHER_CTX.</p>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a6">example_evp_cipher.c</a>.</dd>
-</dl>
-
-</div>
-</div>
-<a id="ga8ba85e78fac7521ad71cb29ef62beab9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8ba85e78fac7521ad71cb29ef62beab9">&#9670;&nbsp;</a></span>EVP_des_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_des_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The DES cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga191c1d946437661ee23de2ad9b3383e3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga191c1d946437661ee23de2ad9b3383e3">&#9670;&nbsp;</a></span>EVP_des_ede3_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_des_ede3_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The triple DES cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gab785fa9dd0a45be223a0d576af062c4b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab785fa9dd0a45be223a0d576af062c4b">&#9670;&nbsp;</a></span>EVP_Digest()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_Digest </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>dsize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>hash</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int *&#160;</td>
- <td class="paramname"><em>hsize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const EVP_MD *&#160;</td>
- <td class="paramname"><em>md</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">ENGINE *&#160;</td>
- <td class="paramname"><em>engine</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Do the whole <a class="el" href="group__hcrypto__evp.html#ga54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create()</a>, <a class="el" href="group__hcrypto__evp.html#gab6b800ba80b850cba223723b28fc9a44">EVP_DigestInit_ex()</a>, <a class="el" href="group__hcrypto__evp.html#ga12039fea1f371ef39a489d450f564338">EVP_DigestUpdate()</a>, <a class="el" href="group__hcrypto__evp.html#ga5103bec19556f264e1f442c6ffc3bddc">EVP_DigestFinal_ex()</a>, <a class="el" href="group__hcrypto__evp.html#gae105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy()</a> dance in one call.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">data</td><td>the data to update the context with </td></tr>
- <tr><td class="paramname">dsize</td><td>length of data </td></tr>
- <tr><td class="paramname">hash</td><td>output data of at least <a class="el" href="group__hcrypto__evp.html#gabea28e9ccb98329a7a76c95e8699221c">EVP_MD_size()</a> length. </td></tr>
- <tr><td class="paramname">hsize</td><td>output length of hash. </td></tr>
- <tr><td class="paramname">md</td><td>message digest to use </td></tr>
- <tr><td class="paramname">engine</td><td>engine to use, NULL for default engine.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="ga5103bec19556f264e1f442c6ffc3bddc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5103bec19556f264e1f442c6ffc3bddc">&#9670;&nbsp;</a></span>EVP_DigestFinal_ex()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_DigestFinal_ex </td>
- <td>(</td>
- <td class="paramtype">EVP_MD_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>hash</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int *&#160;</td>
- <td class="paramname"><em>size</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Complete the message digest.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the context to complete. </td></tr>
- <tr><td class="paramname">hash</td><td>the output of the message digest function. At least <a class="el" href="group__hcrypto__evp.html#gabea28e9ccb98329a7a76c95e8699221c">EVP_MD_size()</a>. </td></tr>
- <tr><td class="paramname">size</td><td>the output size of hash.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="gab6b800ba80b850cba223723b28fc9a44"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab6b800ba80b850cba223723b28fc9a44">&#9670;&nbsp;</a></span>EVP_DigestInit_ex()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_DigestInit_ex </td>
- <td>(</td>
- <td class="paramtype">EVP_MD_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const EVP_MD *&#160;</td>
- <td class="paramname"><em>md</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">ENGINE *&#160;</td>
- <td class="paramname"><em>engine</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Init a EVP_MD_CTX for use a specific message digest and engine.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the message digest context to init. </td></tr>
- <tr><td class="paramname">md</td><td>the message digest to use. </td></tr>
- <tr><td class="paramname">engine</td><td>the engine to use, NULL to use the default engine.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="ga12039fea1f371ef39a489d450f564338"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga12039fea1f371ef39a489d450f564338">&#9670;&nbsp;</a></span>EVP_DigestUpdate()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_DigestUpdate </td>
- <td>(</td>
- <td class="paramtype">EVP_MD_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>size</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Update the digest with some data.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the context to update </td></tr>
- <tr><td class="paramname">data</td><td>the data to update the context with </td></tr>
- <tr><td class="paramname">size</td><td>length of data</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="ga70a05495ee115c6eb26d958a5ac75c8b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga70a05495ee115c6eb26d958a5ac75c8b">&#9670;&nbsp;</a></span>EVP_enc_null()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_enc_null </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The NULL cipher type, does no encryption/decryption.</p>
-<dl class="section return"><dt>Returns</dt><dd>the null EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gaead9b446ac5ebd90dc7be0dbe6aba2b0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaead9b446ac5ebd90dc7be0dbe6aba2b0">&#9670;&nbsp;</a></span>EVP_get_cipherbyname()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_get_cipherbyname </td>
- <td>(</td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>name</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the cipher type using their name.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">name</td><td>the name of the cipher.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the selected EVP_CIPHER pointer or NULL if not found. </dd></dl>
-
-</div>
-</div>
-<a id="ga2decf06c0d9b08e364e9c4c8f4d3a7a3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga2decf06c0d9b08e364e9c4c8f4d3a7a3">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_128_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_128_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-128 cipher type (hcrypto)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga44eb080ab987799883eae8e64970be6c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga44eb080ab987799883eae8e64970be6c">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_128_cfb8()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_128_cfb8 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-128 CFB8 cipher type (hcrypto)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga16b21d9262c4af37121b0e85cc83b555"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga16b21d9262c4af37121b0e85cc83b555">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_192_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_192_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-192 cipher type (hcrypto)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga532a6f5c56334ccf8615791bfaef041d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga532a6f5c56334ccf8615791bfaef041d">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_192_cfb8()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_192_cfb8 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-192 CFB8 cipher type (hcrypto)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga49b683aa07c039ad31d7e498c87ad95f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga49b683aa07c039ad31d7e498c87ad95f">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_256_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_256_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-256 cipher type (hcrypto)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga4f7c34086cea5e4da92f56d543ec24bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4f7c34086cea5e4da92f56d543ec24bf">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_256_cfb8()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_256_cfb8 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-256 CFB8 cipher type (hcrypto)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga68deec0ffc93c0dcd83db0478e72d5b8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga68deec0ffc93c0dcd83db0478e72d5b8">&#9670;&nbsp;</a></span>EVP_hcrypto_camellia_128_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_128_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The Camellia-128 cipher type - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gafd6acecc697a1f9516909ca228cb54e5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gafd6acecc697a1f9516909ca228cb54e5">&#9670;&nbsp;</a></span>EVP_hcrypto_camellia_192_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_192_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The Camellia-198 cipher type - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga211f7122bdeeb3551dcd02c37a7a11e6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga211f7122bdeeb3551dcd02c37a7a11e6">&#9670;&nbsp;</a></span>EVP_hcrypto_camellia_256_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_256_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The Camellia-256 cipher type - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga0cc4edf9d19ebf7198e33ac0c8138f04"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga0cc4edf9d19ebf7198e33ac0c8138f04">&#9670;&nbsp;</a></span>EVP_hcrypto_des_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_des_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The DES cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga1c0e19f28dc594d929f089721e737237"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1c0e19f28dc594d929f089721e737237">&#9670;&nbsp;</a></span>EVP_hcrypto_des_ede3_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_des_ede3_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The triple DES cipher type - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga4456dfa7c2f23830fa32b99969720719"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4456dfa7c2f23830fa32b99969720719">&#9670;&nbsp;</a></span>EVP_hcrypto_md4()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_md4 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest MD4 - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="ga3c7a8676a690817ec03d71568a7deb1b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3c7a8676a690817ec03d71568a7deb1b">&#9670;&nbsp;</a></span>EVP_hcrypto_md5()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_md5 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest MD5 - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="ga35d681a86e0ed71b505b53e5fc199ed5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga35d681a86e0ed71b505b53e5fc199ed5">&#9670;&nbsp;</a></span>EVP_hcrypto_rc2_40_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_40_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2-40 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2-40 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gab7534f69db09cd76e4c36703a9340212"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab7534f69db09cd76e4c36703a9340212">&#9670;&nbsp;</a></span>EVP_hcrypto_rc2_64_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_64_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2-64 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2-64 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gac238450b802f4e0c78752ef1ba1198e9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac238450b802f4e0c78752ef1ba1198e9">&#9670;&nbsp;</a></span>EVP_hcrypto_rc2_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2 cipher type - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga5dc409fc540bad0751b96b3f74185477"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5dc409fc540bad0751b96b3f74185477">&#9670;&nbsp;</a></span>EVP_hcrypto_sha1()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_sha1 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest SHA1 - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="ga12b7608ec40d059f5539fd24277baae0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga12b7608ec40d059f5539fd24277baae0">&#9670;&nbsp;</a></span>EVP_hcrypto_sha256()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_sha256 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest SHA256 - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="gac002bcb2cc8ee9bb58b5924ab0bc3533"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac002bcb2cc8ee9bb58b5924ab0bc3533">&#9670;&nbsp;</a></span>EVP_hcrypto_sha384()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_sha384 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest SHA384 - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="gaef3c401b9d2e696f89f27335f4b261e2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaef3c401b9d2e696f89f27335f4b261e2">&#9670;&nbsp;</a></span>EVP_hcrypto_sha512()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_sha512 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest SHA512 - hcrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="gad232ca5dcef4ec58b182cb967f519999"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad232ca5dcef4ec58b182cb967f519999">&#9670;&nbsp;</a></span>EVP_md4()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_md4 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest MD4</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="ga3ccaad2c97f5cf27adb461b1b50aeabb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3ccaad2c97f5cf27adb461b1b50aeabb">&#9670;&nbsp;</a></span>EVP_md5()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_md5 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest MD5</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="ga48ccb698903828660dc1722d31311420"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga48ccb698903828660dc1722d31311420">&#9670;&nbsp;</a></span>EVP_MD_block_size()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_MD_block_size </td>
- <td>(</td>
- <td class="paramtype">const EVP_MD *&#160;</td>
- <td class="paramname"><em>md</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the blocksize of the message digest function.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">md</td><td>the evp message</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>size size of the message digest block size </dd></dl>
-
-</div>
-</div>
-<a id="gab35a28f548e64c74dbfd7198c04dad5d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab35a28f548e64c74dbfd7198c04dad5d">&#9670;&nbsp;</a></span>EVP_MD_CTX_block_size()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_MD_CTX_block_size </td>
- <td>(</td>
- <td class="paramtype">EVP_MD_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the blocksize of the message digest function.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the evp message digest context</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>size size of the message digest block size </dd></dl>
-
-</div>
-</div>
-<a id="ga34dea52c788c741fdb4f8fb051be3308"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga34dea52c788c741fdb4f8fb051be3308">&#9670;&nbsp;</a></span>EVP_MD_CTX_cleanup()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int EVP_MD_CTX_cleanup </td>
- <td>(</td>
- <td class="paramtype">EVP_MD_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free the resources used by the EVP_MD context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the context to free the resources from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="ga54bfa0296db2c131ef69e3a18c445357"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga54bfa0296db2c131ef69e3a18c445357">&#9670;&nbsp;</a></span>EVP_MD_CTX_create()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">EVP_MD_CTX* EVP_MD_CTX_create </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allocate a messsage digest context object. Free with <a class="el" href="group__hcrypto__evp.html#gae105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy()</a>.</p>
-<dl class="section return"><dt>Returns</dt><dd>a newly allocated message digest context object. </dd></dl>
-
-</div>
-</div>
-<a id="gae105ea6e5626f521fbe8cad0a85cbe46"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae105ea6e5626f521fbe8cad0a85cbe46">&#9670;&nbsp;</a></span>EVP_MD_CTX_destroy()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void EVP_MD_CTX_destroy </td>
- <td>(</td>
- <td class="paramtype">EVP_MD_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free a messsage digest context object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>context to free. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga3fd216754cf705b7d4980744b1508410"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3fd216754cf705b7d4980744b1508410">&#9670;&nbsp;</a></span>EVP_MD_CTX_init()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void EVP_MD_CTX_init </td>
- <td>(</td>
- <td class="paramtype">EVP_MD_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Initiate a messsage digest context object. Deallocate with <a class="el" href="group__hcrypto__evp.html#ga34dea52c788c741fdb4f8fb051be3308">EVP_MD_CTX_cleanup()</a>. Please use <a class="el" href="group__hcrypto__evp.html#ga54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create()</a> instead.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>variable to initiate. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gaed3480025ecf31d0afcb62174d6acc24"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaed3480025ecf31d0afcb62174d6acc24">&#9670;&nbsp;</a></span>EVP_MD_CTX_md()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_MD_CTX_md </td>
- <td>(</td>
- <td class="paramtype">EVP_MD_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the EVP_MD use for a specified context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the EVP_MD context to get the EVP_MD for.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the EVP_MD used for the context. </dd></dl>
-
-</div>
-</div>
-<a id="ga25a51444f0586be1494f78e4e17e65f8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga25a51444f0586be1494f78e4e17e65f8">&#9670;&nbsp;</a></span>EVP_MD_CTX_size()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_MD_CTX_size </td>
- <td>(</td>
- <td class="paramtype">EVP_MD_CTX *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the output size of the message digest function.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the evp message digest context</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>size output size of the message digest function. </dd></dl>
-
-</div>
-</div>
-<a id="ga5183830cf039ea4d9a2c1bd3c539e9af"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5183830cf039ea4d9a2c1bd3c539e9af">&#9670;&nbsp;</a></span>EVP_md_null()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_md_null </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The null message digest</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="gabea28e9ccb98329a7a76c95e8699221c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gabea28e9ccb98329a7a76c95e8699221c">&#9670;&nbsp;</a></span>EVP_MD_size()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t EVP_MD_size </td>
- <td>(</td>
- <td class="paramtype">const EVP_MD *&#160;</td>
- <td class="paramname"><em>md</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the output size of the message digest function.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">md</td><td>the evp message</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>size output size of the message digest function. </dd></dl>
-
-</div>
-</div>
-<a id="ga104bcd969bcc30dc3e7e77d63a38a87e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga104bcd969bcc30dc3e7e77d63a38a87e">&#9670;&nbsp;</a></span>EVP_rc2_40_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_rc2_40_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga09cd194a211931839f1e7bb8e578099e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga09cd194a211931839f1e7bb8e578099e">&#9670;&nbsp;</a></span>EVP_rc2_64_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_rc2_64_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gac7d0f7590921dde70bebeebadd2fec36"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac7d0f7590921dde70bebeebadd2fec36">&#9670;&nbsp;</a></span>EVP_rc2_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_rc2_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga9cb683240f384ddbd0f3279960af93ba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga9cb683240f384ddbd0f3279960af93ba">&#9670;&nbsp;</a></span>EVP_rc4()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_rc4 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC4 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC4 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gae5cbdfcb5012a07fec8df1d6b9c5d772"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae5cbdfcb5012a07fec8df1d6b9c5d772">&#9670;&nbsp;</a></span>EVP_rc4_40()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_rc4_40 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC4-40 cipher type</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC4-40 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gaee62cb107a208bd6984dd767f9feb8c0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaee62cb107a208bd6984dd767f9feb8c0">&#9670;&nbsp;</a></span>EVP_sha()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_sha </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest SHA1</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="gaa090d659a494a10525e38d272efb01ae"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaa090d659a494a10525e38d272efb01ae">&#9670;&nbsp;</a></span>EVP_sha1()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_sha1 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest SHA1</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="gafe55e56742a9b9ecffdaef7e95a6707a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gafe55e56742a9b9ecffdaef7e95a6707a">&#9670;&nbsp;</a></span>EVP_sha256()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_sha256 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest SHA256</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="ga031405a10c84711b9a9699fadc8dbf2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga031405a10c84711b9a9699fadc8dbf2a">&#9670;&nbsp;</a></span>EVP_sha384()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_sha384 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest SHA384</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="gaceda0d5da59b56159d2e3515039a46ce"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaceda0d5da59b56159d2e3515039a46ce">&#9670;&nbsp;</a></span>EVP_sha512()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_MD* EVP_sha512 </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The message digest SHA512</p>
-<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
-
-</div>
-</div>
-<a id="ga769121c112a501748233bda8345cb47a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga769121c112a501748233bda8345cb47a">&#9670;&nbsp;</a></span>EVP_wincrypt_des_ede3_cbc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const EVP_CIPHER* EVP_wincrypt_des_ede3_cbc </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The triple DES cipher type (Micrsoft crypt provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga490caf6711e559d0f8dfb15ce7ea7d8e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga490caf6711e559d0f8dfb15ce7ea7d8e">&#9670;&nbsp;</a></span>OSSL_CIPHER_ALGORITHM() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">hc_EVP_CIPH_CBC_MODE OSSL_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">rc2_64_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hc_EVP_CIPH_CBC_MODE|&#160;</td>
- <td class="paramname"><em>hc_EVP_CIPH_VARIABLE_LENGTH</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2-64 cipher type - OpenSSL</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2-64 EVP_CIPHER pointer. The Camellia-128 cipher type - OpenSSL</dd>
-<dd>
-the Camellia-128 EVP_CIPHER pointer. The Camellia-198 cipher type - OpenSSL</dd>
-<dd>
-the Camellia-198 EVP_CIPHER pointer. The Camellia-256 cipher type - OpenSSL</dd>
-<dd>
-the Camellia-256 EVP_CIPHER pointer. The RC4 cipher type (OpenSSL provider)</dd>
-<dd>
-the RC4 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga854def15f752a56d29b5f844c77a0f30"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga854def15f752a56d29b5f844c77a0f30">&#9670;&nbsp;</a></span>OSSL_CIPHER_ALGORITHM() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">OSSL_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">rc2_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hc_EVP_CIPH_CBC_MODE|&#160;</td>
- <td class="paramname"><em>hc_EVP_CIPH_VARIABLE_LENGTH</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The triple DES cipher type (OpenSSL provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. The DES cipher type (OpenSSL provider)</dd>
-<dd>
-the DES-CBC EVP_CIPHER pointer. The AES-128 cipher type (OpenSSL provider)</dd>
-<dd>
-the AES-128-CBC EVP_CIPHER pointer. The AES-192 cipher type (OpenSSL provider)</dd>
-<dd>
-the AES-192-CBC EVP_CIPHER pointer. The AES-256 cipher type (OpenSSL provider)</dd>
-<dd>
-the AES-256-CBC EVP_CIPHER pointer. The AES-128 CFB8 cipher type (OpenSSL provider)</dd>
-<dd>
-the AES-128-CFB8 EVP_CIPHER pointer. The AES-192 CFB8 cipher type (OpenSSL provider)</dd>
-<dd>
-the AES-192-CFB8 EVP_CIPHER pointer. The AES-256 CFB8 cipher type (OpenSSL provider)</dd>
-<dd>
-the AES-256-CFB8 EVP_CIPHER pointer. The RC2 cipher type - OpenSSL</dd>
-<dd>
-the RC2 EVP_CIPHER pointer. The RC2-40 cipher type - OpenSSL</dd>
-<dd>
-the RC2-40 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gaabf5fbf59b7075976f9645953f247f58"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaabf5fbf59b7075976f9645953f247f58">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[1/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">aes_128_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-128 cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-128-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gae7d920e72e00826a41867fd712e5e563"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae7d920e72e00826a41867fd712e5e563">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[2/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">aes_128_cfb8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CFB8_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-128 CFB8 cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-128-CFB8 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga90b367607627a3d3b9ac4e1d5acc5205"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga90b367607627a3d3b9ac4e1d5acc5205">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[3/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">aes_192_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">24&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-192 cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-192-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gaa2fc6a9c028c11198a99e8872e4e1b3a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaa2fc6a9c028c11198a99e8872e4e1b3a">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[4/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">aes_192_cfb8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">24&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CFB8_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-192 CFB8 cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-192-CFB8 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gacdc6624caef0007954fc4ac5ff5a8538"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gacdc6624caef0007954fc4ac5ff5a8538">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[5/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">aes_256_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">32&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-256 cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-256-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga315f18327e597a13d06906f6ed74c004"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga315f18327e597a13d06906f6ed74c004">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[6/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">aes_256_cfb8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">32&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CFB8_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The AES-256 CFB8 cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the AES-256-CFB8 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gaa44c7356cbc89241ad94d600a26dd8f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaa44c7356cbc89241ad94d600a26dd8f5">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[7/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">des_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_DES_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The DES cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga0a9e352a3bdd21c0a1be38e0b3b44c01"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga0a9e352a3bdd21c0a1be38e0b3b44c01">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[8/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">des_ede3_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_3DES_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">24&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The triple DES cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gaa7fb936c2d2447502a579b96beb3f59d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaa7fb936c2d2447502a579b96beb3f59d">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[9/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">rc2_40_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_RC2_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">5&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2-40 cipher type - Windows CNG</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2-40 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gad9839bba1e425e5cdb7c3e6e31ad1e01"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad9839bba1e425e5cdb7c3e6e31ad1e01">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[10/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">rc2_64_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_RC2_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2-64 cipher type - Windows CNG</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2-64 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga383cea2ae048ef0bf4af54c6f7848e9e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga383cea2ae048ef0bf4af54c6f7848e9e">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[11/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">rc2_cbc&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_RC2_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">8&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
- <td class="paramname">&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC2 cipher type - Windows CNG</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga802e58579b60e09c8d4c824ead9d79ba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga802e58579b60e09c8d4c824ead9d79ba">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[12/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">rc4&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_RC4_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">1&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">16&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">0&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_STREAM_CIPHER|&#160;</td>
- <td class="paramname"><em>EVP_CIPH_VARIABLE_LENGTH</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC4 cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC4 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gab2be6c68f3308454d74343d5f700ad92"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab2be6c68f3308454d74343d5f700ad92">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[13/13]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
- <td>(</td>
- <td class="paramtype">rc4_40&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">BCRYPT_RC4_ALGORITHM&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">1&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">5&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">0&#160;</td>
- <td class="paramname">, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">EVP_CIPH_STREAM_CIPHER|&#160;</td>
- <td class="paramname"><em>EVP_CIPH_VARIABLE_LENGTH</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The RC4-40 cipher type (Windows CNG provider)</p>
-<dl class="section return"><dt>Returns</dt><dd>the RC4 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gab6ac7f283eef0600c6b9612e088964a3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab6ac7f283eef0600c6b9612e088964a3">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM_UNAVAILABLE() <span class="overload">[1/3]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE </td>
- <td>(</td>
- <td class="paramtype">camellia_128_cbc&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The Camellia-128 cipher type - CommonCrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="gad9ace3cd5826a301a8f4aa6ab6548a00"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad9ace3cd5826a301a8f4aa6ab6548a00">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM_UNAVAILABLE() <span class="overload">[2/3]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE </td>
- <td>(</td>
- <td class="paramtype">camellia_192_cbc&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The Camellia-198 cipher type - CommonCrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-<a id="ga41b2fefa9724adf79ff11ae2f34e70d0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga41b2fefa9724adf79ff11ae2f34e70d0">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM_UNAVAILABLE() <span class="overload">[3/3]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE </td>
- <td>(</td>
- <td class="paramtype">camellia_256_cbc&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>The Camellia-256 cipher type - CommonCrypto</p>
-<dl class="section return"><dt>Returns</dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__misc.html b/doc/doxyout/hcrypto/html/group__hcrypto__misc.html
deleted file mode 100644
index 1689b8904a98..000000000000
--- a/doc/doxyout/hcrypto/html/group__hcrypto__misc.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hcrypto miscellaneous functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hcrypto miscellaneous functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga1533d8d57db97daa0ecfe780afb0f716"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__misc.html#ga1533d8d57db97daa0ecfe780afb0f716">PKCS5_PBKDF2_HMAC</a> (const void *password, size_t password_len, const void *salt, size_t salt_len, unsigned long iter, const EVP_MD *md, size_t keylen, void *key)</td></tr>
-<tr class="separator:ga1533d8d57db97daa0ecfe780afb0f716"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaece1627cc5535ef7b5e86e2f5a3eec04"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__misc.html#gaece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1</a> (const void *password, size_t password_len, const void *salt, size_t salt_len, unsigned long iter, size_t keylen, void *key)</td></tr>
-<tr class="separator:gaece1627cc5535ef7b5e86e2f5a3eec04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga1533d8d57db97daa0ecfe780afb0f716"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1533d8d57db97daa0ecfe780afb0f716">&#9670;&nbsp;</a></span>PKCS5_PBKDF2_HMAC()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int PKCS5_PBKDF2_HMAC </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>password</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>password_len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>salt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>salt_len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned long&#160;</td>
- <td class="paramname"><em>iter</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const EVP_MD *&#160;</td>
- <td class="paramname"><em>md</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>keylen</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>key</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">password</td><td>Password. </td></tr>
- <tr><td class="paramname">password_len</td><td>Length of password. </td></tr>
- <tr><td class="paramname">salt</td><td>Salt </td></tr>
- <tr><td class="paramname">salt_len</td><td>Length of salt. </td></tr>
- <tr><td class="paramname">iter</td><td>iteration counter. </td></tr>
- <tr><td class="paramname">md</td><td>the digest function. </td></tr>
- <tr><td class="paramname">keylen</td><td>the output key length. </td></tr>
- <tr><td class="paramname">key</td><td>the output key.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success, non 1 on failure. </dd></dl>
-
-</div>
-</div>
-<a id="gaece1627cc5535ef7b5e86e2f5a3eec04"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaece1627cc5535ef7b5e86e2f5a3eec04">&#9670;&nbsp;</a></span>PKCS5_PBKDF2_HMAC_SHA1()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int PKCS5_PBKDF2_HMAC_SHA1 </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>password</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>password_len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>salt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>salt_len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned long&#160;</td>
- <td class="paramname"><em>iter</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>keylen</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>key</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">password</td><td>Password. </td></tr>
- <tr><td class="paramname">password_len</td><td>Length of password. </td></tr>
- <tr><td class="paramname">salt</td><td>Salt </td></tr>
- <tr><td class="paramname">salt_len</td><td>Length of salt. </td></tr>
- <tr><td class="paramname">iter</td><td>iteration counter. </td></tr>
- <tr><td class="paramname">keylen</td><td>the output key length. </td></tr>
- <tr><td class="paramname">key</td><td>the output key.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success, non 1 on failure. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__rand.html b/doc/doxyout/hcrypto/html/group__hcrypto__rand.html
deleted file mode 100644
index 8b6525a5c9c3..000000000000
--- a/doc/doxyout/hcrypto/html/group__hcrypto__rand.html
+++ /dev/null
@@ -1,428 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>RAND crypto functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">RAND crypto functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga700cd34f79c820f427f95c243befe085"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga700cd34f79c820f427f95c243befe085">RAND_seed</a> (const void *indata, size_t size)</td></tr>
-<tr class="separator:ga700cd34f79c820f427f95c243befe085"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga957a044ad71e3c915ff7acc564be84a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga957a044ad71e3c915ff7acc564be84a4">RAND_bytes</a> (void *outdata, size_t size)</td></tr>
-<tr class="separator:ga957a044ad71e3c915ff7acc564be84a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad797e371751dedbcce4e975c3cad1947"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#gad797e371751dedbcce4e975c3cad1947">RAND_cleanup</a> (void)</td></tr>
-<tr class="separator:gad797e371751dedbcce4e975c3cad1947"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga08927181178dc6329264982f2fb1b39b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga08927181178dc6329264982f2fb1b39b">RAND_add</a> (const void *indata, size_t size, double entropi)</td></tr>
-<tr class="separator:ga08927181178dc6329264982f2fb1b39b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga93d10a9ba8647408a3b5306c2cd423f2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga93d10a9ba8647408a3b5306c2cd423f2">RAND_pseudo_bytes</a> (void *outdata, size_t size)</td></tr>
-<tr class="separator:ga93d10a9ba8647408a3b5306c2cd423f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga38d21605e6e777451769a8ee7087933b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga38d21605e6e777451769a8ee7087933b">RAND_status</a> (void)</td></tr>
-<tr class="separator:ga38d21605e6e777451769a8ee7087933b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga292ae50ca725d0c529dc077467b40254"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga292ae50ca725d0c529dc077467b40254">RAND_set_rand_method</a> (const RAND_METHOD *meth)</td></tr>
-<tr class="separator:ga292ae50ca725d0c529dc077467b40254"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8a8cac7a3262c4527e08f57f07c4c586"><td class="memItemLeft" align="right" valign="top">const RAND_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga8a8cac7a3262c4527e08f57f07c4c586">RAND_get_rand_method</a> (void)</td></tr>
-<tr class="separator:ga8a8cac7a3262c4527e08f57f07c4c586"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6a4f2c2cf723ef63522d4b33c79d5f0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga6a4f2c2cf723ef63522d4b33c79d5f0f">RAND_set_rand_engine</a> (ENGINE *engine)</td></tr>
-<tr class="separator:ga6a4f2c2cf723ef63522d4b33c79d5f0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9ca9fe0e799e41e8e745a88e3a60ccfd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file</a> (const char *filename, size_t size)</td></tr>
-<tr class="separator:ga9ca9fe0e799e41e8e745a88e3a60ccfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab9638d698e0a8ab94a31322693588eba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#gab9638d698e0a8ab94a31322693588eba">RAND_write_file</a> (const char *filename)</td></tr>
-<tr class="separator:gab9638d698e0a8ab94a31322693588eba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga77b2d2555388b5d75a4bab3843fc8f02"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga77b2d2555388b5d75a4bab3843fc8f02">RAND_file_name</a> (char *filename, size_t size)</td></tr>
-<tr class="separator:ga77b2d2555388b5d75a4bab3843fc8f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_rand.html">RAND - random number</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga08927181178dc6329264982f2fb1b39b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga08927181178dc6329264982f2fb1b39b">&#9670;&nbsp;</a></span>RAND_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RAND_add </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>indata</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>size</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double&#160;</td>
- <td class="paramname"><em>entropi</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">indata</td><td>the input data. </td></tr>
- <tr><td class="paramname">size</td><td>size of in data. </td></tr>
- <tr><td class="paramname">entropi</td><td>entropi in data. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga957a044ad71e3c915ff7acc564be84a4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga957a044ad71e3c915ff7acc564be84a4">&#9670;&nbsp;</a></span>RAND_bytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RAND_bytes </td>
- <td>(</td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>outdata</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>size</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get a random block from the random generator, can be used for key material.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">outdata</td><td>random data </td></tr>
- <tr><td class="paramname">size</td><td>length random data</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
-
-</div>
-</div>
-<a id="gad797e371751dedbcce4e975c3cad1947"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad797e371751dedbcce4e975c3cad1947">&#9670;&nbsp;</a></span>RAND_cleanup()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RAND_cleanup </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Reset and free memory used by the random generator. </p>
-
-</div>
-</div>
-<a id="ga77b2d2555388b5d75a4bab3843fc8f02"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga77b2d2555388b5d75a4bab3843fc8f02">&#9670;&nbsp;</a></span>RAND_file_name()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const char* RAND_file_name </td>
- <td>(</td>
- <td class="paramtype">char *&#160;</td>
- <td class="paramname"><em>filename</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>size</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the default random state filename for a user to use for <a class="el" href="group__hcrypto__rand.html#ga9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file()</a>, and <a class="el" href="group__hcrypto__rand.html#gab9638d698e0a8ab94a31322693588eba">RAND_write_file()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">filename</td><td>buffer to hold file name. </td></tr>
- <tr><td class="paramname">size</td><td>size of buffer filename.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the buffer filename or NULL on failure. </dd></dl>
-
-</div>
-</div>
-<a id="ga8a8cac7a3262c4527e08f57f07c4c586"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8a8cac7a3262c4527e08f57f07c4c586">&#9670;&nbsp;</a></span>RAND_get_rand_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const RAND_METHOD* RAND_get_rand_method </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the default random method.</p>
-<dl class="section return"><dt>Returns</dt><dd>Returns a RAND_METHOD </dd></dl>
-
-</div>
-</div>
-<a id="ga9ca9fe0e799e41e8e745a88e3a60ccfd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga9ca9fe0e799e41e8e745a88e3a60ccfd">&#9670;&nbsp;</a></span>RAND_load_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RAND_load_file </td>
- <td>(</td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>filename</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>size</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Load a a file and feed it into <a class="el" href="group__hcrypto__rand.html#ga700cd34f79c820f427f95c243befe085">RAND_seed()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">filename</td><td>name of file to read. </td></tr>
- <tr><td class="paramname">size</td><td>minimum size to read.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns the number of seed bytes loaded (0 indicates failure) </dd></dl>
-
-</div>
-</div>
-<a id="ga93d10a9ba8647408a3b5306c2cd423f2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga93d10a9ba8647408a3b5306c2cd423f2">&#9670;&nbsp;</a></span>RAND_pseudo_bytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RAND_pseudo_bytes </td>
- <td>(</td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>outdata</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>size</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get a random block from the random generator, should NOT be used for key material.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">outdata</td><td>random data </td></tr>
- <tr><td class="paramname">size</td><td>length random data</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
-
-</div>
-</div>
-<a id="ga700cd34f79c820f427f95c243befe085"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga700cd34f79c820f427f95c243befe085">&#9670;&nbsp;</a></span>RAND_seed()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RAND_seed </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>indata</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>size</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">indata</td><td>seed data </td></tr>
- <tr><td class="paramname">size</td><td>length seed data </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga6a4f2c2cf723ef63522d4b33c79d5f0f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6a4f2c2cf723ef63522d4b33c79d5f0f">&#9670;&nbsp;</a></span>RAND_set_rand_engine()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RAND_set_rand_engine </td>
- <td>(</td>
- <td class="paramtype">ENGINE *&#160;</td>
- <td class="paramname"><em>engine</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the default random method from engine.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">engine</td><td>use engine, if NULL is passed it, old method and engine is cleared.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
-
-</div>
-</div>
-<a id="ga292ae50ca725d0c529dc077467b40254"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga292ae50ca725d0c529dc077467b40254">&#9670;&nbsp;</a></span>RAND_set_rand_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RAND_set_rand_method </td>
- <td>(</td>
- <td class="paramtype">const RAND_METHOD *&#160;</td>
- <td class="paramname"><em>meth</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the default random method.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">meth</td><td>set the new default method.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="ga38d21605e6e777451769a8ee7087933b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga38d21605e6e777451769a8ee7087933b">&#9670;&nbsp;</a></span>RAND_status()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RAND_status </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return status of the random generator</p>
-<dl class="section return"><dt>Returns</dt><dd>1 if the random generator can deliver random data. </dd></dl>
-
-</div>
-</div>
-<a id="gab9638d698e0a8ab94a31322693588eba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab9638d698e0a8ab94a31322693588eba">&#9670;&nbsp;</a></span>RAND_write_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RAND_write_file </td>
- <td>(</td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>filename</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Write of random numbers to a file to store for later initiation with <a class="el" href="group__hcrypto__rand.html#ga9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">filename</td><td>name of file to write.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success and non-one on failure. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html b/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html
deleted file mode 100644
index f9266b55b540..000000000000
--- a/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>RSA functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">RSA functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gac7196620864c48d1d6b8377ad8521a4e"><td class="memItemLeft" align="right" valign="top">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gac7196620864c48d1d6b8377ad8521a4e">RSA_new</a> (void)</td></tr>
-<tr class="separator:gac7196620864c48d1d6b8377ad8521a4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad184201d41deee1d1d684974ecc44e5c"><td class="memItemLeft" align="right" valign="top">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gad184201d41deee1d1d684974ecc44e5c">RSA_new_method</a> (ENGINE *engine)</td></tr>
-<tr class="separator:gad184201d41deee1d1d684974ecc44e5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf0fbfb9641abf52a10e47c789bbba777"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gaf0fbfb9641abf52a10e47c789bbba777">RSA_free</a> (RSA *rsa)</td></tr>
-<tr class="separator:gaf0fbfb9641abf52a10e47c789bbba777"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadb710b16e5e5616f0693801cc60aa943"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gadb710b16e5e5616f0693801cc60aa943">RSA_up_ref</a> (RSA *rsa)</td></tr>
-<tr class="separator:gadb710b16e5e5616f0693801cc60aa943"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8a0ab0eaf85ef01f1cc31329558fd37a"><td class="memItemLeft" align="right" valign="top">const RSA_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#ga8a0ab0eaf85ef01f1cc31329558fd37a">RSA_get_method</a> (const RSA *rsa)</td></tr>
-<tr class="separator:ga8a0ab0eaf85ef01f1cc31329558fd37a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaee6501b3b0fe2917a2e40adce6862395"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gaee6501b3b0fe2917a2e40adce6862395">RSA_set_method</a> (RSA *rsa, const RSA_METHOD *method)</td></tr>
-<tr class="separator:gaee6501b3b0fe2917a2e40adce6862395"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae2af4ebfadf6a1450b823dfc6ca50687"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gae2af4ebfadf6a1450b823dfc6ca50687">RSA_set_app_data</a> (RSA *rsa, void *arg)</td></tr>
-<tr class="separator:gae2af4ebfadf6a1450b823dfc6ca50687"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafcdc9f15c7075cd8434f0c7e59d3db5c"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gafcdc9f15c7075cd8434f0c7e59d3db5c">RSA_get_app_data</a> (const RSA *rsa)</td></tr>
-<tr class="separator:gafcdc9f15c7075cd8434f0c7e59d3db5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_rsa.html">RSA - public-key cryptography</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="gaf0fbfb9641abf52a10e47c789bbba777"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf0fbfb9641abf52a10e47c789bbba777">&#9670;&nbsp;</a></span>RSA_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RSA_free </td>
- <td>(</td>
- <td class="paramtype">RSA *&#160;</td>
- <td class="paramname"><em>rsa</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free an allocation RSA object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">rsa</td><td>the RSA object to free. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gafcdc9f15c7075cd8434f0c7e59d3db5c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gafcdc9f15c7075cd8434f0c7e59d3db5c">&#9670;&nbsp;</a></span>RSA_get_app_data()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void* RSA_get_app_data </td>
- <td>(</td>
- <td class="paramtype">const RSA *&#160;</td>
- <td class="paramname"><em>rsa</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the application data for the RSA object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">rsa</td><td>the rsa object to get the parameter for</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the data object </dd></dl>
-
-</div>
-</div>
-<a id="ga8a0ab0eaf85ef01f1cc31329558fd37a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8a0ab0eaf85ef01f1cc31329558fd37a">&#9670;&nbsp;</a></span>RSA_get_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const RSA_METHOD* RSA_get_method </td>
- <td>(</td>
- <td class="paramtype">const RSA *&#160;</td>
- <td class="paramname"><em>rsa</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the RSA_METHOD used for this RSA object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">rsa</td><td>the object to get the method from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the method used for this RSA object. </dd></dl>
-
-</div>
-</div>
-<a id="gac7196620864c48d1d6b8377ad8521a4e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac7196620864c48d1d6b8377ad8521a4e">&#9670;&nbsp;</a></span>RSA_new()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">RSA* RSA_new </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Same as <a class="el" href="group__hcrypto__rsa.html#gad184201d41deee1d1d684974ecc44e5c">RSA_new_method()</a> using NULL as engine.</p>
-<dl class="section return"><dt>Returns</dt><dd>a newly allocated RSA object. Free with <a class="el" href="group__hcrypto__rsa.html#gaf0fbfb9641abf52a10e47c789bbba777">RSA_free()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gad184201d41deee1d1d684974ecc44e5c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad184201d41deee1d1d684974ecc44e5c">&#9670;&nbsp;</a></span>RSA_new_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">RSA* RSA_new_method </td>
- <td>(</td>
- <td class="paramtype">ENGINE *&#160;</td>
- <td class="paramname"><em>engine</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allocate a new RSA object using the engine, if NULL is specified as the engine, use the default RSA engine as returned by ENGINE_get_default_RSA().</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">engine</td><td>Specific what ENGINE RSA provider should be used.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>a newly allocated RSA object. Free with <a class="el" href="group__hcrypto__rsa.html#gaf0fbfb9641abf52a10e47c789bbba777">RSA_free()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gae2af4ebfadf6a1450b823dfc6ca50687"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae2af4ebfadf6a1450b823dfc6ca50687">&#9670;&nbsp;</a></span>RSA_set_app_data()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RSA_set_app_data </td>
- <td>(</td>
- <td class="paramtype">RSA *&#160;</td>
- <td class="paramname"><em>rsa</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>arg</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the application data for the RSA object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">rsa</td><td>the rsa object to set the parameter for </td></tr>
- <tr><td class="paramname">arg</td><td>the data object to store</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="gaee6501b3b0fe2917a2e40adce6862395"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaee6501b3b0fe2917a2e40adce6862395">&#9670;&nbsp;</a></span>RSA_set_method()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RSA_set_method </td>
- <td>(</td>
- <td class="paramtype">RSA *&#160;</td>
- <td class="paramname"><em>rsa</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const RSA_METHOD *&#160;</td>
- <td class="paramname"><em>method</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set a new method for the RSA keypair.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">rsa</td><td>rsa parameter. </td></tr>
- <tr><td class="paramname">method</td><td>the new method for the RSA parameter.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
-
-</div>
-</div>
-<a id="gadb710b16e5e5616f0693801cc60aa943"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gadb710b16e5e5616f0693801cc60aa943">&#9670;&nbsp;</a></span>RSA_up_ref()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int RSA_up_ref </td>
- <td>(</td>
- <td class="paramtype">RSA *&#160;</td>
- <td class="paramname"><em>rsa</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add an extra reference to the RSA object. The object should be free with <a class="el" href="group__hcrypto__rsa.html#gaf0fbfb9641abf52a10e47c789bbba777">RSA_free()</a> to drop the reference.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">rsa</td><td>the object to add reference counting too.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the current reference count, can't safely be used except for debug printing. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/index.html b/doc/doxyout/hcrypto/html/index.html
deleted file mode 100644
index 3dc58979de41..000000000000
--- a/doc/doxyout/hcrypto/html/index.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Heimdal crypto library </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><h1><a class="anchor" id="intro"></a>
-Introduction</h1>
-<p>Heimdal libhcrypto library is a implementation many crypto algorithms, among others: AES, SHA, DES, RSA, Camellia and many help function.</p>
-<p>hcrypto provies a OpenSSL compatible interface libcrypto interface and is licensed under a 3 clause BSD license (GPL compatible).</p>
-<p>The project web page: <a href="http://www.h5l.org/">http://www.h5l.org/</a></p>
-<p>Sections of this manual:</p>
-<ul>
-<li><a class="el" href="page_evp.html">EVP - generic crypto interface</a>, <a class="el" href="group__hcrypto__evp.html">EVP generic crypto functions</a></li>
-<li><a class="el" href="page_rand.html">RAND - random number</a>, <a class="el" href="group__hcrypto__rand.html">RAND crypto functions</a></li>
-<li><a class="el" href="page_dh.html">DH - Diffie-Hellman key exchange</a>, <a class="el" href="group__hcrypto__dh.html">Diffie-Hellman functions</a></li>
-<li><a class="el" href="page_rsa.html">RSA - public-key cryptography</a>, <a class="el" href="group__hcrypto__rsa.html">RSA functions</a></li>
-<li><a class="el" href="group__hcrypto__misc.html">hcrypto miscellaneous functions</a></li>
-</ul>
-<p>Older interfaces that you should not use:</p>
-<ul>
-<li><a class="el" href="page_des.html">DES - Data Encryption Standard crypto interface</a>, <a class="el" href="group__hcrypto__des.html">DES crypto functions</a></li>
-</ul>
-<h2><a class="anchor" id="control_functions"></a>
-Control functions</h2>
-<p>Functions controlling general behavior, like adding algorithms, are documented in this module: <a class="el" href="group__hcrypto__core.html">hcrypto function controlling behavior</a> .</p>
-<h2><a class="anchor" id="return_values"></a>
-Return values</h2>
-<p>Return values are diffrent in this module to be compatible with OpenSSL interface. The diffrence is that on success 1 is returned instead of the customary 0.</p>
-<h2><a class="anchor" id="History"></a>
-History</h2>
-<p>Eric Young implemented DES in the library libdes, that grew into libcrypto in the ssleay package. ssleay went into recession and then got picked up by the OpenSSL (htp://www.openssl.org/) project.</p>
-<p>libhcrypto is an independent implementation with no code decended from ssleay/openssl. Both includes some common imported code, for example the AES implementation. </p>
-</div></div><!-- PageDoc -->
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/jquery.js b/doc/doxyout/hcrypto/html/jquery.js
deleted file mode 100644
index 103c32d79b74..000000000000
--- a/doc/doxyout/hcrypto/html/jquery.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
-/*! jQuery UI - v1.12.1 - 2019-01-27
-* http://jqueryui.com
-* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}t.ui=t.ui||{},t.ui.version="1.12.1";var i=0,s=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;r>a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,m,g,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),x={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,m=_.offset,g=t.extend({},m),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),x[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?g.left+=p:"center"===n.at[0]&&(g.left+=p/2),"bottom"===n.at[1]?g.top+=f:"center"===n.at[1]&&(g.top+=f/2),u=e(x.at,p,f),g.left+=u[0],g.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),k=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},g),T=e(x.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:k,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=m.left-D.left,i=e+p-l,s=m.top-D.top,r=s+f-c,u={target:{element:v,left:m.left,top:m.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element
-},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/**
- * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
- * Licensed under MIT
- * @author Ariel Flesler
- * @version 2.1.2
- */
-;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
-/*!
- PowerTip v1.3.1 (2018-04-15)
- https://stevenbenner.github.io/jquery-powertip/
- Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).
- Released under MIT license.
- https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
-*/
-(function(root,factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$("body");var DATA_DISPLAYCONTROLLER="displayController",DATA_HASACTIVEHOVER="hasActiveHover",DATA_FORCEDOPEN="forcedOpen",DATA_HASMOUSEMOVE="hasMouseMove",DATA_MOUSEONTOTIP="mouseOnToPopup",DATA_ORIGINALTITLE="originalTitle",DATA_POWERTIP="powertip",DATA_POWERTIPJQ="powertipjq",DATA_POWERTIPTARGET="powertiptarget",EVENT_NAMESPACE=".powertip",RAD2DEG=180/Math.PI,MOUSE_EVENTS=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)==="string"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr("title");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr("title")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split("-")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case"n":coords.set("left",position.left-tipWidth/2);coords.set("bottom",session.windowHeight-position.top+offset);break;case"e":coords.set("left",position.left+offset);coords.set("top",position.top-tipHeight/2);break;case"s":coords.set("left",position.left-tipWidth/2);coords.set("top",position.top+offset);break;case"w":coords.set("top",position.top-tipHeight/2);coords.set("right",session.windowWidth-position.left+offset);break;case"nw":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"nw-alt":coords.set("left",position.left);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne":coords.set("left",position.left-20);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne-alt":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left);break;case"sw":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"sw-alt":coords.set("left",position.left);coords.set("top",position.top+offset);break;case"se":coords.set("left",position.left-20);coords.set("top",position.top+offset);break;case"se-alt":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case"n":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case"e":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case"s":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case"w":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case"nw":left=objectOffset.left;top=objectOffset.top;break;case"ne":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case"sw":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case"se":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest("svg")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=["nw","n","ne","e","se","s","sw","w"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$("#"+options.popupId);if(tipElement.length===0){tipElement=$("<div/>",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});/*!
- * jQuery UI Touch Punch 0.2.3
- *
- * Copyright 2011–2014, Dave Furfero
- * Dual licensed under the MIT or GPL Version 2 licenses.
- *
- * Depends:
- * jquery.ui.widget.js
- * jquery.ui.mouse.js
- */
-!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
- * http://www.smartmenus.org/
- * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("<span/>").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],$('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(e.wheelDelta||-e.detail)>0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file
diff --git a/doc/doxyout/hcrypto/html/menu.js b/doc/doxyout/hcrypto/html/menu.js
deleted file mode 100644
index 2fe2214f26aa..000000000000
--- a/doc/doxyout/hcrypto/html/menu.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- @licend The above is the entire license notice for the JavaScript code in this file
- */
-function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
- function makeTree(data,relPath) {
- var result='';
- if ('children' in data) {
- result+='<ul>';
- for (var i in data.children) {
- result+='<li><a href="'+relPath+data.children[i].url+'">'+
- data.children[i].text+'</a>'+
- makeTree(data.children[i],relPath)+'</li>';
- }
- result+='</ul>';
- }
- return result;
- }
-
- $('#main-nav').append(makeTree(menudata,relPath));
- $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
- if (searchEnabled) {
- if (serverSide) {
- $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
- } else {
- $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
- }
- }
- $('#main-menu').smartmenus();
-}
-/* @license-end */
diff --git a/doc/doxyout/hcrypto/html/menudata.js b/doc/doxyout/hcrypto/html/menudata.js
deleted file mode 100644
index acb860ef94d3..000000000000
--- a/doc/doxyout/hcrypto/html/menudata.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- @licend The above is the entire license notice for the JavaScript code in this file
-*/
-var menudata={children:[
-{text:"Main Page",url:"index.html"},
-{text:"Related Pages",url:"pages.html"},
-{text:"Modules",url:"modules.html"},
-{text:"Examples",url:"examples.html"}]}
diff --git a/doc/doxyout/hcrypto/html/modules.html b/doc/doxyout/hcrypto/html/modules.html
deleted file mode 100644
index 86ae6deaaccc..000000000000
--- a/doc/doxyout/hcrypto/html/modules.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Modules</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Modules</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all modules:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__dh.html" target="_self">Diffie-Hellman functions</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__rsa.html" target="_self">RSA functions</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__evp.html" target="_self">EVP generic crypto functions</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__rand.html" target="_self">RAND crypto functions</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__des.html" target="_self">DES crypto functions</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__core.html" target="_self">hcrypto function controlling behavior</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__misc.html" target="_self">hcrypto miscellaneous functions</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/nav_f.png b/doc/doxyout/hcrypto/html/nav_f.png
deleted file mode 100644
index 72a58a529ed3..000000000000
--- a/doc/doxyout/hcrypto/html/nav_f.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/nav_g.png b/doc/doxyout/hcrypto/html/nav_g.png
deleted file mode 100644
index 2093a237a94f..000000000000
--- a/doc/doxyout/hcrypto/html/nav_g.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/nav_h.png b/doc/doxyout/hcrypto/html/nav_h.png
deleted file mode 100644
index 33389b101d9c..000000000000
--- a/doc/doxyout/hcrypto/html/nav_h.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/open.png b/doc/doxyout/hcrypto/html/open.png
deleted file mode 100644
index 30f75c7efe2d..000000000000
--- a/doc/doxyout/hcrypto/html/open.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/page_des.html b/doc/doxyout/hcrypto/html/page_des.html
deleted file mode 100644
index d7a6f7a200c1..000000000000
--- a/doc/doxyout/hcrypto/html/page_des.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>DES - Data Encryption Standard crypto interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">DES - Data Encryption Standard crypto interface </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>See the library functions here: <a class="el" href="group__hcrypto__des.html">DES crypto functions</a></p>
-<p>DES was created by IBM, modififed by NSA and then adopted by NBS (now NIST) and published ad FIPS PUB 46 (updated by FIPS 46-1).</p>
-<p>Since the 19th May 2005 DES was withdrawn by NIST and should no longer be used. See <a class="el" href="page_evp.html">EVP - generic crypto interface</a> for replacement encryption algorithms and interfaces.</p>
-<p>Read more the iteresting history of DES on Wikipedia <a href="http://www.wikipedia.org/wiki/Data_Encryption_Standard">http://www.wikipedia.org/wiki/Data_Encryption_Standard</a> .</p>
-<h1><a class="anchor" id="des_keygen"></a>
-DES key generation</h1>
-<p>To generate a DES key safely you have to use the code-snippet below. This is because the <a class="el" href="group__hcrypto__des.html#gad70d485549f7444589f3283e938c0258">DES_random_key()</a> can fail with an abort() in case of and failure to start the random generator.</p>
-<p>There is a replacement function <a class="el" href="group__hcrypto__des.html#gacd3642bcd8a7e93ea977786e5b540d5f">DES_new_random_key()</a>, however that function does not exists in OpenSSL.</p>
-<div class="fragment"><div class="line">DES_cblock key;</div>
-<div class="line"><span class="keywordflow">do</span> {</div>
-<div class="line"> <span class="keywordflow">if</span> (RAND_rand(&amp;key, <span class="keyword">sizeof</span>(key)) != 1)</div>
-<div class="line"> <span class="keywordflow">goto</span> failure;</div>
-<div class="line"> <a class="code" href="group__hcrypto__des.html#ga4179bef43ceb72cc2034f39e7d2d5ae4">DES_set_odd_parity</a>(key);</div>
-<div class="line">} <span class="keywordflow">while</span> (<a class="code" href="group__hcrypto__des.html#ga0d8a49cafee4be6cd3922bfb6323fd2d">DES_is_weak_key</a>(&amp;key));</div>
-<div class="ttc" id="agroup__hcrypto__des_html_ga0d8a49cafee4be6cd3922bfb6323fd2d"><div class="ttname"><a href="group__hcrypto__des.html#ga0d8a49cafee4be6cd3922bfb6323fd2d">DES_is_weak_key</a></div><div class="ttdeci">int DES_is_weak_key(DES_cblock *key)</div><div class="ttdef"><b>Definition:</b> des.c:178</div></div>
-<div class="ttc" id="agroup__hcrypto__des_html_ga4179bef43ceb72cc2034f39e7d2d5ae4"><div class="ttname"><a href="group__hcrypto__des.html#ga4179bef43ceb72cc2034f39e7d2d5ae4">DES_set_odd_parity</a></div><div class="ttdeci">void DES_set_odd_parity(DES_cblock *key)</div><div class="ttdef"><b>Definition:</b> des.c:117</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="des_impl"></a>
-DES implementation history</h1>
-<p>There was no complete BSD licensed, fast, GPL compatible implementation of DES, so Love wrote the part that was missing, fast key schedule setup and adapted the interface to the orignal libdes.</p>
-<p>The document that got me started for real was "Efficient
-Implementation of the Data Encryption Standard" by Dag Arne Osvik. I never got to the PC1 transformation was working, instead I used table-lookup was used for all key schedule setup. The document was very useful since it de-mystified other implementations for me.</p>
-<p>The core DES function (SBOX + P transformation) is from Richard Outerbridge public domain DES implementation. My sanity is saved thanks to his work. Thank you Richard. </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/page_dh.html b/doc/doxyout/hcrypto/html/page_dh.html
deleted file mode 100644
index c685016c1db7..000000000000
--- a/doc/doxyout/hcrypto/html/page_dh.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>DH - Diffie-Hellman key exchange</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">DH - Diffie-Hellman key exchange </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>Diffie-Hellman key exchange is a protocol that allows two parties to establish a shared secret key.</p>
-<p>Include and example how to use <a class="el" href="group__hcrypto__dh.html#ga76c6e12bd1f0b9977d80fee83b086031">DH_new()</a> and friends here.</p>
-<p>See the library functions here: <a class="el" href="group__hcrypto__dh.html">Diffie-Hellman functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/page_evp.html b/doc/doxyout/hcrypto/html/page_evp.html
deleted file mode 100644
index 10ba317769b0..000000000000
--- a/doc/doxyout/hcrypto/html/page_evp.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>EVP - generic crypto interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">EVP - generic crypto interface </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>See the library functions here: <a class="el" href="group__hcrypto__evp.html">EVP generic crypto functions</a></p>
-<h1><a class="anchor" id="evp_cipher"></a>
-EVP Cipher</h1>
-<p>The use of <a class="el" href="group__hcrypto__evp.html#ga98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex()</a> and EVP_Cipher() is pretty easy to understand forward, then <a class="el" href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate()</a> and <a class="el" href="group__hcrypto__evp.html#ga714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex()</a> really needs an example to explain <a class="el" href="example_evp_cipher_8c-example.html">example_evp_cipher.c</a> . </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/page_rand.html b/doc/doxyout/hcrypto/html/page_rand.html
deleted file mode 100644
index e4f80de39b90..000000000000
--- a/doc/doxyout/hcrypto/html/page_rand.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>RAND - random number</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">RAND - random number </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>See the library functions here: <a class="el" href="group__hcrypto__rand.html">RAND crypto functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/page_rsa.html b/doc/doxyout/hcrypto/html/page_rsa.html
deleted file mode 100644
index 6d54d6e046ef..000000000000
--- a/doc/doxyout/hcrypto/html/page_rsa.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>RSA - public-key cryptography</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">RSA - public-key cryptography </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>RSA is named by its inventors (Ron Rivest, Adi Shamir, and Leonard Adleman) (published in 1977), patented expired in 21 September 2000.</p>
-<p>Speed for RSA in seconds no key blinding 1000 iteration, same rsa keys (1024 and 2048) operation performed each eteration sign, verify, encrypt, decrypt on a random bit pattern</p>
-<h1><a class="anchor" id="autotoc_md0"></a>
-name 1024 2048 4098</h1>
-<p>gmp: 0.73 6.60 44.80 tfm: 2.45 &ndash; &ndash; ltm: 3.79 20.74 105.41 (default in hcrypto) openssl: 4.04 11.90 82.59 cdsa: 15.89 102.89 721.40 imath: 40.62 &ndash; &ndash;</p>
-<p>See the library functions here: <a class="el" href="group__hcrypto__rsa.html">RSA functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/pages.html b/doc/doxyout/hcrypto/html/pages.html
deleted file mode 100644
index 9ea65d075d39..000000000000
--- a/doc/doxyout/hcrypto/html/pages.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Related Pages</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Related Pages</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
-</div><!-- directory -->
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/splitbar.png b/doc/doxyout/hcrypto/html/splitbar.png
deleted file mode 100644
index fe895f2c5817..000000000000
--- a/doc/doxyout/hcrypto/html/splitbar.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/sync_off.png b/doc/doxyout/hcrypto/html/sync_off.png
deleted file mode 100644
index 3b443fc62892..000000000000
--- a/doc/doxyout/hcrypto/html/sync_off.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/sync_on.png b/doc/doxyout/hcrypto/html/sync_on.png
deleted file mode 100644
index e08320fb64e6..000000000000
--- a/doc/doxyout/hcrypto/html/sync_on.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_a.png b/doc/doxyout/hcrypto/html/tab_a.png
deleted file mode 100644
index 3b725c41c5a5..000000000000
--- a/doc/doxyout/hcrypto/html/tab_a.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_b.png b/doc/doxyout/hcrypto/html/tab_b.png
deleted file mode 100644
index e2b4a8638cb3..000000000000
--- a/doc/doxyout/hcrypto/html/tab_b.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_h.png b/doc/doxyout/hcrypto/html/tab_h.png
deleted file mode 100644
index fd5cb705488e..000000000000
--- a/doc/doxyout/hcrypto/html/tab_h.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_s.png b/doc/doxyout/hcrypto/html/tab_s.png
deleted file mode 100644
index ab478c95b673..000000000000
--- a/doc/doxyout/hcrypto/html/tab_s.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tabs.css b/doc/doxyout/hcrypto/html/tabs.css
deleted file mode 100644
index 85a0cd5b5857..000000000000
--- a/doc/doxyout/hcrypto/html/tabs.css
+++ /dev/null
@@ -1 +0,0 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file
diff --git a/doc/doxyout/hcrypto/man/man3/DES_cbc_cksum.3 b/doc/doxyout/hcrypto/man/man3/DES_cbc_cksum.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_cbc_cksum.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_cbc_encrypt.3 b/doc/doxyout/hcrypto/man/man3/DES_cbc_encrypt.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_cbc_encrypt.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_cfb64_encrypt.3 b/doc/doxyout/hcrypto/man/man3/DES_cfb64_encrypt.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_cfb64_encrypt.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_check_key_parity.3 b/doc/doxyout/hcrypto/man/man3/DES_check_key_parity.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_check_key_parity.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_ecb3_encrypt.3 b/doc/doxyout/hcrypto/man/man3/DES_ecb3_encrypt.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_ecb3_encrypt.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_ecb_encrypt.3 b/doc/doxyout/hcrypto/man/man3/DES_ecb_encrypt.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_ecb_encrypt.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_ede3_cbc_encrypt.3 b/doc/doxyout/hcrypto/man/man3/DES_ede3_cbc_encrypt.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_ede3_cbc_encrypt.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_encrypt.3 b/doc/doxyout/hcrypto/man/man3/DES_encrypt.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_encrypt.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_init_random_number_generator.3 b/doc/doxyout/hcrypto/man/man3/DES_init_random_number_generator.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_init_random_number_generator.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_is_weak_key.3 b/doc/doxyout/hcrypto/man/man3/DES_is_weak_key.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_is_weak_key.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_key_sched.3 b/doc/doxyout/hcrypto/man/man3/DES_key_sched.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_key_sched.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_new_random_key.3 b/doc/doxyout/hcrypto/man/man3/DES_new_random_key.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_new_random_key.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_pcbc_encrypt.3 b/doc/doxyout/hcrypto/man/man3/DES_pcbc_encrypt.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_pcbc_encrypt.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_random_key.3 b/doc/doxyout/hcrypto/man/man3/DES_random_key.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_random_key.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_set_key.3 b/doc/doxyout/hcrypto/man/man3/DES_set_key.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_set_key.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_set_key_checked.3 b/doc/doxyout/hcrypto/man/man3/DES_set_key_checked.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_set_key_checked.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_set_key_unchecked.3 b/doc/doxyout/hcrypto/man/man3/DES_set_key_unchecked.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_set_key_unchecked.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_set_odd_parity.3 b/doc/doxyout/hcrypto/man/man3/DES_set_odd_parity.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_set_odd_parity.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DES_string_to_key.3 b/doc/doxyout/hcrypto/man/man3/DES_string_to_key.3
deleted file mode 100644
index 427856f72d18..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DES_string_to_key.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_des.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_check_pubkey.3 b/doc/doxyout/hcrypto/man/man3/DH_check_pubkey.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_check_pubkey.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_compute_key.3 b/doc/doxyout/hcrypto/man/man3/DH_compute_key.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_compute_key.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_free.3 b/doc/doxyout/hcrypto/man/man3/DH_free.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_free.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_generate_key.3 b/doc/doxyout/hcrypto/man/man3/DH_generate_key.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_generate_key.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_generate_parameters_ex.3 b/doc/doxyout/hcrypto/man/man3/DH_generate_parameters_ex.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_generate_parameters_ex.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_get_default_method.3 b/doc/doxyout/hcrypto/man/man3/DH_get_default_method.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_get_default_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_get_ex_data.3 b/doc/doxyout/hcrypto/man/man3/DH_get_ex_data.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_get_ex_data.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_ltm_method.3 b/doc/doxyout/hcrypto/man/man3/DH_ltm_method.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_ltm_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_new.3 b/doc/doxyout/hcrypto/man/man3/DH_new.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_new.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_new_method.3 b/doc/doxyout/hcrypto/man/man3/DH_new_method.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_new_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_null_method.3 b/doc/doxyout/hcrypto/man/man3/DH_null_method.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_null_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_set_default_method.3 b/doc/doxyout/hcrypto/man/man3/DH_set_default_method.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_set_default_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_set_ex_data.3 b/doc/doxyout/hcrypto/man/man3/DH_set_ex_data.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_set_ex_data.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_set_method.3 b/doc/doxyout/hcrypto/man/man3/DH_set_method.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_set_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_size.3 b/doc/doxyout/hcrypto/man/man3/DH_size.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_size.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/DH_up_ref.3 b/doc/doxyout/hcrypto/man/man3/DH_up_ref.3
deleted file mode 100644
index ade37d85c123..000000000000
--- a/doc/doxyout/hcrypto/man/man3/DH_up_ref.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_dh.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_BytesToKey.3 b/doc/doxyout/hcrypto/man/man3/EVP_BytesToKey.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_BytesToKey.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_block_size.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_block_size.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_block_size.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_cipher.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_cipher.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_cipher.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_cleanup.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_cleanup.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_cleanup.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_ctrl.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_ctrl.3
deleted file mode 100644
index 2245f894556f..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_ctrl.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_core.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_flags.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_flags.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_flags.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_get_app_data.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_get_app_data.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_get_app_data.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_init.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_init.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_init.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_iv_length.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_iv_length.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_iv_length.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_key_length.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_key_length.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_key_length.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_mode.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_mode.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_mode.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_rand_key.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_rand_key.3
deleted file mode 100644
index 2245f894556f..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_rand_key.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_core.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_set_app_data.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_set_app_data.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_set_app_data.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_set_key_length.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_set_key_length.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_CTX_set_key_length.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_block_size.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_block_size.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_block_size.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_iv_length.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_iv_length.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_iv_length.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_key_length.3 b/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_key_length.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CIPHER_key_length.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CipherFinal_ex.3 b/doc/doxyout/hcrypto/man/man3/EVP_CipherFinal_ex.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CipherFinal_ex.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CipherInit_ex.3 b/doc/doxyout/hcrypto/man/man3/EVP_CipherInit_ex.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CipherInit_ex.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_CipherUpdate.3 b/doc/doxyout/hcrypto/man/man3/EVP_CipherUpdate.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_CipherUpdate.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_Digest.3 b/doc/doxyout/hcrypto/man/man3/EVP_Digest.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_Digest.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_DigestFinal_ex.3 b/doc/doxyout/hcrypto/man/man3/EVP_DigestFinal_ex.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_DigestFinal_ex.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_DigestInit_ex.3 b/doc/doxyout/hcrypto/man/man3/EVP_DigestInit_ex.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_DigestInit_ex.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_DigestUpdate.3 b/doc/doxyout/hcrypto/man/man3/EVP_DigestUpdate.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_DigestUpdate.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_block_size.3 b/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_block_size.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_block_size.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_cleanup.3 b/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_cleanup.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_cleanup.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_create.3 b/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_create.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_create.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_destroy.3 b/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_destroy.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_destroy.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_init.3 b/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_init.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_init.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_md.3 b/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_md.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_md.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_size.3 b/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_size.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_MD_CTX_size.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_MD_block_size.3 b/doc/doxyout/hcrypto/man/man3/EVP_MD_block_size.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_MD_block_size.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_MD_size.3 b/doc/doxyout/hcrypto/man/man3/EVP_MD_size.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_MD_size.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_aes_128_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_aes_128_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_aes_128_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_aes_128_cfb8.3 b/doc/doxyout/hcrypto/man/man3/EVP_aes_128_cfb8.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_aes_128_cfb8.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_aes_192_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_aes_192_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_aes_192_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_aes_192_cfb8.3 b/doc/doxyout/hcrypto/man/man3/EVP_aes_192_cfb8.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_aes_192_cfb8.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_aes_256_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_aes_256_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_aes_256_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_aes_256_cfb8.3 b/doc/doxyout/hcrypto/man/man3/EVP_aes_256_cfb8.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_aes_256_cfb8.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_camellia_128_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_camellia_128_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_camellia_128_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_camellia_192_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_camellia_192_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_camellia_192_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_camellia_256_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_camellia_256_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_camellia_256_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_des_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_des_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_des_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_des_ede3_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_des_ede3_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_des_ede3_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_enc_null.3 b/doc/doxyout/hcrypto/man/man3/EVP_enc_null.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_enc_null.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_get_cipherbyname.3 b/doc/doxyout/hcrypto/man/man3/EVP_get_cipherbyname.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_get_cipherbyname.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_128_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_128_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_128_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_128_cfb8.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_128_cfb8.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_128_cfb8.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_192_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_192_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_192_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_192_cfb8.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_192_cfb8.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_192_cfb8.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_256_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_256_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_256_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_256_cfb8.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_256_cfb8.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_aes_256_cfb8.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_128_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_128_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_128_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_192_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_192_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_192_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_256_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_256_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_camellia_256_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_des_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_des_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_des_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_des_ede3_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_des_ede3_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_des_ede3_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_md4.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_md4.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_md4.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_md5.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_md5.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_md5.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_40_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_40_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_40_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_64_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_64_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_64_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_rc2_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha1.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha1.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha1.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha256.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha256.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha256.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha384.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha384.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha384.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha512.3 b/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha512.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_hcrypto_sha512.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_md4.3 b/doc/doxyout/hcrypto/man/man3/EVP_md4.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_md4.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_md5.3 b/doc/doxyout/hcrypto/man/man3/EVP_md5.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_md5.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_md_null.3 b/doc/doxyout/hcrypto/man/man3/EVP_md_null.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_md_null.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_rc2_40_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_rc2_40_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_rc2_40_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_rc2_64_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_rc2_64_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_rc2_64_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_rc2_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_rc2_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_rc2_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_rc4.3 b/doc/doxyout/hcrypto/man/man3/EVP_rc4.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_rc4.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_rc4_40.3 b/doc/doxyout/hcrypto/man/man3/EVP_rc4_40.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_rc4_40.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_sha.3 b/doc/doxyout/hcrypto/man/man3/EVP_sha.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_sha.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_sha1.3 b/doc/doxyout/hcrypto/man/man3/EVP_sha1.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_sha1.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_sha256.3 b/doc/doxyout/hcrypto/man/man3/EVP_sha256.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_sha256.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_sha384.3 b/doc/doxyout/hcrypto/man/man3/EVP_sha384.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_sha384.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_sha512.3 b/doc/doxyout/hcrypto/man/man3/EVP_sha512.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_sha512.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/EVP_wincrypt_des_ede3_cbc.3 b/doc/doxyout/hcrypto/man/man3/EVP_wincrypt_des_ede3_cbc.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/EVP_wincrypt_des_ede3_cbc.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.3 b/doc/doxyout/hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms.3 b/doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms.3
deleted file mode 100644
index 2245f894556f..000000000000
--- a/doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_core.3
diff --git a/doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms_conf.3 b/doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms_conf.3
deleted file mode 100644
index 2245f894556f..000000000000
--- a/doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms_conf.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_core.3
diff --git a/doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms_noconf.3 b/doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms_noconf.3
deleted file mode 100644
index 2245f894556f..000000000000
--- a/doc/doxyout/hcrypto/man/man3/OpenSSL_add_all_algorithms_noconf.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_core.3
diff --git a/doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC.3 b/doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC.3
deleted file mode 100644
index a6545bd8d828..000000000000
--- a/doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_misc.3
diff --git a/doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3 b/doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3
deleted file mode 100644
index a6545bd8d828..000000000000
--- a/doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_misc.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_add.3 b/doc/doxyout/hcrypto/man/man3/RAND_add.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_add.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_bytes.3 b/doc/doxyout/hcrypto/man/man3/RAND_bytes.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_bytes.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_cleanup.3 b/doc/doxyout/hcrypto/man/man3/RAND_cleanup.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_cleanup.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_file_name.3 b/doc/doxyout/hcrypto/man/man3/RAND_file_name.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_file_name.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_get_rand_method.3 b/doc/doxyout/hcrypto/man/man3/RAND_get_rand_method.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_get_rand_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_load_file.3 b/doc/doxyout/hcrypto/man/man3/RAND_load_file.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_load_file.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_pseudo_bytes.3 b/doc/doxyout/hcrypto/man/man3/RAND_pseudo_bytes.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_pseudo_bytes.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_seed.3 b/doc/doxyout/hcrypto/man/man3/RAND_seed.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_seed.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_set_rand_engine.3 b/doc/doxyout/hcrypto/man/man3/RAND_set_rand_engine.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_set_rand_engine.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_set_rand_method.3 b/doc/doxyout/hcrypto/man/man3/RAND_set_rand_method.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_set_rand_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_status.3 b/doc/doxyout/hcrypto/man/man3/RAND_status.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_status.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RAND_write_file.3 b/doc/doxyout/hcrypto/man/man3/RAND_write_file.3
deleted file mode 100644
index 321ba4cdcba8..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RAND_write_file.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rand.3
diff --git a/doc/doxyout/hcrypto/man/man3/RSA_free.3 b/doc/doxyout/hcrypto/man/man3/RSA_free.3
deleted file mode 100644
index 9f1f31caccf9..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RSA_free.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rsa.3
diff --git a/doc/doxyout/hcrypto/man/man3/RSA_get_app_data.3 b/doc/doxyout/hcrypto/man/man3/RSA_get_app_data.3
deleted file mode 100644
index 9f1f31caccf9..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RSA_get_app_data.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rsa.3
diff --git a/doc/doxyout/hcrypto/man/man3/RSA_get_method.3 b/doc/doxyout/hcrypto/man/man3/RSA_get_method.3
deleted file mode 100644
index 9f1f31caccf9..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RSA_get_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rsa.3
diff --git a/doc/doxyout/hcrypto/man/man3/RSA_new.3 b/doc/doxyout/hcrypto/man/man3/RSA_new.3
deleted file mode 100644
index 9f1f31caccf9..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RSA_new.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rsa.3
diff --git a/doc/doxyout/hcrypto/man/man3/RSA_new_method.3 b/doc/doxyout/hcrypto/man/man3/RSA_new_method.3
deleted file mode 100644
index 9f1f31caccf9..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RSA_new_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rsa.3
diff --git a/doc/doxyout/hcrypto/man/man3/RSA_set_app_data.3 b/doc/doxyout/hcrypto/man/man3/RSA_set_app_data.3
deleted file mode 100644
index 9f1f31caccf9..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RSA_set_app_data.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rsa.3
diff --git a/doc/doxyout/hcrypto/man/man3/RSA_set_method.3 b/doc/doxyout/hcrypto/man/man3/RSA_set_method.3
deleted file mode 100644
index 9f1f31caccf9..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RSA_set_method.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rsa.3
diff --git a/doc/doxyout/hcrypto/man/man3/RSA_up_ref.3 b/doc/doxyout/hcrypto/man/man3/RSA_up_ref.3
deleted file mode 100644
index 9f1f31caccf9..000000000000
--- a/doc/doxyout/hcrypto/man/man3/RSA_up_ref.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_rsa.3
diff --git a/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.3 b/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.3 b/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.3
deleted file mode 100644
index d526f956e4fb..000000000000
--- a/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.3
+++ /dev/null
@@ -1 +0,0 @@
-.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_core.3
deleted file mode 100644
index 5089d5ee9797..000000000000
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_core.3
+++ /dev/null
@@ -1,77 +0,0 @@
-.TH "hcrypto_core" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-hcrypto_core \- hcrypto function controlling behavior
-.SH SYNOPSIS
-.br
-.PP
-.SS "Functions"
-
-.in +1c
-.ti -1c
-.RI "int \fBEVP_CIPHER_CTX_rand_key\fP (EVP_CIPHER_CTX *ctx, void *key)"
-.br
-.ti -1c
-.RI "int \fBEVP_CIPHER_CTX_ctrl\fP (EVP_CIPHER_CTX *ctx, int type, int arg, void *data)"
-.br
-.ti -1c
-.RI "void \fBOpenSSL_add_all_algorithms\fP (void)"
-.br
-.ti -1c
-.RI "void \fBOpenSSL_add_all_algorithms_conf\fP (void)"
-.br
-.ti -1c
-.RI "void \fBOpenSSL_add_all_algorithms_noconf\fP (void)"
-.br
-.in -1c
-.SH "Detailed Description"
-.PP
-
-.SH "Function Documentation"
-.PP
-.SS "int EVP_CIPHER_CTX_ctrl (EVP_CIPHER_CTX * ctx, int type, int arg, void * data)"
-Perform a operation on a ctx
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP context to perform operation on\&.
-.br
-\fItype\fP type of operation\&.
-.br
-\fIarg\fP argument to operation\&.
-.br
-\fIdata\fP addition data to operation\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 for success, 0 for failure\&.
-.RE
-.PP
-
-.SS "int EVP_CIPHER_CTX_rand_key (EVP_CIPHER_CTX * ctx, void * key)"
-Generate a random key for the specificed EVP_CIPHER\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP EVP_CIPHER_CTX type to build the key for\&.
-.br
-\fIkey\fP return key, must be at least \fBEVP_CIPHER_key_length()\fP byte long\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 for success, 0 for failure\&.
-.RE
-.PP
-
-.SS "void OpenSSL_add_all_algorithms (void)"
-Add all algorithms to the crypto core\&.
-.SS "void OpenSSL_add_all_algorithms_conf (void)"
-Add all algorithms to the crypto core using configuration file\&.
-.SS "void OpenSSL_add_all_algorithms_noconf (void)"
-Add all algorithms to the crypto core, but don't use the configuration file\&.
-.SH "Author"
-.PP
-Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_des.3
deleted file mode 100644
index 8c9c8cc4fd9a..000000000000
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_des.3
+++ /dev/null
@@ -1,379 +0,0 @@
-.TH "hcrypto_des" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-hcrypto_des \- DES crypto functions
-.SH SYNOPSIS
-.br
-.PP
-.SS "Functions"
-
-.in +1c
-.ti -1c
-.RI "void \fBDES_set_odd_parity\fP (DES_cblock *key)"
-.br
-.ti -1c
-.RI "int HC_DEPRECATED \fBDES_check_key_parity\fP (DES_cblock *key)"
-.br
-.ti -1c
-.RI "int \fBDES_is_weak_key\fP (DES_cblock *key)"
-.br
-.ti -1c
-.RI "int HC_DEPRECATED \fBDES_set_key\fP (DES_cblock *key, DES_key_schedule *ks)"
-.br
-.ti -1c
-.RI "int \fBDES_set_key_unchecked\fP (DES_cblock *key, DES_key_schedule *ks)"
-.br
-.ti -1c
-.RI "int \fBDES_set_key_checked\fP (DES_cblock *key, DES_key_schedule *ks)"
-.br
-.ti -1c
-.RI "int \fBDES_key_sched\fP (DES_cblock *key, DES_key_schedule *ks)"
-.br
-.ti -1c
-.RI "void \fBDES_encrypt\fP (uint32_t u[2], DES_key_schedule *ks, int encp)"
-.br
-.ti -1c
-.RI "void \fBDES_ecb_encrypt\fP (DES_cblock *input, DES_cblock *output, DES_key_schedule *ks, int encp)"
-.br
-.ti -1c
-.RI "void \fBDES_cbc_encrypt\fP (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)"
-.br
-.ti -1c
-.RI "void \fBDES_pcbc_encrypt\fP (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)"
-.br
-.ti -1c
-.RI "void \fBDES_ecb3_encrypt\fP (DES_cblock *input, DES_cblock *output, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, int encp)"
-.br
-.ti -1c
-.RI "void \fBDES_ede3_cbc_encrypt\fP (const void *in, void *out, long length, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, DES_cblock *iv, int encp)"
-.br
-.ti -1c
-.RI "void \fBDES_cfb64_encrypt\fP (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int *num, int encp)"
-.br
-.ti -1c
-.RI "uint32_t \fBDES_cbc_cksum\fP (const void *in, DES_cblock *output, long length, DES_key_schedule *ks, DES_cblock *iv)"
-.br
-.ti -1c
-.RI "void \fBDES_string_to_key\fP (const char *str, DES_cblock *key)"
-.br
-.ti -1c
-.RI "int HC_DEPRECATED \fBDES_new_random_key\fP (DES_cblock *key)"
-.br
-.ti -1c
-.RI "void HC_DEPRECATED \fBDES_init_random_number_generator\fP (DES_cblock *seed)"
-.br
-.ti -1c
-.RI "void HC_DEPRECATED \fBDES_random_key\fP (DES_cblock *key)"
-.br
-.in -1c
-.SH "Detailed Description"
-.PP
-See the \fBDES - Data Encryption Standard crypto interface\fP for description and examples\&.
-.SH "Function Documentation"
-.PP
-.SS "uint32_t DES_cbc_cksum (const void * in, DES_cblock * output, long length, DES_key_schedule * ks, DES_cblock * iv)"
-Crete a checksum using DES in CBC encryption mode\&. This mode is only used for Kerberos 4, and it should stay that way\&.
-.PP
-The IV must always be diffrent for diffrent input data blocks\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIin\fP data to checksum
-.br
-\fIoutput\fP the checksum
-.br
-\fIlength\fP length of data
-.br
-\fIks\fP key schedule to use
-.br
-\fIiv\fP initial vector to use
-.RE
-.PP
-
-.SS "void DES_cbc_encrypt (const void * in, void * out, long length, DES_key_schedule * ks, DES_cblock * iv, int encp)"
-Encrypt/decrypt a block using DES in Chain Block Cipher mode (cbc)\&.
-.PP
-The IV must always be diffrent for diffrent input data blocks\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIin\fP data to encrypt
-.br
-\fIout\fP data to encrypt
-.br
-\fIlength\fP length of data
-.br
-\fIks\fP key schedule to use
-.br
-\fIiv\fP initial vector to use
-.br
-\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
-.RE
-.PP
-
-.SS "void DES_cfb64_encrypt (const void * in, void * out, long length, DES_key_schedule * ks, DES_cblock * iv, int * num, int encp)"
-Encrypt/decrypt using DES in cipher feedback mode with 64 bit feedback\&.
-.PP
-The IV must always be diffrent for diffrent input data blocks\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIin\fP data to encrypt
-.br
-\fIout\fP data to encrypt
-.br
-\fIlength\fP length of data
-.br
-\fIks\fP key schedule to use
-.br
-\fIiv\fP initial vector to use
-.br
-\fInum\fP offset into in cipher block encryption/decryption stop last time\&.
-.br
-\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
-.RE
-.PP
-
-.SS "int HC_DEPRECATED DES_check_key_parity (DES_cblock * key)"
-Check if the key have correct parity\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIkey\fP key to check the parity\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success, 0 on failure\&.
-.RE
-.PP
-
-.SS "void DES_ecb3_encrypt (DES_cblock * input, DES_cblock * output, DES_key_schedule * ks1, DES_key_schedule * ks2, DES_key_schedule * ks3, int encp)"
-Encrypt/decrypt a block using triple DES using EDE mode, encrypt/decrypt/encrypt\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIinput\fP data to encrypt
-.br
-\fIoutput\fP data to encrypt
-.br
-\fIks1\fP key schedule to use
-.br
-\fIks2\fP key schedule to use
-.br
-\fIks3\fP key schedule to use
-.br
-\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
-.RE
-.PP
-
-.SS "void DES_ecb_encrypt (DES_cblock * input, DES_cblock * output, DES_key_schedule * ks, int encp)"
-Encrypt/decrypt a block using DES\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIinput\fP data to encrypt
-.br
-\fIoutput\fP data to encrypt
-.br
-\fIks\fP key schedule to use
-.br
-\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
-.RE
-.PP
-
-.SS "void DES_ede3_cbc_encrypt (const void * in, void * out, long length, DES_key_schedule * ks1, DES_key_schedule * ks2, DES_key_schedule * ks3, DES_cblock * iv, int encp)"
-Encrypt/decrypt using Triple DES in Chain Block Cipher mode (cbc)\&.
-.PP
-The IV must always be diffrent for diffrent input data blocks\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIin\fP data to encrypt
-.br
-\fIout\fP data to encrypt
-.br
-\fIlength\fP length of data
-.br
-\fIks1\fP key schedule to use
-.br
-\fIks2\fP key schedule to use
-.br
-\fIks3\fP key schedule to use
-.br
-\fIiv\fP initial vector to use
-.br
-\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
-.RE
-.PP
-
-.SS "void DES_encrypt (uint32_t u[2], DES_key_schedule * ks, int encp)"
-Encrypt/decrypt a block using DES\&. Also called ECB mode
-.PP
-\fBParameters\fP
-.RS 4
-\fIu\fP data to encrypt
-.br
-\fIks\fP key schedule to use
-.br
-\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
-.RE
-.PP
-
-.SS "void HC_DEPRECATED DES_init_random_number_generator (DES_cblock * seed)"
-Seed the random number generator\&. Deprecated, use \fBRAND - random number\fP
-.PP
-\fBParameters\fP
-.RS 4
-\fIseed\fP a seed to seed that random number generate with\&.
-.RE
-.PP
-
-.SS "int DES_is_weak_key (DES_cblock * key)"
-Checks if the key is any of the weaks keys that makes DES attacks trival\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIkey\fP key to check\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 if the key is weak, 0 otherwise\&.
-.RE
-.PP
-
-.SS "int DES_key_sched (DES_cblock * key, DES_key_schedule * ks)"
-Compatibility function for eay libdes, works just like \fBDES_set_key_checked()\fP\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIkey\fP a key to initialize the key schedule with\&.
-.br
-\fIks\fP a key schedule to initialize\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-0 on success, -1 on invalid parity, -2 on weak key\&.
-.RE
-.PP
-
-.SS "int HC_DEPRECATED DES_new_random_key (DES_cblock * key)"
-Generate a random des key using a random block, fixup parity and skip weak keys\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIkey\fP is set to a random key\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-0 on success, non zero on random number generator failure\&.
-.RE
-.PP
-
-.SS "void DES_pcbc_encrypt (const void * in, void * out, long length, DES_key_schedule * ks, DES_cblock * iv, int encp)"
-Encrypt/decrypt a block using DES in Propagating Cipher Block Chaining mode\&. This mode is only used for Kerberos 4, and it should stay that way\&.
-.PP
-The IV must always be diffrent for diffrent input data blocks\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIin\fP data to encrypt
-.br
-\fIout\fP data to encrypt
-.br
-\fIlength\fP length of data
-.br
-\fIks\fP key schedule to use
-.br
-\fIiv\fP initial vector to use
-.br
-\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
-.RE
-.PP
-
-.SS "void HC_DEPRECATED DES_random_key (DES_cblock * key)"
-Generate a random key, deprecated since it doesn't return an error code, use \fBDES_new_random_key()\fP\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIkey\fP is set to a random key\&.
-.RE
-.PP
-
-.SS "int HC_DEPRECATED DES_set_key (DES_cblock * key, DES_key_schedule * ks)"
-Setup a des key schedule from a key\&. Deprecated function, use \fBDES_set_key_unchecked()\fP or \fBDES_set_key_checked()\fP instead\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIkey\fP a key to initialize the key schedule with\&.
-.br
-\fIks\fP a key schedule to initialize\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-0 on success
-.RE
-.PP
-
-.SS "int DES_set_key_checked (DES_cblock * key, DES_key_schedule * ks)"
-Just like \fBDES_set_key_unchecked()\fP except checking that the key is not weak for or have correct parity\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIkey\fP a key to initialize the key schedule with\&.
-.br
-\fIks\fP a key schedule to initialize\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-0 on success, -1 on invalid parity, -2 on weak key\&.
-.RE
-.PP
-
-.SS "int DES_set_key_unchecked (DES_cblock * key, DES_key_schedule * ks)"
-Setup a des key schedule from a key\&. The key is no longer needed after this transaction and can cleared\&.
-.PP
-Does NOT check that the key is weak for or have wrong parity\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIkey\fP a key to initialize the key schedule with\&.
-.br
-\fIks\fP a key schedule to initialize\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-0 on success
-.RE
-.PP
-
-.SS "void DES_set_odd_parity (DES_cblock * key)"
-Set the parity of the key block, used to generate a des key from a random key\&. See \fBDES key generation\fP\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIkey\fP key to fixup the parity for\&.
-.RE
-.PP
-
-.SS "void DES_string_to_key (const char * str, DES_cblock * key)"
-Convert a string to a DES key\&. Use something like \fBPKCS5_PBKDF2_HMAC_SHA1()\fP to create key from passwords\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIstr\fP The string to convert to a key
-.br
-\fIkey\fP the resulting key
-.RE
-.PP
-
-.SH "Author"
-.PP
-Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3
deleted file mode 100644
index 4b03476a1805..000000000000
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3
+++ /dev/null
@@ -1,292 +0,0 @@
-.TH "hcrypto_dh" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-hcrypto_dh \- Diffie-Hellman functions
-.SH SYNOPSIS
-.br
-.PP
-.SS "Functions"
-
-.in +1c
-.ti -1c
-.RI "const DH_METHOD * \fBDH_ltm_method\fP (void)"
-.br
-.ti -1c
-.RI "DH * \fBDH_new\fP (void)"
-.br
-.ti -1c
-.RI "DH * \fBDH_new_method\fP (ENGINE *engine)"
-.br
-.ti -1c
-.RI "void \fBDH_free\fP (DH *dh)"
-.br
-.ti -1c
-.RI "int \fBDH_up_ref\fP (DH *dh)"
-.br
-.ti -1c
-.RI "int \fBDH_size\fP (const DH *dh)"
-.br
-.ti -1c
-.RI "int \fBDH_set_ex_data\fP (DH *dh, int idx, void *data)"
-.br
-.ti -1c
-.RI "void * \fBDH_get_ex_data\fP (DH *dh, int idx)"
-.br
-.ti -1c
-.RI "int \fBDH_generate_parameters_ex\fP (DH *dh, int prime_len, int generator, BN_GENCB *cb)"
-.br
-.ti -1c
-.RI "int \fBDH_check_pubkey\fP (const DH *dh, const BIGNUM *pub_key, int *codes)"
-.br
-.ti -1c
-.RI "int \fBDH_generate_key\fP (DH *dh)"
-.br
-.ti -1c
-.RI "int \fBDH_compute_key\fP (unsigned char *shared_key, const BIGNUM *peer_pub_key, DH *dh)"
-.br
-.ti -1c
-.RI "int \fBDH_set_method\fP (DH *dh, const DH_METHOD *method)"
-.br
-.ti -1c
-.RI "const DH_METHOD * \fBDH_null_method\fP (void)"
-.br
-.ti -1c
-.RI "void \fBDH_set_default_method\fP (const DH_METHOD *meth)"
-.br
-.ti -1c
-.RI "const DH_METHOD * \fBDH_get_default_method\fP (void)"
-.br
-.in -1c
-.SH "Detailed Description"
-.PP
-See the \fBDH - Diffie-Hellman key exchange\fP for description and examples\&.
-.SH "Function Documentation"
-.PP
-.SS "int DH_check_pubkey (const DH * dh, const BIGNUM * pub_key, int * codes)"
-Check that the public key is sane\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdh\fP the local peer DH parameters\&.
-.br
-\fIpub_key\fP the remote peer public key parameters\&.
-.br
-\fIcodes\fP return that the failures of the pub_key are\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success, 0 on failure and *codes is set the the combined fail check for the public key
-.RE
-.PP
-Checks that the function performs are:
-.IP "\(bu" 2
-pub_key is not negative
-.IP "\(bu" 2
-pub_key > 1 and pub_key < p - 1, to avoid small subgroups attack\&.
-.IP "\(bu" 2
-if g == 2, pub_key have more then one bit set, if bits set is 1, log_2(pub_key) is trival
-.PP
-
-.SS "int DH_compute_key (unsigned char * shared_key, const BIGNUM * peer_pub_key, DH * dh)"
-Complute the shared secret key\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIshared_key\fP the resulting shared key, need to be at least \fBDH_size()\fP large\&.
-.br
-\fIpeer_pub_key\fP the peer's public key\&.
-.br
-\fIdh\fP the dh key pair\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-Checks that the pubkey passed in is valid using \fBDH_check_pubkey()\fP\&.
-.SS "void DH_free (DH * dh)"
-Free a DH object and release related resources, like ENGINE, that the object was using\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdh\fP object to be freed\&.
-.RE
-.PP
-
-.SS "int DH_generate_key (DH * dh)"
-Generate a new DH private-public key pair\&. The dh parameter must be allocted first with \fBDH_new()\fP\&. dh->p and dp->g must be set\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdh\fP dh parameter\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "int DH_generate_parameters_ex (DH * dh, int prime_len, int generator, BN_GENCB * cb)"
-Generate DH parameters for the DH object give parameters\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdh\fP The DH object to generate parameters for\&.
-.br
-\fIprime_len\fP length of the prime
-.br
-\fIgenerator\fP generator, g
-.br
-\fIcb\fP Callback parameters to show progress, can be NULL\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the maximum size in bytes of the out data\&.
-.RE
-.PP
-
-.SS "const DH_METHOD* DH_get_default_method (void)"
-Return the default DH implementation\&.
-.PP
-\fBReturns\fP
-.RS 4
-pointer to a DH_METHOD\&.
-.RE
-.PP
-
-.SS "void* DH_get_ex_data (DH * dh, int idx)"
-Get the data for index idx in the DH object\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdh\fP DH object\&.
-.br
-\fIidx\fP index to get the data for\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the object store in index idx
-.RE
-.PP
-
-.SS "const DH_METHOD* DH_ltm_method (void)"
-DH implementation using libtommath\&.
-.PP
-\fBReturns\fP
-.RS 4
-the DH_METHOD for the DH implementation using libtommath\&.
-.RE
-.PP
-
-.SS "DH* DH_new (void)"
-Create a new DH object using DH_new_method(NULL), see \fBDH_new_method()\fP\&.
-.PP
-\fBReturns\fP
-.RS 4
-a newly allocated DH object\&.
-.RE
-.PP
-
-.SS "DH* DH_new_method (ENGINE * engine)"
-Create a new DH object from the given engine, if the NULL is used, the default engine is used\&. Free the DH object with \fBDH_free()\fP\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIengine\fP The engine to use to allocate the DH object\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-a newly allocated DH object\&.
-.RE
-.PP
-
-.SS "const DH_METHOD* DH_null_method (void)"
-Return the dummy DH implementation\&.
-.PP
-\fBReturns\fP
-.RS 4
-pointer to a DH_METHOD\&.
-.RE
-.PP
-
-.SS "void DH_set_default_method (const DH_METHOD * meth)"
-Set the default DH implementation\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fImeth\fP pointer to a DH_METHOD\&.
-.RE
-.PP
-
-.SS "int DH_set_ex_data (DH * dh, int idx, void * data)"
-Set the data index idx in the DH object to data\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdh\fP DH object\&.
-.br
-\fIidx\fP index to set the data for\&.
-.br
-\fIdata\fP data to store for the index idx\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "int DH_set_method (DH * dh, const DH_METHOD * method)"
-Set a new method for the DH keypair\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdh\fP dh parameter\&.
-.br
-\fImethod\fP the new method for the DH parameter\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "int DH_size (const DH * dh)"
-The maximum output size of the \fBDH_compute_key()\fP function\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdh\fP The DH object to get the size from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the maximum size in bytes of the out data\&.
-.RE
-.PP
-
-.SS "int DH_up_ref (DH * dh)"
-Add a reference to the DH object\&. The object should be free with \fBDH_free()\fP to drop the reference\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdh\fP the object to increase the reference count too\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the updated reference count, can't safely be used except for debug printing\&.
-.RE
-.PP
-
-.SH "Author"
-.PP
-Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3
deleted file mode 100644
index 2e0471d7fca5..000000000000
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3
+++ /dev/null
@@ -1,1441 +0,0 @@
-.TH "hcrypto_evp" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-hcrypto_evp \- EVP generic crypto functions
-.SH SYNOPSIS
-.br
-.PP
-.SS "Functions"
-
-.in +1c
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_wincrypt_des_ede3_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_aes_128_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_aes_192_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_aes_256_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_aes_128_cfb8\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_aes_192_cfb8\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_aes_256_cfb8\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_hcrypto_sha256\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_hcrypto_sha384\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_hcrypto_sha512\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_hcrypto_sha1\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_hcrypto_md5\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_hcrypto_md4\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_des_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_des_ede3_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_rc2_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_rc2_40_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_rc2_64_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_camellia_128_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_camellia_192_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_hcrypto_camellia_256_cbc\fP (void)"
-.br
-.ti -1c
-.RI "\fBOSSL_CIPHER_ALGORITHM\fP (rc2_cbc, hc_EVP_CIPH_CBC_MODE|hc_EVP_CIPH_VARIABLE_LENGTH) OSSL_CIPHER_ALGORITHM(rc2_40_cbc"
-.br
-.ti -1c
-.RI "hc_EVP_CIPH_CBC_MODE \fBOSSL_CIPHER_ALGORITHM\fP (rc2_64_cbc, hc_EVP_CIPH_CBC_MODE|hc_EVP_CIPH_VARIABLE_LENGTH) OSSL_CIPHER_ALGORITHM(rc4"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (des_ede3_cbc, BCRYPT_3DES_ALGORITHM, 8, 24, 8, EVP_CIPH_CBC_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (des_cbc, BCRYPT_DES_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_128_cbc, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CBC_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_192_cbc, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CBC_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_256_cbc, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CBC_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_128_cfb8, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CFB8_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_192_cfb8, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CFB8_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_256_cfb8, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CFB8_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc2_cbc, BCRYPT_RC2_ALGORITHM, 8, 16, 8, EVP_CIPH_CBC_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc2_40_cbc, BCRYPT_RC2_ALGORITHM, 8, 5, 8, EVP_CIPH_CBC_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc2_64_cbc, BCRYPT_RC2_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM_UNAVAILABLE\fP (camellia_128_cbc)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM_UNAVAILABLE\fP (camellia_192_cbc)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM_UNAVAILABLE\fP (camellia_256_cbc)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc4, BCRYPT_RC4_ALGORITHM, 1, 16, 0, EVP_CIPH_STREAM_CIPHER|EVP_CIPH_VARIABLE_LENGTH)"
-.br
-.ti -1c
-.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc4_40, BCRYPT_RC4_ALGORITHM, 1, 5, 0, EVP_CIPH_STREAM_CIPHER|EVP_CIPH_VARIABLE_LENGTH)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_MD_size\fP (const EVP_MD *md)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_MD_block_size\fP (const EVP_MD *md)"
-.br
-.ti -1c
-.RI "EVP_MD_CTX * \fBEVP_MD_CTX_create\fP (void)"
-.br
-.ti -1c
-.RI "void \fBEVP_MD_CTX_init\fP (EVP_MD_CTX *ctx) HC_DEPRECATED"
-.br
-.ti -1c
-.RI "void \fBEVP_MD_CTX_destroy\fP (EVP_MD_CTX *ctx)"
-.br
-.ti -1c
-.RI "int \fBEVP_MD_CTX_cleanup\fP (EVP_MD_CTX *ctx) HC_DEPRECATED"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_MD_CTX_md\fP (EVP_MD_CTX *ctx)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_MD_CTX_size\fP (EVP_MD_CTX *ctx)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_MD_CTX_block_size\fP (EVP_MD_CTX *ctx)"
-.br
-.ti -1c
-.RI "int \fBEVP_DigestInit_ex\fP (EVP_MD_CTX *ctx, const EVP_MD *md, ENGINE *engine)"
-.br
-.ti -1c
-.RI "int \fBEVP_DigestUpdate\fP (EVP_MD_CTX *ctx, const void *data, size_t size)"
-.br
-.ti -1c
-.RI "int \fBEVP_DigestFinal_ex\fP (EVP_MD_CTX *ctx, void *hash, unsigned int *size)"
-.br
-.ti -1c
-.RI "int \fBEVP_Digest\fP (const void *data, size_t dsize, void *hash, unsigned int *hsize, const EVP_MD *md, ENGINE *engine)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_sha256\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_sha384\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_sha512\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_sha1\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_sha\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_md5\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_md4\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_MD * \fBEVP_md_null\fP (void)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_CIPHER_block_size\fP (const EVP_CIPHER *c)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_CIPHER_key_length\fP (const EVP_CIPHER *c)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_CIPHER_iv_length\fP (const EVP_CIPHER *c)"
-.br
-.ti -1c
-.RI "void \fBEVP_CIPHER_CTX_init\fP (EVP_CIPHER_CTX *c)"
-.br
-.ti -1c
-.RI "int \fBEVP_CIPHER_CTX_cleanup\fP (EVP_CIPHER_CTX *c)"
-.br
-.ti -1c
-.RI "int \fBEVP_CIPHER_CTX_set_key_length\fP (EVP_CIPHER_CTX *c, int length)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_CIPHER_CTX_cipher\fP (EVP_CIPHER_CTX *ctx)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_CIPHER_CTX_block_size\fP (const EVP_CIPHER_CTX *ctx)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_CIPHER_CTX_key_length\fP (const EVP_CIPHER_CTX *ctx)"
-.br
-.ti -1c
-.RI "size_t \fBEVP_CIPHER_CTX_iv_length\fP (const EVP_CIPHER_CTX *ctx)"
-.br
-.ti -1c
-.RI "unsigned long \fBEVP_CIPHER_CTX_flags\fP (const EVP_CIPHER_CTX *ctx)"
-.br
-.ti -1c
-.RI "int \fBEVP_CIPHER_CTX_mode\fP (const EVP_CIPHER_CTX *ctx)"
-.br
-.ti -1c
-.RI "void * \fBEVP_CIPHER_CTX_get_app_data\fP (EVP_CIPHER_CTX *ctx)"
-.br
-.ti -1c
-.RI "void \fBEVP_CIPHER_CTX_set_app_data\fP (EVP_CIPHER_CTX *ctx, void *data)"
-.br
-.ti -1c
-.RI "int \fBEVP_CipherInit_ex\fP (EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE *engine, const void *key, const void *iv, int encp)"
-.br
-.ti -1c
-.RI "int \fBEVP_CipherUpdate\fP (EVP_CIPHER_CTX *ctx, void *out, int *outlen, void *in, size_t inlen)"
-.br
-.ti -1c
-.RI "int \fBEVP_CipherFinal_ex\fP (EVP_CIPHER_CTX *ctx, void *out, int *outlen)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_enc_null\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_rc2_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_rc2_40_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_rc2_64_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_rc4\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_rc4_40\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_des_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_des_ede3_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_aes_128_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_aes_192_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_aes_256_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_aes_128_cfb8\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_aes_192_cfb8\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_aes_256_cfb8\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_camellia_128_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_camellia_192_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_camellia_256_cbc\fP (void)"
-.br
-.ti -1c
-.RI "const EVP_CIPHER * \fBEVP_get_cipherbyname\fP (const char *name)"
-.br
-.ti -1c
-.RI "int \fBEVP_BytesToKey\fP (const EVP_CIPHER *type, const EVP_MD *md, const void *salt, const void *data, size_t datalen, unsigned int count, void *keydata, void *ivdata)"
-.br
-.in -1c
-.SH "Detailed Description"
-.PP
-See the \fBEVP - generic crypto interface\fP for description and examples\&.
-.SH "Function Documentation"
-.PP
-.SS "const EVP_CIPHER* EVP_aes_128_cbc (void)"
-The AES-128 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the AES-128 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.PP
-\fBExamples\fP
-.in +1c
-\fBexample_evp_cipher\&.c\fP\&.
-.SS "const EVP_CIPHER* EVP_aes_128_cfb8 (void)"
-The AES-128 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the AES-128 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_aes_192_cbc (void)"
-The AES-192 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the AES-192 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_aes_192_cfb8 (void)"
-The AES-192 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the AES-192 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_aes_256_cbc (void)"
-The AES-256 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the AES-256 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_aes_256_cfb8 (void)"
-The AES-256 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the AES-256 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "int EVP_BytesToKey (const EVP_CIPHER * type, const EVP_MD * md, const void * salt, const void * data, size_t datalen, unsigned int count, void * keydata, void * ivdata)"
-Provides a legancy string to key function, used in PEM files\&.
-.PP
-New protocols should use new string to key functions like NIST SP56-800A or PKCS#5 v2\&.0 (see \fBPKCS5_PBKDF2_HMAC_SHA1()\fP)\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fItype\fP type of cipher to use
-.br
-\fImd\fP message digest to use
-.br
-\fIsalt\fP salt salt string, should be an binary 8 byte buffer\&.
-.br
-\fIdata\fP the password/input key string\&.
-.br
-\fIdatalen\fP length of data parameter\&.
-.br
-\fIcount\fP iteration counter\&.
-.br
-\fIkeydata\fP output keydata, needs to of the size \fBEVP_CIPHER_key_length()\fP\&.
-.br
-\fIivdata\fP output ivdata, needs to of the size \fBEVP_CIPHER_block_size()\fP\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the size of derived key\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_camellia_128_cbc (void)"
-The Camellia-128 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the Camellia-128 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_camellia_192_cbc (void)"
-The Camellia-198 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the Camellia-198 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_camellia_256_cbc (void)"
-The Camellia-256 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the Camellia-256 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "size_t EVP_CIPHER_block_size (const EVP_CIPHER * c)"
-Return the block size of the cipher\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIc\fP cipher to get the block size from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the block size of the cipher\&.
-.RE
-.PP
-
-.PP
-\fBExamples\fP
-.in +1c
-\fBexample_evp_cipher\&.c\fP\&.
-.SS "size_t EVP_CIPHER_CTX_block_size (const EVP_CIPHER_CTX * ctx)"
-Return the block size of the cipher context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP cipher context to get the block size from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the block size of the cipher context\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_CIPHER_CTX_cipher (EVP_CIPHER_CTX * ctx)"
-Return the EVP_CIPHER for a EVP_CIPHER_CTX context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the context to get the cipher type from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "int EVP_CIPHER_CTX_cleanup (EVP_CIPHER_CTX * c)"
-Clean up the EVP_CIPHER_CTX context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIc\fP the cipher to clean up\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.PP
-\fBExamples\fP
-.in +1c
-\fBexample_evp_cipher\&.c\fP\&.
-.SS "unsigned long EVP_CIPHER_CTX_flags (const EVP_CIPHER_CTX * ctx)"
-Get the flags for an EVP_CIPHER_CTX context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the EVP_CIPHER_CTX to get the flags from
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the flags for an EVP_CIPHER_CTX\&.
-.RE
-.PP
-
-.SS "void* EVP_CIPHER_CTX_get_app_data (EVP_CIPHER_CTX * ctx)"
-Get the app data for an EVP_CIPHER_CTX context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the EVP_CIPHER_CTX to get the app data from
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the app data for an EVP_CIPHER_CTX\&.
-.RE
-.PP
-
-.SS "void EVP_CIPHER_CTX_init (EVP_CIPHER_CTX * c)"
-Initiate a EVP_CIPHER_CTX context\&. Clean up with \fBEVP_CIPHER_CTX_cleanup()\fP\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIc\fP the cipher initiate\&.
-.RE
-.PP
-
-.PP
-\fBExamples\fP
-.in +1c
-\fBexample_evp_cipher\&.c\fP\&.
-.SS "size_t EVP_CIPHER_CTX_iv_length (const EVP_CIPHER_CTX * ctx)"
-Return the IV size of the cipher context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP cipher context to get the IV size from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the IV size of the cipher context\&.
-.RE
-.PP
-
-.SS "size_t EVP_CIPHER_CTX_key_length (const EVP_CIPHER_CTX * ctx)"
-Return the key size of the cipher context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP cipher context to get the key size from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the key size of the cipher context\&.
-.RE
-.PP
-
-.SS "int EVP_CIPHER_CTX_mode (const EVP_CIPHER_CTX * ctx)"
-Get the mode for an EVP_CIPHER_CTX context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the EVP_CIPHER_CTX to get the mode from
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the mode for an EVP_CIPHER_CTX\&.
-.RE
-.PP
-
-.SS "void EVP_CIPHER_CTX_set_app_data (EVP_CIPHER_CTX * ctx, void * data)"
-Set the app data for an EVP_CIPHER_CTX context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the EVP_CIPHER_CTX to set the app data for
-.br
-\fIdata\fP the app data to set for an EVP_CIPHER_CTX\&.
-.RE
-.PP
-
-.SS "int EVP_CIPHER_CTX_set_key_length (EVP_CIPHER_CTX * c, int length)"
-If the cipher type supports it, change the key length
-.PP
-\fBParameters\fP
-.RS 4
-\fIc\fP the cipher context to change the key length for
-.br
-\fIlength\fP new key length
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "size_t EVP_CIPHER_iv_length (const EVP_CIPHER * c)"
-Return the IV size of the cipher\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIc\fP cipher to get the IV size from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the IV size of the cipher\&.
-.RE
-.PP
-
-.PP
-\fBExamples\fP
-.in +1c
-\fBexample_evp_cipher\&.c\fP\&.
-.SS "size_t EVP_CIPHER_key_length (const EVP_CIPHER * c)"
-Return the key size of the cipher\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIc\fP cipher to get the key size from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the key size of the cipher\&.
-.RE
-.PP
-
-.PP
-\fBExamples\fP
-.in +1c
-\fBexample_evp_cipher\&.c\fP\&.
-.SS "int EVP_CipherFinal_ex (EVP_CIPHER_CTX * ctx, void * out, int * outlen)"
-Encipher/decipher final data
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the cipher context\&.
-.br
-\fIout\fP output data from the operation\&.
-.br
-\fIoutlen\fP output length
-.RE
-.PP
-The input length needs to be at least \fBEVP_CIPHER_block_size()\fP bytes long\&.
-.PP
-See \fBEVP Cipher\fP for an example how to use this function\&.
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.PP
-\fBExamples\fP
-.in +1c
-\fBexample_evp_cipher\&.c\fP\&.
-.SS "int EVP_CipherInit_ex (EVP_CIPHER_CTX * ctx, const EVP_CIPHER * c, ENGINE * engine, const void * key, const void * iv, int encp)"
-Initiate the EVP_CIPHER_CTX context to encrypt or decrypt data\&. Clean up with \fBEVP_CIPHER_CTX_cleanup()\fP\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP context to initiate
-.br
-\fIc\fP cipher to use\&.
-.br
-\fIengine\fP crypto engine to use, NULL to select default\&.
-.br
-\fIkey\fP the crypto key to use, NULL will use the previous value\&.
-.br
-\fIiv\fP the IV to use, NULL will use the previous value\&.
-.br
-\fIencp\fP non zero will encrypt, -1 use the previous value\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.PP
-\fBExamples\fP
-.in +1c
-\fBexample_evp_cipher\&.c\fP\&.
-.SS "int EVP_CipherUpdate (EVP_CIPHER_CTX * ctx, void * out, int * outlen, void * in, size_t inlen)"
-Encipher/decipher partial data
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the cipher context\&.
-.br
-\fIout\fP output data from the operation\&.
-.br
-\fIoutlen\fP output length
-.br
-\fIin\fP input data to the operation\&.
-.br
-\fIinlen\fP length of data\&.
-.RE
-.PP
-The output buffer length should at least be \fBEVP_CIPHER_block_size()\fP byte longer then the input length\&.
-.PP
-See \fBEVP Cipher\fP for an example how to use this function\&.
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-If there in no spare bytes in the left from last Update and the input length is on the block boundery, the \fBEVP_CipherUpdate()\fP function can take a shortcut (and preformance gain) and directly encrypt the data, otherwise we hav to fix it up and store extra it the EVP_CIPHER_CTX\&.
-.PP
-\fBExamples\fP
-.in +1c
-\fBexample_evp_cipher\&.c\fP\&.
-.SS "const EVP_CIPHER* EVP_des_cbc (void)"
-The DES cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the DES-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_des_ede3_cbc (void)"
-The triple DES cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the DES-EDE3-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "int EVP_Digest (const void * data, size_t dsize, void * hash, unsigned int * hsize, const EVP_MD * md, ENGINE * engine)"
-Do the whole \fBEVP_MD_CTX_create()\fP, \fBEVP_DigestInit_ex()\fP, \fBEVP_DigestUpdate()\fP, \fBEVP_DigestFinal_ex()\fP, \fBEVP_MD_CTX_destroy()\fP dance in one call\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIdata\fP the data to update the context with
-.br
-\fIdsize\fP length of data
-.br
-\fIhash\fP output data of at least \fBEVP_MD_size()\fP length\&.
-.br
-\fIhsize\fP output length of hash\&.
-.br
-\fImd\fP message digest to use
-.br
-\fIengine\fP engine to use, NULL for default engine\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "int EVP_DigestFinal_ex (EVP_MD_CTX * ctx, void * hash, unsigned int * size)"
-Complete the message digest\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the context to complete\&.
-.br
-\fIhash\fP the output of the message digest function\&. At least \fBEVP_MD_size()\fP\&.
-.br
-\fIsize\fP the output size of hash\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "int EVP_DigestInit_ex (EVP_MD_CTX * ctx, const EVP_MD * md, ENGINE * engine)"
-Init a EVP_MD_CTX for use a specific message digest and engine\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the message digest context to init\&.
-.br
-\fImd\fP the message digest to use\&.
-.br
-\fIengine\fP the engine to use, NULL to use the default engine\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "int EVP_DigestUpdate (EVP_MD_CTX * ctx, const void * data, size_t size)"
-Update the digest with some data\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the context to update
-.br
-\fIdata\fP the data to update the context with
-.br
-\fIsize\fP length of data
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_enc_null (void)"
-The NULL cipher type, does no encryption/decryption\&.
-.PP
-\fBReturns\fP
-.RS 4
-the null EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_get_cipherbyname (const char * name)"
-Get the cipher type using their name\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIname\fP the name of the cipher\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the selected EVP_CIPHER pointer or NULL if not found\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_aes_128_cbc (void)"
-The AES-128 cipher type (hcrypto)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-128 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_aes_128_cfb8 (void)"
-The AES-128 CFB8 cipher type (hcrypto)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-128 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_aes_192_cbc (void)"
-The AES-192 cipher type (hcrypto)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-192 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_aes_192_cfb8 (void)"
-The AES-192 CFB8 cipher type (hcrypto)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-192 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_aes_256_cbc (void)"
-The AES-256 cipher type (hcrypto)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-256 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_aes_256_cfb8 (void)"
-The AES-256 CFB8 cipher type (hcrypto)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-256 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_camellia_128_cbc (void)"
-The Camellia-128 cipher type - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the Camellia-128 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_camellia_192_cbc (void)"
-The Camellia-198 cipher type - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the Camellia-198 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_camellia_256_cbc (void)"
-The Camellia-256 cipher type - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the Camellia-256 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_des_cbc (void)"
-The DES cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the DES-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_des_ede3_cbc (void)"
-The triple DES cipher type - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the DES-EDE3-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_hcrypto_md4 (void)"
-The message digest MD4 - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_hcrypto_md5 (void)"
-The message digest MD5 - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_rc2_40_cbc (void)"
-The RC2-40 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the RC2-40 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_rc2_64_cbc (void)"
-The RC2-64 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the RC2-64 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_hcrypto_rc2_cbc (void)"
-The RC2 cipher type - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the RC2 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_hcrypto_sha1 (void)"
-The message digest SHA1 - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_hcrypto_sha256 (void)"
-The message digest SHA256 - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_hcrypto_sha384 (void)"
-The message digest SHA384 - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_hcrypto_sha512 (void)"
-The message digest SHA512 - hcrypto
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_md4 (void)"
-The message digest MD4
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_md5 (void)"
-The message digest MD5
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "size_t EVP_MD_block_size (const EVP_MD * md)"
-Return the blocksize of the message digest function\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fImd\fP the evp message
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-size size of the message digest block size
-.RE
-.PP
-
-.SS "size_t EVP_MD_CTX_block_size (EVP_MD_CTX * ctx)"
-Return the blocksize of the message digest function\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the evp message digest context
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-size size of the message digest block size
-.RE
-.PP
-
-.SS "int EVP_MD_CTX_cleanup (EVP_MD_CTX * ctx)"
-Free the resources used by the EVP_MD context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the context to free the resources from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "EVP_MD_CTX* EVP_MD_CTX_create (void)"
-Allocate a messsage digest context object\&. Free with \fBEVP_MD_CTX_destroy()\fP\&.
-.PP
-\fBReturns\fP
-.RS 4
-a newly allocated message digest context object\&.
-.RE
-.PP
-
-.SS "void EVP_MD_CTX_destroy (EVP_MD_CTX * ctx)"
-Free a messsage digest context object\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP context to free\&.
-.RE
-.PP
-
-.SS "void EVP_MD_CTX_init (EVP_MD_CTX * ctx)"
-Initiate a messsage digest context object\&. Deallocate with \fBEVP_MD_CTX_cleanup()\fP\&. Please use \fBEVP_MD_CTX_create()\fP instead\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP variable to initiate\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_MD_CTX_md (EVP_MD_CTX * ctx)"
-Get the EVP_MD use for a specified context\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the EVP_MD context to get the EVP_MD for\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the EVP_MD used for the context\&.
-.RE
-.PP
-
-.SS "size_t EVP_MD_CTX_size (EVP_MD_CTX * ctx)"
-Return the output size of the message digest function\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIctx\fP the evp message digest context
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-size output size of the message digest function\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_md_null (void)"
-The null message digest
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "size_t EVP_MD_size (const EVP_MD * md)"
-Return the output size of the message digest function\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fImd\fP the evp message
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-size output size of the message digest function\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_rc2_40_cbc (void)"
-The RC2 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the RC2 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_rc2_64_cbc (void)"
-The RC2 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the RC2 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_rc2_cbc (void)"
-The RC2 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the RC2 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_rc4 (void)"
-The RC4 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the RC4 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_rc4_40 (void)"
-The RC4-40 cipher type
-.PP
-\fBReturns\fP
-.RS 4
-the RC4-40 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_sha (void)"
-The message digest SHA1
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_sha1 (void)"
-The message digest SHA1
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_sha256 (void)"
-The message digest SHA256
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_sha384 (void)"
-The message digest SHA384
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_MD* EVP_sha512 (void)"
-The message digest SHA512
-.PP
-\fBReturns\fP
-.RS 4
-the message digest type\&.
-.RE
-.PP
-
-.SS "const EVP_CIPHER* EVP_wincrypt_des_ede3_cbc (void)"
-The triple DES cipher type (Micrsoft crypt provider)
-.PP
-\fBReturns\fP
-.RS 4
-the DES-EDE3-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "hc_EVP_CIPH_CBC_MODE OSSL_CIPHER_ALGORITHM (rc2_64_cbc, hc_EVP_CIPH_CBC_MODE| hc_EVP_CIPH_VARIABLE_LENGTH)"
-The RC2-64 cipher type - OpenSSL
-.PP
-\fBReturns\fP
-.RS 4
-the RC2-64 EVP_CIPHER pointer\&. The Camellia-128 cipher type - OpenSSL
-.PP
-the Camellia-128 EVP_CIPHER pointer\&. The Camellia-198 cipher type - OpenSSL
-.PP
-the Camellia-198 EVP_CIPHER pointer\&. The Camellia-256 cipher type - OpenSSL
-.PP
-the Camellia-256 EVP_CIPHER pointer\&. The RC4 cipher type (OpenSSL provider)
-.PP
-the RC4 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "OSSL_CIPHER_ALGORITHM (rc2_cbc, hc_EVP_CIPH_CBC_MODE| hc_EVP_CIPH_VARIABLE_LENGTH)"
-The triple DES cipher type (OpenSSL provider)
-.PP
-\fBReturns\fP
-.RS 4
-the DES-EDE3-CBC EVP_CIPHER pointer\&. The DES cipher type (OpenSSL provider)
-.PP
-the DES-CBC EVP_CIPHER pointer\&. The AES-128 cipher type (OpenSSL provider)
-.PP
-the AES-128-CBC EVP_CIPHER pointer\&. The AES-192 cipher type (OpenSSL provider)
-.PP
-the AES-192-CBC EVP_CIPHER pointer\&. The AES-256 cipher type (OpenSSL provider)
-.PP
-the AES-256-CBC EVP_CIPHER pointer\&. The AES-128 CFB8 cipher type (OpenSSL provider)
-.PP
-the AES-128-CFB8 EVP_CIPHER pointer\&. The AES-192 CFB8 cipher type (OpenSSL provider)
-.PP
-the AES-192-CFB8 EVP_CIPHER pointer\&. The AES-256 CFB8 cipher type (OpenSSL provider)
-.PP
-the AES-256-CFB8 EVP_CIPHER pointer\&. The RC2 cipher type - OpenSSL
-.PP
-the RC2 EVP_CIPHER pointer\&. The RC2-40 cipher type - OpenSSL
-.PP
-the RC2-40 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (aes_128_cbc, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CBC_MODE)"
-The AES-128 cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-128-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (aes_128_cfb8, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CFB8_MODE)"
-The AES-128 CFB8 cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-128-CFB8 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (aes_192_cbc, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CBC_MODE)"
-The AES-192 cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-192-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (aes_192_cfb8, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CFB8_MODE)"
-The AES-192 CFB8 cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-192-CFB8 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (aes_256_cbc, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CBC_MODE)"
-The AES-256 cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-256-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (aes_256_cfb8, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CFB8_MODE)"
-The AES-256 CFB8 cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the AES-256-CFB8 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (des_cbc, BCRYPT_DES_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)"
-The DES cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the DES-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (des_ede3_cbc, BCRYPT_3DES_ALGORITHM, 8, 24, 8, EVP_CIPH_CBC_MODE)"
-The triple DES cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the DES-EDE3-CBC EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (rc2_40_cbc, BCRYPT_RC2_ALGORITHM, 8, 5, 8, EVP_CIPH_CBC_MODE)"
-The RC2-40 cipher type - Windows CNG
-.PP
-\fBReturns\fP
-.RS 4
-the RC2-40 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (rc2_64_cbc, BCRYPT_RC2_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)"
-The RC2-64 cipher type - Windows CNG
-.PP
-\fBReturns\fP
-.RS 4
-the RC2-64 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (rc2_cbc, BCRYPT_RC2_ALGORITHM, 8, 16, 8, EVP_CIPH_CBC_MODE)"
-The RC2 cipher type - Windows CNG
-.PP
-\fBReturns\fP
-.RS 4
-the RC2 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (rc4, BCRYPT_RC4_ALGORITHM, 1, 16, 0, EVP_CIPH_STREAM_CIPHER| EVP_CIPH_VARIABLE_LENGTH)"
-The RC4 cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the RC4 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM (rc4_40, BCRYPT_RC4_ALGORITHM, 1, 5, 0, EVP_CIPH_STREAM_CIPHER| EVP_CIPH_VARIABLE_LENGTH)"
-The RC4-40 cipher type (Windows CNG provider)
-.PP
-\fBReturns\fP
-.RS 4
-the RC4 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM_UNAVAILABLE (camellia_128_cbc)"
-The Camellia-128 cipher type - CommonCrypto
-.PP
-\fBReturns\fP
-.RS 4
-the Camellia-128 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM_UNAVAILABLE (camellia_192_cbc)"
-The Camellia-198 cipher type - CommonCrypto
-.PP
-\fBReturns\fP
-.RS 4
-the Camellia-198 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SS "WINCNG_CIPHER_ALGORITHM_UNAVAILABLE (camellia_256_cbc)"
-The Camellia-256 cipher type - CommonCrypto
-.PP
-\fBReturns\fP
-.RS 4
-the Camellia-256 EVP_CIPHER pointer\&.
-.RE
-.PP
-
-.SH "Author"
-.PP
-Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3
deleted file mode 100644
index 46a8fd8f76e9..000000000000
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3
+++ /dev/null
@@ -1,80 +0,0 @@
-.TH "hcrypto_misc" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-hcrypto_misc \- hcrypto miscellaneous functions
-.SH SYNOPSIS
-.br
-.PP
-.SS "Functions"
-
-.in +1c
-.ti -1c
-.RI "int \fBPKCS5_PBKDF2_HMAC\fP (const void *password, size_t password_len, const void *salt, size_t salt_len, unsigned long iter, const EVP_MD *md, size_t keylen, void *key)"
-.br
-.ti -1c
-.RI "int \fBPKCS5_PBKDF2_HMAC_SHA1\fP (const void *password, size_t password_len, const void *salt, size_t salt_len, unsigned long iter, size_t keylen, void *key)"
-.br
-.in -1c
-.SH "Detailed Description"
-.PP
-
-.SH "Function Documentation"
-.PP
-.SS "int PKCS5_PBKDF2_HMAC (const void * password, size_t password_len, const void * salt, size_t salt_len, unsigned long iter, const EVP_MD * md, size_t keylen, void * key)"
-As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIpassword\fP Password\&.
-.br
-\fIpassword_len\fP Length of password\&.
-.br
-\fIsalt\fP Salt
-.br
-\fIsalt_len\fP Length of salt\&.
-.br
-\fIiter\fP iteration counter\&.
-.br
-\fImd\fP the digest function\&.
-.br
-\fIkeylen\fP the output key length\&.
-.br
-\fIkey\fP the output key\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success, non 1 on failure\&.
-.RE
-.PP
-
-.SS "int PKCS5_PBKDF2_HMAC_SHA1 (const void * password, size_t password_len, const void * salt, size_t salt_len, unsigned long iter, size_t keylen, void * key)"
-As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIpassword\fP Password\&.
-.br
-\fIpassword_len\fP Length of password\&.
-.br
-\fIsalt\fP Salt
-.br
-\fIsalt_len\fP Length of salt\&.
-.br
-\fIiter\fP iteration counter\&.
-.br
-\fIkeylen\fP the output key length\&.
-.br
-\fIkey\fP the output key\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success, non 1 on failure\&.
-.RE
-.PP
-
-.SH "Author"
-.PP
-Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3
deleted file mode 100644
index 918c2e847e56..000000000000
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3
+++ /dev/null
@@ -1,206 +0,0 @@
-.TH "hcrypto_rand" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-hcrypto_rand \- RAND crypto functions
-.SH SYNOPSIS
-.br
-.PP
-.SS "Functions"
-
-.in +1c
-.ti -1c
-.RI "void \fBRAND_seed\fP (const void *indata, size_t size)"
-.br
-.ti -1c
-.RI "int \fBRAND_bytes\fP (void *outdata, size_t size)"
-.br
-.ti -1c
-.RI "void \fBRAND_cleanup\fP (void)"
-.br
-.ti -1c
-.RI "void \fBRAND_add\fP (const void *indata, size_t size, double entropi)"
-.br
-.ti -1c
-.RI "int \fBRAND_pseudo_bytes\fP (void *outdata, size_t size)"
-.br
-.ti -1c
-.RI "int \fBRAND_status\fP (void)"
-.br
-.ti -1c
-.RI "int \fBRAND_set_rand_method\fP (const RAND_METHOD *meth)"
-.br
-.ti -1c
-.RI "const RAND_METHOD * \fBRAND_get_rand_method\fP (void)"
-.br
-.ti -1c
-.RI "int \fBRAND_set_rand_engine\fP (ENGINE *engine)"
-.br
-.ti -1c
-.RI "int \fBRAND_load_file\fP (const char *filename, size_t size)"
-.br
-.ti -1c
-.RI "int \fBRAND_write_file\fP (const char *filename)"
-.br
-.ti -1c
-.RI "const char * \fBRAND_file_name\fP (char *filename, size_t size)"
-.br
-.in -1c
-.SH "Detailed Description"
-.PP
-See the \fBRAND - random number\fP for description and examples\&.
-.SH "Function Documentation"
-.PP
-.SS "void RAND_add (const void * indata, size_t size, double entropi)"
-Seed that random number generator\&. Secret material can securely be feed into the function, they will never be returned\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIindata\fP the input data\&.
-.br
-\fIsize\fP size of in data\&.
-.br
-\fIentropi\fP entropi in data\&.
-.RE
-.PP
-
-.SS "int RAND_bytes (void * outdata, size_t size)"
-Get a random block from the random generator, can be used for key material\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIoutdata\fP random data
-.br
-\fIsize\fP length random data
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success, 0 on failure\&.
-.RE
-.PP
-
-.SS "void RAND_cleanup (void)"
-Reset and free memory used by the random generator\&.
-.SS "const char* RAND_file_name (char * filename, size_t size)"
-Return the default random state filename for a user to use for \fBRAND_load_file()\fP, and \fBRAND_write_file()\fP\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIfilename\fP buffer to hold file name\&.
-.br
-\fIsize\fP size of buffer filename\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the buffer filename or NULL on failure\&.
-.RE
-.PP
-
-.SS "const RAND_METHOD* RAND_get_rand_method (void)"
-Get the default random method\&.
-.PP
-\fBReturns\fP
-.RS 4
-Returns a RAND_METHOD
-.RE
-.PP
-
-.SS "int RAND_load_file (const char * filename, size_t size)"
-Load a a file and feed it into \fBRAND_seed()\fP\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIfilename\fP name of file to read\&.
-.br
-\fIsize\fP minimum size to read\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-Returns the number of seed bytes loaded (0 indicates failure)
-.RE
-.PP
-
-.SS "int RAND_pseudo_bytes (void * outdata, size_t size)"
-Get a random block from the random generator, should NOT be used for key material\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIoutdata\fP random data
-.br
-\fIsize\fP length random data
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success, 0 on failure\&.
-.RE
-.PP
-
-.SS "void RAND_seed (const void * indata, size_t size)"
-Seed that random number generator\&. Secret material can securely be feed into the function, they will never be returned\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIindata\fP seed data
-.br
-\fIsize\fP length seed data
-.RE
-.PP
-
-.SS "int RAND_set_rand_engine (ENGINE * engine)"
-Set the default random method from engine\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIengine\fP use engine, if NULL is passed it, old method and engine is cleared\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success, 0 on failure\&.
-.RE
-.PP
-
-.SS "int RAND_set_rand_method (const RAND_METHOD * meth)"
-Set the default random method\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fImeth\fP set the new default method\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "int RAND_status (void)"
-Return status of the random generator
-.PP
-\fBReturns\fP
-.RS 4
-1 if the random generator can deliver random data\&.
-.RE
-.PP
-
-.SS "int RAND_write_file (const char * filename)"
-Write of random numbers to a file to store for later initiation with \fBRAND_load_file()\fP\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIfilename\fP name of file to write\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success and non-one on failure\&.
-.RE
-.PP
-
-.SH "Author"
-.PP
-Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3
deleted file mode 100644
index f7636b277ea3..000000000000
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3
+++ /dev/null
@@ -1,150 +0,0 @@
-.TH "hcrypto_rsa" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-hcrypto_rsa \- RSA functions
-.SH SYNOPSIS
-.br
-.PP
-.SS "Functions"
-
-.in +1c
-.ti -1c
-.RI "RSA * \fBRSA_new\fP (void)"
-.br
-.ti -1c
-.RI "RSA * \fBRSA_new_method\fP (ENGINE *engine)"
-.br
-.ti -1c
-.RI "void \fBRSA_free\fP (RSA *rsa)"
-.br
-.ti -1c
-.RI "int \fBRSA_up_ref\fP (RSA *rsa)"
-.br
-.ti -1c
-.RI "const RSA_METHOD * \fBRSA_get_method\fP (const RSA *rsa)"
-.br
-.ti -1c
-.RI "int \fBRSA_set_method\fP (RSA *rsa, const RSA_METHOD *method)"
-.br
-.ti -1c
-.RI "int \fBRSA_set_app_data\fP (RSA *rsa, void *arg)"
-.br
-.ti -1c
-.RI "void * \fBRSA_get_app_data\fP (const RSA *rsa)"
-.br
-.in -1c
-.SH "Detailed Description"
-.PP
-See the \fBRSA - public-key cryptography\fP for description and examples\&.
-.SH "Function Documentation"
-.PP
-.SS "void RSA_free (RSA * rsa)"
-Free an allocation RSA object\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIrsa\fP the RSA object to free\&.
-.RE
-.PP
-
-.SS "void* RSA_get_app_data (const RSA * rsa)"
-Get the application data for the RSA object\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIrsa\fP the rsa object to get the parameter for
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the data object
-.RE
-.PP
-
-.SS "const RSA_METHOD* RSA_get_method (const RSA * rsa)"
-Return the RSA_METHOD used for this RSA object\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIrsa\fP the object to get the method from\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the method used for this RSA object\&.
-.RE
-.PP
-
-.SS "RSA* RSA_new (void)"
-Same as \fBRSA_new_method()\fP using NULL as engine\&.
-.PP
-\fBReturns\fP
-.RS 4
-a newly allocated RSA object\&. Free with \fBRSA_free()\fP\&.
-.RE
-.PP
-
-.SS "RSA* RSA_new_method (ENGINE * engine)"
-Allocate a new RSA object using the engine, if NULL is specified as the engine, use the default RSA engine as returned by ENGINE_get_default_RSA()\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIengine\fP Specific what ENGINE RSA provider should be used\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-a newly allocated RSA object\&. Free with \fBRSA_free()\fP\&.
-.RE
-.PP
-
-.SS "int RSA_set_app_data (RSA * rsa, void * arg)"
-Set the application data for the RSA object\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIrsa\fP the rsa object to set the parameter for
-.br
-\fIarg\fP the data object to store
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "int RSA_set_method (RSA * rsa, const RSA_METHOD * method)"
-Set a new method for the RSA keypair\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIrsa\fP rsa parameter\&.
-.br
-\fImethod\fP the new method for the RSA parameter\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-1 on success\&.
-.RE
-.PP
-
-.SS "int RSA_up_ref (RSA * rsa)"
-Add an extra reference to the RSA object\&. The object should be free with \fBRSA_free()\fP to drop the reference\&.
-.PP
-\fBParameters\fP
-.RS 4
-\fIrsa\fP the object to add reference counting too\&.
-.RE
-.PP
-\fBReturns\fP
-.RS 4
-the current reference count, can't safely be used except for debug printing\&.
-.RE
-.PP
-
-.SH "Author"
-.PP
-Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/page_des.3 b/doc/doxyout/hcrypto/man/man3/page_des.3
deleted file mode 100644
index 74203517a210..000000000000
--- a/doc/doxyout/hcrypto/man/man3/page_des.3
+++ /dev/null
@@ -1,36 +0,0 @@
-.TH "page_des" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-page_des \- DES - Data Encryption Standard crypto interface
-See the library functions here: \fBDES crypto functions\fP
-.PP
-DES was created by IBM, modififed by NSA and then adopted by NBS (now NIST) and published ad FIPS PUB 46 (updated by FIPS 46-1)\&.
-.PP
-Since the 19th May 2005 DES was withdrawn by NIST and should no longer be used\&. See \fBEVP - generic crypto interface\fP for replacement encryption algorithms and interfaces\&.
-.PP
-Read more the iteresting history of DES on Wikipedia http://www.wikipedia.org/wiki/Data_Encryption_Standard \&.
-.SH "DES key generation"
-.PP
-To generate a DES key safely you have to use the code-snippet below\&. This is because the \fBDES_random_key()\fP can fail with an abort() in case of and failure to start the random generator\&.
-.PP
-There is a replacement function \fBDES_new_random_key()\fP, however that function does not exists in OpenSSL\&.
-.PP
-.PP
-.nf
-DES_cblock key;
-do {
- if (RAND_rand(&key, sizeof(key)) != 1)
- goto failure;
- DES_set_odd_parity(key);
-} while (DES_is_weak_key(&key));
-.fi
-.PP
-.SH "DES implementation history"
-.PP
-There was no complete BSD licensed, fast, GPL compatible implementation of DES, so Love wrote the part that was missing, fast key schedule setup and adapted the interface to the orignal libdes\&.
-.PP
-The document that got me started for real was 'Efficient
-Implementation of the Data Encryption Standard' by Dag Arne Osvik\&. I never got to the PC1 transformation was working, instead I used table-lookup was used for all key schedule setup\&. The document was very useful since it de-mystified other implementations for me\&.
-.PP
-The core DES function (SBOX + P transformation) is from Richard Outerbridge public domain DES implementation\&. My sanity is saved thanks to his work\&. Thank you Richard\&.
diff --git a/doc/doxyout/hcrypto/man/man3/page_dh.3 b/doc/doxyout/hcrypto/man/man3/page_dh.3
deleted file mode 100644
index 2c83f159edf0..000000000000
--- a/doc/doxyout/hcrypto/man/man3/page_dh.3
+++ /dev/null
@@ -1,10 +0,0 @@
-.TH "page_dh" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-page_dh \- DH - Diffie-Hellman key exchange
-Diffie-Hellman key exchange is a protocol that allows two parties to establish a shared secret key\&.
-.PP
-Include and example how to use \fBDH_new()\fP and friends here\&.
-.PP
-See the library functions here: \fBDiffie-Hellman functions\fP
diff --git a/doc/doxyout/hcrypto/man/man3/page_evp.3 b/doc/doxyout/hcrypto/man/man3/page_evp.3
deleted file mode 100644
index 45bf8d6272f3..000000000000
--- a/doc/doxyout/hcrypto/man/man3/page_evp.3
+++ /dev/null
@@ -1,9 +0,0 @@
-.TH "page_evp" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-page_evp \- EVP - generic crypto interface
-See the library functions here: \fBEVP generic crypto functions\fP
-.SH "EVP Cipher"
-.PP
-The use of \fBEVP_CipherInit_ex()\fP and EVP_Cipher() is pretty easy to understand forward, then \fBEVP_CipherUpdate()\fP and \fBEVP_CipherFinal_ex()\fP really needs an example to explain \fBexample_evp_cipher\&.c\fP \&.
diff --git a/doc/doxyout/hcrypto/man/man3/page_rand.3 b/doc/doxyout/hcrypto/man/man3/page_rand.3
deleted file mode 100644
index 8ad6111f403e..000000000000
--- a/doc/doxyout/hcrypto/man/man3/page_rand.3
+++ /dev/null
@@ -1,6 +0,0 @@
-.TH "page_rand" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-page_rand \- RAND - random number
-See the library functions here: \fBRAND crypto functions\fP
diff --git a/doc/doxyout/hcrypto/man/man3/page_rsa.3 b/doc/doxyout/hcrypto/man/man3/page_rsa.3
deleted file mode 100644
index 44e9c7cd7529..000000000000
--- a/doc/doxyout/hcrypto/man/man3/page_rsa.3
+++ /dev/null
@@ -1,13 +0,0 @@
-.TH "page_rsa" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*-
-.ad l
-.nh
-.SH NAME
-page_rsa \- RSA - public-key cryptography
-RSA is named by its inventors (Ron Rivest, Adi Shamir, and Leonard Adleman) (published in 1977), patented expired in 21 September 2000\&.
-.PP
-Speed for RSA in seconds no key blinding 1000 iteration, same rsa keys (1024 and 2048) operation performed each eteration sign, verify, encrypt, decrypt on a random bit pattern
-.SH "name 1024 2048 4098"
-.PP
-gmp: 0\&.73 6\&.60 44\&.80 tfm: 2\&.45 -- -- ltm: 3\&.79 20\&.74 105\&.41 (default in hcrypto) openssl: 4\&.04 11\&.90 82\&.59 cdsa: 15\&.89 102\&.89 721\&.40 imath: 40\&.62 -- --
-.PP
-See the library functions here: \fBRSA functions\fP
diff --git a/doc/doxyout/hcrypto/manpages b/doc/doxyout/hcrypto/manpages
deleted file mode 100644
index 5077ed2834e0..000000000000
--- a/doc/doxyout/hcrypto/manpages
+++ /dev/null
@@ -1,155 +0,0 @@
-hcrypto/man/man3/page_des.3
-hcrypto/man/man3/page_dh.3
-hcrypto/man/man3/page_evp.3
-hcrypto/man/man3/page_rand.3
-hcrypto/man/man3/page_rsa.3
-hcrypto/man/man3/hcrypto_dh.3
-hcrypto/man/man3/DH_check_pubkey.3
-hcrypto/man/man3/DH_compute_key.3
-hcrypto/man/man3/DH_free.3
-hcrypto/man/man3/DH_generate_key.3
-hcrypto/man/man3/DH_generate_parameters_ex.3
-hcrypto/man/man3/DH_get_default_method.3
-hcrypto/man/man3/DH_get_ex_data.3
-hcrypto/man/man3/DH_ltm_method.3
-hcrypto/man/man3/DH_new.3
-hcrypto/man/man3/DH_new_method.3
-hcrypto/man/man3/DH_null_method.3
-hcrypto/man/man3/DH_set_default_method.3
-hcrypto/man/man3/DH_set_ex_data.3
-hcrypto/man/man3/DH_set_method.3
-hcrypto/man/man3/DH_size.3
-hcrypto/man/man3/DH_up_ref.3
-hcrypto/man/man3/hcrypto_rsa.3
-hcrypto/man/man3/RSA_free.3
-hcrypto/man/man3/RSA_get_app_data.3
-hcrypto/man/man3/RSA_get_method.3
-hcrypto/man/man3/RSA_new.3
-hcrypto/man/man3/RSA_new_method.3
-hcrypto/man/man3/RSA_set_app_data.3
-hcrypto/man/man3/RSA_set_method.3
-hcrypto/man/man3/RSA_up_ref.3
-hcrypto/man/man3/hcrypto_evp.3
-hcrypto/man/man3/EVP_aes_128_cbc.3
-hcrypto/man/man3/EVP_aes_128_cfb8.3
-hcrypto/man/man3/EVP_aes_192_cbc.3
-hcrypto/man/man3/EVP_aes_192_cfb8.3
-hcrypto/man/man3/EVP_aes_256_cbc.3
-hcrypto/man/man3/EVP_aes_256_cfb8.3
-hcrypto/man/man3/EVP_BytesToKey.3
-hcrypto/man/man3/EVP_camellia_128_cbc.3
-hcrypto/man/man3/EVP_camellia_192_cbc.3
-hcrypto/man/man3/EVP_camellia_256_cbc.3
-hcrypto/man/man3/EVP_CIPHER_block_size.3
-hcrypto/man/man3/EVP_CIPHER_CTX_block_size.3
-hcrypto/man/man3/EVP_CIPHER_CTX_cipher.3
-hcrypto/man/man3/EVP_CIPHER_CTX_cleanup.3
-hcrypto/man/man3/EVP_CIPHER_CTX_flags.3
-hcrypto/man/man3/EVP_CIPHER_CTX_get_app_data.3
-hcrypto/man/man3/EVP_CIPHER_CTX_init.3
-hcrypto/man/man3/EVP_CIPHER_CTX_iv_length.3
-hcrypto/man/man3/EVP_CIPHER_CTX_key_length.3
-hcrypto/man/man3/EVP_CIPHER_CTX_mode.3
-hcrypto/man/man3/EVP_CIPHER_CTX_set_app_data.3
-hcrypto/man/man3/EVP_CIPHER_CTX_set_key_length.3
-hcrypto/man/man3/EVP_CIPHER_iv_length.3
-hcrypto/man/man3/EVP_CIPHER_key_length.3
-hcrypto/man/man3/EVP_CipherFinal_ex.3
-hcrypto/man/man3/EVP_CipherInit_ex.3
-hcrypto/man/man3/EVP_CipherUpdate.3
-hcrypto/man/man3/EVP_des_cbc.3
-hcrypto/man/man3/EVP_des_ede3_cbc.3
-hcrypto/man/man3/EVP_Digest.3
-hcrypto/man/man3/EVP_DigestFinal_ex.3
-hcrypto/man/man3/EVP_DigestInit_ex.3
-hcrypto/man/man3/EVP_DigestUpdate.3
-hcrypto/man/man3/EVP_enc_null.3
-hcrypto/man/man3/EVP_get_cipherbyname.3
-hcrypto/man/man3/EVP_hcrypto_aes_128_cbc.3
-hcrypto/man/man3/EVP_hcrypto_aes_128_cfb8.3
-hcrypto/man/man3/EVP_hcrypto_aes_192_cbc.3
-hcrypto/man/man3/EVP_hcrypto_aes_192_cfb8.3
-hcrypto/man/man3/EVP_hcrypto_aes_256_cbc.3
-hcrypto/man/man3/EVP_hcrypto_aes_256_cfb8.3
-hcrypto/man/man3/EVP_hcrypto_camellia_128_cbc.3
-hcrypto/man/man3/EVP_hcrypto_camellia_192_cbc.3
-hcrypto/man/man3/EVP_hcrypto_camellia_256_cbc.3
-hcrypto/man/man3/EVP_hcrypto_des_cbc.3
-hcrypto/man/man3/EVP_hcrypto_des_ede3_cbc.3
-hcrypto/man/man3/EVP_hcrypto_md4.3
-hcrypto/man/man3/EVP_hcrypto_md5.3
-hcrypto/man/man3/EVP_hcrypto_rc2_40_cbc.3
-hcrypto/man/man3/EVP_hcrypto_rc2_64_cbc.3
-hcrypto/man/man3/EVP_hcrypto_rc2_cbc.3
-hcrypto/man/man3/EVP_hcrypto_sha1.3
-hcrypto/man/man3/EVP_hcrypto_sha256.3
-hcrypto/man/man3/EVP_hcrypto_sha384.3
-hcrypto/man/man3/EVP_hcrypto_sha512.3
-hcrypto/man/man3/EVP_md4.3
-hcrypto/man/man3/EVP_md5.3
-hcrypto/man/man3/EVP_MD_block_size.3
-hcrypto/man/man3/EVP_MD_CTX_block_size.3
-hcrypto/man/man3/EVP_MD_CTX_cleanup.3
-hcrypto/man/man3/EVP_MD_CTX_create.3
-hcrypto/man/man3/EVP_MD_CTX_destroy.3
-hcrypto/man/man3/EVP_MD_CTX_init.3
-hcrypto/man/man3/EVP_MD_CTX_md.3
-hcrypto/man/man3/EVP_MD_CTX_size.3
-hcrypto/man/man3/EVP_md_null.3
-hcrypto/man/man3/EVP_MD_size.3
-hcrypto/man/man3/EVP_rc2_40_cbc.3
-hcrypto/man/man3/EVP_rc2_64_cbc.3
-hcrypto/man/man3/EVP_rc2_cbc.3
-hcrypto/man/man3/EVP_rc4.3
-hcrypto/man/man3/EVP_rc4_40.3
-hcrypto/man/man3/EVP_sha.3
-hcrypto/man/man3/EVP_sha1.3
-hcrypto/man/man3/EVP_sha256.3
-hcrypto/man/man3/EVP_sha384.3
-hcrypto/man/man3/EVP_sha512.3
-hcrypto/man/man3/EVP_wincrypt_des_ede3_cbc.3
-hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.3
-hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.3
-hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.3
-hcrypto/man/man3/hcrypto_rand.3
-hcrypto/man/man3/RAND_add.3
-hcrypto/man/man3/RAND_bytes.3
-hcrypto/man/man3/RAND_cleanup.3
-hcrypto/man/man3/RAND_file_name.3
-hcrypto/man/man3/RAND_get_rand_method.3
-hcrypto/man/man3/RAND_load_file.3
-hcrypto/man/man3/RAND_pseudo_bytes.3
-hcrypto/man/man3/RAND_seed.3
-hcrypto/man/man3/RAND_set_rand_engine.3
-hcrypto/man/man3/RAND_set_rand_method.3
-hcrypto/man/man3/RAND_status.3
-hcrypto/man/man3/RAND_write_file.3
-hcrypto/man/man3/hcrypto_des.3
-hcrypto/man/man3/DES_cbc_cksum.3
-hcrypto/man/man3/DES_cbc_encrypt.3
-hcrypto/man/man3/DES_cfb64_encrypt.3
-hcrypto/man/man3/DES_check_key_parity.3
-hcrypto/man/man3/DES_ecb3_encrypt.3
-hcrypto/man/man3/DES_ecb_encrypt.3
-hcrypto/man/man3/DES_ede3_cbc_encrypt.3
-hcrypto/man/man3/DES_encrypt.3
-hcrypto/man/man3/DES_init_random_number_generator.3
-hcrypto/man/man3/DES_is_weak_key.3
-hcrypto/man/man3/DES_key_sched.3
-hcrypto/man/man3/DES_new_random_key.3
-hcrypto/man/man3/DES_pcbc_encrypt.3
-hcrypto/man/man3/DES_random_key.3
-hcrypto/man/man3/DES_set_key.3
-hcrypto/man/man3/DES_set_key_checked.3
-hcrypto/man/man3/DES_set_key_unchecked.3
-hcrypto/man/man3/DES_set_odd_parity.3
-hcrypto/man/man3/DES_string_to_key.3
-hcrypto/man/man3/hcrypto_core.3
-hcrypto/man/man3/EVP_CIPHER_CTX_ctrl.3
-hcrypto/man/man3/EVP_CIPHER_CTX_rand_key.3
-hcrypto/man/man3/OpenSSL_add_all_algorithms.3
-hcrypto/man/man3/OpenSSL_add_all_algorithms_conf.3
-hcrypto/man/man3/OpenSSL_add_all_algorithms_noconf.3
-hcrypto/man/man3/hcrypto_misc.3
-hcrypto/man/man3/PKCS5_PBKDF2_HMAC.3
-hcrypto/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3