From a66b965087024e1325eaed0a1ac99403d5b64efa Mon Sep 17 00:00:00 2001 From: luocai Date: Tue, 12 Mar 2024 14:46:37 +0800 Subject: [PATCH] Initial commit. --- .clang-format | 17 + .gitignore | 41 + .vscode/c_cpp_properties.json | 18 + .vscode/launch.json | 30 + .vscode/settings.json | 4 + 3rdparty/openssl/include/openssl/aes.h | 149 + 3rdparty/openssl/include/openssl/asn1.h | 1419 ++++++ 3rdparty/openssl/include/openssl/asn1_mac.h | 579 +++ 3rdparty/openssl/include/openssl/asn1t.h | 973 ++++ 3rdparty/openssl/include/openssl/bio.h | 883 ++++ 3rdparty/openssl/include/openssl/blowfish.h | 130 + 3rdparty/openssl/include/openssl/bn.h | 951 ++++ 3rdparty/openssl/include/openssl/buffer.h | 125 + 3rdparty/openssl/include/openssl/camellia.h | 132 + 3rdparty/openssl/include/openssl/cast.h | 107 + 3rdparty/openssl/include/openssl/cmac.h | 82 + 3rdparty/openssl/include/openssl/cms.h | 555 +++ 3rdparty/openssl/include/openssl/comp.h | 83 + 3rdparty/openssl/include/openssl/conf.h | 268 ++ 3rdparty/openssl/include/openssl/conf_api.h | 89 + 3rdparty/openssl/include/openssl/crypto.h | 661 +++ 3rdparty/openssl/include/openssl/des.h | 257 + 3rdparty/openssl/include/openssl/des_old.h | 497 ++ 3rdparty/openssl/include/openssl/dh.h | 412 ++ 3rdparty/openssl/include/openssl/dsa.h | 332 ++ 3rdparty/openssl/include/openssl/dso.h | 451 ++ 3rdparty/openssl/include/openssl/dtls1.h | 272 ++ 3rdparty/openssl/include/openssl/e_os2.h | 328 ++ 3rdparty/openssl/include/openssl/ebcdic.h | 26 + 3rdparty/openssl/include/openssl/ec.h | 1282 +++++ 3rdparty/openssl/include/openssl/ecdh.h | 134 + 3rdparty/openssl/include/openssl/ecdsa.h | 335 ++ 3rdparty/openssl/include/openssl/engine.h | 960 ++++ 3rdparty/openssl/include/openssl/err.h | 390 ++ 3rdparty/openssl/include/openssl/evp.h | 1628 +++++++ 3rdparty/openssl/include/openssl/hmac.h | 109 + 3rdparty/openssl/include/openssl/idea.h | 105 + 3rdparty/openssl/include/openssl/krb5_asn.h | 240 + 3rdparty/openssl/include/openssl/kssl.h | 197 + 3rdparty/openssl/include/openssl/lhash.h | 240 + 3rdparty/openssl/include/openssl/md4.h | 119 + 3rdparty/openssl/include/openssl/md5.h | 119 + 3rdparty/openssl/include/openssl/mdc2.h | 94 + 3rdparty/openssl/include/openssl/modes.h | 163 + 3rdparty/openssl/include/openssl/obj_mac.h | 4194 +++++++++++++++++ 3rdparty/openssl/include/openssl/objects.h | 1143 +++++ 3rdparty/openssl/include/openssl/ocsp.h | 637 +++ .../openssl/include/openssl/opensslconf.h | 271 ++ 3rdparty/openssl/include/openssl/opensslv.h | 97 + 3rdparty/openssl/include/openssl/ossl_typ.h | 213 + 3rdparty/openssl/include/openssl/pem.h | 617 +++ 3rdparty/openssl/include/openssl/pem2.h | 70 + 3rdparty/openssl/include/openssl/pkcs12.h | 342 ++ 3rdparty/openssl/include/openssl/pkcs7.h | 481 ++ 3rdparty/openssl/include/openssl/pqueue.h | 99 + 3rdparty/openssl/include/openssl/rand.h | 150 + 3rdparty/openssl/include/openssl/rc2.h | 103 + 3rdparty/openssl/include/openssl/rc4.h | 88 + 3rdparty/openssl/include/openssl/ripemd.h | 105 + 3rdparty/openssl/include/openssl/rsa.h | 664 +++ 3rdparty/openssl/include/openssl/safestack.h | 2672 +++++++++++ 3rdparty/openssl/include/openssl/seed.h | 149 + 3rdparty/openssl/include/openssl/sha.h | 214 + 3rdparty/openssl/include/openssl/srp.h | 179 + 3rdparty/openssl/include/openssl/srtp.h | 147 + 3rdparty/openssl/include/openssl/ssl.h | 3163 +++++++++++++ 3rdparty/openssl/include/openssl/ssl2.h | 265 ++ 3rdparty/openssl/include/openssl/ssl23.h | 84 + 3rdparty/openssl/include/openssl/ssl3.h | 774 +++ 3rdparty/openssl/include/openssl/stack.h | 107 + 3rdparty/openssl/include/openssl/symhacks.h | 518 ++ 3rdparty/openssl/include/openssl/tls1.h | 810 ++++ 3rdparty/openssl/include/openssl/ts.h | 865 ++++ 3rdparty/openssl/include/openssl/txt_db.h | 112 + 3rdparty/openssl/include/openssl/ui.h | 415 ++ 3rdparty/openssl/include/openssl/ui_compat.h | 88 + 3rdparty/openssl/include/openssl/whrlpool.h | 41 + 3rdparty/openssl/include/openssl/x509.h | 1330 ++++++ 3rdparty/openssl/include/openssl/x509_vfy.h | 652 +++ 3rdparty/openssl/include/openssl/x509v3.h | 1055 +++++ 3rdparty/openssl/libs/libcrypto.so | Bin 0 -> 2334400 bytes 3rdparty/openssl/libs/libcrypto.so.1.0.0 | Bin 0 -> 2334400 bytes 3rdparty/openssl/libs/libssl.so | Bin 0 -> 496704 bytes 3rdparty/openssl/libs/libssl.so.1.0.0 | Bin 0 -> 496704 bytes 3rdparty/rw_mpp/include/rw_mpp_api.h | 637 +++ 3rdparty/rw_mpp/lib/librw_mpp.so | Bin 0 -> 2905928 bytes CMakeLists.txt | 33 + Main/CMakeLists.txt | 5 + Main/main.cpp | 7 + Tools/CMakeLists.txt | 1 + Tools/VideoRecoder/CMakeLists.txt | 5 + Tools/VideoRecoder/main.cpp | 6 + resources/build.sh | 123 + resources/ssh_host_rsa_key_ok | 27 + resources/toolchain.cmake | 20 + 95 files changed, 39764 insertions(+) create mode 100644 .clang-format create mode 100644 .gitignore create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 3rdparty/openssl/include/openssl/aes.h create mode 100644 3rdparty/openssl/include/openssl/asn1.h create mode 100644 3rdparty/openssl/include/openssl/asn1_mac.h create mode 100644 3rdparty/openssl/include/openssl/asn1t.h create mode 100644 3rdparty/openssl/include/openssl/bio.h create mode 100644 3rdparty/openssl/include/openssl/blowfish.h create mode 100644 3rdparty/openssl/include/openssl/bn.h create mode 100644 3rdparty/openssl/include/openssl/buffer.h create mode 100644 3rdparty/openssl/include/openssl/camellia.h create mode 100644 3rdparty/openssl/include/openssl/cast.h create mode 100644 3rdparty/openssl/include/openssl/cmac.h create mode 100644 3rdparty/openssl/include/openssl/cms.h create mode 100644 3rdparty/openssl/include/openssl/comp.h create mode 100644 3rdparty/openssl/include/openssl/conf.h create mode 100644 3rdparty/openssl/include/openssl/conf_api.h create mode 100644 3rdparty/openssl/include/openssl/crypto.h create mode 100644 3rdparty/openssl/include/openssl/des.h create mode 100644 3rdparty/openssl/include/openssl/des_old.h create mode 100644 3rdparty/openssl/include/openssl/dh.h create mode 100644 3rdparty/openssl/include/openssl/dsa.h create mode 100644 3rdparty/openssl/include/openssl/dso.h create mode 100644 3rdparty/openssl/include/openssl/dtls1.h create mode 100644 3rdparty/openssl/include/openssl/e_os2.h create mode 100644 3rdparty/openssl/include/openssl/ebcdic.h create mode 100644 3rdparty/openssl/include/openssl/ec.h create mode 100644 3rdparty/openssl/include/openssl/ecdh.h create mode 100644 3rdparty/openssl/include/openssl/ecdsa.h create mode 100644 3rdparty/openssl/include/openssl/engine.h create mode 100644 3rdparty/openssl/include/openssl/err.h create mode 100644 3rdparty/openssl/include/openssl/evp.h create mode 100644 3rdparty/openssl/include/openssl/hmac.h create mode 100644 3rdparty/openssl/include/openssl/idea.h create mode 100644 3rdparty/openssl/include/openssl/krb5_asn.h create mode 100644 3rdparty/openssl/include/openssl/kssl.h create mode 100644 3rdparty/openssl/include/openssl/lhash.h create mode 100644 3rdparty/openssl/include/openssl/md4.h create mode 100644 3rdparty/openssl/include/openssl/md5.h create mode 100644 3rdparty/openssl/include/openssl/mdc2.h create mode 100644 3rdparty/openssl/include/openssl/modes.h create mode 100644 3rdparty/openssl/include/openssl/obj_mac.h create mode 100644 3rdparty/openssl/include/openssl/objects.h create mode 100644 3rdparty/openssl/include/openssl/ocsp.h create mode 100644 3rdparty/openssl/include/openssl/opensslconf.h create mode 100644 3rdparty/openssl/include/openssl/opensslv.h create mode 100644 3rdparty/openssl/include/openssl/ossl_typ.h create mode 100644 3rdparty/openssl/include/openssl/pem.h create mode 100644 3rdparty/openssl/include/openssl/pem2.h create mode 100644 3rdparty/openssl/include/openssl/pkcs12.h create mode 100644 3rdparty/openssl/include/openssl/pkcs7.h create mode 100644 3rdparty/openssl/include/openssl/pqueue.h create mode 100644 3rdparty/openssl/include/openssl/rand.h create mode 100644 3rdparty/openssl/include/openssl/rc2.h create mode 100644 3rdparty/openssl/include/openssl/rc4.h create mode 100644 3rdparty/openssl/include/openssl/ripemd.h create mode 100644 3rdparty/openssl/include/openssl/rsa.h create mode 100644 3rdparty/openssl/include/openssl/safestack.h create mode 100644 3rdparty/openssl/include/openssl/seed.h create mode 100644 3rdparty/openssl/include/openssl/sha.h create mode 100644 3rdparty/openssl/include/openssl/srp.h create mode 100644 3rdparty/openssl/include/openssl/srtp.h create mode 100644 3rdparty/openssl/include/openssl/ssl.h create mode 100644 3rdparty/openssl/include/openssl/ssl2.h create mode 100644 3rdparty/openssl/include/openssl/ssl23.h create mode 100644 3rdparty/openssl/include/openssl/ssl3.h create mode 100644 3rdparty/openssl/include/openssl/stack.h create mode 100644 3rdparty/openssl/include/openssl/symhacks.h create mode 100644 3rdparty/openssl/include/openssl/tls1.h create mode 100644 3rdparty/openssl/include/openssl/ts.h create mode 100644 3rdparty/openssl/include/openssl/txt_db.h create mode 100644 3rdparty/openssl/include/openssl/ui.h create mode 100644 3rdparty/openssl/include/openssl/ui_compat.h create mode 100644 3rdparty/openssl/include/openssl/whrlpool.h create mode 100644 3rdparty/openssl/include/openssl/x509.h create mode 100644 3rdparty/openssl/include/openssl/x509_vfy.h create mode 100644 3rdparty/openssl/include/openssl/x509v3.h create mode 100644 3rdparty/openssl/libs/libcrypto.so create mode 100644 3rdparty/openssl/libs/libcrypto.so.1.0.0 create mode 100644 3rdparty/openssl/libs/libssl.so create mode 100644 3rdparty/openssl/libs/libssl.so.1.0.0 create mode 100644 3rdparty/rw_mpp/include/rw_mpp_api.h create mode 100644 3rdparty/rw_mpp/lib/librw_mpp.so create mode 100644 CMakeLists.txt create mode 100644 Main/CMakeLists.txt create mode 100644 Main/main.cpp create mode 100644 Tools/CMakeLists.txt create mode 100644 Tools/VideoRecoder/CMakeLists.txt create mode 100644 Tools/VideoRecoder/main.cpp create mode 100755 resources/build.sh create mode 100644 resources/ssh_host_rsa_key_ok create mode 100644 resources/toolchain.cmake diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..f3960e2 --- /dev/null +++ b/.clang-format @@ -0,0 +1,17 @@ +BasedOnStyle: LLVM + +ObjCBlockIndentWidth: 4 +IndentWidth: 4 +TabWidth: 4 +AccessModifierOffset: -4 +ColumnLimit: 120 + +#模板声明后换行 +AlwaysBreakTemplateDeclarations: true + +# 是否允许短if单行 If true, if (a) return; 可以放到同一行 +AllowShortIfStatementsOnASingleLine: true + +#短句 while (true) continue; 能被放到单行。 +AllowShortLoopsOnASingleLine: true +AllowShortFunctionsOnASingleLine: false \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d7dce0b --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# C++ objects and libs +*.slo +*.lo +*.o +*.a +*.la +*.lai +*.so +*.dll +*.dylib + +# Qt-es +object_script.*.Release +object_script.*.Debug +*_plugin_import.cpp +/.qmake.cache +/.qmake.stash +*.pro.user +*.pro.user.* +*.qbs.user +*.qbs.user.* +*.moc +moc_*.h +*.qmlc +*.jsc +Makefile* +*build-* + +# Qt unit tests +target_wrapper.* + +# QtCreator +*.autosave + +# QtCreator Qml +*.qmlproject.user +*.qmlproject.user.* + +# QtCreator CMake +CMakeLists.txt.user* +build diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..87fad18 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**", + "/opt/Libraries/boost_1_84_0/include", + "build/_deps/kylin-src/Universal" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "c17", + "cppStandard": "gnu++17", + "intelliSenseMode": "linux-gcc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..ea535e5 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,30 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "AppDebug", + "type": "cppdbg", + "request": "launch", + "miDebuggerPath": "/opt/aarch64-v01c01-linux-gnu-gcc/lib/gdb-14.1/bin/aarch64-linux-gnu-gdb", + "miDebuggerServerAddress": "192.168.8.149:8080", + "program": "${workspaceFolder}/build/Tools/SensorCli/SensorCli", + "args": [], + "stopAtEntry": true, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": false, + "logging": { + "engineLogging": false + }, + "MIMode": "gdb", + "useExtendedRemote": true, + "setupCommands": [ + { + "text": "set remote exec-file /data/sdcard/SensorCli", + "description": "设置嵌入式单板加载的程序", + "ignoreFailures": false + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..293fcec --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "editor.formatOnSaveMode": "modificationsIfAvailable", + "editor.formatOnSave": true +} \ No newline at end of file diff --git a/3rdparty/openssl/include/openssl/aes.h b/3rdparty/openssl/include/openssl/aes.h new file mode 100644 index 0000000..faa66c4 --- /dev/null +++ b/3rdparty/openssl/include/openssl/aes.h @@ -0,0 +1,149 @@ +/* crypto/aes/aes.h */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +#ifndef HEADER_AES_H +# define HEADER_AES_H + +# include + +# ifdef OPENSSL_NO_AES +# error AES is disabled. +# endif + +# include + +# define AES_ENCRYPT 1 +# define AES_DECRYPT 0 + +/* + * Because array size can't be a const in C, the following two are macros. + * Both sizes are in bytes. + */ +# define AES_MAXNR 14 +# define AES_BLOCK_SIZE 16 + +#ifdef __cplusplus +extern "C" { +#endif + +/* This should be a hidden type, but EVP requires that the size be known */ +struct aes_key_st { +# ifdef AES_LONG + unsigned long rd_key[4 * (AES_MAXNR + 1)]; +# else + unsigned int rd_key[4 * (AES_MAXNR + 1)]; +# endif + int rounds; +}; +typedef struct aes_key_st AES_KEY; + +const char *AES_options(void); + +int AES_set_encrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); +int AES_set_decrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); + +int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); +int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); + +void AES_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); +void AES_decrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); + +void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key, const int enc); +void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num); +void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char ivec[AES_BLOCK_SIZE], + unsigned char ecount_buf[AES_BLOCK_SIZE], + unsigned int *num); +/* NB: the IV is _two_ blocks long */ +void AES_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +/* NB: the IV is _four_ blocks long */ +void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + const AES_KEY *key2, const unsigned char *ivec, + const int enc); + +int AES_wrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); +int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); + + +#ifdef __cplusplus +} +#endif + +#endif /* !HEADER_AES_H */ diff --git a/3rdparty/openssl/include/openssl/asn1.h b/3rdparty/openssl/include/openssl/asn1.h new file mode 100644 index 0000000..68e791f --- /dev/null +++ b/3rdparty/openssl/include/openssl/asn1.h @@ -0,0 +1,1419 @@ +/* crypto/asn1/asn1.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_ASN1_H +# define HEADER_ASN1_H + +# include +# include +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include + +# include + +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define V_ASN1_UNIVERSAL 0x00 +# define V_ASN1_APPLICATION 0x40 +# define V_ASN1_CONTEXT_SPECIFIC 0x80 +# define V_ASN1_PRIVATE 0xc0 + +# define V_ASN1_CONSTRUCTED 0x20 +# define V_ASN1_PRIMITIVE_TAG 0x1f +# define V_ASN1_PRIMATIVE_TAG 0x1f + +# define V_ASN1_APP_CHOOSE -2/* let the recipient choose */ +# define V_ASN1_OTHER -3/* used in ASN1_TYPE */ +# define V_ASN1_ANY -4/* used in ASN1 template code */ + +# define V_ASN1_NEG 0x100/* negative flag */ + +# define V_ASN1_UNDEF -1 +# define V_ASN1_EOC 0 +# define V_ASN1_BOOLEAN 1 /**/ +# define V_ASN1_INTEGER 2 +# define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) +# define V_ASN1_BIT_STRING 3 +# define V_ASN1_OCTET_STRING 4 +# define V_ASN1_NULL 5 +# define V_ASN1_OBJECT 6 +# define V_ASN1_OBJECT_DESCRIPTOR 7 +# define V_ASN1_EXTERNAL 8 +# define V_ASN1_REAL 9 +# define V_ASN1_ENUMERATED 10 +# define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) +# define V_ASN1_UTF8STRING 12 +# define V_ASN1_SEQUENCE 16 +# define V_ASN1_SET 17 +# define V_ASN1_NUMERICSTRING 18 /**/ +# define V_ASN1_PRINTABLESTRING 19 +# define V_ASN1_T61STRING 20 +# define V_ASN1_TELETEXSTRING 20/* alias */ +# define V_ASN1_VIDEOTEXSTRING 21 /**/ +# define V_ASN1_IA5STRING 22 +# define V_ASN1_UTCTIME 23 +# define V_ASN1_GENERALIZEDTIME 24 /**/ +# define V_ASN1_GRAPHICSTRING 25 /**/ +# define V_ASN1_ISO64STRING 26 /**/ +# define V_ASN1_VISIBLESTRING 26/* alias */ +# define V_ASN1_GENERALSTRING 27 /**/ +# define V_ASN1_UNIVERSALSTRING 28 /**/ +# define V_ASN1_BMPSTRING 30 +/* For use with d2i_ASN1_type_bytes() */ +# define B_ASN1_NUMERICSTRING 0x0001 +# define B_ASN1_PRINTABLESTRING 0x0002 +# define B_ASN1_T61STRING 0x0004 +# define B_ASN1_TELETEXSTRING 0x0004 +# define B_ASN1_VIDEOTEXSTRING 0x0008 +# define B_ASN1_IA5STRING 0x0010 +# define B_ASN1_GRAPHICSTRING 0x0020 +# define B_ASN1_ISO64STRING 0x0040 +# define B_ASN1_VISIBLESTRING 0x0040 +# define B_ASN1_GENERALSTRING 0x0080 +# define B_ASN1_UNIVERSALSTRING 0x0100 +# define B_ASN1_OCTET_STRING 0x0200 +# define B_ASN1_BIT_STRING 0x0400 +# define B_ASN1_BMPSTRING 0x0800 +# define B_ASN1_UNKNOWN 0x1000 +# define B_ASN1_UTF8STRING 0x2000 +# define B_ASN1_UTCTIME 0x4000 +# define B_ASN1_GENERALIZEDTIME 0x8000 +# define B_ASN1_SEQUENCE 0x10000 +/* For use with ASN1_mbstring_copy() */ +# define MBSTRING_FLAG 0x1000 +# define MBSTRING_UTF8 (MBSTRING_FLAG) +# define MBSTRING_ASC (MBSTRING_FLAG|1) +# define MBSTRING_BMP (MBSTRING_FLAG|2) +# define MBSTRING_UNIV (MBSTRING_FLAG|4) +# define SMIME_OLDMIME 0x400 +# define SMIME_CRLFEOL 0x800 +# define SMIME_STREAM 0x1000 + struct X509_algor_st; +DECLARE_STACK_OF(X509_ALGOR) + +# define DECLARE_ASN1_SET_OF(type)/* filled in by mkstack.pl */ +# define IMPLEMENT_ASN1_SET_OF(type)/* nothing, no longer needed */ + +/* + * We MUST make sure that, except for constness, asn1_ctx_st and + * asn1_const_ctx are exactly the same. Fortunately, as soon as the old ASN1 + * parsing macros are gone, we can throw this away as well... + */ +typedef struct asn1_ctx_st { + unsigned char *p; /* work char pointer */ + int eos; /* end of sequence read for indefinite + * encoding */ + int error; /* error code to use when returning an error */ + int inf; /* constructed if 0x20, indefinite is 0x21 */ + int tag; /* tag from last 'get object' */ + int xclass; /* class from last 'get object' */ + long slen; /* length of last 'get object' */ + unsigned char *max; /* largest value of p allowed */ + unsigned char *q; /* temporary variable */ + unsigned char **pp; /* variable */ + int line; /* used in error processing */ +} ASN1_CTX; + +typedef struct asn1_const_ctx_st { + const unsigned char *p; /* work char pointer */ + int eos; /* end of sequence read for indefinite + * encoding */ + int error; /* error code to use when returning an error */ + int inf; /* constructed if 0x20, indefinite is 0x21 */ + int tag; /* tag from last 'get object' */ + int xclass; /* class from last 'get object' */ + long slen; /* length of last 'get object' */ + const unsigned char *max; /* largest value of p allowed */ + const unsigned char *q; /* temporary variable */ + const unsigned char **pp; /* variable */ + int line; /* used in error processing */ +} ASN1_const_CTX; + +/* + * These are used internally in the ASN1_OBJECT to keep track of whether the + * names and data need to be free()ed + */ +# define ASN1_OBJECT_FLAG_DYNAMIC 0x01/* internal use */ +# define ASN1_OBJECT_FLAG_CRITICAL 0x02/* critical x509v3 object id */ +# define ASN1_OBJECT_FLAG_DYNAMIC_STRINGS 0x04/* internal use */ +# define ASN1_OBJECT_FLAG_DYNAMIC_DATA 0x08/* internal use */ +struct asn1_object_st { + const char *sn, *ln; + int nid; + int length; + const unsigned char *data; /* data remains const after init */ + int flags; /* Should we free this one */ +}; + +# define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */ +/* + * This indicates that the ASN1_STRING is not a real value but just a place + * holder for the location where indefinite length constructed data should be + * inserted in the memory buffer + */ +# define ASN1_STRING_FLAG_NDEF 0x010 + +/* + * This flag is used by the CMS code to indicate that a string is not + * complete and is a place holder for content when it had all been accessed. + * The flag will be reset when content has been written to it. + */ + +# define ASN1_STRING_FLAG_CONT 0x020 +/* + * This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING + * type. + */ +# define ASN1_STRING_FLAG_MSTRING 0x040 +/* This is the base type that holds just about everything :-) */ +struct asn1_string_st { + int length; + int type; + unsigned char *data; + /* + * The value of the following field depends on the type being held. It + * is mostly being used for BIT_STRING so if the input data has a + * non-zero 'unused bits' value, it will be handled correctly + */ + long flags; +}; + +/* + * ASN1_ENCODING structure: this is used to save the received encoding of an + * ASN1 type. This is useful to get round problems with invalid encodings + * which can break signatures. + */ + +typedef struct ASN1_ENCODING_st { + unsigned char *enc; /* DER encoding */ + long len; /* Length of encoding */ + int modified; /* set to 1 if 'enc' is invalid */ +} ASN1_ENCODING; + +/* Used with ASN1 LONG type: if a long is set to this it is omitted */ +# define ASN1_LONG_UNDEF 0x7fffffffL + +# define STABLE_FLAGS_MALLOC 0x01 +# define STABLE_NO_MASK 0x02 +# define DIRSTRING_TYPE \ + (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING) +# define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING) + +typedef struct asn1_string_table_st { + int nid; + long minsize; + long maxsize; + unsigned long mask; + unsigned long flags; +} ASN1_STRING_TABLE; + +DECLARE_STACK_OF(ASN1_STRING_TABLE) + +/* size limits: this stuff is taken straight from RFC2459 */ + +# define ub_name 32768 +# define ub_common_name 64 +# define ub_locality_name 128 +# define ub_state_name 128 +# define ub_organization_name 64 +# define ub_organization_unit_name 64 +# define ub_title 64 +# define ub_email_address 128 + +/* + * Declarations for template structures: for full definitions see asn1t.h + */ +typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; +typedef struct ASN1_TLC_st ASN1_TLC; +/* This is just an opaque pointer */ +typedef struct ASN1_VALUE_st ASN1_VALUE; + +/* Declare ASN1 functions: the implement macro in in asn1t.h */ + +# define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, type) + +# define DECLARE_ASN1_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) + +# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(itname) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(const type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(name) + +# define DECLARE_ASN1_NDEF_FUNCTION(name) \ + int i2d_##name##_NDEF(name *a, unsigned char **out); + +# define DECLARE_ASN1_FUNCTIONS_const(name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS(name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + type *name##_new(void); \ + void name##_free(type *a); + +# define DECLARE_ASN1_PRINT_FUNCTION(stname) \ + DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) + +# define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx); + +# define D2I_OF(type) type *(*)(type **,const unsigned char **,long) +# define I2D_OF(type) int (*)(type *,unsigned char **) +# define I2D_OF_const(type) int (*)(const type *,unsigned char **) + +# define CHECKED_D2I_OF(type, d2i) \ + ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) +# define CHECKED_I2D_OF(type, i2d) \ + ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0))) +# define CHECKED_NEW_OF(type, xnew) \ + ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0))) +# define CHECKED_PTR_OF(type, p) \ + ((void*) (1 ? p : (type*)0)) +# define CHECKED_PPTR_OF(type, p) \ + ((void**) (1 ? p : (type**)0)) + +# define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) +# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) +# define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) + +TYPEDEF_D2I2D_OF(void); + +/*- + * The following macros and typedefs allow an ASN1_ITEM + * to be embedded in a structure and referenced. Since + * the ASN1_ITEM pointers need to be globally accessible + * (possibly from shared libraries) they may exist in + * different forms. On platforms that support it the + * ASN1_ITEM structure itself will be globally exported. + * Other platforms will export a function that returns + * an ASN1_ITEM pointer. + * + * To handle both cases transparently the macros below + * should be used instead of hard coding an ASN1_ITEM + * pointer in a structure. + * + * The structure will look like this: + * + * typedef struct SOMETHING_st { + * ... + * ASN1_ITEM_EXP *iptr; + * ... + * } SOMETHING; + * + * It would be initialised as e.g.: + * + * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...}; + * + * and the actual pointer extracted with: + * + * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr); + * + * Finally an ASN1_ITEM pointer can be extracted from an + * appropriate reference with: ASN1_ITEM_rptr(X509). This + * would be used when a function takes an ASN1_ITEM * argument. + * + */ + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM ASN1_ITEM_EXP; + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (&(iptr##_it)) + +# define ASN1_ITEM_rptr(ref) (&(ref##_it)) + +# define DECLARE_ASN1_ITEM(name) \ + OPENSSL_EXTERN const ASN1_ITEM name##_it; + +# else + +/* + * Platforms that can't easily handle shared global variables are declared as + * functions returning ASN1_ITEM pointers. + */ + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr()) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (iptr##_it) + +# define ASN1_ITEM_rptr(ref) (ref##_it()) + +# define DECLARE_ASN1_ITEM(name) \ + const ASN1_ITEM * name##_it(void); + +# endif + +/* Parameters used by ASN1_STRING_print_ex() */ + +/* + * These determine which characters to escape: RFC2253 special characters, + * control characters and MSB set characters + */ + +# define ASN1_STRFLGS_ESC_2253 1 +# define ASN1_STRFLGS_ESC_CTRL 2 +# define ASN1_STRFLGS_ESC_MSB 4 + +/* + * This flag determines how we do escaping: normally RC2253 backslash only, + * set this to use backslash and quote. + */ + +# define ASN1_STRFLGS_ESC_QUOTE 8 + +/* These three flags are internal use only. */ + +/* Character is a valid PrintableString character */ +# define CHARTYPE_PRINTABLESTRING 0x10 +/* Character needs escaping if it is the first character */ +# define CHARTYPE_FIRST_ESC_2253 0x20 +/* Character needs escaping if it is the last character */ +# define CHARTYPE_LAST_ESC_2253 0x40 + +/* + * NB the internal flags are safely reused below by flags handled at the top + * level. + */ + +/* + * If this is set we convert all character strings to UTF8 first + */ + +# define ASN1_STRFLGS_UTF8_CONVERT 0x10 + +/* + * If this is set we don't attempt to interpret content: just assume all + * strings are 1 byte per character. This will produce some pretty odd + * looking output! + */ + +# define ASN1_STRFLGS_IGNORE_TYPE 0x20 + +/* If this is set we include the string type in the output */ +# define ASN1_STRFLGS_SHOW_TYPE 0x40 + +/* + * This determines which strings to display and which to 'dump' (hex dump of + * content octets or DER encoding). We can only dump non character strings or + * everything. If we don't dump 'unknown' they are interpreted as character + * strings with 1 octet per character and are subject to the usual escaping + * options. + */ + +# define ASN1_STRFLGS_DUMP_ALL 0x80 +# define ASN1_STRFLGS_DUMP_UNKNOWN 0x100 + +/* + * These determine what 'dumping' does, we can dump the content octets or the + * DER encoding: both use the RFC2253 #XXXXX notation. + */ + +# define ASN1_STRFLGS_DUMP_DER 0x200 + +/* + * All the string flags consistent with RFC2253, escaping control characters + * isn't essential in RFC2253 but it is advisable anyway. + */ + +# define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \ + ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + ASN1_STRFLGS_UTF8_CONVERT | \ + ASN1_STRFLGS_DUMP_UNKNOWN | \ + ASN1_STRFLGS_DUMP_DER) + +DECLARE_STACK_OF(ASN1_INTEGER) +DECLARE_ASN1_SET_OF(ASN1_INTEGER) + +DECLARE_STACK_OF(ASN1_GENERALSTRING) + +typedef struct asn1_type_st { + int type; + union { + char *ptr; + ASN1_BOOLEAN boolean; + ASN1_STRING *asn1_string; + ASN1_OBJECT *object; + ASN1_INTEGER *integer; + ASN1_ENUMERATED *enumerated; + ASN1_BIT_STRING *bit_string; + ASN1_OCTET_STRING *octet_string; + ASN1_PRINTABLESTRING *printablestring; + ASN1_T61STRING *t61string; + ASN1_IA5STRING *ia5string; + ASN1_GENERALSTRING *generalstring; + ASN1_BMPSTRING *bmpstring; + ASN1_UNIVERSALSTRING *universalstring; + ASN1_UTCTIME *utctime; + ASN1_GENERALIZEDTIME *generalizedtime; + ASN1_VISIBLESTRING *visiblestring; + ASN1_UTF8STRING *utf8string; + /* + * set and sequence are left complete and still contain the set or + * sequence bytes + */ + ASN1_STRING *set; + ASN1_STRING *sequence; + ASN1_VALUE *asn1_value; + } value; +} ASN1_TYPE; + +DECLARE_STACK_OF(ASN1_TYPE) +DECLARE_ASN1_SET_OF(ASN1_TYPE) + +typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; + +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) + +typedef struct NETSCAPE_X509_st { + ASN1_OCTET_STRING *header; + X509 *cert; +} NETSCAPE_X509; + +/* This is used to contain a list of bit names */ +typedef struct BIT_STRING_BITNAME_st { + int bitnum; + const char *lname; + const char *sname; +} BIT_STRING_BITNAME; + +# define M_ASN1_STRING_length(x) ((x)->length) +# define M_ASN1_STRING_length_set(x, n) ((x)->length = (n)) +# define M_ASN1_STRING_type(x) ((x)->type) +# define M_ASN1_STRING_data(x) ((x)->data) + +/* Macros for string operations */ +# define M_ASN1_BIT_STRING_new() (ASN1_BIT_STRING *)\ + ASN1_STRING_type_new(V_ASN1_BIT_STRING) +# define M_ASN1_BIT_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_BIT_STRING_dup(a) (ASN1_BIT_STRING *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_ASN1_BIT_STRING_cmp(a,b) ASN1_STRING_cmp(\ + (const ASN1_STRING *)a,(const ASN1_STRING *)b) +# define M_ASN1_BIT_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) + +# define M_ASN1_INTEGER_new() (ASN1_INTEGER *)\ + ASN1_STRING_type_new(V_ASN1_INTEGER) +# define M_ASN1_INTEGER_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_INTEGER_dup(a) (ASN1_INTEGER *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_ASN1_INTEGER_cmp(a,b) ASN1_STRING_cmp(\ + (const ASN1_STRING *)a,(const ASN1_STRING *)b) + +# define M_ASN1_ENUMERATED_new() (ASN1_ENUMERATED *)\ + ASN1_STRING_type_new(V_ASN1_ENUMERATED) +# define M_ASN1_ENUMERATED_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_ENUMERATED_dup(a) (ASN1_ENUMERATED *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_ASN1_ENUMERATED_cmp(a,b) ASN1_STRING_cmp(\ + (const ASN1_STRING *)a,(const ASN1_STRING *)b) + +# define M_ASN1_OCTET_STRING_new() (ASN1_OCTET_STRING *)\ + ASN1_STRING_type_new(V_ASN1_OCTET_STRING) +# define M_ASN1_OCTET_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_OCTET_STRING_dup(a) (ASN1_OCTET_STRING *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_ASN1_OCTET_STRING_cmp(a,b) ASN1_STRING_cmp(\ + (const ASN1_STRING *)a,(const ASN1_STRING *)b) +# define M_ASN1_OCTET_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) +# define M_ASN1_OCTET_STRING_print(a,b) ASN1_STRING_print(a,(ASN1_STRING *)b) +# define M_i2d_ASN1_OCTET_STRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_OCTET_STRING,\ + V_ASN1_UNIVERSAL) + +# define B_ASN1_TIME \ + B_ASN1_UTCTIME | \ + B_ASN1_GENERALIZEDTIME + +# define B_ASN1_PRINTABLE \ + B_ASN1_NUMERICSTRING| \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_T61STRING| \ + B_ASN1_IA5STRING| \ + B_ASN1_BIT_STRING| \ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING|\ + B_ASN1_SEQUENCE|\ + B_ASN1_UNKNOWN + +# define B_ASN1_DIRECTORYSTRING \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_TELETEXSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_UTF8STRING + +# define B_ASN1_DISPLAYTEXT \ + B_ASN1_IA5STRING| \ + B_ASN1_VISIBLESTRING| \ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING + +# define M_ASN1_PRINTABLE_new() ASN1_STRING_type_new(V_ASN1_T61STRING) +# define M_ASN1_PRINTABLE_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_PRINTABLE(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ + pp,a->type,V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_PRINTABLE(a,pp,l) \ + d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ + B_ASN1_PRINTABLE) + +# define M_DIRECTORYSTRING_new() ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) +# define M_DIRECTORYSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_DIRECTORYSTRING(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ + pp,a->type,V_ASN1_UNIVERSAL) +# define M_d2i_DIRECTORYSTRING(a,pp,l) \ + d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ + B_ASN1_DIRECTORYSTRING) + +# define M_DISPLAYTEXT_new() ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) +# define M_DISPLAYTEXT_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_DISPLAYTEXT(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ + pp,a->type,V_ASN1_UNIVERSAL) +# define M_d2i_DISPLAYTEXT(a,pp,l) \ + d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ + B_ASN1_DISPLAYTEXT) + +# define M_ASN1_PRINTABLESTRING_new() (ASN1_PRINTABLESTRING *)\ + ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) +# define M_ASN1_PRINTABLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_PRINTABLESTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_PRINTABLESTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_PRINTABLESTRING(a,pp,l) \ + (ASN1_PRINTABLESTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_PRINTABLESTRING) + +# define M_ASN1_T61STRING_new() (ASN1_T61STRING *)\ + ASN1_STRING_type_new(V_ASN1_T61STRING) +# define M_ASN1_T61STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_T61STRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_T61STRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_T61STRING(a,pp,l) \ + (ASN1_T61STRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_T61STRING) + +# define M_ASN1_IA5STRING_new() (ASN1_IA5STRING *)\ + ASN1_STRING_type_new(V_ASN1_IA5STRING) +# define M_ASN1_IA5STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_IA5STRING_dup(a) \ + (ASN1_IA5STRING *)ASN1_STRING_dup((const ASN1_STRING *)a) +# define M_i2d_ASN1_IA5STRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_IA5STRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_IA5STRING(a,pp,l) \ + (ASN1_IA5STRING *)d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l,\ + B_ASN1_IA5STRING) + +# define M_ASN1_UTCTIME_new() (ASN1_UTCTIME *)\ + ASN1_STRING_type_new(V_ASN1_UTCTIME) +# define M_ASN1_UTCTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_UTCTIME_dup(a) (ASN1_UTCTIME *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) + +# define M_ASN1_GENERALIZEDTIME_new() (ASN1_GENERALIZEDTIME *)\ + ASN1_STRING_type_new(V_ASN1_GENERALIZEDTIME) +# define M_ASN1_GENERALIZEDTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_GENERALIZEDTIME_dup(a) (ASN1_GENERALIZEDTIME *)ASN1_STRING_dup(\ + (const ASN1_STRING *)a) + +# define M_ASN1_TIME_new() (ASN1_TIME *)\ + ASN1_STRING_type_new(V_ASN1_UTCTIME) +# define M_ASN1_TIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_ASN1_TIME_dup(a) (ASN1_TIME *)\ + ASN1_STRING_dup((const ASN1_STRING *)a) + +# define M_ASN1_GENERALSTRING_new() (ASN1_GENERALSTRING *)\ + ASN1_STRING_type_new(V_ASN1_GENERALSTRING) +# define M_ASN1_GENERALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_GENERALSTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_GENERALSTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_GENERALSTRING(a,pp,l) \ + (ASN1_GENERALSTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_GENERALSTRING) + +# define M_ASN1_UNIVERSALSTRING_new() (ASN1_UNIVERSALSTRING *)\ + ASN1_STRING_type_new(V_ASN1_UNIVERSALSTRING) +# define M_ASN1_UNIVERSALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_UNIVERSALSTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UNIVERSALSTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_UNIVERSALSTRING(a,pp,l) \ + (ASN1_UNIVERSALSTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_UNIVERSALSTRING) + +# define M_ASN1_BMPSTRING_new() (ASN1_BMPSTRING *)\ + ASN1_STRING_type_new(V_ASN1_BMPSTRING) +# define M_ASN1_BMPSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_BMPSTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_BMPSTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_BMPSTRING(a,pp,l) \ + (ASN1_BMPSTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_BMPSTRING) + +# define M_ASN1_VISIBLESTRING_new() (ASN1_VISIBLESTRING *)\ + ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) +# define M_ASN1_VISIBLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_VISIBLESTRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_VISIBLESTRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_VISIBLESTRING(a,pp,l) \ + (ASN1_VISIBLESTRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_VISIBLESTRING) + +# define M_ASN1_UTF8STRING_new() (ASN1_UTF8STRING *)\ + ASN1_STRING_type_new(V_ASN1_UTF8STRING) +# define M_ASN1_UTF8STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +# define M_i2d_ASN1_UTF8STRING(a,pp) \ + i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UTF8STRING,\ + V_ASN1_UNIVERSAL) +# define M_d2i_ASN1_UTF8STRING(a,pp,l) \ + (ASN1_UTF8STRING *)d2i_ASN1_type_bytes\ + ((ASN1_STRING **)a,pp,l,B_ASN1_UTF8STRING) + + /* for the is_set parameter to i2d_ASN1_SET */ +# define IS_SEQUENCE 0 +# define IS_SET 1 + +DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) + +int ASN1_TYPE_get(ASN1_TYPE *a); +void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); +int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); +int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); + +ASN1_OBJECT *ASN1_OBJECT_new(void); +void ASN1_OBJECT_free(ASN1_OBJECT *a); +int i2d_ASN1_OBJECT(ASN1_OBJECT *a, unsigned char **pp); +ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, + long length); +ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, + long length); + +DECLARE_ASN1_ITEM(ASN1_OBJECT) + +DECLARE_STACK_OF(ASN1_OBJECT) +DECLARE_ASN1_SET_OF(ASN1_OBJECT) + +ASN1_STRING *ASN1_STRING_new(void); +void ASN1_STRING_free(ASN1_STRING *a); +void ASN1_STRING_clear_free(ASN1_STRING *a); +int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); +ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a); +ASN1_STRING *ASN1_STRING_type_new(int type); +int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); + /* + * Since this is used to store all sorts of things, via macros, for now, + * make its data void * + */ +int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); +void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); +int ASN1_STRING_length(const ASN1_STRING *x); +void ASN1_STRING_length_set(ASN1_STRING *x, int n); +int ASN1_STRING_type(ASN1_STRING *x); +unsigned char *ASN1_STRING_data(ASN1_STRING *x); + +DECLARE_ASN1_FUNCTIONS(ASN1_BIT_STRING) +int i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp); +ASN1_BIT_STRING *c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, + const unsigned char **pp, long length); +int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length); +int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); +int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n); +int ASN1_BIT_STRING_check(ASN1_BIT_STRING *a, + unsigned char *flags, int flags_len); + +# ifndef OPENSSL_NO_BIO +int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, + BIT_STRING_BITNAME *tbl, int indent); +# endif +int ASN1_BIT_STRING_num_asc(char *name, BIT_STRING_BITNAME *tbl); +int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, char *name, int value, + BIT_STRING_BITNAME *tbl); + +int i2d_ASN1_BOOLEAN(int a, unsigned char **pp); +int d2i_ASN1_BOOLEAN(int *a, const unsigned char **pp, long length); + +DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) +int i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp); +ASN1_INTEGER *c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, + long length); +ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, + long length); +ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x); +int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); + +DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) + +int ASN1_UTCTIME_check(const ASN1_UTCTIME *a); +ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t); +ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); +int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); +# if 0 +time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s); +# endif + +int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, + time_t t); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, + time_t t, int offset_day, + long offset_sec); +int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); +int ASN1_TIME_diff(int *pday, int *psec, + const ASN1_TIME *from, const ASN1_TIME *to); + +DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) +ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); +int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, + const ASN1_OCTET_STRING *b); +int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, + int len); + +DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTF8STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_NULL) +DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING) + +int UTF8_getc(const unsigned char *str, int len, unsigned long *val); +int UTF8_putc(unsigned char *str, int len, unsigned long value); + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) +DECLARE_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_T61STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_IA5STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_TIME) + +DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF) + +ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t); +ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_TIME_check(ASN1_TIME *t); +ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME + **out); +int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); + +int i2d_ASN1_SET(STACK_OF(OPENSSL_BLOCK) *a, unsigned char **pp, + i2d_of_void *i2d, int ex_tag, int ex_class, int is_set); +STACK_OF(OPENSSL_BLOCK) *d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, + const unsigned char **pp, + long length, d2i_of_void *d2i, + void (*free_func) (OPENSSL_BLOCK), + int ex_tag, int ex_class); + +# ifndef OPENSSL_NO_BIO +int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a); +int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size); +int i2a_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *a); +int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size); +int i2a_ASN1_OBJECT(BIO *bp, ASN1_OBJECT *a); +int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size); +int i2a_ASN1_STRING(BIO *bp, ASN1_STRING *a, int type); +# endif +int i2t_ASN1_OBJECT(char *buf, int buf_len, ASN1_OBJECT *a); + +int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num); +ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int len, + const char *sn, const char *ln); + +int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); +long ASN1_INTEGER_get(const ASN1_INTEGER *a); +ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); +BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); + +int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); +long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a); +ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai); +BIGNUM *ASN1_ENUMERATED_to_BN(ASN1_ENUMERATED *ai, BIGNUM *bn); + +/* General */ +/* given a string, return the correct type, max is the maximum length */ +int ASN1_PRINTABLE_type(const unsigned char *s, int max); + +int i2d_ASN1_bytes(ASN1_STRING *a, unsigned char **pp, int tag, int xclass); +ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, + long length, int Ptag, int Pclass); +unsigned long ASN1_tag2bit(int tag); +/* type is one or more of the B_ASN1_ values. */ +ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp, + long length, int type); + +/* PARSING */ +int asn1_Finish(ASN1_CTX *c); +int asn1_const_Finish(ASN1_const_CTX *c); + +/* SPECIALS */ +int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, + int *pclass, long omax); +int ASN1_check_infinite_end(unsigned char **p, long len); +int ASN1_const_check_infinite_end(const unsigned char **p, long len); +void ASN1_put_object(unsigned char **pp, int constructed, int length, + int tag, int xclass); +int ASN1_put_eoc(unsigned char **pp); +int ASN1_object_size(int constructed, int length, int tag); + +/* Used to implement other functions */ +void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); + +# define ASN1_dup_of(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_dup_of_const(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(const type, x))) + +void *ASN1_item_dup(const ASN1_ITEM *it, void *x); + +/* ASN1 alloc/free macros for when a type is only used internally */ + +# define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type)) +# define M_ASN1_free_of(x, type) \ + ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) + +# ifndef OPENSSL_NO_FP_API +void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x); + +# define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); +int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); + +# define ASN1_i2d_fp_of(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_fp_of_const(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); +int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags); +# endif + +int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in); + +# ifndef OPENSSL_NO_BIO +void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x); + +# define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); +int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x); + +# define ASN1_i2d_bio_of(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_bio_of_const(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); +int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); +int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); +int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); +int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); +int ASN1_STRING_print_ex(BIO *out, ASN1_STRING *str, unsigned long flags); +int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, + unsigned char *buf, int off); +int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent); +int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, + int dump); +# endif +const char *ASN1_tag2str(int tag); + +/* Used to load and write netscape format cert */ + +DECLARE_ASN1_FUNCTIONS(NETSCAPE_X509) + +int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); + +int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len); +int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, unsigned char *data, int max_len); +int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, + unsigned char *data, int len); +int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a, long *num, + unsigned char *data, int max_len); + +STACK_OF(OPENSSL_BLOCK) *ASN1_seq_unpack(const unsigned char *buf, int len, + d2i_of_void *d2i, + void (*free_func) (OPENSSL_BLOCK)); +unsigned char *ASN1_seq_pack(STACK_OF(OPENSSL_BLOCK) *safes, i2d_of_void *i2d, + unsigned char **buf, int *len); +void *ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i); +void *ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it); +ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, + ASN1_OCTET_STRING **oct); + +# define ASN1_pack_string_of(type,obj,i2d,oct) \ + (ASN1_pack_string(CHECKED_PTR_OF(type, obj), \ + CHECKED_I2D_OF(type, i2d), \ + oct)) + +ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, + ASN1_OCTET_STRING **oct); + +void ASN1_STRING_set_default_mask(unsigned long mask); +int ASN1_STRING_set_default_mask_asc(const char *p); +unsigned long ASN1_STRING_get_default_mask(void); +int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask); +int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask, + long minsize, long maxsize); + +ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, + const unsigned char *in, int inlen, + int inform, int nid); +ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); +int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); +void ASN1_STRING_TABLE_cleanup(void); + +/* ASN1 template functions */ + +/* Old API compatible functions */ +ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); +void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); +ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, + long len, const ASN1_ITEM *it); +int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); +int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, + const ASN1_ITEM *it); + +void ASN1_add_oid_module(void); + +ASN1_TYPE *ASN1_generate_nconf(char *str, CONF *nconf); +ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf); + +/* ASN1 Print flags */ + +/* Indicate missing OPTIONAL fields */ +# define ASN1_PCTX_FLAGS_SHOW_ABSENT 0x001 +/* Mark start and end of SEQUENCE */ +# define ASN1_PCTX_FLAGS_SHOW_SEQUENCE 0x002 +/* Mark start and end of SEQUENCE/SET OF */ +# define ASN1_PCTX_FLAGS_SHOW_SSOF 0x004 +/* Show the ASN1 type of primitives */ +# define ASN1_PCTX_FLAGS_SHOW_TYPE 0x008 +/* Don't show ASN1 type of ANY */ +# define ASN1_PCTX_FLAGS_NO_ANY_TYPE 0x010 +/* Don't show ASN1 type of MSTRINGs */ +# define ASN1_PCTX_FLAGS_NO_MSTRING_TYPE 0x020 +/* Don't show field names in SEQUENCE */ +# define ASN1_PCTX_FLAGS_NO_FIELD_NAME 0x040 +/* Show structure names of each SEQUENCE field */ +# define ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME 0x080 +/* Don't show structure name even at top level */ +# define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 + +int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, + const ASN1_ITEM *it, const ASN1_PCTX *pctx); +ASN1_PCTX *ASN1_PCTX_new(void); +void ASN1_PCTX_free(ASN1_PCTX *p); +unsigned long ASN1_PCTX_get_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_nm_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_cert_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_oid_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_str_flags(ASN1_PCTX *p); +void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); + +BIO_METHOD *BIO_f_asn1(void); + +BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); + +int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const ASN1_ITEM *it); +int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const char *hdr, const ASN1_ITEM *it); +int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, + int ctype_nid, int econt_nid, + STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); +ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); +int SMIME_crlf_copy(BIO *in, BIO *out, int flags); +int SMIME_text(BIO *in, BIO *out); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_ASN1_strings(void); + +/* Error codes for the ASN1 functions. */ + +/* Function codes. */ +# define ASN1_F_A2D_ASN1_OBJECT 100 +# define ASN1_F_A2I_ASN1_ENUMERATED 101 +# define ASN1_F_A2I_ASN1_INTEGER 102 +# define ASN1_F_A2I_ASN1_STRING 103 +# define ASN1_F_APPEND_EXP 176 +# define ASN1_F_ASN1_BIT_STRING_SET_BIT 183 +# define ASN1_F_ASN1_CB 177 +# define ASN1_F_ASN1_CHECK_TLEN 104 +# define ASN1_F_ASN1_COLLATE_PRIMITIVE 105 +# define ASN1_F_ASN1_COLLECT 106 +# define ASN1_F_ASN1_D2I_EX_PRIMITIVE 108 +# define ASN1_F_ASN1_D2I_FP 109 +# define ASN1_F_ASN1_D2I_READ_BIO 107 +# define ASN1_F_ASN1_DIGEST 184 +# define ASN1_F_ASN1_DO_ADB 110 +# define ASN1_F_ASN1_DUP 111 +# define ASN1_F_ASN1_ENUMERATED_SET 112 +# define ASN1_F_ASN1_ENUMERATED_TO_BN 113 +# define ASN1_F_ASN1_EX_C2I 204 +# define ASN1_F_ASN1_FIND_END 190 +# define ASN1_F_ASN1_GENERALIZEDTIME_ADJ 216 +# define ASN1_F_ASN1_GENERALIZEDTIME_SET 185 +# define ASN1_F_ASN1_GENERATE_V3 178 +# define ASN1_F_ASN1_GET_OBJECT 114 +# define ASN1_F_ASN1_HEADER_NEW 115 +# define ASN1_F_ASN1_I2D_BIO 116 +# define ASN1_F_ASN1_I2D_FP 117 +# define ASN1_F_ASN1_INTEGER_SET 118 +# define ASN1_F_ASN1_INTEGER_TO_BN 119 +# define ASN1_F_ASN1_ITEM_D2I_FP 206 +# define ASN1_F_ASN1_ITEM_DUP 191 +# define ASN1_F_ASN1_ITEM_EX_COMBINE_NEW 121 +# define ASN1_F_ASN1_ITEM_EX_D2I 120 +# define ASN1_F_ASN1_ITEM_I2D_BIO 192 +# define ASN1_F_ASN1_ITEM_I2D_FP 193 +# define ASN1_F_ASN1_ITEM_PACK 198 +# define ASN1_F_ASN1_ITEM_SIGN 195 +# define ASN1_F_ASN1_ITEM_SIGN_CTX 220 +# define ASN1_F_ASN1_ITEM_UNPACK 199 +# define ASN1_F_ASN1_ITEM_VERIFY 197 +# define ASN1_F_ASN1_MBSTRING_NCOPY 122 +# define ASN1_F_ASN1_OBJECT_NEW 123 +# define ASN1_F_ASN1_OUTPUT_DATA 214 +# define ASN1_F_ASN1_PACK_STRING 124 +# define ASN1_F_ASN1_PCTX_NEW 205 +# define ASN1_F_ASN1_PKCS5_PBE_SET 125 +# define ASN1_F_ASN1_SEQ_PACK 126 +# define ASN1_F_ASN1_SEQ_UNPACK 127 +# define ASN1_F_ASN1_SIGN 128 +# define ASN1_F_ASN1_STR2TYPE 179 +# define ASN1_F_ASN1_STRING_SET 186 +# define ASN1_F_ASN1_STRING_TABLE_ADD 129 +# define ASN1_F_ASN1_STRING_TYPE_NEW 130 +# define ASN1_F_ASN1_TEMPLATE_EX_D2I 132 +# define ASN1_F_ASN1_TEMPLATE_NEW 133 +# define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I 131 +# define ASN1_F_ASN1_TIME_ADJ 217 +# define ASN1_F_ASN1_TIME_SET 175 +# define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 134 +# define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 135 +# define ASN1_F_ASN1_UNPACK_STRING 136 +# define ASN1_F_ASN1_UTCTIME_ADJ 218 +# define ASN1_F_ASN1_UTCTIME_SET 187 +# define ASN1_F_ASN1_VERIFY 137 +# define ASN1_F_B64_READ_ASN1 209 +# define ASN1_F_B64_WRITE_ASN1 210 +# define ASN1_F_BIO_NEW_NDEF 208 +# define ASN1_F_BITSTR_CB 180 +# define ASN1_F_BN_TO_ASN1_ENUMERATED 138 +# define ASN1_F_BN_TO_ASN1_INTEGER 139 +# define ASN1_F_C2I_ASN1_BIT_STRING 189 +# define ASN1_F_C2I_ASN1_INTEGER 194 +# define ASN1_F_C2I_ASN1_OBJECT 196 +# define ASN1_F_COLLECT_DATA 140 +# define ASN1_F_D2I_ASN1_BIT_STRING 141 +# define ASN1_F_D2I_ASN1_BOOLEAN 142 +# define ASN1_F_D2I_ASN1_BYTES 143 +# define ASN1_F_D2I_ASN1_GENERALIZEDTIME 144 +# define ASN1_F_D2I_ASN1_HEADER 145 +# define ASN1_F_D2I_ASN1_INTEGER 146 +# define ASN1_F_D2I_ASN1_OBJECT 147 +# define ASN1_F_D2I_ASN1_SET 148 +# define ASN1_F_D2I_ASN1_TYPE_BYTES 149 +# define ASN1_F_D2I_ASN1_UINTEGER 150 +# define ASN1_F_D2I_ASN1_UTCTIME 151 +# define ASN1_F_D2I_AUTOPRIVATEKEY 207 +# define ASN1_F_D2I_NETSCAPE_RSA 152 +# define ASN1_F_D2I_NETSCAPE_RSA_2 153 +# define ASN1_F_D2I_PRIVATEKEY 154 +# define ASN1_F_D2I_PUBLICKEY 155 +# define ASN1_F_D2I_RSA_NET 200 +# define ASN1_F_D2I_RSA_NET_2 201 +# define ASN1_F_D2I_X509 156 +# define ASN1_F_D2I_X509_CINF 157 +# define ASN1_F_D2I_X509_PKEY 159 +# define ASN1_F_I2D_ASN1_BIO_STREAM 211 +# define ASN1_F_I2D_ASN1_SET 188 +# define ASN1_F_I2D_ASN1_TIME 160 +# define ASN1_F_I2D_DSA_PUBKEY 161 +# define ASN1_F_I2D_EC_PUBKEY 181 +# define ASN1_F_I2D_PRIVATEKEY 163 +# define ASN1_F_I2D_PUBLICKEY 164 +# define ASN1_F_I2D_RSA_NET 162 +# define ASN1_F_I2D_RSA_PUBKEY 165 +# define ASN1_F_LONG_C2I 166 +# define ASN1_F_OID_MODULE_INIT 174 +# define ASN1_F_PARSE_TAGGING 182 +# define ASN1_F_PKCS5_PBE2_SET_IV 167 +# define ASN1_F_PKCS5_PBE_SET 202 +# define ASN1_F_PKCS5_PBE_SET0_ALGOR 215 +# define ASN1_F_PKCS5_PBKDF2_SET 219 +# define ASN1_F_SMIME_READ_ASN1 212 +# define ASN1_F_SMIME_TEXT 213 +# define ASN1_F_X509_CINF_NEW 168 +# define ASN1_F_X509_CRL_ADD0_REVOKED 169 +# define ASN1_F_X509_INFO_NEW 170 +# define ASN1_F_X509_NAME_ENCODE 203 +# define ASN1_F_X509_NAME_EX_D2I 158 +# define ASN1_F_X509_NAME_EX_NEW 171 +# define ASN1_F_X509_NEW 172 +# define ASN1_F_X509_PKEY_NEW 173 + +/* Reason codes. */ +# define ASN1_R_ADDING_OBJECT 171 +# define ASN1_R_ASN1_PARSE_ERROR 203 +# define ASN1_R_ASN1_SIG_PARSE_ERROR 204 +# define ASN1_R_AUX_ERROR 100 +# define ASN1_R_BAD_CLASS 101 +# define ASN1_R_BAD_OBJECT_HEADER 102 +# define ASN1_R_BAD_PASSWORD_READ 103 +# define ASN1_R_BAD_TAG 104 +# define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 214 +# define ASN1_R_BN_LIB 105 +# define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106 +# define ASN1_R_BUFFER_TOO_SMALL 107 +# define ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 108 +# define ASN1_R_CONTEXT_NOT_INITIALISED 217 +# define ASN1_R_DATA_IS_WRONG 109 +# define ASN1_R_DECODE_ERROR 110 +# define ASN1_R_DECODING_ERROR 111 +# define ASN1_R_DEPTH_EXCEEDED 174 +# define ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED 198 +# define ASN1_R_ENCODE_ERROR 112 +# define ASN1_R_ERROR_GETTING_TIME 173 +# define ASN1_R_ERROR_LOADING_SECTION 172 +# define ASN1_R_ERROR_PARSING_SET_ELEMENT 113 +# define ASN1_R_ERROR_SETTING_CIPHER_PARAMS 114 +# define ASN1_R_EXPECTING_AN_INTEGER 115 +# define ASN1_R_EXPECTING_AN_OBJECT 116 +# define ASN1_R_EXPECTING_A_BOOLEAN 117 +# define ASN1_R_EXPECTING_A_TIME 118 +# define ASN1_R_EXPLICIT_LENGTH_MISMATCH 119 +# define ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED 120 +# define ASN1_R_FIELD_MISSING 121 +# define ASN1_R_FIRST_NUM_TOO_LARGE 122 +# define ASN1_R_HEADER_TOO_LONG 123 +# define ASN1_R_ILLEGAL_BITSTRING_FORMAT 175 +# define ASN1_R_ILLEGAL_BOOLEAN 176 +# define ASN1_R_ILLEGAL_CHARACTERS 124 +# define ASN1_R_ILLEGAL_FORMAT 177 +# define ASN1_R_ILLEGAL_HEX 178 +# define ASN1_R_ILLEGAL_IMPLICIT_TAG 179 +# define ASN1_R_ILLEGAL_INTEGER 180 +# define ASN1_R_ILLEGAL_NESTED_TAGGING 181 +# define ASN1_R_ILLEGAL_NULL 125 +# define ASN1_R_ILLEGAL_NULL_VALUE 182 +# define ASN1_R_ILLEGAL_OBJECT 183 +# define ASN1_R_ILLEGAL_OPTIONAL_ANY 126 +# define ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE 170 +# define ASN1_R_ILLEGAL_TAGGED_ANY 127 +# define ASN1_R_ILLEGAL_TIME_VALUE 184 +# define ASN1_R_INTEGER_NOT_ASCII_FORMAT 185 +# define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 128 +# define ASN1_R_INVALID_BIT_STRING_BITS_LEFT 220 +# define ASN1_R_INVALID_BMPSTRING_LENGTH 129 +# define ASN1_R_INVALID_DIGIT 130 +# define ASN1_R_INVALID_MIME_TYPE 205 +# define ASN1_R_INVALID_MODIFIER 186 +# define ASN1_R_INVALID_NUMBER 187 +# define ASN1_R_INVALID_OBJECT_ENCODING 216 +# define ASN1_R_INVALID_SEPARATOR 131 +# define ASN1_R_INVALID_TIME_FORMAT 132 +# define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 133 +# define ASN1_R_INVALID_UTF8STRING 134 +# define ASN1_R_IV_TOO_LARGE 135 +# define ASN1_R_LENGTH_ERROR 136 +# define ASN1_R_LIST_ERROR 188 +# define ASN1_R_MIME_NO_CONTENT_TYPE 206 +# define ASN1_R_MIME_PARSE_ERROR 207 +# define ASN1_R_MIME_SIG_PARSE_ERROR 208 +# define ASN1_R_MISSING_EOC 137 +# define ASN1_R_MISSING_SECOND_NUMBER 138 +# define ASN1_R_MISSING_VALUE 189 +# define ASN1_R_MSTRING_NOT_UNIVERSAL 139 +# define ASN1_R_MSTRING_WRONG_TAG 140 +# define ASN1_R_NESTED_ASN1_STRING 197 +# define ASN1_R_NON_HEX_CHARACTERS 141 +# define ASN1_R_NOT_ASCII_FORMAT 190 +# define ASN1_R_NOT_ENOUGH_DATA 142 +# define ASN1_R_NO_CONTENT_TYPE 209 +# define ASN1_R_NO_DEFAULT_DIGEST 201 +# define ASN1_R_NO_MATCHING_CHOICE_TYPE 143 +# define ASN1_R_NO_MULTIPART_BODY_FAILURE 210 +# define ASN1_R_NO_MULTIPART_BOUNDARY 211 +# define ASN1_R_NO_SIG_CONTENT_TYPE 212 +# define ASN1_R_NULL_IS_WRONG_LENGTH 144 +# define ASN1_R_OBJECT_NOT_ASCII_FORMAT 191 +# define ASN1_R_ODD_NUMBER_OF_CHARS 145 +# define ASN1_R_PRIVATE_KEY_HEADER_MISSING 146 +# define ASN1_R_SECOND_NUMBER_TOO_LARGE 147 +# define ASN1_R_SEQUENCE_LENGTH_MISMATCH 148 +# define ASN1_R_SEQUENCE_NOT_CONSTRUCTED 149 +# define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG 192 +# define ASN1_R_SHORT_LINE 150 +# define ASN1_R_SIG_INVALID_MIME_TYPE 213 +# define ASN1_R_STREAMING_NOT_SUPPORTED 202 +# define ASN1_R_STRING_TOO_LONG 151 +# define ASN1_R_STRING_TOO_SHORT 152 +# define ASN1_R_TAG_VALUE_TOO_HIGH 153 +# define ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 154 +# define ASN1_R_TIME_NOT_ASCII_FORMAT 193 +# define ASN1_R_TOO_LONG 155 +# define ASN1_R_TYPE_NOT_CONSTRUCTED 156 +# define ASN1_R_TYPE_NOT_PRIMITIVE 218 +# define ASN1_R_UNABLE_TO_DECODE_RSA_KEY 157 +# define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY 158 +# define ASN1_R_UNEXPECTED_EOC 159 +# define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 215 +# define ASN1_R_UNKNOWN_FORMAT 160 +# define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161 +# define ASN1_R_UNKNOWN_OBJECT_TYPE 162 +# define ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE 163 +# define ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM 199 +# define ASN1_R_UNKNOWN_TAG 194 +# define ASN1_R_UNKOWN_FORMAT 195 +# define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 164 +# define ASN1_R_UNSUPPORTED_CIPHER 165 +# define ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM 166 +# define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 167 +# define ASN1_R_UNSUPPORTED_TYPE 196 +# define ASN1_R_WRONG_PUBLIC_KEY_TYPE 200 +# define ASN1_R_WRONG_TAG 168 +# define ASN1_R_WRONG_TYPE 169 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/asn1_mac.h b/3rdparty/openssl/include/openssl/asn1_mac.h new file mode 100644 index 0000000..abc6dc3 --- /dev/null +++ b/3rdparty/openssl/include/openssl/asn1_mac.h @@ -0,0 +1,579 @@ +/* crypto/asn1/asn1_mac.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_ASN1_MAC_H +# define HEADER_ASN1_MAC_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef ASN1_MAC_ERR_LIB +# define ASN1_MAC_ERR_LIB ERR_LIB_ASN1 +# endif + +# define ASN1_MAC_H_err(f,r,line) \ + ERR_PUT_error(ASN1_MAC_ERR_LIB,(f),(r),__FILE__,(line)) + +# define M_ASN1_D2I_vars(a,type,func) \ + ASN1_const_CTX c; \ + type ret=NULL; \ + \ + c.pp=(const unsigned char **)pp; \ + c.q= *(const unsigned char **)pp; \ + c.error=ERR_R_NESTED_ASN1_ERROR; \ + if ((a == NULL) || ((*a) == NULL)) \ + { if ((ret=(type)func()) == NULL) \ + { c.line=__LINE__; goto err; } } \ + else ret=(*a); + +# define M_ASN1_D2I_Init() \ + c.p= *(const unsigned char **)pp; \ + c.max=(length == 0)?0:(c.p+length); + +# define M_ASN1_D2I_Finish_2(a) \ + if (!asn1_const_Finish(&c)) \ + { c.line=__LINE__; goto err; } \ + *(const unsigned char **)pp=c.p; \ + if (a != NULL) (*a)=ret; \ + return(ret); + +# define M_ASN1_D2I_Finish(a,func,e) \ + M_ASN1_D2I_Finish_2(a); \ +err:\ + ASN1_MAC_H_err((e),c.error,c.line); \ + asn1_add_error(*(const unsigned char **)pp,(int)(c.q- *pp)); \ + if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ + return(NULL) + +# define M_ASN1_D2I_start_sequence() \ + if (!asn1_GetSequence(&c,&length)) \ + { c.line=__LINE__; goto err; } +/* Begin reading ASN1 without a surrounding sequence */ +# define M_ASN1_D2I_begin() \ + c.slen = length; + +/* End reading ASN1 with no check on length */ +# define M_ASN1_D2I_Finish_nolen(a, func, e) \ + *pp=c.p; \ + if (a != NULL) (*a)=ret; \ + return(ret); \ +err:\ + ASN1_MAC_H_err((e),c.error,c.line); \ + asn1_add_error(*pp,(int)(c.q- *pp)); \ + if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ + return(NULL) + +# define M_ASN1_D2I_end_sequence() \ + (((c.inf&1) == 0)?(c.slen <= 0): \ + (c.eos=ASN1_const_check_infinite_end(&c.p,c.slen))) + +/* Don't use this with d2i_ASN1_BOOLEAN() */ +# define M_ASN1_D2I_get(b, func) \ + c.q=c.p; \ + if (func(&(b),&c.p,c.slen) == NULL) \ + {c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +/* Don't use this with d2i_ASN1_BOOLEAN() */ +# define M_ASN1_D2I_get_x(type,b,func) \ + c.q=c.p; \ + if (((D2I_OF(type))func)(&(b),&c.p,c.slen) == NULL) \ + {c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +/* use this instead () */ +# define M_ASN1_D2I_get_int(b,func) \ + c.q=c.p; \ + if (func(&(b),&c.p,c.slen) < 0) \ + {c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +# define M_ASN1_D2I_get_opt(b,func,type) \ + if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ + == (V_ASN1_UNIVERSAL|(type)))) \ + { \ + M_ASN1_D2I_get(b,func); \ + } + +# define M_ASN1_D2I_get_int_opt(b,func,type) \ + if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ + == (V_ASN1_UNIVERSAL|(type)))) \ + { \ + M_ASN1_D2I_get_int(b,func); \ + } + +# define M_ASN1_D2I_get_imp(b,func, type) \ + M_ASN1_next=(_tmp& V_ASN1_CONSTRUCTED)|type; \ + c.q=c.p; \ + if (func(&(b),&c.p,c.slen) == NULL) \ + {c.line=__LINE__; M_ASN1_next_prev = _tmp; goto err; } \ + c.slen-=(c.p-c.q);\ + M_ASN1_next_prev=_tmp; + +# define M_ASN1_D2I_get_IMP_opt(b,func,tag,type) \ + if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) == \ + (V_ASN1_CONTEXT_SPECIFIC|(tag)))) \ + { \ + unsigned char _tmp = M_ASN1_next; \ + M_ASN1_D2I_get_imp(b,func, type);\ + } + +# define M_ASN1_D2I_get_set(r,func,free_func) \ + M_ASN1_D2I_get_imp_set(r,func,free_func, \ + V_ASN1_SET,V_ASN1_UNIVERSAL); + +# define M_ASN1_D2I_get_set_type(type,r,func,free_func) \ + M_ASN1_D2I_get_imp_set_type(type,r,func,free_func, \ + V_ASN1_SET,V_ASN1_UNIVERSAL); + +# define M_ASN1_D2I_get_set_opt(r,func,free_func) \ + if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ + V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ + { M_ASN1_D2I_get_set(r,func,free_func); } + +# define M_ASN1_D2I_get_set_opt_type(type,r,func,free_func) \ + if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ + V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ + { M_ASN1_D2I_get_set_type(type,r,func,free_func); } + +# define M_ASN1_I2D_len_SET_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_len_SET(a,f); + +# define M_ASN1_I2D_put_SET_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_put_SET(a,f); + +# define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_put_SEQUENCE(a,f); + +# define M_ASN1_I2D_put_SEQUENCE_opt_type(type,a,f) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + M_ASN1_I2D_put_SEQUENCE_type(type,a,f); + +# define M_ASN1_D2I_get_IMP_set_opt(b,func,free_func,tag) \ + if ((c.slen != 0) && \ + (M_ASN1_next == \ + (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ + { \ + M_ASN1_D2I_get_imp_set(b,func,free_func,\ + tag,V_ASN1_CONTEXT_SPECIFIC); \ + } + +# define M_ASN1_D2I_get_IMP_set_opt_type(type,b,func,free_func,tag) \ + if ((c.slen != 0) && \ + (M_ASN1_next == \ + (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ + { \ + M_ASN1_D2I_get_imp_set_type(type,b,func,free_func,\ + tag,V_ASN1_CONTEXT_SPECIFIC); \ + } + +# define M_ASN1_D2I_get_seq(r,func,free_func) \ + M_ASN1_D2I_get_imp_set(r,func,free_func,\ + V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL); + +# define M_ASN1_D2I_get_seq_type(type,r,func,free_func) \ + M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ + V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) + +# define M_ASN1_D2I_get_seq_opt(r,func,free_func) \ + if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ + V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ + { M_ASN1_D2I_get_seq(r,func,free_func); } + +# define M_ASN1_D2I_get_seq_opt_type(type,r,func,free_func) \ + if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ + V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ + { M_ASN1_D2I_get_seq_type(type,r,func,free_func); } + +# define M_ASN1_D2I_get_IMP_set(r,func,free_func,x) \ + M_ASN1_D2I_get_imp_set(r,func,free_func,\ + x,V_ASN1_CONTEXT_SPECIFIC); + +# define M_ASN1_D2I_get_IMP_set_type(type,r,func,free_func,x) \ + M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ + x,V_ASN1_CONTEXT_SPECIFIC); + +# define M_ASN1_D2I_get_imp_set(r,func,free_func,a,b) \ + c.q=c.p; \ + if (d2i_ASN1_SET(&(r),&c.p,c.slen,(char *(*)())func,\ + (void (*)())free_func,a,b) == NULL) \ + { c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +# define M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,a,b) \ + c.q=c.p; \ + if (d2i_ASN1_SET_OF_##type(&(r),&c.p,c.slen,func,\ + free_func,a,b) == NULL) \ + { c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +# define M_ASN1_D2I_get_set_strings(r,func,a,b) \ + c.q=c.p; \ + if (d2i_ASN1_STRING_SET(&(r),&c.p,c.slen,a,b) == NULL) \ + { c.line=__LINE__; goto err; } \ + c.slen-=(c.p-c.q); + +# define M_ASN1_D2I_get_EXP_opt(r,func,tag) \ + if ((c.slen != 0L) && (M_ASN1_next == \ + (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ + { \ + int Tinf,Ttag,Tclass; \ + long Tlen; \ + \ + c.q=c.p; \ + Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ + if (Tinf & 0x80) \ + { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ + c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ + Tlen = c.slen - (c.p - c.q) - 2; \ + if (func(&(r),&c.p,Tlen) == NULL) \ + { c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ + Tlen = c.slen - (c.p - c.q); \ + if(!ASN1_const_check_infinite_end(&c.p, Tlen)) \ + { c.error=ERR_R_MISSING_ASN1_EOS; \ + c.line=__LINE__; goto err; } \ + }\ + c.slen-=(c.p-c.q); \ + } + +# define M_ASN1_D2I_get_EXP_set_opt(r,func,free_func,tag,b) \ + if ((c.slen != 0) && (M_ASN1_next == \ + (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ + { \ + int Tinf,Ttag,Tclass; \ + long Tlen; \ + \ + c.q=c.p; \ + Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ + if (Tinf & 0x80) \ + { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ + c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ + Tlen = c.slen - (c.p - c.q) - 2; \ + if (d2i_ASN1_SET(&(r),&c.p,Tlen,(char *(*)())func, \ + (void (*)())free_func, \ + b,V_ASN1_UNIVERSAL) == NULL) \ + { c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ + Tlen = c.slen - (c.p - c.q); \ + if(!ASN1_check_infinite_end(&c.p, Tlen)) \ + { c.error=ERR_R_MISSING_ASN1_EOS; \ + c.line=__LINE__; goto err; } \ + }\ + c.slen-=(c.p-c.q); \ + } + +# define M_ASN1_D2I_get_EXP_set_opt_type(type,r,func,free_func,tag,b) \ + if ((c.slen != 0) && (M_ASN1_next == \ + (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ + { \ + int Tinf,Ttag,Tclass; \ + long Tlen; \ + \ + c.q=c.p; \ + Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ + if (Tinf & 0x80) \ + { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ + c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ + Tlen = c.slen - (c.p - c.q) - 2; \ + if (d2i_ASN1_SET_OF_##type(&(r),&c.p,Tlen,func, \ + free_func,b,V_ASN1_UNIVERSAL) == NULL) \ + { c.line=__LINE__; goto err; } \ + if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ + Tlen = c.slen - (c.p - c.q); \ + if(!ASN1_check_infinite_end(&c.p, Tlen)) \ + { c.error=ERR_R_MISSING_ASN1_EOS; \ + c.line=__LINE__; goto err; } \ + }\ + c.slen-=(c.p-c.q); \ + } + +/* New macros */ +# define M_ASN1_New_Malloc(ret,type) \ + if ((ret=(type *)OPENSSL_malloc(sizeof(type))) == NULL) \ + { c.line=__LINE__; goto err2; } + +# define M_ASN1_New(arg,func) \ + if (((arg)=func()) == NULL) return(NULL) + +# define M_ASN1_New_Error(a) \ +/*- err: ASN1_MAC_H_err((a),ERR_R_NESTED_ASN1_ERROR,c.line); \ + return(NULL);*/ \ + err2: ASN1_MAC_H_err((a),ERR_R_MALLOC_FAILURE,c.line); \ + return(NULL) + +/* + * BIG UGLY WARNING! This is so damn ugly I wanna puke. Unfortunately, some + * macros that use ASN1_const_CTX still insist on writing in the input + * stream. ARGH! ARGH! ARGH! Let's get rid of this macro package. Please? -- + * Richard Levitte + */ +# define M_ASN1_next (*((unsigned char *)(c.p))) +# define M_ASN1_next_prev (*((unsigned char *)(c.q))) + +/*************************************************/ + +# define M_ASN1_I2D_vars(a) int r=0,ret=0; \ + unsigned char *p; \ + if (a == NULL) return(0) + +/* Length Macros */ +# define M_ASN1_I2D_len(a,f) ret+=f(a,NULL) +# define M_ASN1_I2D_len_IMP_opt(a,f) if (a != NULL) M_ASN1_I2D_len(a,f) + +# define M_ASN1_I2D_len_SET(a,f) \ + ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET); + +# define M_ASN1_I2D_len_SET_type(type,a,f) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SET, \ + V_ASN1_UNIVERSAL,IS_SET); + +# define M_ASN1_I2D_len_SEQUENCE(a,f) \ + ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ + IS_SEQUENCE); + +# define M_ASN1_I2D_len_SEQUENCE_type(type,a,f) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SEQUENCE, \ + V_ASN1_UNIVERSAL,IS_SEQUENCE) + +# define M_ASN1_I2D_len_SEQUENCE_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_len_SEQUENCE(a,f); + +# define M_ASN1_I2D_len_SEQUENCE_opt_type(type,a,f) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + M_ASN1_I2D_len_SEQUENCE_type(type,a,f); + +# define M_ASN1_I2D_len_IMP_SET(a,f,x) \ + ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET); + +# define M_ASN1_I2D_len_IMP_SET_type(type,a,f,x) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ + V_ASN1_CONTEXT_SPECIFIC,IS_SET); + +# define M_ASN1_I2D_len_IMP_SET_opt(a,f,x) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SET); + +# define M_ASN1_I2D_len_IMP_SET_opt_type(type,a,f,x) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ + V_ASN1_CONTEXT_SPECIFIC,IS_SET); + +# define M_ASN1_I2D_len_IMP_SEQUENCE(a,f,x) \ + ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); + +# define M_ASN1_I2D_len_IMP_SEQUENCE_opt(a,f,x) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); + +# define M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(type,a,f,x) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ + V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); + +# define M_ASN1_I2D_len_EXP_opt(a,f,mtag,v) \ + if (a != NULL)\ + { \ + v=f(a,NULL); \ + ret+=ASN1_object_size(1,v,mtag); \ + } + +# define M_ASN1_I2D_len_EXP_SET_opt(a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_num(a) != 0))\ + { \ + v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ + ret+=ASN1_object_size(1,v,mtag); \ + } + +# define M_ASN1_I2D_len_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_num(a) != 0))\ + { \ + v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL, \ + IS_SEQUENCE); \ + ret+=ASN1_object_size(1,v,mtag); \ + } + +# define M_ASN1_I2D_len_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_##type##_num(a) != 0))\ + { \ + v=i2d_ASN1_SET_OF_##type(a,NULL,f,tag, \ + V_ASN1_UNIVERSAL, \ + IS_SEQUENCE); \ + ret+=ASN1_object_size(1,v,mtag); \ + } + +/* Put Macros */ +# define M_ASN1_I2D_put(a,f) f(a,&p) + +# define M_ASN1_I2D_put_IMP_opt(a,f,t) \ + if (a != NULL) \ + { \ + unsigned char *q=p; \ + f(a,&p); \ + *q=(V_ASN1_CONTEXT_SPECIFIC|t|(*q&V_ASN1_CONSTRUCTED));\ + } + +# define M_ASN1_I2D_put_SET(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SET,\ + V_ASN1_UNIVERSAL,IS_SET) +# define M_ASN1_I2D_put_SET_type(type,a,f) \ + i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET) +# define M_ASN1_I2D_put_IMP_SET(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ + V_ASN1_CONTEXT_SPECIFIC,IS_SET) +# define M_ASN1_I2D_put_IMP_SET_type(type,a,f,x) \ + i2d_ASN1_SET_OF_##type(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET) +# define M_ASN1_I2D_put_IMP_SEQUENCE(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ + V_ASN1_CONTEXT_SPECIFIC,IS_SEQUENCE) + +# define M_ASN1_I2D_put_SEQUENCE(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SEQUENCE,\ + V_ASN1_UNIVERSAL,IS_SEQUENCE) + +# define M_ASN1_I2D_put_SEQUENCE_type(type,a,f) \ + i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ + IS_SEQUENCE) + +# define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + M_ASN1_I2D_put_SEQUENCE(a,f); + +# define M_ASN1_I2D_put_IMP_SET_opt(a,f,x) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SET); } + +# define M_ASN1_I2D_put_IMP_SET_opt_type(type,a,f,x) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ + V_ASN1_CONTEXT_SPECIFIC, \ + IS_SET); } + +# define M_ASN1_I2D_put_IMP_SEQUENCE_opt(a,f,x) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); } + +# define M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(type,a,f,x) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ + V_ASN1_CONTEXT_SPECIFIC, \ + IS_SEQUENCE); } + +# define M_ASN1_I2D_put_EXP_opt(a,f,tag,v) \ + if (a != NULL) \ + { \ + ASN1_put_object(&p,1,v,tag,V_ASN1_CONTEXT_SPECIFIC); \ + f(a,&p); \ + } + +# define M_ASN1_I2D_put_EXP_SET_opt(a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + { \ + ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ + i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ + } + +# define M_ASN1_I2D_put_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_num(a) != 0)) \ + { \ + ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ + i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SEQUENCE); \ + } + +# define M_ASN1_I2D_put_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ + if ((a != NULL) && (sk_##type##_num(a) != 0)) \ + { \ + ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ + i2d_ASN1_SET_OF_##type(a,&p,f,tag,V_ASN1_UNIVERSAL, \ + IS_SEQUENCE); \ + } + +# define M_ASN1_I2D_seq_total() \ + r=ASN1_object_size(1,ret,V_ASN1_SEQUENCE); \ + if (pp == NULL) return(r); \ + p= *pp; \ + ASN1_put_object(&p,1,ret,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) + +# define M_ASN1_I2D_INF_seq_start(tag,ctx) \ + *(p++)=(V_ASN1_CONSTRUCTED|(tag)|(ctx)); \ + *(p++)=0x80 + +# define M_ASN1_I2D_INF_seq_end() *(p++)=0x00; *(p++)=0x00 + +# define M_ASN1_I2D_finish() *pp=p; \ + return(r); + +int asn1_GetSequence(ASN1_const_CTX *c, long *length); +void asn1_add_error(const unsigned char *address, int offset); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/asn1t.h b/3rdparty/openssl/include/openssl/asn1t.h new file mode 100644 index 0000000..99bc0ee --- /dev/null +++ b/3rdparty/openssl/include/openssl/asn1t.h @@ -0,0 +1,973 @@ +/* asn1t.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project + * 2000. + */ +/* ==================================================================== + * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_ASN1T_H +# define HEADER_ASN1T_H + +# include +# include +# include + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +/* ASN1 template defines, structures and functions */ + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr)) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ + OPENSSL_GLOBAL const ASN1_ITEM itname##_it = { + +# define ASN1_ITEM_end(itname) \ + }; + +# else + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr())) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ + const ASN1_ITEM * itname##_it(void) \ + { \ + static const ASN1_ITEM local_it = { + +# define ASN1_ITEM_end(itname) \ + }; \ + return &local_it; \ + } + +# endif + +/* Macros to aid ASN1 template writing */ + +# define ASN1_ITEM_TEMPLATE(tname) \ + static const ASN1_TEMPLATE tname##_item_tt + +# define ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) + +/* This is a ASN1 type which just embeds a template */ + +/*- + * This pair helps declare a SEQUENCE. We can do: + * + * ASN1_SEQUENCE(stname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END(stname) + * + * This will produce an ASN1_ITEM called stname_it + * for a structure called stname. + * + * If you want the same structure but a different + * name then use: + * + * ASN1_SEQUENCE(itname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END_name(stname, itname) + * + * This will create an item called itname_it using + * a structure called stname. + */ + +# define ASN1_SEQUENCE(tname) \ + static const ASN1_TEMPLATE tname##_seq_tt[] + +# define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname) + +# define ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE(tname) \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_cb(tname, cb) \ + ASN1_SEQUENCE_cb(tname, cb) + +# define ASN1_SEQUENCE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_BROKEN_SEQUENCE(tname) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_ref(tname, cb, lck) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), lck, cb, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_enc(tname, enc, cb) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc)}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) + +# define ASN1_BROKEN_SEQUENCE_END(stname) ASN1_SEQUENCE_END_ref(stname, stname) + +# define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE_END_cb(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/*- + * This pair helps declare a CHOICE type. We can do: + * + * ASN1_CHOICE(chname) = { + * ... CHOICE options ... + * ASN1_CHOICE_END(chname) + * + * This will produce an ASN1_ITEM called chname_it + * for a structure called chname. The structure + * definition must look like this: + * typedef struct { + * int type; + * union { + * ASN1_SOMETHING *opt1; + * ASN1_SOMEOTHER *opt2; + * } value; + * } chname; + * + * the name of the selector must be 'type'. + * to use an alternative selector name use the + * ASN1_CHOICE_END_selector() version. + */ + +# define ASN1_CHOICE(tname) \ + static const ASN1_TEMPLATE tname##_ch_tt[] + +# define ASN1_CHOICE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_CHOICE(tname) + +# define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) + +# define ASN1_CHOICE_END_name(stname, tname) ASN1_CHOICE_END_selector(stname, tname, type) + +# define ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_CHOICE_END_cb(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/* This helps with the template wrapper form of ASN1_ITEM */ + +# define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type) { \ + (flags), (tag), 0,\ + #name, ASN1_ITEM_ref(type) } + +/* These help with SEQUENCE or CHOICE components */ + +/* used to declare other types */ + +# define ASN1_EX_TYPE(flags, tag, stname, field, type) { \ + (flags), (tag), offsetof(stname, field),\ + #field, ASN1_ITEM_ref(type) } + +/* used when the structure is combined with the parent */ + +# define ASN1_EX_COMBINE(flags, tag, type) { \ + (flags)|ASN1_TFLG_COMBINE, (tag), 0, NULL, ASN1_ITEM_ref(type) } + +/* implicit and explicit helper macros */ + +# define ASN1_IMP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | ex, tag, stname, field, type) + +# define ASN1_EXP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | ex, tag, stname, field, type) + +/* Any defined by macros: the field used is in the table itself */ + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# else +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } +# endif +/* Plain simple type */ +# define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type) + +/* OPTIONAL simple type */ +# define ASN1_OPT(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* IMPLICIT tagged simple type */ +# define ASN1_IMP(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, 0) + +/* IMPLICIT tagged OPTIONAL simple type */ +# define ASN1_IMP_OPT(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) + +/* Same as above but EXPLICIT */ + +# define ASN1_EXP(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, 0) +# define ASN1_EXP_OPT(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) + +/* SEQUENCE OF type */ +# define ASN1_SEQUENCE_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type) + +/* OPTIONAL SEQUENCE OF */ +# define ASN1_SEQUENCE_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Same as above but for SET OF */ + +# define ASN1_SET_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type) + +# define ASN1_SET_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Finally compound types of SEQUENCE, SET, IMPLICIT, EXPLICIT and OPTIONAL */ + +# define ASN1_IMP_SET_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_EXP_SET_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_IMP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +/* EXPLICIT using indefinite length constructed form */ +# define ASN1_NDEF_EXP(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_NDEF) + +/* EXPLICIT OPTIONAL using indefinite length constructed form */ +# define ASN1_NDEF_EXP_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_NDEF) + +/* Macros for the ASN1_ADB structure */ + +# define ASN1_ADB(name) \ + static const ASN1_ADB_TABLE name##_adbtbl[] + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +# define ASN1_ADB_END(name, flags, field, app_table, def, none) \ + ;\ + static const ASN1_ADB name##_adb = {\ + flags,\ + offsetof(name, field),\ + app_table,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + } + +# else + +# define ASN1_ADB_END(name, flags, field, app_table, def, none) \ + ;\ + static const ASN1_ITEM *name##_adb(void) \ + { \ + static const ASN1_ADB internal_adb = \ + {\ + flags,\ + offsetof(name, field),\ + app_table,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + }; \ + return (const ASN1_ITEM *) &internal_adb; \ + } \ + void dummy_function(void) + +# endif + +# define ADB_ENTRY(val, template) {val, template} + +# define ASN1_ADB_TEMPLATE(name) \ + static const ASN1_TEMPLATE name##_tt + +/* + * This is the ASN1 template structure that defines a wrapper round the + * actual type. It determines the actual position of the field in the value + * structure, various flags such as OPTIONAL and the field name. + */ + +struct ASN1_TEMPLATE_st { + unsigned long flags; /* Various flags */ + long tag; /* tag, not used if no tagging */ + unsigned long offset; /* Offset of this field in structure */ +# ifndef NO_ASN1_FIELD_NAMES + const char *field_name; /* Field name */ +# endif + ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */ +}; + +/* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */ + +# define ASN1_TEMPLATE_item(t) (t->item_ptr) +# define ASN1_TEMPLATE_adb(t) (t->item_ptr) + +typedef struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE; +typedef struct ASN1_ADB_st ASN1_ADB; + +struct ASN1_ADB_st { + unsigned long flags; /* Various flags */ + unsigned long offset; /* Offset of selector field */ + STACK_OF(ASN1_ADB_TABLE) **app_items; /* Application defined items */ + const ASN1_ADB_TABLE *tbl; /* Table of possible types */ + long tblcount; /* Number of entries in tbl */ + const ASN1_TEMPLATE *default_tt; /* Type to use if no match */ + const ASN1_TEMPLATE *null_tt; /* Type to use if selector is NULL */ +}; + +struct ASN1_ADB_TABLE_st { + long value; /* NID for an object or value for an int */ + const ASN1_TEMPLATE tt; /* item for this value */ +}; + +/* template flags */ + +/* Field is optional */ +# define ASN1_TFLG_OPTIONAL (0x1) + +/* Field is a SET OF */ +# define ASN1_TFLG_SET_OF (0x1 << 1) + +/* Field is a SEQUENCE OF */ +# define ASN1_TFLG_SEQUENCE_OF (0x2 << 1) + +/* + * Special case: this refers to a SET OF that will be sorted into DER order + * when encoded *and* the corresponding STACK will be modified to match the + * new order. + */ +# define ASN1_TFLG_SET_ORDER (0x3 << 1) + +/* Mask for SET OF or SEQUENCE OF */ +# define ASN1_TFLG_SK_MASK (0x3 << 1) + +/* + * These flags mean the tag should be taken from the tag field. If EXPLICIT + * then the underlying type is used for the inner tag. + */ + +/* IMPLICIT tagging */ +# define ASN1_TFLG_IMPTAG (0x1 << 3) + +/* EXPLICIT tagging, inner tag from underlying type */ +# define ASN1_TFLG_EXPTAG (0x2 << 3) + +# define ASN1_TFLG_TAG_MASK (0x3 << 3) + +/* context specific IMPLICIT */ +# define ASN1_TFLG_IMPLICIT ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT + +/* context specific EXPLICIT */ +# define ASN1_TFLG_EXPLICIT ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT + +/* + * If tagging is in force these determine the type of tag to use. Otherwise + * the tag is determined by the underlying type. These values reflect the + * actual octet format. + */ + +/* Universal tag */ +# define ASN1_TFLG_UNIVERSAL (0x0<<6) +/* Application tag */ +# define ASN1_TFLG_APPLICATION (0x1<<6) +/* Context specific tag */ +# define ASN1_TFLG_CONTEXT (0x2<<6) +/* Private tag */ +# define ASN1_TFLG_PRIVATE (0x3<<6) + +# define ASN1_TFLG_TAG_CLASS (0x3<<6) + +/* + * These are for ANY DEFINED BY type. In this case the 'item' field points to + * an ASN1_ADB structure which contains a table of values to decode the + * relevant type + */ + +# define ASN1_TFLG_ADB_MASK (0x3<<8) + +# define ASN1_TFLG_ADB_OID (0x1<<8) + +# define ASN1_TFLG_ADB_INT (0x1<<9) + +/* + * This flag means a parent structure is passed instead of the field: this is + * useful is a SEQUENCE is being combined with a CHOICE for example. Since + * this means the structure and item name will differ we need to use the + * ASN1_CHOICE_END_name() macro for example. + */ + +# define ASN1_TFLG_COMBINE (0x1<<10) + +/* + * This flag when present in a SEQUENCE OF, SET OF or EXPLICIT causes + * indefinite length constructed encoding to be used if required. + */ + +# define ASN1_TFLG_NDEF (0x1<<11) + +/* This is the actual ASN1 item itself */ + +struct ASN1_ITEM_st { + char itype; /* The item type, primitive, SEQUENCE, CHOICE + * or extern */ + long utype; /* underlying type */ + const ASN1_TEMPLATE *templates; /* If SEQUENCE or CHOICE this contains + * the contents */ + long tcount; /* Number of templates if SEQUENCE or CHOICE */ + const void *funcs; /* functions that handle this type */ + long size; /* Structure size (usually) */ +# ifndef NO_ASN1_FIELD_NAMES + const char *sname; /* Structure name */ +# endif +}; + +/*- + * These are values for the itype field and + * determine how the type is interpreted. + * + * For PRIMITIVE types the underlying type + * determines the behaviour if items is NULL. + * + * Otherwise templates must contain a single + * template and the type is treated in the + * same way as the type specified in the template. + * + * For SEQUENCE types the templates field points + * to the members, the size field is the + * structure size. + * + * For CHOICE types the templates field points + * to each possible member (typically a union) + * and the 'size' field is the offset of the + * selector. + * + * The 'funcs' field is used for application + * specific functions. + * + * For COMPAT types the funcs field gives a + * set of functions that handle this type, this + * supports the old d2i, i2d convention. + * + * The EXTERN type uses a new style d2i/i2d. + * The new style should be used where possible + * because it avoids things like the d2i IMPLICIT + * hack. + * + * MSTRING is a multiple string type, it is used + * for a CHOICE of character strings where the + * actual strings all occupy an ASN1_STRING + * structure. In this case the 'utype' field + * has a special meaning, it is used as a mask + * of acceptable types using the B_ASN1 constants. + * + * NDEF_SEQUENCE is the same as SEQUENCE except + * that it will use indefinite length constructed + * encoding if requested. + * + */ + +# define ASN1_ITYPE_PRIMITIVE 0x0 + +# define ASN1_ITYPE_SEQUENCE 0x1 + +# define ASN1_ITYPE_CHOICE 0x2 + +# define ASN1_ITYPE_COMPAT 0x3 + +# define ASN1_ITYPE_EXTERN 0x4 + +# define ASN1_ITYPE_MSTRING 0x5 + +# define ASN1_ITYPE_NDEF_SEQUENCE 0x6 + +/* + * Cache for ASN1 tag and length, so we don't keep re-reading it for things + * like CHOICE + */ + +struct ASN1_TLC_st { + char valid; /* Values below are valid */ + int ret; /* return value */ + long plen; /* length */ + int ptag; /* class value */ + int pclass; /* class value */ + int hdrlen; /* header length */ +}; + +/* Typedefs for ASN1 function pointers */ + +typedef ASN1_VALUE *ASN1_new_func(void); +typedef void ASN1_free_func(ASN1_VALUE *a); +typedef ASN1_VALUE *ASN1_d2i_func(ASN1_VALUE **a, const unsigned char **in, + long length); +typedef int ASN1_i2d_func(ASN1_VALUE *a, unsigned char **in); + +typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); +typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); +typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); + +typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, + int indent, const char *fname, + const ASN1_PCTX *pctx); + +typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, + int *putype, const ASN1_ITEM *it); +typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, + int len, int utype, char *free_cont, + const ASN1_ITEM *it); +typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, + const ASN1_ITEM *it, int indent, + const ASN1_PCTX *pctx); + +typedef struct ASN1_COMPAT_FUNCS_st { + ASN1_new_func *asn1_new; + ASN1_free_func *asn1_free; + ASN1_d2i_func *asn1_d2i; + ASN1_i2d_func *asn1_i2d; +} ASN1_COMPAT_FUNCS; + +typedef struct ASN1_EXTERN_FUNCS_st { + void *app_data; + ASN1_ex_new_func *asn1_ex_new; + ASN1_ex_free_func *asn1_ex_free; + ASN1_ex_free_func *asn1_ex_clear; + ASN1_ex_d2i *asn1_ex_d2i; + ASN1_ex_i2d *asn1_ex_i2d; + ASN1_ex_print_func *asn1_ex_print; +} ASN1_EXTERN_FUNCS; + +typedef struct ASN1_PRIMITIVE_FUNCS_st { + void *app_data; + unsigned long flags; + ASN1_ex_new_func *prim_new; + ASN1_ex_free_func *prim_free; + ASN1_ex_free_func *prim_clear; + ASN1_primitive_c2i *prim_c2i; + ASN1_primitive_i2c *prim_i2c; + ASN1_primitive_print *prim_print; +} ASN1_PRIMITIVE_FUNCS; + +/* + * This is the ASN1_AUX structure: it handles various miscellaneous + * requirements. For example the use of reference counts and an informational + * callback. The "informational callback" is called at various points during + * the ASN1 encoding and decoding. It can be used to provide minor + * customisation of the structures used. This is most useful where the + * supplied routines *almost* do the right thing but need some extra help at + * a few points. If the callback returns zero then it is assumed a fatal + * error has occurred and the main operation should be abandoned. If major + * changes in the default behaviour are required then an external type is + * more appropriate. + */ + +typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, + void *exarg); + +typedef struct ASN1_AUX_st { + void *app_data; + int flags; + int ref_offset; /* Offset of reference value */ + int ref_lock; /* Lock type to use */ + ASN1_aux_cb *asn1_cb; + int enc_offset; /* Offset of ASN1_ENCODING structure */ +} ASN1_AUX; + +/* For print related callbacks exarg points to this structure */ +typedef struct ASN1_PRINT_ARG_st { + BIO *out; + int indent; + const ASN1_PCTX *pctx; +} ASN1_PRINT_ARG; + +/* For streaming related callbacks exarg points to this structure */ +typedef struct ASN1_STREAM_ARG_st { + /* BIO to stream through */ + BIO *out; + /* BIO with filters appended */ + BIO *ndef_bio; + /* Streaming I/O boundary */ + unsigned char **boundary; +} ASN1_STREAM_ARG; + +/* Flags in ASN1_AUX */ + +/* Use a reference count */ +# define ASN1_AFLG_REFCOUNT 1 +/* Save the encoding of structure (useful for signatures) */ +# define ASN1_AFLG_ENCODING 2 +/* The Sequence length is invalid */ +# define ASN1_AFLG_BROKEN 4 + +/* operation values for asn1_cb */ + +# define ASN1_OP_NEW_PRE 0 +# define ASN1_OP_NEW_POST 1 +# define ASN1_OP_FREE_PRE 2 +# define ASN1_OP_FREE_POST 3 +# define ASN1_OP_D2I_PRE 4 +# define ASN1_OP_D2I_POST 5 +# define ASN1_OP_I2D_PRE 6 +# define ASN1_OP_I2D_POST 7 +# define ASN1_OP_PRINT_PRE 8 +# define ASN1_OP_PRINT_POST 9 +# define ASN1_OP_STREAM_PRE 10 +# define ASN1_OP_STREAM_POST 11 +# define ASN1_OP_DETACHED_PRE 12 +# define ASN1_OP_DETACHED_POST 13 + +/* Macro to implement a primitive type */ +# define IMPLEMENT_ASN1_TYPE(stname) IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0) +# define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, #itname \ + ASN1_ITEM_end(itname) + +/* Macro to implement a multi string type */ +# define IMPLEMENT_ASN1_MSTRING(itname, mask) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \ + ASN1_ITEM_end(itname) + +/* Macro to implement an ASN1_ITEM in terms of old style funcs */ + +# define IMPLEMENT_COMPAT_ASN1(sname) IMPLEMENT_COMPAT_ASN1_type(sname, V_ASN1_SEQUENCE) + +# define IMPLEMENT_COMPAT_ASN1_type(sname, tag) \ + static const ASN1_COMPAT_FUNCS sname##_ff = { \ + (ASN1_new_func *)sname##_new, \ + (ASN1_free_func *)sname##_free, \ + (ASN1_d2i_func *)d2i_##sname, \ + (ASN1_i2d_func *)i2d_##sname, \ + }; \ + ASN1_ITEM_start(sname) \ + ASN1_ITYPE_COMPAT, \ + tag, \ + NULL, \ + 0, \ + &sname##_ff, \ + 0, \ + #sname \ + ASN1_ITEM_end(sname) + +# define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \ + ASN1_ITEM_start(sname) \ + ASN1_ITYPE_EXTERN, \ + tag, \ + NULL, \ + 0, \ + &fptrs, \ + 0, \ + #sname \ + ASN1_ITEM_end(sname) + +/* Macro to implement standard functions in terms of ASN1_ITEM structures */ + +# define IMPLEMENT_ASN1_FUNCTIONS(stname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname) + +# define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname) \ + IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname) + +# define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname) \ + pre stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + pre void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \ + stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +# define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ + int i2d_##stname##_NDEF(stname *a, unsigned char **out) \ + { \ + return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ + } + +/* + * This includes evil casts to remove const: they will go away when full ASN1 + * constification is done. + */ +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(const stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +# define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ + stname * stname##_dup(stname *x) \ + { \ + return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ + } + +# define IMPLEMENT_ASN1_PRINT_FUNCTION(stname) \ + IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx) \ + { \ + return ASN1_item_print(out, (ASN1_VALUE *)x, indent, \ + ASN1_ITEM_rptr(itname), pctx); \ + } + +# define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ + IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name) + +# define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +/* external definitions for primitive types */ + +DECLARE_ASN1_ITEM(ASN1_BOOLEAN) +DECLARE_ASN1_ITEM(ASN1_TBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_FBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_SEQUENCE) +DECLARE_ASN1_ITEM(CBIGNUM) +DECLARE_ASN1_ITEM(BIGNUM) +DECLARE_ASN1_ITEM(LONG) +DECLARE_ASN1_ITEM(ZLONG) + +DECLARE_STACK_OF(ASN1_VALUE) + +/* Functions used internally by the ASN1 code */ + +int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it); +void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it); +int ASN1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); +int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it); + +void ASN1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); +int ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_TEMPLATE *tt); +int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); +int ASN1_template_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_TEMPLATE *tt); +void ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it); + +int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, + const ASN1_ITEM *it); +int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, + int utype, char *free_cont, const ASN1_ITEM *it); + +int asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM *it); +int asn1_set_choice_selector(ASN1_VALUE **pval, int value, + const ASN1_ITEM *it); + +ASN1_VALUE **asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); + +const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, + int nullerr); + +int asn1_do_lock(ASN1_VALUE **pval, int op, const ASN1_ITEM *it); + +void asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it); +void asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it); +int asn1_enc_restore(int *len, unsigned char **out, ASN1_VALUE **pval, + const ASN1_ITEM *it); +int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen, + const ASN1_ITEM *it); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/bio.h b/3rdparty/openssl/include/openssl/bio.h new file mode 100644 index 0000000..8f2438c --- /dev/null +++ b/3rdparty/openssl/include/openssl/bio.h @@ -0,0 +1,883 @@ +/* crypto/bio/bio.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_BIO_H +# define HEADER_BIO_H + +# include + +# ifndef OPENSSL_NO_FP_API +# include +# endif +# include + +# include + +# ifndef OPENSSL_NO_SCTP +# ifndef OPENSSL_SYS_VMS +# include +# else +# include +# endif +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* These are the 'types' of BIOs */ +# define BIO_TYPE_NONE 0 +# define BIO_TYPE_MEM (1|0x0400) +# define BIO_TYPE_FILE (2|0x0400) + +# define BIO_TYPE_FD (4|0x0400|0x0100) +# define BIO_TYPE_SOCKET (5|0x0400|0x0100) +# define BIO_TYPE_NULL (6|0x0400) +# define BIO_TYPE_SSL (7|0x0200) +# define BIO_TYPE_MD (8|0x0200)/* passive filter */ +# define BIO_TYPE_BUFFER (9|0x0200)/* filter */ +# define BIO_TYPE_CIPHER (10|0x0200)/* filter */ +# define BIO_TYPE_BASE64 (11|0x0200)/* filter */ +# define BIO_TYPE_CONNECT (12|0x0400|0x0100)/* socket - connect */ +# define BIO_TYPE_ACCEPT (13|0x0400|0x0100)/* socket for accept */ +# define BIO_TYPE_PROXY_CLIENT (14|0x0200)/* client proxy BIO */ +# define BIO_TYPE_PROXY_SERVER (15|0x0200)/* server proxy BIO */ +# define BIO_TYPE_NBIO_TEST (16|0x0200)/* server proxy BIO */ +# define BIO_TYPE_NULL_FILTER (17|0x0200) +# define BIO_TYPE_BER (18|0x0200)/* BER -> bin filter */ +# define BIO_TYPE_BIO (19|0x0400)/* (half a) BIO pair */ +# define BIO_TYPE_LINEBUFFER (20|0x0200)/* filter */ +# define BIO_TYPE_DGRAM (21|0x0400|0x0100) +# ifndef OPENSSL_NO_SCTP +# define BIO_TYPE_DGRAM_SCTP (24|0x0400|0x0100) +# endif +# define BIO_TYPE_ASN1 (22|0x0200)/* filter */ +# define BIO_TYPE_COMP (23|0x0200)/* filter */ + +# define BIO_TYPE_DESCRIPTOR 0x0100/* socket, fd, connect or accept */ +# define BIO_TYPE_FILTER 0x0200 +# define BIO_TYPE_SOURCE_SINK 0x0400 + +/* + * BIO_FILENAME_READ|BIO_CLOSE to open or close on free. + * BIO_set_fp(in,stdin,BIO_NOCLOSE); + */ +# define BIO_NOCLOSE 0x00 +# define BIO_CLOSE 0x01 + +/* + * These are used in the following macros and are passed to BIO_ctrl() + */ +# define BIO_CTRL_RESET 1/* opt - rewind/zero etc */ +# define BIO_CTRL_EOF 2/* opt - are we at the eof */ +# define BIO_CTRL_INFO 3/* opt - extra tit-bits */ +# define BIO_CTRL_SET 4/* man - set the 'IO' type */ +# define BIO_CTRL_GET 5/* man - get the 'IO' type */ +# define BIO_CTRL_PUSH 6/* opt - internal, used to signify change */ +# define BIO_CTRL_POP 7/* opt - internal, used to signify change */ +# define BIO_CTRL_GET_CLOSE 8/* man - set the 'close' on free */ +# define BIO_CTRL_SET_CLOSE 9/* man - set the 'close' on free */ +# define BIO_CTRL_PENDING 10/* opt - is their more data buffered */ +# define BIO_CTRL_FLUSH 11/* opt - 'flush' buffered output */ +# define BIO_CTRL_DUP 12/* man - extra stuff for 'duped' BIO */ +# define BIO_CTRL_WPENDING 13/* opt - number of bytes still to write */ +/* callback is int cb(BIO *bio,state,ret); */ +# define BIO_CTRL_SET_CALLBACK 14/* opt - set callback function */ +# define BIO_CTRL_GET_CALLBACK 15/* opt - set callback function */ + +# define BIO_CTRL_SET_FILENAME 30/* BIO_s_file special */ + +/* dgram BIO stuff */ +# define BIO_CTRL_DGRAM_CONNECT 31/* BIO dgram special */ +# define BIO_CTRL_DGRAM_SET_CONNECTED 32/* allow for an externally connected + * socket to be passed in */ +# define BIO_CTRL_DGRAM_SET_RECV_TIMEOUT 33/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_RECV_TIMEOUT 34/* getsockopt, essentially */ +# define BIO_CTRL_DGRAM_SET_SEND_TIMEOUT 35/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMEOUT 36/* getsockopt, essentially */ + +# define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP 37/* flag whether the last */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP 38/* I/O operation tiemd out */ + +/* #ifdef IP_MTU_DISCOVER */ +# define BIO_CTRL_DGRAM_MTU_DISCOVER 39/* set DF bit on egress packets */ +/* #endif */ + +# define BIO_CTRL_DGRAM_QUERY_MTU 40/* as kernel for current MTU */ +# define BIO_CTRL_DGRAM_GET_FALLBACK_MTU 47 +# define BIO_CTRL_DGRAM_GET_MTU 41/* get cached value for MTU */ +# define BIO_CTRL_DGRAM_SET_MTU 42/* set cached value for MTU. + * want to use this if asking + * the kernel fails */ + +# define BIO_CTRL_DGRAM_MTU_EXCEEDED 43/* check whether the MTU was + * exceed in the previous write + * operation */ + +# define BIO_CTRL_DGRAM_GET_PEER 46 +# define BIO_CTRL_DGRAM_SET_PEER 44/* Destination for the data */ + +# define BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT 45/* Next DTLS handshake timeout + * to adjust socket timeouts */ +# define BIO_CTRL_DGRAM_SET_DONT_FRAG 48 + +# define BIO_CTRL_DGRAM_GET_MTU_OVERHEAD 49 + +# ifndef OPENSSL_NO_SCTP +/* SCTP stuff */ +# define BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE 50 +# define BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY 51 +# define BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY 52 +# define BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD 53 +# define BIO_CTRL_DGRAM_SCTP_GET_SNDINFO 60 +# define BIO_CTRL_DGRAM_SCTP_SET_SNDINFO 61 +# define BIO_CTRL_DGRAM_SCTP_GET_RCVINFO 62 +# define BIO_CTRL_DGRAM_SCTP_SET_RCVINFO 63 +# define BIO_CTRL_DGRAM_SCTP_GET_PRINFO 64 +# define BIO_CTRL_DGRAM_SCTP_SET_PRINFO 65 +# define BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN 70 +# endif + +/* modifiers */ +# define BIO_FP_READ 0x02 +# define BIO_FP_WRITE 0x04 +# define BIO_FP_APPEND 0x08 +# define BIO_FP_TEXT 0x10 + +# define BIO_FLAGS_READ 0x01 +# define BIO_FLAGS_WRITE 0x02 +# define BIO_FLAGS_IO_SPECIAL 0x04 +# define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) +# define BIO_FLAGS_SHOULD_RETRY 0x08 +# ifndef BIO_FLAGS_UPLINK +/* + * "UPLINK" flag denotes file descriptors provided by application. It + * defaults to 0, as most platforms don't require UPLINK interface. + */ +# define BIO_FLAGS_UPLINK 0 +# endif + +/* Used in BIO_gethostbyname() */ +# define BIO_GHBN_CTRL_HITS 1 +# define BIO_GHBN_CTRL_MISSES 2 +# define BIO_GHBN_CTRL_CACHE_SIZE 3 +# define BIO_GHBN_CTRL_GET_ENTRY 4 +# define BIO_GHBN_CTRL_FLUSH 5 + +/* Mostly used in the SSL BIO */ +/*- + * Not used anymore + * #define BIO_FLAGS_PROTOCOL_DELAYED_READ 0x10 + * #define BIO_FLAGS_PROTOCOL_DELAYED_WRITE 0x20 + * #define BIO_FLAGS_PROTOCOL_STARTUP 0x40 + */ + +# define BIO_FLAGS_BASE64_NO_NL 0x100 + +/* + * This is used with memory BIOs: it means we shouldn't free up or change the + * data in any way. + */ +# define BIO_FLAGS_MEM_RDONLY 0x200 + +typedef struct bio_st BIO; + +void BIO_set_flags(BIO *b, int flags); +int BIO_test_flags(const BIO *b, int flags); +void BIO_clear_flags(BIO *b, int flags); + +# define BIO_get_flags(b) BIO_test_flags(b, ~(0x0)) +# define BIO_set_retry_special(b) \ + BIO_set_flags(b, (BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_read(b) \ + BIO_set_flags(b, (BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_write(b) \ + BIO_set_flags(b, (BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY)) + +/* These are normally used internally in BIOs */ +# define BIO_clear_retry_flags(b) \ + BIO_clear_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_get_retry_flags(b) \ + BIO_test_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) + +/* These should be used by the application to tell why we should retry */ +# define BIO_should_read(a) BIO_test_flags(a, BIO_FLAGS_READ) +# define BIO_should_write(a) BIO_test_flags(a, BIO_FLAGS_WRITE) +# define BIO_should_io_special(a) BIO_test_flags(a, BIO_FLAGS_IO_SPECIAL) +# define BIO_retry_type(a) BIO_test_flags(a, BIO_FLAGS_RWS) +# define BIO_should_retry(a) BIO_test_flags(a, BIO_FLAGS_SHOULD_RETRY) + +/* + * The next three are used in conjunction with the BIO_should_io_special() + * condition. After this returns true, BIO *BIO_get_retry_BIO(BIO *bio, int + * *reason); will walk the BIO stack and return the 'reason' for the special + * and the offending BIO. Given a BIO, BIO_get_retry_reason(bio) will return + * the code. + */ +/* + * Returned from the SSL bio when the certificate retrieval code had an error + */ +# define BIO_RR_SSL_X509_LOOKUP 0x01 +/* Returned from the connect BIO when a connect would have blocked */ +# define BIO_RR_CONNECT 0x02 +/* Returned from the accept BIO when an accept would have blocked */ +# define BIO_RR_ACCEPT 0x03 + +/* These are passed by the BIO callback */ +# define BIO_CB_FREE 0x01 +# define BIO_CB_READ 0x02 +# define BIO_CB_WRITE 0x03 +# define BIO_CB_PUTS 0x04 +# define BIO_CB_GETS 0x05 +# define BIO_CB_CTRL 0x06 + +/* + * The callback is called before and after the underling operation, The + * BIO_CB_RETURN flag indicates if it is after the call + */ +# define BIO_CB_RETURN 0x80 +# define BIO_CB_return(a) ((a)|BIO_CB_RETURN) +# define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) +# define BIO_cb_post(a) ((a)&BIO_CB_RETURN) + +long (*BIO_get_callback(const BIO *b)) (struct bio_st *, int, const char *, + int, long, long); +void BIO_set_callback(BIO *b, + long (*callback) (struct bio_st *, int, const char *, + int, long, long)); +char *BIO_get_callback_arg(const BIO *b); +void BIO_set_callback_arg(BIO *b, char *arg); + +const char *BIO_method_name(const BIO *b); +int BIO_method_type(const BIO *b); + +typedef void bio_info_cb (struct bio_st *, int, const char *, int, long, + long); + +typedef struct bio_method_st { + int type; + const char *name; + int (*bwrite) (BIO *, const char *, int); + int (*bread) (BIO *, char *, int); + int (*bputs) (BIO *, const char *); + int (*bgets) (BIO *, char *, int); + long (*ctrl) (BIO *, int, long, void *); + int (*create) (BIO *); + int (*destroy) (BIO *); + long (*callback_ctrl) (BIO *, int, bio_info_cb *); +} BIO_METHOD; + +struct bio_st { + BIO_METHOD *method; + /* bio, mode, argp, argi, argl, ret */ + long (*callback) (struct bio_st *, int, const char *, int, long, long); + char *cb_arg; /* first argument for the callback */ + int init; + int shutdown; + int flags; /* extra storage */ + int retry_reason; + int num; + void *ptr; + struct bio_st *next_bio; /* used by filter BIOs */ + struct bio_st *prev_bio; /* used by filter BIOs */ + int references; + unsigned long num_read; + unsigned long num_write; + CRYPTO_EX_DATA ex_data; +}; + +DECLARE_STACK_OF(BIO) + +typedef struct bio_f_buffer_ctx_struct { + /*- + * Buffers are setup like this: + * + * <---------------------- size -----------------------> + * +---------------------------------------------------+ + * | consumed | remaining | free space | + * +---------------------------------------------------+ + * <-- off --><------- len -------> + */ + /*- BIO *bio; *//* + * this is now in the BIO struct + */ + int ibuf_size; /* how big is the input buffer */ + int obuf_size; /* how big is the output buffer */ + char *ibuf; /* the char array */ + int ibuf_len; /* how many bytes are in it */ + int ibuf_off; /* write/read offset */ + char *obuf; /* the char array */ + int obuf_len; /* how many bytes are in it */ + int obuf_off; /* write/read offset */ +} BIO_F_BUFFER_CTX; + +/* Prefix and suffix callback in ASN1 BIO */ +typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, + void *parg); + +# ifndef OPENSSL_NO_SCTP +/* SCTP parameter structs */ +struct bio_dgram_sctp_sndinfo { + uint16_t snd_sid; + uint16_t snd_flags; + uint32_t snd_ppid; + uint32_t snd_context; +}; + +struct bio_dgram_sctp_rcvinfo { + uint16_t rcv_sid; + uint16_t rcv_ssn; + uint16_t rcv_flags; + uint32_t rcv_ppid; + uint32_t rcv_tsn; + uint32_t rcv_cumtsn; + uint32_t rcv_context; +}; + +struct bio_dgram_sctp_prinfo { + uint16_t pr_policy; + uint32_t pr_value; +}; +# endif + +/* connect BIO stuff */ +# define BIO_CONN_S_BEFORE 1 +# define BIO_CONN_S_GET_IP 2 +# define BIO_CONN_S_GET_PORT 3 +# define BIO_CONN_S_CREATE_SOCKET 4 +# define BIO_CONN_S_CONNECT 5 +# define BIO_CONN_S_OK 6 +# define BIO_CONN_S_BLOCKED_CONNECT 7 +# define BIO_CONN_S_NBIO 8 +/* + * #define BIO_CONN_get_param_hostname BIO_ctrl + */ + +# define BIO_C_SET_CONNECT 100 +# define BIO_C_DO_STATE_MACHINE 101 +# define BIO_C_SET_NBIO 102 +# define BIO_C_SET_PROXY_PARAM 103 +# define BIO_C_SET_FD 104 +# define BIO_C_GET_FD 105 +# define BIO_C_SET_FILE_PTR 106 +# define BIO_C_GET_FILE_PTR 107 +# define BIO_C_SET_FILENAME 108 +# define BIO_C_SET_SSL 109 +# define BIO_C_GET_SSL 110 +# define BIO_C_SET_MD 111 +# define BIO_C_GET_MD 112 +# define BIO_C_GET_CIPHER_STATUS 113 +# define BIO_C_SET_BUF_MEM 114 +# define BIO_C_GET_BUF_MEM_PTR 115 +# define BIO_C_GET_BUFF_NUM_LINES 116 +# define BIO_C_SET_BUFF_SIZE 117 +# define BIO_C_SET_ACCEPT 118 +# define BIO_C_SSL_MODE 119 +# define BIO_C_GET_MD_CTX 120 +# define BIO_C_GET_PROXY_PARAM 121 +# define BIO_C_SET_BUFF_READ_DATA 122/* data to read first */ +# define BIO_C_GET_CONNECT 123 +# define BIO_C_GET_ACCEPT 124 +# define BIO_C_SET_SSL_RENEGOTIATE_BYTES 125 +# define BIO_C_GET_SSL_NUM_RENEGOTIATES 126 +# define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT 127 +# define BIO_C_FILE_SEEK 128 +# define BIO_C_GET_CIPHER_CTX 129 +# define BIO_C_SET_BUF_MEM_EOF_RETURN 130/* return end of input + * value */ +# define BIO_C_SET_BIND_MODE 131 +# define BIO_C_GET_BIND_MODE 132 +# define BIO_C_FILE_TELL 133 +# define BIO_C_GET_SOCKS 134 +# define BIO_C_SET_SOCKS 135 + +# define BIO_C_SET_WRITE_BUF_SIZE 136/* for BIO_s_bio */ +# define BIO_C_GET_WRITE_BUF_SIZE 137 +# define BIO_C_MAKE_BIO_PAIR 138 +# define BIO_C_DESTROY_BIO_PAIR 139 +# define BIO_C_GET_WRITE_GUARANTEE 140 +# define BIO_C_GET_READ_REQUEST 141 +# define BIO_C_SHUTDOWN_WR 142 +# define BIO_C_NREAD0 143 +# define BIO_C_NREAD 144 +# define BIO_C_NWRITE0 145 +# define BIO_C_NWRITE 146 +# define BIO_C_RESET_READ_REQUEST 147 +# define BIO_C_SET_MD_CTX 148 + +# define BIO_C_SET_PREFIX 149 +# define BIO_C_GET_PREFIX 150 +# define BIO_C_SET_SUFFIX 151 +# define BIO_C_GET_SUFFIX 152 + +# define BIO_C_SET_EX_ARG 153 +# define BIO_C_GET_EX_ARG 154 + +# define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,arg) +# define BIO_get_app_data(s) BIO_get_ex_data(s,0) + +/* BIO_s_connect() and BIO_s_socks4a_connect() */ +# define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0,(char *)name) +# define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1,(char *)port) +# define BIO_set_conn_ip(b,ip) BIO_ctrl(b,BIO_C_SET_CONNECT,2,(char *)ip) +# define BIO_set_conn_int_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,3,(char *)port) +# define BIO_get_conn_hostname(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0) +# define BIO_get_conn_port(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1) +# define BIO_get_conn_ip(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2) +# define BIO_get_conn_int_port(b) BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL) + +# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) + +/* BIO_s_accept() */ +# define BIO_set_accept_port(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0,(char *)name) +# define BIO_get_accept_port(b) BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0) +/* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ +# define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,1,(n)?(void *)"a":NULL) +# define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(char *)bio) + +# define BIO_BIND_NORMAL 0 +# define BIO_BIND_REUSEADDR_IF_UNUSED 1 +# define BIO_BIND_REUSEADDR 2 +# define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) +# define BIO_get_bind_mode(b,mode) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL) + +/* BIO_s_accept() and BIO_s_connect() */ +# define BIO_do_connect(b) BIO_do_handshake(b) +# define BIO_do_accept(b) BIO_do_handshake(b) +# define BIO_do_handshake(b) BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL) + +/* BIO_s_proxy_client() */ +# define BIO_set_url(b,url) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,0,(char *)(url)) +# define BIO_set_proxies(b,p) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,1,(char *)(p)) +/* BIO_set_nbio(b,n) */ +# define BIO_set_filter_bio(b,s) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,2,(char *)(s)) +/* BIO *BIO_get_filter_bio(BIO *bio); */ +# define BIO_set_proxy_cb(b,cb) BIO_callback_ctrl(b,BIO_C_SET_PROXY_PARAM,3,(void *(*cb)())) +# define BIO_set_proxy_header(b,sk) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,4,(char *)sk) +# define BIO_set_no_connect_return(b,bool) BIO_int_ctrl(b,BIO_C_SET_PROXY_PARAM,5,bool) + +# define BIO_get_proxy_header(b,skp) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,0,(char *)skp) +# define BIO_get_proxies(b,pxy_p) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,1,(char *)(pxy_p)) +# define BIO_get_url(b,url) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,2,(char *)(url)) +# define BIO_get_no_connect_return(b) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,5,NULL) + +/* BIO_s_datagram(), BIO_s_fd(), BIO_s_socket(), BIO_s_accept() and BIO_s_connect() */ +# define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) +# define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)c) + +/* BIO_s_file() */ +# define BIO_set_fp(b,fp,c) BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)fp) +# define BIO_get_fp(b,fpp) BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)fpp) + +/* BIO_s_fd() and BIO_s_file() */ +# define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL) +# define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL) + +/* + * name is cast to lose const, but might be better to route through a + * function so we can do it safely + */ +# ifdef CONST_STRICT +/* + * If you are wondering why this isn't defined, its because CONST_STRICT is + * purely a compile-time kludge to allow const to be checked. + */ +int BIO_read_filename(BIO *b, const char *name); +# else +# define BIO_read_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ,(char *)name) +# endif +# define BIO_write_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_WRITE,name) +# define BIO_append_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_APPEND,name) +# define BIO_rw_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name) + +/* + * WARNING WARNING, this ups the reference count on the read bio of the SSL + * structure. This is because the ssl read BIO is now pointed to by the + * next_bio field in the bio. So when you free the BIO, make sure you are + * doing a BIO_free_all() to catch the underlying BIO. + */ +# define BIO_set_ssl(b,ssl,c) BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)ssl) +# define BIO_get_ssl(b,sslp) BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)sslp) +# define BIO_set_ssl_mode(b,client) BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL) +# define BIO_set_ssl_renegotiate_bytes(b,num) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL) +# define BIO_get_num_renegotiates(b) \ + BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL) +# define BIO_set_ssl_renegotiate_timeout(b,seconds) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL) + +/* defined in evp.h */ +/* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)md) */ + +# define BIO_get_mem_data(b,pp) BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) +# define BIO_set_mem_buf(b,bm,c) BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)bm) +# define BIO_get_mem_ptr(b,pp) BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0,(char *)pp) +# define BIO_set_mem_eof_return(b,v) \ + BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL) + +/* For the BIO_f_buffer() type */ +# define BIO_get_buffer_num_lines(b) BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL) +# define BIO_set_buffer_size(b,size) BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL) +# define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0) +# define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1) +# define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf) + +/* Don't use the next one unless you know what you are doing :-) */ +# define BIO_dup_state(b,ret) BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret)) + +# define BIO_reset(b) (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL) +# define BIO_eof(b) (int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL) +# define BIO_set_close(b,c) (int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL) +# define BIO_get_close(b) (int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL) +# define BIO_pending(b) (int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) +# define BIO_wpending(b) (int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL) +/* ...pending macros have inappropriate return type */ +size_t BIO_ctrl_pending(BIO *b); +size_t BIO_ctrl_wpending(BIO *b); +# define BIO_flush(b) (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL) +# define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \ + cbp) +# define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb) + +/* For the BIO_f_buffer() type */ +# define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL) + +/* For BIO_s_bio() */ +# define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL) +# define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) +# define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) +# define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) +# define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) +/* macros with inappropriate type -- but ...pending macros use int too: */ +# define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL) +# define BIO_get_read_request(b) (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL) +size_t BIO_ctrl_get_write_guarantee(BIO *b); +size_t BIO_ctrl_get_read_request(BIO *b); +int BIO_ctrl_reset_read_request(BIO *b); + +/* ctrl macros for dgram */ +# define BIO_ctrl_dgram_connect(b,peer) \ + (int)BIO_ctrl(b,BIO_CTRL_DGRAM_CONNECT,0, (char *)peer) +# define BIO_ctrl_set_connected(b, state, peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, state, (char *)peer) +# define BIO_dgram_recv_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP, 0, NULL) +# define BIO_dgram_send_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP, 0, NULL) +# define BIO_dgram_get_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)peer) +# define BIO_dgram_set_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)peer) +# define BIO_dgram_get_mtu_overhead(b) \ + (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL) + +/* These two aren't currently implemented */ +/* int BIO_get_ex_num(BIO *bio); */ +/* void BIO_set_ex_free_func(BIO *bio,int idx,void (*cb)()); */ +int BIO_set_ex_data(BIO *bio, int idx, void *data); +void *BIO_get_ex_data(BIO *bio, int idx); +int BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +unsigned long BIO_number_read(BIO *bio); +unsigned long BIO_number_written(BIO *bio); + +/* For BIO_f_asn1() */ +int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, + asn1_ps_func *prefix_free); +int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, + asn1_ps_func **pprefix_free); +int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, + asn1_ps_func *suffix_free); +int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, + asn1_ps_func **psuffix_free); + +# ifndef OPENSSL_NO_FP_API +BIO_METHOD *BIO_s_file(void); +BIO *BIO_new_file(const char *filename, const char *mode); +BIO *BIO_new_fp(FILE *stream, int close_flag); +# define BIO_s_file_internal BIO_s_file +# endif +BIO *BIO_new(BIO_METHOD *type); +int BIO_set(BIO *a, BIO_METHOD *type); +int BIO_free(BIO *a); +void BIO_vfree(BIO *a); +int BIO_read(BIO *b, void *data, int len); +int BIO_gets(BIO *bp, char *buf, int size); +int BIO_write(BIO *b, const void *data, int len); +int BIO_puts(BIO *bp, const char *buf); +int BIO_indent(BIO *b, int indent, int max); +long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); +long BIO_callback_ctrl(BIO *b, int cmd, + void (*fp) (struct bio_st *, int, const char *, int, + long, long)); +char *BIO_ptr_ctrl(BIO *bp, int cmd, long larg); +long BIO_int_ctrl(BIO *bp, int cmd, long larg, int iarg); +BIO *BIO_push(BIO *b, BIO *append); +BIO *BIO_pop(BIO *b); +void BIO_free_all(BIO *a); +BIO *BIO_find_type(BIO *b, int bio_type); +BIO *BIO_next(BIO *b); +BIO *BIO_get_retry_BIO(BIO *bio, int *reason); +int BIO_get_retry_reason(BIO *bio); +BIO *BIO_dup_chain(BIO *in); + +int BIO_nread0(BIO *bio, char **buf); +int BIO_nread(BIO *bio, char **buf, int num); +int BIO_nwrite0(BIO *bio, char **buf); +int BIO_nwrite(BIO *bio, char **buf, int num); + +long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, + long argl, long ret); + +BIO_METHOD *BIO_s_mem(void); +BIO *BIO_new_mem_buf(const void *buf, int len); +BIO_METHOD *BIO_s_socket(void); +BIO_METHOD *BIO_s_connect(void); +BIO_METHOD *BIO_s_accept(void); +BIO_METHOD *BIO_s_fd(void); +# ifndef OPENSSL_SYS_OS2 +BIO_METHOD *BIO_s_log(void); +# endif +BIO_METHOD *BIO_s_bio(void); +BIO_METHOD *BIO_s_null(void); +BIO_METHOD *BIO_f_null(void); +BIO_METHOD *BIO_f_buffer(void); +# ifdef OPENSSL_SYS_VMS +BIO_METHOD *BIO_f_linebuffer(void); +# endif +BIO_METHOD *BIO_f_nbio_test(void); +# ifndef OPENSSL_NO_DGRAM +BIO_METHOD *BIO_s_datagram(void); +# ifndef OPENSSL_NO_SCTP +BIO_METHOD *BIO_s_datagram_sctp(void); +# endif +# endif + +/* BIO_METHOD *BIO_f_ber(void); */ + +int BIO_sock_should_retry(int i); +int BIO_sock_non_fatal_error(int error); +int BIO_dgram_non_fatal_error(int error); + +int BIO_fd_should_retry(int i); +int BIO_fd_non_fatal_error(int error); +int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const char *s, int len); +int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const char *s, int len, int indent); +int BIO_dump(BIO *b, const char *bytes, int len); +int BIO_dump_indent(BIO *b, const char *bytes, int len, int indent); +# ifndef OPENSSL_NO_FP_API +int BIO_dump_fp(FILE *fp, const char *s, int len); +int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); +# endif +int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data, + int datalen); + +struct hostent *BIO_gethostbyname(const char *name); +/*- + * We might want a thread-safe interface too: + * struct hostent *BIO_gethostbyname_r(const char *name, + * struct hostent *result, void *buffer, size_t buflen); + * or something similar (caller allocates a struct hostent, + * pointed to by "result", and additional buffer space for the various + * substructures; if the buffer does not suffice, NULL is returned + * and an appropriate error code is set). + */ +int BIO_sock_error(int sock); +int BIO_socket_ioctl(int fd, long type, void *arg); +int BIO_socket_nbio(int fd, int mode); +int BIO_get_port(const char *str, unsigned short *port_ptr); +int BIO_get_host_ip(const char *str, unsigned char *ip); +int BIO_get_accept_socket(char *host_port, int mode); +int BIO_accept(int sock, char **ip_port); +int BIO_sock_init(void); +void BIO_sock_cleanup(void); +int BIO_set_tcp_ndelay(int sock, int turn_on); + +BIO *BIO_new_socket(int sock, int close_flag); +BIO *BIO_new_dgram(int fd, int close_flag); +# ifndef OPENSSL_NO_SCTP +BIO *BIO_new_dgram_sctp(int fd, int close_flag); +int BIO_dgram_is_sctp(BIO *bio); +int BIO_dgram_sctp_notification_cb(BIO *b, + void (*handle_notifications) (BIO *bio, + void + *context, + void *buf), + void *context); +int BIO_dgram_sctp_wait_for_dry(BIO *b); +int BIO_dgram_sctp_msg_waiting(BIO *b); +# endif +BIO *BIO_new_fd(int fd, int close_flag); +BIO *BIO_new_connect(const char *host_port); +BIO *BIO_new_accept(const char *host_port); + +int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, + BIO **bio2, size_t writebuf2); +/* + * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints. + * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default + * value. + */ + +void BIO_copy_next_retry(BIO *b); + +/* + * long BIO_ghbn_ctrl(int cmd,int iarg,char *parg); + */ + +# ifdef __GNUC__ +# define __bio_h__attr__ __attribute__ +# else +# define __bio_h__attr__(x) +# endif +int BIO_printf(BIO *bio, const char *format, ...) +__bio_h__attr__((__format__(__printf__, 2, 3))); +int BIO_vprintf(BIO *bio, const char *format, va_list args) +__bio_h__attr__((__format__(__printf__, 2, 0))); +int BIO_snprintf(char *buf, size_t n, const char *format, ...) +__bio_h__attr__((__format__(__printf__, 3, 4))); +int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) +__bio_h__attr__((__format__(__printf__, 3, 0))); +# undef __bio_h__attr__ + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_BIO_strings(void); + +/* Error codes for the BIO functions. */ + +/* Function codes. */ +# define BIO_F_ACPT_STATE 100 +# define BIO_F_BIO_ACCEPT 101 +# define BIO_F_BIO_BER_GET_HEADER 102 +# define BIO_F_BIO_CALLBACK_CTRL 131 +# define BIO_F_BIO_CTRL 103 +# define BIO_F_BIO_GETHOSTBYNAME 120 +# define BIO_F_BIO_GETS 104 +# define BIO_F_BIO_GET_ACCEPT_SOCKET 105 +# define BIO_F_BIO_GET_HOST_IP 106 +# define BIO_F_BIO_GET_PORT 107 +# define BIO_F_BIO_MAKE_PAIR 121 +# define BIO_F_BIO_NEW 108 +# define BIO_F_BIO_NEW_FILE 109 +# define BIO_F_BIO_NEW_MEM_BUF 126 +# define BIO_F_BIO_NREAD 123 +# define BIO_F_BIO_NREAD0 124 +# define BIO_F_BIO_NWRITE 125 +# define BIO_F_BIO_NWRITE0 122 +# define BIO_F_BIO_PUTS 110 +# define BIO_F_BIO_READ 111 +# define BIO_F_BIO_SOCK_INIT 112 +# define BIO_F_BIO_WRITE 113 +# define BIO_F_BUFFER_CTRL 114 +# define BIO_F_CONN_CTRL 127 +# define BIO_F_CONN_STATE 115 +# define BIO_F_DGRAM_SCTP_READ 132 +# define BIO_F_DGRAM_SCTP_WRITE 133 +# define BIO_F_FILE_CTRL 116 +# define BIO_F_FILE_READ 130 +# define BIO_F_LINEBUFFER_CTRL 129 +# define BIO_F_MEM_READ 128 +# define BIO_F_MEM_WRITE 117 +# define BIO_F_SSL_NEW 118 +# define BIO_F_WSASTARTUP 119 + +/* Reason codes. */ +# define BIO_R_ACCEPT_ERROR 100 +# define BIO_R_BAD_FOPEN_MODE 101 +# define BIO_R_BAD_HOSTNAME_LOOKUP 102 +# define BIO_R_BROKEN_PIPE 124 +# define BIO_R_CONNECT_ERROR 103 +# define BIO_R_EOF_ON_MEMORY_BIO 127 +# define BIO_R_ERROR_SETTING_NBIO 104 +# define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPTED_SOCKET 105 +# define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPT_SOCKET 106 +# define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET 107 +# define BIO_R_INVALID_ARGUMENT 125 +# define BIO_R_INVALID_IP_ADDRESS 108 +# define BIO_R_IN_USE 123 +# define BIO_R_KEEPALIVE 109 +# define BIO_R_NBIO_CONNECT_ERROR 110 +# define BIO_R_NO_ACCEPT_PORT_SPECIFIED 111 +# define BIO_R_NO_HOSTNAME_SPECIFIED 112 +# define BIO_R_NO_PORT_DEFINED 113 +# define BIO_R_NO_PORT_SPECIFIED 114 +# define BIO_R_NO_SUCH_FILE 128 +# define BIO_R_NULL_PARAMETER 115 +# define BIO_R_TAG_MISMATCH 116 +# define BIO_R_UNABLE_TO_BIND_SOCKET 117 +# define BIO_R_UNABLE_TO_CREATE_SOCKET 118 +# define BIO_R_UNABLE_TO_LISTEN_SOCKET 119 +# define BIO_R_UNINITIALIZED 120 +# define BIO_R_UNSUPPORTED_METHOD 121 +# define BIO_R_WRITE_TO_READ_ONLY_BIO 126 +# define BIO_R_WSASTARTUP 122 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/blowfish.h b/3rdparty/openssl/include/openssl/blowfish.h new file mode 100644 index 0000000..8329302 --- /dev/null +++ b/3rdparty/openssl/include/openssl/blowfish.h @@ -0,0 +1,130 @@ +/* crypto/bf/blowfish.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_BLOWFISH_H +# define HEADER_BLOWFISH_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_BF +# error BF is disabled. +# endif + +# define BF_ENCRYPT 1 +# define BF_DECRYPT 0 + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! BF_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! BF_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +# if defined(__LP32__) +# define BF_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define BF_LONG unsigned long +# define BF_LONG_LOG2 3 +/* + * _CRAY note. I could declare short, but I have no idea what impact + * does it have on performance on none-T3E machines. I could declare + * int, but at least on C90 sizeof(int) can be chosen at compile time. + * So I've chosen long... + * + */ +# else +# define BF_LONG unsigned int +# endif + +# define BF_ROUNDS 16 +# define BF_BLOCK 8 + +typedef struct bf_key_st { + BF_LONG P[BF_ROUNDS + 2]; + BF_LONG S[4 * 256]; +} BF_KEY; + +# ifdef OPENSSL_FIPS +void private_BF_set_key(BF_KEY *key, int len, const unsigned char *data); +# endif +void BF_set_key(BF_KEY *key, int len, const unsigned char *data); + +void BF_encrypt(BF_LONG *data, const BF_KEY *key); +void BF_decrypt(BF_LONG *data, const BF_KEY *key); + +void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, + const BF_KEY *key, int enc); +void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + const BF_KEY *schedule, unsigned char *ivec, int enc); +void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num); +const char *BF_options(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/bn.h b/3rdparty/openssl/include/openssl/bn.h new file mode 100644 index 0000000..633d1b1 --- /dev/null +++ b/3rdparty/openssl/include/openssl/bn.h @@ -0,0 +1,951 @@ +/* crypto/bn/bn.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the Eric Young open source + * license provided above. + * + * The binary polynomial arithmetic software is originally written by + * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. + * + */ + +#ifndef HEADER_BN_H +# define HEADER_BN_H + +# include +# include +# ifndef OPENSSL_NO_FP_API +# include /* FILE */ +# endif +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * These preprocessor symbols control various aspects of the bignum headers + * and library code. They're not defined by any "normal" configuration, as + * they are intended for development and testing purposes. NB: defining all + * three can be useful for debugging application code as well as openssl + * itself. BN_DEBUG - turn on various debugging alterations to the bignum + * code BN_DEBUG_RAND - uses random poisoning of unused words to trip up + * mismanagement of bignum internals. You must also define BN_DEBUG. + */ +/* #define BN_DEBUG */ +/* #define BN_DEBUG_RAND */ + +# ifndef OPENSSL_SMALL_FOOTPRINT +# define BN_MUL_COMBA +# define BN_SQR_COMBA +# define BN_RECURSION +# endif + +/* + * This next option uses the C libraries (2 word)/(1 word) function. If it is + * not defined, I use my C version (which is slower). The reason for this + * flag is that when the particular C compiler library routine is used, and + * the library is linked with a different compiler, the library is missing. + * This mostly happens when the library is built with gcc and then linked + * using normal cc. This would be a common occurrence because gcc normally + * produces code that is 2 times faster than system compilers for the big + * number stuff. For machines with only one compiler (or shared libraries), + * this should be on. Again this in only really a problem on machines using + * "long long's", are 32bit, and are not using my assembler code. + */ +# if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || \ + defined(OPENSSL_SYS_WIN32) || defined(linux) +# ifndef BN_DIV2W +# define BN_DIV2W +# endif +# endif + +/* + * assuming long is 64bit - this is the DEC Alpha unsigned long long is only + * 64 bits :-(, don't define BN_LLONG for the DEC Alpha + */ +# ifdef SIXTY_FOUR_BIT_LONG +# define BN_ULLONG unsigned long long +# define BN_ULONG unsigned long +# define BN_LONG long +# define BN_BITS 128 +# define BN_BYTES 8 +# define BN_BITS2 64 +# define BN_BITS4 32 +# define BN_MASK (0xffffffffffffffffffffffffffffffffLL) +# define BN_MASK2 (0xffffffffffffffffL) +# define BN_MASK2l (0xffffffffL) +# define BN_MASK2h (0xffffffff00000000L) +# define BN_MASK2h1 (0xffffffff80000000L) +# define BN_TBIT (0x8000000000000000L) +# define BN_DEC_CONV (10000000000000000000UL) +# define BN_DEC_FMT1 "%lu" +# define BN_DEC_FMT2 "%019lu" +# define BN_DEC_NUM 19 +# define BN_HEX_FMT1 "%lX" +# define BN_HEX_FMT2 "%016lX" +# endif + +/* + * This is where the long long data type is 64 bits, but long is 32. For + * machines where there are 64bit registers, this is the mode to use. IRIX, + * on R4000 and above should use this mode, along with the relevant assembler + * code :-). Do NOT define BN_LLONG. + */ +# ifdef SIXTY_FOUR_BIT +# undef BN_LLONG +# undef BN_ULLONG +# define BN_ULONG unsigned long long +# define BN_LONG long long +# define BN_BITS 128 +# define BN_BYTES 8 +# define BN_BITS2 64 +# define BN_BITS4 32 +# define BN_MASK2 (0xffffffffffffffffLL) +# define BN_MASK2l (0xffffffffL) +# define BN_MASK2h (0xffffffff00000000LL) +# define BN_MASK2h1 (0xffffffff80000000LL) +# define BN_TBIT (0x8000000000000000LL) +# define BN_DEC_CONV (10000000000000000000ULL) +# define BN_DEC_FMT1 "%llu" +# define BN_DEC_FMT2 "%019llu" +# define BN_DEC_NUM 19 +# define BN_HEX_FMT1 "%llX" +# define BN_HEX_FMT2 "%016llX" +# endif + +# ifdef THIRTY_TWO_BIT +# ifdef BN_LLONG +# if defined(_WIN32) && !defined(__GNUC__) +# define BN_ULLONG unsigned __int64 +# define BN_MASK (0xffffffffffffffffI64) +# else +# define BN_ULLONG unsigned long long +# define BN_MASK (0xffffffffffffffffLL) +# endif +# endif +# define BN_ULONG unsigned int +# define BN_LONG int +# define BN_BITS 64 +# define BN_BYTES 4 +# define BN_BITS2 32 +# define BN_BITS4 16 +# define BN_MASK2 (0xffffffffL) +# define BN_MASK2l (0xffff) +# define BN_MASK2h1 (0xffff8000L) +# define BN_MASK2h (0xffff0000L) +# define BN_TBIT (0x80000000L) +# define BN_DEC_CONV (1000000000L) +# define BN_DEC_FMT1 "%u" +# define BN_DEC_FMT2 "%09u" +# define BN_DEC_NUM 9 +# define BN_HEX_FMT1 "%X" +# define BN_HEX_FMT2 "%08X" +# endif + +# define BN_DEFAULT_BITS 1280 + +# define BN_FLG_MALLOCED 0x01 +# define BN_FLG_STATIC_DATA 0x02 + +/* + * avoid leaking exponent information through timing, + * BN_mod_exp_mont() will call BN_mod_exp_mont_consttime, + * BN_div() will call BN_div_no_branch, + * BN_mod_inverse() will call BN_mod_inverse_no_branch. + */ +# define BN_FLG_CONSTTIME 0x04 + +# ifdef OPENSSL_NO_DEPRECATED +/* deprecated name for the flag */ +# define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME +/* + * avoid leaking exponent information through timings + * (BN_mod_exp_mont() will call BN_mod_exp_mont_consttime) + */ +# endif + +# ifndef OPENSSL_NO_DEPRECATED +# define BN_FLG_FREE 0x8000 + /* used for debuging */ +# endif +# define BN_set_flags(b,n) ((b)->flags|=(n)) +# define BN_get_flags(b,n) ((b)->flags&(n)) + +/* + * get a clone of a BIGNUM with changed flags, for *temporary* use only (the + * two BIGNUMs cannot not be used in parallel!) + */ +# define BN_with_flags(dest,b,n) ((dest)->d=(b)->d, \ + (dest)->top=(b)->top, \ + (dest)->dmax=(b)->dmax, \ + (dest)->neg=(b)->neg, \ + (dest)->flags=(((dest)->flags & BN_FLG_MALLOCED) \ + | ((b)->flags & ~BN_FLG_MALLOCED) \ + | BN_FLG_STATIC_DATA \ + | (n))) + +/* Already declared in ossl_typ.h */ +# if 0 +typedef struct bignum_st BIGNUM; +/* Used for temp variables (declaration hidden in bn_lcl.h) */ +typedef struct bignum_ctx BN_CTX; +typedef struct bn_blinding_st BN_BLINDING; +typedef struct bn_mont_ctx_st BN_MONT_CTX; +typedef struct bn_recp_ctx_st BN_RECP_CTX; +typedef struct bn_gencb_st BN_GENCB; +# endif + +struct bignum_st { + BN_ULONG *d; /* Pointer to an array of 'BN_BITS2' bit + * chunks. */ + int top; /* Index of last used d +1. */ + /* The next are internal book keeping for bn_expand. */ + int dmax; /* Size of the d array. */ + int neg; /* one if the number is negative */ + int flags; +}; + +/* Used for montgomery multiplication */ +struct bn_mont_ctx_st { + int ri; /* number of bits in R */ + BIGNUM RR; /* used to convert to montgomery form */ + BIGNUM N; /* The modulus */ + BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1 (Ni is only + * stored for bignum algorithm) */ + BN_ULONG n0[2]; /* least significant word(s) of Ni; (type + * changed with 0.9.9, was "BN_ULONG n0;" + * before) */ + int flags; +}; + +/* + * Used for reciprocal division/mod functions It cannot be shared between + * threads + */ +struct bn_recp_ctx_st { + BIGNUM N; /* the divisor */ + BIGNUM Nr; /* the reciprocal */ + int num_bits; + int shift; + int flags; +}; + +/* Used for slow "generation" functions. */ +struct bn_gencb_st { + unsigned int ver; /* To handle binary (in)compatibility */ + void *arg; /* callback-specific data */ + union { + /* if(ver==1) - handles old style callbacks */ + void (*cb_1) (int, int, void *); + /* if(ver==2) - new callback style */ + int (*cb_2) (int, int, BN_GENCB *); + } cb; +}; +/* Wrapper function to make using BN_GENCB easier, */ +int BN_GENCB_call(BN_GENCB *cb, int a, int b); +/* Macro to populate a BN_GENCB structure with an "old"-style callback */ +# define BN_GENCB_set_old(gencb, callback, cb_arg) { \ + BN_GENCB *tmp_gencb = (gencb); \ + tmp_gencb->ver = 1; \ + tmp_gencb->arg = (cb_arg); \ + tmp_gencb->cb.cb_1 = (callback); } +/* Macro to populate a BN_GENCB structure with a "new"-style callback */ +# define BN_GENCB_set(gencb, callback, cb_arg) { \ + BN_GENCB *tmp_gencb = (gencb); \ + tmp_gencb->ver = 2; \ + tmp_gencb->arg = (cb_arg); \ + tmp_gencb->cb.cb_2 = (callback); } + +# define BN_prime_checks 0 /* default: select number of iterations based + * on the size of the number */ + +/* + * number of Miller-Rabin iterations for an error rate of less than 2^-80 for + * random 'b'-bit input, b >= 100 (taken from table 4.4 in the Handbook of + * Applied Cryptography [Menezes, van Oorschot, Vanstone; CRC Press 1996]; + * original paper: Damgaard, Landrock, Pomerance: Average case error + * estimates for the strong probable prime test. -- Math. Comp. 61 (1993) + * 177-194) + */ +# define BN_prime_checks_for_size(b) ((b) >= 1300 ? 2 : \ + (b) >= 850 ? 3 : \ + (b) >= 650 ? 4 : \ + (b) >= 550 ? 5 : \ + (b) >= 450 ? 6 : \ + (b) >= 400 ? 7 : \ + (b) >= 350 ? 8 : \ + (b) >= 300 ? 9 : \ + (b) >= 250 ? 12 : \ + (b) >= 200 ? 15 : \ + (b) >= 150 ? 18 : \ + /* b >= 100 */ 27) + +# define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) + +/* Note that BN_abs_is_word didn't work reliably for w == 0 until 0.9.8 */ +# define BN_abs_is_word(a,w) ((((a)->top == 1) && ((a)->d[0] == (BN_ULONG)(w))) || \ + (((w) == 0) && ((a)->top == 0))) +# define BN_is_zero(a) ((a)->top == 0) +# define BN_is_one(a) (BN_abs_is_word((a),1) && !(a)->neg) +# define BN_is_word(a,w) (BN_abs_is_word((a),(w)) && (!(w) || !(a)->neg)) +# define BN_is_odd(a) (((a)->top > 0) && ((a)->d[0] & 1)) + +# define BN_one(a) (BN_set_word((a),1)) +# define BN_zero_ex(a) \ + do { \ + BIGNUM *_tmp_bn = (a); \ + _tmp_bn->top = 0; \ + _tmp_bn->neg = 0; \ + } while(0) +# ifdef OPENSSL_NO_DEPRECATED +# define BN_zero(a) BN_zero_ex(a) +# else +# define BN_zero(a) (BN_set_word((a),0)) +# endif + +const BIGNUM *BN_value_one(void); +char *BN_options(void); +BN_CTX *BN_CTX_new(void); +# ifndef OPENSSL_NO_DEPRECATED +void BN_CTX_init(BN_CTX *c); +# endif +void BN_CTX_free(BN_CTX *c); +void BN_CTX_start(BN_CTX *ctx); +BIGNUM *BN_CTX_get(BN_CTX *ctx); +void BN_CTX_end(BN_CTX *ctx); +int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_num_bits(const BIGNUM *a); +int BN_num_bits_word(BN_ULONG); +BIGNUM *BN_new(void); +void BN_init(BIGNUM *); +void BN_clear_free(BIGNUM *a); +BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b); +void BN_swap(BIGNUM *a, BIGNUM *b); +BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2bin(const BIGNUM *a, unsigned char *to); +BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2mpi(const BIGNUM *a, unsigned char *to); +int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); +/** BN_set_negative sets sign of a BIGNUM + * \param b pointer to the BIGNUM object + * \param n 0 if the BIGNUM b should be positive and a value != 0 otherwise + */ +void BN_set_negative(BIGNUM *b, int n); +/** BN_is_negative returns 1 if the BIGNUM is negative + * \param a pointer to the BIGNUM object + * \return 1 if a < 0 and 0 otherwise + */ +# define BN_is_negative(a) ((a)->neg != 0) + +int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, + BN_CTX *ctx); +# define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx)) +int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); +int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m); +int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m); +int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m); +int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m); + +BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w); +BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); +int BN_mul_word(BIGNUM *a, BN_ULONG w); +int BN_add_word(BIGNUM *a, BN_ULONG w); +int BN_sub_word(BIGNUM *a, BN_ULONG w); +int BN_set_word(BIGNUM *a, BN_ULONG w); +BN_ULONG BN_get_word(const BIGNUM *a); + +int BN_cmp(const BIGNUM *a, const BIGNUM *b); +void BN_free(BIGNUM *a); +int BN_is_bit_set(const BIGNUM *a, int n); +int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_lshift1(BIGNUM *r, const BIGNUM *a); +int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); + +int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); +int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *in_mont); +int BN_mod_exp_mont_word(BIGNUM *r, BN_ULONG a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, + const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m, + BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); + +int BN_mask_bits(BIGNUM *a, int n); +# ifndef OPENSSL_NO_FP_API +int BN_print_fp(FILE *fp, const BIGNUM *a); +# endif +# ifdef HEADER_BIO_H +int BN_print(BIO *fp, const BIGNUM *a); +# else +int BN_print(void *fp, const BIGNUM *a); +# endif +int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx); +int BN_rshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_rshift1(BIGNUM *r, const BIGNUM *a); +void BN_clear(BIGNUM *a); +BIGNUM *BN_dup(const BIGNUM *a); +int BN_ucmp(const BIGNUM *a, const BIGNUM *b); +int BN_set_bit(BIGNUM *a, int n); +int BN_clear_bit(BIGNUM *a, int n); +char *BN_bn2hex(const BIGNUM *a); +char *BN_bn2dec(const BIGNUM *a); +int BN_hex2bn(BIGNUM **a, const char *str); +int BN_dec2bn(BIGNUM **a, const char *str); +int BN_asc2bn(BIGNUM **a, const char *str); +int BN_gcd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /* returns + * -2 for + * error */ +BIGNUM *BN_mod_inverse(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); +BIGNUM *BN_mod_sqrt(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); + +void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords); + +/* Deprecated versions */ +# ifndef OPENSSL_NO_DEPRECATED +BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, + const BIGNUM *add, const BIGNUM *rem, + void (*callback) (int, int, void *), void *cb_arg); +int BN_is_prime(const BIGNUM *p, int nchecks, + void (*callback) (int, int, void *), + BN_CTX *ctx, void *cb_arg); +int BN_is_prime_fasttest(const BIGNUM *p, int nchecks, + void (*callback) (int, int, void *), BN_CTX *ctx, + void *cb_arg, int do_trial_division); +# endif /* !defined(OPENSSL_NO_DEPRECATED) */ + +/* Newer versions */ +int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add, + const BIGNUM *rem, BN_GENCB *cb); +int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); +int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, + int do_trial_division, BN_GENCB *cb); + +int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); + +int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, + const BIGNUM *Xp, const BIGNUM *Xp1, + const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx, + BN_GENCB *cb); +int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1, + BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e, + BN_CTX *ctx, BN_GENCB *cb); + +BN_MONT_CTX *BN_MONT_CTX_new(void); +void BN_MONT_CTX_init(BN_MONT_CTX *ctx); +int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + BN_MONT_CTX *mont, BN_CTX *ctx); +# define BN_to_montgomery(r,a,mont,ctx) BN_mod_mul_montgomery(\ + (r),(a),&((mont)->RR),(mont),(ctx)) +int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, + BN_MONT_CTX *mont, BN_CTX *ctx); +void BN_MONT_CTX_free(BN_MONT_CTX *mont); +int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx); +BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from); +BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, int lock, + const BIGNUM *mod, BN_CTX *ctx); + +/* BN_BLINDING flags */ +# define BN_BLINDING_NO_UPDATE 0x00000001 +# define BN_BLINDING_NO_RECREATE 0x00000002 + +BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod); +void BN_BLINDING_free(BN_BLINDING *b); +int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *); +int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, + BN_CTX *); +# ifndef OPENSSL_NO_DEPRECATED +unsigned long BN_BLINDING_get_thread_id(const BN_BLINDING *); +void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long); +# endif +CRYPTO_THREADID *BN_BLINDING_thread_id(BN_BLINDING *); +unsigned long BN_BLINDING_get_flags(const BN_BLINDING *); +void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long); +BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, + const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, + int (*bn_mod_exp) (BIGNUM *r, + const BIGNUM *a, + const BIGNUM *p, + const BIGNUM *m, + BN_CTX *ctx, + BN_MONT_CTX *m_ctx), + BN_MONT_CTX *m_ctx); + +# ifndef OPENSSL_NO_DEPRECATED +void BN_set_params(int mul, int high, int low, int mont); +int BN_get_params(int which); /* 0, mul, 1 high, 2 low, 3 mont */ +# endif + +void BN_RECP_CTX_init(BN_RECP_CTX *recp); +BN_RECP_CTX *BN_RECP_CTX_new(void); +void BN_RECP_CTX_free(BN_RECP_CTX *recp); +int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *rdiv, BN_CTX *ctx); +int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, + BN_RECP_CTX *recp, BN_CTX *ctx); +int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); +int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, + BN_RECP_CTX *recp, BN_CTX *ctx); + +# ifndef OPENSSL_NO_EC2M + +/* + * Functions for arithmetic over binary polynomials represented by BIGNUMs. + * The BIGNUM::neg property of BIGNUMs representing binary polynomials is + * ignored. Note that input arguments are not const so that their bit arrays + * can be expanded to the appropriate size if needed. + */ + +/* + * r = a + b + */ +int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +# define BN_GF2m_sub(r, a, b) BN_GF2m_add(r, a, b) +/* + * r=a mod p + */ +int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p); +/* r = (a * b) mod p */ +int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = (a * a) mod p */ +int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +/* r = (1 / b) mod p */ +int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); +/* r = (a / b) mod p */ +int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = (a ^ b) mod p */ +int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = sqrt(a) mod p */ +int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + BN_CTX *ctx); +/* r^2 + r = a mod p */ +int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + BN_CTX *ctx); +# define BN_GF2m_cmp(a, b) BN_ucmp((a), (b)) +/*- + * Some functions allow for representation of the irreducible polynomials + * as an unsigned int[], say p. The irreducible f(t) is then of the form: + * t^p[0] + t^p[1] + ... + t^p[k] + * where m = p[0] > p[1] > ... > p[k] = 0. + */ +/* r = a mod p */ +int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]); +/* r = (a * b) mod p */ +int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = (a * a) mod p */ +int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], + BN_CTX *ctx); +/* r = (1 / b) mod p */ +int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[], + BN_CTX *ctx); +/* r = (a / b) mod p */ +int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = (a ^ b) mod p */ +int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = sqrt(a) mod p */ +int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, + const int p[], BN_CTX *ctx); +/* r^2 + r = a mod p */ +int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, + const int p[], BN_CTX *ctx); +int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max); +int BN_GF2m_arr2poly(const int p[], BIGNUM *a); + +# endif + +/* + * faster mod functions for the 'NIST primes' 0 <= a < p^2 + */ +int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); + +const BIGNUM *BN_get0_nist_prime_192(void); +const BIGNUM *BN_get0_nist_prime_224(void); +const BIGNUM *BN_get0_nist_prime_256(void); +const BIGNUM *BN_get0_nist_prime_384(void); +const BIGNUM *BN_get0_nist_prime_521(void); + +/* library internal functions */ + +# define bn_expand(a,bits) \ + ( \ + bits > (INT_MAX - BN_BITS2 + 1) ? \ + NULL \ + : \ + (((bits+BN_BITS2-1)/BN_BITS2) <= (a)->dmax) ? \ + (a) \ + : \ + bn_expand2((a),(bits+BN_BITS2-1)/BN_BITS2) \ + ) + +# define bn_wexpand(a,words) (((words) <= (a)->dmax)?(a):bn_expand2((a),(words))) +BIGNUM *bn_expand2(BIGNUM *a, int words); +# ifndef OPENSSL_NO_DEPRECATED +BIGNUM *bn_dup_expand(const BIGNUM *a, int words); /* unused */ +# endif + +/*- + * Bignum consistency macros + * There is one "API" macro, bn_fix_top(), for stripping leading zeroes from + * bignum data after direct manipulations on the data. There is also an + * "internal" macro, bn_check_top(), for verifying that there are no leading + * zeroes. Unfortunately, some auditing is required due to the fact that + * bn_fix_top() has become an overabused duct-tape because bignum data is + * occasionally passed around in an inconsistent state. So the following + * changes have been made to sort this out; + * - bn_fix_top()s implementation has been moved to bn_correct_top() + * - if BN_DEBUG isn't defined, bn_fix_top() maps to bn_correct_top(), and + * bn_check_top() is as before. + * - if BN_DEBUG *is* defined; + * - bn_check_top() tries to pollute unused words even if the bignum 'top' is + * consistent. (ed: only if BN_DEBUG_RAND is defined) + * - bn_fix_top() maps to bn_check_top() rather than "fixing" anything. + * The idea is to have debug builds flag up inconsistent bignums when they + * occur. If that occurs in a bn_fix_top(), we examine the code in question; if + * the use of bn_fix_top() was appropriate (ie. it follows directly after code + * that manipulates the bignum) it is converted to bn_correct_top(), and if it + * was not appropriate, we convert it permanently to bn_check_top() and track + * down the cause of the bug. Eventually, no internal code should be using the + * bn_fix_top() macro. External applications and libraries should try this with + * their own code too, both in terms of building against the openssl headers + * with BN_DEBUG defined *and* linking with a version of OpenSSL built with it + * defined. This not only improves external code, it provides more test + * coverage for openssl's own code. + */ + +# ifdef BN_DEBUG + +/* We only need assert() when debugging */ +# include + +# ifdef BN_DEBUG_RAND +/* To avoid "make update" cvs wars due to BN_DEBUG, use some tricks */ +# ifndef RAND_pseudo_bytes +int RAND_pseudo_bytes(unsigned char *buf, int num); +# define BN_DEBUG_TRIX +# endif +# define bn_pollute(a) \ + do { \ + const BIGNUM *_bnum1 = (a); \ + if(_bnum1->top < _bnum1->dmax) { \ + unsigned char _tmp_char; \ + /* We cast away const without the compiler knowing, any \ + * *genuinely* constant variables that aren't mutable \ + * wouldn't be constructed with top!=dmax. */ \ + BN_ULONG *_not_const; \ + memcpy(&_not_const, &_bnum1->d, sizeof(BN_ULONG*)); \ + /* Debug only - safe to ignore error return */ \ + RAND_pseudo_bytes(&_tmp_char, 1); \ + memset((unsigned char *)(_not_const + _bnum1->top), _tmp_char, \ + (_bnum1->dmax - _bnum1->top) * sizeof(BN_ULONG)); \ + } \ + } while(0) +# ifdef BN_DEBUG_TRIX +# undef RAND_pseudo_bytes +# endif +# else +# define bn_pollute(a) +# endif +# define bn_check_top(a) \ + do { \ + const BIGNUM *_bnum2 = (a); \ + if (_bnum2 != NULL) { \ + assert((_bnum2->top == 0) || \ + (_bnum2->d[_bnum2->top - 1] != 0)); \ + bn_pollute(_bnum2); \ + } \ + } while(0) + +# define bn_fix_top(a) bn_check_top(a) + +# define bn_check_size(bn, bits) bn_wcheck_size(bn, ((bits+BN_BITS2-1))/BN_BITS2) +# define bn_wcheck_size(bn, words) \ + do { \ + const BIGNUM *_bnum2 = (bn); \ + assert((words) <= (_bnum2)->dmax && (words) >= (_bnum2)->top); \ + /* avoid unused variable warning with NDEBUG */ \ + (void)(_bnum2); \ + } while(0) + +# else /* !BN_DEBUG */ + +# define bn_pollute(a) +# define bn_check_top(a) +# define bn_fix_top(a) bn_correct_top(a) +# define bn_check_size(bn, bits) +# define bn_wcheck_size(bn, words) + +# endif + +# define bn_correct_top(a) \ + { \ + BN_ULONG *ftl; \ + int tmp_top = (a)->top; \ + if (tmp_top > 0) \ + { \ + for (ftl= &((a)->d[tmp_top-1]); tmp_top > 0; tmp_top--) \ + if (*(ftl--)) break; \ + (a)->top = tmp_top; \ + } \ + if ((a)->top == 0) \ + (a)->neg = 0; \ + bn_pollute(a); \ + } + +BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num, + BN_ULONG w); +BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w); +void bn_sqr_words(BN_ULONG *rp, const BN_ULONG *ap, int num); +BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d); +BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, + int num); +BN_ULONG bn_sub_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, + int num); + +/* Primes from RFC 2409 */ +BIGNUM *get_rfc2409_prime_768(BIGNUM *bn); +BIGNUM *get_rfc2409_prime_1024(BIGNUM *bn); + +/* Primes from RFC 3526 */ +BIGNUM *get_rfc3526_prime_1536(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_2048(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_3072(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_4096(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_6144(BIGNUM *bn); +BIGNUM *get_rfc3526_prime_8192(BIGNUM *bn); + +int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_BN_strings(void); + +/* Error codes for the BN functions. */ + +/* Function codes. */ +# define BN_F_BNRAND 127 +# define BN_F_BN_BLINDING_CONVERT_EX 100 +# define BN_F_BN_BLINDING_CREATE_PARAM 128 +# define BN_F_BN_BLINDING_INVERT_EX 101 +# define BN_F_BN_BLINDING_NEW 102 +# define BN_F_BN_BLINDING_UPDATE 103 +# define BN_F_BN_BN2DEC 104 +# define BN_F_BN_BN2HEX 105 +# define BN_F_BN_CTX_GET 116 +# define BN_F_BN_CTX_NEW 106 +# define BN_F_BN_CTX_START 129 +# define BN_F_BN_DIV 107 +# define BN_F_BN_DIV_NO_BRANCH 138 +# define BN_F_BN_DIV_RECP 130 +# define BN_F_BN_EXP 123 +# define BN_F_BN_EXPAND2 108 +# define BN_F_BN_EXPAND_INTERNAL 120 +# define BN_F_BN_GF2M_MOD 131 +# define BN_F_BN_GF2M_MOD_EXP 132 +# define BN_F_BN_GF2M_MOD_MUL 133 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD 134 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 135 +# define BN_F_BN_GF2M_MOD_SQR 136 +# define BN_F_BN_GF2M_MOD_SQRT 137 +# define BN_F_BN_LSHIFT 145 +# define BN_F_BN_MOD_EXP2_MONT 118 +# define BN_F_BN_MOD_EXP_MONT 109 +# define BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 +# define BN_F_BN_MOD_EXP_MONT_WORD 117 +# define BN_F_BN_MOD_EXP_RECP 125 +# define BN_F_BN_MOD_EXP_SIMPLE 126 +# define BN_F_BN_MOD_INVERSE 110 +# define BN_F_BN_MOD_INVERSE_NO_BRANCH 139 +# define BN_F_BN_MOD_LSHIFT_QUICK 119 +# define BN_F_BN_MOD_MUL_RECIPROCAL 111 +# define BN_F_BN_MOD_SQRT 121 +# define BN_F_BN_MPI2BN 112 +# define BN_F_BN_NEW 113 +# define BN_F_BN_RAND 114 +# define BN_F_BN_RAND_RANGE 122 +# define BN_F_BN_RSHIFT 146 +# define BN_F_BN_USUB 115 + +/* Reason codes. */ +# define BN_R_ARG2_LT_ARG3 100 +# define BN_R_BAD_RECIPROCAL 101 +# define BN_R_BIGNUM_TOO_LONG 114 +# define BN_R_BITS_TOO_SMALL 118 +# define BN_R_CALLED_WITH_EVEN_MODULUS 102 +# define BN_R_DIV_BY_ZERO 103 +# define BN_R_ENCODING_ERROR 104 +# define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA 105 +# define BN_R_INPUT_NOT_REDUCED 110 +# define BN_R_INVALID_LENGTH 106 +# define BN_R_INVALID_RANGE 115 +# define BN_R_INVALID_SHIFT 119 +# define BN_R_NOT_A_SQUARE 111 +# define BN_R_NOT_INITIALIZED 107 +# define BN_R_NO_INVERSE 108 +# define BN_R_NO_SOLUTION 116 +# define BN_R_P_IS_NOT_PRIME 112 +# define BN_R_TOO_MANY_ITERATIONS 113 +# define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/buffer.h b/3rdparty/openssl/include/openssl/buffer.h new file mode 100644 index 0000000..efd240a --- /dev/null +++ b/3rdparty/openssl/include/openssl/buffer.h @@ -0,0 +1,125 @@ +/* crypto/buffer/buffer.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_BUFFER_H +# define HEADER_BUFFER_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# if !defined(NO_SYS_TYPES_H) +# include +# endif + +/* Already declared in ossl_typ.h */ +/* typedef struct buf_mem_st BUF_MEM; */ + +struct buf_mem_st { + size_t length; /* current number of bytes */ + char *data; + size_t max; /* size of buffer */ +}; + +BUF_MEM *BUF_MEM_new(void); +void BUF_MEM_free(BUF_MEM *a); +int BUF_MEM_grow(BUF_MEM *str, size_t len); +int BUF_MEM_grow_clean(BUF_MEM *str, size_t len); +size_t BUF_strnlen(const char *str, size_t maxlen); +char *BUF_strdup(const char *str); + +/* + * Like strndup, but in addition, explicitly guarantees to never read past the + * first |siz| bytes of |str|. + */ +char *BUF_strndup(const char *str, size_t siz); + +void *BUF_memdup(const void *data, size_t siz); +void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz); + +/* safe string functions */ +size_t BUF_strlcpy(char *dst, const char *src, size_t siz); +size_t BUF_strlcat(char *dst, const char *src, size_t siz); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_BUF_strings(void); + +/* Error codes for the BUF functions. */ + +/* Function codes. */ +# define BUF_F_BUF_MEMDUP 103 +# define BUF_F_BUF_MEM_GROW 100 +# define BUF_F_BUF_MEM_GROW_CLEAN 105 +# define BUF_F_BUF_MEM_NEW 101 +# define BUF_F_BUF_STRDUP 102 +# define BUF_F_BUF_STRNDUP 104 + +/* Reason codes. */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/camellia.h b/3rdparty/openssl/include/openssl/camellia.h new file mode 100644 index 0000000..45e8d25 --- /dev/null +++ b/3rdparty/openssl/include/openssl/camellia.h @@ -0,0 +1,132 @@ +/* crypto/camellia/camellia.h */ +/* ==================================================================== + * Copyright (c) 2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +#ifndef HEADER_CAMELLIA_H +# define HEADER_CAMELLIA_H + +# include + +# ifdef OPENSSL_NO_CAMELLIA +# error CAMELLIA is disabled. +# endif + +# include + +# define CAMELLIA_ENCRYPT 1 +# define CAMELLIA_DECRYPT 0 + +/* + * Because array size can't be a const in C, the following two are macros. + * Both sizes are in bytes. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* This should be a hidden type, but EVP requires that the size be known */ + +# define CAMELLIA_BLOCK_SIZE 16 +# define CAMELLIA_TABLE_BYTE_LEN 272 +# define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) + +typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match + * with WORD */ + +struct camellia_key_st { + union { + double d; /* ensures 64-bit align */ + KEY_TABLE_TYPE rd_key; + } u; + int grand_rounds; +}; +typedef struct camellia_key_st CAMELLIA_KEY; + +# ifdef OPENSSL_FIPS +int private_Camellia_set_key(const unsigned char *userKey, const int bits, + CAMELLIA_KEY *key); +# endif +int Camellia_set_key(const unsigned char *userKey, const int bits, + CAMELLIA_KEY *key); + +void Camellia_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); +void Camellia_decrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); + +void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key, const int enc); +void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, const int enc); +void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num); +void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char ivec[CAMELLIA_BLOCK_SIZE], + unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], + unsigned int *num); + +#ifdef __cplusplus +} +#endif + +#endif /* !HEADER_Camellia_H */ diff --git a/3rdparty/openssl/include/openssl/cast.h b/3rdparty/openssl/include/openssl/cast.h new file mode 100644 index 0000000..0003ec9 --- /dev/null +++ b/3rdparty/openssl/include/openssl/cast.h @@ -0,0 +1,107 @@ +/* crypto/cast/cast.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_CAST_H +# define HEADER_CAST_H + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# ifdef OPENSSL_NO_CAST +# error CAST is disabled. +# endif + +# define CAST_ENCRYPT 1 +# define CAST_DECRYPT 0 + +# define CAST_LONG unsigned int + +# define CAST_BLOCK 8 +# define CAST_KEY_LENGTH 16 + +typedef struct cast_key_st { + CAST_LONG data[32]; + int short_key; /* Use reduced rounds for short key */ +} CAST_KEY; + +# ifdef OPENSSL_FIPS +void private_CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); +# endif +void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); +void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAST_KEY *key, int enc); +void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *ks, unsigned char *iv, + int enc); +void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/cmac.h b/3rdparty/openssl/include/openssl/cmac.h new file mode 100644 index 0000000..175be83 --- /dev/null +++ b/3rdparty/openssl/include/openssl/cmac.h @@ -0,0 +1,82 @@ +/* crypto/cmac/cmac.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project. + */ +/* ==================================================================== + * Copyright (c) 2010 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + */ + +#ifndef HEADER_CMAC_H +# define HEADER_CMAC_H + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +/* Opaque */ +typedef struct CMAC_CTX_st CMAC_CTX; + +CMAC_CTX *CMAC_CTX_new(void); +void CMAC_CTX_cleanup(CMAC_CTX *ctx); +void CMAC_CTX_free(CMAC_CTX *ctx); +EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); +int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); + +int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, + const EVP_CIPHER *cipher, ENGINE *impl); +int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); +int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); +int CMAC_resume(CMAC_CTX *ctx); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/cms.h b/3rdparty/openssl/include/openssl/cms.h new file mode 100644 index 0000000..e6c7f96 --- /dev/null +++ b/3rdparty/openssl/include/openssl/cms.h @@ -0,0 +1,555 @@ +/* crypto/cms/cms.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project. + */ +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + */ + +#ifndef HEADER_CMS_H +# define HEADER_CMS_H + +# include + +# ifdef OPENSSL_NO_CMS +# error CMS is disabled. +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct CMS_ContentInfo_st CMS_ContentInfo; +typedef struct CMS_SignerInfo_st CMS_SignerInfo; +typedef struct CMS_CertificateChoices CMS_CertificateChoices; +typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice; +typedef struct CMS_RecipientInfo_st CMS_RecipientInfo; +typedef struct CMS_ReceiptRequest_st CMS_ReceiptRequest; +typedef struct CMS_Receipt_st CMS_Receipt; +typedef struct CMS_RecipientEncryptedKey_st CMS_RecipientEncryptedKey; +typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute; + +DECLARE_STACK_OF(CMS_SignerInfo) +DECLARE_STACK_OF(GENERAL_NAMES) +DECLARE_STACK_OF(CMS_RecipientEncryptedKey) +DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo) +DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest) +DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) + +# define CMS_SIGNERINFO_ISSUER_SERIAL 0 +# define CMS_SIGNERINFO_KEYIDENTIFIER 1 + +# define CMS_RECIPINFO_NONE -1 +# define CMS_RECIPINFO_TRANS 0 +# define CMS_RECIPINFO_AGREE 1 +# define CMS_RECIPINFO_KEK 2 +# define CMS_RECIPINFO_PASS 3 +# define CMS_RECIPINFO_OTHER 4 + +/* S/MIME related flags */ + +# define CMS_TEXT 0x1 +# define CMS_NOCERTS 0x2 +# define CMS_NO_CONTENT_VERIFY 0x4 +# define CMS_NO_ATTR_VERIFY 0x8 +# define CMS_NOSIGS \ + (CMS_NO_CONTENT_VERIFY|CMS_NO_ATTR_VERIFY) +# define CMS_NOINTERN 0x10 +# define CMS_NO_SIGNER_CERT_VERIFY 0x20 +# define CMS_NOVERIFY 0x20 +# define CMS_DETACHED 0x40 +# define CMS_BINARY 0x80 +# define CMS_NOATTR 0x100 +# define CMS_NOSMIMECAP 0x200 +# define CMS_NOOLDMIMETYPE 0x400 +# define CMS_CRLFEOL 0x800 +# define CMS_STREAM 0x1000 +# define CMS_NOCRL 0x2000 +# define CMS_PARTIAL 0x4000 +# define CMS_REUSE_DIGEST 0x8000 +# define CMS_USE_KEYID 0x10000 +# define CMS_DEBUG_DECRYPT 0x20000 +# define CMS_KEY_PARAM 0x40000 + +const ASN1_OBJECT *CMS_get0_type(CMS_ContentInfo *cms); + +BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont); +int CMS_dataFinal(CMS_ContentInfo *cms, BIO *bio); + +ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms); +int CMS_is_detached(CMS_ContentInfo *cms); +int CMS_set_detached(CMS_ContentInfo *cms, int detached); + +# ifdef HEADER_PEM_H +DECLARE_PEM_rw_const(CMS, CMS_ContentInfo) +# endif +int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms); +CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms); +int i2d_CMS_bio(BIO *bp, CMS_ContentInfo *cms); + +BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms); +int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int flags); +int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, + int flags); +CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont); +int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags); + +int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, + unsigned int flags); + +CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, BIO *data, + unsigned int flags); + +CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, + X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, unsigned int flags); + +int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags); +CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags); + +int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md, + unsigned int flags); + +int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms, + const unsigned char *key, size_t keylen, + BIO *dcont, BIO *out, unsigned int flags); + +CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher, + const unsigned char *key, + size_t keylen, unsigned int flags); + +int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph, + const unsigned char *key, size_t keylen); + +int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + X509_STORE *store, BIO *dcont, BIO *out, unsigned int flags); + +int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, + STACK_OF(X509) *certs, + X509_STORE *store, unsigned int flags); + +STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms); + +CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, + const EVP_CIPHER *cipher, unsigned int flags); + +int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, + BIO *dcont, BIO *out, unsigned int flags); + +int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert); +int CMS_decrypt_set1_key(CMS_ContentInfo *cms, + unsigned char *key, size_t keylen, + unsigned char *id, size_t idlen); +int CMS_decrypt_set1_password(CMS_ContentInfo *cms, + unsigned char *pass, ossl_ssize_t passlen); + +STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms); +int CMS_RecipientInfo_type(CMS_RecipientInfo *ri); +EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri); +CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher); +CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, + X509 *recip, unsigned int flags); +int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey); +int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert); +int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri, + EVP_PKEY **pk, X509 **recip, + X509_ALGOR **palg); +int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, + unsigned char *key, size_t keylen, + unsigned char *id, size_t idlen, + ASN1_GENERALIZEDTIME *date, + ASN1_OBJECT *otherTypeId, + ASN1_TYPE *otherType); + +int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pid, + ASN1_GENERALIZEDTIME **pdate, + ASN1_OBJECT **potherid, + ASN1_TYPE **pothertype); + +int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, + unsigned char *key, size_t keylen); + +int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, + const unsigned char *id, size_t idlen); + +int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, + unsigned char *pass, + ossl_ssize_t passlen); + +CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, + int iter, int wrap_nid, + int pbe_nid, + unsigned char *pass, + ossl_ssize_t passlen, + const EVP_CIPHER *kekciph); + +int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); +int CMS_RecipientInfo_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); + +int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags); + +int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid); +const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms); + +CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo *cms); +int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert); +int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert); +STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms); + +CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms); +int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl); +int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl); +STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms); + +int CMS_SignedData_init(CMS_ContentInfo *cms); +CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, + X509 *signer, EVP_PKEY *pk, const EVP_MD *md, + unsigned int flags); +EVP_PKEY_CTX *CMS_SignerInfo_get0_pkey_ctx(CMS_SignerInfo *si); +EVP_MD_CTX *CMS_SignerInfo_get0_md_ctx(CMS_SignerInfo *si); +STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms); + +void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer); +int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert); +int CMS_set1_signers_certs(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + unsigned int flags); +void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk, + X509 **signer, X509_ALGOR **pdig, + X509_ALGOR **psig); +ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si); +int CMS_SignerInfo_sign(CMS_SignerInfo *si); +int CMS_SignerInfo_verify(CMS_SignerInfo *si); +int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain); + +int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs); +int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs, + int algnid, int keysize); +int CMS_add_standard_smimecap(STACK_OF(X509_ALGOR) **smcap); + +int CMS_signed_get_attr_count(const CMS_SignerInfo *si); +int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_signed_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, + int lastpos, int type); + +int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si); +int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, + int lastpos, int type); + +# ifdef HEADER_X509V3_H + +int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr); +CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen, + int allorfirst, + STACK_OF(GENERAL_NAMES) + *receiptList, STACK_OF(GENERAL_NAMES) + *receiptsTo); +int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr); +void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, + ASN1_STRING **pcid, + int *pallorfirst, + STACK_OF(GENERAL_NAMES) **plist, + STACK_OF(GENERAL_NAMES) **prto); +# endif +int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pukm); +STACK_OF(CMS_RecipientEncryptedKey) +*CMS_RecipientInfo_kari_get0_reks(CMS_RecipientInfo *ri); + +int CMS_RecipientInfo_kari_get0_orig_id(CMS_RecipientInfo *ri, + X509_ALGOR **pubalg, + ASN1_BIT_STRING **pubkey, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +int CMS_RecipientInfo_kari_orig_id_cmp(CMS_RecipientInfo *ri, X509 *cert); + +int CMS_RecipientEncryptedKey_get0_id(CMS_RecipientEncryptedKey *rek, + ASN1_OCTET_STRING **keyid, + ASN1_GENERALIZEDTIME **tm, + CMS_OtherKeyAttribute **other, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_RecipientEncryptedKey_cert_cmp(CMS_RecipientEncryptedKey *rek, + X509 *cert); +int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pk); +EVP_CIPHER_CTX *CMS_RecipientInfo_kari_get0_ctx(CMS_RecipientInfo *ri); +int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms, + CMS_RecipientInfo *ri, + CMS_RecipientEncryptedKey *rek); + +int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg, + ASN1_OCTET_STRING *ukm, int keylen); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_CMS_strings(void); + +/* Error codes for the CMS functions. */ + +/* Function codes. */ +# define CMS_F_CHECK_CONTENT 99 +# define CMS_F_CMS_ADD0_CERT 164 +# define CMS_F_CMS_ADD0_RECIPIENT_KEY 100 +# define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD 165 +# define CMS_F_CMS_ADD1_RECEIPTREQUEST 158 +# define CMS_F_CMS_ADD1_RECIPIENT_CERT 101 +# define CMS_F_CMS_ADD1_SIGNER 102 +# define CMS_F_CMS_ADD1_SIGNINGTIME 103 +# define CMS_F_CMS_COMPRESS 104 +# define CMS_F_CMS_COMPRESSEDDATA_CREATE 105 +# define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO 106 +# define CMS_F_CMS_COPY_CONTENT 107 +# define CMS_F_CMS_COPY_MESSAGEDIGEST 108 +# define CMS_F_CMS_DATA 109 +# define CMS_F_CMS_DATAFINAL 110 +# define CMS_F_CMS_DATAINIT 111 +# define CMS_F_CMS_DECRYPT 112 +# define CMS_F_CMS_DECRYPT_SET1_KEY 113 +# define CMS_F_CMS_DECRYPT_SET1_PASSWORD 166 +# define CMS_F_CMS_DECRYPT_SET1_PKEY 114 +# define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX 115 +# define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO 116 +# define CMS_F_CMS_DIGESTEDDATA_DO_FINAL 117 +# define CMS_F_CMS_DIGEST_VERIFY 118 +# define CMS_F_CMS_ENCODE_RECEIPT 161 +# define CMS_F_CMS_ENCRYPT 119 +# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 120 +# define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 121 +# define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 122 +# define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 123 +# define CMS_F_CMS_ENVELOPEDDATA_CREATE 124 +# define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO 125 +# define CMS_F_CMS_ENVELOPED_DATA_INIT 126 +# define CMS_F_CMS_ENV_ASN1_CTRL 171 +# define CMS_F_CMS_FINAL 127 +# define CMS_F_CMS_GET0_CERTIFICATE_CHOICES 128 +# define CMS_F_CMS_GET0_CONTENT 129 +# define CMS_F_CMS_GET0_ECONTENT_TYPE 130 +# define CMS_F_CMS_GET0_ENVELOPED 131 +# define CMS_F_CMS_GET0_REVOCATION_CHOICES 132 +# define CMS_F_CMS_GET0_SIGNED 133 +# define CMS_F_CMS_MSGSIGDIGEST_ADD1 162 +# define CMS_F_CMS_RECEIPTREQUEST_CREATE0 159 +# define CMS_F_CMS_RECEIPT_VERIFY 160 +# define CMS_F_CMS_RECIPIENTINFO_DECRYPT 134 +# define CMS_F_CMS_RECIPIENTINFO_ENCRYPT 169 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT 178 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG 175 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID 173 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS 172 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP 174 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT 135 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT 136 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID 137 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP 138 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP 139 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT 140 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT 141 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS 142 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID 143 +# define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT 167 +# define CMS_F_CMS_RECIPIENTINFO_SET0_KEY 144 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD 168 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY 145 +# define CMS_F_CMS_SD_ASN1_CTRL 170 +# define CMS_F_CMS_SET1_IAS 176 +# define CMS_F_CMS_SET1_KEYID 177 +# define CMS_F_CMS_SET1_SIGNERIDENTIFIER 146 +# define CMS_F_CMS_SET_DETACHED 147 +# define CMS_F_CMS_SIGN 148 +# define CMS_F_CMS_SIGNED_DATA_INIT 149 +# define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN 150 +# define CMS_F_CMS_SIGNERINFO_SIGN 151 +# define CMS_F_CMS_SIGNERINFO_VERIFY 152 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 +# define CMS_F_CMS_SIGN_RECEIPT 163 +# define CMS_F_CMS_STREAM 155 +# define CMS_F_CMS_UNCOMPRESS 156 +# define CMS_F_CMS_VERIFY 157 + +/* Reason codes. */ +# define CMS_R_ADD_SIGNER_ERROR 99 +# define CMS_R_CERTIFICATE_ALREADY_PRESENT 175 +# define CMS_R_CERTIFICATE_HAS_NO_KEYID 160 +# define CMS_R_CERTIFICATE_VERIFY_ERROR 100 +# define CMS_R_CIPHER_INITIALISATION_ERROR 101 +# define CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR 102 +# define CMS_R_CMS_DATAFINAL_ERROR 103 +# define CMS_R_CMS_LIB 104 +# define CMS_R_CONTENTIDENTIFIER_MISMATCH 170 +# define CMS_R_CONTENT_NOT_FOUND 105 +# define CMS_R_CONTENT_TYPE_MISMATCH 171 +# define CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA 106 +# define CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA 107 +# define CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA 108 +# define CMS_R_CONTENT_VERIFY_ERROR 109 +# define CMS_R_CTRL_ERROR 110 +# define CMS_R_CTRL_FAILURE 111 +# define CMS_R_DECRYPT_ERROR 112 +# define CMS_R_DIGEST_ERROR 161 +# define CMS_R_ERROR_GETTING_PUBLIC_KEY 113 +# define CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE 114 +# define CMS_R_ERROR_SETTING_KEY 115 +# define CMS_R_ERROR_SETTING_RECIPIENTINFO 116 +# define CMS_R_INVALID_ENCRYPTED_KEY_LENGTH 117 +# define CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER 176 +# define CMS_R_INVALID_KEY_LENGTH 118 +# define CMS_R_MD_BIO_INIT_ERROR 119 +# define CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH 120 +# define CMS_R_MESSAGEDIGEST_WRONG_LENGTH 121 +# define CMS_R_MSGSIGDIGEST_ERROR 172 +# define CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE 162 +# define CMS_R_MSGSIGDIGEST_WRONG_LENGTH 163 +# define CMS_R_NEED_ONE_SIGNER 164 +# define CMS_R_NOT_A_SIGNED_RECEIPT 165 +# define CMS_R_NOT_ENCRYPTED_DATA 122 +# define CMS_R_NOT_KEK 123 +# define CMS_R_NOT_KEY_AGREEMENT 181 +# define CMS_R_NOT_KEY_TRANSPORT 124 +# define CMS_R_NOT_PWRI 177 +# define CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 125 +# define CMS_R_NO_CIPHER 126 +# define CMS_R_NO_CONTENT 127 +# define CMS_R_NO_CONTENT_TYPE 173 +# define CMS_R_NO_DEFAULT_DIGEST 128 +# define CMS_R_NO_DIGEST_SET 129 +# define CMS_R_NO_KEY 130 +# define CMS_R_NO_KEY_OR_CERT 174 +# define CMS_R_NO_MATCHING_DIGEST 131 +# define CMS_R_NO_MATCHING_RECIPIENT 132 +# define CMS_R_NO_MATCHING_SIGNATURE 166 +# define CMS_R_NO_MSGSIGDIGEST 167 +# define CMS_R_NO_PASSWORD 178 +# define CMS_R_NO_PRIVATE_KEY 133 +# define CMS_R_NO_PUBLIC_KEY 134 +# define CMS_R_NO_RECEIPT_REQUEST 168 +# define CMS_R_NO_SIGNERS 135 +# define CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 136 +# define CMS_R_RECEIPT_DECODE_ERROR 169 +# define CMS_R_RECIPIENT_ERROR 137 +# define CMS_R_SIGNER_CERTIFICATE_NOT_FOUND 138 +# define CMS_R_SIGNFINAL_ERROR 139 +# define CMS_R_SMIME_TEXT_ERROR 140 +# define CMS_R_STORE_INIT_ERROR 141 +# define CMS_R_TYPE_NOT_COMPRESSED_DATA 142 +# define CMS_R_TYPE_NOT_DATA 143 +# define CMS_R_TYPE_NOT_DIGESTED_DATA 144 +# define CMS_R_TYPE_NOT_ENCRYPTED_DATA 145 +# define CMS_R_TYPE_NOT_ENVELOPED_DATA 146 +# define CMS_R_UNABLE_TO_FINALIZE_CONTEXT 147 +# define CMS_R_UNKNOWN_CIPHER 148 +# define CMS_R_UNKNOWN_DIGEST_ALGORIHM 149 +# define CMS_R_UNKNOWN_ID 150 +# define CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM 151 +# define CMS_R_UNSUPPORTED_CONTENT_TYPE 152 +# define CMS_R_UNSUPPORTED_KEK_ALGORITHM 153 +# define CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM 179 +# define CMS_R_UNSUPPORTED_RECIPIENT_TYPE 154 +# define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE 155 +# define CMS_R_UNSUPPORTED_TYPE 156 +# define CMS_R_UNWRAP_ERROR 157 +# define CMS_R_UNWRAP_FAILURE 180 +# define CMS_R_VERIFICATION_FAILURE 158 +# define CMS_R_WRAP_ERROR 159 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/comp.h b/3rdparty/openssl/include/openssl/comp.h new file mode 100644 index 0000000..df599ba --- /dev/null +++ b/3rdparty/openssl/include/openssl/comp.h @@ -0,0 +1,83 @@ + +#ifndef HEADER_COMP_H +# define HEADER_COMP_H + +# include + +# ifdef OPENSSL_NO_COMP +# error COMP is disabled. +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct comp_ctx_st COMP_CTX; + +struct comp_method_st { + int type; /* NID for compression library */ + const char *name; /* A text string to identify the library */ + int (*init) (COMP_CTX *ctx); + void (*finish) (COMP_CTX *ctx); + int (*compress) (COMP_CTX *ctx, + unsigned char *out, unsigned int olen, + unsigned char *in, unsigned int ilen); + int (*expand) (COMP_CTX *ctx, + unsigned char *out, unsigned int olen, + unsigned char *in, unsigned int ilen); + /* + * The following two do NOTHING, but are kept for backward compatibility + */ + long (*ctrl) (void); + long (*callback_ctrl) (void); +}; + +struct comp_ctx_st { + COMP_METHOD *meth; + unsigned long compress_in; + unsigned long compress_out; + unsigned long expand_in; + unsigned long expand_out; + CRYPTO_EX_DATA ex_data; +}; + +COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); +void COMP_CTX_free(COMP_CTX *ctx); +int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, + unsigned char *in, int ilen); +int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, + unsigned char *in, int ilen); +COMP_METHOD *COMP_rle(void); +COMP_METHOD *COMP_zlib(void); +void COMP_zlib_cleanup(void); + +# ifdef HEADER_BIO_H +# ifdef ZLIB +BIO_METHOD *BIO_f_zlib(void); +# endif +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_COMP_strings(void); + +/* Error codes for the COMP functions. */ + +/* Function codes. */ +# define COMP_F_BIO_ZLIB_FLUSH 99 +# define COMP_F_BIO_ZLIB_NEW 100 +# define COMP_F_BIO_ZLIB_READ 101 +# define COMP_F_BIO_ZLIB_WRITE 102 + +/* Reason codes. */ +# define COMP_R_ZLIB_DEFLATE_ERROR 99 +# define COMP_R_ZLIB_INFLATE_ERROR 100 +# define COMP_R_ZLIB_NOT_SUPPORTED 101 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/conf.h b/3rdparty/openssl/include/openssl/conf.h new file mode 100644 index 0000000..fe49113 --- /dev/null +++ b/3rdparty/openssl/include/openssl/conf.h @@ -0,0 +1,268 @@ +/* crypto/conf/conf.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_CONF_H +# define HEADER_CONF_H + +# include +# include +# include +# include +# include + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + char *section; + char *name; + char *value; +} CONF_VALUE; + +DECLARE_STACK_OF(CONF_VALUE) +DECLARE_LHASH_OF(CONF_VALUE); + +struct conf_st; +struct conf_method_st; +typedef struct conf_method_st CONF_METHOD; + +struct conf_method_st { + const char *name; + CONF *(*create) (CONF_METHOD *meth); + int (*init) (CONF *conf); + int (*destroy) (CONF *conf); + int (*destroy_data) (CONF *conf); + int (*load_bio) (CONF *conf, BIO *bp, long *eline); + int (*dump) (const CONF *conf, BIO *bp); + int (*is_number) (const CONF *conf, char c); + int (*to_int) (const CONF *conf, char c); + int (*load) (CONF *conf, const char *name, long *eline); +}; + +/* Module definitions */ + +typedef struct conf_imodule_st CONF_IMODULE; +typedef struct conf_module_st CONF_MODULE; + +DECLARE_STACK_OF(CONF_MODULE) +DECLARE_STACK_OF(CONF_IMODULE) + +/* DSO module function typedefs */ +typedef int conf_init_func (CONF_IMODULE *md, const CONF *cnf); +typedef void conf_finish_func (CONF_IMODULE *md); + +# define CONF_MFLAGS_IGNORE_ERRORS 0x1 +# define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 +# define CONF_MFLAGS_SILENT 0x4 +# define CONF_MFLAGS_NO_DSO 0x8 +# define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 +# define CONF_MFLAGS_DEFAULT_SECTION 0x20 + +int CONF_set_default_method(CONF_METHOD *meth); +void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash); +LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, + long *eline); +# ifndef OPENSSL_NO_FP_API +LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, + long *eline); +# endif +LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, + long *eline); +STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, + const char *section); +char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +void CONF_free(LHASH_OF(CONF_VALUE) *conf); +int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); +int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); + +void OPENSSL_config(const char *config_name); +void OPENSSL_no_config(void); + +/* + * New conf code. The semantics are different from the functions above. If + * that wasn't the case, the above functions would have been replaced + */ + +struct conf_st { + CONF_METHOD *meth; + void *meth_data; + LHASH_OF(CONF_VALUE) *data; +}; + +CONF *NCONF_new(CONF_METHOD *meth); +CONF_METHOD *NCONF_default(void); +CONF_METHOD *NCONF_WIN32(void); +# if 0 /* Just to give you an idea of what I have in + * mind */ +CONF_METHOD *NCONF_XML(void); +# endif +void NCONF_free(CONF *conf); +void NCONF_free_data(CONF *conf); + +int NCONF_load(CONF *conf, const char *file, long *eline); +# ifndef OPENSSL_NO_FP_API +int NCONF_load_fp(CONF *conf, FILE *fp, long *eline); +# endif +int NCONF_load_bio(CONF *conf, BIO *bp, long *eline); +STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, + const char *section); +char *NCONF_get_string(const CONF *conf, const char *group, const char *name); +int NCONF_get_number_e(const CONF *conf, const char *group, const char *name, + long *result); +int NCONF_dump_fp(const CONF *conf, FILE *out); +int NCONF_dump_bio(const CONF *conf, BIO *out); + +# if 0 /* The following function has no error + * checking, and should therefore be avoided */ +long NCONF_get_number(CONF *conf, char *group, char *name); +# else +# define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) +# endif + +/* Module functions */ + +int CONF_modules_load(const CONF *cnf, const char *appname, + unsigned long flags); +int CONF_modules_load_file(const char *filename, const char *appname, + unsigned long flags); +void CONF_modules_unload(int all); +void CONF_modules_finish(void); +void CONF_modules_free(void); +int CONF_module_add(const char *name, conf_init_func *ifunc, + conf_finish_func *ffunc); + +const char *CONF_imodule_get_name(const CONF_IMODULE *md); +const char *CONF_imodule_get_value(const CONF_IMODULE *md); +void *CONF_imodule_get_usr_data(const CONF_IMODULE *md); +void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data); +CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md); +unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md); +void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags); +void *CONF_module_get_usr_data(CONF_MODULE *pmod); +void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data); + +char *CONF_get1_default_config_file(void); + +int CONF_parse_list(const char *list, int sep, int nospc, + int (*list_cb) (const char *elem, int len, void *usr), + void *arg); + +void OPENSSL_load_builtin_modules(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_CONF_strings(void); + +/* Error codes for the CONF functions. */ + +/* Function codes. */ +# define CONF_F_CONF_DUMP_FP 104 +# define CONF_F_CONF_LOAD 100 +# define CONF_F_CONF_LOAD_BIO 102 +# define CONF_F_CONF_LOAD_FP 103 +# define CONF_F_CONF_MODULES_LOAD 116 +# define CONF_F_CONF_PARSE_LIST 119 +# define CONF_F_DEF_LOAD 120 +# define CONF_F_DEF_LOAD_BIO 121 +# define CONF_F_MODULE_INIT 115 +# define CONF_F_MODULE_LOAD_DSO 117 +# define CONF_F_MODULE_RUN 118 +# define CONF_F_NCONF_DUMP_BIO 105 +# define CONF_F_NCONF_DUMP_FP 106 +# define CONF_F_NCONF_GET_NUMBER 107 +# define CONF_F_NCONF_GET_NUMBER_E 112 +# define CONF_F_NCONF_GET_SECTION 108 +# define CONF_F_NCONF_GET_STRING 109 +# define CONF_F_NCONF_LOAD 113 +# define CONF_F_NCONF_LOAD_BIO 110 +# define CONF_F_NCONF_LOAD_FP 114 +# define CONF_F_NCONF_NEW 111 +# define CONF_F_STR_COPY 101 + +/* Reason codes. */ +# define CONF_R_ERROR_LOADING_DSO 110 +# define CONF_R_LIST_CANNOT_BE_NULL 115 +# define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 +# define CONF_R_MISSING_EQUAL_SIGN 101 +# define CONF_R_MISSING_FINISH_FUNCTION 111 +# define CONF_R_MISSING_INIT_FUNCTION 112 +# define CONF_R_MODULE_INITIALIZATION_ERROR 109 +# define CONF_R_NO_CLOSE_BRACE 102 +# define CONF_R_NO_CONF 105 +# define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 +# define CONF_R_NO_SECTION 107 +# define CONF_R_NO_SUCH_FILE 114 +# define CONF_R_NO_VALUE 108 +# define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 +# define CONF_R_UNKNOWN_MODULE_NAME 113 +# define CONF_R_VARIABLE_EXPANSION_TOO_LONG 116 +# define CONF_R_VARIABLE_HAS_NO_VALUE 104 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/conf_api.h b/3rdparty/openssl/include/openssl/conf_api.h new file mode 100644 index 0000000..e478f7d --- /dev/null +++ b/3rdparty/openssl/include/openssl/conf_api.h @@ -0,0 +1,89 @@ +/* conf_api.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_CONF_API_H +# define HEADER_CONF_API_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Up until OpenSSL 0.9.5a, this was new_section */ +CONF_VALUE *_CONF_new_section(CONF *conf, const char *section); +/* Up until OpenSSL 0.9.5a, this was get_section */ +CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section); +/* Up until OpenSSL 0.9.5a, this was CONF_get_section */ +STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, + const char *section); + +int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value); +char *_CONF_get_string(const CONF *conf, const char *section, + const char *name); +long _CONF_get_number(const CONF *conf, const char *section, + const char *name); + +int _CONF_new_data(CONF *conf); +void _CONF_free_data(CONF *conf); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/crypto.h b/3rdparty/openssl/include/openssl/crypto.h new file mode 100644 index 0000000..6c644ce --- /dev/null +++ b/3rdparty/openssl/include/openssl/crypto.h @@ -0,0 +1,661 @@ +/* crypto/crypto.h */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_CRYPTO_H +# define HEADER_CRYPTO_H + +# include + +# include + +# ifndef OPENSSL_NO_FP_API +# include +# endif + +# include +# include +# include +# include + +# ifdef CHARSET_EBCDIC +# include +# endif + +/* + * Resolve problems on some operating systems with symbol names that clash + * one way or another + */ +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Backward compatibility to SSLeay */ +/* + * This is more to be used to check the correct DLL is being used in the MS + * world. + */ +# define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER +# define SSLEAY_VERSION 0 +/* #define SSLEAY_OPTIONS 1 no longer supported */ +# define SSLEAY_CFLAGS 2 +# define SSLEAY_BUILT_ON 3 +# define SSLEAY_PLATFORM 4 +# define SSLEAY_DIR 5 + +/* Already declared in ossl_typ.h */ +# if 0 +typedef struct crypto_ex_data_st CRYPTO_EX_DATA; +/* Called when a new object is created */ +typedef int CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +/* Called when an object is free()ed */ +typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +/* Called when we need to dup an object */ +typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, + void *from_d, int idx, long argl, void *argp); +# endif + +/* A generic structure to pass assorted data in a expandable way */ +typedef struct openssl_item_st { + int code; + void *value; /* Not used for flag attributes */ + size_t value_size; /* Max size of value for output, length for + * input */ + size_t *value_length; /* Returned length of value for output */ +} OPENSSL_ITEM; + +/* + * When changing the CRYPTO_LOCK_* list, be sure to maintin the text lock + * names in cryptlib.c + */ + +# define CRYPTO_LOCK_ERR 1 +# define CRYPTO_LOCK_EX_DATA 2 +# define CRYPTO_LOCK_X509 3 +# define CRYPTO_LOCK_X509_INFO 4 +# define CRYPTO_LOCK_X509_PKEY 5 +# define CRYPTO_LOCK_X509_CRL 6 +# define CRYPTO_LOCK_X509_REQ 7 +# define CRYPTO_LOCK_DSA 8 +# define CRYPTO_LOCK_RSA 9 +# define CRYPTO_LOCK_EVP_PKEY 10 +# define CRYPTO_LOCK_X509_STORE 11 +# define CRYPTO_LOCK_SSL_CTX 12 +# define CRYPTO_LOCK_SSL_CERT 13 +# define CRYPTO_LOCK_SSL_SESSION 14 +# define CRYPTO_LOCK_SSL_SESS_CERT 15 +# define CRYPTO_LOCK_SSL 16 +# define CRYPTO_LOCK_SSL_METHOD 17 +# define CRYPTO_LOCK_RAND 18 +# define CRYPTO_LOCK_RAND2 19 +# define CRYPTO_LOCK_MALLOC 20 +# define CRYPTO_LOCK_BIO 21 +# define CRYPTO_LOCK_GETHOSTBYNAME 22 +# define CRYPTO_LOCK_GETSERVBYNAME 23 +# define CRYPTO_LOCK_READDIR 24 +# define CRYPTO_LOCK_RSA_BLINDING 25 +# define CRYPTO_LOCK_DH 26 +# define CRYPTO_LOCK_MALLOC2 27 +# define CRYPTO_LOCK_DSO 28 +# define CRYPTO_LOCK_DYNLOCK 29 +# define CRYPTO_LOCK_ENGINE 30 +# define CRYPTO_LOCK_UI 31 +# define CRYPTO_LOCK_ECDSA 32 +# define CRYPTO_LOCK_EC 33 +# define CRYPTO_LOCK_ECDH 34 +# define CRYPTO_LOCK_BN 35 +# define CRYPTO_LOCK_EC_PRE_COMP 36 +# define CRYPTO_LOCK_STORE 37 +# define CRYPTO_LOCK_COMP 38 +# define CRYPTO_LOCK_FIPS 39 +# define CRYPTO_LOCK_FIPS2 40 +# define CRYPTO_NUM_LOCKS 41 + +# define CRYPTO_LOCK 1 +# define CRYPTO_UNLOCK 2 +# define CRYPTO_READ 4 +# define CRYPTO_WRITE 8 + +# ifndef OPENSSL_NO_LOCKING +# ifndef CRYPTO_w_lock +# define CRYPTO_w_lock(type) \ + CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) +# define CRYPTO_w_unlock(type) \ + CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) +# define CRYPTO_r_lock(type) \ + CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__) +# define CRYPTO_r_unlock(type) \ + CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__) +# define CRYPTO_add(addr,amount,type) \ + CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__) +# endif +# else +# define CRYPTO_w_lock(a) +# define CRYPTO_w_unlock(a) +# define CRYPTO_r_lock(a) +# define CRYPTO_r_unlock(a) +# define CRYPTO_add(a,b,c) ((*(a))+=(b)) +# endif + +/* + * Some applications as well as some parts of OpenSSL need to allocate and + * deallocate locks in a dynamic fashion. The following typedef makes this + * possible in a type-safe manner. + */ +/* struct CRYPTO_dynlock_value has to be defined by the application. */ +typedef struct { + int references; + struct CRYPTO_dynlock_value *data; +} CRYPTO_dynlock; + +/* + * The following can be used to detect memory leaks in the SSLeay library. It + * used, it turns on malloc checking + */ + +# define CRYPTO_MEM_CHECK_OFF 0x0/* an enume */ +# define CRYPTO_MEM_CHECK_ON 0x1/* a bit */ +# define CRYPTO_MEM_CHECK_ENABLE 0x2/* a bit */ +# define CRYPTO_MEM_CHECK_DISABLE 0x3/* an enume */ + +/* + * The following are bit values to turn on or off options connected to the + * malloc checking functionality + */ + +/* Adds time to the memory checking information */ +# define V_CRYPTO_MDEBUG_TIME 0x1/* a bit */ +/* Adds thread number to the memory checking information */ +# define V_CRYPTO_MDEBUG_THREAD 0x2/* a bit */ + +# define V_CRYPTO_MDEBUG_ALL (V_CRYPTO_MDEBUG_TIME | V_CRYPTO_MDEBUG_THREAD) + +/* predec of the BIO type */ +typedef struct bio_st BIO_dummy; + +struct crypto_ex_data_st { + STACK_OF(void) *sk; + /* gcc is screwing up this data structure :-( */ + int dummy; +}; +DECLARE_STACK_OF(void) + +/* + * This stuff is basically class callback functions The current classes are + * SSL_CTX, SSL, SSL_SESSION, and a few more + */ + +typedef struct crypto_ex_data_func_st { + long argl; /* Arbitary long */ + void *argp; /* Arbitary void * */ + CRYPTO_EX_new *new_func; + CRYPTO_EX_free *free_func; + CRYPTO_EX_dup *dup_func; +} CRYPTO_EX_DATA_FUNCS; + +DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS) + +/* + * Per class, we have a STACK of CRYPTO_EX_DATA_FUNCS for each CRYPTO_EX_DATA + * entry. + */ + +# define CRYPTO_EX_INDEX_BIO 0 +# define CRYPTO_EX_INDEX_SSL 1 +# define CRYPTO_EX_INDEX_SSL_CTX 2 +# define CRYPTO_EX_INDEX_SSL_SESSION 3 +# define CRYPTO_EX_INDEX_X509_STORE 4 +# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 +# define CRYPTO_EX_INDEX_RSA 6 +# define CRYPTO_EX_INDEX_DSA 7 +# define CRYPTO_EX_INDEX_DH 8 +# define CRYPTO_EX_INDEX_ENGINE 9 +# define CRYPTO_EX_INDEX_X509 10 +# define CRYPTO_EX_INDEX_UI 11 +# define CRYPTO_EX_INDEX_ECDSA 12 +# define CRYPTO_EX_INDEX_ECDH 13 +# define CRYPTO_EX_INDEX_COMP 14 +# define CRYPTO_EX_INDEX_STORE 15 + +/* + * Dynamically assigned indexes start from this value (don't use directly, + * use via CRYPTO_ex_data_new_class). + */ +# define CRYPTO_EX_INDEX_USER 100 + +/* + * This is the default callbacks, but we can have others as well: this is + * needed in Win32 where the application malloc and the library malloc may + * not be the same. + */ +# define CRYPTO_malloc_init() CRYPTO_set_mem_functions(\ + malloc, realloc, free) + +# if defined CRYPTO_MDEBUG_ALL || defined CRYPTO_MDEBUG_TIME || defined CRYPTO_MDEBUG_THREAD +# ifndef CRYPTO_MDEBUG /* avoid duplicate #define */ +# define CRYPTO_MDEBUG +# endif +# endif + +/* + * Set standard debugging functions (not done by default unless CRYPTO_MDEBUG + * is defined) + */ +# define CRYPTO_malloc_debug_init() do {\ + CRYPTO_set_mem_debug_functions(\ + CRYPTO_dbg_malloc,\ + CRYPTO_dbg_realloc,\ + CRYPTO_dbg_free,\ + CRYPTO_dbg_set_options,\ + CRYPTO_dbg_get_options);\ + } while(0) + +int CRYPTO_mem_ctrl(int mode); +int CRYPTO_is_mem_check_on(void); + +/* for applications */ +# define MemCheck_start() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) +# define MemCheck_stop() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_OFF) + +/* for library-internal use */ +# define MemCheck_on() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE) +# define MemCheck_off() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE) +# define is_MemCheck_on() CRYPTO_is_mem_check_on() + +# define OPENSSL_malloc(num) CRYPTO_malloc((int)num,__FILE__,__LINE__) +# define OPENSSL_strdup(str) CRYPTO_strdup((str),__FILE__,__LINE__) +# define OPENSSL_realloc(addr,num) \ + CRYPTO_realloc((char *)addr,(int)num,__FILE__,__LINE__) +# define OPENSSL_realloc_clean(addr,old_num,num) \ + CRYPTO_realloc_clean(addr,old_num,num,__FILE__,__LINE__) +# define OPENSSL_remalloc(addr,num) \ + CRYPTO_remalloc((char **)addr,(int)num,__FILE__,__LINE__) +# define OPENSSL_freeFunc CRYPTO_free +# define OPENSSL_free(addr) CRYPTO_free(addr) + +# define OPENSSL_malloc_locked(num) \ + CRYPTO_malloc_locked((int)num,__FILE__,__LINE__) +# define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr) + +const char *SSLeay_version(int type); +unsigned long SSLeay(void); + +int OPENSSL_issetugid(void); + +/* An opaque type representing an implementation of "ex_data" support */ +typedef struct st_CRYPTO_EX_DATA_IMPL CRYPTO_EX_DATA_IMPL; +/* Return an opaque pointer to the current "ex_data" implementation */ +const CRYPTO_EX_DATA_IMPL *CRYPTO_get_ex_data_implementation(void); +/* Sets the "ex_data" implementation to be used (if it's not too late) */ +int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i); +/* Get a new "ex_data" class, and return the corresponding "class_index" */ +int CRYPTO_ex_data_new_class(void); +/* Within a given class, get/register a new index */ +int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, + CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +/* + * Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a + * given class (invokes whatever per-class callbacks are applicable) + */ +int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); +int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, + CRYPTO_EX_DATA *from); +void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); +/* + * Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular + * index (relative to the class type involved) + */ +int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); +void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx); +/* + * This function cleans up all "ex_data" state. It mustn't be called under + * potential race-conditions. + */ +void CRYPTO_cleanup_all_ex_data(void); + +int CRYPTO_get_new_lockid(char *name); + +int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */ +void CRYPTO_lock(int mode, int type, const char *file, int line); +void CRYPTO_set_locking_callback(void (*func) (int mode, int type, + const char *file, int line)); +void (*CRYPTO_get_locking_callback(void)) (int mode, int type, + const char *file, int line); +void CRYPTO_set_add_lock_callback(int (*func) + (int *num, int mount, int type, + const char *file, int line)); +int (*CRYPTO_get_add_lock_callback(void)) (int *num, int mount, int type, + const char *file, int line); + +/* Don't use this structure directly. */ +typedef struct crypto_threadid_st { + void *ptr; + unsigned long val; +} CRYPTO_THREADID; +/* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ +void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val); +void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr); +int CRYPTO_THREADID_set_callback(void (*threadid_func) (CRYPTO_THREADID *)); +void (*CRYPTO_THREADID_get_callback(void)) (CRYPTO_THREADID *); +void CRYPTO_THREADID_current(CRYPTO_THREADID *id); +int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b); +void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src); +unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id); +# ifndef OPENSSL_NO_DEPRECATED +void CRYPTO_set_id_callback(unsigned long (*func) (void)); +unsigned long (*CRYPTO_get_id_callback(void)) (void); +unsigned long CRYPTO_thread_id(void); +# endif + +const char *CRYPTO_get_lock_name(int type); +int CRYPTO_add_lock(int *pointer, int amount, int type, const char *file, + int line); + +int CRYPTO_get_new_dynlockid(void); +void CRYPTO_destroy_dynlockid(int i); +struct CRYPTO_dynlock_value *CRYPTO_get_dynlock_value(int i); +void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value + *(*dyn_create_function) (const char + *file, + int line)); +void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function) + (int mode, + struct CRYPTO_dynlock_value *l, + const char *file, int line)); +void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function) + (struct CRYPTO_dynlock_value *l, + const char *file, int line)); +struct CRYPTO_dynlock_value +*(*CRYPTO_get_dynlock_create_callback(void)) (const char *file, int line); +void (*CRYPTO_get_dynlock_lock_callback(void)) (int mode, + struct CRYPTO_dynlock_value + *l, const char *file, + int line); +void (*CRYPTO_get_dynlock_destroy_callback(void)) (struct CRYPTO_dynlock_value + *l, const char *file, + int line); + +/* + * CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- call + * the latter last if you need different functions + */ +int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), + void (*f) (void *)); +int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), + void (*free_func) (void *)); +int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int), + void *(*r) (void *, size_t, const char *, + int), void (*f) (void *)); +int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int), + void (*free_func) (void *)); +int CRYPTO_set_mem_debug_functions(void (*m) + (void *, int, const char *, int, int), + void (*r) (void *, void *, int, + const char *, int, int), + void (*f) (void *, int), void (*so) (long), + long (*go) (void)); +void CRYPTO_get_mem_functions(void *(**m) (size_t), + void *(**r) (void *, size_t), + void (**f) (void *)); +void CRYPTO_get_locked_mem_functions(void *(**m) (size_t), + void (**f) (void *)); +void CRYPTO_get_mem_ex_functions(void *(**m) (size_t, const char *, int), + void *(**r) (void *, size_t, const char *, + int), void (**f) (void *)); +void CRYPTO_get_locked_mem_ex_functions(void + *(**m) (size_t, const char *, int), + void (**f) (void *)); +void CRYPTO_get_mem_debug_functions(void (**m) + (void *, int, const char *, int, int), + void (**r) (void *, void *, int, + const char *, int, int), + void (**f) (void *, int), + void (**so) (long), long (**go) (void)); + +void *CRYPTO_malloc_locked(int num, const char *file, int line); +void CRYPTO_free_locked(void *ptr); +void *CRYPTO_malloc(int num, const char *file, int line); +char *CRYPTO_strdup(const char *str, const char *file, int line); +void CRYPTO_free(void *ptr); +void *CRYPTO_realloc(void *addr, int num, const char *file, int line); +void *CRYPTO_realloc_clean(void *addr, int old_num, int num, const char *file, + int line); +void *CRYPTO_remalloc(void *addr, int num, const char *file, int line); + +void OPENSSL_cleanse(void *ptr, size_t len); + +void CRYPTO_set_mem_debug_options(long bits); +long CRYPTO_get_mem_debug_options(void); + +# define CRYPTO_push_info(info) \ + CRYPTO_push_info_(info, __FILE__, __LINE__); +int CRYPTO_push_info_(const char *info, const char *file, int line); +int CRYPTO_pop_info(void); +int CRYPTO_remove_all_info(void); + +/* + * Default debugging functions (enabled by CRYPTO_malloc_debug_init() macro; + * used as default in CRYPTO_MDEBUG compilations): + */ +/*- + * The last argument has the following significance: + * + * 0: called before the actual memory allocation has taken place + * 1: called after the actual memory allocation has taken place + */ +void CRYPTO_dbg_malloc(void *addr, int num, const char *file, int line, + int before_p); +void CRYPTO_dbg_realloc(void *addr1, void *addr2, int num, const char *file, + int line, int before_p); +void CRYPTO_dbg_free(void *addr, int before_p); +/*- + * Tell the debugging code about options. By default, the following values + * apply: + * + * 0: Clear all options. + * V_CRYPTO_MDEBUG_TIME (1): Set the "Show Time" option. + * V_CRYPTO_MDEBUG_THREAD (2): Set the "Show Thread Number" option. + * V_CRYPTO_MDEBUG_ALL (3): 1 + 2 + */ +void CRYPTO_dbg_set_options(long bits); +long CRYPTO_dbg_get_options(void); + +# ifndef OPENSSL_NO_FP_API +void CRYPTO_mem_leaks_fp(FILE *); +# endif +void CRYPTO_mem_leaks(struct bio_st *bio); +/* unsigned long order, char *file, int line, int num_bytes, char *addr */ +typedef void *CRYPTO_MEM_LEAK_CB (unsigned long, const char *, int, int, + void *); +void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); + +/* die if we have to */ +void OpenSSLDie(const char *file, int line, const char *assertion); +# define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__, #e),1)) + +unsigned long *OPENSSL_ia32cap_loc(void); +# define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) +int OPENSSL_isservice(void); + +int FIPS_mode(void); +int FIPS_mode_set(int r); + +void OPENSSL_init(void); + +# define fips_md_init(alg) fips_md_init_ctx(alg, alg) + +# ifdef OPENSSL_FIPS +# define fips_md_init_ctx(alg, cx) \ + int alg##_Init(cx##_CTX *c) \ + { \ + if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ + "Low level API call to digest " #alg " forbidden in FIPS mode!"); \ + return private_##alg##_Init(c); \ + } \ + int private_##alg##_Init(cx##_CTX *c) + +# define fips_cipher_abort(alg) \ + if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ + "Low level API call to cipher " #alg " forbidden in FIPS mode!") + +# else +# define fips_md_init_ctx(alg, cx) \ + int alg##_Init(cx##_CTX *c) +# define fips_cipher_abort(alg) while(0) +# endif + +/* + * CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. + * It takes an amount of time dependent on |len|, but independent of the + * contents of |a| and |b|. Unlike memcmp, it cannot be used to put elements + * into a defined order as the return value when a != b is undefined, other + * than to be non-zero. + */ +int CRYPTO_memcmp(const volatile void *a, const volatile void *b, size_t len); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_CRYPTO_strings(void); + +/* Error codes for the CRYPTO functions. */ + +/* Function codes. */ +# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 +# define CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID 103 +# define CRYPTO_F_CRYPTO_GET_NEW_LOCKID 101 +# define CRYPTO_F_CRYPTO_SET_EX_DATA 102 +# define CRYPTO_F_DEF_ADD_INDEX 104 +# define CRYPTO_F_DEF_GET_CLASS 105 +# define CRYPTO_F_FIPS_MODE_SET 109 +# define CRYPTO_F_INT_DUP_EX_DATA 106 +# define CRYPTO_F_INT_FREE_EX_DATA 107 +# define CRYPTO_F_INT_NEW_EX_DATA 108 + +/* Reason codes. */ +# define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 +# define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/des.h b/3rdparty/openssl/include/openssl/des.h new file mode 100644 index 0000000..1b40144 --- /dev/null +++ b/3rdparty/openssl/include/openssl/des.h @@ -0,0 +1,257 @@ +/* crypto/des/des.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_NEW_DES_H +# define HEADER_NEW_DES_H + +# include /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG + * (via openssl/opensslconf.h */ + +# ifdef OPENSSL_NO_DES +# error DES is disabled. +# endif + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned char DES_cblock[8]; +typedef /* const */ unsigned char const_DES_cblock[8]; +/* + * With "const", gcc 2.8.1 on Solaris thinks that DES_cblock * and + * const_DES_cblock * are incompatible pointer types. + */ + +typedef struct DES_ks { + union { + DES_cblock cblock; + /* + * make sure things are correct size on machines with 8 byte longs + */ + DES_LONG deslong[2]; + } ks[16]; +} DES_key_schedule; + +# ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT +# ifndef OPENSSL_ENABLE_OLD_DES_SUPPORT +# define OPENSSL_ENABLE_OLD_DES_SUPPORT +# endif +# endif + +# ifdef OPENSSL_ENABLE_OLD_DES_SUPPORT +# include +# endif + +# define DES_KEY_SZ (sizeof(DES_cblock)) +# define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) + +# define DES_ENCRYPT 1 +# define DES_DECRYPT 0 + +# define DES_CBC_MODE 0 +# define DES_PCBC_MODE 1 + +# define DES_ecb2_encrypt(i,o,k1,k2,e) \ + DES_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) + +# define DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ + DES_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) + +# define DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ + DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) + +# define DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ + DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) + +OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */ +# define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) +OPENSSL_DECLARE_GLOBAL(int, DES_rw_mode); /* defaults to DES_PCBC_MODE */ +# define DES_rw_mode OPENSSL_GLOBAL_REF(DES_rw_mode) + +const char *DES_options(void); +void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, int enc); +DES_LONG DES_cbc_cksum(const unsigned char *input, DES_cblock *output, + long length, DES_key_schedule *schedule, + const_DES_cblock *ivec); +/* DES_cbc_encrypt does not update the IV! Use DES_ncbc_encrypt instead. */ +void DES_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_xcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, const_DES_cblock *inw, + const_DES_cblock *outw, int enc); +void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks, int enc); + +/* + * This is the DES encryption function that gets called by just about every + * other DES routine in the library. You should not use this function except + * to implement 'modes' of DES. I say this because the functions that call + * this routine do the conversion from 'char *' to long, and this needs to be + * done to make sure 'non-aligned' memory access do not occur. The + * characters are loaded 'little endian'. Data is a pointer to 2 unsigned + * long's and ks is the DES_key_schedule to use. enc, is non zero specifies + * encryption, zero if decryption. + */ +void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc); + +/* + * This functions is the same as DES_encrypt1() except that the DES initial + * permutation (IP) and final permutation (FP) have been left out. As for + * DES_encrypt1(), you should not use this function. It is used by the + * routines in the library that implement triple DES. IP() DES_encrypt2() + * DES_encrypt2() DES_encrypt2() FP() is the same as DES_encrypt1() + * DES_encrypt1() DES_encrypt1() except faster :-). + */ +void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc); + +void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, DES_cblock *ivec, int enc); +void DES_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, + DES_cblock *ivec1, DES_cblock *ivec2, int enc); +void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num, int enc); +void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out, + int numbits, long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int enc); +void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num); +# if 0 +void DES_xwhite_in2out(const_DES_cblock *DES_key, const_DES_cblock *in_white, + DES_cblock *out_white); +# endif + +int DES_enc_read(int fd, void *buf, int len, DES_key_schedule *sched, + DES_cblock *iv); +int DES_enc_write(int fd, const void *buf, int len, DES_key_schedule *sched, + DES_cblock *iv); +char *DES_fcrypt(const char *buf, const char *salt, char *ret); +char *DES_crypt(const char *buf, const char *salt); +void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec); +void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[], + long length, int out_count, DES_cblock *seed); +int DES_random_key(DES_cblock *ret); +void DES_set_odd_parity(DES_cblock *key); +int DES_check_key_parity(const_DES_cblock *key); +int DES_is_weak_key(const_DES_cblock *key); +/* + * DES_set_key (= set_key = DES_key_sched = key_sched) calls + * DES_set_key_checked if global variable DES_check_key is set, + * DES_set_key_unchecked otherwise. + */ +int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule); +# ifdef OPENSSL_FIPS +void private_DES_set_key_unchecked(const_DES_cblock *key, + DES_key_schedule *schedule); +# endif +void DES_string_to_key(const char *str, DES_cblock *key); +void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2); +void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num, int enc); +void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num); + +int DES_read_password(DES_cblock *key, const char *prompt, int verify); +int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2, + const char *prompt, int verify); + +# define DES_fixup_key_parity DES_set_odd_parity + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/des_old.h b/3rdparty/openssl/include/openssl/des_old.h new file mode 100644 index 0000000..ee7607a --- /dev/null +++ b/3rdparty/openssl/include/openssl/des_old.h @@ -0,0 +1,497 @@ +/* crypto/des/des_old.h */ + +/*- + * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING + * + * The function names in here are deprecated and are only present to + * provide an interface compatible with openssl 0.9.6 and older as + * well as libdes. OpenSSL now provides functions where "des_" has + * been replaced with "DES_" in the names, to make it possible to + * make incompatible changes that are needed for C type security and + * other stuff. + * + * This include files has two compatibility modes: + * + * - If OPENSSL_DES_LIBDES_COMPATIBILITY is defined, you get an API + * that is compatible with libdes and SSLeay. + * - If OPENSSL_DES_LIBDES_COMPATIBILITY isn't defined, you get an + * API that is compatible with OpenSSL 0.9.5x to 0.9.6x. + * + * Note that these modes break earlier snapshots of OpenSSL, where + * libdes compatibility was the only available mode or (later on) the + * prefered compatibility mode. However, after much consideration + * (and more or less violent discussions with external parties), it + * was concluded that OpenSSL should be compatible with earlier versions + * of itself before anything else. Also, in all honesty, libdes is + * an old beast that shouldn't really be used any more. + * + * Please consider starting to use the DES_ functions rather than the + * des_ ones. The des_ functions will disappear completely before + * OpenSSL 1.0! + * + * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING + */ + +/* + * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project + * 2001. + */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_DES_H +# define HEADER_DES_H + +# include /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG */ + +# ifdef OPENSSL_NO_DES +# error DES is disabled. +# endif + +# ifndef HEADER_NEW_DES_H +# error You must include des.h, not des_old.h directly. +# endif + +# ifdef _KERBEROS_DES_H +# error replaces . +# endif + +# include + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef _ +# undef _ +# endif + +typedef unsigned char _ossl_old_des_cblock[8]; +typedef struct _ossl_old_des_ks_struct { + union { + _ossl_old_des_cblock _; + /* + * make sure things are correct size on machines with 8 byte longs + */ + DES_LONG pad[2]; + } ks; +} _ossl_old_des_key_schedule[16]; + +# ifndef OPENSSL_DES_LIBDES_COMPATIBILITY +# define des_cblock DES_cblock +# define const_des_cblock const_DES_cblock +# define des_key_schedule DES_key_schedule +# define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ + DES_ecb3_encrypt((i),(o),&(k1),&(k2),&(k3),(e)) +# define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ + DES_ede3_cbc_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(e)) +# define des_ede3_cbcm_encrypt(i,o,l,k1,k2,k3,iv1,iv2,e)\ + DES_ede3_cbcm_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv1),(iv2),(e)) +# define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ + DES_ede3_cfb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n),(e)) +# define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ + DES_ede3_ofb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n)) +# define des_options()\ + DES_options() +# define des_cbc_cksum(i,o,l,k,iv)\ + DES_cbc_cksum((i),(o),(l),&(k),(iv)) +# define des_cbc_encrypt(i,o,l,k,iv,e)\ + DES_cbc_encrypt((i),(o),(l),&(k),(iv),(e)) +# define des_ncbc_encrypt(i,o,l,k,iv,e)\ + DES_ncbc_encrypt((i),(o),(l),&(k),(iv),(e)) +# define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ + DES_xcbc_encrypt((i),(o),(l),&(k),(iv),(inw),(outw),(e)) +# define des_cfb_encrypt(i,o,n,l,k,iv,e)\ + DES_cfb_encrypt((i),(o),(n),(l),&(k),(iv),(e)) +# define des_ecb_encrypt(i,o,k,e)\ + DES_ecb_encrypt((i),(o),&(k),(e)) +# define des_encrypt1(d,k,e)\ + DES_encrypt1((d),&(k),(e)) +# define des_encrypt2(d,k,e)\ + DES_encrypt2((d),&(k),(e)) +# define des_encrypt3(d,k1,k2,k3)\ + DES_encrypt3((d),&(k1),&(k2),&(k3)) +# define des_decrypt3(d,k1,k2,k3)\ + DES_decrypt3((d),&(k1),&(k2),&(k3)) +# define des_xwhite_in2out(k,i,o)\ + DES_xwhite_in2out((k),(i),(o)) +# define des_enc_read(f,b,l,k,iv)\ + DES_enc_read((f),(b),(l),&(k),(iv)) +# define des_enc_write(f,b,l,k,iv)\ + DES_enc_write((f),(b),(l),&(k),(iv)) +# define des_fcrypt(b,s,r)\ + DES_fcrypt((b),(s),(r)) +# if 0 +# define des_crypt(b,s)\ + DES_crypt((b),(s)) +# if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(__OpenBSD__) +# define crypt(b,s)\ + DES_crypt((b),(s)) +# endif +# endif +# define des_ofb_encrypt(i,o,n,l,k,iv)\ + DES_ofb_encrypt((i),(o),(n),(l),&(k),(iv)) +# define des_pcbc_encrypt(i,o,l,k,iv,e)\ + DES_pcbc_encrypt((i),(o),(l),&(k),(iv),(e)) +# define des_quad_cksum(i,o,l,c,s)\ + DES_quad_cksum((i),(o),(l),(c),(s)) +# define des_random_seed(k)\ + _ossl_096_des_random_seed((k)) +# define des_random_key(r)\ + DES_random_key((r)) +# define des_read_password(k,p,v) \ + DES_read_password((k),(p),(v)) +# define des_read_2passwords(k1,k2,p,v) \ + DES_read_2passwords((k1),(k2),(p),(v)) +# define des_set_odd_parity(k)\ + DES_set_odd_parity((k)) +# define des_check_key_parity(k)\ + DES_check_key_parity((k)) +# define des_is_weak_key(k)\ + DES_is_weak_key((k)) +# define des_set_key(k,ks)\ + DES_set_key((k),&(ks)) +# define des_key_sched(k,ks)\ + DES_key_sched((k),&(ks)) +# define des_set_key_checked(k,ks)\ + DES_set_key_checked((k),&(ks)) +# define des_set_key_unchecked(k,ks)\ + DES_set_key_unchecked((k),&(ks)) +# define des_string_to_key(s,k)\ + DES_string_to_key((s),(k)) +# define des_string_to_2keys(s,k1,k2)\ + DES_string_to_2keys((s),(k1),(k2)) +# define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ + DES_cfb64_encrypt((i),(o),(l),&(ks),(iv),(n),(e)) +# define des_ofb64_encrypt(i,o,l,ks,iv,n)\ + DES_ofb64_encrypt((i),(o),(l),&(ks),(iv),(n)) + +# define des_ecb2_encrypt(i,o,k1,k2,e) \ + des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) + +# define des_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ + des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) + +# define des_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ + des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) + +# define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ + des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) + +# define des_check_key DES_check_key +# define des_rw_mode DES_rw_mode +# else /* libdes compatibility */ +/* + * Map all symbol names to _ossl_old_des_* form, so we avoid all clashes with + * libdes + */ +# define des_cblock _ossl_old_des_cblock +# define des_key_schedule _ossl_old_des_key_schedule +# define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ + _ossl_old_des_ecb3_encrypt((i),(o),(k1),(k2),(k3),(e)) +# define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ + _ossl_old_des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(e)) +# define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ + _ossl_old_des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n),(e)) +# define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ + _ossl_old_des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n)) +# define des_options()\ + _ossl_old_des_options() +# define des_cbc_cksum(i,o,l,k,iv)\ + _ossl_old_des_cbc_cksum((i),(o),(l),(k),(iv)) +# define des_cbc_encrypt(i,o,l,k,iv,e)\ + _ossl_old_des_cbc_encrypt((i),(o),(l),(k),(iv),(e)) +# define des_ncbc_encrypt(i,o,l,k,iv,e)\ + _ossl_old_des_ncbc_encrypt((i),(o),(l),(k),(iv),(e)) +# define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ + _ossl_old_des_xcbc_encrypt((i),(o),(l),(k),(iv),(inw),(outw),(e)) +# define des_cfb_encrypt(i,o,n,l,k,iv,e)\ + _ossl_old_des_cfb_encrypt((i),(o),(n),(l),(k),(iv),(e)) +# define des_ecb_encrypt(i,o,k,e)\ + _ossl_old_des_ecb_encrypt((i),(o),(k),(e)) +# define des_encrypt(d,k,e)\ + _ossl_old_des_encrypt((d),(k),(e)) +# define des_encrypt2(d,k,e)\ + _ossl_old_des_encrypt2((d),(k),(e)) +# define des_encrypt3(d,k1,k2,k3)\ + _ossl_old_des_encrypt3((d),(k1),(k2),(k3)) +# define des_decrypt3(d,k1,k2,k3)\ + _ossl_old_des_decrypt3((d),(k1),(k2),(k3)) +# define des_xwhite_in2out(k,i,o)\ + _ossl_old_des_xwhite_in2out((k),(i),(o)) +# define des_enc_read(f,b,l,k,iv)\ + _ossl_old_des_enc_read((f),(b),(l),(k),(iv)) +# define des_enc_write(f,b,l,k,iv)\ + _ossl_old_des_enc_write((f),(b),(l),(k),(iv)) +# define des_fcrypt(b,s,r)\ + _ossl_old_des_fcrypt((b),(s),(r)) +# define des_crypt(b,s)\ + _ossl_old_des_crypt((b),(s)) +# if 0 +# define crypt(b,s)\ + _ossl_old_crypt((b),(s)) +# endif +# define des_ofb_encrypt(i,o,n,l,k,iv)\ + _ossl_old_des_ofb_encrypt((i),(o),(n),(l),(k),(iv)) +# define des_pcbc_encrypt(i,o,l,k,iv,e)\ + _ossl_old_des_pcbc_encrypt((i),(o),(l),(k),(iv),(e)) +# define des_quad_cksum(i,o,l,c,s)\ + _ossl_old_des_quad_cksum((i),(o),(l),(c),(s)) +# define des_random_seed(k)\ + _ossl_old_des_random_seed((k)) +# define des_random_key(r)\ + _ossl_old_des_random_key((r)) +# define des_read_password(k,p,v) \ + _ossl_old_des_read_password((k),(p),(v)) +# define des_read_2passwords(k1,k2,p,v) \ + _ossl_old_des_read_2passwords((k1),(k2),(p),(v)) +# define des_set_odd_parity(k)\ + _ossl_old_des_set_odd_parity((k)) +# define des_is_weak_key(k)\ + _ossl_old_des_is_weak_key((k)) +# define des_set_key(k,ks)\ + _ossl_old_des_set_key((k),(ks)) +# define des_key_sched(k,ks)\ + _ossl_old_des_key_sched((k),(ks)) +# define des_string_to_key(s,k)\ + _ossl_old_des_string_to_key((s),(k)) +# define des_string_to_2keys(s,k1,k2)\ + _ossl_old_des_string_to_2keys((s),(k1),(k2)) +# define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ + _ossl_old_des_cfb64_encrypt((i),(o),(l),(ks),(iv),(n),(e)) +# define des_ofb64_encrypt(i,o,l,ks,iv,n)\ + _ossl_old_des_ofb64_encrypt((i),(o),(l),(ks),(iv),(n)) + +# define des_ecb2_encrypt(i,o,k1,k2,e) \ + des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) + +# define des_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ + des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) + +# define des_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ + des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) + +# define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ + des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) + +# define des_check_key DES_check_key +# define des_rw_mode DES_rw_mode +# endif + +const char *_ossl_old_des_options(void); +void _ossl_old_des_ecb3_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, + _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3, int enc); +DES_LONG _ossl_old_des_cbc_cksum(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec); +void _ossl_old_des_cbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int enc); +void _ossl_old_des_ncbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int enc); +void _ossl_old_des_xcbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, + _ossl_old_des_cblock *inw, + _ossl_old_des_cblock *outw, int enc); +void _ossl_old_des_cfb_encrypt(unsigned char *in, unsigned char *out, + int numbits, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int enc); +void _ossl_old_des_ecb_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, + _ossl_old_des_key_schedule ks, int enc); +void _ossl_old_des_encrypt(DES_LONG *data, _ossl_old_des_key_schedule ks, + int enc); +void _ossl_old_des_encrypt2(DES_LONG *data, _ossl_old_des_key_schedule ks, + int enc); +void _ossl_old_des_encrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3); +void _ossl_old_des_decrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3); +void _ossl_old_des_ede3_cbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3, + _ossl_old_des_cblock *ivec, int enc); +void _ossl_old_des_ede3_cfb64_encrypt(unsigned char *in, unsigned char *out, + long length, + _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3, + _ossl_old_des_cblock *ivec, int *num, + int enc); +void _ossl_old_des_ede3_ofb64_encrypt(unsigned char *in, unsigned char *out, + long length, + _ossl_old_des_key_schedule ks1, + _ossl_old_des_key_schedule ks2, + _ossl_old_des_key_schedule ks3, + _ossl_old_des_cblock *ivec, int *num); +# if 0 +void _ossl_old_des_xwhite_in2out(_ossl_old_des_cblock (*des_key), + _ossl_old_des_cblock (*in_white), + _ossl_old_des_cblock (*out_white)); +# endif + +int _ossl_old_des_enc_read(int fd, char *buf, int len, + _ossl_old_des_key_schedule sched, + _ossl_old_des_cblock *iv); +int _ossl_old_des_enc_write(int fd, char *buf, int len, + _ossl_old_des_key_schedule sched, + _ossl_old_des_cblock *iv); +char *_ossl_old_des_fcrypt(const char *buf, const char *salt, char *ret); +char *_ossl_old_des_crypt(const char *buf, const char *salt); +# if !defined(PERL5) && !defined(NeXT) +char *_ossl_old_crypt(const char *buf, const char *salt); +# endif +void _ossl_old_des_ofb_encrypt(unsigned char *in, unsigned char *out, + int numbits, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec); +void _ossl_old_des_pcbc_encrypt(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int enc); +DES_LONG _ossl_old_des_quad_cksum(_ossl_old_des_cblock *input, + _ossl_old_des_cblock *output, long length, + int out_count, _ossl_old_des_cblock *seed); +void _ossl_old_des_random_seed(_ossl_old_des_cblock key); +void _ossl_old_des_random_key(_ossl_old_des_cblock ret); +int _ossl_old_des_read_password(_ossl_old_des_cblock *key, const char *prompt, + int verify); +int _ossl_old_des_read_2passwords(_ossl_old_des_cblock *key1, + _ossl_old_des_cblock *key2, + const char *prompt, int verify); +void _ossl_old_des_set_odd_parity(_ossl_old_des_cblock *key); +int _ossl_old_des_is_weak_key(_ossl_old_des_cblock *key); +int _ossl_old_des_set_key(_ossl_old_des_cblock *key, + _ossl_old_des_key_schedule schedule); +int _ossl_old_des_key_sched(_ossl_old_des_cblock *key, + _ossl_old_des_key_schedule schedule); +void _ossl_old_des_string_to_key(char *str, _ossl_old_des_cblock *key); +void _ossl_old_des_string_to_2keys(char *str, _ossl_old_des_cblock *key1, + _ossl_old_des_cblock *key2); +void _ossl_old_des_cfb64_encrypt(unsigned char *in, unsigned char *out, + long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int *num, + int enc); +void _ossl_old_des_ofb64_encrypt(unsigned char *in, unsigned char *out, + long length, + _ossl_old_des_key_schedule schedule, + _ossl_old_des_cblock *ivec, int *num); + +void _ossl_096_des_random_seed(des_cblock *key); + +/* + * The following definitions provide compatibility with the MIT Kerberos + * library. The _ossl_old_des_key_schedule structure is not binary + * compatible. + */ + +# define _KERBEROS_DES_H + +# define KRBDES_ENCRYPT DES_ENCRYPT +# define KRBDES_DECRYPT DES_DECRYPT + +# ifdef KERBEROS +# define ENCRYPT DES_ENCRYPT +# define DECRYPT DES_DECRYPT +# endif + +# ifndef NCOMPAT +# define C_Block des_cblock +# define Key_schedule des_key_schedule +# define KEY_SZ DES_KEY_SZ +# define string_to_key des_string_to_key +# define read_pw_string des_read_pw_string +# define random_key des_random_key +# define pcbc_encrypt des_pcbc_encrypt +# define set_key des_set_key +# define key_sched des_key_sched +# define ecb_encrypt des_ecb_encrypt +# define cbc_encrypt des_cbc_encrypt +# define ncbc_encrypt des_ncbc_encrypt +# define xcbc_encrypt des_xcbc_encrypt +# define cbc_cksum des_cbc_cksum +# define quad_cksum des_quad_cksum +# define check_parity des_check_key_parity +# endif + +# define des_fixup_key_parity DES_fixup_key_parity + +#ifdef __cplusplus +} +#endif + +/* for DES_read_pw_string et al */ +# include + +#endif diff --git a/3rdparty/openssl/include/openssl/dh.h b/3rdparty/openssl/include/openssl/dh.h new file mode 100644 index 0000000..80b28fb --- /dev/null +++ b/3rdparty/openssl/include/openssl/dh.h @@ -0,0 +1,412 @@ +/* crypto/dh/dh.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_DH_H +# define HEADER_DH_H + +# include + +# ifdef OPENSSL_NO_DH +# error DH is disabled. +# endif + +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +# ifndef OPENSSL_DH_MAX_MODULUS_BITS +# define OPENSSL_DH_MAX_MODULUS_BITS 10000 +# endif + +# define DH_FLAG_CACHE_MONT_P 0x01 + +/* + * new with 0.9.7h; the built-in DH + * implementation now uses constant time + * modular exponentiation for secret exponents + * by default. This flag causes the + * faster variable sliding window method to + * be used for all exponents. + */ +# define DH_FLAG_NO_EXP_CONSTTIME 0x02 + +/* + * If this flag is set the DH method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its reposibility to ensure the + * result is compliant. + */ + +# define DH_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define DH_FLAG_NON_FIPS_ALLOW 0x0400 + +#ifdef __cplusplus +extern "C" { +#endif + +/* Already defined in ossl_typ.h */ +/* typedef struct dh_st DH; */ +/* typedef struct dh_method DH_METHOD; */ + +struct dh_method { + const char *name; + /* Methods here */ + int (*generate_key) (DH *dh); + int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh); + /* Can be null */ + int (*bn_mod_exp) (const DH *dh, BIGNUM *r, const BIGNUM *a, + const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *m_ctx); + int (*init) (DH *dh); + int (*finish) (DH *dh); + int flags; + char *app_data; + /* If this is non-NULL, it will be used to generate parameters */ + int (*generate_params) (DH *dh, int prime_len, int generator, + BN_GENCB *cb); +}; + +struct dh_st { + /* + * This first argument is used to pick up errors when a DH is passed + * instead of a EVP_PKEY + */ + int pad; + int version; + BIGNUM *p; + BIGNUM *g; + long length; /* optional */ + BIGNUM *pub_key; /* g^x % p */ + BIGNUM *priv_key; /* x */ + int flags; + BN_MONT_CTX *method_mont_p; + /* Place holders if we want to do X9.42 DH */ + BIGNUM *q; + BIGNUM *j; + unsigned char *seed; + int seedlen; + BIGNUM *counter; + int references; + CRYPTO_EX_DATA ex_data; + const DH_METHOD *meth; + ENGINE *engine; +}; + +# define DH_GENERATOR_2 2 +/* #define DH_GENERATOR_3 3 */ +# define DH_GENERATOR_5 5 + +/* DH_check error codes */ +# define DH_CHECK_P_NOT_PRIME 0x01 +# define DH_CHECK_P_NOT_SAFE_PRIME 0x02 +# define DH_UNABLE_TO_CHECK_GENERATOR 0x04 +# define DH_NOT_SUITABLE_GENERATOR 0x08 +# define DH_CHECK_Q_NOT_PRIME 0x10 +# define DH_CHECK_INVALID_Q_VALUE 0x20 +# define DH_CHECK_INVALID_J_VALUE 0x40 + +/* DH_check_pub_key error codes */ +# define DH_CHECK_PUBKEY_TOO_SMALL 0x01 +# define DH_CHECK_PUBKEY_TOO_LARGE 0x02 +# define DH_CHECK_PUBKEY_INVALID 0x04 + +/* + * primes p where (p-1)/2 is prime too are called "safe"; we define this for + * backward compatibility: + */ +# define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME + +# define d2i_DHparams_fp(fp,x) \ + (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ + (char *(*)())d2i_DHparams, \ + (fp), \ + (unsigned char **)(x)) +# define i2d_DHparams_fp(fp,x) \ + ASN1_i2d_fp(i2d_DHparams,(fp), (unsigned char *)(x)) +# define d2i_DHparams_bio(bp,x) \ + ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, bp, x) +# define i2d_DHparams_bio(bp,x) \ + ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) + +# define d2i_DHxparams_fp(fp,x) \ + (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ + (char *(*)())d2i_DHxparams, \ + (fp), \ + (unsigned char **)(x)) +# define i2d_DHxparams_fp(fp,x) \ + ASN1_i2d_fp(i2d_DHxparams,(fp), (unsigned char *)(x)) +# define d2i_DHxparams_bio(bp,x) \ + ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x) +# define i2d_DHxparams_bio(bp,x) \ + ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x) + +DH *DHparams_dup(DH *); + +const DH_METHOD *DH_OpenSSL(void); + +void DH_set_default_method(const DH_METHOD *meth); +const DH_METHOD *DH_get_default_method(void); +int DH_set_method(DH *dh, const DH_METHOD *meth); +DH *DH_new_method(ENGINE *engine); + +DH *DH_new(void); +void DH_free(DH *dh); +int DH_up_ref(DH *dh); +int DH_size(const DH *dh); +int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int DH_set_ex_data(DH *d, int idx, void *arg); +void *DH_get_ex_data(DH *d, int idx); + +/* Deprecated version */ +# ifndef OPENSSL_NO_DEPRECATED +DH *DH_generate_parameters(int prime_len, int generator, + void (*callback) (int, int, void *), void *cb_arg); +# endif /* !defined(OPENSSL_NO_DEPRECATED) */ + +/* New version */ +int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, + BN_GENCB *cb); + +int DH_check(const DH *dh, int *codes); +int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *codes); +int DH_generate_key(DH *dh); +int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); +int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh); +DH *d2i_DHparams(DH **a, const unsigned char **pp, long length); +int i2d_DHparams(const DH *a, unsigned char **pp); +DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length); +int i2d_DHxparams(const DH *a, unsigned char **pp); +# ifndef OPENSSL_NO_FP_API +int DHparams_print_fp(FILE *fp, const DH *x); +# endif +# ifndef OPENSSL_NO_BIO +int DHparams_print(BIO *bp, const DH *x); +# else +int DHparams_print(char *bp, const DH *x); +# endif + +/* RFC 5114 parameters */ +DH *DH_get_1024_160(void); +DH *DH_get_2048_224(void); +DH *DH_get_2048_256(void); + +# ifndef OPENSSL_NO_CMS +/* RFC2631 KDF */ +int DH_KDF_X9_42(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + ASN1_OBJECT *key_oid, + const unsigned char *ukm, size_t ukmlen, const EVP_MD *md); +# endif + +# define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, len, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) + +# define EVP_PKEY_CTX_set_dh_rfc5114(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + +# define EVP_PKEY_CTX_set_dhx_rfc5114(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + +# define EVP_PKEY_CTX_set_dh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, kdf, NULL) + +# define EVP_PKEY_CTX_get_dh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, -2, NULL) + +# define EVP_PKEY_CTX_set0_dh_kdf_oid(ctx, oid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OID, 0, (void *)oid) + +# define EVP_PKEY_CTX_get0_dh_kdf_oid(ctx, poid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OID, 0, (void *)poid) + +# define EVP_PKEY_CTX_set_dh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_dh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set_dh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OUTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_dh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN, 0, (void *)plen) + +# define EVP_PKEY_CTX_set0_dh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_UKM, plen, (void *)p) + +# define EVP_PKEY_CTX_get0_dh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_UKM, 0, (void *)p) + +# define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DH_RFC5114 (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_DH_KDF_TYPE (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 10) +# define EVP_PKEY_CTRL_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 12) +# define EVP_PKEY_CTRL_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 13) +# define EVP_PKEY_CTRL_GET_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 14) + +/* KDF types */ +# define EVP_PKEY_DH_KDF_NONE 1 +# define EVP_PKEY_DH_KDF_X9_42 2 + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_DH_strings(void); + +/* Error codes for the DH functions. */ + +/* Function codes. */ +# define DH_F_COMPUTE_KEY 102 +# define DH_F_DHPARAMS_PRINT_FP 101 +# define DH_F_DH_BUILTIN_GENPARAMS 106 +# define DH_F_DH_CMS_DECRYPT 117 +# define DH_F_DH_CMS_SET_PEERKEY 118 +# define DH_F_DH_CMS_SET_SHARED_INFO 119 +# define DH_F_DH_COMPUTE_KEY 114 +# define DH_F_DH_GENERATE_KEY 115 +# define DH_F_DH_GENERATE_PARAMETERS_EX 116 +# define DH_F_DH_NEW_METHOD 105 +# define DH_F_DH_PARAM_DECODE 107 +# define DH_F_DH_PRIV_DECODE 110 +# define DH_F_DH_PRIV_ENCODE 111 +# define DH_F_DH_PUB_DECODE 108 +# define DH_F_DH_PUB_ENCODE 109 +# define DH_F_DO_DH_PRINT 100 +# define DH_F_GENERATE_KEY 103 +# define DH_F_GENERATE_PARAMETERS 104 +# define DH_F_PKEY_DH_DERIVE 112 +# define DH_F_PKEY_DH_KEYGEN 113 + +/* Reason codes. */ +# define DH_R_BAD_GENERATOR 101 +# define DH_R_BN_DECODE_ERROR 109 +# define DH_R_BN_ERROR 106 +# define DH_R_DECODE_ERROR 104 +# define DH_R_INVALID_PUBKEY 102 +# define DH_R_KDF_PARAMETER_ERROR 112 +# define DH_R_KEYS_NOT_SET 108 +# define DH_R_KEY_SIZE_TOO_SMALL 110 +# define DH_R_MODULUS_TOO_LARGE 103 +# define DH_R_NON_FIPS_METHOD 111 +# define DH_R_NO_PARAMETERS_SET 107 +# define DH_R_NO_PRIVATE_VALUE 100 +# define DH_R_PARAMETER_ENCODING_ERROR 105 +# define DH_R_PEER_KEY_ERROR 113 +# define DH_R_SHARED_INFO_ERROR 114 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/dsa.h b/3rdparty/openssl/include/openssl/dsa.h new file mode 100644 index 0000000..545358f --- /dev/null +++ b/3rdparty/openssl/include/openssl/dsa.h @@ -0,0 +1,332 @@ +/* crypto/dsa/dsa.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +/* + * The DSS routines are based on patches supplied by + * Steven Schoch . He basically did the + * work and I have just tweaked them a little to fit into my + * stylistic vision for SSLeay :-) */ + +#ifndef HEADER_DSA_H +# define HEADER_DSA_H + +# include + +# ifdef OPENSSL_NO_DSA +# error DSA is disabled. +# endif + +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include + +# ifndef OPENSSL_NO_DEPRECATED +# include +# ifndef OPENSSL_NO_DH +# include +# endif +# endif + +# ifndef OPENSSL_DSA_MAX_MODULUS_BITS +# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 +# endif + +# define DSA_FLAG_CACHE_MONT_P 0x01 +/* + * new with 0.9.7h; the built-in DSA implementation now uses constant time + * modular exponentiation for secret exponents by default. This flag causes + * the faster variable sliding window method to be used for all exponents. + */ +# define DSA_FLAG_NO_EXP_CONSTTIME 0x02 + +/* + * If this flag is set the DSA method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its reposibility to ensure the + * result is compliant. + */ + +# define DSA_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define DSA_FLAG_NON_FIPS_ALLOW 0x0400 + +#ifdef __cplusplus +extern "C" { +#endif + +/* Already defined in ossl_typ.h */ +/* typedef struct dsa_st DSA; */ +/* typedef struct dsa_method DSA_METHOD; */ + +typedef struct DSA_SIG_st { + BIGNUM *r; + BIGNUM *s; +} DSA_SIG; + +struct dsa_method { + const char *name; + DSA_SIG *(*dsa_do_sign) (const unsigned char *dgst, int dlen, DSA *dsa); + int (*dsa_sign_setup) (DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, + BIGNUM **rp); + int (*dsa_do_verify) (const unsigned char *dgst, int dgst_len, + DSA_SIG *sig, DSA *dsa); + int (*dsa_mod_exp) (DSA *dsa, BIGNUM *rr, BIGNUM *a1, BIGNUM *p1, + BIGNUM *a2, BIGNUM *p2, BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *in_mont); + /* Can be null */ + int (*bn_mod_exp) (DSA *dsa, BIGNUM *r, BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); + int (*init) (DSA *dsa); + int (*finish) (DSA *dsa); + int flags; + char *app_data; + /* If this is non-NULL, it is used to generate DSA parameters */ + int (*dsa_paramgen) (DSA *dsa, int bits, + const unsigned char *seed, int seed_len, + int *counter_ret, unsigned long *h_ret, + BN_GENCB *cb); + /* If this is non-NULL, it is used to generate DSA keys */ + int (*dsa_keygen) (DSA *dsa); +}; + +struct dsa_st { + /* + * This first variable is used to pick up errors where a DSA is passed + * instead of of a EVP_PKEY + */ + int pad; + long version; + int write_params; + BIGNUM *p; + BIGNUM *q; /* == 20 */ + BIGNUM *g; + BIGNUM *pub_key; /* y public key */ + BIGNUM *priv_key; /* x private key */ + BIGNUM *kinv; /* Signing pre-calc */ + BIGNUM *r; /* Signing pre-calc */ + int flags; + /* Normally used to cache montgomery values */ + BN_MONT_CTX *method_mont_p; + int references; + CRYPTO_EX_DATA ex_data; + const DSA_METHOD *meth; + /* functional reference if 'meth' is ENGINE-provided */ + ENGINE *engine; +}; + +# define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ + (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) +# define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ + (unsigned char *)(x)) +# define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) +# define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) + +DSA *DSAparams_dup(DSA *x); +DSA_SIG *DSA_SIG_new(void); +void DSA_SIG_free(DSA_SIG *a); +int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); +DSA_SIG *d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); + +DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); +int DSA_do_verify(const unsigned char *dgst, int dgst_len, + DSA_SIG *sig, DSA *dsa); + +const DSA_METHOD *DSA_OpenSSL(void); + +void DSA_set_default_method(const DSA_METHOD *); +const DSA_METHOD *DSA_get_default_method(void); +int DSA_set_method(DSA *dsa, const DSA_METHOD *); + +DSA *DSA_new(void); +DSA *DSA_new_method(ENGINE *engine); +void DSA_free(DSA *r); +/* "up" the DSA object's reference count */ +int DSA_up_ref(DSA *r); +int DSA_size(const DSA *); + /* next 4 return -1 on error */ +int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); +int DSA_sign(int type, const unsigned char *dgst, int dlen, + unsigned char *sig, unsigned int *siglen, DSA *dsa); +int DSA_verify(int type, const unsigned char *dgst, int dgst_len, + const unsigned char *sigbuf, int siglen, DSA *dsa); +int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int DSA_set_ex_data(DSA *d, int idx, void *arg); +void *DSA_get_ex_data(DSA *d, int idx); + +DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); + +/* Deprecated version */ +# ifndef OPENSSL_NO_DEPRECATED +DSA *DSA_generate_parameters(int bits, + unsigned char *seed, int seed_len, + int *counter_ret, unsigned long *h_ret, void + (*callback) (int, int, void *), void *cb_arg); +# endif /* !defined(OPENSSL_NO_DEPRECATED) */ + +/* New version */ +int DSA_generate_parameters_ex(DSA *dsa, int bits, + const unsigned char *seed, int seed_len, + int *counter_ret, unsigned long *h_ret, + BN_GENCB *cb); + +int DSA_generate_key(DSA *a); +int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); +int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); +int i2d_DSAparams(const DSA *a, unsigned char **pp); + +# ifndef OPENSSL_NO_BIO +int DSAparams_print(BIO *bp, const DSA *x); +int DSA_print(BIO *bp, const DSA *x, int off); +# endif +# ifndef OPENSSL_NO_FP_API +int DSAparams_print_fp(FILE *fp, const DSA *x); +int DSA_print_fp(FILE *bp, const DSA *x, int off); +# endif + +# define DSS_prime_checks 50 +/* + * Primality test according to FIPS PUB 186[-1], Appendix 2.1: 50 rounds of + * Rabin-Miller + */ +# define DSA_is_prime(n, callback, cb_arg) \ + BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg) + +# ifndef OPENSSL_NO_DH +/* + * Convert DSA structure (key or just parameters) into DH structure (be + * careful to avoid small subgroup attacks when using this!) + */ +DH *DSA_dup_DH(const DSA *r); +# endif + +# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) + +# define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_MD (EVP_PKEY_ALG_CTRL + 3) + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_DSA_strings(void); + +/* Error codes for the DSA functions. */ + +/* Function codes. */ +# define DSA_F_D2I_DSA_SIG 110 +# define DSA_F_DO_DSA_PRINT 104 +# define DSA_F_DSAPARAMS_PRINT 100 +# define DSA_F_DSAPARAMS_PRINT_FP 101 +# define DSA_F_DSA_BUILTIN_PARAMGEN2 126 +# define DSA_F_DSA_DO_SIGN 112 +# define DSA_F_DSA_DO_VERIFY 113 +# define DSA_F_DSA_GENERATE_KEY 124 +# define DSA_F_DSA_GENERATE_PARAMETERS_EX 123 +# define DSA_F_DSA_NEW_METHOD 103 +# define DSA_F_DSA_PARAM_DECODE 119 +# define DSA_F_DSA_PRINT_FP 105 +# define DSA_F_DSA_PRIV_DECODE 115 +# define DSA_F_DSA_PRIV_ENCODE 116 +# define DSA_F_DSA_PUB_DECODE 117 +# define DSA_F_DSA_PUB_ENCODE 118 +# define DSA_F_DSA_SIGN 106 +# define DSA_F_DSA_SIGN_SETUP 107 +# define DSA_F_DSA_SIG_NEW 109 +# define DSA_F_DSA_SIG_PRINT 125 +# define DSA_F_DSA_VERIFY 108 +# define DSA_F_I2D_DSA_SIG 111 +# define DSA_F_OLD_DSA_PRIV_DECODE 122 +# define DSA_F_PKEY_DSA_CTRL 120 +# define DSA_F_PKEY_DSA_KEYGEN 121 +# define DSA_F_SIG_CB 114 + +/* Reason codes. */ +# define DSA_R_BAD_Q_VALUE 102 +# define DSA_R_BN_DECODE_ERROR 108 +# define DSA_R_BN_ERROR 109 +# define DSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 100 +# define DSA_R_DECODE_ERROR 104 +# define DSA_R_INVALID_DIGEST_TYPE 106 +# define DSA_R_INVALID_PARAMETERS 112 +# define DSA_R_MISSING_PARAMETERS 101 +# define DSA_R_MODULUS_TOO_LARGE 103 +# define DSA_R_NEED_NEW_SETUP_VALUES 110 +# define DSA_R_NON_FIPS_DSA_METHOD 111 +# define DSA_R_NO_PARAMETERS_SET 107 +# define DSA_R_PARAMETER_ENCODING_ERROR 105 +# define DSA_R_Q_NOT_PRIME 113 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/dso.h b/3rdparty/openssl/include/openssl/dso.h new file mode 100644 index 0000000..c9013f5 --- /dev/null +++ b/3rdparty/openssl/include/openssl/dso.h @@ -0,0 +1,451 @@ +/* dso.h */ +/* + * Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL project + * 2000. + */ +/* ==================================================================== + * Copyright (c) 2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_DSO_H +# define HEADER_DSO_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* These values are used as commands to DSO_ctrl() */ +# define DSO_CTRL_GET_FLAGS 1 +# define DSO_CTRL_SET_FLAGS 2 +# define DSO_CTRL_OR_FLAGS 3 + +/* + * By default, DSO_load() will translate the provided filename into a form + * typical for the platform (more specifically the DSO_METHOD) using the + * dso_name_converter function of the method. Eg. win32 will transform "blah" + * into "blah.dll", and dlfcn will transform it into "libblah.so". The + * behaviour can be overriden by setting the name_converter callback in the + * DSO object (using DSO_set_name_converter()). This callback could even + * utilise the DSO_METHOD's converter too if it only wants to override + * behaviour for one or two possible DSO methods. However, the following flag + * can be set in a DSO to prevent *any* native name-translation at all - eg. + * if the caller has prompted the user for a path to a driver library so the + * filename should be interpreted as-is. + */ +# define DSO_FLAG_NO_NAME_TRANSLATION 0x01 +/* + * An extra flag to give if only the extension should be added as + * translation. This is obviously only of importance on Unix and other + * operating systems where the translation also may prefix the name with + * something, like 'lib', and ignored everywhere else. This flag is also + * ignored if DSO_FLAG_NO_NAME_TRANSLATION is used at the same time. + */ +# define DSO_FLAG_NAME_TRANSLATION_EXT_ONLY 0x02 + +/* + * The following flag controls the translation of symbol names to upper case. + * This is currently only being implemented for OpenVMS. + */ +# define DSO_FLAG_UPCASE_SYMBOL 0x10 + +/* + * This flag loads the library with public symbols. Meaning: The exported + * symbols of this library are public to all libraries loaded after this + * library. At the moment only implemented in unix. + */ +# define DSO_FLAG_GLOBAL_SYMBOLS 0x20 + +typedef void (*DSO_FUNC_TYPE) (void); + +typedef struct dso_st DSO; + +/* + * The function prototype used for method functions (or caller-provided + * callbacks) that transform filenames. They are passed a DSO structure + * pointer (or NULL if they are to be used independantly of a DSO object) and + * a filename to transform. They should either return NULL (if there is an + * error condition) or a newly allocated string containing the transformed + * form that the caller will need to free with OPENSSL_free() when done. + */ +typedef char *(*DSO_NAME_CONVERTER_FUNC)(DSO *, const char *); +/* + * The function prototype used for method functions (or caller-provided + * callbacks) that merge two file specifications. They are passed a DSO + * structure pointer (or NULL if they are to be used independantly of a DSO + * object) and two file specifications to merge. They should either return + * NULL (if there is an error condition) or a newly allocated string + * containing the result of merging that the caller will need to free with + * OPENSSL_free() when done. Here, merging means that bits and pieces are + * taken from each of the file specifications and added together in whatever + * fashion that is sensible for the DSO method in question. The only rule + * that really applies is that if the two specification contain pieces of the + * same type, the copy from the first string takes priority. One could see + * it as the first specification is the one given by the user and the second + * being a bunch of defaults to add on if they're missing in the first. + */ +typedef char *(*DSO_MERGER_FUNC)(DSO *, const char *, const char *); + +typedef struct dso_meth_st { + const char *name; + /* + * Loads a shared library, NB: new DSO_METHODs must ensure that a + * successful load populates the loaded_filename field, and likewise a + * successful unload OPENSSL_frees and NULLs it out. + */ + int (*dso_load) (DSO *dso); + /* Unloads a shared library */ + int (*dso_unload) (DSO *dso); + /* Binds a variable */ + void *(*dso_bind_var) (DSO *dso, const char *symname); + /* + * Binds a function - assumes a return type of DSO_FUNC_TYPE. This should + * be cast to the real function prototype by the caller. Platforms that + * don't have compatible representations for different prototypes (this + * is possible within ANSI C) are highly unlikely to have shared + * libraries at all, let alone a DSO_METHOD implemented for them. + */ + DSO_FUNC_TYPE (*dso_bind_func) (DSO *dso, const char *symname); +/* I don't think this would actually be used in any circumstances. */ +# if 0 + /* Unbinds a variable */ + int (*dso_unbind_var) (DSO *dso, char *symname, void *symptr); + /* Unbinds a function */ + int (*dso_unbind_func) (DSO *dso, char *symname, DSO_FUNC_TYPE symptr); +# endif + /* + * The generic (yuck) "ctrl()" function. NB: Negative return values + * (rather than zero) indicate errors. + */ + long (*dso_ctrl) (DSO *dso, int cmd, long larg, void *parg); + /* + * The default DSO_METHOD-specific function for converting filenames to a + * canonical native form. + */ + DSO_NAME_CONVERTER_FUNC dso_name_converter; + /* + * The default DSO_METHOD-specific function for converting filenames to a + * canonical native form. + */ + DSO_MERGER_FUNC dso_merger; + /* [De]Initialisation handlers. */ + int (*init) (DSO *dso); + int (*finish) (DSO *dso); + /* Return pathname of the module containing location */ + int (*pathbyaddr) (void *addr, char *path, int sz); + /* Perform global symbol lookup, i.e. among *all* modules */ + void *(*globallookup) (const char *symname); +} DSO_METHOD; + +/**********************************************************************/ +/* The low-level handle type used to refer to a loaded shared library */ + +struct dso_st { + DSO_METHOD *meth; + /* + * Standard dlopen uses a (void *). Win32 uses a HANDLE. VMS doesn't use + * anything but will need to cache the filename for use in the dso_bind + * handler. All in all, let each method control its own destiny. + * "Handles" and such go in a STACK. + */ + STACK_OF(void) *meth_data; + int references; + int flags; + /* + * For use by applications etc ... use this for your bits'n'pieces, don't + * touch meth_data! + */ + CRYPTO_EX_DATA ex_data; + /* + * If this callback function pointer is set to non-NULL, then it will be + * used in DSO_load() in place of meth->dso_name_converter. NB: This + * should normally set using DSO_set_name_converter(). + */ + DSO_NAME_CONVERTER_FUNC name_converter; + /* + * If this callback function pointer is set to non-NULL, then it will be + * used in DSO_load() in place of meth->dso_merger. NB: This should + * normally set using DSO_set_merger(). + */ + DSO_MERGER_FUNC merger; + /* + * This is populated with (a copy of) the platform-independant filename + * used for this DSO. + */ + char *filename; + /* + * This is populated with (a copy of) the translated filename by which + * the DSO was actually loaded. It is NULL iff the DSO is not currently + * loaded. NB: This is here because the filename translation process may + * involve a callback being invoked more than once not only to convert to + * a platform-specific form, but also to try different filenames in the + * process of trying to perform a load. As such, this variable can be + * used to indicate (a) whether this DSO structure corresponds to a + * loaded library or not, and (b) the filename with which it was actually + * loaded. + */ + char *loaded_filename; +}; + +DSO *DSO_new(void); +DSO *DSO_new_method(DSO_METHOD *method); +int DSO_free(DSO *dso); +int DSO_flags(DSO *dso); +int DSO_up_ref(DSO *dso); +long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg); + +/* + * This function sets the DSO's name_converter callback. If it is non-NULL, + * then it will be used instead of the associated DSO_METHOD's function. If + * oldcb is non-NULL then it is set to the function pointer value being + * replaced. Return value is non-zero for success. + */ +int DSO_set_name_converter(DSO *dso, DSO_NAME_CONVERTER_FUNC cb, + DSO_NAME_CONVERTER_FUNC *oldcb); +/* + * These functions can be used to get/set the platform-independant filename + * used for a DSO. NB: set will fail if the DSO is already loaded. + */ +const char *DSO_get_filename(DSO *dso); +int DSO_set_filename(DSO *dso, const char *filename); +/* + * This function will invoke the DSO's name_converter callback to translate a + * filename, or if the callback isn't set it will instead use the DSO_METHOD's + * converter. If "filename" is NULL, the "filename" in the DSO itself will be + * used. If the DSO_FLAG_NO_NAME_TRANSLATION flag is set, then the filename is + * simply duplicated. NB: This function is usually called from within a + * DSO_METHOD during the processing of a DSO_load() call, and is exposed so + * that caller-created DSO_METHODs can do the same thing. A non-NULL return + * value will need to be OPENSSL_free()'d. + */ +char *DSO_convert_filename(DSO *dso, const char *filename); +/* + * This function will invoke the DSO's merger callback to merge two file + * specifications, or if the callback isn't set it will instead use the + * DSO_METHOD's merger. A non-NULL return value will need to be + * OPENSSL_free()'d. + */ +char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2); +/* + * If the DSO is currently loaded, this returns the filename that it was + * loaded under, otherwise it returns NULL. So it is also useful as a test as + * to whether the DSO is currently loaded. NB: This will not necessarily + * return the same value as DSO_convert_filename(dso, dso->filename), because + * the DSO_METHOD's load function may have tried a variety of filenames (with + * and/or without the aid of the converters) before settling on the one it + * actually loaded. + */ +const char *DSO_get_loaded_filename(DSO *dso); + +void DSO_set_default_method(DSO_METHOD *meth); +DSO_METHOD *DSO_get_default_method(void); +DSO_METHOD *DSO_get_method(DSO *dso); +DSO_METHOD *DSO_set_method(DSO *dso, DSO_METHOD *meth); + +/* + * The all-singing all-dancing load function, you normally pass NULL for the + * first and third parameters. Use DSO_up and DSO_free for subsequent + * reference count handling. Any flags passed in will be set in the + * constructed DSO after its init() function but before the load operation. + * If 'dso' is non-NULL, 'flags' is ignored. + */ +DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags); + +/* This function binds to a variable inside a shared library. */ +void *DSO_bind_var(DSO *dso, const char *symname); + +/* This function binds to a function inside a shared library. */ +DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname); + +/* + * This method is the default, but will beg, borrow, or steal whatever method + * should be the default on any particular platform (including + * DSO_METH_null() if necessary). + */ +DSO_METHOD *DSO_METHOD_openssl(void); + +/* + * This method is defined for all platforms - if a platform has no DSO + * support then this will be the only method! + */ +DSO_METHOD *DSO_METHOD_null(void); + +/* + * If DSO_DLFCN is defined, the standard dlfcn.h-style functions (dlopen, + * dlclose, dlsym, etc) will be used and incorporated into this method. If + * not, this method will return NULL. + */ +DSO_METHOD *DSO_METHOD_dlfcn(void); + +/* + * If DSO_DL is defined, the standard dl.h-style functions (shl_load, + * shl_unload, shl_findsym, etc) will be used and incorporated into this + * method. If not, this method will return NULL. + */ +DSO_METHOD *DSO_METHOD_dl(void); + +/* If WIN32 is defined, use DLLs. If not, return NULL. */ +DSO_METHOD *DSO_METHOD_win32(void); + +/* If VMS is defined, use shared images. If not, return NULL. */ +DSO_METHOD *DSO_METHOD_vms(void); + +/* + * This function writes null-terminated pathname of DSO module containing + * 'addr' into 'sz' large caller-provided 'path' and returns the number of + * characters [including trailing zero] written to it. If 'sz' is 0 or + * negative, 'path' is ignored and required amount of charachers [including + * trailing zero] to accomodate pathname is returned. If 'addr' is NULL, then + * pathname of cryptolib itself is returned. Negative or zero return value + * denotes error. + */ +int DSO_pathbyaddr(void *addr, char *path, int sz); + +/* + * This function should be used with caution! It looks up symbols in *all* + * loaded modules and if module gets unloaded by somebody else attempt to + * dereference the pointer is doomed to have fatal consequences. Primary + * usage for this function is to probe *core* system functionality, e.g. + * check if getnameinfo(3) is available at run-time without bothering about + * OS-specific details such as libc.so.versioning or where does it actually + * reside: in libc itself or libsocket. + */ +void *DSO_global_lookup(const char *name); + +/* If BeOS is defined, use shared images. If not, return NULL. */ +DSO_METHOD *DSO_METHOD_beos(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_DSO_strings(void); + +/* Error codes for the DSO functions. */ + +/* Function codes. */ +# define DSO_F_BEOS_BIND_FUNC 144 +# define DSO_F_BEOS_BIND_VAR 145 +# define DSO_F_BEOS_LOAD 146 +# define DSO_F_BEOS_NAME_CONVERTER 147 +# define DSO_F_BEOS_UNLOAD 148 +# define DSO_F_DLFCN_BIND_FUNC 100 +# define DSO_F_DLFCN_BIND_VAR 101 +# define DSO_F_DLFCN_LOAD 102 +# define DSO_F_DLFCN_MERGER 130 +# define DSO_F_DLFCN_NAME_CONVERTER 123 +# define DSO_F_DLFCN_UNLOAD 103 +# define DSO_F_DL_BIND_FUNC 104 +# define DSO_F_DL_BIND_VAR 105 +# define DSO_F_DL_LOAD 106 +# define DSO_F_DL_MERGER 131 +# define DSO_F_DL_NAME_CONVERTER 124 +# define DSO_F_DL_UNLOAD 107 +# define DSO_F_DSO_BIND_FUNC 108 +# define DSO_F_DSO_BIND_VAR 109 +# define DSO_F_DSO_CONVERT_FILENAME 126 +# define DSO_F_DSO_CTRL 110 +# define DSO_F_DSO_FREE 111 +# define DSO_F_DSO_GET_FILENAME 127 +# define DSO_F_DSO_GET_LOADED_FILENAME 128 +# define DSO_F_DSO_GLOBAL_LOOKUP 139 +# define DSO_F_DSO_LOAD 112 +# define DSO_F_DSO_MERGE 132 +# define DSO_F_DSO_NEW_METHOD 113 +# define DSO_F_DSO_PATHBYADDR 140 +# define DSO_F_DSO_SET_FILENAME 129 +# define DSO_F_DSO_SET_NAME_CONVERTER 122 +# define DSO_F_DSO_UP_REF 114 +# define DSO_F_GLOBAL_LOOKUP_FUNC 138 +# define DSO_F_PATHBYADDR 137 +# define DSO_F_VMS_BIND_SYM 115 +# define DSO_F_VMS_LOAD 116 +# define DSO_F_VMS_MERGER 133 +# define DSO_F_VMS_UNLOAD 117 +# define DSO_F_WIN32_BIND_FUNC 118 +# define DSO_F_WIN32_BIND_VAR 119 +# define DSO_F_WIN32_GLOBALLOOKUP 142 +# define DSO_F_WIN32_GLOBALLOOKUP_FUNC 143 +# define DSO_F_WIN32_JOINER 135 +# define DSO_F_WIN32_LOAD 120 +# define DSO_F_WIN32_MERGER 134 +# define DSO_F_WIN32_NAME_CONVERTER 125 +# define DSO_F_WIN32_PATHBYADDR 141 +# define DSO_F_WIN32_SPLITTER 136 +# define DSO_F_WIN32_UNLOAD 121 + +/* Reason codes. */ +# define DSO_R_CTRL_FAILED 100 +# define DSO_R_DSO_ALREADY_LOADED 110 +# define DSO_R_EMPTY_FILE_STRUCTURE 113 +# define DSO_R_FAILURE 114 +# define DSO_R_FILENAME_TOO_BIG 101 +# define DSO_R_FINISH_FAILED 102 +# define DSO_R_INCORRECT_FILE_SYNTAX 115 +# define DSO_R_LOAD_FAILED 103 +# define DSO_R_NAME_TRANSLATION_FAILED 109 +# define DSO_R_NO_FILENAME 111 +# define DSO_R_NO_FILE_SPECIFICATION 116 +# define DSO_R_NULL_HANDLE 104 +# define DSO_R_SET_FILENAME_FAILED 112 +# define DSO_R_STACK_ERROR 105 +# define DSO_R_SYM_FAILURE 106 +# define DSO_R_UNLOAD_FAILED 107 +# define DSO_R_UNSUPPORTED 108 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/dtls1.h b/3rdparty/openssl/include/openssl/dtls1.h new file mode 100644 index 0000000..30bbcf2 --- /dev/null +++ b/3rdparty/openssl/include/openssl/dtls1.h @@ -0,0 +1,272 @@ +/* ssl/dtls1.h */ +/* + * DTLS implementation written by Nagendra Modadugu + * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. + */ +/* ==================================================================== + * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_DTLS1_H +# define HEADER_DTLS1_H + +# include +# include +# ifdef OPENSSL_SYS_VMS +# include +# include +# endif +# ifdef OPENSSL_SYS_WIN32 +/* Needed for struct timeval */ +# include +# elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_) +# include +# else +# if defined(OPENSSL_SYS_VXWORKS) +# include +# else +# include +# endif +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define DTLS1_VERSION 0xFEFF +# define DTLS1_2_VERSION 0xFEFD +# define DTLS_MAX_VERSION DTLS1_2_VERSION +# define DTLS1_VERSION_MAJOR 0xFE + +# define DTLS1_BAD_VER 0x0100 + +/* Special value for method supporting multiple versions */ +# define DTLS_ANY_VERSION 0x1FFFF + +# if 0 +/* this alert description is not specified anywhere... */ +# define DTLS1_AD_MISSING_HANDSHAKE_MESSAGE 110 +# endif + +/* lengths of messages */ +# define DTLS1_COOKIE_LENGTH 256 + +# define DTLS1_RT_HEADER_LENGTH 13 + +# define DTLS1_HM_HEADER_LENGTH 12 + +# define DTLS1_HM_BAD_FRAGMENT -2 +# define DTLS1_HM_FRAGMENT_RETRY -3 + +# define DTLS1_CCS_HEADER_LENGTH 1 + +# ifdef DTLS1_AD_MISSING_HANDSHAKE_MESSAGE +# define DTLS1_AL_HEADER_LENGTH 7 +# else +# define DTLS1_AL_HEADER_LENGTH 2 +# endif + +# ifndef OPENSSL_NO_SSL_INTERN + +# ifndef OPENSSL_NO_SCTP +# define DTLS1_SCTP_AUTH_LABEL "EXPORTER_DTLS_OVER_SCTP" +# endif + +/* Max MTU overhead we know about so far is 40 for IPv6 + 8 for UDP */ +# define DTLS1_MAX_MTU_OVERHEAD 48 + +typedef struct dtls1_bitmap_st { + unsigned long map; /* track 32 packets on 32-bit systems and 64 + * - on 64-bit systems */ + unsigned char max_seq_num[8]; /* max record number seen so far, 64-bit + * value in big-endian encoding */ +} DTLS1_BITMAP; + +struct dtls1_retransmit_state { + EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ + EVP_MD_CTX *write_hash; /* used for mac generation */ +# ifndef OPENSSL_NO_COMP + COMP_CTX *compress; /* compression */ +# else + char *compress; +# endif + SSL_SESSION *session; + unsigned short epoch; +}; + +struct hm_header_st { + unsigned char type; + unsigned long msg_len; + unsigned short seq; + unsigned long frag_off; + unsigned long frag_len; + unsigned int is_ccs; + struct dtls1_retransmit_state saved_retransmit_state; +}; + +struct ccs_header_st { + unsigned char type; + unsigned short seq; +}; + +struct dtls1_timeout_st { + /* Number of read timeouts so far */ + unsigned int read_timeouts; + /* Number of write timeouts so far */ + unsigned int write_timeouts; + /* Number of alerts received so far */ + unsigned int num_alerts; +}; + +typedef struct record_pqueue_st { + unsigned short epoch; + pqueue q; +} record_pqueue; + +typedef struct hm_fragment_st { + struct hm_header_st msg_header; + unsigned char *fragment; + unsigned char *reassembly; +} hm_fragment; + +typedef struct dtls1_state_st { + unsigned int send_cookie; + unsigned char cookie[DTLS1_COOKIE_LENGTH]; + unsigned char rcvd_cookie[DTLS1_COOKIE_LENGTH]; + unsigned int cookie_len; + /* + * The current data and handshake epoch. This is initially + * undefined, and starts at zero once the initial handshake is + * completed + */ + unsigned short r_epoch; + unsigned short w_epoch; + /* records being received in the current epoch */ + DTLS1_BITMAP bitmap; + /* renegotiation starts a new set of sequence numbers */ + DTLS1_BITMAP next_bitmap; + /* handshake message numbers */ + unsigned short handshake_write_seq; + unsigned short next_handshake_write_seq; + unsigned short handshake_read_seq; + /* save last sequence number for retransmissions */ + unsigned char last_write_sequence[8]; + /* Received handshake records (processed and unprocessed) */ + record_pqueue unprocessed_rcds; + record_pqueue processed_rcds; + /* Buffered handshake messages */ + pqueue buffered_messages; + /* Buffered (sent) handshake records */ + pqueue sent_messages; + /* + * Buffered application records. Only for records between CCS and + * Finished to prevent either protocol violation or unnecessary message + * loss. + */ + record_pqueue buffered_app_data; + /* Is set when listening for new connections with dtls1_listen() */ + unsigned int listen; + unsigned int link_mtu; /* max on-the-wire DTLS packet size */ + unsigned int mtu; /* max DTLS packet size */ + struct hm_header_st w_msg_hdr; + struct hm_header_st r_msg_hdr; + struct dtls1_timeout_st timeout; + /* + * Indicates when the last handshake msg or heartbeat sent will timeout + */ + struct timeval next_timeout; + /* Timeout duration */ + unsigned short timeout_duration; + /* + * storage for Alert/Handshake protocol data received but not yet + * processed by ssl3_read_bytes: + */ + unsigned char alert_fragment[DTLS1_AL_HEADER_LENGTH]; + unsigned int alert_fragment_len; + unsigned char handshake_fragment[DTLS1_HM_HEADER_LENGTH]; + unsigned int handshake_fragment_len; + unsigned int retransmitting; + /* + * Set when the handshake is ready to process peer's ChangeCipherSpec message. + * Cleared after the message has been processed. + */ + unsigned int change_cipher_spec_ok; +# ifndef OPENSSL_NO_SCTP + /* used when SSL_ST_XX_FLUSH is entered */ + int next_state; + int shutdown_received; +# endif +} DTLS1_STATE; + +typedef struct dtls1_record_data_st { + unsigned char *packet; + unsigned int packet_length; + SSL3_BUFFER rbuf; + SSL3_RECORD rrec; +# ifndef OPENSSL_NO_SCTP + struct bio_dgram_sctp_rcvinfo recordinfo; +# endif +} DTLS1_RECORD_DATA; + +# endif + +/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */ +# define DTLS1_TMO_READ_COUNT 2 +# define DTLS1_TMO_WRITE_COUNT 2 + +# define DTLS1_TMO_ALERT_COUNT 12 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/e_os2.h b/3rdparty/openssl/include/openssl/e_os2.h new file mode 100644 index 0000000..7be9989 --- /dev/null +++ b/3rdparty/openssl/include/openssl/e_os2.h @@ -0,0 +1,328 @@ +/* e_os2.h */ +/* ==================================================================== + * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#include + +#ifndef HEADER_E_OS2_H +# define HEADER_E_OS2_H + +#ifdef __cplusplus +extern "C" { +#endif + +/****************************************************************************** + * Detect operating systems. This probably needs completing. + * The result is that at least one OPENSSL_SYS_os macro should be defined. + * However, if none is defined, Unix is assumed. + **/ + +# define OPENSSL_SYS_UNIX + +/* ---------------------- Macintosh, before MacOS X ----------------------- */ +# if defined(__MWERKS__) && defined(macintosh) || defined(OPENSSL_SYSNAME_MAC) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_MACINTOSH_CLASSIC +# endif + +/* ---------------------- NetWare ----------------------------------------- */ +# if defined(NETWARE) || defined(OPENSSL_SYSNAME_NETWARE) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_NETWARE +# endif + +/* --------------------- Microsoft operating systems ---------------------- */ + +/* + * Note that MSDOS actually denotes 32-bit environments running on top of + * MS-DOS, such as DJGPP one. + */ +# if defined(OPENSSL_SYSNAME_MSDOS) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_MSDOS +# endif + +/* + * For 32 bit environment, there seems to be the CygWin environment and then + * all the others that try to do the same thing Microsoft does... + */ +# if defined(OPENSSL_SYSNAME_UWIN) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32_UWIN +# else +# if defined(__CYGWIN__) || defined(OPENSSL_SYSNAME_CYGWIN) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32_CYGWIN +# else +# if defined(_WIN32) || defined(OPENSSL_SYSNAME_WIN32) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32 +# endif +# if defined(_WIN64) || defined(OPENSSL_SYSNAME_WIN64) +# undef OPENSSL_SYS_UNIX +# if !defined(OPENSSL_SYS_WIN64) +# define OPENSSL_SYS_WIN64 +# endif +# endif +# if defined(OPENSSL_SYSNAME_WINNT) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WINNT +# endif +# if defined(OPENSSL_SYSNAME_WINCE) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WINCE +# endif +# endif +# endif + +/* Anything that tries to look like Microsoft is "Windows" */ +# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN64) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WINDOWS +# ifndef OPENSSL_SYS_MSDOS +# define OPENSSL_SYS_MSDOS +# endif +# endif + +/* + * DLL settings. This part is a bit tough, because it's up to the + * application implementor how he or she will link the application, so it + * requires some macro to be used. + */ +# ifdef OPENSSL_SYS_WINDOWS +# ifndef OPENSSL_OPT_WINDLL +# if defined(_WINDLL) /* This is used when building OpenSSL to + * indicate that DLL linkage should be used */ +# define OPENSSL_OPT_WINDLL +# endif +# endif +# endif + +/* ------------------------------- OpenVMS -------------------------------- */ +# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYSNAME_VMS) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_VMS +# if defined(__DECC) +# define OPENSSL_SYS_VMS_DECC +# elif defined(__DECCXX) +# define OPENSSL_SYS_VMS_DECC +# define OPENSSL_SYS_VMS_DECCXX +# else +# define OPENSSL_SYS_VMS_NODECC +# endif +# endif + +/* -------------------------------- OS/2 ---------------------------------- */ +# if defined(__EMX__) || defined(__OS2__) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_OS2 +# endif + +/* -------------------------------- Unix ---------------------------------- */ +# ifdef OPENSSL_SYS_UNIX +# if defined(linux) || defined(__linux__) || defined(OPENSSL_SYSNAME_LINUX) +# define OPENSSL_SYS_LINUX +# endif +# ifdef OPENSSL_SYSNAME_MPE +# define OPENSSL_SYS_MPE +# endif +# ifdef OPENSSL_SYSNAME_SNI +# define OPENSSL_SYS_SNI +# endif +# ifdef OPENSSL_SYSNAME_ULTRASPARC +# define OPENSSL_SYS_ULTRASPARC +# endif +# ifdef OPENSSL_SYSNAME_NEWS4 +# define OPENSSL_SYS_NEWS4 +# endif +# ifdef OPENSSL_SYSNAME_MACOSX +# define OPENSSL_SYS_MACOSX +# endif +# ifdef OPENSSL_SYSNAME_MACOSX_RHAPSODY +# define OPENSSL_SYS_MACOSX_RHAPSODY +# define OPENSSL_SYS_MACOSX +# endif +# ifdef OPENSSL_SYSNAME_SUNOS +# define OPENSSL_SYS_SUNOS +# endif +# if defined(_CRAY) || defined(OPENSSL_SYSNAME_CRAY) +# define OPENSSL_SYS_CRAY +# endif +# if defined(_AIX) || defined(OPENSSL_SYSNAME_AIX) +# define OPENSSL_SYS_AIX +# endif +# endif + +/* -------------------------------- VOS ----------------------------------- */ +# if defined(__VOS__) || defined(OPENSSL_SYSNAME_VOS) +# define OPENSSL_SYS_VOS +# ifdef __HPPA__ +# define OPENSSL_SYS_VOS_HPPA +# endif +# ifdef __IA32__ +# define OPENSSL_SYS_VOS_IA32 +# endif +# endif + +/* ------------------------------ VxWorks --------------------------------- */ +# ifdef OPENSSL_SYSNAME_VXWORKS +# define OPENSSL_SYS_VXWORKS +# endif + +/* -------------------------------- BeOS ---------------------------------- */ +# if defined(__BEOS__) +# define OPENSSL_SYS_BEOS +# include +# if defined(BONE_VERSION) +# define OPENSSL_SYS_BEOS_BONE +# else +# define OPENSSL_SYS_BEOS_R5 +# endif +# endif + +/** + * That's it for OS-specific stuff + *****************************************************************************/ + +/* Specials for I/O an exit */ +# ifdef OPENSSL_SYS_MSDOS +# define OPENSSL_UNISTD_IO +# define OPENSSL_DECLARE_EXIT extern void exit(int); +# else +# define OPENSSL_UNISTD_IO OPENSSL_UNISTD +# define OPENSSL_DECLARE_EXIT /* declared in unistd.h */ +# endif + +/*- + * Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare + * certain global symbols that, with some compilers under VMS, have to be + * defined and declared explicitely with globaldef and globalref. + * Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare + * DLL exports and imports for compilers under Win32. These are a little + * more complicated to use. Basically, for any library that exports some + * global variables, the following code must be present in the header file + * that declares them, before OPENSSL_EXTERN is used: + * + * #ifdef SOME_BUILD_FLAG_MACRO + * # undef OPENSSL_EXTERN + * # define OPENSSL_EXTERN OPENSSL_EXPORT + * #endif + * + * The default is to have OPENSSL_EXPORT, OPENSSL_IMPORT and OPENSSL_GLOBAL + * have some generally sensible values, and for OPENSSL_EXTERN to have the + * value OPENSSL_IMPORT. + */ + +# if defined(OPENSSL_SYS_VMS_NODECC) +# define OPENSSL_EXPORT globalref +# define OPENSSL_IMPORT globalref +# define OPENSSL_GLOBAL globaldef +# elif defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) +# define OPENSSL_EXPORT extern __declspec(dllexport) +# define OPENSSL_IMPORT extern __declspec(dllimport) +# define OPENSSL_GLOBAL +# else +# define OPENSSL_EXPORT extern +# define OPENSSL_IMPORT extern +# define OPENSSL_GLOBAL +# endif +# define OPENSSL_EXTERN OPENSSL_IMPORT + +/*- + * Macros to allow global variables to be reached through function calls when + * required (if a shared library version requires it, for example. + * The way it's done allows definitions like this: + * + * // in foobar.c + * OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0) + * // in foobar.h + * OPENSSL_DECLARE_GLOBAL(int,foobar); + * #define foobar OPENSSL_GLOBAL_REF(foobar) + */ +# ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \ + type *_shadow_##name(void) \ + { static type _hide_##name=value; return &_hide_##name; } +# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) +# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) +# else +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) OPENSSL_GLOBAL type _shadow_##name=value; +# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name +# define OPENSSL_GLOBAL_REF(name) _shadow_##name +# endif + +# if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && macintosh==1 && !defined(MAC_OS_GUSI_SOURCE) +# define ossl_ssize_t long +# endif + +# ifdef OPENSSL_SYS_MSDOS +# define ossl_ssize_t long +# endif + +# if defined(NeXT) || defined(OPENSSL_SYS_NEWS4) || defined(OPENSSL_SYS_SUNOS) +# define ssize_t int +# endif + +# if defined(__ultrix) && !defined(ssize_t) +# define ossl_ssize_t int +# endif + +# ifndef ossl_ssize_t +# define ossl_ssize_t ssize_t +# endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ebcdic.h b/3rdparty/openssl/include/openssl/ebcdic.h new file mode 100644 index 0000000..4cbdfeb --- /dev/null +++ b/3rdparty/openssl/include/openssl/ebcdic.h @@ -0,0 +1,26 @@ +/* crypto/ebcdic.h */ + +#ifndef HEADER_EBCDIC_H +# define HEADER_EBCDIC_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Avoid name clashes with other applications */ +# define os_toascii _openssl_os_toascii +# define os_toebcdic _openssl_os_toebcdic +# define ebcdic2ascii _openssl_ebcdic2ascii +# define ascii2ebcdic _openssl_ascii2ebcdic + +extern const unsigned char os_toascii[256]; +extern const unsigned char os_toebcdic[256]; +void *ebcdic2ascii(void *dest, const void *srce, size_t count); +void *ascii2ebcdic(void *dest, const void *srce, size_t count); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ec.h b/3rdparty/openssl/include/openssl/ec.h new file mode 100644 index 0000000..81e6faf --- /dev/null +++ b/3rdparty/openssl/include/openssl/ec.h @@ -0,0 +1,1282 @@ +/* crypto/ec/ec.h */ +/* + * Originally written by Bodo Moeller for the OpenSSL project. + */ +/** + * \file crypto/ec/ec.h Include file for the OpenSSL EC functions + * \author Originally written by Bodo Moeller for the OpenSSL project + */ +/* ==================================================================== + * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the OpenSSL open source + * license provided above. + * + * The elliptic curve binary polynomial software is originally written by + * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. + * + */ + +#ifndef HEADER_EC_H +# define HEADER_EC_H + +# include + +# ifdef OPENSSL_NO_EC +# error EC is disabled. +# endif + +# include +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +# ifdef __cplusplus +extern "C" { +# elif defined(__SUNPRO_C) +# if __SUNPRO_C >= 0x520 +# pragma error_messages (off,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) +# endif +# endif + +# ifndef OPENSSL_ECC_MAX_FIELD_BITS +# define OPENSSL_ECC_MAX_FIELD_BITS 661 +# endif + +/** Enum for the point conversion form as defined in X9.62 (ECDSA) + * for the encoding of a elliptic curve point (x,y) */ +typedef enum { + /** the point is encoded as z||x, where the octet z specifies + * which solution of the quadratic equation y is */ + POINT_CONVERSION_COMPRESSED = 2, + /** the point is encoded as z||x||y, where z is the octet 0x04 */ + POINT_CONVERSION_UNCOMPRESSED = 4, + /** the point is encoded as z||x||y, where the octet z specifies + * which solution of the quadratic equation y is */ + POINT_CONVERSION_HYBRID = 6 +} point_conversion_form_t; + +typedef struct ec_method_st EC_METHOD; + +typedef struct ec_group_st + /*- + EC_METHOD *meth; + -- field definition + -- curve coefficients + -- optional generator with associated information (order, cofactor) + -- optional extra data (precomputed table for fast computation of multiples of generator) + -- ASN1 stuff + */ + EC_GROUP; + +typedef struct ec_point_st EC_POINT; + +/********************************************************************/ +/* EC_METHODs for curves over GF(p) */ +/********************************************************************/ + +/** Returns the basic GFp ec methods which provides the basis for the + * optimized methods. + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_simple_method(void); + +/** Returns GFp methods using montgomery multiplication. + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_mont_method(void); + +/** Returns GFp methods using optimized methods for NIST recommended curves + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nist_method(void); + +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +/** Returns 64-bit optimized methods for nistp224 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp224_method(void); + +/** Returns 64-bit optimized methods for nistp256 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp256_method(void); + +/** Returns 64-bit optimized methods for nistp521 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp521_method(void); +# endif + +# ifndef OPENSSL_NO_EC2M +/********************************************************************/ +/* EC_METHOD for curves over GF(2^m) */ +/********************************************************************/ + +/** Returns the basic GF2m ec method + * \return EC_METHOD object + */ +const EC_METHOD *EC_GF2m_simple_method(void); + +# endif + +/********************************************************************/ +/* EC_GROUP functions */ +/********************************************************************/ + +/** Creates a new EC_GROUP object + * \param meth EC_METHOD to use + * \return newly created EC_GROUP object or NULL in case of an error. + */ +EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); + +/** Frees a EC_GROUP object + * \param group EC_GROUP object to be freed. + */ +void EC_GROUP_free(EC_GROUP *group); + +/** Clears and frees a EC_GROUP object + * \param group EC_GROUP object to be cleared and freed. + */ +void EC_GROUP_clear_free(EC_GROUP *group); + +/** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. + * \param dst destination EC_GROUP object + * \param src source EC_GROUP object + * \return 1 on success and 0 if an error occurred. + */ +int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); + +/** Creates a new EC_GROUP object and copies the copies the content + * form src to the newly created EC_KEY object + * \param src source EC_GROUP object + * \return newly created EC_GROUP object or NULL in case of an error. + */ +EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); + +/** Returns the EC_METHOD of the EC_GROUP object. + * \param group EC_GROUP object + * \return EC_METHOD used in this EC_GROUP object. + */ +const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); + +/** Returns the field type of the EC_METHOD. + * \param meth EC_METHOD object + * \return NID of the underlying field type OID. + */ +int EC_METHOD_get_field_type(const EC_METHOD *meth); + +/** Sets the generator and it's order/cofactor of a EC_GROUP object. + * \param group EC_GROUP object + * \param generator EC_POINT object with the generator. + * \param order the order of the group generated by the generator. + * \param cofactor the index of the sub-group generated by the generator + * in the group of all points on the elliptic curve. + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, + const BIGNUM *order, const BIGNUM *cofactor); + +/** Returns the generator of a EC_GROUP object. + * \param group EC_GROUP object + * \return the currently used generator (possibly NULL). + */ +const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); + +/** Returns the montgomery data for order(Generator) + * \param group EC_GROUP object + * \return the currently used generator (possibly NULL). +*/ +BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group); + +/** Gets the order of a EC_GROUP + * \param group EC_GROUP object + * \param order BIGNUM to which the order is copied + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); + +/** Gets the cofactor of a EC_GROUP + * \param group EC_GROUP object + * \param cofactor BIGNUM to which the cofactor is copied + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, + BN_CTX *ctx); + +/** Sets the name of a EC_GROUP object + * \param group EC_GROUP object + * \param nid NID of the curve name OID + */ +void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); + +/** Returns the curve name of a EC_GROUP object + * \param group EC_GROUP object + * \return NID of the curve name OID or 0 if not set. + */ +int EC_GROUP_get_curve_name(const EC_GROUP *group); + +void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); +int EC_GROUP_get_asn1_flag(const EC_GROUP *group); + +void EC_GROUP_set_point_conversion_form(EC_GROUP *group, + point_conversion_form_t form); +point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); + +unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); +size_t EC_GROUP_get_seed_len(const EC_GROUP *); +size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); + +/** Sets the parameter of a ec over GFp defined by y^2 = x^3 + a*x + b + * \param group EC_GROUP object + * \param p BIGNUM with the prime number + * \param a BIGNUM with parameter a of the equation + * \param b BIGNUM with parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); + +/** Gets the parameter of the ec over GFp defined by y^2 = x^3 + a*x + b + * \param group EC_GROUP object + * \param p BIGNUM for the prime number + * \param a BIGNUM for parameter a of the equation + * \param b BIGNUM for parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, + BIGNUM *b, BN_CTX *ctx); + +# ifndef OPENSSL_NO_EC2M +/** Sets the parameter of a ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b + * \param group EC_GROUP object + * \param p BIGNUM with the polynomial defining the underlying field + * \param a BIGNUM with parameter a of the equation + * \param b BIGNUM with parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); + +/** Gets the parameter of the ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b + * \param group EC_GROUP object + * \param p BIGNUM for the polynomial defining the underlying field + * \param a BIGNUM for parameter a of the equation + * \param b BIGNUM for parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, + BIGNUM *b, BN_CTX *ctx); +# endif +/** Returns the number of bits needed to represent a field element + * \param group EC_GROUP object + * \return number of bits needed to represent a field element + */ +int EC_GROUP_get_degree(const EC_GROUP *group); + +/** Checks whether the parameter in the EC_GROUP define a valid ec group + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 if group is a valid ec group and 0 otherwise + */ +int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); + +/** Checks whether the discriminant of the elliptic curve is zero or not + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 if the discriminant is not zero and 0 otherwise + */ +int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); + +/** Compares two EC_GROUP objects + * \param a first EC_GROUP object + * \param b second EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 0 if both groups are equal and 1 otherwise + */ +int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); + +/* + * EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() after + * choosing an appropriate EC_METHOD + */ + +/** Creates a new EC_GROUP object with the specified parameters defined + * over GFp (defined by the equation y^2 = x^3 + a*x + b) + * \param p BIGNUM with the prime number + * \param a BIGNUM with the parameter a of the equation + * \param b BIGNUM with the parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return newly created EC_GROUP object with the specified parameters + */ +EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +# ifndef OPENSSL_NO_EC2M +/** Creates a new EC_GROUP object with the specified parameters defined + * over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b) + * \param p BIGNUM with the polynomial defining the underlying field + * \param a BIGNUM with the parameter a of the equation + * \param b BIGNUM with the parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return newly created EC_GROUP object with the specified parameters + */ +EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +# endif +/** Creates a EC_GROUP object with a curve specified by a NID + * \param nid NID of the OID of the curve name + * \return newly created EC_GROUP object with specified curve or NULL + * if an error occurred + */ +EC_GROUP *EC_GROUP_new_by_curve_name(int nid); + +/********************************************************************/ +/* handling of internal curves */ +/********************************************************************/ + +typedef struct { + int nid; + const char *comment; +} EC_builtin_curve; + +/* + * EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number of all + * available curves or zero if a error occurred. In case r ist not zero + * nitems EC_builtin_curve structures are filled with the data of the first + * nitems internal groups + */ +size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); + +const char *EC_curve_nid2nist(int nid); +int EC_curve_nist2nid(const char *name); + +/********************************************************************/ +/* EC_POINT functions */ +/********************************************************************/ + +/** Creates a new EC_POINT object for the specified EC_GROUP + * \param group EC_GROUP the underlying EC_GROUP object + * \return newly created EC_POINT object or NULL if an error occurred + */ +EC_POINT *EC_POINT_new(const EC_GROUP *group); + +/** Frees a EC_POINT object + * \param point EC_POINT object to be freed + */ +void EC_POINT_free(EC_POINT *point); + +/** Clears and frees a EC_POINT object + * \param point EC_POINT object to be cleared and freed + */ +void EC_POINT_clear_free(EC_POINT *point); + +/** Copies EC_POINT object + * \param dst destination EC_POINT object + * \param src source EC_POINT object + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); + +/** Creates a new EC_POINT object and copies the content of the supplied + * EC_POINT + * \param src source EC_POINT object + * \param group underlying the EC_GROUP object + * \return newly created EC_POINT object or NULL if an error occurred + */ +EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); + +/** Returns the EC_METHOD used in EC_POINT object + * \param point EC_POINT object + * \return the EC_METHOD used + */ +const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); + +/** Sets a point to infinity (neutral element) + * \param group underlying EC_GROUP object + * \param point EC_POINT to set to infinity + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); + +/** Sets the jacobian projective coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param z BIGNUM with the z-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + const BIGNUM *y, const BIGNUM *z, + BN_CTX *ctx); + +/** Gets the jacobian projective coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param z BIGNUM for the z-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BIGNUM *z, + BN_CTX *ctx); + +/** Sets the affine coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, + BN_CTX *ctx); + +/** Gets the affine coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BN_CTX *ctx); + +/** Sets the x9.62 compressed coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with x-coordinate + * \param y_bit integer with the y-Bit (either 0 or 1) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + int y_bit, BN_CTX *ctx); +# ifndef OPENSSL_NO_EC2M +/** Sets the affine coordinates of a EC_POINT over GF2m + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, + BN_CTX *ctx); + +/** Gets the affine coordinates of a EC_POINT over GF2m + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BN_CTX *ctx); + +/** Sets the x9.62 compressed coordinates of a EC_POINT over GF2m + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with x-coordinate + * \param y_bit integer with the y-Bit (either 0 or 1) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + int y_bit, BN_CTX *ctx); +# endif +/** Encodes a EC_POINT object to a octet string + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param form point conversion form + * \param buf memory buffer for the result. If NULL the function returns + * required buffer size. + * \param len length of the memory buffer + * \param ctx BN_CTX object (optional) + * \return the length of the encoded octet string or 0 if an error occurred + */ +size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, + point_conversion_form_t form, + unsigned char *buf, size_t len, BN_CTX *ctx); + +/** Decodes a EC_POINT from a octet string + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param buf memory buffer with the encoded ec point + * \param len length of the encoded ec point + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, + const unsigned char *buf, size_t len, BN_CTX *ctx); + +/* other interfaces to point2oct/oct2point: */ +BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BIGNUM *, BN_CTX *); +EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, + EC_POINT *, BN_CTX *); +char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BN_CTX *); +EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, + EC_POINT *, BN_CTX *); + +/********************************************************************/ +/* functions for doing EC_POINT arithmetic */ +/********************************************************************/ + +/** Computes the sum of two EC_POINT + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result (r = a + b) + * \param a EC_POINT object with the first summand + * \param b EC_POINT object with the second summand + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + const EC_POINT *b, BN_CTX *ctx); + +/** Computes the double of a EC_POINT + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result (r = 2 * a) + * \param a EC_POINT object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + BN_CTX *ctx); + +/** Computes the inverse of a EC_POINT + * \param group underlying EC_GROUP object + * \param a EC_POINT object to be inverted (it's used for the result as well) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); + +/** Checks whether the point is the neutral element of the group + * \param group the underlying EC_GROUP object + * \param p EC_POINT object + * \return 1 if the point is the neutral element and 0 otherwise + */ +int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); + +/** Checks whether the point is on the curve + * \param group underlying EC_GROUP object + * \param point EC_POINT object to check + * \param ctx BN_CTX object (optional) + * \return 1 if point if on the curve and 0 otherwise + */ +int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, + BN_CTX *ctx); + +/** Compares two EC_POINTs + * \param group underlying EC_GROUP object + * \param a first EC_POINT object + * \param b second EC_POINT object + * \param ctx BN_CTX object (optional) + * \return 0 if both points are equal and a value != 0 otherwise + */ +int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, + BN_CTX *ctx); + +int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); +int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, + EC_POINT *points[], BN_CTX *ctx); + +/** Computes r = generator * n sum_{i=0}^{num-1} p[i] * m[i] + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result + * \param n BIGNUM with the multiplier for the group generator (optional) + * \param num number futher summands + * \param p array of size num of EC_POINT objects + * \param m array of size num of BIGNUM objects + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, + size_t num, const EC_POINT *p[], const BIGNUM *m[], + BN_CTX *ctx); + +/** Computes r = generator * n + q * m + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result + * \param n BIGNUM with the multiplier for the group generator (optional) + * \param q EC_POINT object with the first factor of the second summand + * \param m BIGNUM with the second factor of the second summand + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, + const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); + +/** Stores multiples of generator for faster point multiplication + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occured + */ +int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); + +/** Reports whether a precomputation has been done + * \param group EC_GROUP object + * \return 1 if a pre-computation has been done and 0 otherwise + */ +int EC_GROUP_have_precompute_mult(const EC_GROUP *group); + +/********************************************************************/ +/* ASN1 stuff */ +/********************************************************************/ + +/* + * EC_GROUP_get_basis_type() returns the NID of the basis type used to + * represent the field elements + */ +int EC_GROUP_get_basis_type(const EC_GROUP *); +# ifndef OPENSSL_NO_EC2M +int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); +int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, + unsigned int *k2, unsigned int *k3); +# endif + +# define OPENSSL_EC_NAMED_CURVE 0x001 + +typedef struct ecpk_parameters_st ECPKPARAMETERS; + +EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); +int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); + +# define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) +# define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) +# define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ + (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) +# define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ + (unsigned char *)(x)) + +# ifndef OPENSSL_NO_BIO +int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); +# endif +# ifndef OPENSSL_NO_FP_API +int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); +# endif + +/********************************************************************/ +/* EC_KEY functions */ +/********************************************************************/ + +typedef struct ec_key_st EC_KEY; + +/* some values for the encoding_flag */ +# define EC_PKEY_NO_PARAMETERS 0x001 +# define EC_PKEY_NO_PUBKEY 0x002 + +/* some values for the flags field */ +# define EC_FLAG_NON_FIPS_ALLOW 0x1 +# define EC_FLAG_FIPS_CHECKED 0x2 + +/** Creates a new EC_KEY object. + * \return EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_new(void); + +int EC_KEY_get_flags(const EC_KEY *key); + +void EC_KEY_set_flags(EC_KEY *key, int flags); + +void EC_KEY_clear_flags(EC_KEY *key, int flags); + +/** Creates a new EC_KEY object using a named curve as underlying + * EC_GROUP object. + * \param nid NID of the named curve. + * \return EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_new_by_curve_name(int nid); + +/** Frees a EC_KEY object. + * \param key EC_KEY object to be freed. + */ +void EC_KEY_free(EC_KEY *key); + +/** Copies a EC_KEY object. + * \param dst destination EC_KEY object + * \param src src EC_KEY object + * \return dst or NULL if an error occurred. + */ +EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); + +/** Creates a new EC_KEY object and copies the content from src to it. + * \param src the source EC_KEY object + * \return newly created EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_dup(const EC_KEY *src); + +/** Increases the internal reference count of a EC_KEY object. + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_up_ref(EC_KEY *key); + +/** Returns the EC_GROUP object of a EC_KEY object + * \param key EC_KEY object + * \return the EC_GROUP object (possibly NULL). + */ +const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); + +/** Sets the EC_GROUP of a EC_KEY object. + * \param key EC_KEY object + * \param group EC_GROUP to use in the EC_KEY object (note: the EC_KEY + * object will use an own copy of the EC_GROUP). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); + +/** Returns the private key of a EC_KEY object. + * \param key EC_KEY object + * \return a BIGNUM with the private key (possibly NULL). + */ +const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); + +/** Sets the private key of a EC_KEY object. + * \param key EC_KEY object + * \param prv BIGNUM with the private key (note: the EC_KEY object + * will use an own copy of the BIGNUM). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); + +/** Returns the public key of a EC_KEY object. + * \param key the EC_KEY object + * \return a EC_POINT object with the public key (possibly NULL) + */ +const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); + +/** Sets the public key of a EC_KEY object. + * \param key EC_KEY object + * \param pub EC_POINT object with the public key (note: the EC_KEY object + * will use an own copy of the EC_POINT object). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); + +unsigned EC_KEY_get_enc_flags(const EC_KEY *key); +void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); +point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); +void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); +/* functions to set/get method specific data */ +void *EC_KEY_get_key_method_data(EC_KEY *key, + void *(*dup_func) (void *), + void (*free_func) (void *), + void (*clear_free_func) (void *)); +/** Sets the key method data of an EC_KEY object, if none has yet been set. + * \param key EC_KEY object + * \param data opaque data to install. + * \param dup_func a function that duplicates |data|. + * \param free_func a function that frees |data|. + * \param clear_free_func a function that wipes and frees |data|. + * \return the previously set data pointer, or NULL if |data| was inserted. + */ +void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data, + void *(*dup_func) (void *), + void (*free_func) (void *), + void (*clear_free_func) (void *)); +/* wrapper functions for the underlying EC_GROUP object */ +void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); + +/** Creates a table of pre-computed multiples of the generator to + * accelerate further EC_KEY operations. + * \param key EC_KEY object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); + +/** Creates a new ec private (and optional a new public) key. + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_generate_key(EC_KEY *key); + +/** Verifies that a private and/or public key is valid. + * \param key the EC_KEY object + * \return 1 on success and 0 otherwise. + */ +int EC_KEY_check_key(const EC_KEY *key); + +/** Sets a public key from affine coordindates performing + * neccessary NIST PKV tests. + * \param key the EC_KEY object + * \param x public key x coordinate + * \param y public key y coordinate + * \return 1 on success and 0 otherwise. + */ +int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, + BIGNUM *y); + +/********************************************************************/ +/* de- and encoding functions for SEC1 ECPrivateKey */ +/********************************************************************/ + +/** Decodes a private key from a memory buffer. + * \param key a pointer to a EC_KEY object which should be used (or NULL) + * \param in pointer to memory with the DER encoded private key + * \param len length of the DER encoded private key + * \return the decoded private key or NULL if an error occurred. + */ +EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes a private key object and stores the result in a buffer. + * \param key the EC_KEY object to encode + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred. + */ +int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); + +/********************************************************************/ +/* de- and encoding functions for EC parameters */ +/********************************************************************/ + +/** Decodes ec parameter from a memory buffer. + * \param key a pointer to a EC_KEY object which should be used (or NULL) + * \param in pointer to memory with the DER encoded ec parameters + * \param len length of the DER encoded ec parameters + * \return a EC_KEY object with the decoded parameters or NULL if an error + * occurred. + */ +EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes ec parameter and stores the result in a buffer. + * \param key the EC_KEY object with ec paramters to encode + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred. + */ +int i2d_ECParameters(EC_KEY *key, unsigned char **out); + +/********************************************************************/ +/* de- and encoding functions for EC public key */ +/* (octet string, not DER -- hence 'o2i' and 'i2o') */ +/********************************************************************/ + +/** Decodes a ec public key from a octet string. + * \param key a pointer to a EC_KEY object which should be used + * \param in memory buffer with the encoded public key + * \param len length of the encoded public key + * \return EC_KEY object with decoded public key or NULL if an error + * occurred. + */ +EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes a ec public key in an octet string. + * \param key the EC_KEY object with the public key + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred + */ +int i2o_ECPublicKey(EC_KEY *key, unsigned char **out); + +# ifndef OPENSSL_NO_BIO +/** Prints out the ec parameters on human readable form. + * \param bp BIO object to which the information is printed + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred + */ +int ECParameters_print(BIO *bp, const EC_KEY *key); + +/** Prints out the contents of a EC_KEY object + * \param bp BIO object to which the information is printed + * \param key EC_KEY object + * \param off line offset + * \return 1 on success and 0 if an error occurred + */ +int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); + +# endif +# ifndef OPENSSL_NO_FP_API +/** Prints out the ec parameters on human readable form. + * \param fp file descriptor to which the information is printed + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred + */ +int ECParameters_print_fp(FILE *fp, const EC_KEY *key); + +/** Prints out the contents of a EC_KEY object + * \param fp file descriptor to which the information is printed + * \param key EC_KEY object + * \param off line offset + * \return 1 on success and 0 if an error occurred + */ +int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); + +# endif + +# define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) + +# ifndef __cplusplus +# if defined(__SUNPRO_C) +# if __SUNPRO_C >= 0x520 +# pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) +# endif +# endif +# endif + +# define EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) + +# define EVP_PKEY_CTX_set_ec_param_enc(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAM_ENC, flag, NULL) + +# define EVP_PKEY_CTX_set_ecdh_cofactor_mode(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, flag, NULL) + +# define EVP_PKEY_CTX_get_ecdh_cofactor_mode(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, -2, NULL) + +# define EVP_PKEY_CTX_set_ecdh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, kdf, NULL) + +# define EVP_PKEY_CTX_get_ecdh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, -2, NULL) + +# define EVP_PKEY_CTX_set_ecdh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_ecdh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set_ecdh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_OUTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_ecdh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN, 0, (void *)plen) + +# define EVP_PKEY_CTX_set0_ecdh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_UKM, plen, (void *)p) + +# define EVP_PKEY_CTX_get0_ecdh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_UKM, 0, (void *)p) + +# define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_EC_PARAM_ENC (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_EC_ECDH_COFACTOR (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_EC_KDF_TYPE (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_GET_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 10) +/* KDF types */ +# define EVP_PKEY_ECDH_KDF_NONE 1 +# define EVP_PKEY_ECDH_KDF_X9_62 2 + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_EC_strings(void); + +/* Error codes for the EC functions. */ + +/* Function codes. */ +# define EC_F_BN_TO_FELEM 224 +# define EC_F_COMPUTE_WNAF 143 +# define EC_F_D2I_ECPARAMETERS 144 +# define EC_F_D2I_ECPKPARAMETERS 145 +# define EC_F_D2I_ECPRIVATEKEY 146 +# define EC_F_DO_EC_KEY_PRINT 221 +# define EC_F_ECDH_CMS_DECRYPT 238 +# define EC_F_ECDH_CMS_SET_SHARED_INFO 239 +# define EC_F_ECKEY_PARAM2TYPE 223 +# define EC_F_ECKEY_PARAM_DECODE 212 +# define EC_F_ECKEY_PRIV_DECODE 213 +# define EC_F_ECKEY_PRIV_ENCODE 214 +# define EC_F_ECKEY_PUB_DECODE 215 +# define EC_F_ECKEY_PUB_ENCODE 216 +# define EC_F_ECKEY_TYPE2PARAM 220 +# define EC_F_ECPARAMETERS_PRINT 147 +# define EC_F_ECPARAMETERS_PRINT_FP 148 +# define EC_F_ECPKPARAMETERS_PRINT 149 +# define EC_F_ECPKPARAMETERS_PRINT_FP 150 +# define EC_F_ECP_NISTZ256_GET_AFFINE 240 +# define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 243 +# define EC_F_ECP_NISTZ256_POINTS_MUL 241 +# define EC_F_ECP_NISTZ256_PRE_COMP_NEW 244 +# define EC_F_ECP_NISTZ256_SET_WORDS 245 +# define EC_F_ECP_NISTZ256_WINDOWED_MUL 242 +# define EC_F_ECP_NIST_MOD_192 203 +# define EC_F_ECP_NIST_MOD_224 204 +# define EC_F_ECP_NIST_MOD_256 205 +# define EC_F_ECP_NIST_MOD_521 206 +# define EC_F_EC_ASN1_GROUP2CURVE 153 +# define EC_F_EC_ASN1_GROUP2FIELDID 154 +# define EC_F_EC_ASN1_GROUP2PARAMETERS 155 +# define EC_F_EC_ASN1_GROUP2PKPARAMETERS 156 +# define EC_F_EC_ASN1_PARAMETERS2GROUP 157 +# define EC_F_EC_ASN1_PKPARAMETERS2GROUP 158 +# define EC_F_EC_EX_DATA_SET_DATA 211 +# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 208 +# define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 159 +# define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 195 +# define EC_F_EC_GF2M_SIMPLE_OCT2POINT 160 +# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 161 +# define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 162 +# define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 163 +# define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 164 +# define EC_F_EC_GFP_MONT_FIELD_DECODE 133 +# define EC_F_EC_GFP_MONT_FIELD_ENCODE 134 +# define EC_F_EC_GFP_MONT_FIELD_MUL 131 +# define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 209 +# define EC_F_EC_GFP_MONT_FIELD_SQR 132 +# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 189 +# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE_GFP 135 +# define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 225 +# define EC_F_EC_GFP_NISTP224_POINTS_MUL 228 +# define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 226 +# define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 230 +# define EC_F_EC_GFP_NISTP256_POINTS_MUL 231 +# define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 232 +# define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 233 +# define EC_F_EC_GFP_NISTP521_POINTS_MUL 234 +# define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 235 +# define EC_F_EC_GFP_NIST_FIELD_MUL 200 +# define EC_F_EC_GFP_NIST_FIELD_SQR 201 +# define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 202 +# define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 165 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE_GFP 100 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_GENERATOR 101 +# define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 102 +# define EC_F_EC_GFP_SIMPLE_OCT2POINT 103 +# define EC_F_EC_GFP_SIMPLE_POINT2OCT 104 +# define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 137 +# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 167 +# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES_GFP 105 +# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 168 +# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES_GFP 128 +# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 169 +# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES_GFP 129 +# define EC_F_EC_GROUP_CHECK 170 +# define EC_F_EC_GROUP_CHECK_DISCRIMINANT 171 +# define EC_F_EC_GROUP_COPY 106 +# define EC_F_EC_GROUP_GET0_GENERATOR 139 +# define EC_F_EC_GROUP_GET_COFACTOR 140 +# define EC_F_EC_GROUP_GET_CURVE_GF2M 172 +# define EC_F_EC_GROUP_GET_CURVE_GFP 130 +# define EC_F_EC_GROUP_GET_DEGREE 173 +# define EC_F_EC_GROUP_GET_ORDER 141 +# define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 193 +# define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 194 +# define EC_F_EC_GROUP_NEW 108 +# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 174 +# define EC_F_EC_GROUP_NEW_FROM_DATA 175 +# define EC_F_EC_GROUP_PRECOMPUTE_MULT 142 +# define EC_F_EC_GROUP_SET_CURVE_GF2M 176 +# define EC_F_EC_GROUP_SET_CURVE_GFP 109 +# define EC_F_EC_GROUP_SET_EXTRA_DATA 110 +# define EC_F_EC_GROUP_SET_GENERATOR 111 +# define EC_F_EC_KEY_CHECK_KEY 177 +# define EC_F_EC_KEY_COPY 178 +# define EC_F_EC_KEY_GENERATE_KEY 179 +# define EC_F_EC_KEY_NEW 182 +# define EC_F_EC_KEY_PRINT 180 +# define EC_F_EC_KEY_PRINT_FP 181 +# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 229 +# define EC_F_EC_POINTS_MAKE_AFFINE 136 +# define EC_F_EC_POINT_ADD 112 +# define EC_F_EC_POINT_CMP 113 +# define EC_F_EC_POINT_COPY 114 +# define EC_F_EC_POINT_DBL 115 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 183 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 116 +# define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 117 +# define EC_F_EC_POINT_INVERT 210 +# define EC_F_EC_POINT_IS_AT_INFINITY 118 +# define EC_F_EC_POINT_IS_ON_CURVE 119 +# define EC_F_EC_POINT_MAKE_AFFINE 120 +# define EC_F_EC_POINT_MUL 184 +# define EC_F_EC_POINT_NEW 121 +# define EC_F_EC_POINT_OCT2POINT 122 +# define EC_F_EC_POINT_POINT2OCT 123 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 185 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 124 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 186 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 125 +# define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 126 +# define EC_F_EC_POINT_SET_TO_INFINITY 127 +# define EC_F_EC_PRE_COMP_DUP 207 +# define EC_F_EC_PRE_COMP_NEW 196 +# define EC_F_EC_WNAF_MUL 187 +# define EC_F_EC_WNAF_PRECOMPUTE_MULT 188 +# define EC_F_I2D_ECPARAMETERS 190 +# define EC_F_I2D_ECPKPARAMETERS 191 +# define EC_F_I2D_ECPRIVATEKEY 192 +# define EC_F_I2O_ECPUBLICKEY 151 +# define EC_F_NISTP224_PRE_COMP_NEW 227 +# define EC_F_NISTP256_PRE_COMP_NEW 236 +# define EC_F_NISTP521_PRE_COMP_NEW 237 +# define EC_F_O2I_ECPUBLICKEY 152 +# define EC_F_OLD_EC_PRIV_DECODE 222 +# define EC_F_PKEY_EC_CTRL 197 +# define EC_F_PKEY_EC_CTRL_STR 198 +# define EC_F_PKEY_EC_DERIVE 217 +# define EC_F_PKEY_EC_KEYGEN 199 +# define EC_F_PKEY_EC_PARAMGEN 219 +# define EC_F_PKEY_EC_SIGN 218 + +/* Reason codes. */ +# define EC_R_ASN1_ERROR 115 +# define EC_R_ASN1_UNKNOWN_FIELD 116 +# define EC_R_BIGNUM_OUT_OF_RANGE 144 +# define EC_R_BUFFER_TOO_SMALL 100 +# define EC_R_COORDINATES_OUT_OF_RANGE 146 +# define EC_R_D2I_ECPKPARAMETERS_FAILURE 117 +# define EC_R_DECODE_ERROR 142 +# define EC_R_DISCRIMINANT_IS_ZERO 118 +# define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE 119 +# define EC_R_FIELD_TOO_LARGE 143 +# define EC_R_GF2M_NOT_SUPPORTED 147 +# define EC_R_GROUP2PKPARAMETERS_FAILURE 120 +# define EC_R_I2D_ECPKPARAMETERS_FAILURE 121 +# define EC_R_INCOMPATIBLE_OBJECTS 101 +# define EC_R_INVALID_ARGUMENT 112 +# define EC_R_INVALID_COMPRESSED_POINT 110 +# define EC_R_INVALID_COMPRESSION_BIT 109 +# define EC_R_INVALID_CURVE 141 +# define EC_R_INVALID_DIGEST 151 +# define EC_R_INVALID_DIGEST_TYPE 138 +# define EC_R_INVALID_ENCODING 102 +# define EC_R_INVALID_FIELD 103 +# define EC_R_INVALID_FORM 104 +# define EC_R_INVALID_GROUP_ORDER 122 +# define EC_R_INVALID_PENTANOMIAL_BASIS 132 +# define EC_R_INVALID_PRIVATE_KEY 123 +# define EC_R_INVALID_TRINOMIAL_BASIS 137 +# define EC_R_KDF_PARAMETER_ERROR 148 +# define EC_R_KEYS_NOT_SET 140 +# define EC_R_MISSING_PARAMETERS 124 +# define EC_R_MISSING_PRIVATE_KEY 125 +# define EC_R_NOT_A_NIST_PRIME 135 +# define EC_R_NOT_A_SUPPORTED_NIST_PRIME 136 +# define EC_R_NOT_IMPLEMENTED 126 +# define EC_R_NOT_INITIALIZED 111 +# define EC_R_NO_FIELD_MOD 133 +# define EC_R_NO_PARAMETERS_SET 139 +# define EC_R_PASSED_NULL_PARAMETER 134 +# define EC_R_PEER_KEY_ERROR 149 +# define EC_R_PKPARAMETERS2GROUP_FAILURE 127 +# define EC_R_POINT_AT_INFINITY 106 +# define EC_R_POINT_IS_NOT_ON_CURVE 107 +# define EC_R_SHARED_INFO_ERROR 150 +# define EC_R_SLOT_FULL 108 +# define EC_R_UNDEFINED_GENERATOR 113 +# define EC_R_UNDEFINED_ORDER 128 +# define EC_R_UNKNOWN_GROUP 129 +# define EC_R_UNKNOWN_ORDER 114 +# define EC_R_UNSUPPORTED_FIELD 131 +# define EC_R_WRONG_CURVE_PARAMETERS 145 +# define EC_R_WRONG_ORDER 130 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ecdh.h b/3rdparty/openssl/include/openssl/ecdh.h new file mode 100644 index 0000000..25348b3 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ecdh.h @@ -0,0 +1,134 @@ +/* crypto/ecdh/ecdh.h */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * The Elliptic Curve Public-Key Crypto Library (ECC Code) included + * herein is developed by SUN MICROSYSTEMS, INC., and is contributed + * to the OpenSSL project. + * + * The ECC Code is licensed pursuant to the OpenSSL open source + * license provided below. + * + * The ECDH software is originally written by Douglas Stebila of + * Sun Microsystems Laboratories. + * + */ +/* ==================================================================== + * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_ECDH_H +# define HEADER_ECDH_H + +# include + +# ifdef OPENSSL_NO_ECDH +# error ECDH is disabled. +# endif + +# include +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define EC_FLAG_COFACTOR_ECDH 0x1000 + +const ECDH_METHOD *ECDH_OpenSSL(void); + +void ECDH_set_default_method(const ECDH_METHOD *); +const ECDH_METHOD *ECDH_get_default_method(void); +int ECDH_set_method(EC_KEY *, const ECDH_METHOD *); + +int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, + EC_KEY *ecdh, void *(*KDF) (const void *in, size_t inlen, + void *out, size_t *outlen)); + +int ECDH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new + *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +int ECDH_set_ex_data(EC_KEY *d, int idx, void *arg); +void *ECDH_get_ex_data(EC_KEY *d, int idx); + +int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + const unsigned char *sinfo, size_t sinfolen, + const EVP_MD *md); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_ECDH_strings(void); + +/* Error codes for the ECDH functions. */ + +/* Function codes. */ +# define ECDH_F_ECDH_CHECK 102 +# define ECDH_F_ECDH_COMPUTE_KEY 100 +# define ECDH_F_ECDH_DATA_NEW_METHOD 101 + +/* Reason codes. */ +# define ECDH_R_KDF_FAILED 102 +# define ECDH_R_NON_FIPS_METHOD 103 +# define ECDH_R_NO_PRIVATE_VALUE 100 +# define ECDH_R_POINT_ARITHMETIC_FAILURE 101 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ecdsa.h b/3rdparty/openssl/include/openssl/ecdsa.h new file mode 100644 index 0000000..a6f0930 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ecdsa.h @@ -0,0 +1,335 @@ +/* crypto/ecdsa/ecdsa.h */ +/** + * \file crypto/ecdsa/ecdsa.h Include file for the OpenSSL ECDSA functions + * \author Written by Nils Larsch for the OpenSSL project + */ +/* ==================================================================== + * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_ECDSA_H +# define HEADER_ECDSA_H + +# include + +# ifdef OPENSSL_NO_ECDSA +# error ECDSA is disabled. +# endif + +# include +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ECDSA_SIG_st { + BIGNUM *r; + BIGNUM *s; +} ECDSA_SIG; + +/** Allocates and initialize a ECDSA_SIG structure + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_SIG_new(void); + +/** frees a ECDSA_SIG structure + * \param sig pointer to the ECDSA_SIG structure + */ +void ECDSA_SIG_free(ECDSA_SIG *sig); + +/** DER encode content of ECDSA_SIG object (note: this function modifies *pp + * (*pp += length of the DER encoded signature)). + * \param sig pointer to the ECDSA_SIG object + * \param pp pointer to a unsigned char pointer for the output or NULL + * \return the length of the DER encoded ECDSA_SIG object or 0 + */ +int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); + +/** Decodes a DER encoded ECDSA signature (note: this function changes *pp + * (*pp += len)). + * \param sig pointer to ECDSA_SIG pointer (may be NULL) + * \param pp memory buffer with the DER encoded signature + * \param len length of the buffer + * \return pointer to the decoded ECDSA_SIG structure (or NULL) + */ +ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); + +/** Computes the ECDSA signature of the given hash value using + * the supplied private key and returns the created signature. + * \param dgst pointer to the hash value + * \param dgst_len length of the hash value + * \param eckey EC_KEY object containing a private EC key + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len, + EC_KEY *eckey); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param kinv BIGNUM with a pre-computed inverse k (optional) + * \param rp BIGNUM with a pre-computed rp value (optioanl), + * see ECDSA_sign_setup + * \param eckey EC_KEY object containing a private EC key + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, + const BIGNUM *kinv, const BIGNUM *rp, + EC_KEY *eckey); + +/** Verifies that the supplied signature is a valid ECDSA + * signature of the supplied hash value using the supplied public key. + * \param dgst pointer to the hash value + * \param dgst_len length of the hash value + * \param sig ECDSA_SIG structure + * \param eckey EC_KEY object containing a public EC key + * \return 1 if the signature is valid, 0 if the signature is invalid + * and -1 on error + */ +int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, + const ECDSA_SIG *sig, EC_KEY *eckey); + +const ECDSA_METHOD *ECDSA_OpenSSL(void); + +/** Sets the default ECDSA method + * \param meth new default ECDSA_METHOD + */ +void ECDSA_set_default_method(const ECDSA_METHOD *meth); + +/** Returns the default ECDSA method + * \return pointer to ECDSA_METHOD structure containing the default method + */ +const ECDSA_METHOD *ECDSA_get_default_method(void); + +/** Sets method to be used for the ECDSA operations + * \param eckey EC_KEY object + * \param meth new method + * \return 1 on success and 0 otherwise + */ +int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth); + +/** Returns the maximum length of the DER encoded signature + * \param eckey EC_KEY object + * \return numbers of bytes required for the DER encoded signature + */ +int ECDSA_size(const EC_KEY *eckey); + +/** Precompute parts of the signing operation + * \param eckey EC_KEY object containing a private EC key + * \param ctx BN_CTX object (optional) + * \param kinv BIGNUM pointer for the inverse of k + * \param rp BIGNUM pointer for x coordinate of k * generator + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param type this parameter is ignored + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param sig memory for the DER encoded created signature + * \param siglen pointer to the length of the returned signature + * \param eckey EC_KEY object containing a private EC key + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param type this parameter is ignored + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param sig buffer to hold the DER encoded signature + * \param siglen pointer to the length of the returned signature + * \param kinv BIGNUM with a pre-computed inverse k (optional) + * \param rp BIGNUM with a pre-computed rp value (optioanl), + * see ECDSA_sign_setup + * \param eckey EC_KEY object containing a private EC key + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); + +/** Verifies that the given signature is valid ECDSA signature + * of the supplied hash value using the specified public key. + * \param type this parameter is ignored + * \param dgst pointer to the hash value + * \param dgstlen length of the hash value + * \param sig pointer to the DER encoded signature + * \param siglen length of the DER encoded signature + * \param eckey EC_KEY object containing a public EC key + * \return 1 if the signature is valid, 0 if the signature is invalid + * and -1 on error + */ +int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, + const unsigned char *sig, int siglen, EC_KEY *eckey); + +/* the standard ex_data functions */ +int ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new + *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +int ECDSA_set_ex_data(EC_KEY *d, int idx, void *arg); +void *ECDSA_get_ex_data(EC_KEY *d, int idx); + +/** Allocates and initialize a ECDSA_METHOD structure + * \param ecdsa_method pointer to ECDSA_METHOD to copy. (May be NULL) + * \return pointer to a ECDSA_METHOD structure or NULL if an error occurred + */ + +ECDSA_METHOD *ECDSA_METHOD_new(const ECDSA_METHOD *ecdsa_method); + +/** frees a ECDSA_METHOD structure + * \param ecdsa_method pointer to the ECDSA_METHOD structure + */ +void ECDSA_METHOD_free(ECDSA_METHOD *ecdsa_method); + +/** Sets application specific data in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param app application specific data to set + */ + +void ECDSA_METHOD_set_app_data(ECDSA_METHOD *ecdsa_method, void *app); + +/** Returns application specific data from a ECDSA_METHOD structure + * \param ecdsa_method pointer to ECDSA_METHOD structure + * \return pointer to application specific data. + */ + +void *ECDSA_METHOD_get_app_data(ECDSA_METHOD *ecdsa_method); + +/** Set the ECDSA_do_sign function in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param ecdsa_do_sign a funtion of type ECDSA_do_sign + */ + +void ECDSA_METHOD_set_sign(ECDSA_METHOD *ecdsa_method, + ECDSA_SIG *(*ecdsa_do_sign) (const unsigned char + *dgst, int dgst_len, + const BIGNUM *inv, + const BIGNUM *rp, + EC_KEY *eckey)); + +/** Set the ECDSA_sign_setup function in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param ecdsa_sign_setup a funtion of type ECDSA_sign_setup + */ + +void ECDSA_METHOD_set_sign_setup(ECDSA_METHOD *ecdsa_method, + int (*ecdsa_sign_setup) (EC_KEY *eckey, + BN_CTX *ctx, + BIGNUM **kinv, + BIGNUM **r)); + +/** Set the ECDSA_do_verify function in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param ecdsa_do_verify a funtion of type ECDSA_do_verify + */ + +void ECDSA_METHOD_set_verify(ECDSA_METHOD *ecdsa_method, + int (*ecdsa_do_verify) (const unsigned char + *dgst, int dgst_len, + const ECDSA_SIG *sig, + EC_KEY *eckey)); + +void ECDSA_METHOD_set_flags(ECDSA_METHOD *ecdsa_method, int flags); + +/** Set the flags field in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param flags flags value to set + */ + +void ECDSA_METHOD_set_name(ECDSA_METHOD *ecdsa_method, char *name); + +/** Set the name field in the ECDSA_METHOD + * \param ecdsa_method pointer to existing ECDSA_METHOD + * \param name name to set + */ + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_ECDSA_strings(void); + +/* Error codes for the ECDSA functions. */ + +/* Function codes. */ +# define ECDSA_F_ECDSA_CHECK 104 +# define ECDSA_F_ECDSA_DATA_NEW_METHOD 100 +# define ECDSA_F_ECDSA_DO_SIGN 101 +# define ECDSA_F_ECDSA_DO_VERIFY 102 +# define ECDSA_F_ECDSA_METHOD_NEW 105 +# define ECDSA_F_ECDSA_SIGN_SETUP 103 + +/* Reason codes. */ +# define ECDSA_R_BAD_SIGNATURE 100 +# define ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 101 +# define ECDSA_R_ERR_EC_LIB 102 +# define ECDSA_R_MISSING_PARAMETERS 103 +# define ECDSA_R_NEED_NEW_SETUP_VALUES 106 +# define ECDSA_R_NON_FIPS_METHOD 107 +# define ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED 104 +# define ECDSA_R_SIGNATURE_MALLOC_FAILED 105 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/engine.h b/3rdparty/openssl/include/openssl/engine.h new file mode 100644 index 0000000..bd7b591 --- /dev/null +++ b/3rdparty/openssl/include/openssl/engine.h @@ -0,0 +1,960 @@ +/* openssl/engine.h */ +/* + * Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL project + * 2000. + */ +/* ==================================================================== + * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_ENGINE_H +# define HEADER_ENGINE_H + +# include + +# ifdef OPENSSL_NO_ENGINE +# error ENGINE is disabled. +# endif + +# ifndef OPENSSL_NO_DEPRECATED +# include +# ifndef OPENSSL_NO_RSA +# include +# endif +# ifndef OPENSSL_NO_DSA +# include +# endif +# ifndef OPENSSL_NO_DH +# include +# endif +# ifndef OPENSSL_NO_ECDH +# include +# endif +# ifndef OPENSSL_NO_ECDSA +# include +# endif +# include +# include +# include +# endif + +# include +# include + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * These flags are used to control combinations of algorithm (methods) by + * bitwise "OR"ing. + */ +# define ENGINE_METHOD_RSA (unsigned int)0x0001 +# define ENGINE_METHOD_DSA (unsigned int)0x0002 +# define ENGINE_METHOD_DH (unsigned int)0x0004 +# define ENGINE_METHOD_RAND (unsigned int)0x0008 +# define ENGINE_METHOD_ECDH (unsigned int)0x0010 +# define ENGINE_METHOD_ECDSA (unsigned int)0x0020 +# define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 +# define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 +# define ENGINE_METHOD_STORE (unsigned int)0x0100 +# define ENGINE_METHOD_PKEY_METHS (unsigned int)0x0200 +# define ENGINE_METHOD_PKEY_ASN1_METHS (unsigned int)0x0400 +/* Obvious all-or-nothing cases. */ +# define ENGINE_METHOD_ALL (unsigned int)0xFFFF +# define ENGINE_METHOD_NONE (unsigned int)0x0000 + +/* + * This(ese) flag(s) controls behaviour of the ENGINE_TABLE mechanism used + * internally to control registration of ENGINE implementations, and can be + * set by ENGINE_set_table_flags(). The "NOINIT" flag prevents attempts to + * initialise registered ENGINEs if they are not already initialised. + */ +# define ENGINE_TABLE_FLAG_NOINIT (unsigned int)0x0001 + +/* ENGINE flags that can be set by ENGINE_set_flags(). */ +/* Not used */ +/* #define ENGINE_FLAGS_MALLOCED 0x0001 */ + +/* + * This flag is for ENGINEs that wish to handle the various 'CMD'-related + * control commands on their own. Without this flag, ENGINE_ctrl() handles + * these control commands on behalf of the ENGINE using their "cmd_defns" + * data. + */ +# define ENGINE_FLAGS_MANUAL_CMD_CTRL (int)0x0002 + +/* + * This flag is for ENGINEs who return new duplicate structures when found + * via "ENGINE_by_id()". When an ENGINE must store state (eg. if + * ENGINE_ctrl() commands are called in sequence as part of some stateful + * process like key-generation setup and execution), it can set this flag - + * then each attempt to obtain the ENGINE will result in it being copied into + * a new structure. Normally, ENGINEs don't declare this flag so + * ENGINE_by_id() just increments the existing ENGINE's structural reference + * count. + */ +# define ENGINE_FLAGS_BY_ID_COPY (int)0x0004 + +/* + * This flag if for an ENGINE that does not want its methods registered as + * part of ENGINE_register_all_complete() for example if the methods are not + * usable as default methods. + */ + +# define ENGINE_FLAGS_NO_REGISTER_ALL (int)0x0008 + +/* + * ENGINEs can support their own command types, and these flags are used in + * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input + * each command expects. Currently only numeric and string input is + * supported. If a control command supports none of the _NUMERIC, _STRING, or + * _NO_INPUT options, then it is regarded as an "internal" control command - + * and not for use in config setting situations. As such, they're not + * available to the ENGINE_ctrl_cmd_string() function, only raw ENGINE_ctrl() + * access. Changes to this list of 'command types' should be reflected + * carefully in ENGINE_cmd_is_executable() and ENGINE_ctrl_cmd_string(). + */ + +/* accepts a 'long' input value (3rd parameter to ENGINE_ctrl) */ +# define ENGINE_CMD_FLAG_NUMERIC (unsigned int)0x0001 +/* + * accepts string input (cast from 'void*' to 'const char *', 4th parameter + * to ENGINE_ctrl) + */ +# define ENGINE_CMD_FLAG_STRING (unsigned int)0x0002 +/* + * Indicates that the control command takes *no* input. Ie. the control + * command is unparameterised. + */ +# define ENGINE_CMD_FLAG_NO_INPUT (unsigned int)0x0004 +/* + * Indicates that the control command is internal. This control command won't + * be shown in any output, and is only usable through the ENGINE_ctrl_cmd() + * function. + */ +# define ENGINE_CMD_FLAG_INTERNAL (unsigned int)0x0008 + +/* + * NB: These 3 control commands are deprecated and should not be used. + * ENGINEs relying on these commands should compile conditional support for + * compatibility (eg. if these symbols are defined) but should also migrate + * the same functionality to their own ENGINE-specific control functions that + * can be "discovered" by calling applications. The fact these control + * commands wouldn't be "executable" (ie. usable by text-based config) + * doesn't change the fact that application code can find and use them + * without requiring per-ENGINE hacking. + */ + +/* + * These flags are used to tell the ctrl function what should be done. All + * command numbers are shared between all engines, even if some don't make + * sense to some engines. In such a case, they do nothing but return the + * error ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED. + */ +# define ENGINE_CTRL_SET_LOGSTREAM 1 +# define ENGINE_CTRL_SET_PASSWORD_CALLBACK 2 +# define ENGINE_CTRL_HUP 3/* Close and reinitialise + * any handles/connections + * etc. */ +# define ENGINE_CTRL_SET_USER_INTERFACE 4/* Alternative to callback */ +# define ENGINE_CTRL_SET_CALLBACK_DATA 5/* User-specific data, used + * when calling the password + * callback and the user + * interface */ +# define ENGINE_CTRL_LOAD_CONFIGURATION 6/* Load a configuration, + * given a string that + * represents a file name + * or so */ +# define ENGINE_CTRL_LOAD_SECTION 7/* Load data from a given + * section in the already + * loaded configuration */ + +/* + * These control commands allow an application to deal with an arbitrary + * engine in a dynamic way. Warn: Negative return values indicate errors FOR + * THESE COMMANDS because zero is used to indicate 'end-of-list'. Other + * commands, including ENGINE-specific command types, return zero for an + * error. An ENGINE can choose to implement these ctrl functions, and can + * internally manage things however it chooses - it does so by setting the + * ENGINE_FLAGS_MANUAL_CMD_CTRL flag (using ENGINE_set_flags()). Otherwise + * the ENGINE_ctrl() code handles this on the ENGINE's behalf using the + * cmd_defns data (set using ENGINE_set_cmd_defns()). This means an ENGINE's + * ctrl() handler need only implement its own commands - the above "meta" + * commands will be taken care of. + */ + +/* + * Returns non-zero if the supplied ENGINE has a ctrl() handler. If "not", + * then all the remaining control commands will return failure, so it is + * worth checking this first if the caller is trying to "discover" the + * engine's capabilities and doesn't want errors generated unnecessarily. + */ +# define ENGINE_CTRL_HAS_CTRL_FUNCTION 10 +/* + * Returns a positive command number for the first command supported by the + * engine. Returns zero if no ctrl commands are supported. + */ +# define ENGINE_CTRL_GET_FIRST_CMD_TYPE 11 +/* + * The 'long' argument specifies a command implemented by the engine, and the + * return value is the next command supported, or zero if there are no more. + */ +# define ENGINE_CTRL_GET_NEXT_CMD_TYPE 12 +/* + * The 'void*' argument is a command name (cast from 'const char *'), and the + * return value is the command that corresponds to it. + */ +# define ENGINE_CTRL_GET_CMD_FROM_NAME 13 +/* + * The next two allow a command to be converted into its corresponding string + * form. In each case, the 'long' argument supplies the command. In the + * NAME_LEN case, the return value is the length of the command name (not + * counting a trailing EOL). In the NAME case, the 'void*' argument must be a + * string buffer large enough, and it will be populated with the name of the + * command (WITH a trailing EOL). + */ +# define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD 14 +# define ENGINE_CTRL_GET_NAME_FROM_CMD 15 +/* The next two are similar but give a "short description" of a command. */ +# define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD 16 +# define ENGINE_CTRL_GET_DESC_FROM_CMD 17 +/* + * With this command, the return value is the OR'd combination of + * ENGINE_CMD_FLAG_*** values that indicate what kind of input a given + * engine-specific ctrl command expects. + */ +# define ENGINE_CTRL_GET_CMD_FLAGS 18 + +/* + * ENGINE implementations should start the numbering of their own control + * commands from this value. (ie. ENGINE_CMD_BASE, ENGINE_CMD_BASE + 1, etc). + */ +# define ENGINE_CMD_BASE 200 + +/* + * NB: These 2 nCipher "chil" control commands are deprecated, and their + * functionality is now available through ENGINE-specific control commands + * (exposed through the above-mentioned 'CMD'-handling). Code using these 2 + * commands should be migrated to the more general command handling before + * these are removed. + */ + +/* Flags specific to the nCipher "chil" engine */ +# define ENGINE_CTRL_CHIL_SET_FORKCHECK 100 + /* + * Depending on the value of the (long)i argument, this sets or + * unsets the SimpleForkCheck flag in the CHIL API to enable or + * disable checking and workarounds for applications that fork(). + */ +# define ENGINE_CTRL_CHIL_NO_LOCKING 101 + /* + * This prevents the initialisation function from providing mutex + * callbacks to the nCipher library. + */ + +/* + * If an ENGINE supports its own specific control commands and wishes the + * framework to handle the above 'ENGINE_CMD_***'-manipulation commands on + * its behalf, it should supply a null-terminated array of ENGINE_CMD_DEFN + * entries to ENGINE_set_cmd_defns(). It should also implement a ctrl() + * handler that supports the stated commands (ie. the "cmd_num" entries as + * described by the array). NB: The array must be ordered in increasing order + * of cmd_num. "null-terminated" means that the last ENGINE_CMD_DEFN element + * has cmd_num set to zero and/or cmd_name set to NULL. + */ +typedef struct ENGINE_CMD_DEFN_st { + unsigned int cmd_num; /* The command number */ + const char *cmd_name; /* The command name itself */ + const char *cmd_desc; /* A short description of the command */ + unsigned int cmd_flags; /* The input the command expects */ +} ENGINE_CMD_DEFN; + +/* Generic function pointer */ +typedef int (*ENGINE_GEN_FUNC_PTR) (void); +/* Generic function pointer taking no arguments */ +typedef int (*ENGINE_GEN_INT_FUNC_PTR) (ENGINE *); +/* Specific control function pointer */ +typedef int (*ENGINE_CTRL_FUNC_PTR) (ENGINE *, int, long, void *, + void (*f) (void)); +/* Generic load_key function pointer */ +typedef EVP_PKEY *(*ENGINE_LOAD_KEY_PTR)(ENGINE *, const char *, + UI_METHOD *ui_method, + void *callback_data); +typedef int (*ENGINE_SSL_CLIENT_CERT_PTR) (ENGINE *, SSL *ssl, + STACK_OF(X509_NAME) *ca_dn, + X509 **pcert, EVP_PKEY **pkey, + STACK_OF(X509) **pother, + UI_METHOD *ui_method, + void *callback_data); +/*- + * These callback types are for an ENGINE's handler for cipher and digest logic. + * These handlers have these prototypes; + * int foo(ENGINE *e, const EVP_CIPHER **cipher, const int **nids, int nid); + * int foo(ENGINE *e, const EVP_MD **digest, const int **nids, int nid); + * Looking at how to implement these handlers in the case of cipher support, if + * the framework wants the EVP_CIPHER for 'nid', it will call; + * foo(e, &p_evp_cipher, NULL, nid); (return zero for failure) + * If the framework wants a list of supported 'nid's, it will call; + * foo(e, NULL, &p_nids, 0); (returns number of 'nids' or -1 for error) + */ +/* + * Returns to a pointer to the array of supported cipher 'nid's. If the + * second parameter is non-NULL it is set to the size of the returned array. + */ +typedef int (*ENGINE_CIPHERS_PTR) (ENGINE *, const EVP_CIPHER **, + const int **, int); +typedef int (*ENGINE_DIGESTS_PTR) (ENGINE *, const EVP_MD **, const int **, + int); +typedef int (*ENGINE_PKEY_METHS_PTR) (ENGINE *, EVP_PKEY_METHOD **, + const int **, int); +typedef int (*ENGINE_PKEY_ASN1_METHS_PTR) (ENGINE *, EVP_PKEY_ASN1_METHOD **, + const int **, int); +/* + * STRUCTURE functions ... all of these functions deal with pointers to + * ENGINE structures where the pointers have a "structural reference". This + * means that their reference is to allowed access to the structure but it + * does not imply that the structure is functional. To simply increment or + * decrement the structural reference count, use ENGINE_by_id and + * ENGINE_free. NB: This is not required when iterating using ENGINE_get_next + * as it will automatically decrement the structural reference count of the + * "current" ENGINE and increment the structural reference count of the + * ENGINE it returns (unless it is NULL). + */ + +/* Get the first/last "ENGINE" type available. */ +ENGINE *ENGINE_get_first(void); +ENGINE *ENGINE_get_last(void); +/* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */ +ENGINE *ENGINE_get_next(ENGINE *e); +ENGINE *ENGINE_get_prev(ENGINE *e); +/* Add another "ENGINE" type into the array. */ +int ENGINE_add(ENGINE *e); +/* Remove an existing "ENGINE" type from the array. */ +int ENGINE_remove(ENGINE *e); +/* Retrieve an engine from the list by its unique "id" value. */ +ENGINE *ENGINE_by_id(const char *id); +/* Add all the built-in engines. */ +void ENGINE_load_openssl(void); +void ENGINE_load_dynamic(void); +# ifndef OPENSSL_NO_STATIC_ENGINE +void ENGINE_load_4758cca(void); +void ENGINE_load_aep(void); +void ENGINE_load_atalla(void); +void ENGINE_load_chil(void); +void ENGINE_load_cswift(void); +void ENGINE_load_nuron(void); +void ENGINE_load_sureware(void); +void ENGINE_load_ubsec(void); +void ENGINE_load_padlock(void); +void ENGINE_load_capi(void); +# ifndef OPENSSL_NO_GMP +void ENGINE_load_gmp(void); +# endif +# ifndef OPENSSL_NO_GOST +void ENGINE_load_gost(void); +# endif +# endif +void ENGINE_load_cryptodev(void); +void ENGINE_load_rdrand(void); +void ENGINE_load_builtin_engines(void); + +/* + * Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation + * "registry" handling. + */ +unsigned int ENGINE_get_table_flags(void); +void ENGINE_set_table_flags(unsigned int flags); + +/*- Manage registration of ENGINEs per "table". For each type, there are 3 + * functions; + * ENGINE_register_***(e) - registers the implementation from 'e' (if it has one) + * ENGINE_unregister_***(e) - unregister the implementation from 'e' + * ENGINE_register_all_***() - call ENGINE_register_***() for each 'e' in the list + * Cleanup is automatically registered from each table when required, so + * ENGINE_cleanup() will reverse any "register" operations. + */ + +int ENGINE_register_RSA(ENGINE *e); +void ENGINE_unregister_RSA(ENGINE *e); +void ENGINE_register_all_RSA(void); + +int ENGINE_register_DSA(ENGINE *e); +void ENGINE_unregister_DSA(ENGINE *e); +void ENGINE_register_all_DSA(void); + +int ENGINE_register_ECDH(ENGINE *e); +void ENGINE_unregister_ECDH(ENGINE *e); +void ENGINE_register_all_ECDH(void); + +int ENGINE_register_ECDSA(ENGINE *e); +void ENGINE_unregister_ECDSA(ENGINE *e); +void ENGINE_register_all_ECDSA(void); + +int ENGINE_register_DH(ENGINE *e); +void ENGINE_unregister_DH(ENGINE *e); +void ENGINE_register_all_DH(void); + +int ENGINE_register_RAND(ENGINE *e); +void ENGINE_unregister_RAND(ENGINE *e); +void ENGINE_register_all_RAND(void); + +int ENGINE_register_STORE(ENGINE *e); +void ENGINE_unregister_STORE(ENGINE *e); +void ENGINE_register_all_STORE(void); + +int ENGINE_register_ciphers(ENGINE *e); +void ENGINE_unregister_ciphers(ENGINE *e); +void ENGINE_register_all_ciphers(void); + +int ENGINE_register_digests(ENGINE *e); +void ENGINE_unregister_digests(ENGINE *e); +void ENGINE_register_all_digests(void); + +int ENGINE_register_pkey_meths(ENGINE *e); +void ENGINE_unregister_pkey_meths(ENGINE *e); +void ENGINE_register_all_pkey_meths(void); + +int ENGINE_register_pkey_asn1_meths(ENGINE *e); +void ENGINE_unregister_pkey_asn1_meths(ENGINE *e); +void ENGINE_register_all_pkey_asn1_meths(void); + +/* + * These functions register all support from the above categories. Note, use + * of these functions can result in static linkage of code your application + * may not need. If you only need a subset of functionality, consider using + * more selective initialisation. + */ +int ENGINE_register_complete(ENGINE *e); +int ENGINE_register_all_complete(void); + +/* + * Send parametrised control commands to the engine. The possibilities to + * send down an integer, a pointer to data or a function pointer are + * provided. Any of the parameters may or may not be NULL, depending on the + * command number. In actuality, this function only requires a structural + * (rather than functional) reference to an engine, but many control commands + * may require the engine be functional. The caller should be aware of trying + * commands that require an operational ENGINE, and only use functional + * references in such situations. + */ +int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)); + +/* + * This function tests if an ENGINE-specific command is usable as a + * "setting". Eg. in an application's config file that gets processed through + * ENGINE_ctrl_cmd_string(). If this returns zero, it is not available to + * ENGINE_ctrl_cmd_string(), only ENGINE_ctrl(). + */ +int ENGINE_cmd_is_executable(ENGINE *e, int cmd); + +/* + * This function works like ENGINE_ctrl() with the exception of taking a + * command name instead of a command number, and can handle optional + * commands. See the comment on ENGINE_ctrl_cmd_string() for an explanation + * on how to use the cmd_name and cmd_optional. + */ +int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name, + long i, void *p, void (*f) (void), int cmd_optional); + +/* + * This function passes a command-name and argument to an ENGINE. The + * cmd_name is converted to a command number and the control command is + * called using 'arg' as an argument (unless the ENGINE doesn't support such + * a command, in which case no control command is called). The command is + * checked for input flags, and if necessary the argument will be converted + * to a numeric value. If cmd_optional is non-zero, then if the ENGINE + * doesn't support the given cmd_name the return value will be success + * anyway. This function is intended for applications to use so that users + * (or config files) can supply engine-specific config data to the ENGINE at + * run-time to control behaviour of specific engines. As such, it shouldn't + * be used for calling ENGINE_ctrl() functions that return data, deal with + * binary data, or that are otherwise supposed to be used directly through + * ENGINE_ctrl() in application code. Any "return" data from an ENGINE_ctrl() + * operation in this function will be lost - the return value is interpreted + * as failure if the return value is zero, success otherwise, and this + * function returns a boolean value as a result. In other words, vendors of + * 'ENGINE'-enabled devices should write ENGINE implementations with + * parameterisations that work in this scheme, so that compliant ENGINE-based + * applications can work consistently with the same configuration for the + * same ENGINE-enabled devices, across applications. + */ +int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg, + int cmd_optional); + +/* + * These functions are useful for manufacturing new ENGINE structures. They + * don't address reference counting at all - one uses them to populate an + * ENGINE structure with personalised implementations of things prior to + * using it directly or adding it to the builtin ENGINE list in OpenSSL. + * These are also here so that the ENGINE structure doesn't have to be + * exposed and break binary compatibility! + */ +ENGINE *ENGINE_new(void); +int ENGINE_free(ENGINE *e); +int ENGINE_up_ref(ENGINE *e); +int ENGINE_set_id(ENGINE *e, const char *id); +int ENGINE_set_name(ENGINE *e, const char *name); +int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); +int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); +int ENGINE_set_ECDH(ENGINE *e, const ECDH_METHOD *ecdh_meth); +int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth); +int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); +int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); +int ENGINE_set_STORE(ENGINE *e, const STORE_METHOD *store_meth); +int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f); +int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f); +int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f); +int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f); +int ENGINE_set_load_privkey_function(ENGINE *e, + ENGINE_LOAD_KEY_PTR loadpriv_f); +int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f); +int ENGINE_set_load_ssl_client_cert_function(ENGINE *e, + ENGINE_SSL_CLIENT_CERT_PTR + loadssl_f); +int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f); +int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f); +int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f); +int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f); +int ENGINE_set_flags(ENGINE *e, int flags); +int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns); +/* These functions allow control over any per-structure ENGINE data. */ +int ENGINE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg); +void *ENGINE_get_ex_data(const ENGINE *e, int idx); + +/* + * This function cleans up anything that needs it. Eg. the ENGINE_add() + * function automatically ensures the list cleanup function is registered to + * be called from ENGINE_cleanup(). Similarly, all ENGINE_register_*** + * functions ensure ENGINE_cleanup() will clean up after them. + */ +void ENGINE_cleanup(void); + +/* + * These return values from within the ENGINE structure. These can be useful + * with functional references as well as structural references - it depends + * which you obtained. Using the result for functional purposes if you only + * obtained a structural reference may be problematic! + */ +const char *ENGINE_get_id(const ENGINE *e); +const char *ENGINE_get_name(const ENGINE *e); +const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); +const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); +const ECDH_METHOD *ENGINE_get_ECDH(const ENGINE *e); +const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e); +const DH_METHOD *ENGINE_get_DH(const ENGINE *e); +const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); +const STORE_METHOD *ENGINE_get_STORE(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e); +ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e); +ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e); +ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e); +ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE + *e); +ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e); +ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e); +ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e); +ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e); +const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid); +const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid); +const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid); +const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid); +const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e, + const char *str, + int len); +const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe, + const char *str, + int len); +const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e); +int ENGINE_get_flags(const ENGINE *e); + +/* + * FUNCTIONAL functions. These functions deal with ENGINE structures that + * have (or will) be initialised for use. Broadly speaking, the structural + * functions are useful for iterating the list of available engine types, + * creating new engine types, and other "list" operations. These functions + * actually deal with ENGINEs that are to be used. As such these functions + * can fail (if applicable) when particular engines are unavailable - eg. if + * a hardware accelerator is not attached or not functioning correctly. Each + * ENGINE has 2 reference counts; structural and functional. Every time a + * functional reference is obtained or released, a corresponding structural + * reference is automatically obtained or released too. + */ + +/* + * Initialise a engine type for use (or up its reference count if it's + * already in use). This will fail if the engine is not currently operational + * and cannot initialise. + */ +int ENGINE_init(ENGINE *e); +/* + * Free a functional reference to a engine type. This does not require a + * corresponding call to ENGINE_free as it also releases a structural + * reference. + */ +int ENGINE_finish(ENGINE *e); + +/* + * The following functions handle keys that are stored in some secondary + * location, handled by the engine. The storage may be on a card or + * whatever. + */ +EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id, + UI_METHOD *ui_method, void *callback_data); +EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, + UI_METHOD *ui_method, void *callback_data); +int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s, + STACK_OF(X509_NAME) *ca_dn, X509 **pcert, + EVP_PKEY **ppkey, STACK_OF(X509) **pother, + UI_METHOD *ui_method, void *callback_data); + +/* + * This returns a pointer for the current ENGINE structure that is (by + * default) performing any RSA operations. The value returned is an + * incremented reference, so it should be free'd (ENGINE_finish) before it is + * discarded. + */ +ENGINE *ENGINE_get_default_RSA(void); +/* Same for the other "methods" */ +ENGINE *ENGINE_get_default_DSA(void); +ENGINE *ENGINE_get_default_ECDH(void); +ENGINE *ENGINE_get_default_ECDSA(void); +ENGINE *ENGINE_get_default_DH(void); +ENGINE *ENGINE_get_default_RAND(void); +/* + * These functions can be used to get a functional reference to perform + * ciphering or digesting corresponding to "nid". + */ +ENGINE *ENGINE_get_cipher_engine(int nid); +ENGINE *ENGINE_get_digest_engine(int nid); +ENGINE *ENGINE_get_pkey_meth_engine(int nid); +ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid); + +/* + * This sets a new default ENGINE structure for performing RSA operations. If + * the result is non-zero (success) then the ENGINE structure will have had + * its reference count up'd so the caller should still free their own + * reference 'e'. + */ +int ENGINE_set_default_RSA(ENGINE *e); +int ENGINE_set_default_string(ENGINE *e, const char *def_list); +/* Same for the other "methods" */ +int ENGINE_set_default_DSA(ENGINE *e); +int ENGINE_set_default_ECDH(ENGINE *e); +int ENGINE_set_default_ECDSA(ENGINE *e); +int ENGINE_set_default_DH(ENGINE *e); +int ENGINE_set_default_RAND(ENGINE *e); +int ENGINE_set_default_ciphers(ENGINE *e); +int ENGINE_set_default_digests(ENGINE *e); +int ENGINE_set_default_pkey_meths(ENGINE *e); +int ENGINE_set_default_pkey_asn1_meths(ENGINE *e); + +/* + * The combination "set" - the flags are bitwise "OR"d from the + * ENGINE_METHOD_*** defines above. As with the "ENGINE_register_complete()" + * function, this function can result in unnecessary static linkage. If your + * application requires only specific functionality, consider using more + * selective functions. + */ +int ENGINE_set_default(ENGINE *e, unsigned int flags); + +void ENGINE_add_conf_module(void); + +/* Deprecated functions ... */ +/* int ENGINE_clear_defaults(void); */ + +/**************************/ +/* DYNAMIC ENGINE SUPPORT */ +/**************************/ + +/* Binary/behaviour compatibility levels */ +# define OSSL_DYNAMIC_VERSION (unsigned long)0x00020000 +/* + * Binary versions older than this are too old for us (whether we're a loader + * or a loadee) + */ +# define OSSL_DYNAMIC_OLDEST (unsigned long)0x00020000 + +/* + * When compiling an ENGINE entirely as an external shared library, loadable + * by the "dynamic" ENGINE, these types are needed. The 'dynamic_fns' + * structure type provides the calling application's (or library's) error + * functionality and memory management function pointers to the loaded + * library. These should be used/set in the loaded library code so that the + * loading application's 'state' will be used/changed in all operations. The + * 'static_state' pointer allows the loaded library to know if it shares the + * same static data as the calling application (or library), and thus whether + * these callbacks need to be set or not. + */ +typedef void *(*dyn_MEM_malloc_cb) (size_t); +typedef void *(*dyn_MEM_realloc_cb) (void *, size_t); +typedef void (*dyn_MEM_free_cb) (void *); +typedef struct st_dynamic_MEM_fns { + dyn_MEM_malloc_cb malloc_cb; + dyn_MEM_realloc_cb realloc_cb; + dyn_MEM_free_cb free_cb; +} dynamic_MEM_fns; +/* + * FIXME: Perhaps the memory and locking code (crypto.h) should declare and + * use these types so we (and any other dependant code) can simplify a bit?? + */ +typedef void (*dyn_lock_locking_cb) (int, int, const char *, int); +typedef int (*dyn_lock_add_lock_cb) (int *, int, int, const char *, int); +typedef struct CRYPTO_dynlock_value *(*dyn_dynlock_create_cb) (const char *, + int); +typedef void (*dyn_dynlock_lock_cb) (int, struct CRYPTO_dynlock_value *, + const char *, int); +typedef void (*dyn_dynlock_destroy_cb) (struct CRYPTO_dynlock_value *, + const char *, int); +typedef struct st_dynamic_LOCK_fns { + dyn_lock_locking_cb lock_locking_cb; + dyn_lock_add_lock_cb lock_add_lock_cb; + dyn_dynlock_create_cb dynlock_create_cb; + dyn_dynlock_lock_cb dynlock_lock_cb; + dyn_dynlock_destroy_cb dynlock_destroy_cb; +} dynamic_LOCK_fns; +/* The top-level structure */ +typedef struct st_dynamic_fns { + void *static_state; + const ERR_FNS *err_fns; + const CRYPTO_EX_DATA_IMPL *ex_data_fns; + dynamic_MEM_fns mem_fns; + dynamic_LOCK_fns lock_fns; +} dynamic_fns; + +/* + * The version checking function should be of this prototype. NB: The + * ossl_version value passed in is the OSSL_DYNAMIC_VERSION of the loading + * code. If this function returns zero, it indicates a (potential) version + * incompatibility and the loaded library doesn't believe it can proceed. + * Otherwise, the returned value is the (latest) version supported by the + * loading library. The loader may still decide that the loaded code's + * version is unsatisfactory and could veto the load. The function is + * expected to be implemented with the symbol name "v_check", and a default + * implementation can be fully instantiated with + * IMPLEMENT_DYNAMIC_CHECK_FN(). + */ +typedef unsigned long (*dynamic_v_check_fn) (unsigned long ossl_version); +# define IMPLEMENT_DYNAMIC_CHECK_FN() \ + OPENSSL_EXPORT unsigned long v_check(unsigned long v); \ + OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ + if(v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ + return 0; } + +/* + * This function is passed the ENGINE structure to initialise with its own + * function and command settings. It should not adjust the structural or + * functional reference counts. If this function returns zero, (a) the load + * will be aborted, (b) the previous ENGINE state will be memcpy'd back onto + * the structure, and (c) the shared library will be unloaded. So + * implementations should do their own internal cleanup in failure + * circumstances otherwise they could leak. The 'id' parameter, if non-NULL, + * represents the ENGINE id that the loader is looking for. If this is NULL, + * the shared library can choose to return failure or to initialise a + * 'default' ENGINE. If non-NULL, the shared library must initialise only an + * ENGINE matching the passed 'id'. The function is expected to be + * implemented with the symbol name "bind_engine". A standard implementation + * can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where the parameter + * 'fn' is a callback function that populates the ENGINE structure and + * returns an int value (zero for failure). 'fn' should have prototype; + * [static] int fn(ENGINE *e, const char *id); + */ +typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id, + const dynamic_fns *fns); +# define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ + OPENSSL_EXPORT \ + int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); \ + OPENSSL_EXPORT \ + int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ + if(ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ + if(!CRYPTO_set_mem_functions(fns->mem_fns.malloc_cb, \ + fns->mem_fns.realloc_cb, fns->mem_fns.free_cb)) \ + return 0; \ + CRYPTO_set_locking_callback(fns->lock_fns.lock_locking_cb); \ + CRYPTO_set_add_lock_callback(fns->lock_fns.lock_add_lock_cb); \ + CRYPTO_set_dynlock_create_callback(fns->lock_fns.dynlock_create_cb); \ + CRYPTO_set_dynlock_lock_callback(fns->lock_fns.dynlock_lock_cb); \ + CRYPTO_set_dynlock_destroy_callback(fns->lock_fns.dynlock_destroy_cb); \ + if(!CRYPTO_set_ex_data_implementation(fns->ex_data_fns)) \ + return 0; \ + if(!ERR_set_implementation(fns->err_fns)) return 0; \ + skip_cbs: \ + if(!fn(e,id)) return 0; \ + return 1; } + +/* + * If the loading application (or library) and the loaded ENGINE library + * share the same static data (eg. they're both dynamically linked to the + * same libcrypto.so) we need a way to avoid trying to set system callbacks - + * this would fail, and for the same reason that it's unnecessary to try. If + * the loaded ENGINE has (or gets from through the loader) its own copy of + * the libcrypto static data, we will need to set the callbacks. The easiest + * way to detect this is to have a function that returns a pointer to some + * static data and let the loading application and loaded ENGINE compare + * their respective values. + */ +void *ENGINE_get_static_state(void); + +# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV) +void ENGINE_setup_bsd_cryptodev(void); +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_ENGINE_strings(void); + +/* Error codes for the ENGINE functions. */ + +/* Function codes. */ +# define ENGINE_F_DYNAMIC_CTRL 180 +# define ENGINE_F_DYNAMIC_GET_DATA_CTX 181 +# define ENGINE_F_DYNAMIC_LOAD 182 +# define ENGINE_F_DYNAMIC_SET_DATA_CTX 183 +# define ENGINE_F_ENGINE_ADD 105 +# define ENGINE_F_ENGINE_BY_ID 106 +# define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 170 +# define ENGINE_F_ENGINE_CTRL 142 +# define ENGINE_F_ENGINE_CTRL_CMD 178 +# define ENGINE_F_ENGINE_CTRL_CMD_STRING 171 +# define ENGINE_F_ENGINE_FINISH 107 +# define ENGINE_F_ENGINE_FREE_UTIL 108 +# define ENGINE_F_ENGINE_GET_CIPHER 185 +# define ENGINE_F_ENGINE_GET_DEFAULT_TYPE 177 +# define ENGINE_F_ENGINE_GET_DIGEST 186 +# define ENGINE_F_ENGINE_GET_NEXT 115 +# define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 193 +# define ENGINE_F_ENGINE_GET_PKEY_METH 192 +# define ENGINE_F_ENGINE_GET_PREV 116 +# define ENGINE_F_ENGINE_INIT 119 +# define ENGINE_F_ENGINE_LIST_ADD 120 +# define ENGINE_F_ENGINE_LIST_REMOVE 121 +# define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 150 +# define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 151 +# define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 194 +# define ENGINE_F_ENGINE_NEW 122 +# define ENGINE_F_ENGINE_REMOVE 123 +# define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189 +# define ENGINE_F_ENGINE_SET_DEFAULT_TYPE 126 +# define ENGINE_F_ENGINE_SET_ID 129 +# define ENGINE_F_ENGINE_SET_NAME 130 +# define ENGINE_F_ENGINE_TABLE_REGISTER 184 +# define ENGINE_F_ENGINE_UNLOAD_KEY 152 +# define ENGINE_F_ENGINE_UNLOCKED_FINISH 191 +# define ENGINE_F_ENGINE_UP_REF 190 +# define ENGINE_F_INT_CTRL_HELPER 172 +# define ENGINE_F_INT_ENGINE_CONFIGURE 188 +# define ENGINE_F_INT_ENGINE_MODULE_INIT 187 +# define ENGINE_F_LOG_MESSAGE 141 + +/* Reason codes. */ +# define ENGINE_R_ALREADY_LOADED 100 +# define ENGINE_R_ARGUMENT_IS_NOT_A_NUMBER 133 +# define ENGINE_R_CMD_NOT_EXECUTABLE 134 +# define ENGINE_R_COMMAND_TAKES_INPUT 135 +# define ENGINE_R_COMMAND_TAKES_NO_INPUT 136 +# define ENGINE_R_CONFLICTING_ENGINE_ID 103 +# define ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED 119 +# define ENGINE_R_DH_NOT_IMPLEMENTED 139 +# define ENGINE_R_DSA_NOT_IMPLEMENTED 140 +# define ENGINE_R_DSO_FAILURE 104 +# define ENGINE_R_DSO_NOT_FOUND 132 +# define ENGINE_R_ENGINES_SECTION_ERROR 148 +# define ENGINE_R_ENGINE_CONFIGURATION_ERROR 102 +# define ENGINE_R_ENGINE_IS_NOT_IN_LIST 105 +# define ENGINE_R_ENGINE_SECTION_ERROR 149 +# define ENGINE_R_FAILED_LOADING_PRIVATE_KEY 128 +# define ENGINE_R_FAILED_LOADING_PUBLIC_KEY 129 +# define ENGINE_R_FINISH_FAILED 106 +# define ENGINE_R_GET_HANDLE_FAILED 107 +# define ENGINE_R_ID_OR_NAME_MISSING 108 +# define ENGINE_R_INIT_FAILED 109 +# define ENGINE_R_INTERNAL_LIST_ERROR 110 +# define ENGINE_R_INVALID_ARGUMENT 143 +# define ENGINE_R_INVALID_CMD_NAME 137 +# define ENGINE_R_INVALID_CMD_NUMBER 138 +# define ENGINE_R_INVALID_INIT_VALUE 151 +# define ENGINE_R_INVALID_STRING 150 +# define ENGINE_R_NOT_INITIALISED 117 +# define ENGINE_R_NOT_LOADED 112 +# define ENGINE_R_NO_CONTROL_FUNCTION 120 +# define ENGINE_R_NO_INDEX 144 +# define ENGINE_R_NO_LOAD_FUNCTION 125 +# define ENGINE_R_NO_REFERENCE 130 +# define ENGINE_R_NO_SUCH_ENGINE 116 +# define ENGINE_R_NO_UNLOAD_FUNCTION 126 +# define ENGINE_R_PROVIDE_PARAMETERS 113 +# define ENGINE_R_RSA_NOT_IMPLEMENTED 141 +# define ENGINE_R_UNIMPLEMENTED_CIPHER 146 +# define ENGINE_R_UNIMPLEMENTED_DIGEST 147 +# define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 101 +# define ENGINE_R_VERSION_INCOMPATIBILITY 145 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/err.h b/3rdparty/openssl/include/openssl/err.h new file mode 100644 index 0000000..f423656 --- /dev/null +++ b/3rdparty/openssl/include/openssl/err.h @@ -0,0 +1,390 @@ +/* crypto/err/err.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_ERR_H +# define HEADER_ERR_H + +# include + +# ifndef OPENSSL_NO_FP_API +# include +# include +# endif + +# include +# ifndef OPENSSL_NO_BIO +# include +# endif +# ifndef OPENSSL_NO_LHASH +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_NO_ERR +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e) +# else +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0) +# endif + +# include + +# define ERR_TXT_MALLOCED 0x01 +# define ERR_TXT_STRING 0x02 + +# define ERR_FLAG_MARK 0x01 + +# define ERR_NUM_ERRORS 16 +typedef struct err_state_st { + CRYPTO_THREADID tid; + int err_flags[ERR_NUM_ERRORS]; + unsigned long err_buffer[ERR_NUM_ERRORS]; + char *err_data[ERR_NUM_ERRORS]; + int err_data_flags[ERR_NUM_ERRORS]; + const char *err_file[ERR_NUM_ERRORS]; + int err_line[ERR_NUM_ERRORS]; + int top, bottom; +} ERR_STATE; + +/* library */ +# define ERR_LIB_NONE 1 +# define ERR_LIB_SYS 2 +# define ERR_LIB_BN 3 +# define ERR_LIB_RSA 4 +# define ERR_LIB_DH 5 +# define ERR_LIB_EVP 6 +# define ERR_LIB_BUF 7 +# define ERR_LIB_OBJ 8 +# define ERR_LIB_PEM 9 +# define ERR_LIB_DSA 10 +# define ERR_LIB_X509 11 +/* #define ERR_LIB_METH 12 */ +# define ERR_LIB_ASN1 13 +# define ERR_LIB_CONF 14 +# define ERR_LIB_CRYPTO 15 +# define ERR_LIB_EC 16 +# define ERR_LIB_SSL 20 +/* #define ERR_LIB_SSL23 21 */ +/* #define ERR_LIB_SSL2 22 */ +/* #define ERR_LIB_SSL3 23 */ +/* #define ERR_LIB_RSAREF 30 */ +/* #define ERR_LIB_PROXY 31 */ +# define ERR_LIB_BIO 32 +# define ERR_LIB_PKCS7 33 +# define ERR_LIB_X509V3 34 +# define ERR_LIB_PKCS12 35 +# define ERR_LIB_RAND 36 +# define ERR_LIB_DSO 37 +# define ERR_LIB_ENGINE 38 +# define ERR_LIB_OCSP 39 +# define ERR_LIB_UI 40 +# define ERR_LIB_COMP 41 +# define ERR_LIB_ECDSA 42 +# define ERR_LIB_ECDH 43 +# define ERR_LIB_STORE 44 +# define ERR_LIB_FIPS 45 +# define ERR_LIB_CMS 46 +# define ERR_LIB_TS 47 +# define ERR_LIB_HMAC 48 +# define ERR_LIB_JPAKE 49 + +# define ERR_LIB_USER 128 + +# define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),__FILE__,__LINE__) +# define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),__FILE__,__LINE__) +# define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),__FILE__,__LINE__) +# define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),__FILE__,__LINE__) +# define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),__FILE__,__LINE__) +# define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),__FILE__,__LINE__) +# define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),__FILE__,__LINE__) +# define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),__FILE__,__LINE__) +# define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),__FILE__,__LINE__) +# define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),__FILE__,__LINE__) +# define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),__FILE__,__LINE__) +# define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),__FILE__,__LINE__) +# define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),__FILE__,__LINE__) +# define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),__FILE__,__LINE__) +# define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),__FILE__,__LINE__) +# define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),__FILE__,__LINE__) +# define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),__FILE__,__LINE__) +# define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),__FILE__,__LINE__) +# define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),__FILE__,__LINE__) +# define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),__FILE__,__LINE__) +# define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),__FILE__,__LINE__) +# define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),__FILE__,__LINE__) +# define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__) +# define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__) +# define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),__FILE__,__LINE__) +# define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__) +# define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),__FILE__,__LINE__) +# define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),__FILE__,__LINE__) +# define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),__FILE__,__LINE__) +# define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),__FILE__,__LINE__) +# define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__) +# define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__) +# define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__) + +/* + * Borland C seems too stupid to be able to shift and do longs in the + * pre-processor :-( + */ +# define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)*0x1000000)| \ + ((((unsigned long)f)&0xfffL)*0x1000)| \ + ((((unsigned long)r)&0xfffL))) +# define ERR_GET_LIB(l) (int)((((unsigned long)l)>>24L)&0xffL) +# define ERR_GET_FUNC(l) (int)((((unsigned long)l)>>12L)&0xfffL) +# define ERR_GET_REASON(l) (int)((l)&0xfffL) +# define ERR_FATAL_ERROR(l) (int)((l)&ERR_R_FATAL) + +/* OS functions */ +# define SYS_F_FOPEN 1 +# define SYS_F_CONNECT 2 +# define SYS_F_GETSERVBYNAME 3 +# define SYS_F_SOCKET 4 +# define SYS_F_IOCTLSOCKET 5 +# define SYS_F_BIND 6 +# define SYS_F_LISTEN 7 +# define SYS_F_ACCEPT 8 +# define SYS_F_WSASTARTUP 9/* Winsock stuff */ +# define SYS_F_OPENDIR 10 +# define SYS_F_FREAD 11 +# define SYS_F_FFLUSH 18 + +/* reasons */ +# define ERR_R_SYS_LIB ERR_LIB_SYS/* 2 */ +# define ERR_R_BN_LIB ERR_LIB_BN/* 3 */ +# define ERR_R_RSA_LIB ERR_LIB_RSA/* 4 */ +# define ERR_R_DH_LIB ERR_LIB_DH/* 5 */ +# define ERR_R_EVP_LIB ERR_LIB_EVP/* 6 */ +# define ERR_R_BUF_LIB ERR_LIB_BUF/* 7 */ +# define ERR_R_OBJ_LIB ERR_LIB_OBJ/* 8 */ +# define ERR_R_PEM_LIB ERR_LIB_PEM/* 9 */ +# define ERR_R_DSA_LIB ERR_LIB_DSA/* 10 */ +# define ERR_R_X509_LIB ERR_LIB_X509/* 11 */ +# define ERR_R_ASN1_LIB ERR_LIB_ASN1/* 13 */ +# define ERR_R_CONF_LIB ERR_LIB_CONF/* 14 */ +# define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO/* 15 */ +# define ERR_R_EC_LIB ERR_LIB_EC/* 16 */ +# define ERR_R_SSL_LIB ERR_LIB_SSL/* 20 */ +# define ERR_R_BIO_LIB ERR_LIB_BIO/* 32 */ +# define ERR_R_PKCS7_LIB ERR_LIB_PKCS7/* 33 */ +# define ERR_R_X509V3_LIB ERR_LIB_X509V3/* 34 */ +# define ERR_R_PKCS12_LIB ERR_LIB_PKCS12/* 35 */ +# define ERR_R_RAND_LIB ERR_LIB_RAND/* 36 */ +# define ERR_R_DSO_LIB ERR_LIB_DSO/* 37 */ +# define ERR_R_ENGINE_LIB ERR_LIB_ENGINE/* 38 */ +# define ERR_R_OCSP_LIB ERR_LIB_OCSP/* 39 */ +# define ERR_R_UI_LIB ERR_LIB_UI/* 40 */ +# define ERR_R_COMP_LIB ERR_LIB_COMP/* 41 */ +# define ERR_R_ECDSA_LIB ERR_LIB_ECDSA/* 42 */ +# define ERR_R_ECDH_LIB ERR_LIB_ECDH/* 43 */ +# define ERR_R_STORE_LIB ERR_LIB_STORE/* 44 */ +# define ERR_R_TS_LIB ERR_LIB_TS/* 45 */ + +# define ERR_R_NESTED_ASN1_ERROR 58 +# define ERR_R_BAD_ASN1_OBJECT_HEADER 59 +# define ERR_R_BAD_GET_ASN1_OBJECT_CALL 60 +# define ERR_R_EXPECTING_AN_ASN1_SEQUENCE 61 +# define ERR_R_ASN1_LENGTH_MISMATCH 62 +# define ERR_R_MISSING_ASN1_EOS 63 + +/* fatal error */ +# define ERR_R_FATAL 64 +# define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL) +# define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL) +# define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL) +# define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) +# define ERR_R_DISABLED (5|ERR_R_FATAL) + +/* + * 99 is the maximum possible ERR_R_... code, higher values are reserved for + * the individual libraries + */ + +typedef struct ERR_string_data_st { + unsigned long error; + const char *string; +} ERR_STRING_DATA; + +void ERR_put_error(int lib, int func, int reason, const char *file, int line); +void ERR_set_error_data(char *data, int flags); + +unsigned long ERR_get_error(void); +unsigned long ERR_get_error_line(const char **file, int *line); +unsigned long ERR_get_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_error(void); +unsigned long ERR_peek_error_line(const char **file, int *line); +unsigned long ERR_peek_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_last_error(void); +unsigned long ERR_peek_last_error_line(const char **file, int *line); +unsigned long ERR_peek_last_error_line_data(const char **file, int *line, + const char **data, int *flags); +void ERR_clear_error(void); +char *ERR_error_string(unsigned long e, char *buf); +void ERR_error_string_n(unsigned long e, char *buf, size_t len); +const char *ERR_lib_error_string(unsigned long e); +const char *ERR_func_error_string(unsigned long e); +const char *ERR_reason_error_string(unsigned long e); +void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u), + void *u); +# ifndef OPENSSL_NO_FP_API +void ERR_print_errors_fp(FILE *fp); +# endif +# ifndef OPENSSL_NO_BIO +void ERR_print_errors(BIO *bp); +# endif +void ERR_add_error_data(int num, ...); +void ERR_add_error_vdata(int num, va_list args); +void ERR_load_strings(int lib, ERR_STRING_DATA str[]); +void ERR_unload_strings(int lib, ERR_STRING_DATA str[]); +void ERR_load_ERR_strings(void); +void ERR_load_crypto_strings(void); +void ERR_free_strings(void); + +void ERR_remove_thread_state(const CRYPTO_THREADID *tid); +# ifndef OPENSSL_NO_DEPRECATED +void ERR_remove_state(unsigned long pid); /* if zero we look it up */ +# endif +ERR_STATE *ERR_get_state(void); + +# ifndef OPENSSL_NO_LHASH +LHASH_OF(ERR_STRING_DATA) *ERR_get_string_table(void); +LHASH_OF(ERR_STATE) *ERR_get_err_state_table(void); +void ERR_release_err_state_table(LHASH_OF(ERR_STATE) **hash); +# endif + +int ERR_get_next_error_library(void); + +int ERR_set_mark(void); +int ERR_pop_to_mark(void); + +/* Already defined in ossl_typ.h */ +/* typedef struct st_ERR_FNS ERR_FNS; */ +/* + * An application can use this function and provide the return value to + * loaded modules that should use the application's ERR state/functionality + */ +const ERR_FNS *ERR_get_implementation(void); +/* + * A loaded module should call this function prior to any ERR operations + * using the application's "ERR_FNS". + */ +int ERR_set_implementation(const ERR_FNS *fns); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/evp.h b/3rdparty/openssl/include/openssl/evp.h new file mode 100644 index 0000000..cf1de15 --- /dev/null +++ b/3rdparty/openssl/include/openssl/evp.h @@ -0,0 +1,1628 @@ +/* crypto/evp/evp.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_ENVELOPE_H +# define HEADER_ENVELOPE_H + +# ifdef OPENSSL_ALGORITHM_DEFINES +# include +# else +# define OPENSSL_ALGORITHM_DEFINES +# include +# undef OPENSSL_ALGORITHM_DEFINES +# endif + +# include + +# include + +# ifndef OPENSSL_NO_BIO +# include +# endif + +/*- +#define EVP_RC2_KEY_SIZE 16 +#define EVP_RC4_KEY_SIZE 16 +#define EVP_BLOWFISH_KEY_SIZE 16 +#define EVP_CAST5_KEY_SIZE 16 +#define EVP_RC5_32_12_16_KEY_SIZE 16 +*/ +# define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */ +# define EVP_MAX_KEY_LENGTH 64 +# define EVP_MAX_IV_LENGTH 16 +# define EVP_MAX_BLOCK_LENGTH 32 + +# define PKCS5_SALT_LEN 8 +/* Default PKCS#5 iteration count */ +# define PKCS5_DEFAULT_ITER 2048 + +# include + +# define EVP_PK_RSA 0x0001 +# define EVP_PK_DSA 0x0002 +# define EVP_PK_DH 0x0004 +# define EVP_PK_EC 0x0008 +# define EVP_PKT_SIGN 0x0010 +# define EVP_PKT_ENC 0x0020 +# define EVP_PKT_EXCH 0x0040 +# define EVP_PKS_RSA 0x0100 +# define EVP_PKS_DSA 0x0200 +# define EVP_PKS_EC 0x0400 + +# define EVP_PKEY_NONE NID_undef +# define EVP_PKEY_RSA NID_rsaEncryption +# define EVP_PKEY_RSA2 NID_rsa +# define EVP_PKEY_DSA NID_dsa +# define EVP_PKEY_DSA1 NID_dsa_2 +# define EVP_PKEY_DSA2 NID_dsaWithSHA +# define EVP_PKEY_DSA3 NID_dsaWithSHA1 +# define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 +# define EVP_PKEY_DH NID_dhKeyAgreement +# define EVP_PKEY_DHX NID_dhpublicnumber +# define EVP_PKEY_EC NID_X9_62_id_ecPublicKey +# define EVP_PKEY_HMAC NID_hmac +# define EVP_PKEY_CMAC NID_cmac + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Type needs to be a bit field Sub-type needs to be for variations on the + * method, as in, can it do arbitrary encryption.... + */ +struct evp_pkey_st { + int type; + int save_type; + int references; + const EVP_PKEY_ASN1_METHOD *ameth; + ENGINE *engine; + union { + char *ptr; +# ifndef OPENSSL_NO_RSA + struct rsa_st *rsa; /* RSA */ +# endif +# ifndef OPENSSL_NO_DSA + struct dsa_st *dsa; /* DSA */ +# endif +# ifndef OPENSSL_NO_DH + struct dh_st *dh; /* DH */ +# endif +# ifndef OPENSSL_NO_EC + struct ec_key_st *ec; /* ECC */ +# endif + } pkey; + int save_parameters; + STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ +} /* EVP_PKEY */ ; + +# define EVP_PKEY_MO_SIGN 0x0001 +# define EVP_PKEY_MO_VERIFY 0x0002 +# define EVP_PKEY_MO_ENCRYPT 0x0004 +# define EVP_PKEY_MO_DECRYPT 0x0008 + +# ifndef EVP_MD +struct env_md_st { + int type; + int pkey_type; + int md_size; + unsigned long flags; + int (*init) (EVP_MD_CTX *ctx); + int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); + int (*final) (EVP_MD_CTX *ctx, unsigned char *md); + int (*copy) (EVP_MD_CTX *to, const EVP_MD_CTX *from); + int (*cleanup) (EVP_MD_CTX *ctx); + /* FIXME: prototype these some day */ + int (*sign) (int type, const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, void *key); + int (*verify) (int type, const unsigned char *m, unsigned int m_length, + const unsigned char *sigbuf, unsigned int siglen, + void *key); + int required_pkey_type[5]; /* EVP_PKEY_xxx */ + int block_size; + int ctx_size; /* how big does the ctx->md_data need to be */ + /* control function */ + int (*md_ctrl) (EVP_MD_CTX *ctx, int cmd, int p1, void *p2); +} /* EVP_MD */ ; + +typedef int evp_sign_method(int type, const unsigned char *m, + unsigned int m_length, unsigned char *sigret, + unsigned int *siglen, void *key); +typedef int evp_verify_method(int type, const unsigned char *m, + unsigned int m_length, + const unsigned char *sigbuf, + unsigned int siglen, void *key); + +/* digest can only handle a single block */ +# define EVP_MD_FLAG_ONESHOT 0x0001 + +/* + * digest is a "clone" digest used + * which is a copy of an existing + * one for a specific public key type. + * EVP_dss1() etc + */ +# define EVP_MD_FLAG_PKEY_DIGEST 0x0002 + +/* Digest uses EVP_PKEY_METHOD for signing instead of MD specific signing */ + +# define EVP_MD_FLAG_PKEY_METHOD_SIGNATURE 0x0004 + +/* DigestAlgorithmIdentifier flags... */ + +# define EVP_MD_FLAG_DIGALGID_MASK 0x0018 + +/* NULL or absent parameter accepted. Use NULL */ + +# define EVP_MD_FLAG_DIGALGID_NULL 0x0000 + +/* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */ + +# define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008 + +/* Custom handling via ctrl */ + +# define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018 + +/* Note if suitable for use in FIPS mode */ +# define EVP_MD_FLAG_FIPS 0x0400 + +/* Digest ctrls */ + +# define EVP_MD_CTRL_DIGALGID 0x1 +# define EVP_MD_CTRL_MICALG 0x2 + +/* Minimum Algorithm specific ctrl value */ + +# define EVP_MD_CTRL_ALG_CTRL 0x1000 + +# define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0} + +# ifndef OPENSSL_NO_DSA +# define EVP_PKEY_DSA_method (evp_sign_method *)DSA_sign, \ + (evp_verify_method *)DSA_verify, \ + {EVP_PKEY_DSA,EVP_PKEY_DSA2,EVP_PKEY_DSA3, \ + EVP_PKEY_DSA4,0} +# else +# define EVP_PKEY_DSA_method EVP_PKEY_NULL_method +# endif + +# ifndef OPENSSL_NO_ECDSA +# define EVP_PKEY_ECDSA_method (evp_sign_method *)ECDSA_sign, \ + (evp_verify_method *)ECDSA_verify, \ + {EVP_PKEY_EC,0,0,0} +# else +# define EVP_PKEY_ECDSA_method EVP_PKEY_NULL_method +# endif + +# ifndef OPENSSL_NO_RSA +# define EVP_PKEY_RSA_method (evp_sign_method *)RSA_sign, \ + (evp_verify_method *)RSA_verify, \ + {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} +# define EVP_PKEY_RSA_ASN1_OCTET_STRING_method \ + (evp_sign_method *)RSA_sign_ASN1_OCTET_STRING, \ + (evp_verify_method *)RSA_verify_ASN1_OCTET_STRING, \ + {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} +# else +# define EVP_PKEY_RSA_method EVP_PKEY_NULL_method +# define EVP_PKEY_RSA_ASN1_OCTET_STRING_method EVP_PKEY_NULL_method +# endif + +# endif /* !EVP_MD */ + +struct env_md_ctx_st { + const EVP_MD *digest; + ENGINE *engine; /* functional reference if 'digest' is + * ENGINE-provided */ + unsigned long flags; + void *md_data; + /* Public key context for sign/verify */ + EVP_PKEY_CTX *pctx; + /* Update function: usually copied from EVP_MD */ + int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); +} /* EVP_MD_CTX */ ; + +/* values for EVP_MD_CTX flags */ + +# define EVP_MD_CTX_FLAG_ONESHOT 0x0001/* digest update will be + * called once only */ +# define EVP_MD_CTX_FLAG_CLEANED 0x0002/* context has already been + * cleaned */ +# define EVP_MD_CTX_FLAG_REUSE 0x0004/* Don't free up ctx->md_data + * in EVP_MD_CTX_cleanup */ +/* + * FIPS and pad options are ignored in 1.0.0, definitions are here so we + * don't accidentally reuse the values for other purposes. + */ + +# define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008/* Allow use of non FIPS + * digest in FIPS mode */ + +/* + * The following PAD options are also currently ignored in 1.0.0, digest + * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*() + * instead. + */ +# define EVP_MD_CTX_FLAG_PAD_MASK 0xF0/* RSA mode to use */ +# define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00/* PKCS#1 v1.5 mode */ +# define EVP_MD_CTX_FLAG_PAD_X931 0x10/* X9.31 mode */ +# define EVP_MD_CTX_FLAG_PAD_PSS 0x20/* PSS mode */ + +# define EVP_MD_CTX_FLAG_NO_INIT 0x0100/* Don't initialize md_data */ + +struct evp_cipher_st { + int nid; + int block_size; + /* Default value for variable length ciphers */ + int key_len; + int iv_len; + /* Various flags */ + unsigned long flags; + /* init key */ + int (*init) (EVP_CIPHER_CTX *ctx, const unsigned char *key, + const unsigned char *iv, int enc); + /* encrypt/decrypt data */ + int (*do_cipher) (EVP_CIPHER_CTX *ctx, unsigned char *out, + const unsigned char *in, size_t inl); + /* cleanup ctx */ + int (*cleanup) (EVP_CIPHER_CTX *); + /* how big ctx->cipher_data needs to be */ + int ctx_size; + /* Populate a ASN1_TYPE with parameters */ + int (*set_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); + /* Get parameters from a ASN1_TYPE */ + int (*get_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); + /* Miscellaneous operations */ + int (*ctrl) (EVP_CIPHER_CTX *, int type, int arg, void *ptr); + /* Application data */ + void *app_data; +} /* EVP_CIPHER */ ; + +/* Values for cipher flags */ + +/* Modes for ciphers */ + +# define EVP_CIPH_STREAM_CIPHER 0x0 +# define EVP_CIPH_ECB_MODE 0x1 +# define EVP_CIPH_CBC_MODE 0x2 +# define EVP_CIPH_CFB_MODE 0x3 +# define EVP_CIPH_OFB_MODE 0x4 +# define EVP_CIPH_CTR_MODE 0x5 +# define EVP_CIPH_GCM_MODE 0x6 +# define EVP_CIPH_CCM_MODE 0x7 +# define EVP_CIPH_XTS_MODE 0x10001 +# define EVP_CIPH_WRAP_MODE 0x10002 +# define EVP_CIPH_MODE 0xF0007 +/* Set if variable length cipher */ +# define EVP_CIPH_VARIABLE_LENGTH 0x8 +/* Set if the iv handling should be done by the cipher itself */ +# define EVP_CIPH_CUSTOM_IV 0x10 +/* Set if the cipher's init() function should be called if key is NULL */ +# define EVP_CIPH_ALWAYS_CALL_INIT 0x20 +/* Call ctrl() to init cipher parameters */ +# define EVP_CIPH_CTRL_INIT 0x40 +/* Don't use standard key length function */ +# define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80 +/* Don't use standard block padding */ +# define EVP_CIPH_NO_PADDING 0x100 +/* cipher handles random key generation */ +# define EVP_CIPH_RAND_KEY 0x200 +/* cipher has its own additional copying logic */ +# define EVP_CIPH_CUSTOM_COPY 0x400 +/* Allow use default ASN1 get/set iv */ +# define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 +/* Buffer length in bits not bytes: CFB1 mode only */ +# define EVP_CIPH_FLAG_LENGTH_BITS 0x2000 +/* Note if suitable for use in FIPS mode */ +# define EVP_CIPH_FLAG_FIPS 0x4000 +/* Allow non FIPS cipher in FIPS mode */ +# define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x8000 +/* + * Cipher handles any and all padding logic as well as finalisation. + */ +# define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000 +# define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000 +# define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000 + +/* + * Cipher context flag to indicate we can handle wrap mode: if allowed in + * older applications it could overflow buffers. + */ + +# define EVP_CIPHER_CTX_FLAG_WRAP_ALLOW 0x1 + +/* ctrl() values */ + +# define EVP_CTRL_INIT 0x0 +# define EVP_CTRL_SET_KEY_LENGTH 0x1 +# define EVP_CTRL_GET_RC2_KEY_BITS 0x2 +# define EVP_CTRL_SET_RC2_KEY_BITS 0x3 +# define EVP_CTRL_GET_RC5_ROUNDS 0x4 +# define EVP_CTRL_SET_RC5_ROUNDS 0x5 +# define EVP_CTRL_RAND_KEY 0x6 +# define EVP_CTRL_PBE_PRF_NID 0x7 +# define EVP_CTRL_COPY 0x8 +# define EVP_CTRL_GCM_SET_IVLEN 0x9 +# define EVP_CTRL_GCM_GET_TAG 0x10 +# define EVP_CTRL_GCM_SET_TAG 0x11 +# define EVP_CTRL_GCM_SET_IV_FIXED 0x12 +# define EVP_CTRL_GCM_IV_GEN 0x13 +# define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN +# define EVP_CTRL_CCM_GET_TAG EVP_CTRL_GCM_GET_TAG +# define EVP_CTRL_CCM_SET_TAG EVP_CTRL_GCM_SET_TAG +# define EVP_CTRL_CCM_SET_L 0x14 +# define EVP_CTRL_CCM_SET_MSGLEN 0x15 +/* + * AEAD cipher deduces payload length and returns number of bytes required to + * store MAC and eventual padding. Subsequent call to EVP_Cipher even + * appends/verifies MAC. + */ +# define EVP_CTRL_AEAD_TLS1_AAD 0x16 +/* Used by composite AEAD ciphers, no-op in GCM, CCM... */ +# define EVP_CTRL_AEAD_SET_MAC_KEY 0x17 +/* Set the GCM invocation field, decrypt only */ +# define EVP_CTRL_GCM_SET_IV_INV 0x18 + +# define EVP_CTRL_TLS1_1_MULTIBLOCK_AAD 0x19 +# define EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT 0x1a +# define EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT 0x1b +# define EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE 0x1c + +/* RFC 5246 defines additional data to be 13 bytes in length */ +# define EVP_AEAD_TLS1_AAD_LEN 13 + +typedef struct { + unsigned char *out; + const unsigned char *inp; + size_t len; + unsigned int interleave; +} EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM; + +/* GCM TLS constants */ +/* Length of fixed part of IV derived from PRF */ +# define EVP_GCM_TLS_FIXED_IV_LEN 4 +/* Length of explicit part of IV part of TLS records */ +# define EVP_GCM_TLS_EXPLICIT_IV_LEN 8 +/* Length of tag for TLS */ +# define EVP_GCM_TLS_TAG_LEN 16 + +typedef struct evp_cipher_info_st { + const EVP_CIPHER *cipher; + unsigned char iv[EVP_MAX_IV_LENGTH]; +} EVP_CIPHER_INFO; + +struct evp_cipher_ctx_st { + const EVP_CIPHER *cipher; + ENGINE *engine; /* functional reference if 'cipher' is + * ENGINE-provided */ + int encrypt; /* encrypt or decrypt */ + int buf_len; /* number we have left */ + unsigned char oiv[EVP_MAX_IV_LENGTH]; /* original iv */ + unsigned char iv[EVP_MAX_IV_LENGTH]; /* working iv */ + unsigned char buf[EVP_MAX_BLOCK_LENGTH]; /* saved partial block */ + int num; /* used by cfb/ofb/ctr mode */ + void *app_data; /* application stuff */ + int key_len; /* May change for variable length cipher */ + unsigned long flags; /* Various flags */ + void *cipher_data; /* per EVP data */ + int final_used; + int block_mask; + unsigned char final[EVP_MAX_BLOCK_LENGTH]; /* possible final block */ +} /* EVP_CIPHER_CTX */ ; + +typedef struct evp_Encode_Ctx_st { + /* number saved in a partial encode/decode */ + int num; + /* + * The length is either the output line length (in input bytes) or the + * shortest input line length that is ok. Once decoding begins, the + * length is adjusted up each time a longer line is decoded + */ + int length; + /* data to encode */ + unsigned char enc_data[80]; + /* number read on current line */ + int line_num; + int expect_nl; +} EVP_ENCODE_CTX; + +/* Password based encryption function */ +typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, + int passlen, ASN1_TYPE *param, + const EVP_CIPHER *cipher, const EVP_MD *md, + int en_de); + +# ifndef OPENSSL_NO_RSA +# define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ + (char *)(rsa)) +# endif + +# ifndef OPENSSL_NO_DSA +# define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ + (char *)(dsa)) +# endif + +# ifndef OPENSSL_NO_DH +# define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ + (char *)(dh)) +# endif + +# ifndef OPENSSL_NO_EC +# define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\ + (char *)(eckey)) +# endif + +/* Add some extra combinations */ +# define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a)) +# define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a)) +# define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) +# define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) + +int EVP_MD_type(const EVP_MD *md); +# define EVP_MD_nid(e) EVP_MD_type(e) +# define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) +int EVP_MD_pkey_type(const EVP_MD *md); +int EVP_MD_size(const EVP_MD *md); +int EVP_MD_block_size(const EVP_MD *md); +unsigned long EVP_MD_flags(const EVP_MD *md); + +const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); +# define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) +# define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) +# define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) + +int EVP_CIPHER_nid(const EVP_CIPHER *cipher); +# define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e)) +int EVP_CIPHER_block_size(const EVP_CIPHER *cipher); +int EVP_CIPHER_key_length(const EVP_CIPHER *cipher); +int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher); +unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher); +# define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE) + +const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); +void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); +void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); +# define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) +unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx); +# define EVP_CIPHER_CTX_mode(e) (EVP_CIPHER_CTX_flags(e) & EVP_CIPH_MODE) + +# define EVP_ENCODE_LENGTH(l) (((l+2)/3*4)+(l/48+1)*2+80) +# define EVP_DECODE_LENGTH(l) ((l+3)/4*3+80) + +# define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +# define EVP_SignInit(a,b) EVP_DigestInit(a,b) +# define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +# define EVP_VerifyInit(a,b) EVP_DigestInit(a,b) +# define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) +# define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) +# define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) + +# ifdef CONST_STRICT +void BIO_set_md(BIO *, const EVP_MD *md); +# else +# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)md) +# endif +# define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)mdp) +# define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(char *)mdcp) +# define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(char *)mdcp) +# define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL) +# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(char *)c_pp) + +int EVP_Cipher(EVP_CIPHER_CTX *c, + unsigned char *out, const unsigned char *in, unsigned int inl); + +# define EVP_add_cipher_alias(n,alias) \ + OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n)) +# define EVP_add_digest_alias(n,alias) \ + OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n)) +# define EVP_delete_cipher_alias(alias) \ + OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS); +# define EVP_delete_digest_alias(alias) \ + OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); + +void EVP_MD_CTX_init(EVP_MD_CTX *ctx); +int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx); +EVP_MD_CTX *EVP_MD_CTX_create(void); +void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx); +int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in); +void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); +void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); +int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); +int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl); +int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt); +int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); +int EVP_Digest(const void *data, size_t count, + unsigned char *md, unsigned int *size, const EVP_MD *type, + ENGINE *impl); + +int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in); +int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); +int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); + +int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify); +int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, + const char *prompt, int verify); +void EVP_set_pw_prompt(const char *prompt); +char *EVP_get_pw_prompt(void); + +int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, + const unsigned char *salt, const unsigned char *data, + int datal, int count, unsigned char *key, + unsigned char *iv); + +void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags); +void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags); +int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags); + +int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + ENGINE *impl, const unsigned char *key, + const unsigned char *iv); +int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); +int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + ENGINE *impl, const unsigned char *key, + const unsigned char *iv); +int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); +int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); + +int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv, + int enc); +int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + ENGINE *impl, const unsigned char *key, + const unsigned char *iv, int enc); +int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); +int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); + +int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s, + EVP_PKEY *pkey); + +int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, + unsigned int siglen, EVP_PKEY *pkey); + +int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); +int EVP_DigestSignFinal(EVP_MD_CTX *ctx, + unsigned char *sigret, size_t *siglen); + +int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); +int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, + const unsigned char *sig, size_t siglen); + +int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + const unsigned char *ek, int ekl, const unsigned char *iv, + EVP_PKEY *priv); +int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + unsigned char **ek, int *ekl, unsigned char *iv, + EVP_PKEY **pubk, int npubk); +int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); +void EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); +int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n); + +void EVP_DecodeInit(EVP_ENCODE_CTX *ctx); +int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned + char *out, int *outl); +int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); + +void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a); +int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a); +EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); +void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a); +int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); +int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad); +int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); +int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key); + +# ifndef OPENSSL_NO_BIO +BIO_METHOD *BIO_f_md(void); +BIO_METHOD *BIO_f_base64(void); +BIO_METHOD *BIO_f_cipher(void); +BIO_METHOD *BIO_f_reliable(void); +void BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k, + const unsigned char *i, int enc); +# endif + +const EVP_MD *EVP_md_null(void); +# ifndef OPENSSL_NO_MD2 +const EVP_MD *EVP_md2(void); +# endif +# ifndef OPENSSL_NO_MD4 +const EVP_MD *EVP_md4(void); +# endif +# ifndef OPENSSL_NO_MD5 +const EVP_MD *EVP_md5(void); +# endif +# ifndef OPENSSL_NO_SHA +const EVP_MD *EVP_sha(void); +const EVP_MD *EVP_sha1(void); +const EVP_MD *EVP_dss(void); +const EVP_MD *EVP_dss1(void); +const EVP_MD *EVP_ecdsa(void); +# endif +# ifndef OPENSSL_NO_SHA256 +const EVP_MD *EVP_sha224(void); +const EVP_MD *EVP_sha256(void); +# endif +# ifndef OPENSSL_NO_SHA512 +const EVP_MD *EVP_sha384(void); +const EVP_MD *EVP_sha512(void); +# endif +# ifndef OPENSSL_NO_MDC2 +const EVP_MD *EVP_mdc2(void); +# endif +# ifndef OPENSSL_NO_RIPEMD +const EVP_MD *EVP_ripemd160(void); +# endif +# ifndef OPENSSL_NO_WHIRLPOOL +const EVP_MD *EVP_whirlpool(void); +# endif +const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ +# ifndef OPENSSL_NO_DES +const EVP_CIPHER *EVP_des_ecb(void); +const EVP_CIPHER *EVP_des_ede(void); +const EVP_CIPHER *EVP_des_ede3(void); +const EVP_CIPHER *EVP_des_ede_ecb(void); +const EVP_CIPHER *EVP_des_ede3_ecb(void); +const EVP_CIPHER *EVP_des_cfb64(void); +# define EVP_des_cfb EVP_des_cfb64 +const EVP_CIPHER *EVP_des_cfb1(void); +const EVP_CIPHER *EVP_des_cfb8(void); +const EVP_CIPHER *EVP_des_ede_cfb64(void); +# define EVP_des_ede_cfb EVP_des_ede_cfb64 +# if 0 +const EVP_CIPHER *EVP_des_ede_cfb1(void); +const EVP_CIPHER *EVP_des_ede_cfb8(void); +# endif +const EVP_CIPHER *EVP_des_ede3_cfb64(void); +# define EVP_des_ede3_cfb EVP_des_ede3_cfb64 +const EVP_CIPHER *EVP_des_ede3_cfb1(void); +const EVP_CIPHER *EVP_des_ede3_cfb8(void); +const EVP_CIPHER *EVP_des_ofb(void); +const EVP_CIPHER *EVP_des_ede_ofb(void); +const EVP_CIPHER *EVP_des_ede3_ofb(void); +const EVP_CIPHER *EVP_des_cbc(void); +const EVP_CIPHER *EVP_des_ede_cbc(void); +const EVP_CIPHER *EVP_des_ede3_cbc(void); +const EVP_CIPHER *EVP_desx_cbc(void); +const EVP_CIPHER *EVP_des_ede3_wrap(void); +/* + * This should now be supported through the dev_crypto ENGINE. But also, why + * are rc4 and md5 declarations made here inside a "NO_DES" precompiler + * branch? + */ +# if 0 +# ifdef OPENSSL_OPENBSD_DEV_CRYPTO +const EVP_CIPHER *EVP_dev_crypto_des_ede3_cbc(void); +const EVP_CIPHER *EVP_dev_crypto_rc4(void); +const EVP_MD *EVP_dev_crypto_md5(void); +# endif +# endif +# endif +# ifndef OPENSSL_NO_RC4 +const EVP_CIPHER *EVP_rc4(void); +const EVP_CIPHER *EVP_rc4_40(void); +# ifndef OPENSSL_NO_MD5 +const EVP_CIPHER *EVP_rc4_hmac_md5(void); +# endif +# endif +# ifndef OPENSSL_NO_IDEA +const EVP_CIPHER *EVP_idea_ecb(void); +const EVP_CIPHER *EVP_idea_cfb64(void); +# define EVP_idea_cfb EVP_idea_cfb64 +const EVP_CIPHER *EVP_idea_ofb(void); +const EVP_CIPHER *EVP_idea_cbc(void); +# endif +# ifndef OPENSSL_NO_RC2 +const EVP_CIPHER *EVP_rc2_ecb(void); +const EVP_CIPHER *EVP_rc2_cbc(void); +const EVP_CIPHER *EVP_rc2_40_cbc(void); +const EVP_CIPHER *EVP_rc2_64_cbc(void); +const EVP_CIPHER *EVP_rc2_cfb64(void); +# define EVP_rc2_cfb EVP_rc2_cfb64 +const EVP_CIPHER *EVP_rc2_ofb(void); +# endif +# ifndef OPENSSL_NO_BF +const EVP_CIPHER *EVP_bf_ecb(void); +const EVP_CIPHER *EVP_bf_cbc(void); +const EVP_CIPHER *EVP_bf_cfb64(void); +# define EVP_bf_cfb EVP_bf_cfb64 +const EVP_CIPHER *EVP_bf_ofb(void); +# endif +# ifndef OPENSSL_NO_CAST +const EVP_CIPHER *EVP_cast5_ecb(void); +const EVP_CIPHER *EVP_cast5_cbc(void); +const EVP_CIPHER *EVP_cast5_cfb64(void); +# define EVP_cast5_cfb EVP_cast5_cfb64 +const EVP_CIPHER *EVP_cast5_ofb(void); +# endif +# ifndef OPENSSL_NO_RC5 +const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void); +const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void); +const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void); +# define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64 +const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void); +# endif +# ifndef OPENSSL_NO_AES +const EVP_CIPHER *EVP_aes_128_ecb(void); +const EVP_CIPHER *EVP_aes_128_cbc(void); +const EVP_CIPHER *EVP_aes_128_cfb1(void); +const EVP_CIPHER *EVP_aes_128_cfb8(void); +const EVP_CIPHER *EVP_aes_128_cfb128(void); +# define EVP_aes_128_cfb EVP_aes_128_cfb128 +const EVP_CIPHER *EVP_aes_128_ofb(void); +const EVP_CIPHER *EVP_aes_128_ctr(void); +const EVP_CIPHER *EVP_aes_128_ccm(void); +const EVP_CIPHER *EVP_aes_128_gcm(void); +const EVP_CIPHER *EVP_aes_128_xts(void); +const EVP_CIPHER *EVP_aes_128_wrap(void); +const EVP_CIPHER *EVP_aes_192_ecb(void); +const EVP_CIPHER *EVP_aes_192_cbc(void); +const EVP_CIPHER *EVP_aes_192_cfb1(void); +const EVP_CIPHER *EVP_aes_192_cfb8(void); +const EVP_CIPHER *EVP_aes_192_cfb128(void); +# define EVP_aes_192_cfb EVP_aes_192_cfb128 +const EVP_CIPHER *EVP_aes_192_ofb(void); +const EVP_CIPHER *EVP_aes_192_ctr(void); +const EVP_CIPHER *EVP_aes_192_ccm(void); +const EVP_CIPHER *EVP_aes_192_gcm(void); +const EVP_CIPHER *EVP_aes_192_wrap(void); +const EVP_CIPHER *EVP_aes_256_ecb(void); +const EVP_CIPHER *EVP_aes_256_cbc(void); +const EVP_CIPHER *EVP_aes_256_cfb1(void); +const EVP_CIPHER *EVP_aes_256_cfb8(void); +const EVP_CIPHER *EVP_aes_256_cfb128(void); +# define EVP_aes_256_cfb EVP_aes_256_cfb128 +const EVP_CIPHER *EVP_aes_256_ofb(void); +const EVP_CIPHER *EVP_aes_256_ctr(void); +const EVP_CIPHER *EVP_aes_256_ccm(void); +const EVP_CIPHER *EVP_aes_256_gcm(void); +const EVP_CIPHER *EVP_aes_256_xts(void); +const EVP_CIPHER *EVP_aes_256_wrap(void); +# if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1) +const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); +const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void); +# endif +# ifndef OPENSSL_NO_SHA256 +const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void); +const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void); +# endif +# endif +# ifndef OPENSSL_NO_CAMELLIA +const EVP_CIPHER *EVP_camellia_128_ecb(void); +const EVP_CIPHER *EVP_camellia_128_cbc(void); +const EVP_CIPHER *EVP_camellia_128_cfb1(void); +const EVP_CIPHER *EVP_camellia_128_cfb8(void); +const EVP_CIPHER *EVP_camellia_128_cfb128(void); +# define EVP_camellia_128_cfb EVP_camellia_128_cfb128 +const EVP_CIPHER *EVP_camellia_128_ofb(void); +const EVP_CIPHER *EVP_camellia_192_ecb(void); +const EVP_CIPHER *EVP_camellia_192_cbc(void); +const EVP_CIPHER *EVP_camellia_192_cfb1(void); +const EVP_CIPHER *EVP_camellia_192_cfb8(void); +const EVP_CIPHER *EVP_camellia_192_cfb128(void); +# define EVP_camellia_192_cfb EVP_camellia_192_cfb128 +const EVP_CIPHER *EVP_camellia_192_ofb(void); +const EVP_CIPHER *EVP_camellia_256_ecb(void); +const EVP_CIPHER *EVP_camellia_256_cbc(void); +const EVP_CIPHER *EVP_camellia_256_cfb1(void); +const EVP_CIPHER *EVP_camellia_256_cfb8(void); +const EVP_CIPHER *EVP_camellia_256_cfb128(void); +# define EVP_camellia_256_cfb EVP_camellia_256_cfb128 +const EVP_CIPHER *EVP_camellia_256_ofb(void); +# endif + +# ifndef OPENSSL_NO_SEED +const EVP_CIPHER *EVP_seed_ecb(void); +const EVP_CIPHER *EVP_seed_cbc(void); +const EVP_CIPHER *EVP_seed_cfb128(void); +# define EVP_seed_cfb EVP_seed_cfb128 +const EVP_CIPHER *EVP_seed_ofb(void); +# endif + +void OPENSSL_add_all_algorithms_noconf(void); +void OPENSSL_add_all_algorithms_conf(void); + +# ifdef OPENSSL_LOAD_CONF +# define OpenSSL_add_all_algorithms() \ + OPENSSL_add_all_algorithms_conf() +# else +# define OpenSSL_add_all_algorithms() \ + OPENSSL_add_all_algorithms_noconf() +# endif + +void OpenSSL_add_all_ciphers(void); +void OpenSSL_add_all_digests(void); +# define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms() +# define SSLeay_add_all_ciphers() OpenSSL_add_all_ciphers() +# define SSLeay_add_all_digests() OpenSSL_add_all_digests() + +int EVP_add_cipher(const EVP_CIPHER *cipher); +int EVP_add_digest(const EVP_MD *digest); + +const EVP_CIPHER *EVP_get_cipherbyname(const char *name); +const EVP_MD *EVP_get_digestbyname(const char *name); +void EVP_cleanup(void); + +void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph, + const char *from, const char *to, void *x), + void *arg); +void EVP_CIPHER_do_all_sorted(void (*fn) + (const EVP_CIPHER *ciph, const char *from, + const char *to, void *x), void *arg); + +void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph, + const char *from, const char *to, void *x), + void *arg); +void EVP_MD_do_all_sorted(void (*fn) + (const EVP_MD *ciph, const char *from, + const char *to, void *x), void *arg); + +int EVP_PKEY_decrypt_old(unsigned char *dec_key, + const unsigned char *enc_key, int enc_key_len, + EVP_PKEY *private_key); +int EVP_PKEY_encrypt_old(unsigned char *enc_key, + const unsigned char *key, int key_len, + EVP_PKEY *pub_key); +int EVP_PKEY_type(int type); +int EVP_PKEY_id(const EVP_PKEY *pkey); +int EVP_PKEY_base_id(const EVP_PKEY *pkey); +int EVP_PKEY_bits(EVP_PKEY *pkey); +int EVP_PKEY_size(EVP_PKEY *pkey); +int EVP_PKEY_set_type(EVP_PKEY *pkey, int type); +int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); +int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key); +void *EVP_PKEY_get0(EVP_PKEY *pkey); + +# ifndef OPENSSL_NO_RSA +struct rsa_st; +int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); +struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_DSA +struct dsa_st; +int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); +struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_DH +struct dh_st; +int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); +struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_EC +struct ec_key_st; +int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); +struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); +# endif + +EVP_PKEY *EVP_PKEY_new(void); +void EVP_PKEY_free(EVP_PKEY *pkey); + +EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); + +EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); + +int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); +int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); +int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode); +int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); +int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); +int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); + +int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); + +int EVP_CIPHER_type(const EVP_CIPHER *ctx); + +/* calls methods */ +int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); +int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); + +/* These are used by EVP_CIPHER methods */ +int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); +int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); + +/* PKCS5 password based encryption */ +int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md, int en_de); +int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, + const unsigned char *salt, int saltlen, int iter, + int keylen, unsigned char *out); +int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, + const unsigned char *salt, int saltlen, int iter, + const EVP_MD *digest, int keylen, unsigned char *out); +int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md, int en_de); + +void PKCS5_PBE_add(void); + +int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, + ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); + +/* PBE type */ + +/* Can appear as the outermost AlgorithmIdentifier */ +# define EVP_PBE_TYPE_OUTER 0x0 +/* Is an PRF type OID */ +# define EVP_PBE_TYPE_PRF 0x1 + +int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, + int md_nid, EVP_PBE_KEYGEN *keygen); +int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, + EVP_PBE_KEYGEN *keygen); +int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid, + EVP_PBE_KEYGEN **pkeygen); +void EVP_PBE_cleanup(void); + +# define ASN1_PKEY_ALIAS 0x1 +# define ASN1_PKEY_DYNAMIC 0x2 +# define ASN1_PKEY_SIGPARAM_NULL 0x4 + +# define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1 +# define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2 +# define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3 +# define ASN1_PKEY_CTRL_CMS_SIGN 0x5 +# define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7 +# define ASN1_PKEY_CTRL_CMS_RI_TYPE 0x8 + +int EVP_PKEY_asn1_get_count(void); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, + const char *str, int len); +int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth); +int EVP_PKEY_asn1_add_alias(int to, int from); +int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, + int *ppkey_flags, const char **pinfo, + const char **ppem_str, + const EVP_PKEY_ASN1_METHOD *ameth); + +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(EVP_PKEY *pkey); +EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, + const char *pem_str, + const char *info); +void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, + const EVP_PKEY_ASN1_METHOD *src); +void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); +void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, + int (*pub_decode) (EVP_PKEY *pk, + X509_PUBKEY *pub), + int (*pub_encode) (X509_PUBKEY *pub, + const EVP_PKEY *pk), + int (*pub_cmp) (const EVP_PKEY *a, + const EVP_PKEY *b), + int (*pub_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx), + int (*pkey_size) (const EVP_PKEY *pk), + int (*pkey_bits) (const EVP_PKEY *pk)); +void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, + int (*priv_decode) (EVP_PKEY *pk, + PKCS8_PRIV_KEY_INFO + *p8inf), + int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8, + const EVP_PKEY *pk), + int (*priv_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, + ASN1_PCTX *pctx)); +void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, + int (*param_decode) (EVP_PKEY *pkey, + const unsigned char **pder, + int derlen), + int (*param_encode) (const EVP_PKEY *pkey, + unsigned char **pder), + int (*param_missing) (const EVP_PKEY *pk), + int (*param_copy) (EVP_PKEY *to, + const EVP_PKEY *from), + int (*param_cmp) (const EVP_PKEY *a, + const EVP_PKEY *b), + int (*param_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, + ASN1_PCTX *pctx)); + +void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, + void (*pkey_free) (EVP_PKEY *pkey)); +void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, + int (*pkey_ctrl) (EVP_PKEY *pkey, int op, + long arg1, void *arg2)); +void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, + int (*item_verify) (EVP_MD_CTX *ctx, + const ASN1_ITEM *it, + void *asn, + X509_ALGOR *a, + ASN1_BIT_STRING *sig, + EVP_PKEY *pkey), + int (*item_sign) (EVP_MD_CTX *ctx, + const ASN1_ITEM *it, + void *asn, + X509_ALGOR *alg1, + X509_ALGOR *alg2, + ASN1_BIT_STRING *sig)); + +# define EVP_PKEY_OP_UNDEFINED 0 +# define EVP_PKEY_OP_PARAMGEN (1<<1) +# define EVP_PKEY_OP_KEYGEN (1<<2) +# define EVP_PKEY_OP_SIGN (1<<3) +# define EVP_PKEY_OP_VERIFY (1<<4) +# define EVP_PKEY_OP_VERIFYRECOVER (1<<5) +# define EVP_PKEY_OP_SIGNCTX (1<<6) +# define EVP_PKEY_OP_VERIFYCTX (1<<7) +# define EVP_PKEY_OP_ENCRYPT (1<<8) +# define EVP_PKEY_OP_DECRYPT (1<<9) +# define EVP_PKEY_OP_DERIVE (1<<10) + +# define EVP_PKEY_OP_TYPE_SIG \ + (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \ + | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX) + +# define EVP_PKEY_OP_TYPE_CRYPT \ + (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT) + +# define EVP_PKEY_OP_TYPE_NOGEN \ + (EVP_PKEY_OP_SIG | EVP_PKEY_OP_CRYPT | EVP_PKEY_OP_DERIVE) + +# define EVP_PKEY_OP_TYPE_GEN \ + (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) + +# define EVP_PKEY_CTX_set_signature_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_signature_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_GET_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTRL_MD 1 +# define EVP_PKEY_CTRL_PEER_KEY 2 + +# define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3 +# define EVP_PKEY_CTRL_PKCS7_DECRYPT 4 + +# define EVP_PKEY_CTRL_PKCS7_SIGN 5 + +# define EVP_PKEY_CTRL_SET_MAC_KEY 6 + +# define EVP_PKEY_CTRL_DIGESTINIT 7 + +/* Used by GOST key encryption in TLS */ +# define EVP_PKEY_CTRL_SET_IV 8 + +# define EVP_PKEY_CTRL_CMS_ENCRYPT 9 +# define EVP_PKEY_CTRL_CMS_DECRYPT 10 +# define EVP_PKEY_CTRL_CMS_SIGN 11 + +# define EVP_PKEY_CTRL_CIPHER 12 + +# define EVP_PKEY_CTRL_GET_MD 13 + +# define EVP_PKEY_ALG_CTRL 0x1000 + +# define EVP_PKEY_FLAG_AUTOARGLEN 2 +/* + * Method handles all operations: don't assume any digest related defaults. + */ +# define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4 + +const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type); +EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags); +void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, + const EVP_PKEY_METHOD *meth); +void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src); +void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth); +int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth); + +EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, + int cmd, int p1, void *p2); +int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, + const char *value); + +int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); + +EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, + const unsigned char *key, int keylen); + +void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); +EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); + +EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); + +void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, + const unsigned char *sig, size_t siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, + unsigned char *rout, size_t *routlen, + const unsigned char *sig, size_t siglen); +int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, + unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); +int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, + unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); + +int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer); +int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); + +typedef int EVP_PKEY_gen_cb (EVP_PKEY_CTX *ctx); + +int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); +int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); + +void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); +EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); + +void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, + int (*init) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, + int (*copy) (EVP_PKEY_CTX *dst, + EVP_PKEY_CTX *src)); + +void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, + void (*cleanup) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, + int (*paramgen_init) (EVP_PKEY_CTX *ctx), + int (*paramgen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, + int (*keygen_init) (EVP_PKEY_CTX *ctx), + int (*keygen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, + int (*sign_init) (EVP_PKEY_CTX *ctx), + int (*sign) (EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, + int (*verify_init) (EVP_PKEY_CTX *ctx), + int (*verify) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, + int (*verify_recover_init) (EVP_PKEY_CTX + *ctx), + int (*verify_recover) (EVP_PKEY_CTX + *ctx, + unsigned char + *sig, + size_t *siglen, + const unsigned + char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, + int (*signctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (*signctx) (EVP_PKEY_CTX *ctx, + unsigned char *sig, + size_t *siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, + int (*verifyctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (*verifyctx) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + int siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, + int (*encrypt_init) (EVP_PKEY_CTX *ctx), + int (*encryptfn) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, + int (*decrypt_init) (EVP_PKEY_CTX *ctx), + int (*decrypt) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, + int (*derive_init) (EVP_PKEY_CTX *ctx), + int (*derive) (EVP_PKEY_CTX *ctx, + unsigned char *key, + size_t *keylen)); + +void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, + int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1, + void *p2), + int (*ctrl_str) (EVP_PKEY_CTX *ctx, + const char *type, + const char *value)); + +void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth, + int (**pinit) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_get_copy(EVP_PKEY_METHOD *pmeth, + int (**pcopy) (EVP_PKEY_CTX *dst, + EVP_PKEY_CTX *src)); + +void EVP_PKEY_meth_get_cleanup(EVP_PKEY_METHOD *pmeth, + void (**pcleanup) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_get_paramgen(EVP_PKEY_METHOD *pmeth, + int (**pparamgen_init) (EVP_PKEY_CTX *ctx), + int (**pparamgen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_keygen(EVP_PKEY_METHOD *pmeth, + int (**pkeygen_init) (EVP_PKEY_CTX *ctx), + int (**pkeygen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, + int (**psign_init) (EVP_PKEY_CTX *ctx), + int (**psign) (EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_verify(EVP_PKEY_METHOD *pmeth, + int (**pverify_init) (EVP_PKEY_CTX *ctx), + int (**pverify) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_verify_recover(EVP_PKEY_METHOD *pmeth, + int (**pverify_recover_init) (EVP_PKEY_CTX + *ctx), + int (**pverify_recover) (EVP_PKEY_CTX + *ctx, + unsigned char + *sig, + size_t *siglen, + const unsigned + char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_signctx(EVP_PKEY_METHOD *pmeth, + int (**psignctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (**psignctx) (EVP_PKEY_CTX *ctx, + unsigned char *sig, + size_t *siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_get_verifyctx(EVP_PKEY_METHOD *pmeth, + int (**pverifyctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (**pverifyctx) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + int siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_get_encrypt(EVP_PKEY_METHOD *pmeth, + int (**pencrypt_init) (EVP_PKEY_CTX *ctx), + int (**pencryptfn) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth, + int (**pdecrypt_init) (EVP_PKEY_CTX *ctx), + int (**pdecrypt) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_get_derive(EVP_PKEY_METHOD *pmeth, + int (**pderive_init) (EVP_PKEY_CTX *ctx), + int (**pderive) (EVP_PKEY_CTX *ctx, + unsigned char *key, + size_t *keylen)); + +void EVP_PKEY_meth_get_ctrl(EVP_PKEY_METHOD *pmeth, + int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1, + void *p2), + int (**pctrl_str) (EVP_PKEY_CTX *ctx, + const char *type, + const char *value)); + +void EVP_add_alg_module(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +void ERR_load_EVP_strings(void); + +/* Error codes for the EVP functions. */ + +/* Function codes. */ +# define EVP_F_AESNI_INIT_KEY 165 +# define EVP_F_AESNI_XTS_CIPHER 176 +# define EVP_F_AES_INIT_KEY 133 +# define EVP_F_AES_T4_INIT_KEY 178 +# define EVP_F_AES_XTS 172 +# define EVP_F_AES_XTS_CIPHER 175 +# define EVP_F_ALG_MODULE_INIT 177 +# define EVP_F_CAMELLIA_INIT_KEY 159 +# define EVP_F_CMAC_INIT 173 +# define EVP_F_CMLL_T4_INIT_KEY 179 +# define EVP_F_D2I_PKEY 100 +# define EVP_F_DO_SIGVER_INIT 161 +# define EVP_F_DSAPKEY2PKCS8 134 +# define EVP_F_DSA_PKEY2PKCS8 135 +# define EVP_F_ECDSA_PKEY2PKCS8 129 +# define EVP_F_ECKEY_PKEY2PKCS8 132 +# define EVP_F_EVP_CIPHERINIT_EX 123 +# define EVP_F_EVP_CIPHER_CTX_COPY 163 +# define EVP_F_EVP_CIPHER_CTX_CTRL 124 +# define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 +# define EVP_F_EVP_DECRYPTFINAL_EX 101 +# define EVP_F_EVP_DIGESTINIT_EX 128 +# define EVP_F_EVP_ENCRYPTFINAL_EX 127 +# define EVP_F_EVP_MD_CTX_COPY_EX 110 +# define EVP_F_EVP_MD_SIZE 162 +# define EVP_F_EVP_OPENINIT 102 +# define EVP_F_EVP_PBE_ALG_ADD 115 +# define EVP_F_EVP_PBE_ALG_ADD_TYPE 160 +# define EVP_F_EVP_PBE_CIPHERINIT 116 +# define EVP_F_EVP_PKCS82PKEY 111 +# define EVP_F_EVP_PKCS82PKEY_BROKEN 136 +# define EVP_F_EVP_PKEY2PKCS8_BROKEN 113 +# define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 +# define EVP_F_EVP_PKEY_CTX_CTRL 137 +# define EVP_F_EVP_PKEY_CTX_CTRL_STR 150 +# define EVP_F_EVP_PKEY_CTX_DUP 156 +# define EVP_F_EVP_PKEY_DECRYPT 104 +# define EVP_F_EVP_PKEY_DECRYPT_INIT 138 +# define EVP_F_EVP_PKEY_DECRYPT_OLD 151 +# define EVP_F_EVP_PKEY_DERIVE 153 +# define EVP_F_EVP_PKEY_DERIVE_INIT 154 +# define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155 +# define EVP_F_EVP_PKEY_ENCRYPT 105 +# define EVP_F_EVP_PKEY_ENCRYPT_INIT 139 +# define EVP_F_EVP_PKEY_ENCRYPT_OLD 152 +# define EVP_F_EVP_PKEY_GET1_DH 119 +# define EVP_F_EVP_PKEY_GET1_DSA 120 +# define EVP_F_EVP_PKEY_GET1_ECDSA 130 +# define EVP_F_EVP_PKEY_GET1_EC_KEY 131 +# define EVP_F_EVP_PKEY_GET1_RSA 121 +# define EVP_F_EVP_PKEY_KEYGEN 146 +# define EVP_F_EVP_PKEY_KEYGEN_INIT 147 +# define EVP_F_EVP_PKEY_NEW 106 +# define EVP_F_EVP_PKEY_PARAMGEN 148 +# define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 +# define EVP_F_EVP_PKEY_SIGN 140 +# define EVP_F_EVP_PKEY_SIGN_INIT 141 +# define EVP_F_EVP_PKEY_VERIFY 142 +# define EVP_F_EVP_PKEY_VERIFY_INIT 143 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER 144 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 +# define EVP_F_EVP_RIJNDAEL 126 +# define EVP_F_EVP_SIGNFINAL 107 +# define EVP_F_EVP_VERIFYFINAL 108 +# define EVP_F_FIPS_CIPHERINIT 166 +# define EVP_F_FIPS_CIPHER_CTX_COPY 170 +# define EVP_F_FIPS_CIPHER_CTX_CTRL 167 +# define EVP_F_FIPS_CIPHER_CTX_SET_KEY_LENGTH 171 +# define EVP_F_FIPS_DIGESTINIT 168 +# define EVP_F_FIPS_MD_CTX_COPY 169 +# define EVP_F_HMAC_INIT_EX 174 +# define EVP_F_INT_CTX_NEW 157 +# define EVP_F_PKCS5_PBE_KEYIVGEN 117 +# define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 +# define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164 +# define EVP_F_PKCS8_SET_BROKEN 112 +# define EVP_F_PKEY_SET_TYPE 158 +# define EVP_F_RC2_MAGIC_TO_METH 109 +# define EVP_F_RC5_CTRL 125 + +/* Reason codes. */ +# define EVP_R_AES_IV_SETUP_FAILED 162 +# define EVP_R_AES_KEY_SETUP_FAILED 143 +# define EVP_R_ASN1_LIB 140 +# define EVP_R_BAD_BLOCK_LENGTH 136 +# define EVP_R_BAD_DECRYPT 100 +# define EVP_R_BAD_KEY_LENGTH 137 +# define EVP_R_BN_DECODE_ERROR 112 +# define EVP_R_BN_PUBKEY_ERROR 113 +# define EVP_R_BUFFER_TOO_SMALL 155 +# define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 +# define EVP_R_CIPHER_PARAMETER_ERROR 122 +# define EVP_R_COMMAND_NOT_SUPPORTED 147 +# define EVP_R_CTRL_NOT_IMPLEMENTED 132 +# define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 +# define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 +# define EVP_R_DECODE_ERROR 114 +# define EVP_R_DIFFERENT_KEY_TYPES 101 +# define EVP_R_DIFFERENT_PARAMETERS 153 +# define EVP_R_DISABLED_FOR_FIPS 163 +# define EVP_R_ENCODE_ERROR 115 +# define EVP_R_ERROR_LOADING_SECTION 165 +# define EVP_R_ERROR_SETTING_FIPS_MODE 166 +# define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119 +# define EVP_R_EXPECTING_AN_RSA_KEY 127 +# define EVP_R_EXPECTING_A_DH_KEY 128 +# define EVP_R_EXPECTING_A_DSA_KEY 129 +# define EVP_R_EXPECTING_A_ECDSA_KEY 141 +# define EVP_R_EXPECTING_A_EC_KEY 142 +# define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 +# define EVP_R_INITIALIZATION_ERROR 134 +# define EVP_R_INPUT_NOT_INITIALIZED 111 +# define EVP_R_INVALID_DIGEST 152 +# define EVP_R_INVALID_FIPS_MODE 168 +# define EVP_R_INVALID_KEY 171 +# define EVP_R_INVALID_KEY_LENGTH 130 +# define EVP_R_INVALID_OPERATION 148 +# define EVP_R_IV_TOO_LARGE 102 +# define EVP_R_KEYGEN_FAILURE 120 +# define EVP_R_MESSAGE_DIGEST_IS_NULL 159 +# define EVP_R_METHOD_NOT_SUPPORTED 144 +# define EVP_R_MISSING_PARAMETERS 103 +# define EVP_R_NO_CIPHER_SET 131 +# define EVP_R_NO_DEFAULT_DIGEST 158 +# define EVP_R_NO_DIGEST_SET 139 +# define EVP_R_NO_DSA_PARAMETERS 116 +# define EVP_R_NO_KEY_SET 154 +# define EVP_R_NO_OPERATION_SET 149 +# define EVP_R_NO_SIGN_FUNCTION_CONFIGURED 104 +# define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105 +# define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 +# define EVP_R_OPERATON_NOT_INITIALIZED 151 +# define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117 +# define EVP_R_PRIVATE_KEY_DECODE_ERROR 145 +# define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146 +# define EVP_R_PUBLIC_KEY_NOT_RSA 106 +# define EVP_R_TOO_LARGE 164 +# define EVP_R_UNKNOWN_CIPHER 160 +# define EVP_R_UNKNOWN_DIGEST 161 +# define EVP_R_UNKNOWN_OPTION 169 +# define EVP_R_UNKNOWN_PBE_ALGORITHM 121 +# define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135 +# define EVP_R_UNSUPPORTED_ALGORITHM 156 +# define EVP_R_UNSUPPORTED_CIPHER 107 +# define EVP_R_UNSUPPORTED_KEYLENGTH 123 +# define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124 +# define EVP_R_UNSUPPORTED_KEY_SIZE 108 +# define EVP_R_UNSUPPORTED_PRF 125 +# define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118 +# define EVP_R_UNSUPPORTED_SALT_TYPE 126 +# define EVP_R_WRAP_MODE_NOT_ALLOWED 170 +# define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 +# define EVP_R_WRONG_PUBLIC_KEY_TYPE 110 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/3rdparty/openssl/include/openssl/hmac.h b/3rdparty/openssl/include/openssl/hmac.h new file mode 100644 index 0000000..b8b55cd --- /dev/null +++ b/3rdparty/openssl/include/openssl/hmac.h @@ -0,0 +1,109 @@ +/* crypto/hmac/hmac.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +#ifndef HEADER_HMAC_H +# define HEADER_HMAC_H + +# include + +# ifdef OPENSSL_NO_HMAC +# error HMAC is disabled. +# endif + +# include + +# define HMAC_MAX_MD_CBLOCK 128/* largest known is SHA512 */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct hmac_ctx_st { + const EVP_MD *md; + EVP_MD_CTX md_ctx; + EVP_MD_CTX i_ctx; + EVP_MD_CTX o_ctx; + unsigned int key_length; + unsigned char key[HMAC_MAX_MD_CBLOCK]; +} HMAC_CTX; + +# define HMAC_size(e) (EVP_MD_size((e)->md)) + +void HMAC_CTX_init(HMAC_CTX *ctx); +void HMAC_CTX_cleanup(HMAC_CTX *ctx); + +/* deprecated */ +# define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx) + +/* deprecated */ +int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, const EVP_MD *md); +int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, + const EVP_MD *md, ENGINE *impl); +int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len); +int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len); +unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, + const unsigned char *d, size_t n, unsigned char *md, + unsigned int *md_len); +int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); + +void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/idea.h b/3rdparty/openssl/include/openssl/idea.h new file mode 100644 index 0000000..6075984 --- /dev/null +++ b/3rdparty/openssl/include/openssl/idea.h @@ -0,0 +1,105 @@ +/* crypto/idea/idea.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_IDEA_H +# define HEADER_IDEA_H + +# include /* IDEA_INT, OPENSSL_NO_IDEA */ + +# ifdef OPENSSL_NO_IDEA +# error IDEA is disabled. +# endif + +# define IDEA_ENCRYPT 1 +# define IDEA_DECRYPT 0 + +# define IDEA_BLOCK 8 +# define IDEA_KEY_LENGTH 16 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct idea_key_st { + IDEA_INT data[9][6]; +} IDEA_KEY_SCHEDULE; + +const char *idea_options(void); +void idea_ecb_encrypt(const unsigned char *in, unsigned char *out, + IDEA_KEY_SCHEDULE *ks); +# ifdef OPENSSL_FIPS +void private_idea_set_encrypt_key(const unsigned char *key, + IDEA_KEY_SCHEDULE *ks); +# endif +void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); +void idea_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk); +void idea_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int enc); +void idea_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num, int enc); +void idea_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num); +void idea_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/krb5_asn.h b/3rdparty/openssl/include/openssl/krb5_asn.h new file mode 100644 index 0000000..9cf5a26 --- /dev/null +++ b/3rdparty/openssl/include/openssl/krb5_asn.h @@ -0,0 +1,240 @@ +/* krb5_asn.h */ +/* + * Written by Vern Staats for the OpenSSL project, ** + * using ocsp/{*.h,*asn*.c} as a starting point + */ + +/* ==================================================================== + * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_KRB5_ASN_H +# define HEADER_KRB5_ASN_H + +/* + * #include + */ +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * ASN.1 from Kerberos RFC 1510 + */ + +/*- EncryptedData ::= SEQUENCE { + * etype[0] INTEGER, -- EncryptionType + * kvno[1] INTEGER OPTIONAL, + * cipher[2] OCTET STRING -- ciphertext + * } + */ +typedef struct krb5_encdata_st { + ASN1_INTEGER *etype; + ASN1_INTEGER *kvno; + ASN1_OCTET_STRING *cipher; +} KRB5_ENCDATA; + +DECLARE_STACK_OF(KRB5_ENCDATA) + +/*- PrincipalName ::= SEQUENCE { + * name-type[0] INTEGER, + * name-string[1] SEQUENCE OF GeneralString + * } + */ +typedef struct krb5_princname_st { + ASN1_INTEGER *nametype; + STACK_OF(ASN1_GENERALSTRING) *namestring; +} KRB5_PRINCNAME; + +DECLARE_STACK_OF(KRB5_PRINCNAME) + +/*- Ticket ::= [APPLICATION 1] SEQUENCE { + * tkt-vno[0] INTEGER, + * realm[1] Realm, + * sname[2] PrincipalName, + * enc-part[3] EncryptedData + * } + */ +typedef struct krb5_tktbody_st { + ASN1_INTEGER *tktvno; + ASN1_GENERALSTRING *realm; + KRB5_PRINCNAME *sname; + KRB5_ENCDATA *encdata; +} KRB5_TKTBODY; + +typedef STACK_OF(KRB5_TKTBODY) KRB5_TICKET; +DECLARE_STACK_OF(KRB5_TKTBODY) + +/*- AP-REQ ::= [APPLICATION 14] SEQUENCE { + * pvno[0] INTEGER, + * msg-type[1] INTEGER, + * ap-options[2] APOptions, + * ticket[3] Ticket, + * authenticator[4] EncryptedData + * } + * + * APOptions ::= BIT STRING { + * reserved(0), use-session-key(1), mutual-required(2) } + */ +typedef struct krb5_ap_req_st { + ASN1_INTEGER *pvno; + ASN1_INTEGER *msgtype; + ASN1_BIT_STRING *apoptions; + KRB5_TICKET *ticket; + KRB5_ENCDATA *authenticator; +} KRB5_APREQBODY; + +typedef STACK_OF(KRB5_APREQBODY) KRB5_APREQ; +DECLARE_STACK_OF(KRB5_APREQBODY) + +/* Authenticator Stuff */ + +/*- Checksum ::= SEQUENCE { + * cksumtype[0] INTEGER, + * checksum[1] OCTET STRING + * } + */ +typedef struct krb5_checksum_st { + ASN1_INTEGER *ctype; + ASN1_OCTET_STRING *checksum; +} KRB5_CHECKSUM; + +DECLARE_STACK_OF(KRB5_CHECKSUM) + +/*- EncryptionKey ::= SEQUENCE { + * keytype[0] INTEGER, + * keyvalue[1] OCTET STRING + * } + */ +typedef struct krb5_encryptionkey_st { + ASN1_INTEGER *ktype; + ASN1_OCTET_STRING *keyvalue; +} KRB5_ENCKEY; + +DECLARE_STACK_OF(KRB5_ENCKEY) + +/*- AuthorizationData ::= SEQUENCE OF SEQUENCE { + * ad-type[0] INTEGER, + * ad-data[1] OCTET STRING + * } + */ +typedef struct krb5_authorization_st { + ASN1_INTEGER *adtype; + ASN1_OCTET_STRING *addata; +} KRB5_AUTHDATA; + +DECLARE_STACK_OF(KRB5_AUTHDATA) + +/*- -- Unencrypted authenticator + * Authenticator ::= [APPLICATION 2] SEQUENCE { + * authenticator-vno[0] INTEGER, + * crealm[1] Realm, + * cname[2] PrincipalName, + * cksum[3] Checksum OPTIONAL, + * cusec[4] INTEGER, + * ctime[5] KerberosTime, + * subkey[6] EncryptionKey OPTIONAL, + * seq-number[7] INTEGER OPTIONAL, + * authorization-data[8] AuthorizationData OPTIONAL + * } + */ +typedef struct krb5_authenticator_st { + ASN1_INTEGER *avno; + ASN1_GENERALSTRING *crealm; + KRB5_PRINCNAME *cname; + KRB5_CHECKSUM *cksum; + ASN1_INTEGER *cusec; + ASN1_GENERALIZEDTIME *ctime; + KRB5_ENCKEY *subkey; + ASN1_INTEGER *seqnum; + KRB5_AUTHDATA *authorization; +} KRB5_AUTHENTBODY; + +typedef STACK_OF(KRB5_AUTHENTBODY) KRB5_AUTHENT; +DECLARE_STACK_OF(KRB5_AUTHENTBODY) + +/*- DECLARE_ASN1_FUNCTIONS(type) = DECLARE_ASN1_FUNCTIONS_name(type, type) = + * type *name##_new(void); + * void name##_free(type *a); + * DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) = + * DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) = + * type *d2i_##name(type **a, const unsigned char **in, long len); + * int i2d_##name(type *a, unsigned char **out); + * DECLARE_ASN1_ITEM(itname) = OPENSSL_EXTERN const ASN1_ITEM itname##_it + */ + +DECLARE_ASN1_FUNCTIONS(KRB5_ENCDATA) +DECLARE_ASN1_FUNCTIONS(KRB5_PRINCNAME) +DECLARE_ASN1_FUNCTIONS(KRB5_TKTBODY) +DECLARE_ASN1_FUNCTIONS(KRB5_APREQBODY) +DECLARE_ASN1_FUNCTIONS(KRB5_TICKET) +DECLARE_ASN1_FUNCTIONS(KRB5_APREQ) + +DECLARE_ASN1_FUNCTIONS(KRB5_CHECKSUM) +DECLARE_ASN1_FUNCTIONS(KRB5_ENCKEY) +DECLARE_ASN1_FUNCTIONS(KRB5_AUTHDATA) +DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENTBODY) +DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENT) + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/kssl.h b/3rdparty/openssl/include/openssl/kssl.h new file mode 100644 index 0000000..ae8a51f --- /dev/null +++ b/3rdparty/openssl/include/openssl/kssl.h @@ -0,0 +1,197 @@ +/* ssl/kssl.h */ +/* + * Written by Vern Staats for the OpenSSL project + * 2000. project 2000. + */ +/* ==================================================================== + * Copyright (c) 2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +/* + ** 19990701 VRS Started. + */ + +#ifndef KSSL_H +# define KSSL_H + +# include + +# ifndef OPENSSL_NO_KRB5 + +# include +# include +# include +# ifdef OPENSSL_SYS_WIN32 +/* + * These can sometimes get redefined indirectly by krb5 header files after + * they get undefed in ossl_typ.h + */ +# undef X509_NAME +# undef X509_EXTENSIONS +# undef OCSP_REQUEST +# undef OCSP_RESPONSE +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Depending on which KRB5 implementation used, some types from + * the other may be missing. Resolve that here and now + */ +# ifdef KRB5_HEIMDAL +typedef unsigned char krb5_octet; +# define FAR +# else + +# ifndef FAR +# define FAR +# endif + +# endif + +/*- + * Uncomment this to debug kssl problems or + * to trace usage of the Kerberos session key + * + * #define KSSL_DEBUG + */ + +# ifndef KRB5SVC +# define KRB5SVC "host" +# endif + +# ifndef KRB5KEYTAB +# define KRB5KEYTAB "/etc/krb5.keytab" +# endif + +# ifndef KRB5SENDAUTH +# define KRB5SENDAUTH 1 +# endif + +# ifndef KRB5CHECKAUTH +# define KRB5CHECKAUTH 1 +# endif + +# ifndef KSSL_CLOCKSKEW +# define KSSL_CLOCKSKEW 300; +# endif + +# define KSSL_ERR_MAX 255 +typedef struct kssl_err_st { + int reason; + char text[KSSL_ERR_MAX + 1]; +} KSSL_ERR; + +/*- Context for passing + * (1) Kerberos session key to SSL, and + * (2) Config data between application and SSL lib + */ +typedef struct kssl_ctx_st { + /* used by: disposition: */ + char *service_name; /* C,S default ok (kssl) */ + char *service_host; /* C input, REQUIRED */ + char *client_princ; /* S output from krb5 ticket */ + char *keytab_file; /* S NULL (/etc/krb5.keytab) */ + char *cred_cache; /* C NULL (default) */ + krb5_enctype enctype; + int length; + krb5_octet FAR *key; +} KSSL_CTX; + +# define KSSL_CLIENT 1 +# define KSSL_SERVER 2 +# define KSSL_SERVICE 3 +# define KSSL_KEYTAB 4 + +# define KSSL_CTX_OK 0 +# define KSSL_CTX_ERR 1 +# define KSSL_NOMEM 2 + +/* Public (for use by applications that use OpenSSL with Kerberos 5 support */ +krb5_error_code kssl_ctx_setstring(KSSL_CTX *kssl_ctx, int which, char *text); +KSSL_CTX *kssl_ctx_new(void); +KSSL_CTX *kssl_ctx_free(KSSL_CTX *kssl_ctx); +void kssl_ctx_show(KSSL_CTX *kssl_ctx); +krb5_error_code kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which, + krb5_data *realm, krb5_data *entity, + int nentities); +krb5_error_code kssl_cget_tkt(KSSL_CTX *kssl_ctx, krb5_data **enc_tktp, + krb5_data *authenp, KSSL_ERR *kssl_err); +krb5_error_code kssl_sget_tkt(KSSL_CTX *kssl_ctx, krb5_data *indata, + krb5_ticket_times *ttimes, KSSL_ERR *kssl_err); +krb5_error_code kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session); +void kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text); +void kssl_krb5_free_data_contents(krb5_context context, krb5_data *data); +krb5_error_code kssl_build_principal_2(krb5_context context, + krb5_principal *princ, int rlen, + const char *realm, int slen, + const char *svc, int hlen, + const char *host); +krb5_error_code kssl_validate_times(krb5_timestamp atime, + krb5_ticket_times *ttimes); +krb5_error_code kssl_check_authent(KSSL_CTX *kssl_ctx, krb5_data *authentp, + krb5_timestamp *atimep, + KSSL_ERR *kssl_err); +unsigned char *kssl_skip_confound(krb5_enctype enctype, unsigned char *authn); + +void SSL_set0_kssl_ctx(SSL *s, KSSL_CTX *kctx); +KSSL_CTX *SSL_get0_kssl_ctx(SSL *s); +char *kssl_ctx_get0_client_princ(KSSL_CTX *kctx); + +#ifdef __cplusplus +} +#endif +# endif /* OPENSSL_NO_KRB5 */ +#endif /* KSSL_H */ diff --git a/3rdparty/openssl/include/openssl/lhash.h b/3rdparty/openssl/include/openssl/lhash.h new file mode 100644 index 0000000..b6c328b --- /dev/null +++ b/3rdparty/openssl/include/openssl/lhash.h @@ -0,0 +1,240 @@ +/* crypto/lhash/lhash.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +/* + * Header for dynamic hash table routines Author - Eric Young + */ + +#ifndef HEADER_LHASH_H +# define HEADER_LHASH_H + +# include +# ifndef OPENSSL_NO_FP_API +# include +# endif + +# ifndef OPENSSL_NO_BIO +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct lhash_node_st { + void *data; + struct lhash_node_st *next; +# ifndef OPENSSL_NO_HASH_COMP + unsigned long hash; +# endif +} LHASH_NODE; + +typedef int (*LHASH_COMP_FN_TYPE) (const void *, const void *); +typedef unsigned long (*LHASH_HASH_FN_TYPE) (const void *); +typedef void (*LHASH_DOALL_FN_TYPE) (void *); +typedef void (*LHASH_DOALL_ARG_FN_TYPE) (void *, void *); + +/* + * Macros for declaring and implementing type-safe wrappers for LHASH + * callbacks. This way, callbacks can be provided to LHASH structures without + * function pointer casting and the macro-defined callbacks provide + * per-variable casting before deferring to the underlying type-specific + * callbacks. NB: It is possible to place a "static" in front of both the + * DECLARE and IMPLEMENT macros if the functions are strictly internal. + */ + +/* First: "hash" functions */ +# define DECLARE_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *); +# define IMPLEMENT_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *arg) { \ + const o_type *a = arg; \ + return name##_hash(a); } +# define LHASH_HASH_FN(name) name##_LHASH_HASH + +/* Second: "compare" functions */ +# define DECLARE_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *, const void *); +# define IMPLEMENT_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *arg1, const void *arg2) { \ + const o_type *a = arg1; \ + const o_type *b = arg2; \ + return name##_cmp(a,b); } +# define LHASH_COMP_FN(name) name##_LHASH_COMP + +/* Third: "doall" functions */ +# define DECLARE_LHASH_DOALL_FN(name, o_type) \ + void name##_LHASH_DOALL(void *); +# define IMPLEMENT_LHASH_DOALL_FN(name, o_type) \ + void name##_LHASH_DOALL(void *arg) { \ + o_type *a = arg; \ + name##_doall(a); } +# define LHASH_DOALL_FN(name) name##_LHASH_DOALL + +/* Fourth: "doall_arg" functions */ +# define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *, void *); +# define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \ + o_type *a = arg1; \ + a_type *b = arg2; \ + name##_doall_arg(a, b); } +# define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG + +typedef struct lhash_st { + LHASH_NODE **b; + LHASH_COMP_FN_TYPE comp; + LHASH_HASH_FN_TYPE hash; + unsigned int num_nodes; + unsigned int num_alloc_nodes; + unsigned int p; + unsigned int pmax; + unsigned long up_load; /* load times 256 */ + unsigned long down_load; /* load times 256 */ + unsigned long num_items; + unsigned long num_expands; + unsigned long num_expand_reallocs; + unsigned long num_contracts; + unsigned long num_contract_reallocs; + unsigned long num_hash_calls; + unsigned long num_comp_calls; + unsigned long num_insert; + unsigned long num_replace; + unsigned long num_delete; + unsigned long num_no_delete; + unsigned long num_retrieve; + unsigned long num_retrieve_miss; + unsigned long num_hash_comps; + int error; +} _LHASH; /* Do not use _LHASH directly, use LHASH_OF + * and friends */ + +# define LH_LOAD_MULT 256 + +/* + * Indicates a malloc() error in the last call, this is only bad in + * lh_insert(). + */ +# define lh_error(lh) ((lh)->error) + +_LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c); +void lh_free(_LHASH *lh); +void *lh_insert(_LHASH *lh, void *data); +void *lh_delete(_LHASH *lh, const void *data); +void *lh_retrieve(_LHASH *lh, const void *data); +void lh_doall(_LHASH *lh, LHASH_DOALL_FN_TYPE func); +void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg); +unsigned long lh_strhash(const char *c); +unsigned long lh_num_items(const _LHASH *lh); + +# ifndef OPENSSL_NO_FP_API +void lh_stats(const _LHASH *lh, FILE *out); +void lh_node_stats(const _LHASH *lh, FILE *out); +void lh_node_usage_stats(const _LHASH *lh, FILE *out); +# endif + +# ifndef OPENSSL_NO_BIO +void lh_stats_bio(const _LHASH *lh, BIO *out); +void lh_node_stats_bio(const _LHASH *lh, BIO *out); +void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); +# endif + +/* Type checking... */ + +# define LHASH_OF(type) struct lhash_st_##type + +# define DECLARE_LHASH_OF(type) LHASH_OF(type) { int dummy; } + +# define CHECKED_LHASH_OF(type,lh) \ + ((_LHASH *)CHECKED_PTR_OF(LHASH_OF(type),lh)) + +/* Define wrapper functions. */ +# define LHM_lh_new(type, name) \ + ((LHASH_OF(type) *)lh_new(LHASH_HASH_FN(name), LHASH_COMP_FN(name))) +# define LHM_lh_error(type, lh) \ + lh_error(CHECKED_LHASH_OF(type,lh)) +# define LHM_lh_insert(type, lh, inst) \ + ((type *)lh_insert(CHECKED_LHASH_OF(type, lh), \ + CHECKED_PTR_OF(type, inst))) +# define LHM_lh_retrieve(type, lh, inst) \ + ((type *)lh_retrieve(CHECKED_LHASH_OF(type, lh), \ + CHECKED_PTR_OF(type, inst))) +# define LHM_lh_delete(type, lh, inst) \ + ((type *)lh_delete(CHECKED_LHASH_OF(type, lh), \ + CHECKED_PTR_OF(type, inst))) +# define LHM_lh_doall(type, lh,fn) lh_doall(CHECKED_LHASH_OF(type, lh), fn) +# define LHM_lh_doall_arg(type, lh, fn, arg_type, arg) \ + lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg)) +# define LHM_lh_num_items(type, lh) lh_num_items(CHECKED_LHASH_OF(type, lh)) +# define LHM_lh_down_load(type, lh) (CHECKED_LHASH_OF(type, lh)->down_load) +# define LHM_lh_node_stats_bio(type, lh, out) \ + lh_node_stats_bio(CHECKED_LHASH_OF(type, lh), out) +# define LHM_lh_node_usage_stats_bio(type, lh, out) \ + lh_node_usage_stats_bio(CHECKED_LHASH_OF(type, lh), out) +# define LHM_lh_stats_bio(type, lh, out) \ + lh_stats_bio(CHECKED_LHASH_OF(type, lh), out) +# define LHM_lh_free(type, lh) lh_free(CHECKED_LHASH_OF(type, lh)) + +DECLARE_LHASH_OF(OPENSSL_STRING); +DECLARE_LHASH_OF(OPENSSL_CSTRING); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/md4.h b/3rdparty/openssl/include/openssl/md4.h new file mode 100644 index 0000000..11fd712 --- /dev/null +++ b/3rdparty/openssl/include/openssl/md4.h @@ -0,0 +1,119 @@ +/* crypto/md4/md4.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_MD4_H +# define HEADER_MD4_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_MD4 +# error MD4 is disabled. +# endif + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! MD4_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! MD4_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +# if defined(__LP32__) +# define MD4_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define MD4_LONG unsigned long +# define MD4_LONG_LOG2 3 +/* + * _CRAY note. I could declare short, but I have no idea what impact + * does it have on performance on none-T3E machines. I could declare + * int, but at least on C90 sizeof(int) can be chosen at compile time. + * So I've chosen long... + * + */ +# else +# define MD4_LONG unsigned int +# endif + +# define MD4_CBLOCK 64 +# define MD4_LBLOCK (MD4_CBLOCK/4) +# define MD4_DIGEST_LENGTH 16 + +typedef struct MD4state_st { + MD4_LONG A, B, C, D; + MD4_LONG Nl, Nh; + MD4_LONG data[MD4_LBLOCK]; + unsigned int num; +} MD4_CTX; + +# ifdef OPENSSL_FIPS +int private_MD4_Init(MD4_CTX *c); +# endif +int MD4_Init(MD4_CTX *c); +int MD4_Update(MD4_CTX *c, const void *data, size_t len); +int MD4_Final(unsigned char *md, MD4_CTX *c); +unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md); +void MD4_Transform(MD4_CTX *c, const unsigned char *b); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/md5.h b/3rdparty/openssl/include/openssl/md5.h new file mode 100644 index 0000000..2659038 --- /dev/null +++ b/3rdparty/openssl/include/openssl/md5.h @@ -0,0 +1,119 @@ +/* crypto/md5/md5.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_MD5_H +# define HEADER_MD5_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_MD5 +# error MD5 is disabled. +# endif + +/* + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! MD5_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! MD5_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +# if defined(__LP32__) +# define MD5_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define MD5_LONG unsigned long +# define MD5_LONG_LOG2 3 +/* + * _CRAY note. I could declare short, but I have no idea what impact + * does it have on performance on none-T3E machines. I could declare + * int, but at least on C90 sizeof(int) can be chosen at compile time. + * So I've chosen long... + * + */ +# else +# define MD5_LONG unsigned int +# endif + +# define MD5_CBLOCK 64 +# define MD5_LBLOCK (MD5_CBLOCK/4) +# define MD5_DIGEST_LENGTH 16 + +typedef struct MD5state_st { + MD5_LONG A, B, C, D; + MD5_LONG Nl, Nh; + MD5_LONG data[MD5_LBLOCK]; + unsigned int num; +} MD5_CTX; + +# ifdef OPENSSL_FIPS +int private_MD5_Init(MD5_CTX *c); +# endif +int MD5_Init(MD5_CTX *c); +int MD5_Update(MD5_CTX *c, const void *data, size_t len); +int MD5_Final(unsigned char *md, MD5_CTX *c); +unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md); +void MD5_Transform(MD5_CTX *c, const unsigned char *b); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/mdc2.h b/3rdparty/openssl/include/openssl/mdc2.h new file mode 100644 index 0000000..7efe53b --- /dev/null +++ b/3rdparty/openssl/include/openssl/mdc2.h @@ -0,0 +1,94 @@ +/* crypto/mdc2/mdc2.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_MDC2_H +# define HEADER_MDC2_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_MDC2 +# error MDC2 is disabled. +# endif + +# define MDC2_BLOCK 8 +# define MDC2_DIGEST_LENGTH 16 + +typedef struct mdc2_ctx_st { + unsigned int num; + unsigned char data[MDC2_BLOCK]; + DES_cblock h, hh; + int pad_type; /* either 1 or 2, default 1 */ +} MDC2_CTX; + +# ifdef OPENSSL_FIPS +int private_MDC2_Init(MDC2_CTX *c); +# endif +int MDC2_Init(MDC2_CTX *c); +int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); +int MDC2_Final(unsigned char *md, MDC2_CTX *c); +unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/modes.h b/3rdparty/openssl/include/openssl/modes.h new file mode 100644 index 0000000..fd48849 --- /dev/null +++ b/3rdparty/openssl/include/openssl/modes.h @@ -0,0 +1,163 @@ +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Rights for redistribution and usage in source and binary + * forms are granted according to the OpenSSL license. + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif +typedef void (*block128_f) (const unsigned char in[16], + unsigned char out[16], const void *key); + +typedef void (*cbc128_f) (const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int enc); + +typedef void (*ctr128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16]); + +typedef void (*ccm128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16], + unsigned char cmac[16]); + +void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); +void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); + +void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], + unsigned char ecount_buf[16], unsigned int *num, + block128_f block); + +void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], + unsigned char ecount_buf[16], + unsigned int *num, ctr128_f ctr); + +void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + block128_f block); + +void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out, + size_t bits, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); + +size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); +size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); +size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); +size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); + +size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, + unsigned char ivec[16], + block128_f block); +size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); +size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, + unsigned char ivec[16], + block128_f block); +size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); + +typedef struct gcm128_context GCM128_CONTEXT; + +GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block); +void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block); +void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char *iv, + size_t len); +int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad, + size_t len); +int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const unsigned char *tag, + size_t len); +void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t len); +void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx); + +typedef struct ccm128_context CCM128_CONTEXT; + +void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx, + unsigned int M, unsigned int L, void *key, + block128_f block); +int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx, const unsigned char *nonce, + size_t nlen, size_t mlen); +void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx, const unsigned char *aad, + size_t alen); +int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len); +int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len); +int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len, + ccm128_f stream); +int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len, + ccm128_f stream); +size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len); + +typedef struct xts128_context XTS128_CONTEXT; + +int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, + const unsigned char iv[16], + const unsigned char *inp, unsigned char *out, + size_t len, int enc); + +size_t CRYPTO_128_wrap(void *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, size_t inlen, + block128_f block); + +size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, size_t inlen, + block128_f block); + +#ifdef __cplusplus +} +#endif diff --git a/3rdparty/openssl/include/openssl/obj_mac.h b/3rdparty/openssl/include/openssl/obj_mac.h new file mode 100644 index 0000000..779c309 --- /dev/null +++ b/3rdparty/openssl/include/openssl/obj_mac.h @@ -0,0 +1,4194 @@ +/* crypto/objects/obj_mac.h */ + +/* + * THIS FILE IS GENERATED FROM objects.txt by objects.pl via the following + * command: perl objects.pl objects.txt obj_mac.num obj_mac.h + */ + +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#define SN_undef "UNDEF" +#define LN_undef "undefined" +#define NID_undef 0 +#define OBJ_undef 0L + +#define SN_itu_t "ITU-T" +#define LN_itu_t "itu-t" +#define NID_itu_t 645 +#define OBJ_itu_t 0L + +#define NID_ccitt 404 +#define OBJ_ccitt OBJ_itu_t + +#define SN_iso "ISO" +#define LN_iso "iso" +#define NID_iso 181 +#define OBJ_iso 1L + +#define SN_joint_iso_itu_t "JOINT-ISO-ITU-T" +#define LN_joint_iso_itu_t "joint-iso-itu-t" +#define NID_joint_iso_itu_t 646 +#define OBJ_joint_iso_itu_t 2L + +#define NID_joint_iso_ccitt 393 +#define OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t + +#define SN_member_body "member-body" +#define LN_member_body "ISO Member Body" +#define NID_member_body 182 +#define OBJ_member_body OBJ_iso,2L + +#define SN_identified_organization "identified-organization" +#define NID_identified_organization 676 +#define OBJ_identified_organization OBJ_iso,3L + +#define SN_hmac_md5 "HMAC-MD5" +#define LN_hmac_md5 "hmac-md5" +#define NID_hmac_md5 780 +#define OBJ_hmac_md5 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,1L + +#define SN_hmac_sha1 "HMAC-SHA1" +#define LN_hmac_sha1 "hmac-sha1" +#define NID_hmac_sha1 781 +#define OBJ_hmac_sha1 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,2L + +#define SN_certicom_arc "certicom-arc" +#define NID_certicom_arc 677 +#define OBJ_certicom_arc OBJ_identified_organization,132L + +#define SN_international_organizations "international-organizations" +#define LN_international_organizations "International Organizations" +#define NID_international_organizations 647 +#define OBJ_international_organizations OBJ_joint_iso_itu_t,23L + +#define SN_wap "wap" +#define NID_wap 678 +#define OBJ_wap OBJ_international_organizations,43L + +#define SN_wap_wsg "wap-wsg" +#define NID_wap_wsg 679 +#define OBJ_wap_wsg OBJ_wap,1L + +#define SN_selected_attribute_types "selected-attribute-types" +#define LN_selected_attribute_types "Selected Attribute Types" +#define NID_selected_attribute_types 394 +#define OBJ_selected_attribute_types OBJ_joint_iso_itu_t,5L,1L,5L + +#define SN_clearance "clearance" +#define NID_clearance 395 +#define OBJ_clearance OBJ_selected_attribute_types,55L + +#define SN_ISO_US "ISO-US" +#define LN_ISO_US "ISO US Member Body" +#define NID_ISO_US 183 +#define OBJ_ISO_US OBJ_member_body,840L + +#define SN_X9_57 "X9-57" +#define LN_X9_57 "X9.57" +#define NID_X9_57 184 +#define OBJ_X9_57 OBJ_ISO_US,10040L + +#define SN_X9cm "X9cm" +#define LN_X9cm "X9.57 CM ?" +#define NID_X9cm 185 +#define OBJ_X9cm OBJ_X9_57,4L + +#define SN_dsa "DSA" +#define LN_dsa "dsaEncryption" +#define NID_dsa 116 +#define OBJ_dsa OBJ_X9cm,1L + +#define SN_dsaWithSHA1 "DSA-SHA1" +#define LN_dsaWithSHA1 "dsaWithSHA1" +#define NID_dsaWithSHA1 113 +#define OBJ_dsaWithSHA1 OBJ_X9cm,3L + +#define SN_ansi_X9_62 "ansi-X9-62" +#define LN_ansi_X9_62 "ANSI X9.62" +#define NID_ansi_X9_62 405 +#define OBJ_ansi_X9_62 OBJ_ISO_US,10045L + +#define OBJ_X9_62_id_fieldType OBJ_ansi_X9_62,1L + +#define SN_X9_62_prime_field "prime-field" +#define NID_X9_62_prime_field 406 +#define OBJ_X9_62_prime_field OBJ_X9_62_id_fieldType,1L + +#define SN_X9_62_characteristic_two_field "characteristic-two-field" +#define NID_X9_62_characteristic_two_field 407 +#define OBJ_X9_62_characteristic_two_field OBJ_X9_62_id_fieldType,2L + +#define SN_X9_62_id_characteristic_two_basis "id-characteristic-two-basis" +#define NID_X9_62_id_characteristic_two_basis 680 +#define OBJ_X9_62_id_characteristic_two_basis OBJ_X9_62_characteristic_two_field,3L + +#define SN_X9_62_onBasis "onBasis" +#define NID_X9_62_onBasis 681 +#define OBJ_X9_62_onBasis OBJ_X9_62_id_characteristic_two_basis,1L + +#define SN_X9_62_tpBasis "tpBasis" +#define NID_X9_62_tpBasis 682 +#define OBJ_X9_62_tpBasis OBJ_X9_62_id_characteristic_two_basis,2L + +#define SN_X9_62_ppBasis "ppBasis" +#define NID_X9_62_ppBasis 683 +#define OBJ_X9_62_ppBasis OBJ_X9_62_id_characteristic_two_basis,3L + +#define OBJ_X9_62_id_publicKeyType OBJ_ansi_X9_62,2L + +#define SN_X9_62_id_ecPublicKey "id-ecPublicKey" +#define NID_X9_62_id_ecPublicKey 408 +#define OBJ_X9_62_id_ecPublicKey OBJ_X9_62_id_publicKeyType,1L + +#define OBJ_X9_62_ellipticCurve OBJ_ansi_X9_62,3L + +#define OBJ_X9_62_c_TwoCurve OBJ_X9_62_ellipticCurve,0L + +#define SN_X9_62_c2pnb163v1 "c2pnb163v1" +#define NID_X9_62_c2pnb163v1 684 +#define OBJ_X9_62_c2pnb163v1 OBJ_X9_62_c_TwoCurve,1L + +#define SN_X9_62_c2pnb163v2 "c2pnb163v2" +#define NID_X9_62_c2pnb163v2 685 +#define OBJ_X9_62_c2pnb163v2 OBJ_X9_62_c_TwoCurve,2L + +#define SN_X9_62_c2pnb163v3 "c2pnb163v3" +#define NID_X9_62_c2pnb163v3 686 +#define OBJ_X9_62_c2pnb163v3 OBJ_X9_62_c_TwoCurve,3L + +#define SN_X9_62_c2pnb176v1 "c2pnb176v1" +#define NID_X9_62_c2pnb176v1 687 +#define OBJ_X9_62_c2pnb176v1 OBJ_X9_62_c_TwoCurve,4L + +#define SN_X9_62_c2tnb191v1 "c2tnb191v1" +#define NID_X9_62_c2tnb191v1 688 +#define OBJ_X9_62_c2tnb191v1 OBJ_X9_62_c_TwoCurve,5L + +#define SN_X9_62_c2tnb191v2 "c2tnb191v2" +#define NID_X9_62_c2tnb191v2 689 +#define OBJ_X9_62_c2tnb191v2 OBJ_X9_62_c_TwoCurve,6L + +#define SN_X9_62_c2tnb191v3 "c2tnb191v3" +#define NID_X9_62_c2tnb191v3 690 +#define OBJ_X9_62_c2tnb191v3 OBJ_X9_62_c_TwoCurve,7L + +#define SN_X9_62_c2onb191v4 "c2onb191v4" +#define NID_X9_62_c2onb191v4 691 +#define OBJ_X9_62_c2onb191v4 OBJ_X9_62_c_TwoCurve,8L + +#define SN_X9_62_c2onb191v5 "c2onb191v5" +#define NID_X9_62_c2onb191v5 692 +#define OBJ_X9_62_c2onb191v5 OBJ_X9_62_c_TwoCurve,9L + +#define SN_X9_62_c2pnb208w1 "c2pnb208w1" +#define NID_X9_62_c2pnb208w1 693 +#define OBJ_X9_62_c2pnb208w1 OBJ_X9_62_c_TwoCurve,10L + +#define SN_X9_62_c2tnb239v1 "c2tnb239v1" +#define NID_X9_62_c2tnb239v1 694 +#define OBJ_X9_62_c2tnb239v1 OBJ_X9_62_c_TwoCurve,11L + +#define SN_X9_62_c2tnb239v2 "c2tnb239v2" +#define NID_X9_62_c2tnb239v2 695 +#define OBJ_X9_62_c2tnb239v2 OBJ_X9_62_c_TwoCurve,12L + +#define SN_X9_62_c2tnb239v3 "c2tnb239v3" +#define NID_X9_62_c2tnb239v3 696 +#define OBJ_X9_62_c2tnb239v3 OBJ_X9_62_c_TwoCurve,13L + +#define SN_X9_62_c2onb239v4 "c2onb239v4" +#define NID_X9_62_c2onb239v4 697 +#define OBJ_X9_62_c2onb239v4 OBJ_X9_62_c_TwoCurve,14L + +#define SN_X9_62_c2onb239v5 "c2onb239v5" +#define NID_X9_62_c2onb239v5 698 +#define OBJ_X9_62_c2onb239v5 OBJ_X9_62_c_TwoCurve,15L + +#define SN_X9_62_c2pnb272w1 "c2pnb272w1" +#define NID_X9_62_c2pnb272w1 699 +#define OBJ_X9_62_c2pnb272w1 OBJ_X9_62_c_TwoCurve,16L + +#define SN_X9_62_c2pnb304w1 "c2pnb304w1" +#define NID_X9_62_c2pnb304w1 700 +#define OBJ_X9_62_c2pnb304w1 OBJ_X9_62_c_TwoCurve,17L + +#define SN_X9_62_c2tnb359v1 "c2tnb359v1" +#define NID_X9_62_c2tnb359v1 701 +#define OBJ_X9_62_c2tnb359v1 OBJ_X9_62_c_TwoCurve,18L + +#define SN_X9_62_c2pnb368w1 "c2pnb368w1" +#define NID_X9_62_c2pnb368w1 702 +#define OBJ_X9_62_c2pnb368w1 OBJ_X9_62_c_TwoCurve,19L + +#define SN_X9_62_c2tnb431r1 "c2tnb431r1" +#define NID_X9_62_c2tnb431r1 703 +#define OBJ_X9_62_c2tnb431r1 OBJ_X9_62_c_TwoCurve,20L + +#define OBJ_X9_62_primeCurve OBJ_X9_62_ellipticCurve,1L + +#define SN_X9_62_prime192v1 "prime192v1" +#define NID_X9_62_prime192v1 409 +#define OBJ_X9_62_prime192v1 OBJ_X9_62_primeCurve,1L + +#define SN_X9_62_prime192v2 "prime192v2" +#define NID_X9_62_prime192v2 410 +#define OBJ_X9_62_prime192v2 OBJ_X9_62_primeCurve,2L + +#define SN_X9_62_prime192v3 "prime192v3" +#define NID_X9_62_prime192v3 411 +#define OBJ_X9_62_prime192v3 OBJ_X9_62_primeCurve,3L + +#define SN_X9_62_prime239v1 "prime239v1" +#define NID_X9_62_prime239v1 412 +#define OBJ_X9_62_prime239v1 OBJ_X9_62_primeCurve,4L + +#define SN_X9_62_prime239v2 "prime239v2" +#define NID_X9_62_prime239v2 413 +#define OBJ_X9_62_prime239v2 OBJ_X9_62_primeCurve,5L + +#define SN_X9_62_prime239v3 "prime239v3" +#define NID_X9_62_prime239v3 414 +#define OBJ_X9_62_prime239v3 OBJ_X9_62_primeCurve,6L + +#define SN_X9_62_prime256v1 "prime256v1" +#define NID_X9_62_prime256v1 415 +#define OBJ_X9_62_prime256v1 OBJ_X9_62_primeCurve,7L + +#define OBJ_X9_62_id_ecSigType OBJ_ansi_X9_62,4L + +#define SN_ecdsa_with_SHA1 "ecdsa-with-SHA1" +#define NID_ecdsa_with_SHA1 416 +#define OBJ_ecdsa_with_SHA1 OBJ_X9_62_id_ecSigType,1L + +#define SN_ecdsa_with_Recommended "ecdsa-with-Recommended" +#define NID_ecdsa_with_Recommended 791 +#define OBJ_ecdsa_with_Recommended OBJ_X9_62_id_ecSigType,2L + +#define SN_ecdsa_with_Specified "ecdsa-with-Specified" +#define NID_ecdsa_with_Specified 792 +#define OBJ_ecdsa_with_Specified OBJ_X9_62_id_ecSigType,3L + +#define SN_ecdsa_with_SHA224 "ecdsa-with-SHA224" +#define NID_ecdsa_with_SHA224 793 +#define OBJ_ecdsa_with_SHA224 OBJ_ecdsa_with_Specified,1L + +#define SN_ecdsa_with_SHA256 "ecdsa-with-SHA256" +#define NID_ecdsa_with_SHA256 794 +#define OBJ_ecdsa_with_SHA256 OBJ_ecdsa_with_Specified,2L + +#define SN_ecdsa_with_SHA384 "ecdsa-with-SHA384" +#define NID_ecdsa_with_SHA384 795 +#define OBJ_ecdsa_with_SHA384 OBJ_ecdsa_with_Specified,3L + +#define SN_ecdsa_with_SHA512 "ecdsa-with-SHA512" +#define NID_ecdsa_with_SHA512 796 +#define OBJ_ecdsa_with_SHA512 OBJ_ecdsa_with_Specified,4L + +#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L + +#define SN_secp112r1 "secp112r1" +#define NID_secp112r1 704 +#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L + +#define SN_secp112r2 "secp112r2" +#define NID_secp112r2 705 +#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L + +#define SN_secp128r1 "secp128r1" +#define NID_secp128r1 706 +#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L + +#define SN_secp128r2 "secp128r2" +#define NID_secp128r2 707 +#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L + +#define SN_secp160k1 "secp160k1" +#define NID_secp160k1 708 +#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L + +#define SN_secp160r1 "secp160r1" +#define NID_secp160r1 709 +#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L + +#define SN_secp160r2 "secp160r2" +#define NID_secp160r2 710 +#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L + +#define SN_secp192k1 "secp192k1" +#define NID_secp192k1 711 +#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L + +#define SN_secp224k1 "secp224k1" +#define NID_secp224k1 712 +#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L + +#define SN_secp224r1 "secp224r1" +#define NID_secp224r1 713 +#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L + +#define SN_secp256k1 "secp256k1" +#define NID_secp256k1 714 +#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L + +#define SN_secp384r1 "secp384r1" +#define NID_secp384r1 715 +#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L + +#define SN_secp521r1 "secp521r1" +#define NID_secp521r1 716 +#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L + +#define SN_sect113r1 "sect113r1" +#define NID_sect113r1 717 +#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L + +#define SN_sect113r2 "sect113r2" +#define NID_sect113r2 718 +#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L + +#define SN_sect131r1 "sect131r1" +#define NID_sect131r1 719 +#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L + +#define SN_sect131r2 "sect131r2" +#define NID_sect131r2 720 +#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L + +#define SN_sect163k1 "sect163k1" +#define NID_sect163k1 721 +#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L + +#define SN_sect163r1 "sect163r1" +#define NID_sect163r1 722 +#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L + +#define SN_sect163r2 "sect163r2" +#define NID_sect163r2 723 +#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L + +#define SN_sect193r1 "sect193r1" +#define NID_sect193r1 724 +#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L + +#define SN_sect193r2 "sect193r2" +#define NID_sect193r2 725 +#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L + +#define SN_sect233k1 "sect233k1" +#define NID_sect233k1 726 +#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L + +#define SN_sect233r1 "sect233r1" +#define NID_sect233r1 727 +#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L + +#define SN_sect239k1 "sect239k1" +#define NID_sect239k1 728 +#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L + +#define SN_sect283k1 "sect283k1" +#define NID_sect283k1 729 +#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L + +#define SN_sect283r1 "sect283r1" +#define NID_sect283r1 730 +#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L + +#define SN_sect409k1 "sect409k1" +#define NID_sect409k1 731 +#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L + +#define SN_sect409r1 "sect409r1" +#define NID_sect409r1 732 +#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L + +#define SN_sect571k1 "sect571k1" +#define NID_sect571k1 733 +#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L + +#define SN_sect571r1 "sect571r1" +#define NID_sect571r1 734 +#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L + +#define OBJ_wap_wsg_idm_ecid OBJ_wap_wsg,4L + +#define SN_wap_wsg_idm_ecid_wtls1 "wap-wsg-idm-ecid-wtls1" +#define NID_wap_wsg_idm_ecid_wtls1 735 +#define OBJ_wap_wsg_idm_ecid_wtls1 OBJ_wap_wsg_idm_ecid,1L + +#define SN_wap_wsg_idm_ecid_wtls3 "wap-wsg-idm-ecid-wtls3" +#define NID_wap_wsg_idm_ecid_wtls3 736 +#define OBJ_wap_wsg_idm_ecid_wtls3 OBJ_wap_wsg_idm_ecid,3L + +#define SN_wap_wsg_idm_ecid_wtls4 "wap-wsg-idm-ecid-wtls4" +#define NID_wap_wsg_idm_ecid_wtls4 737 +#define OBJ_wap_wsg_idm_ecid_wtls4 OBJ_wap_wsg_idm_ecid,4L + +#define SN_wap_wsg_idm_ecid_wtls5 "wap-wsg-idm-ecid-wtls5" +#define NID_wap_wsg_idm_ecid_wtls5 738 +#define OBJ_wap_wsg_idm_ecid_wtls5 OBJ_wap_wsg_idm_ecid,5L + +#define SN_wap_wsg_idm_ecid_wtls6 "wap-wsg-idm-ecid-wtls6" +#define NID_wap_wsg_idm_ecid_wtls6 739 +#define OBJ_wap_wsg_idm_ecid_wtls6 OBJ_wap_wsg_idm_ecid,6L + +#define SN_wap_wsg_idm_ecid_wtls7 "wap-wsg-idm-ecid-wtls7" +#define NID_wap_wsg_idm_ecid_wtls7 740 +#define OBJ_wap_wsg_idm_ecid_wtls7 OBJ_wap_wsg_idm_ecid,7L + +#define SN_wap_wsg_idm_ecid_wtls8 "wap-wsg-idm-ecid-wtls8" +#define NID_wap_wsg_idm_ecid_wtls8 741 +#define OBJ_wap_wsg_idm_ecid_wtls8 OBJ_wap_wsg_idm_ecid,8L + +#define SN_wap_wsg_idm_ecid_wtls9 "wap-wsg-idm-ecid-wtls9" +#define NID_wap_wsg_idm_ecid_wtls9 742 +#define OBJ_wap_wsg_idm_ecid_wtls9 OBJ_wap_wsg_idm_ecid,9L + +#define SN_wap_wsg_idm_ecid_wtls10 "wap-wsg-idm-ecid-wtls10" +#define NID_wap_wsg_idm_ecid_wtls10 743 +#define OBJ_wap_wsg_idm_ecid_wtls10 OBJ_wap_wsg_idm_ecid,10L + +#define SN_wap_wsg_idm_ecid_wtls11 "wap-wsg-idm-ecid-wtls11" +#define NID_wap_wsg_idm_ecid_wtls11 744 +#define OBJ_wap_wsg_idm_ecid_wtls11 OBJ_wap_wsg_idm_ecid,11L + +#define SN_wap_wsg_idm_ecid_wtls12 "wap-wsg-idm-ecid-wtls12" +#define NID_wap_wsg_idm_ecid_wtls12 745 +#define OBJ_wap_wsg_idm_ecid_wtls12 OBJ_wap_wsg_idm_ecid,12L + +#define SN_cast5_cbc "CAST5-CBC" +#define LN_cast5_cbc "cast5-cbc" +#define NID_cast5_cbc 108 +#define OBJ_cast5_cbc OBJ_ISO_US,113533L,7L,66L,10L + +#define SN_cast5_ecb "CAST5-ECB" +#define LN_cast5_ecb "cast5-ecb" +#define NID_cast5_ecb 109 + +#define SN_cast5_cfb64 "CAST5-CFB" +#define LN_cast5_cfb64 "cast5-cfb" +#define NID_cast5_cfb64 110 + +#define SN_cast5_ofb64 "CAST5-OFB" +#define LN_cast5_ofb64 "cast5-ofb" +#define NID_cast5_ofb64 111 + +#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" +#define NID_pbeWithMD5AndCast5_CBC 112 +#define OBJ_pbeWithMD5AndCast5_CBC OBJ_ISO_US,113533L,7L,66L,12L + +#define SN_id_PasswordBasedMAC "id-PasswordBasedMAC" +#define LN_id_PasswordBasedMAC "password based MAC" +#define NID_id_PasswordBasedMAC 782 +#define OBJ_id_PasswordBasedMAC OBJ_ISO_US,113533L,7L,66L,13L + +#define SN_id_DHBasedMac "id-DHBasedMac" +#define LN_id_DHBasedMac "Diffie-Hellman based MAC" +#define NID_id_DHBasedMac 783 +#define OBJ_id_DHBasedMac OBJ_ISO_US,113533L,7L,66L,30L + +#define SN_rsadsi "rsadsi" +#define LN_rsadsi "RSA Data Security, Inc." +#define NID_rsadsi 1 +#define OBJ_rsadsi OBJ_ISO_US,113549L + +#define SN_pkcs "pkcs" +#define LN_pkcs "RSA Data Security, Inc. PKCS" +#define NID_pkcs 2 +#define OBJ_pkcs OBJ_rsadsi,1L + +#define SN_pkcs1 "pkcs1" +#define NID_pkcs1 186 +#define OBJ_pkcs1 OBJ_pkcs,1L + +#define LN_rsaEncryption "rsaEncryption" +#define NID_rsaEncryption 6 +#define OBJ_rsaEncryption OBJ_pkcs1,1L + +#define SN_md2WithRSAEncryption "RSA-MD2" +#define LN_md2WithRSAEncryption "md2WithRSAEncryption" +#define NID_md2WithRSAEncryption 7 +#define OBJ_md2WithRSAEncryption OBJ_pkcs1,2L + +#define SN_md4WithRSAEncryption "RSA-MD4" +#define LN_md4WithRSAEncryption "md4WithRSAEncryption" +#define NID_md4WithRSAEncryption 396 +#define OBJ_md4WithRSAEncryption OBJ_pkcs1,3L + +#define SN_md5WithRSAEncryption "RSA-MD5" +#define LN_md5WithRSAEncryption "md5WithRSAEncryption" +#define NID_md5WithRSAEncryption 8 +#define OBJ_md5WithRSAEncryption OBJ_pkcs1,4L + +#define SN_sha1WithRSAEncryption "RSA-SHA1" +#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" +#define NID_sha1WithRSAEncryption 65 +#define OBJ_sha1WithRSAEncryption OBJ_pkcs1,5L + +#define SN_rsaesOaep "RSAES-OAEP" +#define LN_rsaesOaep "rsaesOaep" +#define NID_rsaesOaep 919 +#define OBJ_rsaesOaep OBJ_pkcs1,7L + +#define SN_mgf1 "MGF1" +#define LN_mgf1 "mgf1" +#define NID_mgf1 911 +#define OBJ_mgf1 OBJ_pkcs1,8L + +#define SN_pSpecified "PSPECIFIED" +#define LN_pSpecified "pSpecified" +#define NID_pSpecified 935 +#define OBJ_pSpecified OBJ_pkcs1,9L + +#define SN_rsassaPss "RSASSA-PSS" +#define LN_rsassaPss "rsassaPss" +#define NID_rsassaPss 912 +#define OBJ_rsassaPss OBJ_pkcs1,10L + +#define SN_sha256WithRSAEncryption "RSA-SHA256" +#define LN_sha256WithRSAEncryption "sha256WithRSAEncryption" +#define NID_sha256WithRSAEncryption 668 +#define OBJ_sha256WithRSAEncryption OBJ_pkcs1,11L + +#define SN_sha384WithRSAEncryption "RSA-SHA384" +#define LN_sha384WithRSAEncryption "sha384WithRSAEncryption" +#define NID_sha384WithRSAEncryption 669 +#define OBJ_sha384WithRSAEncryption OBJ_pkcs1,12L + +#define SN_sha512WithRSAEncryption "RSA-SHA512" +#define LN_sha512WithRSAEncryption "sha512WithRSAEncryption" +#define NID_sha512WithRSAEncryption 670 +#define OBJ_sha512WithRSAEncryption OBJ_pkcs1,13L + +#define SN_sha224WithRSAEncryption "RSA-SHA224" +#define LN_sha224WithRSAEncryption "sha224WithRSAEncryption" +#define NID_sha224WithRSAEncryption 671 +#define OBJ_sha224WithRSAEncryption OBJ_pkcs1,14L + +#define SN_pkcs3 "pkcs3" +#define NID_pkcs3 27 +#define OBJ_pkcs3 OBJ_pkcs,3L + +#define LN_dhKeyAgreement "dhKeyAgreement" +#define NID_dhKeyAgreement 28 +#define OBJ_dhKeyAgreement OBJ_pkcs3,1L + +#define SN_pkcs5 "pkcs5" +#define NID_pkcs5 187 +#define OBJ_pkcs5 OBJ_pkcs,5L + +#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" +#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" +#define NID_pbeWithMD2AndDES_CBC 9 +#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs5,1L + +#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" +#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" +#define NID_pbeWithMD5AndDES_CBC 10 +#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs5,3L + +#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" +#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" +#define NID_pbeWithMD2AndRC2_CBC 168 +#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs5,4L + +#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" +#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" +#define NID_pbeWithMD5AndRC2_CBC 169 +#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs5,6L + +#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" +#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" +#define NID_pbeWithSHA1AndDES_CBC 170 +#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs5,10L + +#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" +#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" +#define NID_pbeWithSHA1AndRC2_CBC 68 +#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs5,11L + +#define LN_id_pbkdf2 "PBKDF2" +#define NID_id_pbkdf2 69 +#define OBJ_id_pbkdf2 OBJ_pkcs5,12L + +#define LN_pbes2 "PBES2" +#define NID_pbes2 161 +#define OBJ_pbes2 OBJ_pkcs5,13L + +#define LN_pbmac1 "PBMAC1" +#define NID_pbmac1 162 +#define OBJ_pbmac1 OBJ_pkcs5,14L + +#define SN_pkcs7 "pkcs7" +#define NID_pkcs7 20 +#define OBJ_pkcs7 OBJ_pkcs,7L + +#define LN_pkcs7_data "pkcs7-data" +#define NID_pkcs7_data 21 +#define OBJ_pkcs7_data OBJ_pkcs7,1L + +#define LN_pkcs7_signed "pkcs7-signedData" +#define NID_pkcs7_signed 22 +#define OBJ_pkcs7_signed OBJ_pkcs7,2L + +#define LN_pkcs7_enveloped "pkcs7-envelopedData" +#define NID_pkcs7_enveloped 23 +#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L + +#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" +#define NID_pkcs7_signedAndEnveloped 24 +#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L + +#define LN_pkcs7_digest "pkcs7-digestData" +#define NID_pkcs7_digest 25 +#define OBJ_pkcs7_digest OBJ_pkcs7,5L + +#define LN_pkcs7_encrypted "pkcs7-encryptedData" +#define NID_pkcs7_encrypted 26 +#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L + +#define SN_pkcs9 "pkcs9" +#define NID_pkcs9 47 +#define OBJ_pkcs9 OBJ_pkcs,9L + +#define LN_pkcs9_emailAddress "emailAddress" +#define NID_pkcs9_emailAddress 48 +#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L + +#define LN_pkcs9_unstructuredName "unstructuredName" +#define NID_pkcs9_unstructuredName 49 +#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L + +#define LN_pkcs9_contentType "contentType" +#define NID_pkcs9_contentType 50 +#define OBJ_pkcs9_contentType OBJ_pkcs9,3L + +#define LN_pkcs9_messageDigest "messageDigest" +#define NID_pkcs9_messageDigest 51 +#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L + +#define LN_pkcs9_signingTime "signingTime" +#define NID_pkcs9_signingTime 52 +#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L + +#define LN_pkcs9_countersignature "countersignature" +#define NID_pkcs9_countersignature 53 +#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L + +#define LN_pkcs9_challengePassword "challengePassword" +#define NID_pkcs9_challengePassword 54 +#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L + +#define LN_pkcs9_unstructuredAddress "unstructuredAddress" +#define NID_pkcs9_unstructuredAddress 55 +#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L + +#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" +#define NID_pkcs9_extCertAttributes 56 +#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L + +#define SN_ext_req "extReq" +#define LN_ext_req "Extension Request" +#define NID_ext_req 172 +#define OBJ_ext_req OBJ_pkcs9,14L + +#define SN_SMIMECapabilities "SMIME-CAPS" +#define LN_SMIMECapabilities "S/MIME Capabilities" +#define NID_SMIMECapabilities 167 +#define OBJ_SMIMECapabilities OBJ_pkcs9,15L + +#define SN_SMIME "SMIME" +#define LN_SMIME "S/MIME" +#define NID_SMIME 188 +#define OBJ_SMIME OBJ_pkcs9,16L + +#define SN_id_smime_mod "id-smime-mod" +#define NID_id_smime_mod 189 +#define OBJ_id_smime_mod OBJ_SMIME,0L + +#define SN_id_smime_ct "id-smime-ct" +#define NID_id_smime_ct 190 +#define OBJ_id_smime_ct OBJ_SMIME,1L + +#define SN_id_smime_aa "id-smime-aa" +#define NID_id_smime_aa 191 +#define OBJ_id_smime_aa OBJ_SMIME,2L + +#define SN_id_smime_alg "id-smime-alg" +#define NID_id_smime_alg 192 +#define OBJ_id_smime_alg OBJ_SMIME,3L + +#define SN_id_smime_cd "id-smime-cd" +#define NID_id_smime_cd 193 +#define OBJ_id_smime_cd OBJ_SMIME,4L + +#define SN_id_smime_spq "id-smime-spq" +#define NID_id_smime_spq 194 +#define OBJ_id_smime_spq OBJ_SMIME,5L + +#define SN_id_smime_cti "id-smime-cti" +#define NID_id_smime_cti 195 +#define OBJ_id_smime_cti OBJ_SMIME,6L + +#define SN_id_smime_mod_cms "id-smime-mod-cms" +#define NID_id_smime_mod_cms 196 +#define OBJ_id_smime_mod_cms OBJ_id_smime_mod,1L + +#define SN_id_smime_mod_ess "id-smime-mod-ess" +#define NID_id_smime_mod_ess 197 +#define OBJ_id_smime_mod_ess OBJ_id_smime_mod,2L + +#define SN_id_smime_mod_oid "id-smime-mod-oid" +#define NID_id_smime_mod_oid 198 +#define OBJ_id_smime_mod_oid OBJ_id_smime_mod,3L + +#define SN_id_smime_mod_msg_v3 "id-smime-mod-msg-v3" +#define NID_id_smime_mod_msg_v3 199 +#define OBJ_id_smime_mod_msg_v3 OBJ_id_smime_mod,4L + +#define SN_id_smime_mod_ets_eSignature_88 "id-smime-mod-ets-eSignature-88" +#define NID_id_smime_mod_ets_eSignature_88 200 +#define OBJ_id_smime_mod_ets_eSignature_88 OBJ_id_smime_mod,5L + +#define SN_id_smime_mod_ets_eSignature_97 "id-smime-mod-ets-eSignature-97" +#define NID_id_smime_mod_ets_eSignature_97 201 +#define OBJ_id_smime_mod_ets_eSignature_97 OBJ_id_smime_mod,6L + +#define SN_id_smime_mod_ets_eSigPolicy_88 "id-smime-mod-ets-eSigPolicy-88" +#define NID_id_smime_mod_ets_eSigPolicy_88 202 +#define OBJ_id_smime_mod_ets_eSigPolicy_88 OBJ_id_smime_mod,7L + +#define SN_id_smime_mod_ets_eSigPolicy_97 "id-smime-mod-ets-eSigPolicy-97" +#define NID_id_smime_mod_ets_eSigPolicy_97 203 +#define OBJ_id_smime_mod_ets_eSigPolicy_97 OBJ_id_smime_mod,8L + +#define SN_id_smime_ct_receipt "id-smime-ct-receipt" +#define NID_id_smime_ct_receipt 204 +#define OBJ_id_smime_ct_receipt OBJ_id_smime_ct,1L + +#define SN_id_smime_ct_authData "id-smime-ct-authData" +#define NID_id_smime_ct_authData 205 +#define OBJ_id_smime_ct_authData OBJ_id_smime_ct,2L + +#define SN_id_smime_ct_publishCert "id-smime-ct-publishCert" +#define NID_id_smime_ct_publishCert 206 +#define OBJ_id_smime_ct_publishCert OBJ_id_smime_ct,3L + +#define SN_id_smime_ct_TSTInfo "id-smime-ct-TSTInfo" +#define NID_id_smime_ct_TSTInfo 207 +#define OBJ_id_smime_ct_TSTInfo OBJ_id_smime_ct,4L + +#define SN_id_smime_ct_TDTInfo "id-smime-ct-TDTInfo" +#define NID_id_smime_ct_TDTInfo 208 +#define OBJ_id_smime_ct_TDTInfo OBJ_id_smime_ct,5L + +#define SN_id_smime_ct_contentInfo "id-smime-ct-contentInfo" +#define NID_id_smime_ct_contentInfo 209 +#define OBJ_id_smime_ct_contentInfo OBJ_id_smime_ct,6L + +#define SN_id_smime_ct_DVCSRequestData "id-smime-ct-DVCSRequestData" +#define NID_id_smime_ct_DVCSRequestData 210 +#define OBJ_id_smime_ct_DVCSRequestData OBJ_id_smime_ct,7L + +#define SN_id_smime_ct_DVCSResponseData "id-smime-ct-DVCSResponseData" +#define NID_id_smime_ct_DVCSResponseData 211 +#define OBJ_id_smime_ct_DVCSResponseData OBJ_id_smime_ct,8L + +#define SN_id_smime_ct_compressedData "id-smime-ct-compressedData" +#define NID_id_smime_ct_compressedData 786 +#define OBJ_id_smime_ct_compressedData OBJ_id_smime_ct,9L + +#define SN_id_ct_asciiTextWithCRLF "id-ct-asciiTextWithCRLF" +#define NID_id_ct_asciiTextWithCRLF 787 +#define OBJ_id_ct_asciiTextWithCRLF OBJ_id_smime_ct,27L + +#define SN_id_smime_aa_receiptRequest "id-smime-aa-receiptRequest" +#define NID_id_smime_aa_receiptRequest 212 +#define OBJ_id_smime_aa_receiptRequest OBJ_id_smime_aa,1L + +#define SN_id_smime_aa_securityLabel "id-smime-aa-securityLabel" +#define NID_id_smime_aa_securityLabel 213 +#define OBJ_id_smime_aa_securityLabel OBJ_id_smime_aa,2L + +#define SN_id_smime_aa_mlExpandHistory "id-smime-aa-mlExpandHistory" +#define NID_id_smime_aa_mlExpandHistory 214 +#define OBJ_id_smime_aa_mlExpandHistory OBJ_id_smime_aa,3L + +#define SN_id_smime_aa_contentHint "id-smime-aa-contentHint" +#define NID_id_smime_aa_contentHint 215 +#define OBJ_id_smime_aa_contentHint OBJ_id_smime_aa,4L + +#define SN_id_smime_aa_msgSigDigest "id-smime-aa-msgSigDigest" +#define NID_id_smime_aa_msgSigDigest 216 +#define OBJ_id_smime_aa_msgSigDigest OBJ_id_smime_aa,5L + +#define SN_id_smime_aa_encapContentType "id-smime-aa-encapContentType" +#define NID_id_smime_aa_encapContentType 217 +#define OBJ_id_smime_aa_encapContentType OBJ_id_smime_aa,6L + +#define SN_id_smime_aa_contentIdentifier "id-smime-aa-contentIdentifier" +#define NID_id_smime_aa_contentIdentifier 218 +#define OBJ_id_smime_aa_contentIdentifier OBJ_id_smime_aa,7L + +#define SN_id_smime_aa_macValue "id-smime-aa-macValue" +#define NID_id_smime_aa_macValue 219 +#define OBJ_id_smime_aa_macValue OBJ_id_smime_aa,8L + +#define SN_id_smime_aa_equivalentLabels "id-smime-aa-equivalentLabels" +#define NID_id_smime_aa_equivalentLabels 220 +#define OBJ_id_smime_aa_equivalentLabels OBJ_id_smime_aa,9L + +#define SN_id_smime_aa_contentReference "id-smime-aa-contentReference" +#define NID_id_smime_aa_contentReference 221 +#define OBJ_id_smime_aa_contentReference OBJ_id_smime_aa,10L + +#define SN_id_smime_aa_encrypKeyPref "id-smime-aa-encrypKeyPref" +#define NID_id_smime_aa_encrypKeyPref 222 +#define OBJ_id_smime_aa_encrypKeyPref OBJ_id_smime_aa,11L + +#define SN_id_smime_aa_signingCertificate "id-smime-aa-signingCertificate" +#define NID_id_smime_aa_signingCertificate 223 +#define OBJ_id_smime_aa_signingCertificate OBJ_id_smime_aa,12L + +#define SN_id_smime_aa_smimeEncryptCerts "id-smime-aa-smimeEncryptCerts" +#define NID_id_smime_aa_smimeEncryptCerts 224 +#define OBJ_id_smime_aa_smimeEncryptCerts OBJ_id_smime_aa,13L + +#define SN_id_smime_aa_timeStampToken "id-smime-aa-timeStampToken" +#define NID_id_smime_aa_timeStampToken 225 +#define OBJ_id_smime_aa_timeStampToken OBJ_id_smime_aa,14L + +#define SN_id_smime_aa_ets_sigPolicyId "id-smime-aa-ets-sigPolicyId" +#define NID_id_smime_aa_ets_sigPolicyId 226 +#define OBJ_id_smime_aa_ets_sigPolicyId OBJ_id_smime_aa,15L + +#define SN_id_smime_aa_ets_commitmentType "id-smime-aa-ets-commitmentType" +#define NID_id_smime_aa_ets_commitmentType 227 +#define OBJ_id_smime_aa_ets_commitmentType OBJ_id_smime_aa,16L + +#define SN_id_smime_aa_ets_signerLocation "id-smime-aa-ets-signerLocation" +#define NID_id_smime_aa_ets_signerLocation 228 +#define OBJ_id_smime_aa_ets_signerLocation OBJ_id_smime_aa,17L + +#define SN_id_smime_aa_ets_signerAttr "id-smime-aa-ets-signerAttr" +#define NID_id_smime_aa_ets_signerAttr 229 +#define OBJ_id_smime_aa_ets_signerAttr OBJ_id_smime_aa,18L + +#define SN_id_smime_aa_ets_otherSigCert "id-smime-aa-ets-otherSigCert" +#define NID_id_smime_aa_ets_otherSigCert 230 +#define OBJ_id_smime_aa_ets_otherSigCert OBJ_id_smime_aa,19L + +#define SN_id_smime_aa_ets_contentTimestamp "id-smime-aa-ets-contentTimestamp" +#define NID_id_smime_aa_ets_contentTimestamp 231 +#define OBJ_id_smime_aa_ets_contentTimestamp OBJ_id_smime_aa,20L + +#define SN_id_smime_aa_ets_CertificateRefs "id-smime-aa-ets-CertificateRefs" +#define NID_id_smime_aa_ets_CertificateRefs 232 +#define OBJ_id_smime_aa_ets_CertificateRefs OBJ_id_smime_aa,21L + +#define SN_id_smime_aa_ets_RevocationRefs "id-smime-aa-ets-RevocationRefs" +#define NID_id_smime_aa_ets_RevocationRefs 233 +#define OBJ_id_smime_aa_ets_RevocationRefs OBJ_id_smime_aa,22L + +#define SN_id_smime_aa_ets_certValues "id-smime-aa-ets-certValues" +#define NID_id_smime_aa_ets_certValues 234 +#define OBJ_id_smime_aa_ets_certValues OBJ_id_smime_aa,23L + +#define SN_id_smime_aa_ets_revocationValues "id-smime-aa-ets-revocationValues" +#define NID_id_smime_aa_ets_revocationValues 235 +#define OBJ_id_smime_aa_ets_revocationValues OBJ_id_smime_aa,24L + +#define SN_id_smime_aa_ets_escTimeStamp "id-smime-aa-ets-escTimeStamp" +#define NID_id_smime_aa_ets_escTimeStamp 236 +#define OBJ_id_smime_aa_ets_escTimeStamp OBJ_id_smime_aa,25L + +#define SN_id_smime_aa_ets_certCRLTimestamp "id-smime-aa-ets-certCRLTimestamp" +#define NID_id_smime_aa_ets_certCRLTimestamp 237 +#define OBJ_id_smime_aa_ets_certCRLTimestamp OBJ_id_smime_aa,26L + +#define SN_id_smime_aa_ets_archiveTimeStamp "id-smime-aa-ets-archiveTimeStamp" +#define NID_id_smime_aa_ets_archiveTimeStamp 238 +#define OBJ_id_smime_aa_ets_archiveTimeStamp OBJ_id_smime_aa,27L + +#define SN_id_smime_aa_signatureType "id-smime-aa-signatureType" +#define NID_id_smime_aa_signatureType 239 +#define OBJ_id_smime_aa_signatureType OBJ_id_smime_aa,28L + +#define SN_id_smime_aa_dvcs_dvc "id-smime-aa-dvcs-dvc" +#define NID_id_smime_aa_dvcs_dvc 240 +#define OBJ_id_smime_aa_dvcs_dvc OBJ_id_smime_aa,29L + +#define SN_id_smime_alg_ESDHwith3DES "id-smime-alg-ESDHwith3DES" +#define NID_id_smime_alg_ESDHwith3DES 241 +#define OBJ_id_smime_alg_ESDHwith3DES OBJ_id_smime_alg,1L + +#define SN_id_smime_alg_ESDHwithRC2 "id-smime-alg-ESDHwithRC2" +#define NID_id_smime_alg_ESDHwithRC2 242 +#define OBJ_id_smime_alg_ESDHwithRC2 OBJ_id_smime_alg,2L + +#define SN_id_smime_alg_3DESwrap "id-smime-alg-3DESwrap" +#define NID_id_smime_alg_3DESwrap 243 +#define OBJ_id_smime_alg_3DESwrap OBJ_id_smime_alg,3L + +#define SN_id_smime_alg_RC2wrap "id-smime-alg-RC2wrap" +#define NID_id_smime_alg_RC2wrap 244 +#define OBJ_id_smime_alg_RC2wrap OBJ_id_smime_alg,4L + +#define SN_id_smime_alg_ESDH "id-smime-alg-ESDH" +#define NID_id_smime_alg_ESDH 245 +#define OBJ_id_smime_alg_ESDH OBJ_id_smime_alg,5L + +#define SN_id_smime_alg_CMS3DESwrap "id-smime-alg-CMS3DESwrap" +#define NID_id_smime_alg_CMS3DESwrap 246 +#define OBJ_id_smime_alg_CMS3DESwrap OBJ_id_smime_alg,6L + +#define SN_id_smime_alg_CMSRC2wrap "id-smime-alg-CMSRC2wrap" +#define NID_id_smime_alg_CMSRC2wrap 247 +#define OBJ_id_smime_alg_CMSRC2wrap OBJ_id_smime_alg,7L + +#define SN_id_alg_PWRI_KEK "id-alg-PWRI-KEK" +#define NID_id_alg_PWRI_KEK 893 +#define OBJ_id_alg_PWRI_KEK OBJ_id_smime_alg,9L + +#define SN_id_smime_cd_ldap "id-smime-cd-ldap" +#define NID_id_smime_cd_ldap 248 +#define OBJ_id_smime_cd_ldap OBJ_id_smime_cd,1L + +#define SN_id_smime_spq_ets_sqt_uri "id-smime-spq-ets-sqt-uri" +#define NID_id_smime_spq_ets_sqt_uri 249 +#define OBJ_id_smime_spq_ets_sqt_uri OBJ_id_smime_spq,1L + +#define SN_id_smime_spq_ets_sqt_unotice "id-smime-spq-ets-sqt-unotice" +#define NID_id_smime_spq_ets_sqt_unotice 250 +#define OBJ_id_smime_spq_ets_sqt_unotice OBJ_id_smime_spq,2L + +#define SN_id_smime_cti_ets_proofOfOrigin "id-smime-cti-ets-proofOfOrigin" +#define NID_id_smime_cti_ets_proofOfOrigin 251 +#define OBJ_id_smime_cti_ets_proofOfOrigin OBJ_id_smime_cti,1L + +#define SN_id_smime_cti_ets_proofOfReceipt "id-smime-cti-ets-proofOfReceipt" +#define NID_id_smime_cti_ets_proofOfReceipt 252 +#define OBJ_id_smime_cti_ets_proofOfReceipt OBJ_id_smime_cti,2L + +#define SN_id_smime_cti_ets_proofOfDelivery "id-smime-cti-ets-proofOfDelivery" +#define NID_id_smime_cti_ets_proofOfDelivery 253 +#define OBJ_id_smime_cti_ets_proofOfDelivery OBJ_id_smime_cti,3L + +#define SN_id_smime_cti_ets_proofOfSender "id-smime-cti-ets-proofOfSender" +#define NID_id_smime_cti_ets_proofOfSender 254 +#define OBJ_id_smime_cti_ets_proofOfSender OBJ_id_smime_cti,4L + +#define SN_id_smime_cti_ets_proofOfApproval "id-smime-cti-ets-proofOfApproval" +#define NID_id_smime_cti_ets_proofOfApproval 255 +#define OBJ_id_smime_cti_ets_proofOfApproval OBJ_id_smime_cti,5L + +#define SN_id_smime_cti_ets_proofOfCreation "id-smime-cti-ets-proofOfCreation" +#define NID_id_smime_cti_ets_proofOfCreation 256 +#define OBJ_id_smime_cti_ets_proofOfCreation OBJ_id_smime_cti,6L + +#define LN_friendlyName "friendlyName" +#define NID_friendlyName 156 +#define OBJ_friendlyName OBJ_pkcs9,20L + +#define LN_localKeyID "localKeyID" +#define NID_localKeyID 157 +#define OBJ_localKeyID OBJ_pkcs9,21L + +#define SN_ms_csp_name "CSPName" +#define LN_ms_csp_name "Microsoft CSP Name" +#define NID_ms_csp_name 417 +#define OBJ_ms_csp_name 1L,3L,6L,1L,4L,1L,311L,17L,1L + +#define SN_LocalKeySet "LocalKeySet" +#define LN_LocalKeySet "Microsoft Local Key set" +#define NID_LocalKeySet 856 +#define OBJ_LocalKeySet 1L,3L,6L,1L,4L,1L,311L,17L,2L + +#define OBJ_certTypes OBJ_pkcs9,22L + +#define LN_x509Certificate "x509Certificate" +#define NID_x509Certificate 158 +#define OBJ_x509Certificate OBJ_certTypes,1L + +#define LN_sdsiCertificate "sdsiCertificate" +#define NID_sdsiCertificate 159 +#define OBJ_sdsiCertificate OBJ_certTypes,2L + +#define OBJ_crlTypes OBJ_pkcs9,23L + +#define LN_x509Crl "x509Crl" +#define NID_x509Crl 160 +#define OBJ_x509Crl OBJ_crlTypes,1L + +#define OBJ_pkcs12 OBJ_pkcs,12L + +#define OBJ_pkcs12_pbeids OBJ_pkcs12,1L + +#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" +#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" +#define NID_pbe_WithSHA1And128BitRC4 144 +#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids,1L + +#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" +#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" +#define NID_pbe_WithSHA1And40BitRC4 145 +#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids,2L + +#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" +#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 +#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids,3L + +#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" +#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 +#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids,4L + +#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" +#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" +#define NID_pbe_WithSHA1And128BitRC2_CBC 148 +#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids,5L + +#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" +#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" +#define NID_pbe_WithSHA1And40BitRC2_CBC 149 +#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids,6L + +#define OBJ_pkcs12_Version1 OBJ_pkcs12,10L + +#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1,1L + +#define LN_keyBag "keyBag" +#define NID_keyBag 150 +#define OBJ_keyBag OBJ_pkcs12_BagIds,1L + +#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" +#define NID_pkcs8ShroudedKeyBag 151 +#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds,2L + +#define LN_certBag "certBag" +#define NID_certBag 152 +#define OBJ_certBag OBJ_pkcs12_BagIds,3L + +#define LN_crlBag "crlBag" +#define NID_crlBag 153 +#define OBJ_crlBag OBJ_pkcs12_BagIds,4L + +#define LN_secretBag "secretBag" +#define NID_secretBag 154 +#define OBJ_secretBag OBJ_pkcs12_BagIds,5L + +#define LN_safeContentsBag "safeContentsBag" +#define NID_safeContentsBag 155 +#define OBJ_safeContentsBag OBJ_pkcs12_BagIds,6L + +#define SN_md2 "MD2" +#define LN_md2 "md2" +#define NID_md2 3 +#define OBJ_md2 OBJ_rsadsi,2L,2L + +#define SN_md4 "MD4" +#define LN_md4 "md4" +#define NID_md4 257 +#define OBJ_md4 OBJ_rsadsi,2L,4L + +#define SN_md5 "MD5" +#define LN_md5 "md5" +#define NID_md5 4 +#define OBJ_md5 OBJ_rsadsi,2L,5L + +#define SN_md5_sha1 "MD5-SHA1" +#define LN_md5_sha1 "md5-sha1" +#define NID_md5_sha1 114 + +#define LN_hmacWithMD5 "hmacWithMD5" +#define NID_hmacWithMD5 797 +#define OBJ_hmacWithMD5 OBJ_rsadsi,2L,6L + +#define LN_hmacWithSHA1 "hmacWithSHA1" +#define NID_hmacWithSHA1 163 +#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L + +#define LN_hmacWithSHA224 "hmacWithSHA224" +#define NID_hmacWithSHA224 798 +#define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L + +#define LN_hmacWithSHA256 "hmacWithSHA256" +#define NID_hmacWithSHA256 799 +#define OBJ_hmacWithSHA256 OBJ_rsadsi,2L,9L + +#define LN_hmacWithSHA384 "hmacWithSHA384" +#define NID_hmacWithSHA384 800 +#define OBJ_hmacWithSHA384 OBJ_rsadsi,2L,10L + +#define LN_hmacWithSHA512 "hmacWithSHA512" +#define NID_hmacWithSHA512 801 +#define OBJ_hmacWithSHA512 OBJ_rsadsi,2L,11L + +#define SN_rc2_cbc "RC2-CBC" +#define LN_rc2_cbc "rc2-cbc" +#define NID_rc2_cbc 37 +#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L + +#define SN_rc2_ecb "RC2-ECB" +#define LN_rc2_ecb "rc2-ecb" +#define NID_rc2_ecb 38 + +#define SN_rc2_cfb64 "RC2-CFB" +#define LN_rc2_cfb64 "rc2-cfb" +#define NID_rc2_cfb64 39 + +#define SN_rc2_ofb64 "RC2-OFB" +#define LN_rc2_ofb64 "rc2-ofb" +#define NID_rc2_ofb64 40 + +#define SN_rc2_40_cbc "RC2-40-CBC" +#define LN_rc2_40_cbc "rc2-40-cbc" +#define NID_rc2_40_cbc 98 + +#define SN_rc2_64_cbc "RC2-64-CBC" +#define LN_rc2_64_cbc "rc2-64-cbc" +#define NID_rc2_64_cbc 166 + +#define SN_rc4 "RC4" +#define LN_rc4 "rc4" +#define NID_rc4 5 +#define OBJ_rc4 OBJ_rsadsi,3L,4L + +#define SN_rc4_40 "RC4-40" +#define LN_rc4_40 "rc4-40" +#define NID_rc4_40 97 + +#define SN_des_ede3_cbc "DES-EDE3-CBC" +#define LN_des_ede3_cbc "des-ede3-cbc" +#define NID_des_ede3_cbc 44 +#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L + +#define SN_rc5_cbc "RC5-CBC" +#define LN_rc5_cbc "rc5-cbc" +#define NID_rc5_cbc 120 +#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L + +#define SN_rc5_ecb "RC5-ECB" +#define LN_rc5_ecb "rc5-ecb" +#define NID_rc5_ecb 121 + +#define SN_rc5_cfb64 "RC5-CFB" +#define LN_rc5_cfb64 "rc5-cfb" +#define NID_rc5_cfb64 122 + +#define SN_rc5_ofb64 "RC5-OFB" +#define LN_rc5_ofb64 "rc5-ofb" +#define NID_rc5_ofb64 123 + +#define SN_ms_ext_req "msExtReq" +#define LN_ms_ext_req "Microsoft Extension Request" +#define NID_ms_ext_req 171 +#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L + +#define SN_ms_code_ind "msCodeInd" +#define LN_ms_code_ind "Microsoft Individual Code Signing" +#define NID_ms_code_ind 134 +#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L + +#define SN_ms_code_com "msCodeCom" +#define LN_ms_code_com "Microsoft Commercial Code Signing" +#define NID_ms_code_com 135 +#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L + +#define SN_ms_ctl_sign "msCTLSign" +#define LN_ms_ctl_sign "Microsoft Trust List Signing" +#define NID_ms_ctl_sign 136 +#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L + +#define SN_ms_sgc "msSGC" +#define LN_ms_sgc "Microsoft Server Gated Crypto" +#define NID_ms_sgc 137 +#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L + +#define SN_ms_efs "msEFS" +#define LN_ms_efs "Microsoft Encrypted File System" +#define NID_ms_efs 138 +#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L + +#define SN_ms_smartcard_login "msSmartcardLogin" +#define LN_ms_smartcard_login "Microsoft Smartcardlogin" +#define NID_ms_smartcard_login 648 +#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L + +#define SN_ms_upn "msUPN" +#define LN_ms_upn "Microsoft Universal Principal Name" +#define NID_ms_upn 649 +#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L + +#define SN_idea_cbc "IDEA-CBC" +#define LN_idea_cbc "idea-cbc" +#define NID_idea_cbc 34 +#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L + +#define SN_idea_ecb "IDEA-ECB" +#define LN_idea_ecb "idea-ecb" +#define NID_idea_ecb 36 + +#define SN_idea_cfb64 "IDEA-CFB" +#define LN_idea_cfb64 "idea-cfb" +#define NID_idea_cfb64 35 + +#define SN_idea_ofb64 "IDEA-OFB" +#define LN_idea_ofb64 "idea-ofb" +#define NID_idea_ofb64 46 + +#define SN_bf_cbc "BF-CBC" +#define LN_bf_cbc "bf-cbc" +#define NID_bf_cbc 91 +#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L + +#define SN_bf_ecb "BF-ECB" +#define LN_bf_ecb "bf-ecb" +#define NID_bf_ecb 92 + +#define SN_bf_cfb64 "BF-CFB" +#define LN_bf_cfb64 "bf-cfb" +#define NID_bf_cfb64 93 + +#define SN_bf_ofb64 "BF-OFB" +#define LN_bf_ofb64 "bf-ofb" +#define NID_bf_ofb64 94 + +#define SN_id_pkix "PKIX" +#define NID_id_pkix 127 +#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L + +#define SN_id_pkix_mod "id-pkix-mod" +#define NID_id_pkix_mod 258 +#define OBJ_id_pkix_mod OBJ_id_pkix,0L + +#define SN_id_pe "id-pe" +#define NID_id_pe 175 +#define OBJ_id_pe OBJ_id_pkix,1L + +#define SN_id_qt "id-qt" +#define NID_id_qt 259 +#define OBJ_id_qt OBJ_id_pkix,2L + +#define SN_id_kp "id-kp" +#define NID_id_kp 128 +#define OBJ_id_kp OBJ_id_pkix,3L + +#define SN_id_it "id-it" +#define NID_id_it 260 +#define OBJ_id_it OBJ_id_pkix,4L + +#define SN_id_pkip "id-pkip" +#define NID_id_pkip 261 +#define OBJ_id_pkip OBJ_id_pkix,5L + +#define SN_id_alg "id-alg" +#define NID_id_alg 262 +#define OBJ_id_alg OBJ_id_pkix,6L + +#define SN_id_cmc "id-cmc" +#define NID_id_cmc 263 +#define OBJ_id_cmc OBJ_id_pkix,7L + +#define SN_id_on "id-on" +#define NID_id_on 264 +#define OBJ_id_on OBJ_id_pkix,8L + +#define SN_id_pda "id-pda" +#define NID_id_pda 265 +#define OBJ_id_pda OBJ_id_pkix,9L + +#define SN_id_aca "id-aca" +#define NID_id_aca 266 +#define OBJ_id_aca OBJ_id_pkix,10L + +#define SN_id_qcs "id-qcs" +#define NID_id_qcs 267 +#define OBJ_id_qcs OBJ_id_pkix,11L + +#define SN_id_cct "id-cct" +#define NID_id_cct 268 +#define OBJ_id_cct OBJ_id_pkix,12L + +#define SN_id_ppl "id-ppl" +#define NID_id_ppl 662 +#define OBJ_id_ppl OBJ_id_pkix,21L + +#define SN_id_ad "id-ad" +#define NID_id_ad 176 +#define OBJ_id_ad OBJ_id_pkix,48L + +#define SN_id_pkix1_explicit_88 "id-pkix1-explicit-88" +#define NID_id_pkix1_explicit_88 269 +#define OBJ_id_pkix1_explicit_88 OBJ_id_pkix_mod,1L + +#define SN_id_pkix1_implicit_88 "id-pkix1-implicit-88" +#define NID_id_pkix1_implicit_88 270 +#define OBJ_id_pkix1_implicit_88 OBJ_id_pkix_mod,2L + +#define SN_id_pkix1_explicit_93 "id-pkix1-explicit-93" +#define NID_id_pkix1_explicit_93 271 +#define OBJ_id_pkix1_explicit_93 OBJ_id_pkix_mod,3L + +#define SN_id_pkix1_implicit_93 "id-pkix1-implicit-93" +#define NID_id_pkix1_implicit_93 272 +#define OBJ_id_pkix1_implicit_93 OBJ_id_pkix_mod,4L + +#define SN_id_mod_crmf "id-mod-crmf" +#define NID_id_mod_crmf 273 +#define OBJ_id_mod_crmf OBJ_id_pkix_mod,5L + +#define SN_id_mod_cmc "id-mod-cmc" +#define NID_id_mod_cmc 274 +#define OBJ_id_mod_cmc OBJ_id_pkix_mod,6L + +#define SN_id_mod_kea_profile_88 "id-mod-kea-profile-88" +#define NID_id_mod_kea_profile_88 275 +#define OBJ_id_mod_kea_profile_88 OBJ_id_pkix_mod,7L + +#define SN_id_mod_kea_profile_93 "id-mod-kea-profile-93" +#define NID_id_mod_kea_profile_93 276 +#define OBJ_id_mod_kea_profile_93 OBJ_id_pkix_mod,8L + +#define SN_id_mod_cmp "id-mod-cmp" +#define NID_id_mod_cmp 277 +#define OBJ_id_mod_cmp OBJ_id_pkix_mod,9L + +#define SN_id_mod_qualified_cert_88 "id-mod-qualified-cert-88" +#define NID_id_mod_qualified_cert_88 278 +#define OBJ_id_mod_qualified_cert_88 OBJ_id_pkix_mod,10L + +#define SN_id_mod_qualified_cert_93 "id-mod-qualified-cert-93" +#define NID_id_mod_qualified_cert_93 279 +#define OBJ_id_mod_qualified_cert_93 OBJ_id_pkix_mod,11L + +#define SN_id_mod_attribute_cert "id-mod-attribute-cert" +#define NID_id_mod_attribute_cert 280 +#define OBJ_id_mod_attribute_cert OBJ_id_pkix_mod,12L + +#define SN_id_mod_timestamp_protocol "id-mod-timestamp-protocol" +#define NID_id_mod_timestamp_protocol 281 +#define OBJ_id_mod_timestamp_protocol OBJ_id_pkix_mod,13L + +#define SN_id_mod_ocsp "id-mod-ocsp" +#define NID_id_mod_ocsp 282 +#define OBJ_id_mod_ocsp OBJ_id_pkix_mod,14L + +#define SN_id_mod_dvcs "id-mod-dvcs" +#define NID_id_mod_dvcs 283 +#define OBJ_id_mod_dvcs OBJ_id_pkix_mod,15L + +#define SN_id_mod_cmp2000 "id-mod-cmp2000" +#define NID_id_mod_cmp2000 284 +#define OBJ_id_mod_cmp2000 OBJ_id_pkix_mod,16L + +#define SN_info_access "authorityInfoAccess" +#define LN_info_access "Authority Information Access" +#define NID_info_access 177 +#define OBJ_info_access OBJ_id_pe,1L + +#define SN_biometricInfo "biometricInfo" +#define LN_biometricInfo "Biometric Info" +#define NID_biometricInfo 285 +#define OBJ_biometricInfo OBJ_id_pe,2L + +#define SN_qcStatements "qcStatements" +#define NID_qcStatements 286 +#define OBJ_qcStatements OBJ_id_pe,3L + +#define SN_ac_auditEntity "ac-auditEntity" +#define NID_ac_auditEntity 287 +#define OBJ_ac_auditEntity OBJ_id_pe,4L + +#define SN_ac_targeting "ac-targeting" +#define NID_ac_targeting 288 +#define OBJ_ac_targeting OBJ_id_pe,5L + +#define SN_aaControls "aaControls" +#define NID_aaControls 289 +#define OBJ_aaControls OBJ_id_pe,6L + +#define SN_sbgp_ipAddrBlock "sbgp-ipAddrBlock" +#define NID_sbgp_ipAddrBlock 290 +#define OBJ_sbgp_ipAddrBlock OBJ_id_pe,7L + +#define SN_sbgp_autonomousSysNum "sbgp-autonomousSysNum" +#define NID_sbgp_autonomousSysNum 291 +#define OBJ_sbgp_autonomousSysNum OBJ_id_pe,8L + +#define SN_sbgp_routerIdentifier "sbgp-routerIdentifier" +#define NID_sbgp_routerIdentifier 292 +#define OBJ_sbgp_routerIdentifier OBJ_id_pe,9L + +#define SN_ac_proxying "ac-proxying" +#define NID_ac_proxying 397 +#define OBJ_ac_proxying OBJ_id_pe,10L + +#define SN_sinfo_access "subjectInfoAccess" +#define LN_sinfo_access "Subject Information Access" +#define NID_sinfo_access 398 +#define OBJ_sinfo_access OBJ_id_pe,11L + +#define SN_proxyCertInfo "proxyCertInfo" +#define LN_proxyCertInfo "Proxy Certificate Information" +#define NID_proxyCertInfo 663 +#define OBJ_proxyCertInfo OBJ_id_pe,14L + +#define SN_id_qt_cps "id-qt-cps" +#define LN_id_qt_cps "Policy Qualifier CPS" +#define NID_id_qt_cps 164 +#define OBJ_id_qt_cps OBJ_id_qt,1L + +#define SN_id_qt_unotice "id-qt-unotice" +#define LN_id_qt_unotice "Policy Qualifier User Notice" +#define NID_id_qt_unotice 165 +#define OBJ_id_qt_unotice OBJ_id_qt,2L + +#define SN_textNotice "textNotice" +#define NID_textNotice 293 +#define OBJ_textNotice OBJ_id_qt,3L + +#define SN_server_auth "serverAuth" +#define LN_server_auth "TLS Web Server Authentication" +#define NID_server_auth 129 +#define OBJ_server_auth OBJ_id_kp,1L + +#define SN_client_auth "clientAuth" +#define LN_client_auth "TLS Web Client Authentication" +#define NID_client_auth 130 +#define OBJ_client_auth OBJ_id_kp,2L + +#define SN_code_sign "codeSigning" +#define LN_code_sign "Code Signing" +#define NID_code_sign 131 +#define OBJ_code_sign OBJ_id_kp,3L + +#define SN_email_protect "emailProtection" +#define LN_email_protect "E-mail Protection" +#define NID_email_protect 132 +#define OBJ_email_protect OBJ_id_kp,4L + +#define SN_ipsecEndSystem "ipsecEndSystem" +#define LN_ipsecEndSystem "IPSec End System" +#define NID_ipsecEndSystem 294 +#define OBJ_ipsecEndSystem OBJ_id_kp,5L + +#define SN_ipsecTunnel "ipsecTunnel" +#define LN_ipsecTunnel "IPSec Tunnel" +#define NID_ipsecTunnel 295 +#define OBJ_ipsecTunnel OBJ_id_kp,6L + +#define SN_ipsecUser "ipsecUser" +#define LN_ipsecUser "IPSec User" +#define NID_ipsecUser 296 +#define OBJ_ipsecUser OBJ_id_kp,7L + +#define SN_time_stamp "timeStamping" +#define LN_time_stamp "Time Stamping" +#define NID_time_stamp 133 +#define OBJ_time_stamp OBJ_id_kp,8L + +#define SN_OCSP_sign "OCSPSigning" +#define LN_OCSP_sign "OCSP Signing" +#define NID_OCSP_sign 180 +#define OBJ_OCSP_sign OBJ_id_kp,9L + +#define SN_dvcs "DVCS" +#define LN_dvcs "dvcs" +#define NID_dvcs 297 +#define OBJ_dvcs OBJ_id_kp,10L + +#define SN_id_it_caProtEncCert "id-it-caProtEncCert" +#define NID_id_it_caProtEncCert 298 +#define OBJ_id_it_caProtEncCert OBJ_id_it,1L + +#define SN_id_it_signKeyPairTypes "id-it-signKeyPairTypes" +#define NID_id_it_signKeyPairTypes 299 +#define OBJ_id_it_signKeyPairTypes OBJ_id_it,2L + +#define SN_id_it_encKeyPairTypes "id-it-encKeyPairTypes" +#define NID_id_it_encKeyPairTypes 300 +#define OBJ_id_it_encKeyPairTypes OBJ_id_it,3L + +#define SN_id_it_preferredSymmAlg "id-it-preferredSymmAlg" +#define NID_id_it_preferredSymmAlg 301 +#define OBJ_id_it_preferredSymmAlg OBJ_id_it,4L + +#define SN_id_it_caKeyUpdateInfo "id-it-caKeyUpdateInfo" +#define NID_id_it_caKeyUpdateInfo 302 +#define OBJ_id_it_caKeyUpdateInfo OBJ_id_it,5L + +#define SN_id_it_currentCRL "id-it-currentCRL" +#define NID_id_it_currentCRL 303 +#define OBJ_id_it_currentCRL OBJ_id_it,6L + +#define SN_id_it_unsupportedOIDs "id-it-unsupportedOIDs" +#define NID_id_it_unsupportedOIDs 304 +#define OBJ_id_it_unsupportedOIDs OBJ_id_it,7L + +#define SN_id_it_subscriptionRequest "id-it-subscriptionRequest" +#define NID_id_it_subscriptionRequest 305 +#define OBJ_id_it_subscriptionRequest OBJ_id_it,8L + +#define SN_id_it_subscriptionResponse "id-it-subscriptionResponse" +#define NID_id_it_subscriptionResponse 306 +#define OBJ_id_it_subscriptionResponse OBJ_id_it,9L + +#define SN_id_it_keyPairParamReq "id-it-keyPairParamReq" +#define NID_id_it_keyPairParamReq 307 +#define OBJ_id_it_keyPairParamReq OBJ_id_it,10L + +#define SN_id_it_keyPairParamRep "id-it-keyPairParamRep" +#define NID_id_it_keyPairParamRep 308 +#define OBJ_id_it_keyPairParamRep OBJ_id_it,11L + +#define SN_id_it_revPassphrase "id-it-revPassphrase" +#define NID_id_it_revPassphrase 309 +#define OBJ_id_it_revPassphrase OBJ_id_it,12L + +#define SN_id_it_implicitConfirm "id-it-implicitConfirm" +#define NID_id_it_implicitConfirm 310 +#define OBJ_id_it_implicitConfirm OBJ_id_it,13L + +#define SN_id_it_confirmWaitTime "id-it-confirmWaitTime" +#define NID_id_it_confirmWaitTime 311 +#define OBJ_id_it_confirmWaitTime OBJ_id_it,14L + +#define SN_id_it_origPKIMessage "id-it-origPKIMessage" +#define NID_id_it_origPKIMessage 312 +#define OBJ_id_it_origPKIMessage OBJ_id_it,15L + +#define SN_id_it_suppLangTags "id-it-suppLangTags" +#define NID_id_it_suppLangTags 784 +#define OBJ_id_it_suppLangTags OBJ_id_it,16L + +#define SN_id_regCtrl "id-regCtrl" +#define NID_id_regCtrl 313 +#define OBJ_id_regCtrl OBJ_id_pkip,1L + +#define SN_id_regInfo "id-regInfo" +#define NID_id_regInfo 314 +#define OBJ_id_regInfo OBJ_id_pkip,2L + +#define SN_id_regCtrl_regToken "id-regCtrl-regToken" +#define NID_id_regCtrl_regToken 315 +#define OBJ_id_regCtrl_regToken OBJ_id_regCtrl,1L + +#define SN_id_regCtrl_authenticator "id-regCtrl-authenticator" +#define NID_id_regCtrl_authenticator 316 +#define OBJ_id_regCtrl_authenticator OBJ_id_regCtrl,2L + +#define SN_id_regCtrl_pkiPublicationInfo "id-regCtrl-pkiPublicationInfo" +#define NID_id_regCtrl_pkiPublicationInfo 317 +#define OBJ_id_regCtrl_pkiPublicationInfo OBJ_id_regCtrl,3L + +#define SN_id_regCtrl_pkiArchiveOptions "id-regCtrl-pkiArchiveOptions" +#define NID_id_regCtrl_pkiArchiveOptions 318 +#define OBJ_id_regCtrl_pkiArchiveOptions OBJ_id_regCtrl,4L + +#define SN_id_regCtrl_oldCertID "id-regCtrl-oldCertID" +#define NID_id_regCtrl_oldCertID 319 +#define OBJ_id_regCtrl_oldCertID OBJ_id_regCtrl,5L + +#define SN_id_regCtrl_protocolEncrKey "id-regCtrl-protocolEncrKey" +#define NID_id_regCtrl_protocolEncrKey 320 +#define OBJ_id_regCtrl_protocolEncrKey OBJ_id_regCtrl,6L + +#define SN_id_regInfo_utf8Pairs "id-regInfo-utf8Pairs" +#define NID_id_regInfo_utf8Pairs 321 +#define OBJ_id_regInfo_utf8Pairs OBJ_id_regInfo,1L + +#define SN_id_regInfo_certReq "id-regInfo-certReq" +#define NID_id_regInfo_certReq 322 +#define OBJ_id_regInfo_certReq OBJ_id_regInfo,2L + +#define SN_id_alg_des40 "id-alg-des40" +#define NID_id_alg_des40 323 +#define OBJ_id_alg_des40 OBJ_id_alg,1L + +#define SN_id_alg_noSignature "id-alg-noSignature" +#define NID_id_alg_noSignature 324 +#define OBJ_id_alg_noSignature OBJ_id_alg,2L + +#define SN_id_alg_dh_sig_hmac_sha1 "id-alg-dh-sig-hmac-sha1" +#define NID_id_alg_dh_sig_hmac_sha1 325 +#define OBJ_id_alg_dh_sig_hmac_sha1 OBJ_id_alg,3L + +#define SN_id_alg_dh_pop "id-alg-dh-pop" +#define NID_id_alg_dh_pop 326 +#define OBJ_id_alg_dh_pop OBJ_id_alg,4L + +#define SN_id_cmc_statusInfo "id-cmc-statusInfo" +#define NID_id_cmc_statusInfo 327 +#define OBJ_id_cmc_statusInfo OBJ_id_cmc,1L + +#define SN_id_cmc_identification "id-cmc-identification" +#define NID_id_cmc_identification 328 +#define OBJ_id_cmc_identification OBJ_id_cmc,2L + +#define SN_id_cmc_identityProof "id-cmc-identityProof" +#define NID_id_cmc_identityProof 329 +#define OBJ_id_cmc_identityProof OBJ_id_cmc,3L + +#define SN_id_cmc_dataReturn "id-cmc-dataReturn" +#define NID_id_cmc_dataReturn 330 +#define OBJ_id_cmc_dataReturn OBJ_id_cmc,4L + +#define SN_id_cmc_transactionId "id-cmc-transactionId" +#define NID_id_cmc_transactionId 331 +#define OBJ_id_cmc_transactionId OBJ_id_cmc,5L + +#define SN_id_cmc_senderNonce "id-cmc-senderNonce" +#define NID_id_cmc_senderNonce 332 +#define OBJ_id_cmc_senderNonce OBJ_id_cmc,6L + +#define SN_id_cmc_recipientNonce "id-cmc-recipientNonce" +#define NID_id_cmc_recipientNonce 333 +#define OBJ_id_cmc_recipientNonce OBJ_id_cmc,7L + +#define SN_id_cmc_addExtensions "id-cmc-addExtensions" +#define NID_id_cmc_addExtensions 334 +#define OBJ_id_cmc_addExtensions OBJ_id_cmc,8L + +#define SN_id_cmc_encryptedPOP "id-cmc-encryptedPOP" +#define NID_id_cmc_encryptedPOP 335 +#define OBJ_id_cmc_encryptedPOP OBJ_id_cmc,9L + +#define SN_id_cmc_decryptedPOP "id-cmc-decryptedPOP" +#define NID_id_cmc_decryptedPOP 336 +#define OBJ_id_cmc_decryptedPOP OBJ_id_cmc,10L + +#define SN_id_cmc_lraPOPWitness "id-cmc-lraPOPWitness" +#define NID_id_cmc_lraPOPWitness 337 +#define OBJ_id_cmc_lraPOPWitness OBJ_id_cmc,11L + +#define SN_id_cmc_getCert "id-cmc-getCert" +#define NID_id_cmc_getCert 338 +#define OBJ_id_cmc_getCert OBJ_id_cmc,15L + +#define SN_id_cmc_getCRL "id-cmc-getCRL" +#define NID_id_cmc_getCRL 339 +#define OBJ_id_cmc_getCRL OBJ_id_cmc,16L + +#define SN_id_cmc_revokeRequest "id-cmc-revokeRequest" +#define NID_id_cmc_revokeRequest 340 +#define OBJ_id_cmc_revokeRequest OBJ_id_cmc,17L + +#define SN_id_cmc_regInfo "id-cmc-regInfo" +#define NID_id_cmc_regInfo 341 +#define OBJ_id_cmc_regInfo OBJ_id_cmc,18L + +#define SN_id_cmc_responseInfo "id-cmc-responseInfo" +#define NID_id_cmc_responseInfo 342 +#define OBJ_id_cmc_responseInfo OBJ_id_cmc,19L + +#define SN_id_cmc_queryPending "id-cmc-queryPending" +#define NID_id_cmc_queryPending 343 +#define OBJ_id_cmc_queryPending OBJ_id_cmc,21L + +#define SN_id_cmc_popLinkRandom "id-cmc-popLinkRandom" +#define NID_id_cmc_popLinkRandom 344 +#define OBJ_id_cmc_popLinkRandom OBJ_id_cmc,22L + +#define SN_id_cmc_popLinkWitness "id-cmc-popLinkWitness" +#define NID_id_cmc_popLinkWitness 345 +#define OBJ_id_cmc_popLinkWitness OBJ_id_cmc,23L + +#define SN_id_cmc_confirmCertAcceptance "id-cmc-confirmCertAcceptance" +#define NID_id_cmc_confirmCertAcceptance 346 +#define OBJ_id_cmc_confirmCertAcceptance OBJ_id_cmc,24L + +#define SN_id_on_personalData "id-on-personalData" +#define NID_id_on_personalData 347 +#define OBJ_id_on_personalData OBJ_id_on,1L + +#define SN_id_on_permanentIdentifier "id-on-permanentIdentifier" +#define LN_id_on_permanentIdentifier "Permanent Identifier" +#define NID_id_on_permanentIdentifier 858 +#define OBJ_id_on_permanentIdentifier OBJ_id_on,3L + +#define SN_id_pda_dateOfBirth "id-pda-dateOfBirth" +#define NID_id_pda_dateOfBirth 348 +#define OBJ_id_pda_dateOfBirth OBJ_id_pda,1L + +#define SN_id_pda_placeOfBirth "id-pda-placeOfBirth" +#define NID_id_pda_placeOfBirth 349 +#define OBJ_id_pda_placeOfBirth OBJ_id_pda,2L + +#define SN_id_pda_gender "id-pda-gender" +#define NID_id_pda_gender 351 +#define OBJ_id_pda_gender OBJ_id_pda,3L + +#define SN_id_pda_countryOfCitizenship "id-pda-countryOfCitizenship" +#define NID_id_pda_countryOfCitizenship 352 +#define OBJ_id_pda_countryOfCitizenship OBJ_id_pda,4L + +#define SN_id_pda_countryOfResidence "id-pda-countryOfResidence" +#define NID_id_pda_countryOfResidence 353 +#define OBJ_id_pda_countryOfResidence OBJ_id_pda,5L + +#define SN_id_aca_authenticationInfo "id-aca-authenticationInfo" +#define NID_id_aca_authenticationInfo 354 +#define OBJ_id_aca_authenticationInfo OBJ_id_aca,1L + +#define SN_id_aca_accessIdentity "id-aca-accessIdentity" +#define NID_id_aca_accessIdentity 355 +#define OBJ_id_aca_accessIdentity OBJ_id_aca,2L + +#define SN_id_aca_chargingIdentity "id-aca-chargingIdentity" +#define NID_id_aca_chargingIdentity 356 +#define OBJ_id_aca_chargingIdentity OBJ_id_aca,3L + +#define SN_id_aca_group "id-aca-group" +#define NID_id_aca_group 357 +#define OBJ_id_aca_group OBJ_id_aca,4L + +#define SN_id_aca_role "id-aca-role" +#define NID_id_aca_role 358 +#define OBJ_id_aca_role OBJ_id_aca,5L + +#define SN_id_aca_encAttrs "id-aca-encAttrs" +#define NID_id_aca_encAttrs 399 +#define OBJ_id_aca_encAttrs OBJ_id_aca,6L + +#define SN_id_qcs_pkixQCSyntax_v1 "id-qcs-pkixQCSyntax-v1" +#define NID_id_qcs_pkixQCSyntax_v1 359 +#define OBJ_id_qcs_pkixQCSyntax_v1 OBJ_id_qcs,1L + +#define SN_id_cct_crs "id-cct-crs" +#define NID_id_cct_crs 360 +#define OBJ_id_cct_crs OBJ_id_cct,1L + +#define SN_id_cct_PKIData "id-cct-PKIData" +#define NID_id_cct_PKIData 361 +#define OBJ_id_cct_PKIData OBJ_id_cct,2L + +#define SN_id_cct_PKIResponse "id-cct-PKIResponse" +#define NID_id_cct_PKIResponse 362 +#define OBJ_id_cct_PKIResponse OBJ_id_cct,3L + +#define SN_id_ppl_anyLanguage "id-ppl-anyLanguage" +#define LN_id_ppl_anyLanguage "Any language" +#define NID_id_ppl_anyLanguage 664 +#define OBJ_id_ppl_anyLanguage OBJ_id_ppl,0L + +#define SN_id_ppl_inheritAll "id-ppl-inheritAll" +#define LN_id_ppl_inheritAll "Inherit all" +#define NID_id_ppl_inheritAll 665 +#define OBJ_id_ppl_inheritAll OBJ_id_ppl,1L + +#define SN_Independent "id-ppl-independent" +#define LN_Independent "Independent" +#define NID_Independent 667 +#define OBJ_Independent OBJ_id_ppl,2L + +#define SN_ad_OCSP "OCSP" +#define LN_ad_OCSP "OCSP" +#define NID_ad_OCSP 178 +#define OBJ_ad_OCSP OBJ_id_ad,1L + +#define SN_ad_ca_issuers "caIssuers" +#define LN_ad_ca_issuers "CA Issuers" +#define NID_ad_ca_issuers 179 +#define OBJ_ad_ca_issuers OBJ_id_ad,2L + +#define SN_ad_timeStamping "ad_timestamping" +#define LN_ad_timeStamping "AD Time Stamping" +#define NID_ad_timeStamping 363 +#define OBJ_ad_timeStamping OBJ_id_ad,3L + +#define SN_ad_dvcs "AD_DVCS" +#define LN_ad_dvcs "ad dvcs" +#define NID_ad_dvcs 364 +#define OBJ_ad_dvcs OBJ_id_ad,4L + +#define SN_caRepository "caRepository" +#define LN_caRepository "CA Repository" +#define NID_caRepository 785 +#define OBJ_caRepository OBJ_id_ad,5L + +#define OBJ_id_pkix_OCSP OBJ_ad_OCSP + +#define SN_id_pkix_OCSP_basic "basicOCSPResponse" +#define LN_id_pkix_OCSP_basic "Basic OCSP Response" +#define NID_id_pkix_OCSP_basic 365 +#define OBJ_id_pkix_OCSP_basic OBJ_id_pkix_OCSP,1L + +#define SN_id_pkix_OCSP_Nonce "Nonce" +#define LN_id_pkix_OCSP_Nonce "OCSP Nonce" +#define NID_id_pkix_OCSP_Nonce 366 +#define OBJ_id_pkix_OCSP_Nonce OBJ_id_pkix_OCSP,2L + +#define SN_id_pkix_OCSP_CrlID "CrlID" +#define LN_id_pkix_OCSP_CrlID "OCSP CRL ID" +#define NID_id_pkix_OCSP_CrlID 367 +#define OBJ_id_pkix_OCSP_CrlID OBJ_id_pkix_OCSP,3L + +#define SN_id_pkix_OCSP_acceptableResponses "acceptableResponses" +#define LN_id_pkix_OCSP_acceptableResponses "Acceptable OCSP Responses" +#define NID_id_pkix_OCSP_acceptableResponses 368 +#define OBJ_id_pkix_OCSP_acceptableResponses OBJ_id_pkix_OCSP,4L + +#define SN_id_pkix_OCSP_noCheck "noCheck" +#define LN_id_pkix_OCSP_noCheck "OCSP No Check" +#define NID_id_pkix_OCSP_noCheck 369 +#define OBJ_id_pkix_OCSP_noCheck OBJ_id_pkix_OCSP,5L + +#define SN_id_pkix_OCSP_archiveCutoff "archiveCutoff" +#define LN_id_pkix_OCSP_archiveCutoff "OCSP Archive Cutoff" +#define NID_id_pkix_OCSP_archiveCutoff 370 +#define OBJ_id_pkix_OCSP_archiveCutoff OBJ_id_pkix_OCSP,6L + +#define SN_id_pkix_OCSP_serviceLocator "serviceLocator" +#define LN_id_pkix_OCSP_serviceLocator "OCSP Service Locator" +#define NID_id_pkix_OCSP_serviceLocator 371 +#define OBJ_id_pkix_OCSP_serviceLocator OBJ_id_pkix_OCSP,7L + +#define SN_id_pkix_OCSP_extendedStatus "extendedStatus" +#define LN_id_pkix_OCSP_extendedStatus "Extended OCSP Status" +#define NID_id_pkix_OCSP_extendedStatus 372 +#define OBJ_id_pkix_OCSP_extendedStatus OBJ_id_pkix_OCSP,8L + +#define SN_id_pkix_OCSP_valid "valid" +#define NID_id_pkix_OCSP_valid 373 +#define OBJ_id_pkix_OCSP_valid OBJ_id_pkix_OCSP,9L + +#define SN_id_pkix_OCSP_path "path" +#define NID_id_pkix_OCSP_path 374 +#define OBJ_id_pkix_OCSP_path OBJ_id_pkix_OCSP,10L + +#define SN_id_pkix_OCSP_trustRoot "trustRoot" +#define LN_id_pkix_OCSP_trustRoot "Trust Root" +#define NID_id_pkix_OCSP_trustRoot 375 +#define OBJ_id_pkix_OCSP_trustRoot OBJ_id_pkix_OCSP,11L + +#define SN_algorithm "algorithm" +#define LN_algorithm "algorithm" +#define NID_algorithm 376 +#define OBJ_algorithm 1L,3L,14L,3L,2L + +#define SN_md5WithRSA "RSA-NP-MD5" +#define LN_md5WithRSA "md5WithRSA" +#define NID_md5WithRSA 104 +#define OBJ_md5WithRSA OBJ_algorithm,3L + +#define SN_des_ecb "DES-ECB" +#define LN_des_ecb "des-ecb" +#define NID_des_ecb 29 +#define OBJ_des_ecb OBJ_algorithm,6L + +#define SN_des_cbc "DES-CBC" +#define LN_des_cbc "des-cbc" +#define NID_des_cbc 31 +#define OBJ_des_cbc OBJ_algorithm,7L + +#define SN_des_ofb64 "DES-OFB" +#define LN_des_ofb64 "des-ofb" +#define NID_des_ofb64 45 +#define OBJ_des_ofb64 OBJ_algorithm,8L + +#define SN_des_cfb64 "DES-CFB" +#define LN_des_cfb64 "des-cfb" +#define NID_des_cfb64 30 +#define OBJ_des_cfb64 OBJ_algorithm,9L + +#define SN_rsaSignature "rsaSignature" +#define NID_rsaSignature 377 +#define OBJ_rsaSignature OBJ_algorithm,11L + +#define SN_dsa_2 "DSA-old" +#define LN_dsa_2 "dsaEncryption-old" +#define NID_dsa_2 67 +#define OBJ_dsa_2 OBJ_algorithm,12L + +#define SN_dsaWithSHA "DSA-SHA" +#define LN_dsaWithSHA "dsaWithSHA" +#define NID_dsaWithSHA 66 +#define OBJ_dsaWithSHA OBJ_algorithm,13L + +#define SN_shaWithRSAEncryption "RSA-SHA" +#define LN_shaWithRSAEncryption "shaWithRSAEncryption" +#define NID_shaWithRSAEncryption 42 +#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L + +#define SN_des_ede_ecb "DES-EDE" +#define LN_des_ede_ecb "des-ede" +#define NID_des_ede_ecb 32 +#define OBJ_des_ede_ecb OBJ_algorithm,17L + +#define SN_des_ede3_ecb "DES-EDE3" +#define LN_des_ede3_ecb "des-ede3" +#define NID_des_ede3_ecb 33 + +#define SN_des_ede_cbc "DES-EDE-CBC" +#define LN_des_ede_cbc "des-ede-cbc" +#define NID_des_ede_cbc 43 + +#define SN_des_ede_cfb64 "DES-EDE-CFB" +#define LN_des_ede_cfb64 "des-ede-cfb" +#define NID_des_ede_cfb64 60 + +#define SN_des_ede3_cfb64 "DES-EDE3-CFB" +#define LN_des_ede3_cfb64 "des-ede3-cfb" +#define NID_des_ede3_cfb64 61 + +#define SN_des_ede_ofb64 "DES-EDE-OFB" +#define LN_des_ede_ofb64 "des-ede-ofb" +#define NID_des_ede_ofb64 62 + +#define SN_des_ede3_ofb64 "DES-EDE3-OFB" +#define LN_des_ede3_ofb64 "des-ede3-ofb" +#define NID_des_ede3_ofb64 63 + +#define SN_desx_cbc "DESX-CBC" +#define LN_desx_cbc "desx-cbc" +#define NID_desx_cbc 80 + +#define SN_sha "SHA" +#define LN_sha "sha" +#define NID_sha 41 +#define OBJ_sha OBJ_algorithm,18L + +#define SN_sha1 "SHA1" +#define LN_sha1 "sha1" +#define NID_sha1 64 +#define OBJ_sha1 OBJ_algorithm,26L + +#define SN_dsaWithSHA1_2 "DSA-SHA1-old" +#define LN_dsaWithSHA1_2 "dsaWithSHA1-old" +#define NID_dsaWithSHA1_2 70 +#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L + +#define SN_sha1WithRSA "RSA-SHA1-2" +#define LN_sha1WithRSA "sha1WithRSA" +#define NID_sha1WithRSA 115 +#define OBJ_sha1WithRSA OBJ_algorithm,29L + +#define SN_ripemd160 "RIPEMD160" +#define LN_ripemd160 "ripemd160" +#define NID_ripemd160 117 +#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L + +#define SN_ripemd160WithRSA "RSA-RIPEMD160" +#define LN_ripemd160WithRSA "ripemd160WithRSA" +#define NID_ripemd160WithRSA 119 +#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L + +#define SN_sxnet "SXNetID" +#define LN_sxnet "Strong Extranet ID" +#define NID_sxnet 143 +#define OBJ_sxnet 1L,3L,101L,1L,4L,1L + +#define SN_X500 "X500" +#define LN_X500 "directory services (X.500)" +#define NID_X500 11 +#define OBJ_X500 2L,5L + +#define SN_X509 "X509" +#define NID_X509 12 +#define OBJ_X509 OBJ_X500,4L + +#define SN_commonName "CN" +#define LN_commonName "commonName" +#define NID_commonName 13 +#define OBJ_commonName OBJ_X509,3L + +#define SN_surname "SN" +#define LN_surname "surname" +#define NID_surname 100 +#define OBJ_surname OBJ_X509,4L + +#define LN_serialNumber "serialNumber" +#define NID_serialNumber 105 +#define OBJ_serialNumber OBJ_X509,5L + +#define SN_countryName "C" +#define LN_countryName "countryName" +#define NID_countryName 14 +#define OBJ_countryName OBJ_X509,6L + +#define SN_localityName "L" +#define LN_localityName "localityName" +#define NID_localityName 15 +#define OBJ_localityName OBJ_X509,7L + +#define SN_stateOrProvinceName "ST" +#define LN_stateOrProvinceName "stateOrProvinceName" +#define NID_stateOrProvinceName 16 +#define OBJ_stateOrProvinceName OBJ_X509,8L + +#define SN_streetAddress "street" +#define LN_streetAddress "streetAddress" +#define NID_streetAddress 660 +#define OBJ_streetAddress OBJ_X509,9L + +#define SN_organizationName "O" +#define LN_organizationName "organizationName" +#define NID_organizationName 17 +#define OBJ_organizationName OBJ_X509,10L + +#define SN_organizationalUnitName "OU" +#define LN_organizationalUnitName "organizationalUnitName" +#define NID_organizationalUnitName 18 +#define OBJ_organizationalUnitName OBJ_X509,11L + +#define SN_title "title" +#define LN_title "title" +#define NID_title 106 +#define OBJ_title OBJ_X509,12L + +#define LN_description "description" +#define NID_description 107 +#define OBJ_description OBJ_X509,13L + +#define LN_searchGuide "searchGuide" +#define NID_searchGuide 859 +#define OBJ_searchGuide OBJ_X509,14L + +#define LN_businessCategory "businessCategory" +#define NID_businessCategory 860 +#define OBJ_businessCategory OBJ_X509,15L + +#define LN_postalAddress "postalAddress" +#define NID_postalAddress 861 +#define OBJ_postalAddress OBJ_X509,16L + +#define LN_postalCode "postalCode" +#define NID_postalCode 661 +#define OBJ_postalCode OBJ_X509,17L + +#define LN_postOfficeBox "postOfficeBox" +#define NID_postOfficeBox 862 +#define OBJ_postOfficeBox OBJ_X509,18L + +#define LN_physicalDeliveryOfficeName "physicalDeliveryOfficeName" +#define NID_physicalDeliveryOfficeName 863 +#define OBJ_physicalDeliveryOfficeName OBJ_X509,19L + +#define LN_telephoneNumber "telephoneNumber" +#define NID_telephoneNumber 864 +#define OBJ_telephoneNumber OBJ_X509,20L + +#define LN_telexNumber "telexNumber" +#define NID_telexNumber 865 +#define OBJ_telexNumber OBJ_X509,21L + +#define LN_teletexTerminalIdentifier "teletexTerminalIdentifier" +#define NID_teletexTerminalIdentifier 866 +#define OBJ_teletexTerminalIdentifier OBJ_X509,22L + +#define LN_facsimileTelephoneNumber "facsimileTelephoneNumber" +#define NID_facsimileTelephoneNumber 867 +#define OBJ_facsimileTelephoneNumber OBJ_X509,23L + +#define LN_x121Address "x121Address" +#define NID_x121Address 868 +#define OBJ_x121Address OBJ_X509,24L + +#define LN_internationaliSDNNumber "internationaliSDNNumber" +#define NID_internationaliSDNNumber 869 +#define OBJ_internationaliSDNNumber OBJ_X509,25L + +#define LN_registeredAddress "registeredAddress" +#define NID_registeredAddress 870 +#define OBJ_registeredAddress OBJ_X509,26L + +#define LN_destinationIndicator "destinationIndicator" +#define NID_destinationIndicator 871 +#define OBJ_destinationIndicator OBJ_X509,27L + +#define LN_preferredDeliveryMethod "preferredDeliveryMethod" +#define NID_preferredDeliveryMethod 872 +#define OBJ_preferredDeliveryMethod OBJ_X509,28L + +#define LN_presentationAddress "presentationAddress" +#define NID_presentationAddress 873 +#define OBJ_presentationAddress OBJ_X509,29L + +#define LN_supportedApplicationContext "supportedApplicationContext" +#define NID_supportedApplicationContext 874 +#define OBJ_supportedApplicationContext OBJ_X509,30L + +#define SN_member "member" +#define NID_member 875 +#define OBJ_member OBJ_X509,31L + +#define SN_owner "owner" +#define NID_owner 876 +#define OBJ_owner OBJ_X509,32L + +#define LN_roleOccupant "roleOccupant" +#define NID_roleOccupant 877 +#define OBJ_roleOccupant OBJ_X509,33L + +#define SN_seeAlso "seeAlso" +#define NID_seeAlso 878 +#define OBJ_seeAlso OBJ_X509,34L + +#define LN_userPassword "userPassword" +#define NID_userPassword 879 +#define OBJ_userPassword OBJ_X509,35L + +#define LN_userCertificate "userCertificate" +#define NID_userCertificate 880 +#define OBJ_userCertificate OBJ_X509,36L + +#define LN_cACertificate "cACertificate" +#define NID_cACertificate 881 +#define OBJ_cACertificate OBJ_X509,37L + +#define LN_authorityRevocationList "authorityRevocationList" +#define NID_authorityRevocationList 882 +#define OBJ_authorityRevocationList OBJ_X509,38L + +#define LN_certificateRevocationList "certificateRevocationList" +#define NID_certificateRevocationList 883 +#define OBJ_certificateRevocationList OBJ_X509,39L + +#define LN_crossCertificatePair "crossCertificatePair" +#define NID_crossCertificatePair 884 +#define OBJ_crossCertificatePair OBJ_X509,40L + +#define SN_name "name" +#define LN_name "name" +#define NID_name 173 +#define OBJ_name OBJ_X509,41L + +#define SN_givenName "GN" +#define LN_givenName "givenName" +#define NID_givenName 99 +#define OBJ_givenName OBJ_X509,42L + +#define SN_initials "initials" +#define LN_initials "initials" +#define NID_initials 101 +#define OBJ_initials OBJ_X509,43L + +#define LN_generationQualifier "generationQualifier" +#define NID_generationQualifier 509 +#define OBJ_generationQualifier OBJ_X509,44L + +#define LN_x500UniqueIdentifier "x500UniqueIdentifier" +#define NID_x500UniqueIdentifier 503 +#define OBJ_x500UniqueIdentifier OBJ_X509,45L + +#define SN_dnQualifier "dnQualifier" +#define LN_dnQualifier "dnQualifier" +#define NID_dnQualifier 174 +#define OBJ_dnQualifier OBJ_X509,46L + +#define LN_enhancedSearchGuide "enhancedSearchGuide" +#define NID_enhancedSearchGuide 885 +#define OBJ_enhancedSearchGuide OBJ_X509,47L + +#define LN_protocolInformation "protocolInformation" +#define NID_protocolInformation 886 +#define OBJ_protocolInformation OBJ_X509,48L + +#define LN_distinguishedName "distinguishedName" +#define NID_distinguishedName 887 +#define OBJ_distinguishedName OBJ_X509,49L + +#define LN_uniqueMember "uniqueMember" +#define NID_uniqueMember 888 +#define OBJ_uniqueMember OBJ_X509,50L + +#define LN_houseIdentifier "houseIdentifier" +#define NID_houseIdentifier 889 +#define OBJ_houseIdentifier OBJ_X509,51L + +#define LN_supportedAlgorithms "supportedAlgorithms" +#define NID_supportedAlgorithms 890 +#define OBJ_supportedAlgorithms OBJ_X509,52L + +#define LN_deltaRevocationList "deltaRevocationList" +#define NID_deltaRevocationList 891 +#define OBJ_deltaRevocationList OBJ_X509,53L + +#define SN_dmdName "dmdName" +#define NID_dmdName 892 +#define OBJ_dmdName OBJ_X509,54L + +#define LN_pseudonym "pseudonym" +#define NID_pseudonym 510 +#define OBJ_pseudonym OBJ_X509,65L + +#define SN_role "role" +#define LN_role "role" +#define NID_role 400 +#define OBJ_role OBJ_X509,72L + +#define SN_X500algorithms "X500algorithms" +#define LN_X500algorithms "directory services - algorithms" +#define NID_X500algorithms 378 +#define OBJ_X500algorithms OBJ_X500,8L + +#define SN_rsa "RSA" +#define LN_rsa "rsa" +#define NID_rsa 19 +#define OBJ_rsa OBJ_X500algorithms,1L,1L + +#define SN_mdc2WithRSA "RSA-MDC2" +#define LN_mdc2WithRSA "mdc2WithRSA" +#define NID_mdc2WithRSA 96 +#define OBJ_mdc2WithRSA OBJ_X500algorithms,3L,100L + +#define SN_mdc2 "MDC2" +#define LN_mdc2 "mdc2" +#define NID_mdc2 95 +#define OBJ_mdc2 OBJ_X500algorithms,3L,101L + +#define SN_id_ce "id-ce" +#define NID_id_ce 81 +#define OBJ_id_ce OBJ_X500,29L + +#define SN_subject_directory_attributes "subjectDirectoryAttributes" +#define LN_subject_directory_attributes "X509v3 Subject Directory Attributes" +#define NID_subject_directory_attributes 769 +#define OBJ_subject_directory_attributes OBJ_id_ce,9L + +#define SN_subject_key_identifier "subjectKeyIdentifier" +#define LN_subject_key_identifier "X509v3 Subject Key Identifier" +#define NID_subject_key_identifier 82 +#define OBJ_subject_key_identifier OBJ_id_ce,14L + +#define SN_key_usage "keyUsage" +#define LN_key_usage "X509v3 Key Usage" +#define NID_key_usage 83 +#define OBJ_key_usage OBJ_id_ce,15L + +#define SN_private_key_usage_period "privateKeyUsagePeriod" +#define LN_private_key_usage_period "X509v3 Private Key Usage Period" +#define NID_private_key_usage_period 84 +#define OBJ_private_key_usage_period OBJ_id_ce,16L + +#define SN_subject_alt_name "subjectAltName" +#define LN_subject_alt_name "X509v3 Subject Alternative Name" +#define NID_subject_alt_name 85 +#define OBJ_subject_alt_name OBJ_id_ce,17L + +#define SN_issuer_alt_name "issuerAltName" +#define LN_issuer_alt_name "X509v3 Issuer Alternative Name" +#define NID_issuer_alt_name 86 +#define OBJ_issuer_alt_name OBJ_id_ce,18L + +#define SN_basic_constraints "basicConstraints" +#define LN_basic_constraints "X509v3 Basic Constraints" +#define NID_basic_constraints 87 +#define OBJ_basic_constraints OBJ_id_ce,19L + +#define SN_crl_number "crlNumber" +#define LN_crl_number "X509v3 CRL Number" +#define NID_crl_number 88 +#define OBJ_crl_number OBJ_id_ce,20L + +#define SN_crl_reason "CRLReason" +#define LN_crl_reason "X509v3 CRL Reason Code" +#define NID_crl_reason 141 +#define OBJ_crl_reason OBJ_id_ce,21L + +#define SN_invalidity_date "invalidityDate" +#define LN_invalidity_date "Invalidity Date" +#define NID_invalidity_date 142 +#define OBJ_invalidity_date OBJ_id_ce,24L + +#define SN_delta_crl "deltaCRL" +#define LN_delta_crl "X509v3 Delta CRL Indicator" +#define NID_delta_crl 140 +#define OBJ_delta_crl OBJ_id_ce,27L + +#define SN_issuing_distribution_point "issuingDistributionPoint" +#define LN_issuing_distribution_point "X509v3 Issuing Distrubution Point" +#define NID_issuing_distribution_point 770 +#define OBJ_issuing_distribution_point OBJ_id_ce,28L + +#define SN_certificate_issuer "certificateIssuer" +#define LN_certificate_issuer "X509v3 Certificate Issuer" +#define NID_certificate_issuer 771 +#define OBJ_certificate_issuer OBJ_id_ce,29L + +#define SN_name_constraints "nameConstraints" +#define LN_name_constraints "X509v3 Name Constraints" +#define NID_name_constraints 666 +#define OBJ_name_constraints OBJ_id_ce,30L + +#define SN_crl_distribution_points "crlDistributionPoints" +#define LN_crl_distribution_points "X509v3 CRL Distribution Points" +#define NID_crl_distribution_points 103 +#define OBJ_crl_distribution_points OBJ_id_ce,31L + +#define SN_certificate_policies "certificatePolicies" +#define LN_certificate_policies "X509v3 Certificate Policies" +#define NID_certificate_policies 89 +#define OBJ_certificate_policies OBJ_id_ce,32L + +#define SN_any_policy "anyPolicy" +#define LN_any_policy "X509v3 Any Policy" +#define NID_any_policy 746 +#define OBJ_any_policy OBJ_certificate_policies,0L + +#define SN_policy_mappings "policyMappings" +#define LN_policy_mappings "X509v3 Policy Mappings" +#define NID_policy_mappings 747 +#define OBJ_policy_mappings OBJ_id_ce,33L + +#define SN_authority_key_identifier "authorityKeyIdentifier" +#define LN_authority_key_identifier "X509v3 Authority Key Identifier" +#define NID_authority_key_identifier 90 +#define OBJ_authority_key_identifier OBJ_id_ce,35L + +#define SN_policy_constraints "policyConstraints" +#define LN_policy_constraints "X509v3 Policy Constraints" +#define NID_policy_constraints 401 +#define OBJ_policy_constraints OBJ_id_ce,36L + +#define SN_ext_key_usage "extendedKeyUsage" +#define LN_ext_key_usage "X509v3 Extended Key Usage" +#define NID_ext_key_usage 126 +#define OBJ_ext_key_usage OBJ_id_ce,37L + +#define SN_freshest_crl "freshestCRL" +#define LN_freshest_crl "X509v3 Freshest CRL" +#define NID_freshest_crl 857 +#define OBJ_freshest_crl OBJ_id_ce,46L + +#define SN_inhibit_any_policy "inhibitAnyPolicy" +#define LN_inhibit_any_policy "X509v3 Inhibit Any Policy" +#define NID_inhibit_any_policy 748 +#define OBJ_inhibit_any_policy OBJ_id_ce,54L + +#define SN_target_information "targetInformation" +#define LN_target_information "X509v3 AC Targeting" +#define NID_target_information 402 +#define OBJ_target_information OBJ_id_ce,55L + +#define SN_no_rev_avail "noRevAvail" +#define LN_no_rev_avail "X509v3 No Revocation Available" +#define NID_no_rev_avail 403 +#define OBJ_no_rev_avail OBJ_id_ce,56L + +#define SN_anyExtendedKeyUsage "anyExtendedKeyUsage" +#define LN_anyExtendedKeyUsage "Any Extended Key Usage" +#define NID_anyExtendedKeyUsage 910 +#define OBJ_anyExtendedKeyUsage OBJ_ext_key_usage,0L + +#define SN_netscape "Netscape" +#define LN_netscape "Netscape Communications Corp." +#define NID_netscape 57 +#define OBJ_netscape 2L,16L,840L,1L,113730L + +#define SN_netscape_cert_extension "nsCertExt" +#define LN_netscape_cert_extension "Netscape Certificate Extension" +#define NID_netscape_cert_extension 58 +#define OBJ_netscape_cert_extension OBJ_netscape,1L + +#define SN_netscape_data_type "nsDataType" +#define LN_netscape_data_type "Netscape Data Type" +#define NID_netscape_data_type 59 +#define OBJ_netscape_data_type OBJ_netscape,2L + +#define SN_netscape_cert_type "nsCertType" +#define LN_netscape_cert_type "Netscape Cert Type" +#define NID_netscape_cert_type 71 +#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L + +#define SN_netscape_base_url "nsBaseUrl" +#define LN_netscape_base_url "Netscape Base Url" +#define NID_netscape_base_url 72 +#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L + +#define SN_netscape_revocation_url "nsRevocationUrl" +#define LN_netscape_revocation_url "Netscape Revocation Url" +#define NID_netscape_revocation_url 73 +#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L + +#define SN_netscape_ca_revocation_url "nsCaRevocationUrl" +#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" +#define NID_netscape_ca_revocation_url 74 +#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L + +#define SN_netscape_renewal_url "nsRenewalUrl" +#define LN_netscape_renewal_url "Netscape Renewal Url" +#define NID_netscape_renewal_url 75 +#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L + +#define SN_netscape_ca_policy_url "nsCaPolicyUrl" +#define LN_netscape_ca_policy_url "Netscape CA Policy Url" +#define NID_netscape_ca_policy_url 76 +#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L + +#define SN_netscape_ssl_server_name "nsSslServerName" +#define LN_netscape_ssl_server_name "Netscape SSL Server Name" +#define NID_netscape_ssl_server_name 77 +#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L + +#define SN_netscape_comment "nsComment" +#define LN_netscape_comment "Netscape Comment" +#define NID_netscape_comment 78 +#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L + +#define SN_netscape_cert_sequence "nsCertSequence" +#define LN_netscape_cert_sequence "Netscape Certificate Sequence" +#define NID_netscape_cert_sequence 79 +#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L + +#define SN_ns_sgc "nsSGC" +#define LN_ns_sgc "Netscape Server Gated Crypto" +#define NID_ns_sgc 139 +#define OBJ_ns_sgc OBJ_netscape,4L,1L + +#define SN_org "ORG" +#define LN_org "org" +#define NID_org 379 +#define OBJ_org OBJ_iso,3L + +#define SN_dod "DOD" +#define LN_dod "dod" +#define NID_dod 380 +#define OBJ_dod OBJ_org,6L + +#define SN_iana "IANA" +#define LN_iana "iana" +#define NID_iana 381 +#define OBJ_iana OBJ_dod,1L + +#define OBJ_internet OBJ_iana + +#define SN_Directory "directory" +#define LN_Directory "Directory" +#define NID_Directory 382 +#define OBJ_Directory OBJ_internet,1L + +#define SN_Management "mgmt" +#define LN_Management "Management" +#define NID_Management 383 +#define OBJ_Management OBJ_internet,2L + +#define SN_Experimental "experimental" +#define LN_Experimental "Experimental" +#define NID_Experimental 384 +#define OBJ_Experimental OBJ_internet,3L + +#define SN_Private "private" +#define LN_Private "Private" +#define NID_Private 385 +#define OBJ_Private OBJ_internet,4L + +#define SN_Security "security" +#define LN_Security "Security" +#define NID_Security 386 +#define OBJ_Security OBJ_internet,5L + +#define SN_SNMPv2 "snmpv2" +#define LN_SNMPv2 "SNMPv2" +#define NID_SNMPv2 387 +#define OBJ_SNMPv2 OBJ_internet,6L + +#define LN_Mail "Mail" +#define NID_Mail 388 +#define OBJ_Mail OBJ_internet,7L + +#define SN_Enterprises "enterprises" +#define LN_Enterprises "Enterprises" +#define NID_Enterprises 389 +#define OBJ_Enterprises OBJ_Private,1L + +#define SN_dcObject "dcobject" +#define LN_dcObject "dcObject" +#define NID_dcObject 390 +#define OBJ_dcObject OBJ_Enterprises,1466L,344L + +#define SN_mime_mhs "mime-mhs" +#define LN_mime_mhs "MIME MHS" +#define NID_mime_mhs 504 +#define OBJ_mime_mhs OBJ_Mail,1L + +#define SN_mime_mhs_headings "mime-mhs-headings" +#define LN_mime_mhs_headings "mime-mhs-headings" +#define NID_mime_mhs_headings 505 +#define OBJ_mime_mhs_headings OBJ_mime_mhs,1L + +#define SN_mime_mhs_bodies "mime-mhs-bodies" +#define LN_mime_mhs_bodies "mime-mhs-bodies" +#define NID_mime_mhs_bodies 506 +#define OBJ_mime_mhs_bodies OBJ_mime_mhs,2L + +#define SN_id_hex_partial_message "id-hex-partial-message" +#define LN_id_hex_partial_message "id-hex-partial-message" +#define NID_id_hex_partial_message 507 +#define OBJ_id_hex_partial_message OBJ_mime_mhs_headings,1L + +#define SN_id_hex_multipart_message "id-hex-multipart-message" +#define LN_id_hex_multipart_message "id-hex-multipart-message" +#define NID_id_hex_multipart_message 508 +#define OBJ_id_hex_multipart_message OBJ_mime_mhs_headings,2L + +#define SN_rle_compression "RLE" +#define LN_rle_compression "run length compression" +#define NID_rle_compression 124 +#define OBJ_rle_compression 1L,1L,1L,1L,666L,1L + +#define SN_zlib_compression "ZLIB" +#define LN_zlib_compression "zlib compression" +#define NID_zlib_compression 125 +#define OBJ_zlib_compression OBJ_id_smime_alg,8L + +#define OBJ_csor 2L,16L,840L,1L,101L,3L + +#define OBJ_nistAlgorithms OBJ_csor,4L + +#define OBJ_aes OBJ_nistAlgorithms,1L + +#define SN_aes_128_ecb "AES-128-ECB" +#define LN_aes_128_ecb "aes-128-ecb" +#define NID_aes_128_ecb 418 +#define OBJ_aes_128_ecb OBJ_aes,1L + +#define SN_aes_128_cbc "AES-128-CBC" +#define LN_aes_128_cbc "aes-128-cbc" +#define NID_aes_128_cbc 419 +#define OBJ_aes_128_cbc OBJ_aes,2L + +#define SN_aes_128_ofb128 "AES-128-OFB" +#define LN_aes_128_ofb128 "aes-128-ofb" +#define NID_aes_128_ofb128 420 +#define OBJ_aes_128_ofb128 OBJ_aes,3L + +#define SN_aes_128_cfb128 "AES-128-CFB" +#define LN_aes_128_cfb128 "aes-128-cfb" +#define NID_aes_128_cfb128 421 +#define OBJ_aes_128_cfb128 OBJ_aes,4L + +#define SN_id_aes128_wrap "id-aes128-wrap" +#define NID_id_aes128_wrap 788 +#define OBJ_id_aes128_wrap OBJ_aes,5L + +#define SN_aes_128_gcm "id-aes128-GCM" +#define LN_aes_128_gcm "aes-128-gcm" +#define NID_aes_128_gcm 895 +#define OBJ_aes_128_gcm OBJ_aes,6L + +#define SN_aes_128_ccm "id-aes128-CCM" +#define LN_aes_128_ccm "aes-128-ccm" +#define NID_aes_128_ccm 896 +#define OBJ_aes_128_ccm OBJ_aes,7L + +#define SN_id_aes128_wrap_pad "id-aes128-wrap-pad" +#define NID_id_aes128_wrap_pad 897 +#define OBJ_id_aes128_wrap_pad OBJ_aes,8L + +#define SN_aes_192_ecb "AES-192-ECB" +#define LN_aes_192_ecb "aes-192-ecb" +#define NID_aes_192_ecb 422 +#define OBJ_aes_192_ecb OBJ_aes,21L + +#define SN_aes_192_cbc "AES-192-CBC" +#define LN_aes_192_cbc "aes-192-cbc" +#define NID_aes_192_cbc 423 +#define OBJ_aes_192_cbc OBJ_aes,22L + +#define SN_aes_192_ofb128 "AES-192-OFB" +#define LN_aes_192_ofb128 "aes-192-ofb" +#define NID_aes_192_ofb128 424 +#define OBJ_aes_192_ofb128 OBJ_aes,23L + +#define SN_aes_192_cfb128 "AES-192-CFB" +#define LN_aes_192_cfb128 "aes-192-cfb" +#define NID_aes_192_cfb128 425 +#define OBJ_aes_192_cfb128 OBJ_aes,24L + +#define SN_id_aes192_wrap "id-aes192-wrap" +#define NID_id_aes192_wrap 789 +#define OBJ_id_aes192_wrap OBJ_aes,25L + +#define SN_aes_192_gcm "id-aes192-GCM" +#define LN_aes_192_gcm "aes-192-gcm" +#define NID_aes_192_gcm 898 +#define OBJ_aes_192_gcm OBJ_aes,26L + +#define SN_aes_192_ccm "id-aes192-CCM" +#define LN_aes_192_ccm "aes-192-ccm" +#define NID_aes_192_ccm 899 +#define OBJ_aes_192_ccm OBJ_aes,27L + +#define SN_id_aes192_wrap_pad "id-aes192-wrap-pad" +#define NID_id_aes192_wrap_pad 900 +#define OBJ_id_aes192_wrap_pad OBJ_aes,28L + +#define SN_aes_256_ecb "AES-256-ECB" +#define LN_aes_256_ecb "aes-256-ecb" +#define NID_aes_256_ecb 426 +#define OBJ_aes_256_ecb OBJ_aes,41L + +#define SN_aes_256_cbc "AES-256-CBC" +#define LN_aes_256_cbc "aes-256-cbc" +#define NID_aes_256_cbc 427 +#define OBJ_aes_256_cbc OBJ_aes,42L + +#define SN_aes_256_ofb128 "AES-256-OFB" +#define LN_aes_256_ofb128 "aes-256-ofb" +#define NID_aes_256_ofb128 428 +#define OBJ_aes_256_ofb128 OBJ_aes,43L + +#define SN_aes_256_cfb128 "AES-256-CFB" +#define LN_aes_256_cfb128 "aes-256-cfb" +#define NID_aes_256_cfb128 429 +#define OBJ_aes_256_cfb128 OBJ_aes,44L + +#define SN_id_aes256_wrap "id-aes256-wrap" +#define NID_id_aes256_wrap 790 +#define OBJ_id_aes256_wrap OBJ_aes,45L + +#define SN_aes_256_gcm "id-aes256-GCM" +#define LN_aes_256_gcm "aes-256-gcm" +#define NID_aes_256_gcm 901 +#define OBJ_aes_256_gcm OBJ_aes,46L + +#define SN_aes_256_ccm "id-aes256-CCM" +#define LN_aes_256_ccm "aes-256-ccm" +#define NID_aes_256_ccm 902 +#define OBJ_aes_256_ccm OBJ_aes,47L + +#define SN_id_aes256_wrap_pad "id-aes256-wrap-pad" +#define NID_id_aes256_wrap_pad 903 +#define OBJ_id_aes256_wrap_pad OBJ_aes,48L + +#define SN_aes_128_cfb1 "AES-128-CFB1" +#define LN_aes_128_cfb1 "aes-128-cfb1" +#define NID_aes_128_cfb1 650 + +#define SN_aes_192_cfb1 "AES-192-CFB1" +#define LN_aes_192_cfb1 "aes-192-cfb1" +#define NID_aes_192_cfb1 651 + +#define SN_aes_256_cfb1 "AES-256-CFB1" +#define LN_aes_256_cfb1 "aes-256-cfb1" +#define NID_aes_256_cfb1 652 + +#define SN_aes_128_cfb8 "AES-128-CFB8" +#define LN_aes_128_cfb8 "aes-128-cfb8" +#define NID_aes_128_cfb8 653 + +#define SN_aes_192_cfb8 "AES-192-CFB8" +#define LN_aes_192_cfb8 "aes-192-cfb8" +#define NID_aes_192_cfb8 654 + +#define SN_aes_256_cfb8 "AES-256-CFB8" +#define LN_aes_256_cfb8 "aes-256-cfb8" +#define NID_aes_256_cfb8 655 + +#define SN_aes_128_ctr "AES-128-CTR" +#define LN_aes_128_ctr "aes-128-ctr" +#define NID_aes_128_ctr 904 + +#define SN_aes_192_ctr "AES-192-CTR" +#define LN_aes_192_ctr "aes-192-ctr" +#define NID_aes_192_ctr 905 + +#define SN_aes_256_ctr "AES-256-CTR" +#define LN_aes_256_ctr "aes-256-ctr" +#define NID_aes_256_ctr 906 + +#define SN_aes_128_xts "AES-128-XTS" +#define LN_aes_128_xts "aes-128-xts" +#define NID_aes_128_xts 913 + +#define SN_aes_256_xts "AES-256-XTS" +#define LN_aes_256_xts "aes-256-xts" +#define NID_aes_256_xts 914 + +#define SN_des_cfb1 "DES-CFB1" +#define LN_des_cfb1 "des-cfb1" +#define NID_des_cfb1 656 + +#define SN_des_cfb8 "DES-CFB8" +#define LN_des_cfb8 "des-cfb8" +#define NID_des_cfb8 657 + +#define SN_des_ede3_cfb1 "DES-EDE3-CFB1" +#define LN_des_ede3_cfb1 "des-ede3-cfb1" +#define NID_des_ede3_cfb1 658 + +#define SN_des_ede3_cfb8 "DES-EDE3-CFB8" +#define LN_des_ede3_cfb8 "des-ede3-cfb8" +#define NID_des_ede3_cfb8 659 + +#define OBJ_nist_hashalgs OBJ_nistAlgorithms,2L + +#define SN_sha256 "SHA256" +#define LN_sha256 "sha256" +#define NID_sha256 672 +#define OBJ_sha256 OBJ_nist_hashalgs,1L + +#define SN_sha384 "SHA384" +#define LN_sha384 "sha384" +#define NID_sha384 673 +#define OBJ_sha384 OBJ_nist_hashalgs,2L + +#define SN_sha512 "SHA512" +#define LN_sha512 "sha512" +#define NID_sha512 674 +#define OBJ_sha512 OBJ_nist_hashalgs,3L + +#define SN_sha224 "SHA224" +#define LN_sha224 "sha224" +#define NID_sha224 675 +#define OBJ_sha224 OBJ_nist_hashalgs,4L + +#define OBJ_dsa_with_sha2 OBJ_nistAlgorithms,3L + +#define SN_dsa_with_SHA224 "dsa_with_SHA224" +#define NID_dsa_with_SHA224 802 +#define OBJ_dsa_with_SHA224 OBJ_dsa_with_sha2,1L + +#define SN_dsa_with_SHA256 "dsa_with_SHA256" +#define NID_dsa_with_SHA256 803 +#define OBJ_dsa_with_SHA256 OBJ_dsa_with_sha2,2L + +#define SN_hold_instruction_code "holdInstructionCode" +#define LN_hold_instruction_code "Hold Instruction Code" +#define NID_hold_instruction_code 430 +#define OBJ_hold_instruction_code OBJ_id_ce,23L + +#define OBJ_holdInstruction OBJ_X9_57,2L + +#define SN_hold_instruction_none "holdInstructionNone" +#define LN_hold_instruction_none "Hold Instruction None" +#define NID_hold_instruction_none 431 +#define OBJ_hold_instruction_none OBJ_holdInstruction,1L + +#define SN_hold_instruction_call_issuer "holdInstructionCallIssuer" +#define LN_hold_instruction_call_issuer "Hold Instruction Call Issuer" +#define NID_hold_instruction_call_issuer 432 +#define OBJ_hold_instruction_call_issuer OBJ_holdInstruction,2L + +#define SN_hold_instruction_reject "holdInstructionReject" +#define LN_hold_instruction_reject "Hold Instruction Reject" +#define NID_hold_instruction_reject 433 +#define OBJ_hold_instruction_reject OBJ_holdInstruction,3L + +#define SN_data "data" +#define NID_data 434 +#define OBJ_data OBJ_itu_t,9L + +#define SN_pss "pss" +#define NID_pss 435 +#define OBJ_pss OBJ_data,2342L + +#define SN_ucl "ucl" +#define NID_ucl 436 +#define OBJ_ucl OBJ_pss,19200300L + +#define SN_pilot "pilot" +#define NID_pilot 437 +#define OBJ_pilot OBJ_ucl,100L + +#define LN_pilotAttributeType "pilotAttributeType" +#define NID_pilotAttributeType 438 +#define OBJ_pilotAttributeType OBJ_pilot,1L + +#define LN_pilotAttributeSyntax "pilotAttributeSyntax" +#define NID_pilotAttributeSyntax 439 +#define OBJ_pilotAttributeSyntax OBJ_pilot,3L + +#define LN_pilotObjectClass "pilotObjectClass" +#define NID_pilotObjectClass 440 +#define OBJ_pilotObjectClass OBJ_pilot,4L + +#define LN_pilotGroups "pilotGroups" +#define NID_pilotGroups 441 +#define OBJ_pilotGroups OBJ_pilot,10L + +#define LN_iA5StringSyntax "iA5StringSyntax" +#define NID_iA5StringSyntax 442 +#define OBJ_iA5StringSyntax OBJ_pilotAttributeSyntax,4L + +#define LN_caseIgnoreIA5StringSyntax "caseIgnoreIA5StringSyntax" +#define NID_caseIgnoreIA5StringSyntax 443 +#define OBJ_caseIgnoreIA5StringSyntax OBJ_pilotAttributeSyntax,5L + +#define LN_pilotObject "pilotObject" +#define NID_pilotObject 444 +#define OBJ_pilotObject OBJ_pilotObjectClass,3L + +#define LN_pilotPerson "pilotPerson" +#define NID_pilotPerson 445 +#define OBJ_pilotPerson OBJ_pilotObjectClass,4L + +#define SN_account "account" +#define NID_account 446 +#define OBJ_account OBJ_pilotObjectClass,5L + +#define SN_document "document" +#define NID_document 447 +#define OBJ_document OBJ_pilotObjectClass,6L + +#define SN_room "room" +#define NID_room 448 +#define OBJ_room OBJ_pilotObjectClass,7L + +#define LN_documentSeries "documentSeries" +#define NID_documentSeries 449 +#define OBJ_documentSeries OBJ_pilotObjectClass,9L + +#define SN_Domain "domain" +#define LN_Domain "Domain" +#define NID_Domain 392 +#define OBJ_Domain OBJ_pilotObjectClass,13L + +#define LN_rFC822localPart "rFC822localPart" +#define NID_rFC822localPart 450 +#define OBJ_rFC822localPart OBJ_pilotObjectClass,14L + +#define LN_dNSDomain "dNSDomain" +#define NID_dNSDomain 451 +#define OBJ_dNSDomain OBJ_pilotObjectClass,15L + +#define LN_domainRelatedObject "domainRelatedObject" +#define NID_domainRelatedObject 452 +#define OBJ_domainRelatedObject OBJ_pilotObjectClass,17L + +#define LN_friendlyCountry "friendlyCountry" +#define NID_friendlyCountry 453 +#define OBJ_friendlyCountry OBJ_pilotObjectClass,18L + +#define LN_simpleSecurityObject "simpleSecurityObject" +#define NID_simpleSecurityObject 454 +#define OBJ_simpleSecurityObject OBJ_pilotObjectClass,19L + +#define LN_pilotOrganization "pilotOrganization" +#define NID_pilotOrganization 455 +#define OBJ_pilotOrganization OBJ_pilotObjectClass,20L + +#define LN_pilotDSA "pilotDSA" +#define NID_pilotDSA 456 +#define OBJ_pilotDSA OBJ_pilotObjectClass,21L + +#define LN_qualityLabelledData "qualityLabelledData" +#define NID_qualityLabelledData 457 +#define OBJ_qualityLabelledData OBJ_pilotObjectClass,22L + +#define SN_userId "UID" +#define LN_userId "userId" +#define NID_userId 458 +#define OBJ_userId OBJ_pilotAttributeType,1L + +#define LN_textEncodedORAddress "textEncodedORAddress" +#define NID_textEncodedORAddress 459 +#define OBJ_textEncodedORAddress OBJ_pilotAttributeType,2L + +#define SN_rfc822Mailbox "mail" +#define LN_rfc822Mailbox "rfc822Mailbox" +#define NID_rfc822Mailbox 460 +#define OBJ_rfc822Mailbox OBJ_pilotAttributeType,3L + +#define SN_info "info" +#define NID_info 461 +#define OBJ_info OBJ_pilotAttributeType,4L + +#define LN_favouriteDrink "favouriteDrink" +#define NID_favouriteDrink 462 +#define OBJ_favouriteDrink OBJ_pilotAttributeType,5L + +#define LN_roomNumber "roomNumber" +#define NID_roomNumber 463 +#define OBJ_roomNumber OBJ_pilotAttributeType,6L + +#define SN_photo "photo" +#define NID_photo 464 +#define OBJ_photo OBJ_pilotAttributeType,7L + +#define LN_userClass "userClass" +#define NID_userClass 465 +#define OBJ_userClass OBJ_pilotAttributeType,8L + +#define SN_host "host" +#define NID_host 466 +#define OBJ_host OBJ_pilotAttributeType,9L + +#define SN_manager "manager" +#define NID_manager 467 +#define OBJ_manager OBJ_pilotAttributeType,10L + +#define LN_documentIdentifier "documentIdentifier" +#define NID_documentIdentifier 468 +#define OBJ_documentIdentifier OBJ_pilotAttributeType,11L + +#define LN_documentTitle "documentTitle" +#define NID_documentTitle 469 +#define OBJ_documentTitle OBJ_pilotAttributeType,12L + +#define LN_documentVersion "documentVersion" +#define NID_documentVersion 470 +#define OBJ_documentVersion OBJ_pilotAttributeType,13L + +#define LN_documentAuthor "documentAuthor" +#define NID_documentAuthor 471 +#define OBJ_documentAuthor OBJ_pilotAttributeType,14L + +#define LN_documentLocation "documentLocation" +#define NID_documentLocation 472 +#define OBJ_documentLocation OBJ_pilotAttributeType,15L + +#define LN_homeTelephoneNumber "homeTelephoneNumber" +#define NID_homeTelephoneNumber 473 +#define OBJ_homeTelephoneNumber OBJ_pilotAttributeType,20L + +#define SN_secretary "secretary" +#define NID_secretary 474 +#define OBJ_secretary OBJ_pilotAttributeType,21L + +#define LN_otherMailbox "otherMailbox" +#define NID_otherMailbox 475 +#define OBJ_otherMailbox OBJ_pilotAttributeType,22L + +#define LN_lastModifiedTime "lastModifiedTime" +#define NID_lastModifiedTime 476 +#define OBJ_lastModifiedTime OBJ_pilotAttributeType,23L + +#define LN_lastModifiedBy "lastModifiedBy" +#define NID_lastModifiedBy 477 +#define OBJ_lastModifiedBy OBJ_pilotAttributeType,24L + +#define SN_domainComponent "DC" +#define LN_domainComponent "domainComponent" +#define NID_domainComponent 391 +#define OBJ_domainComponent OBJ_pilotAttributeType,25L + +#define LN_aRecord "aRecord" +#define NID_aRecord 478 +#define OBJ_aRecord OBJ_pilotAttributeType,26L + +#define LN_pilotAttributeType27 "pilotAttributeType27" +#define NID_pilotAttributeType27 479 +#define OBJ_pilotAttributeType27 OBJ_pilotAttributeType,27L + +#define LN_mXRecord "mXRecord" +#define NID_mXRecord 480 +#define OBJ_mXRecord OBJ_pilotAttributeType,28L + +#define LN_nSRecord "nSRecord" +#define NID_nSRecord 481 +#define OBJ_nSRecord OBJ_pilotAttributeType,29L + +#define LN_sOARecord "sOARecord" +#define NID_sOARecord 482 +#define OBJ_sOARecord OBJ_pilotAttributeType,30L + +#define LN_cNAMERecord "cNAMERecord" +#define NID_cNAMERecord 483 +#define OBJ_cNAMERecord OBJ_pilotAttributeType,31L + +#define LN_associatedDomain "associatedDomain" +#define NID_associatedDomain 484 +#define OBJ_associatedDomain OBJ_pilotAttributeType,37L + +#define LN_associatedName "associatedName" +#define NID_associatedName 485 +#define OBJ_associatedName OBJ_pilotAttributeType,38L + +#define LN_homePostalAddress "homePostalAddress" +#define NID_homePostalAddress 486 +#define OBJ_homePostalAddress OBJ_pilotAttributeType,39L + +#define LN_personalTitle "personalTitle" +#define NID_personalTitle 487 +#define OBJ_personalTitle OBJ_pilotAttributeType,40L + +#define LN_mobileTelephoneNumber "mobileTelephoneNumber" +#define NID_mobileTelephoneNumber 488 +#define OBJ_mobileTelephoneNumber OBJ_pilotAttributeType,41L + +#define LN_pagerTelephoneNumber "pagerTelephoneNumber" +#define NID_pagerTelephoneNumber 489 +#define OBJ_pagerTelephoneNumber OBJ_pilotAttributeType,42L + +#define LN_friendlyCountryName "friendlyCountryName" +#define NID_friendlyCountryName 490 +#define OBJ_friendlyCountryName OBJ_pilotAttributeType,43L + +#define LN_organizationalStatus "organizationalStatus" +#define NID_organizationalStatus 491 +#define OBJ_organizationalStatus OBJ_pilotAttributeType,45L + +#define LN_janetMailbox "janetMailbox" +#define NID_janetMailbox 492 +#define OBJ_janetMailbox OBJ_pilotAttributeType,46L + +#define LN_mailPreferenceOption "mailPreferenceOption" +#define NID_mailPreferenceOption 493 +#define OBJ_mailPreferenceOption OBJ_pilotAttributeType,47L + +#define LN_buildingName "buildingName" +#define NID_buildingName 494 +#define OBJ_buildingName OBJ_pilotAttributeType,48L + +#define LN_dSAQuality "dSAQuality" +#define NID_dSAQuality 495 +#define OBJ_dSAQuality OBJ_pilotAttributeType,49L + +#define LN_singleLevelQuality "singleLevelQuality" +#define NID_singleLevelQuality 496 +#define OBJ_singleLevelQuality OBJ_pilotAttributeType,50L + +#define LN_subtreeMinimumQuality "subtreeMinimumQuality" +#define NID_subtreeMinimumQuality 497 +#define OBJ_subtreeMinimumQuality OBJ_pilotAttributeType,51L + +#define LN_subtreeMaximumQuality "subtreeMaximumQuality" +#define NID_subtreeMaximumQuality 498 +#define OBJ_subtreeMaximumQuality OBJ_pilotAttributeType,52L + +#define LN_personalSignature "personalSignature" +#define NID_personalSignature 499 +#define OBJ_personalSignature OBJ_pilotAttributeType,53L + +#define LN_dITRedirect "dITRedirect" +#define NID_dITRedirect 500 +#define OBJ_dITRedirect OBJ_pilotAttributeType,54L + +#define SN_audio "audio" +#define NID_audio 501 +#define OBJ_audio OBJ_pilotAttributeType,55L + +#define LN_documentPublisher "documentPublisher" +#define NID_documentPublisher 502 +#define OBJ_documentPublisher OBJ_pilotAttributeType,56L + +#define SN_id_set "id-set" +#define LN_id_set "Secure Electronic Transactions" +#define NID_id_set 512 +#define OBJ_id_set OBJ_international_organizations,42L + +#define SN_set_ctype "set-ctype" +#define LN_set_ctype "content types" +#define NID_set_ctype 513 +#define OBJ_set_ctype OBJ_id_set,0L + +#define SN_set_msgExt "set-msgExt" +#define LN_set_msgExt "message extensions" +#define NID_set_msgExt 514 +#define OBJ_set_msgExt OBJ_id_set,1L + +#define SN_set_attr "set-attr" +#define NID_set_attr 515 +#define OBJ_set_attr OBJ_id_set,3L + +#define SN_set_policy "set-policy" +#define NID_set_policy 516 +#define OBJ_set_policy OBJ_id_set,5L + +#define SN_set_certExt "set-certExt" +#define LN_set_certExt "certificate extensions" +#define NID_set_certExt 517 +#define OBJ_set_certExt OBJ_id_set,7L + +#define SN_set_brand "set-brand" +#define NID_set_brand 518 +#define OBJ_set_brand OBJ_id_set,8L + +#define SN_setct_PANData "setct-PANData" +#define NID_setct_PANData 519 +#define OBJ_setct_PANData OBJ_set_ctype,0L + +#define SN_setct_PANToken "setct-PANToken" +#define NID_setct_PANToken 520 +#define OBJ_setct_PANToken OBJ_set_ctype,1L + +#define SN_setct_PANOnly "setct-PANOnly" +#define NID_setct_PANOnly 521 +#define OBJ_setct_PANOnly OBJ_set_ctype,2L + +#define SN_setct_OIData "setct-OIData" +#define NID_setct_OIData 522 +#define OBJ_setct_OIData OBJ_set_ctype,3L + +#define SN_setct_PI "setct-PI" +#define NID_setct_PI 523 +#define OBJ_setct_PI OBJ_set_ctype,4L + +#define SN_setct_PIData "setct-PIData" +#define NID_setct_PIData 524 +#define OBJ_setct_PIData OBJ_set_ctype,5L + +#define SN_setct_PIDataUnsigned "setct-PIDataUnsigned" +#define NID_setct_PIDataUnsigned 525 +#define OBJ_setct_PIDataUnsigned OBJ_set_ctype,6L + +#define SN_setct_HODInput "setct-HODInput" +#define NID_setct_HODInput 526 +#define OBJ_setct_HODInput OBJ_set_ctype,7L + +#define SN_setct_AuthResBaggage "setct-AuthResBaggage" +#define NID_setct_AuthResBaggage 527 +#define OBJ_setct_AuthResBaggage OBJ_set_ctype,8L + +#define SN_setct_AuthRevReqBaggage "setct-AuthRevReqBaggage" +#define NID_setct_AuthRevReqBaggage 528 +#define OBJ_setct_AuthRevReqBaggage OBJ_set_ctype,9L + +#define SN_setct_AuthRevResBaggage "setct-AuthRevResBaggage" +#define NID_setct_AuthRevResBaggage 529 +#define OBJ_setct_AuthRevResBaggage OBJ_set_ctype,10L + +#define SN_setct_CapTokenSeq "setct-CapTokenSeq" +#define NID_setct_CapTokenSeq 530 +#define OBJ_setct_CapTokenSeq OBJ_set_ctype,11L + +#define SN_setct_PInitResData "setct-PInitResData" +#define NID_setct_PInitResData 531 +#define OBJ_setct_PInitResData OBJ_set_ctype,12L + +#define SN_setct_PI_TBS "setct-PI-TBS" +#define NID_setct_PI_TBS 532 +#define OBJ_setct_PI_TBS OBJ_set_ctype,13L + +#define SN_setct_PResData "setct-PResData" +#define NID_setct_PResData 533 +#define OBJ_setct_PResData OBJ_set_ctype,14L + +#define SN_setct_AuthReqTBS "setct-AuthReqTBS" +#define NID_setct_AuthReqTBS 534 +#define OBJ_setct_AuthReqTBS OBJ_set_ctype,16L + +#define SN_setct_AuthResTBS "setct-AuthResTBS" +#define NID_setct_AuthResTBS 535 +#define OBJ_setct_AuthResTBS OBJ_set_ctype,17L + +#define SN_setct_AuthResTBSX "setct-AuthResTBSX" +#define NID_setct_AuthResTBSX 536 +#define OBJ_setct_AuthResTBSX OBJ_set_ctype,18L + +#define SN_setct_AuthTokenTBS "setct-AuthTokenTBS" +#define NID_setct_AuthTokenTBS 537 +#define OBJ_setct_AuthTokenTBS OBJ_set_ctype,19L + +#define SN_setct_CapTokenData "setct-CapTokenData" +#define NID_setct_CapTokenData 538 +#define OBJ_setct_CapTokenData OBJ_set_ctype,20L + +#define SN_setct_CapTokenTBS "setct-CapTokenTBS" +#define NID_setct_CapTokenTBS 539 +#define OBJ_setct_CapTokenTBS OBJ_set_ctype,21L + +#define SN_setct_AcqCardCodeMsg "setct-AcqCardCodeMsg" +#define NID_setct_AcqCardCodeMsg 540 +#define OBJ_setct_AcqCardCodeMsg OBJ_set_ctype,22L + +#define SN_setct_AuthRevReqTBS "setct-AuthRevReqTBS" +#define NID_setct_AuthRevReqTBS 541 +#define OBJ_setct_AuthRevReqTBS OBJ_set_ctype,23L + +#define SN_setct_AuthRevResData "setct-AuthRevResData" +#define NID_setct_AuthRevResData 542 +#define OBJ_setct_AuthRevResData OBJ_set_ctype,24L + +#define SN_setct_AuthRevResTBS "setct-AuthRevResTBS" +#define NID_setct_AuthRevResTBS 543 +#define OBJ_setct_AuthRevResTBS OBJ_set_ctype,25L + +#define SN_setct_CapReqTBS "setct-CapReqTBS" +#define NID_setct_CapReqTBS 544 +#define OBJ_setct_CapReqTBS OBJ_set_ctype,26L + +#define SN_setct_CapReqTBSX "setct-CapReqTBSX" +#define NID_setct_CapReqTBSX 545 +#define OBJ_setct_CapReqTBSX OBJ_set_ctype,27L + +#define SN_setct_CapResData "setct-CapResData" +#define NID_setct_CapResData 546 +#define OBJ_setct_CapResData OBJ_set_ctype,28L + +#define SN_setct_CapRevReqTBS "setct-CapRevReqTBS" +#define NID_setct_CapRevReqTBS 547 +#define OBJ_setct_CapRevReqTBS OBJ_set_ctype,29L + +#define SN_setct_CapRevReqTBSX "setct-CapRevReqTBSX" +#define NID_setct_CapRevReqTBSX 548 +#define OBJ_setct_CapRevReqTBSX OBJ_set_ctype,30L + +#define SN_setct_CapRevResData "setct-CapRevResData" +#define NID_setct_CapRevResData 549 +#define OBJ_setct_CapRevResData OBJ_set_ctype,31L + +#define SN_setct_CredReqTBS "setct-CredReqTBS" +#define NID_setct_CredReqTBS 550 +#define OBJ_setct_CredReqTBS OBJ_set_ctype,32L + +#define SN_setct_CredReqTBSX "setct-CredReqTBSX" +#define NID_setct_CredReqTBSX 551 +#define OBJ_setct_CredReqTBSX OBJ_set_ctype,33L + +#define SN_setct_CredResData "setct-CredResData" +#define NID_setct_CredResData 552 +#define OBJ_setct_CredResData OBJ_set_ctype,34L + +#define SN_setct_CredRevReqTBS "setct-CredRevReqTBS" +#define NID_setct_CredRevReqTBS 553 +#define OBJ_setct_CredRevReqTBS OBJ_set_ctype,35L + +#define SN_setct_CredRevReqTBSX "setct-CredRevReqTBSX" +#define NID_setct_CredRevReqTBSX 554 +#define OBJ_setct_CredRevReqTBSX OBJ_set_ctype,36L + +#define SN_setct_CredRevResData "setct-CredRevResData" +#define NID_setct_CredRevResData 555 +#define OBJ_setct_CredRevResData OBJ_set_ctype,37L + +#define SN_setct_PCertReqData "setct-PCertReqData" +#define NID_setct_PCertReqData 556 +#define OBJ_setct_PCertReqData OBJ_set_ctype,38L + +#define SN_setct_PCertResTBS "setct-PCertResTBS" +#define NID_setct_PCertResTBS 557 +#define OBJ_setct_PCertResTBS OBJ_set_ctype,39L + +#define SN_setct_BatchAdminReqData "setct-BatchAdminReqData" +#define NID_setct_BatchAdminReqData 558 +#define OBJ_setct_BatchAdminReqData OBJ_set_ctype,40L + +#define SN_setct_BatchAdminResData "setct-BatchAdminResData" +#define NID_setct_BatchAdminResData 559 +#define OBJ_setct_BatchAdminResData OBJ_set_ctype,41L + +#define SN_setct_CardCInitResTBS "setct-CardCInitResTBS" +#define NID_setct_CardCInitResTBS 560 +#define OBJ_setct_CardCInitResTBS OBJ_set_ctype,42L + +#define SN_setct_MeAqCInitResTBS "setct-MeAqCInitResTBS" +#define NID_setct_MeAqCInitResTBS 561 +#define OBJ_setct_MeAqCInitResTBS OBJ_set_ctype,43L + +#define SN_setct_RegFormResTBS "setct-RegFormResTBS" +#define NID_setct_RegFormResTBS 562 +#define OBJ_setct_RegFormResTBS OBJ_set_ctype,44L + +#define SN_setct_CertReqData "setct-CertReqData" +#define NID_setct_CertReqData 563 +#define OBJ_setct_CertReqData OBJ_set_ctype,45L + +#define SN_setct_CertReqTBS "setct-CertReqTBS" +#define NID_setct_CertReqTBS 564 +#define OBJ_setct_CertReqTBS OBJ_set_ctype,46L + +#define SN_setct_CertResData "setct-CertResData" +#define NID_setct_CertResData 565 +#define OBJ_setct_CertResData OBJ_set_ctype,47L + +#define SN_setct_CertInqReqTBS "setct-CertInqReqTBS" +#define NID_setct_CertInqReqTBS 566 +#define OBJ_setct_CertInqReqTBS OBJ_set_ctype,48L + +#define SN_setct_ErrorTBS "setct-ErrorTBS" +#define NID_setct_ErrorTBS 567 +#define OBJ_setct_ErrorTBS OBJ_set_ctype,49L + +#define SN_setct_PIDualSignedTBE "setct-PIDualSignedTBE" +#define NID_setct_PIDualSignedTBE 568 +#define OBJ_setct_PIDualSignedTBE OBJ_set_ctype,50L + +#define SN_setct_PIUnsignedTBE "setct-PIUnsignedTBE" +#define NID_setct_PIUnsignedTBE 569 +#define OBJ_setct_PIUnsignedTBE OBJ_set_ctype,51L + +#define SN_setct_AuthReqTBE "setct-AuthReqTBE" +#define NID_setct_AuthReqTBE 570 +#define OBJ_setct_AuthReqTBE OBJ_set_ctype,52L + +#define SN_setct_AuthResTBE "setct-AuthResTBE" +#define NID_setct_AuthResTBE 571 +#define OBJ_setct_AuthResTBE OBJ_set_ctype,53L + +#define SN_setct_AuthResTBEX "setct-AuthResTBEX" +#define NID_setct_AuthResTBEX 572 +#define OBJ_setct_AuthResTBEX OBJ_set_ctype,54L + +#define SN_setct_AuthTokenTBE "setct-AuthTokenTBE" +#define NID_setct_AuthTokenTBE 573 +#define OBJ_setct_AuthTokenTBE OBJ_set_ctype,55L + +#define SN_setct_CapTokenTBE "setct-CapTokenTBE" +#define NID_setct_CapTokenTBE 574 +#define OBJ_setct_CapTokenTBE OBJ_set_ctype,56L + +#define SN_setct_CapTokenTBEX "setct-CapTokenTBEX" +#define NID_setct_CapTokenTBEX 575 +#define OBJ_setct_CapTokenTBEX OBJ_set_ctype,57L + +#define SN_setct_AcqCardCodeMsgTBE "setct-AcqCardCodeMsgTBE" +#define NID_setct_AcqCardCodeMsgTBE 576 +#define OBJ_setct_AcqCardCodeMsgTBE OBJ_set_ctype,58L + +#define SN_setct_AuthRevReqTBE "setct-AuthRevReqTBE" +#define NID_setct_AuthRevReqTBE 577 +#define OBJ_setct_AuthRevReqTBE OBJ_set_ctype,59L + +#define SN_setct_AuthRevResTBE "setct-AuthRevResTBE" +#define NID_setct_AuthRevResTBE 578 +#define OBJ_setct_AuthRevResTBE OBJ_set_ctype,60L + +#define SN_setct_AuthRevResTBEB "setct-AuthRevResTBEB" +#define NID_setct_AuthRevResTBEB 579 +#define OBJ_setct_AuthRevResTBEB OBJ_set_ctype,61L + +#define SN_setct_CapReqTBE "setct-CapReqTBE" +#define NID_setct_CapReqTBE 580 +#define OBJ_setct_CapReqTBE OBJ_set_ctype,62L + +#define SN_setct_CapReqTBEX "setct-CapReqTBEX" +#define NID_setct_CapReqTBEX 581 +#define OBJ_setct_CapReqTBEX OBJ_set_ctype,63L + +#define SN_setct_CapResTBE "setct-CapResTBE" +#define NID_setct_CapResTBE 582 +#define OBJ_setct_CapResTBE OBJ_set_ctype,64L + +#define SN_setct_CapRevReqTBE "setct-CapRevReqTBE" +#define NID_setct_CapRevReqTBE 583 +#define OBJ_setct_CapRevReqTBE OBJ_set_ctype,65L + +#define SN_setct_CapRevReqTBEX "setct-CapRevReqTBEX" +#define NID_setct_CapRevReqTBEX 584 +#define OBJ_setct_CapRevReqTBEX OBJ_set_ctype,66L + +#define SN_setct_CapRevResTBE "setct-CapRevResTBE" +#define NID_setct_CapRevResTBE 585 +#define OBJ_setct_CapRevResTBE OBJ_set_ctype,67L + +#define SN_setct_CredReqTBE "setct-CredReqTBE" +#define NID_setct_CredReqTBE 586 +#define OBJ_setct_CredReqTBE OBJ_set_ctype,68L + +#define SN_setct_CredReqTBEX "setct-CredReqTBEX" +#define NID_setct_CredReqTBEX 587 +#define OBJ_setct_CredReqTBEX OBJ_set_ctype,69L + +#define SN_setct_CredResTBE "setct-CredResTBE" +#define NID_setct_CredResTBE 588 +#define OBJ_setct_CredResTBE OBJ_set_ctype,70L + +#define SN_setct_CredRevReqTBE "setct-CredRevReqTBE" +#define NID_setct_CredRevReqTBE 589 +#define OBJ_setct_CredRevReqTBE OBJ_set_ctype,71L + +#define SN_setct_CredRevReqTBEX "setct-CredRevReqTBEX" +#define NID_setct_CredRevReqTBEX 590 +#define OBJ_setct_CredRevReqTBEX OBJ_set_ctype,72L + +#define SN_setct_CredRevResTBE "setct-CredRevResTBE" +#define NID_setct_CredRevResTBE 591 +#define OBJ_setct_CredRevResTBE OBJ_set_ctype,73L + +#define SN_setct_BatchAdminReqTBE "setct-BatchAdminReqTBE" +#define NID_setct_BatchAdminReqTBE 592 +#define OBJ_setct_BatchAdminReqTBE OBJ_set_ctype,74L + +#define SN_setct_BatchAdminResTBE "setct-BatchAdminResTBE" +#define NID_setct_BatchAdminResTBE 593 +#define OBJ_setct_BatchAdminResTBE OBJ_set_ctype,75L + +#define SN_setct_RegFormReqTBE "setct-RegFormReqTBE" +#define NID_setct_RegFormReqTBE 594 +#define OBJ_setct_RegFormReqTBE OBJ_set_ctype,76L + +#define SN_setct_CertReqTBE "setct-CertReqTBE" +#define NID_setct_CertReqTBE 595 +#define OBJ_setct_CertReqTBE OBJ_set_ctype,77L + +#define SN_setct_CertReqTBEX "setct-CertReqTBEX" +#define NID_setct_CertReqTBEX 596 +#define OBJ_setct_CertReqTBEX OBJ_set_ctype,78L + +#define SN_setct_CertResTBE "setct-CertResTBE" +#define NID_setct_CertResTBE 597 +#define OBJ_setct_CertResTBE OBJ_set_ctype,79L + +#define SN_setct_CRLNotificationTBS "setct-CRLNotificationTBS" +#define NID_setct_CRLNotificationTBS 598 +#define OBJ_setct_CRLNotificationTBS OBJ_set_ctype,80L + +#define SN_setct_CRLNotificationResTBS "setct-CRLNotificationResTBS" +#define NID_setct_CRLNotificationResTBS 599 +#define OBJ_setct_CRLNotificationResTBS OBJ_set_ctype,81L + +#define SN_setct_BCIDistributionTBS "setct-BCIDistributionTBS" +#define NID_setct_BCIDistributionTBS 600 +#define OBJ_setct_BCIDistributionTBS OBJ_set_ctype,82L + +#define SN_setext_genCrypt "setext-genCrypt" +#define LN_setext_genCrypt "generic cryptogram" +#define NID_setext_genCrypt 601 +#define OBJ_setext_genCrypt OBJ_set_msgExt,1L + +#define SN_setext_miAuth "setext-miAuth" +#define LN_setext_miAuth "merchant initiated auth" +#define NID_setext_miAuth 602 +#define OBJ_setext_miAuth OBJ_set_msgExt,3L + +#define SN_setext_pinSecure "setext-pinSecure" +#define NID_setext_pinSecure 603 +#define OBJ_setext_pinSecure OBJ_set_msgExt,4L + +#define SN_setext_pinAny "setext-pinAny" +#define NID_setext_pinAny 604 +#define OBJ_setext_pinAny OBJ_set_msgExt,5L + +#define SN_setext_track2 "setext-track2" +#define NID_setext_track2 605 +#define OBJ_setext_track2 OBJ_set_msgExt,7L + +#define SN_setext_cv "setext-cv" +#define LN_setext_cv "additional verification" +#define NID_setext_cv 606 +#define OBJ_setext_cv OBJ_set_msgExt,8L + +#define SN_set_policy_root "set-policy-root" +#define NID_set_policy_root 607 +#define OBJ_set_policy_root OBJ_set_policy,0L + +#define SN_setCext_hashedRoot "setCext-hashedRoot" +#define NID_setCext_hashedRoot 608 +#define OBJ_setCext_hashedRoot OBJ_set_certExt,0L + +#define SN_setCext_certType "setCext-certType" +#define NID_setCext_certType 609 +#define OBJ_setCext_certType OBJ_set_certExt,1L + +#define SN_setCext_merchData "setCext-merchData" +#define NID_setCext_merchData 610 +#define OBJ_setCext_merchData OBJ_set_certExt,2L + +#define SN_setCext_cCertRequired "setCext-cCertRequired" +#define NID_setCext_cCertRequired 611 +#define OBJ_setCext_cCertRequired OBJ_set_certExt,3L + +#define SN_setCext_tunneling "setCext-tunneling" +#define NID_setCext_tunneling 612 +#define OBJ_setCext_tunneling OBJ_set_certExt,4L + +#define SN_setCext_setExt "setCext-setExt" +#define NID_setCext_setExt 613 +#define OBJ_setCext_setExt OBJ_set_certExt,5L + +#define SN_setCext_setQualf "setCext-setQualf" +#define NID_setCext_setQualf 614 +#define OBJ_setCext_setQualf OBJ_set_certExt,6L + +#define SN_setCext_PGWYcapabilities "setCext-PGWYcapabilities" +#define NID_setCext_PGWYcapabilities 615 +#define OBJ_setCext_PGWYcapabilities OBJ_set_certExt,7L + +#define SN_setCext_TokenIdentifier "setCext-TokenIdentifier" +#define NID_setCext_TokenIdentifier 616 +#define OBJ_setCext_TokenIdentifier OBJ_set_certExt,8L + +#define SN_setCext_Track2Data "setCext-Track2Data" +#define NID_setCext_Track2Data 617 +#define OBJ_setCext_Track2Data OBJ_set_certExt,9L + +#define SN_setCext_TokenType "setCext-TokenType" +#define NID_setCext_TokenType 618 +#define OBJ_setCext_TokenType OBJ_set_certExt,10L + +#define SN_setCext_IssuerCapabilities "setCext-IssuerCapabilities" +#define NID_setCext_IssuerCapabilities 619 +#define OBJ_setCext_IssuerCapabilities OBJ_set_certExt,11L + +#define SN_setAttr_Cert "setAttr-Cert" +#define NID_setAttr_Cert 620 +#define OBJ_setAttr_Cert OBJ_set_attr,0L + +#define SN_setAttr_PGWYcap "setAttr-PGWYcap" +#define LN_setAttr_PGWYcap "payment gateway capabilities" +#define NID_setAttr_PGWYcap 621 +#define OBJ_setAttr_PGWYcap OBJ_set_attr,1L + +#define SN_setAttr_TokenType "setAttr-TokenType" +#define NID_setAttr_TokenType 622 +#define OBJ_setAttr_TokenType OBJ_set_attr,2L + +#define SN_setAttr_IssCap "setAttr-IssCap" +#define LN_setAttr_IssCap "issuer capabilities" +#define NID_setAttr_IssCap 623 +#define OBJ_setAttr_IssCap OBJ_set_attr,3L + +#define SN_set_rootKeyThumb "set-rootKeyThumb" +#define NID_set_rootKeyThumb 624 +#define OBJ_set_rootKeyThumb OBJ_setAttr_Cert,0L + +#define SN_set_addPolicy "set-addPolicy" +#define NID_set_addPolicy 625 +#define OBJ_set_addPolicy OBJ_setAttr_Cert,1L + +#define SN_setAttr_Token_EMV "setAttr-Token-EMV" +#define NID_setAttr_Token_EMV 626 +#define OBJ_setAttr_Token_EMV OBJ_setAttr_TokenType,1L + +#define SN_setAttr_Token_B0Prime "setAttr-Token-B0Prime" +#define NID_setAttr_Token_B0Prime 627 +#define OBJ_setAttr_Token_B0Prime OBJ_setAttr_TokenType,2L + +#define SN_setAttr_IssCap_CVM "setAttr-IssCap-CVM" +#define NID_setAttr_IssCap_CVM 628 +#define OBJ_setAttr_IssCap_CVM OBJ_setAttr_IssCap,3L + +#define SN_setAttr_IssCap_T2 "setAttr-IssCap-T2" +#define NID_setAttr_IssCap_T2 629 +#define OBJ_setAttr_IssCap_T2 OBJ_setAttr_IssCap,4L + +#define SN_setAttr_IssCap_Sig "setAttr-IssCap-Sig" +#define NID_setAttr_IssCap_Sig 630 +#define OBJ_setAttr_IssCap_Sig OBJ_setAttr_IssCap,5L + +#define SN_setAttr_GenCryptgrm "setAttr-GenCryptgrm" +#define LN_setAttr_GenCryptgrm "generate cryptogram" +#define NID_setAttr_GenCryptgrm 631 +#define OBJ_setAttr_GenCryptgrm OBJ_setAttr_IssCap_CVM,1L + +#define SN_setAttr_T2Enc "setAttr-T2Enc" +#define LN_setAttr_T2Enc "encrypted track 2" +#define NID_setAttr_T2Enc 632 +#define OBJ_setAttr_T2Enc OBJ_setAttr_IssCap_T2,1L + +#define SN_setAttr_T2cleartxt "setAttr-T2cleartxt" +#define LN_setAttr_T2cleartxt "cleartext track 2" +#define NID_setAttr_T2cleartxt 633 +#define OBJ_setAttr_T2cleartxt OBJ_setAttr_IssCap_T2,2L + +#define SN_setAttr_TokICCsig "setAttr-TokICCsig" +#define LN_setAttr_TokICCsig "ICC or token signature" +#define NID_setAttr_TokICCsig 634 +#define OBJ_setAttr_TokICCsig OBJ_setAttr_IssCap_Sig,1L + +#define SN_setAttr_SecDevSig "setAttr-SecDevSig" +#define LN_setAttr_SecDevSig "secure device signature" +#define NID_setAttr_SecDevSig 635 +#define OBJ_setAttr_SecDevSig OBJ_setAttr_IssCap_Sig,2L + +#define SN_set_brand_IATA_ATA "set-brand-IATA-ATA" +#define NID_set_brand_IATA_ATA 636 +#define OBJ_set_brand_IATA_ATA OBJ_set_brand,1L + +#define SN_set_brand_Diners "set-brand-Diners" +#define NID_set_brand_Diners 637 +#define OBJ_set_brand_Diners OBJ_set_brand,30L + +#define SN_set_brand_AmericanExpress "set-brand-AmericanExpress" +#define NID_set_brand_AmericanExpress 638 +#define OBJ_set_brand_AmericanExpress OBJ_set_brand,34L + +#define SN_set_brand_JCB "set-brand-JCB" +#define NID_set_brand_JCB 639 +#define OBJ_set_brand_JCB OBJ_set_brand,35L + +#define SN_set_brand_Visa "set-brand-Visa" +#define NID_set_brand_Visa 640 +#define OBJ_set_brand_Visa OBJ_set_brand,4L + +#define SN_set_brand_MasterCard "set-brand-MasterCard" +#define NID_set_brand_MasterCard 641 +#define OBJ_set_brand_MasterCard OBJ_set_brand,5L + +#define SN_set_brand_Novus "set-brand-Novus" +#define NID_set_brand_Novus 642 +#define OBJ_set_brand_Novus OBJ_set_brand,6011L + +#define SN_des_cdmf "DES-CDMF" +#define LN_des_cdmf "des-cdmf" +#define NID_des_cdmf 643 +#define OBJ_des_cdmf OBJ_rsadsi,3L,10L + +#define SN_rsaOAEPEncryptionSET "rsaOAEPEncryptionSET" +#define NID_rsaOAEPEncryptionSET 644 +#define OBJ_rsaOAEPEncryptionSET OBJ_rsadsi,1L,1L,6L + +#define SN_ipsec3 "Oakley-EC2N-3" +#define LN_ipsec3 "ipsec3" +#define NID_ipsec3 749 + +#define SN_ipsec4 "Oakley-EC2N-4" +#define LN_ipsec4 "ipsec4" +#define NID_ipsec4 750 + +#define SN_whirlpool "whirlpool" +#define NID_whirlpool 804 +#define OBJ_whirlpool OBJ_iso,0L,10118L,3L,0L,55L + +#define SN_cryptopro "cryptopro" +#define NID_cryptopro 805 +#define OBJ_cryptopro OBJ_member_body,643L,2L,2L + +#define SN_cryptocom "cryptocom" +#define NID_cryptocom 806 +#define OBJ_cryptocom OBJ_member_body,643L,2L,9L + +#define SN_id_GostR3411_94_with_GostR3410_2001 "id-GostR3411-94-with-GostR3410-2001" +#define LN_id_GostR3411_94_with_GostR3410_2001 "GOST R 34.11-94 with GOST R 34.10-2001" +#define NID_id_GostR3411_94_with_GostR3410_2001 807 +#define OBJ_id_GostR3411_94_with_GostR3410_2001 OBJ_cryptopro,3L + +#define SN_id_GostR3411_94_with_GostR3410_94 "id-GostR3411-94-with-GostR3410-94" +#define LN_id_GostR3411_94_with_GostR3410_94 "GOST R 34.11-94 with GOST R 34.10-94" +#define NID_id_GostR3411_94_with_GostR3410_94 808 +#define OBJ_id_GostR3411_94_with_GostR3410_94 OBJ_cryptopro,4L + +#define SN_id_GostR3411_94 "md_gost94" +#define LN_id_GostR3411_94 "GOST R 34.11-94" +#define NID_id_GostR3411_94 809 +#define OBJ_id_GostR3411_94 OBJ_cryptopro,9L + +#define SN_id_HMACGostR3411_94 "id-HMACGostR3411-94" +#define LN_id_HMACGostR3411_94 "HMAC GOST 34.11-94" +#define NID_id_HMACGostR3411_94 810 +#define OBJ_id_HMACGostR3411_94 OBJ_cryptopro,10L + +#define SN_id_GostR3410_2001 "gost2001" +#define LN_id_GostR3410_2001 "GOST R 34.10-2001" +#define NID_id_GostR3410_2001 811 +#define OBJ_id_GostR3410_2001 OBJ_cryptopro,19L + +#define SN_id_GostR3410_94 "gost94" +#define LN_id_GostR3410_94 "GOST R 34.10-94" +#define NID_id_GostR3410_94 812 +#define OBJ_id_GostR3410_94 OBJ_cryptopro,20L + +#define SN_id_Gost28147_89 "gost89" +#define LN_id_Gost28147_89 "GOST 28147-89" +#define NID_id_Gost28147_89 813 +#define OBJ_id_Gost28147_89 OBJ_cryptopro,21L + +#define SN_gost89_cnt "gost89-cnt" +#define NID_gost89_cnt 814 + +#define SN_id_Gost28147_89_MAC "gost-mac" +#define LN_id_Gost28147_89_MAC "GOST 28147-89 MAC" +#define NID_id_Gost28147_89_MAC 815 +#define OBJ_id_Gost28147_89_MAC OBJ_cryptopro,22L + +#define SN_id_GostR3411_94_prf "prf-gostr3411-94" +#define LN_id_GostR3411_94_prf "GOST R 34.11-94 PRF" +#define NID_id_GostR3411_94_prf 816 +#define OBJ_id_GostR3411_94_prf OBJ_cryptopro,23L + +#define SN_id_GostR3410_2001DH "id-GostR3410-2001DH" +#define LN_id_GostR3410_2001DH "GOST R 34.10-2001 DH" +#define NID_id_GostR3410_2001DH 817 +#define OBJ_id_GostR3410_2001DH OBJ_cryptopro,98L + +#define SN_id_GostR3410_94DH "id-GostR3410-94DH" +#define LN_id_GostR3410_94DH "GOST R 34.10-94 DH" +#define NID_id_GostR3410_94DH 818 +#define OBJ_id_GostR3410_94DH OBJ_cryptopro,99L + +#define SN_id_Gost28147_89_CryptoPro_KeyMeshing "id-Gost28147-89-CryptoPro-KeyMeshing" +#define NID_id_Gost28147_89_CryptoPro_KeyMeshing 819 +#define OBJ_id_Gost28147_89_CryptoPro_KeyMeshing OBJ_cryptopro,14L,1L + +#define SN_id_Gost28147_89_None_KeyMeshing "id-Gost28147-89-None-KeyMeshing" +#define NID_id_Gost28147_89_None_KeyMeshing 820 +#define OBJ_id_Gost28147_89_None_KeyMeshing OBJ_cryptopro,14L,0L + +#define SN_id_GostR3411_94_TestParamSet "id-GostR3411-94-TestParamSet" +#define NID_id_GostR3411_94_TestParamSet 821 +#define OBJ_id_GostR3411_94_TestParamSet OBJ_cryptopro,30L,0L + +#define SN_id_GostR3411_94_CryptoProParamSet "id-GostR3411-94-CryptoProParamSet" +#define NID_id_GostR3411_94_CryptoProParamSet 822 +#define OBJ_id_GostR3411_94_CryptoProParamSet OBJ_cryptopro,30L,1L + +#define SN_id_Gost28147_89_TestParamSet "id-Gost28147-89-TestParamSet" +#define NID_id_Gost28147_89_TestParamSet 823 +#define OBJ_id_Gost28147_89_TestParamSet OBJ_cryptopro,31L,0L + +#define SN_id_Gost28147_89_CryptoPro_A_ParamSet "id-Gost28147-89-CryptoPro-A-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_A_ParamSet 824 +#define OBJ_id_Gost28147_89_CryptoPro_A_ParamSet OBJ_cryptopro,31L,1L + +#define SN_id_Gost28147_89_CryptoPro_B_ParamSet "id-Gost28147-89-CryptoPro-B-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_B_ParamSet 825 +#define OBJ_id_Gost28147_89_CryptoPro_B_ParamSet OBJ_cryptopro,31L,2L + +#define SN_id_Gost28147_89_CryptoPro_C_ParamSet "id-Gost28147-89-CryptoPro-C-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_C_ParamSet 826 +#define OBJ_id_Gost28147_89_CryptoPro_C_ParamSet OBJ_cryptopro,31L,3L + +#define SN_id_Gost28147_89_CryptoPro_D_ParamSet "id-Gost28147-89-CryptoPro-D-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_D_ParamSet 827 +#define OBJ_id_Gost28147_89_CryptoPro_D_ParamSet OBJ_cryptopro,31L,4L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 828 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet OBJ_cryptopro,31L,5L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 829 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet OBJ_cryptopro,31L,6L + +#define SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 830 +#define OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet OBJ_cryptopro,31L,7L + +#define SN_id_GostR3410_94_TestParamSet "id-GostR3410-94-TestParamSet" +#define NID_id_GostR3410_94_TestParamSet 831 +#define OBJ_id_GostR3410_94_TestParamSet OBJ_cryptopro,32L,0L + +#define SN_id_GostR3410_94_CryptoPro_A_ParamSet "id-GostR3410-94-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_A_ParamSet 832 +#define OBJ_id_GostR3410_94_CryptoPro_A_ParamSet OBJ_cryptopro,32L,2L + +#define SN_id_GostR3410_94_CryptoPro_B_ParamSet "id-GostR3410-94-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_B_ParamSet 833 +#define OBJ_id_GostR3410_94_CryptoPro_B_ParamSet OBJ_cryptopro,32L,3L + +#define SN_id_GostR3410_94_CryptoPro_C_ParamSet "id-GostR3410-94-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_C_ParamSet 834 +#define OBJ_id_GostR3410_94_CryptoPro_C_ParamSet OBJ_cryptopro,32L,4L + +#define SN_id_GostR3410_94_CryptoPro_D_ParamSet "id-GostR3410-94-CryptoPro-D-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_D_ParamSet 835 +#define OBJ_id_GostR3410_94_CryptoPro_D_ParamSet OBJ_cryptopro,32L,5L + +#define SN_id_GostR3410_94_CryptoPro_XchA_ParamSet "id-GostR3410-94-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchA_ParamSet 836 +#define OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet OBJ_cryptopro,33L,1L + +#define SN_id_GostR3410_94_CryptoPro_XchB_ParamSet "id-GostR3410-94-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchB_ParamSet 837 +#define OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet OBJ_cryptopro,33L,2L + +#define SN_id_GostR3410_94_CryptoPro_XchC_ParamSet "id-GostR3410-94-CryptoPro-XchC-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchC_ParamSet 838 +#define OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet OBJ_cryptopro,33L,3L + +#define SN_id_GostR3410_2001_TestParamSet "id-GostR3410-2001-TestParamSet" +#define NID_id_GostR3410_2001_TestParamSet 839 +#define OBJ_id_GostR3410_2001_TestParamSet OBJ_cryptopro,35L,0L + +#define SN_id_GostR3410_2001_CryptoPro_A_ParamSet "id-GostR3410-2001-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_A_ParamSet 840 +#define OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet OBJ_cryptopro,35L,1L + +#define SN_id_GostR3410_2001_CryptoPro_B_ParamSet "id-GostR3410-2001-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_B_ParamSet 841 +#define OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet OBJ_cryptopro,35L,2L + +#define SN_id_GostR3410_2001_CryptoPro_C_ParamSet "id-GostR3410-2001-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_C_ParamSet 842 +#define OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet OBJ_cryptopro,35L,3L + +#define SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet "id-GostR3410-2001-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet 843 +#define OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet OBJ_cryptopro,36L,0L + +#define SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet "id-GostR3410-2001-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet 844 +#define OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet OBJ_cryptopro,36L,1L + +#define SN_id_GostR3410_94_a "id-GostR3410-94-a" +#define NID_id_GostR3410_94_a 845 +#define OBJ_id_GostR3410_94_a OBJ_id_GostR3410_94,1L + +#define SN_id_GostR3410_94_aBis "id-GostR3410-94-aBis" +#define NID_id_GostR3410_94_aBis 846 +#define OBJ_id_GostR3410_94_aBis OBJ_id_GostR3410_94,2L + +#define SN_id_GostR3410_94_b "id-GostR3410-94-b" +#define NID_id_GostR3410_94_b 847 +#define OBJ_id_GostR3410_94_b OBJ_id_GostR3410_94,3L + +#define SN_id_GostR3410_94_bBis "id-GostR3410-94-bBis" +#define NID_id_GostR3410_94_bBis 848 +#define OBJ_id_GostR3410_94_bBis OBJ_id_GostR3410_94,4L + +#define SN_id_Gost28147_89_cc "id-Gost28147-89-cc" +#define LN_id_Gost28147_89_cc "GOST 28147-89 Cryptocom ParamSet" +#define NID_id_Gost28147_89_cc 849 +#define OBJ_id_Gost28147_89_cc OBJ_cryptocom,1L,6L,1L + +#define SN_id_GostR3410_94_cc "gost94cc" +#define LN_id_GostR3410_94_cc "GOST 34.10-94 Cryptocom" +#define NID_id_GostR3410_94_cc 850 +#define OBJ_id_GostR3410_94_cc OBJ_cryptocom,1L,5L,3L + +#define SN_id_GostR3410_2001_cc "gost2001cc" +#define LN_id_GostR3410_2001_cc "GOST 34.10-2001 Cryptocom" +#define NID_id_GostR3410_2001_cc 851 +#define OBJ_id_GostR3410_2001_cc OBJ_cryptocom,1L,5L,4L + +#define SN_id_GostR3411_94_with_GostR3410_94_cc "id-GostR3411-94-with-GostR3410-94-cc" +#define LN_id_GostR3411_94_with_GostR3410_94_cc "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_94_cc 852 +#define OBJ_id_GostR3411_94_with_GostR3410_94_cc OBJ_cryptocom,1L,3L,3L + +#define SN_id_GostR3411_94_with_GostR3410_2001_cc "id-GostR3411-94-with-GostR3410-2001-cc" +#define LN_id_GostR3411_94_with_GostR3410_2001_cc "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_2001_cc 853 +#define OBJ_id_GostR3411_94_with_GostR3410_2001_cc OBJ_cryptocom,1L,3L,4L + +#define SN_id_GostR3410_2001_ParamSet_cc "id-GostR3410-2001-ParamSet-cc" +#define LN_id_GostR3410_2001_ParamSet_cc "GOST R 3410-2001 Parameter Set Cryptocom" +#define NID_id_GostR3410_2001_ParamSet_cc 854 +#define OBJ_id_GostR3410_2001_ParamSet_cc OBJ_cryptocom,1L,8L,1L + +#define SN_camellia_128_cbc "CAMELLIA-128-CBC" +#define LN_camellia_128_cbc "camellia-128-cbc" +#define NID_camellia_128_cbc 751 +#define OBJ_camellia_128_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,2L + +#define SN_camellia_192_cbc "CAMELLIA-192-CBC" +#define LN_camellia_192_cbc "camellia-192-cbc" +#define NID_camellia_192_cbc 752 +#define OBJ_camellia_192_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,3L + +#define SN_camellia_256_cbc "CAMELLIA-256-CBC" +#define LN_camellia_256_cbc "camellia-256-cbc" +#define NID_camellia_256_cbc 753 +#define OBJ_camellia_256_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,4L + +#define SN_id_camellia128_wrap "id-camellia128-wrap" +#define NID_id_camellia128_wrap 907 +#define OBJ_id_camellia128_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,2L + +#define SN_id_camellia192_wrap "id-camellia192-wrap" +#define NID_id_camellia192_wrap 908 +#define OBJ_id_camellia192_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,3L + +#define SN_id_camellia256_wrap "id-camellia256-wrap" +#define NID_id_camellia256_wrap 909 +#define OBJ_id_camellia256_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,4L + +#define OBJ_ntt_ds 0L,3L,4401L,5L + +#define OBJ_camellia OBJ_ntt_ds,3L,1L,9L + +#define SN_camellia_128_ecb "CAMELLIA-128-ECB" +#define LN_camellia_128_ecb "camellia-128-ecb" +#define NID_camellia_128_ecb 754 +#define OBJ_camellia_128_ecb OBJ_camellia,1L + +#define SN_camellia_128_ofb128 "CAMELLIA-128-OFB" +#define LN_camellia_128_ofb128 "camellia-128-ofb" +#define NID_camellia_128_ofb128 766 +#define OBJ_camellia_128_ofb128 OBJ_camellia,3L + +#define SN_camellia_128_cfb128 "CAMELLIA-128-CFB" +#define LN_camellia_128_cfb128 "camellia-128-cfb" +#define NID_camellia_128_cfb128 757 +#define OBJ_camellia_128_cfb128 OBJ_camellia,4L + +#define SN_camellia_192_ecb "CAMELLIA-192-ECB" +#define LN_camellia_192_ecb "camellia-192-ecb" +#define NID_camellia_192_ecb 755 +#define OBJ_camellia_192_ecb OBJ_camellia,21L + +#define SN_camellia_192_ofb128 "CAMELLIA-192-OFB" +#define LN_camellia_192_ofb128 "camellia-192-ofb" +#define NID_camellia_192_ofb128 767 +#define OBJ_camellia_192_ofb128 OBJ_camellia,23L + +#define SN_camellia_192_cfb128 "CAMELLIA-192-CFB" +#define LN_camellia_192_cfb128 "camellia-192-cfb" +#define NID_camellia_192_cfb128 758 +#define OBJ_camellia_192_cfb128 OBJ_camellia,24L + +#define SN_camellia_256_ecb "CAMELLIA-256-ECB" +#define LN_camellia_256_ecb "camellia-256-ecb" +#define NID_camellia_256_ecb 756 +#define OBJ_camellia_256_ecb OBJ_camellia,41L + +#define SN_camellia_256_ofb128 "CAMELLIA-256-OFB" +#define LN_camellia_256_ofb128 "camellia-256-ofb" +#define NID_camellia_256_ofb128 768 +#define OBJ_camellia_256_ofb128 OBJ_camellia,43L + +#define SN_camellia_256_cfb128 "CAMELLIA-256-CFB" +#define LN_camellia_256_cfb128 "camellia-256-cfb" +#define NID_camellia_256_cfb128 759 +#define OBJ_camellia_256_cfb128 OBJ_camellia,44L + +#define SN_camellia_128_cfb1 "CAMELLIA-128-CFB1" +#define LN_camellia_128_cfb1 "camellia-128-cfb1" +#define NID_camellia_128_cfb1 760 + +#define SN_camellia_192_cfb1 "CAMELLIA-192-CFB1" +#define LN_camellia_192_cfb1 "camellia-192-cfb1" +#define NID_camellia_192_cfb1 761 + +#define SN_camellia_256_cfb1 "CAMELLIA-256-CFB1" +#define LN_camellia_256_cfb1 "camellia-256-cfb1" +#define NID_camellia_256_cfb1 762 + +#define SN_camellia_128_cfb8 "CAMELLIA-128-CFB8" +#define LN_camellia_128_cfb8 "camellia-128-cfb8" +#define NID_camellia_128_cfb8 763 + +#define SN_camellia_192_cfb8 "CAMELLIA-192-CFB8" +#define LN_camellia_192_cfb8 "camellia-192-cfb8" +#define NID_camellia_192_cfb8 764 + +#define SN_camellia_256_cfb8 "CAMELLIA-256-CFB8" +#define LN_camellia_256_cfb8 "camellia-256-cfb8" +#define NID_camellia_256_cfb8 765 + +#define SN_kisa "KISA" +#define LN_kisa "kisa" +#define NID_kisa 773 +#define OBJ_kisa OBJ_member_body,410L,200004L + +#define SN_seed_ecb "SEED-ECB" +#define LN_seed_ecb "seed-ecb" +#define NID_seed_ecb 776 +#define OBJ_seed_ecb OBJ_kisa,1L,3L + +#define SN_seed_cbc "SEED-CBC" +#define LN_seed_cbc "seed-cbc" +#define NID_seed_cbc 777 +#define OBJ_seed_cbc OBJ_kisa,1L,4L + +#define SN_seed_cfb128 "SEED-CFB" +#define LN_seed_cfb128 "seed-cfb" +#define NID_seed_cfb128 779 +#define OBJ_seed_cfb128 OBJ_kisa,1L,5L + +#define SN_seed_ofb128 "SEED-OFB" +#define LN_seed_ofb128 "seed-ofb" +#define NID_seed_ofb128 778 +#define OBJ_seed_ofb128 OBJ_kisa,1L,6L + +#define SN_hmac "HMAC" +#define LN_hmac "hmac" +#define NID_hmac 855 + +#define SN_cmac "CMAC" +#define LN_cmac "cmac" +#define NID_cmac 894 + +#define SN_rc4_hmac_md5 "RC4-HMAC-MD5" +#define LN_rc4_hmac_md5 "rc4-hmac-md5" +#define NID_rc4_hmac_md5 915 + +#define SN_aes_128_cbc_hmac_sha1 "AES-128-CBC-HMAC-SHA1" +#define LN_aes_128_cbc_hmac_sha1 "aes-128-cbc-hmac-sha1" +#define NID_aes_128_cbc_hmac_sha1 916 + +#define SN_aes_192_cbc_hmac_sha1 "AES-192-CBC-HMAC-SHA1" +#define LN_aes_192_cbc_hmac_sha1 "aes-192-cbc-hmac-sha1" +#define NID_aes_192_cbc_hmac_sha1 917 + +#define SN_aes_256_cbc_hmac_sha1 "AES-256-CBC-HMAC-SHA1" +#define LN_aes_256_cbc_hmac_sha1 "aes-256-cbc-hmac-sha1" +#define NID_aes_256_cbc_hmac_sha1 918 + +#define SN_aes_128_cbc_hmac_sha256 "AES-128-CBC-HMAC-SHA256" +#define LN_aes_128_cbc_hmac_sha256 "aes-128-cbc-hmac-sha256" +#define NID_aes_128_cbc_hmac_sha256 948 + +#define SN_aes_192_cbc_hmac_sha256 "AES-192-CBC-HMAC-SHA256" +#define LN_aes_192_cbc_hmac_sha256 "aes-192-cbc-hmac-sha256" +#define NID_aes_192_cbc_hmac_sha256 949 + +#define SN_aes_256_cbc_hmac_sha256 "AES-256-CBC-HMAC-SHA256" +#define LN_aes_256_cbc_hmac_sha256 "aes-256-cbc-hmac-sha256" +#define NID_aes_256_cbc_hmac_sha256 950 + +#define SN_dhpublicnumber "dhpublicnumber" +#define LN_dhpublicnumber "X9.42 DH" +#define NID_dhpublicnumber 920 +#define OBJ_dhpublicnumber OBJ_ISO_US,10046L,2L,1L + +#define SN_brainpoolP160r1 "brainpoolP160r1" +#define NID_brainpoolP160r1 921 +#define OBJ_brainpoolP160r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,1L + +#define SN_brainpoolP160t1 "brainpoolP160t1" +#define NID_brainpoolP160t1 922 +#define OBJ_brainpoolP160t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,2L + +#define SN_brainpoolP192r1 "brainpoolP192r1" +#define NID_brainpoolP192r1 923 +#define OBJ_brainpoolP192r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,3L + +#define SN_brainpoolP192t1 "brainpoolP192t1" +#define NID_brainpoolP192t1 924 +#define OBJ_brainpoolP192t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,4L + +#define SN_brainpoolP224r1 "brainpoolP224r1" +#define NID_brainpoolP224r1 925 +#define OBJ_brainpoolP224r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,5L + +#define SN_brainpoolP224t1 "brainpoolP224t1" +#define NID_brainpoolP224t1 926 +#define OBJ_brainpoolP224t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,6L + +#define SN_brainpoolP256r1 "brainpoolP256r1" +#define NID_brainpoolP256r1 927 +#define OBJ_brainpoolP256r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,7L + +#define SN_brainpoolP256t1 "brainpoolP256t1" +#define NID_brainpoolP256t1 928 +#define OBJ_brainpoolP256t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,8L + +#define SN_brainpoolP320r1 "brainpoolP320r1" +#define NID_brainpoolP320r1 929 +#define OBJ_brainpoolP320r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,9L + +#define SN_brainpoolP320t1 "brainpoolP320t1" +#define NID_brainpoolP320t1 930 +#define OBJ_brainpoolP320t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,10L + +#define SN_brainpoolP384r1 "brainpoolP384r1" +#define NID_brainpoolP384r1 931 +#define OBJ_brainpoolP384r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,11L + +#define SN_brainpoolP384t1 "brainpoolP384t1" +#define NID_brainpoolP384t1 932 +#define OBJ_brainpoolP384t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,12L + +#define SN_brainpoolP512r1 "brainpoolP512r1" +#define NID_brainpoolP512r1 933 +#define OBJ_brainpoolP512r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,13L + +#define SN_brainpoolP512t1 "brainpoolP512t1" +#define NID_brainpoolP512t1 934 +#define OBJ_brainpoolP512t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,14L + +#define OBJ_x9_63_scheme 1L,3L,133L,16L,840L,63L,0L + +#define OBJ_secg_scheme OBJ_certicom_arc,1L + +#define SN_dhSinglePass_stdDH_sha1kdf_scheme "dhSinglePass-stdDH-sha1kdf-scheme" +#define NID_dhSinglePass_stdDH_sha1kdf_scheme 936 +#define OBJ_dhSinglePass_stdDH_sha1kdf_scheme OBJ_x9_63_scheme,2L + +#define SN_dhSinglePass_stdDH_sha224kdf_scheme "dhSinglePass-stdDH-sha224kdf-scheme" +#define NID_dhSinglePass_stdDH_sha224kdf_scheme 937 +#define OBJ_dhSinglePass_stdDH_sha224kdf_scheme OBJ_secg_scheme,11L,0L + +#define SN_dhSinglePass_stdDH_sha256kdf_scheme "dhSinglePass-stdDH-sha256kdf-scheme" +#define NID_dhSinglePass_stdDH_sha256kdf_scheme 938 +#define OBJ_dhSinglePass_stdDH_sha256kdf_scheme OBJ_secg_scheme,11L,1L + +#define SN_dhSinglePass_stdDH_sha384kdf_scheme "dhSinglePass-stdDH-sha384kdf-scheme" +#define NID_dhSinglePass_stdDH_sha384kdf_scheme 939 +#define OBJ_dhSinglePass_stdDH_sha384kdf_scheme OBJ_secg_scheme,11L,2L + +#define SN_dhSinglePass_stdDH_sha512kdf_scheme "dhSinglePass-stdDH-sha512kdf-scheme" +#define NID_dhSinglePass_stdDH_sha512kdf_scheme 940 +#define OBJ_dhSinglePass_stdDH_sha512kdf_scheme OBJ_secg_scheme,11L,3L + +#define SN_dhSinglePass_cofactorDH_sha1kdf_scheme "dhSinglePass-cofactorDH-sha1kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha1kdf_scheme 941 +#define OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme OBJ_x9_63_scheme,3L + +#define SN_dhSinglePass_cofactorDH_sha224kdf_scheme "dhSinglePass-cofactorDH-sha224kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha224kdf_scheme 942 +#define OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme OBJ_secg_scheme,14L,0L + +#define SN_dhSinglePass_cofactorDH_sha256kdf_scheme "dhSinglePass-cofactorDH-sha256kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha256kdf_scheme 943 +#define OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme OBJ_secg_scheme,14L,1L + +#define SN_dhSinglePass_cofactorDH_sha384kdf_scheme "dhSinglePass-cofactorDH-sha384kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha384kdf_scheme 944 +#define OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme OBJ_secg_scheme,14L,2L + +#define SN_dhSinglePass_cofactorDH_sha512kdf_scheme "dhSinglePass-cofactorDH-sha512kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha512kdf_scheme 945 +#define OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme OBJ_secg_scheme,14L,3L + +#define SN_dh_std_kdf "dh-std-kdf" +#define NID_dh_std_kdf 946 + +#define SN_dh_cofactor_kdf "dh-cofactor-kdf" +#define NID_dh_cofactor_kdf 947 + +#define SN_ct_precert_scts "ct_precert_scts" +#define LN_ct_precert_scts "CT Precertificate SCTs" +#define NID_ct_precert_scts 951 +#define OBJ_ct_precert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,2L + +#define SN_ct_precert_poison "ct_precert_poison" +#define LN_ct_precert_poison "CT Precertificate Poison" +#define NID_ct_precert_poison 952 +#define OBJ_ct_precert_poison 1L,3L,6L,1L,4L,1L,11129L,2L,4L,3L + +#define SN_ct_precert_signer "ct_precert_signer" +#define LN_ct_precert_signer "CT Precertificate Signer" +#define NID_ct_precert_signer 953 +#define OBJ_ct_precert_signer 1L,3L,6L,1L,4L,1L,11129L,2L,4L,4L + +#define SN_ct_cert_scts "ct_cert_scts" +#define LN_ct_cert_scts "CT Certificate SCTs" +#define NID_ct_cert_scts 954 +#define OBJ_ct_cert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,5L + +#define SN_jurisdictionLocalityName "jurisdictionL" +#define LN_jurisdictionLocalityName "jurisdictionLocalityName" +#define NID_jurisdictionLocalityName 955 +#define OBJ_jurisdictionLocalityName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,1L + +#define SN_jurisdictionStateOrProvinceName "jurisdictionST" +#define LN_jurisdictionStateOrProvinceName "jurisdictionStateOrProvinceName" +#define NID_jurisdictionStateOrProvinceName 956 +#define OBJ_jurisdictionStateOrProvinceName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,2L + +#define SN_jurisdictionCountryName "jurisdictionC" +#define LN_jurisdictionCountryName "jurisdictionCountryName" +#define NID_jurisdictionCountryName 957 +#define OBJ_jurisdictionCountryName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,3L diff --git a/3rdparty/openssl/include/openssl/objects.h b/3rdparty/openssl/include/openssl/objects.h new file mode 100644 index 0000000..b8dafa8 --- /dev/null +++ b/3rdparty/openssl/include/openssl/objects.h @@ -0,0 +1,1143 @@ +/* crypto/objects/objects.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_OBJECTS_H +# define HEADER_OBJECTS_H + +# define USE_OBJ_MAC + +# ifdef USE_OBJ_MAC +# include +# else +# define SN_undef "UNDEF" +# define LN_undef "undefined" +# define NID_undef 0 +# define OBJ_undef 0L + +# define SN_Algorithm "Algorithm" +# define LN_algorithm "algorithm" +# define NID_algorithm 38 +# define OBJ_algorithm 1L,3L,14L,3L,2L + +# define LN_rsadsi "rsadsi" +# define NID_rsadsi 1 +# define OBJ_rsadsi 1L,2L,840L,113549L + +# define LN_pkcs "pkcs" +# define NID_pkcs 2 +# define OBJ_pkcs OBJ_rsadsi,1L + +# define SN_md2 "MD2" +# define LN_md2 "md2" +# define NID_md2 3 +# define OBJ_md2 OBJ_rsadsi,2L,2L + +# define SN_md5 "MD5" +# define LN_md5 "md5" +# define NID_md5 4 +# define OBJ_md5 OBJ_rsadsi,2L,5L + +# define SN_rc4 "RC4" +# define LN_rc4 "rc4" +# define NID_rc4 5 +# define OBJ_rc4 OBJ_rsadsi,3L,4L + +# define LN_rsaEncryption "rsaEncryption" +# define NID_rsaEncryption 6 +# define OBJ_rsaEncryption OBJ_pkcs,1L,1L + +# define SN_md2WithRSAEncryption "RSA-MD2" +# define LN_md2WithRSAEncryption "md2WithRSAEncryption" +# define NID_md2WithRSAEncryption 7 +# define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L + +# define SN_md5WithRSAEncryption "RSA-MD5" +# define LN_md5WithRSAEncryption "md5WithRSAEncryption" +# define NID_md5WithRSAEncryption 8 +# define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L + +# define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" +# define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" +# define NID_pbeWithMD2AndDES_CBC 9 +# define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L + +# define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" +# define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" +# define NID_pbeWithMD5AndDES_CBC 10 +# define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L + +# define LN_X500 "X500" +# define NID_X500 11 +# define OBJ_X500 2L,5L + +# define LN_X509 "X509" +# define NID_X509 12 +# define OBJ_X509 OBJ_X500,4L + +# define SN_commonName "CN" +# define LN_commonName "commonName" +# define NID_commonName 13 +# define OBJ_commonName OBJ_X509,3L + +# define SN_countryName "C" +# define LN_countryName "countryName" +# define NID_countryName 14 +# define OBJ_countryName OBJ_X509,6L + +# define SN_localityName "L" +# define LN_localityName "localityName" +# define NID_localityName 15 +# define OBJ_localityName OBJ_X509,7L + +/* Postal Address? PA */ + +/* should be "ST" (rfc1327) but MS uses 'S' */ +# define SN_stateOrProvinceName "ST" +# define LN_stateOrProvinceName "stateOrProvinceName" +# define NID_stateOrProvinceName 16 +# define OBJ_stateOrProvinceName OBJ_X509,8L + +# define SN_organizationName "O" +# define LN_organizationName "organizationName" +# define NID_organizationName 17 +# define OBJ_organizationName OBJ_X509,10L + +# define SN_organizationalUnitName "OU" +# define LN_organizationalUnitName "organizationalUnitName" +# define NID_organizationalUnitName 18 +# define OBJ_organizationalUnitName OBJ_X509,11L + +# define SN_rsa "RSA" +# define LN_rsa "rsa" +# define NID_rsa 19 +# define OBJ_rsa OBJ_X500,8L,1L,1L + +# define LN_pkcs7 "pkcs7" +# define NID_pkcs7 20 +# define OBJ_pkcs7 OBJ_pkcs,7L + +# define LN_pkcs7_data "pkcs7-data" +# define NID_pkcs7_data 21 +# define OBJ_pkcs7_data OBJ_pkcs7,1L + +# define LN_pkcs7_signed "pkcs7-signedData" +# define NID_pkcs7_signed 22 +# define OBJ_pkcs7_signed OBJ_pkcs7,2L + +# define LN_pkcs7_enveloped "pkcs7-envelopedData" +# define NID_pkcs7_enveloped 23 +# define OBJ_pkcs7_enveloped OBJ_pkcs7,3L + +# define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" +# define NID_pkcs7_signedAndEnveloped 24 +# define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L + +# define LN_pkcs7_digest "pkcs7-digestData" +# define NID_pkcs7_digest 25 +# define OBJ_pkcs7_digest OBJ_pkcs7,5L + +# define LN_pkcs7_encrypted "pkcs7-encryptedData" +# define NID_pkcs7_encrypted 26 +# define OBJ_pkcs7_encrypted OBJ_pkcs7,6L + +# define LN_pkcs3 "pkcs3" +# define NID_pkcs3 27 +# define OBJ_pkcs3 OBJ_pkcs,3L + +# define LN_dhKeyAgreement "dhKeyAgreement" +# define NID_dhKeyAgreement 28 +# define OBJ_dhKeyAgreement OBJ_pkcs3,1L + +# define SN_des_ecb "DES-ECB" +# define LN_des_ecb "des-ecb" +# define NID_des_ecb 29 +# define OBJ_des_ecb OBJ_algorithm,6L + +# define SN_des_cfb64 "DES-CFB" +# define LN_des_cfb64 "des-cfb" +# define NID_des_cfb64 30 +/* IV + num */ +# define OBJ_des_cfb64 OBJ_algorithm,9L + +# define SN_des_cbc "DES-CBC" +# define LN_des_cbc "des-cbc" +# define NID_des_cbc 31 +/* IV */ +# define OBJ_des_cbc OBJ_algorithm,7L + +# define SN_des_ede "DES-EDE" +# define LN_des_ede "des-ede" +# define NID_des_ede 32 +/* ?? */ +# define OBJ_des_ede OBJ_algorithm,17L + +# define SN_des_ede3 "DES-EDE3" +# define LN_des_ede3 "des-ede3" +# define NID_des_ede3 33 + +# define SN_idea_cbc "IDEA-CBC" +# define LN_idea_cbc "idea-cbc" +# define NID_idea_cbc 34 +# define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L + +# define SN_idea_cfb64 "IDEA-CFB" +# define LN_idea_cfb64 "idea-cfb" +# define NID_idea_cfb64 35 + +# define SN_idea_ecb "IDEA-ECB" +# define LN_idea_ecb "idea-ecb" +# define NID_idea_ecb 36 + +# define SN_rc2_cbc "RC2-CBC" +# define LN_rc2_cbc "rc2-cbc" +# define NID_rc2_cbc 37 +# define OBJ_rc2_cbc OBJ_rsadsi,3L,2L + +# define SN_rc2_ecb "RC2-ECB" +# define LN_rc2_ecb "rc2-ecb" +# define NID_rc2_ecb 38 + +# define SN_rc2_cfb64 "RC2-CFB" +# define LN_rc2_cfb64 "rc2-cfb" +# define NID_rc2_cfb64 39 + +# define SN_rc2_ofb64 "RC2-OFB" +# define LN_rc2_ofb64 "rc2-ofb" +# define NID_rc2_ofb64 40 + +# define SN_sha "SHA" +# define LN_sha "sha" +# define NID_sha 41 +# define OBJ_sha OBJ_algorithm,18L + +# define SN_shaWithRSAEncryption "RSA-SHA" +# define LN_shaWithRSAEncryption "shaWithRSAEncryption" +# define NID_shaWithRSAEncryption 42 +# define OBJ_shaWithRSAEncryption OBJ_algorithm,15L + +# define SN_des_ede_cbc "DES-EDE-CBC" +# define LN_des_ede_cbc "des-ede-cbc" +# define NID_des_ede_cbc 43 + +# define SN_des_ede3_cbc "DES-EDE3-CBC" +# define LN_des_ede3_cbc "des-ede3-cbc" +# define NID_des_ede3_cbc 44 +# define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L + +# define SN_des_ofb64 "DES-OFB" +# define LN_des_ofb64 "des-ofb" +# define NID_des_ofb64 45 +# define OBJ_des_ofb64 OBJ_algorithm,8L + +# define SN_idea_ofb64 "IDEA-OFB" +# define LN_idea_ofb64 "idea-ofb" +# define NID_idea_ofb64 46 + +# define LN_pkcs9 "pkcs9" +# define NID_pkcs9 47 +# define OBJ_pkcs9 OBJ_pkcs,9L + +# define SN_pkcs9_emailAddress "Email" +# define LN_pkcs9_emailAddress "emailAddress" +# define NID_pkcs9_emailAddress 48 +# define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L + +# define LN_pkcs9_unstructuredName "unstructuredName" +# define NID_pkcs9_unstructuredName 49 +# define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L + +# define LN_pkcs9_contentType "contentType" +# define NID_pkcs9_contentType 50 +# define OBJ_pkcs9_contentType OBJ_pkcs9,3L + +# define LN_pkcs9_messageDigest "messageDigest" +# define NID_pkcs9_messageDigest 51 +# define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L + +# define LN_pkcs9_signingTime "signingTime" +# define NID_pkcs9_signingTime 52 +# define OBJ_pkcs9_signingTime OBJ_pkcs9,5L + +# define LN_pkcs9_countersignature "countersignature" +# define NID_pkcs9_countersignature 53 +# define OBJ_pkcs9_countersignature OBJ_pkcs9,6L + +# define LN_pkcs9_challengePassword "challengePassword" +# define NID_pkcs9_challengePassword 54 +# define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L + +# define LN_pkcs9_unstructuredAddress "unstructuredAddress" +# define NID_pkcs9_unstructuredAddress 55 +# define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L + +# define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" +# define NID_pkcs9_extCertAttributes 56 +# define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L + +# define SN_netscape "Netscape" +# define LN_netscape "Netscape Communications Corp." +# define NID_netscape 57 +# define OBJ_netscape 2L,16L,840L,1L,113730L + +# define SN_netscape_cert_extension "nsCertExt" +# define LN_netscape_cert_extension "Netscape Certificate Extension" +# define NID_netscape_cert_extension 58 +# define OBJ_netscape_cert_extension OBJ_netscape,1L + +# define SN_netscape_data_type "nsDataType" +# define LN_netscape_data_type "Netscape Data Type" +# define NID_netscape_data_type 59 +# define OBJ_netscape_data_type OBJ_netscape,2L + +# define SN_des_ede_cfb64 "DES-EDE-CFB" +# define LN_des_ede_cfb64 "des-ede-cfb" +# define NID_des_ede_cfb64 60 + +# define SN_des_ede3_cfb64 "DES-EDE3-CFB" +# define LN_des_ede3_cfb64 "des-ede3-cfb" +# define NID_des_ede3_cfb64 61 + +# define SN_des_ede_ofb64 "DES-EDE-OFB" +# define LN_des_ede_ofb64 "des-ede-ofb" +# define NID_des_ede_ofb64 62 + +# define SN_des_ede3_ofb64 "DES-EDE3-OFB" +# define LN_des_ede3_ofb64 "des-ede3-ofb" +# define NID_des_ede3_ofb64 63 + +/* I'm not sure about the object ID */ +# define SN_sha1 "SHA1" +# define LN_sha1 "sha1" +# define NID_sha1 64 +# define OBJ_sha1 OBJ_algorithm,26L +/* 28 Jun 1996 - eay */ +/* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */ + +# define SN_sha1WithRSAEncryption "RSA-SHA1" +# define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" +# define NID_sha1WithRSAEncryption 65 +# define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L + +# define SN_dsaWithSHA "DSA-SHA" +# define LN_dsaWithSHA "dsaWithSHA" +# define NID_dsaWithSHA 66 +# define OBJ_dsaWithSHA OBJ_algorithm,13L + +# define SN_dsa_2 "DSA-old" +# define LN_dsa_2 "dsaEncryption-old" +# define NID_dsa_2 67 +# define OBJ_dsa_2 OBJ_algorithm,12L + +/* proposed by microsoft to RSA */ +# define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" +# define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" +# define NID_pbeWithSHA1AndRC2_CBC 68 +# define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L + +/* + * proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now defined + * explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something completely + * different. + */ +# define LN_id_pbkdf2 "PBKDF2" +# define NID_id_pbkdf2 69 +# define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L + +# define SN_dsaWithSHA1_2 "DSA-SHA1-old" +# define LN_dsaWithSHA1_2 "dsaWithSHA1-old" +# define NID_dsaWithSHA1_2 70 +/* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */ +# define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L + +# define SN_netscape_cert_type "nsCertType" +# define LN_netscape_cert_type "Netscape Cert Type" +# define NID_netscape_cert_type 71 +# define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L + +# define SN_netscape_base_url "nsBaseUrl" +# define LN_netscape_base_url "Netscape Base Url" +# define NID_netscape_base_url 72 +# define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L + +# define SN_netscape_revocation_url "nsRevocationUrl" +# define LN_netscape_revocation_url "Netscape Revocation Url" +# define NID_netscape_revocation_url 73 +# define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L + +# define SN_netscape_ca_revocation_url "nsCaRevocationUrl" +# define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" +# define NID_netscape_ca_revocation_url 74 +# define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L + +# define SN_netscape_renewal_url "nsRenewalUrl" +# define LN_netscape_renewal_url "Netscape Renewal Url" +# define NID_netscape_renewal_url 75 +# define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L + +# define SN_netscape_ca_policy_url "nsCaPolicyUrl" +# define LN_netscape_ca_policy_url "Netscape CA Policy Url" +# define NID_netscape_ca_policy_url 76 +# define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L + +# define SN_netscape_ssl_server_name "nsSslServerName" +# define LN_netscape_ssl_server_name "Netscape SSL Server Name" +# define NID_netscape_ssl_server_name 77 +# define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L + +# define SN_netscape_comment "nsComment" +# define LN_netscape_comment "Netscape Comment" +# define NID_netscape_comment 78 +# define OBJ_netscape_comment OBJ_netscape_cert_extension,13L + +# define SN_netscape_cert_sequence "nsCertSequence" +# define LN_netscape_cert_sequence "Netscape Certificate Sequence" +# define NID_netscape_cert_sequence 79 +# define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L + +# define SN_desx_cbc "DESX-CBC" +# define LN_desx_cbc "desx-cbc" +# define NID_desx_cbc 80 + +# define SN_id_ce "id-ce" +# define NID_id_ce 81 +# define OBJ_id_ce 2L,5L,29L + +# define SN_subject_key_identifier "subjectKeyIdentifier" +# define LN_subject_key_identifier "X509v3 Subject Key Identifier" +# define NID_subject_key_identifier 82 +# define OBJ_subject_key_identifier OBJ_id_ce,14L + +# define SN_key_usage "keyUsage" +# define LN_key_usage "X509v3 Key Usage" +# define NID_key_usage 83 +# define OBJ_key_usage OBJ_id_ce,15L + +# define SN_private_key_usage_period "privateKeyUsagePeriod" +# define LN_private_key_usage_period "X509v3 Private Key Usage Period" +# define NID_private_key_usage_period 84 +# define OBJ_private_key_usage_period OBJ_id_ce,16L + +# define SN_subject_alt_name "subjectAltName" +# define LN_subject_alt_name "X509v3 Subject Alternative Name" +# define NID_subject_alt_name 85 +# define OBJ_subject_alt_name OBJ_id_ce,17L + +# define SN_issuer_alt_name "issuerAltName" +# define LN_issuer_alt_name "X509v3 Issuer Alternative Name" +# define NID_issuer_alt_name 86 +# define OBJ_issuer_alt_name OBJ_id_ce,18L + +# define SN_basic_constraints "basicConstraints" +# define LN_basic_constraints "X509v3 Basic Constraints" +# define NID_basic_constraints 87 +# define OBJ_basic_constraints OBJ_id_ce,19L + +# define SN_crl_number "crlNumber" +# define LN_crl_number "X509v3 CRL Number" +# define NID_crl_number 88 +# define OBJ_crl_number OBJ_id_ce,20L + +# define SN_certificate_policies "certificatePolicies" +# define LN_certificate_policies "X509v3 Certificate Policies" +# define NID_certificate_policies 89 +# define OBJ_certificate_policies OBJ_id_ce,32L + +# define SN_authority_key_identifier "authorityKeyIdentifier" +# define LN_authority_key_identifier "X509v3 Authority Key Identifier" +# define NID_authority_key_identifier 90 +# define OBJ_authority_key_identifier OBJ_id_ce,35L + +# define SN_bf_cbc "BF-CBC" +# define LN_bf_cbc "bf-cbc" +# define NID_bf_cbc 91 +# define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L + +# define SN_bf_ecb "BF-ECB" +# define LN_bf_ecb "bf-ecb" +# define NID_bf_ecb 92 + +# define SN_bf_cfb64 "BF-CFB" +# define LN_bf_cfb64 "bf-cfb" +# define NID_bf_cfb64 93 + +# define SN_bf_ofb64 "BF-OFB" +# define LN_bf_ofb64 "bf-ofb" +# define NID_bf_ofb64 94 + +# define SN_mdc2 "MDC2" +# define LN_mdc2 "mdc2" +# define NID_mdc2 95 +# define OBJ_mdc2 2L,5L,8L,3L,101L +/* An alternative? 1L,3L,14L,3L,2L,19L */ + +# define SN_mdc2WithRSA "RSA-MDC2" +# define LN_mdc2WithRSA "mdc2withRSA" +# define NID_mdc2WithRSA 96 +# define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L + +# define SN_rc4_40 "RC4-40" +# define LN_rc4_40 "rc4-40" +# define NID_rc4_40 97 + +# define SN_rc2_40_cbc "RC2-40-CBC" +# define LN_rc2_40_cbc "rc2-40-cbc" +# define NID_rc2_40_cbc 98 + +# define SN_givenName "G" +# define LN_givenName "givenName" +# define NID_givenName 99 +# define OBJ_givenName OBJ_X509,42L + +# define SN_surname "S" +# define LN_surname "surname" +# define NID_surname 100 +# define OBJ_surname OBJ_X509,4L + +# define SN_initials "I" +# define LN_initials "initials" +# define NID_initials 101 +# define OBJ_initials OBJ_X509,43L + +# define SN_uniqueIdentifier "UID" +# define LN_uniqueIdentifier "uniqueIdentifier" +# define NID_uniqueIdentifier 102 +# define OBJ_uniqueIdentifier OBJ_X509,45L + +# define SN_crl_distribution_points "crlDistributionPoints" +# define LN_crl_distribution_points "X509v3 CRL Distribution Points" +# define NID_crl_distribution_points 103 +# define OBJ_crl_distribution_points OBJ_id_ce,31L + +# define SN_md5WithRSA "RSA-NP-MD5" +# define LN_md5WithRSA "md5WithRSA" +# define NID_md5WithRSA 104 +# define OBJ_md5WithRSA OBJ_algorithm,3L + +# define SN_serialNumber "SN" +# define LN_serialNumber "serialNumber" +# define NID_serialNumber 105 +# define OBJ_serialNumber OBJ_X509,5L + +# define SN_title "T" +# define LN_title "title" +# define NID_title 106 +# define OBJ_title OBJ_X509,12L + +# define SN_description "D" +# define LN_description "description" +# define NID_description 107 +# define OBJ_description OBJ_X509,13L + +/* CAST5 is CAST-128, I'm just sticking with the documentation */ +# define SN_cast5_cbc "CAST5-CBC" +# define LN_cast5_cbc "cast5-cbc" +# define NID_cast5_cbc 108 +# define OBJ_cast5_cbc 1L,2L,840L,113533L,7L,66L,10L + +# define SN_cast5_ecb "CAST5-ECB" +# define LN_cast5_ecb "cast5-ecb" +# define NID_cast5_ecb 109 + +# define SN_cast5_cfb64 "CAST5-CFB" +# define LN_cast5_cfb64 "cast5-cfb" +# define NID_cast5_cfb64 110 + +# define SN_cast5_ofb64 "CAST5-OFB" +# define LN_cast5_ofb64 "cast5-ofb" +# define NID_cast5_ofb64 111 + +# define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" +# define NID_pbeWithMD5AndCast5_CBC 112 +# define OBJ_pbeWithMD5AndCast5_CBC 1L,2L,840L,113533L,7L,66L,12L + +/*- + * This is one sun will soon be using :-( + * id-dsa-with-sha1 ID ::= { + * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 } + */ +# define SN_dsaWithSHA1 "DSA-SHA1" +# define LN_dsaWithSHA1 "dsaWithSHA1" +# define NID_dsaWithSHA1 113 +# define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L + +# define NID_md5_sha1 114 +# define SN_md5_sha1 "MD5-SHA1" +# define LN_md5_sha1 "md5-sha1" + +# define SN_sha1WithRSA "RSA-SHA1-2" +# define LN_sha1WithRSA "sha1WithRSA" +# define NID_sha1WithRSA 115 +# define OBJ_sha1WithRSA OBJ_algorithm,29L + +# define SN_dsa "DSA" +# define LN_dsa "dsaEncryption" +# define NID_dsa 116 +# define OBJ_dsa 1L,2L,840L,10040L,4L,1L + +# define SN_ripemd160 "RIPEMD160" +# define LN_ripemd160 "ripemd160" +# define NID_ripemd160 117 +# define OBJ_ripemd160 1L,3L,36L,3L,2L,1L + +/* + * The name should actually be rsaSignatureWithripemd160, but I'm going to + * continue using the convention I'm using with the other ciphers + */ +# define SN_ripemd160WithRSA "RSA-RIPEMD160" +# define LN_ripemd160WithRSA "ripemd160WithRSA" +# define NID_ripemd160WithRSA 119 +# define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L + +/*- + * Taken from rfc2040 + * RC5_CBC_Parameters ::= SEQUENCE { + * version INTEGER (v1_0(16)), + * rounds INTEGER (8..127), + * blockSizeInBits INTEGER (64, 128), + * iv OCTET STRING OPTIONAL + * } + */ +# define SN_rc5_cbc "RC5-CBC" +# define LN_rc5_cbc "rc5-cbc" +# define NID_rc5_cbc 120 +# define OBJ_rc5_cbc OBJ_rsadsi,3L,8L + +# define SN_rc5_ecb "RC5-ECB" +# define LN_rc5_ecb "rc5-ecb" +# define NID_rc5_ecb 121 + +# define SN_rc5_cfb64 "RC5-CFB" +# define LN_rc5_cfb64 "rc5-cfb" +# define NID_rc5_cfb64 122 + +# define SN_rc5_ofb64 "RC5-OFB" +# define LN_rc5_ofb64 "rc5-ofb" +# define NID_rc5_ofb64 123 + +# define SN_rle_compression "RLE" +# define LN_rle_compression "run length compression" +# define NID_rle_compression 124 +# define OBJ_rle_compression 1L,1L,1L,1L,666L,1L + +# define SN_zlib_compression "ZLIB" +# define LN_zlib_compression "zlib compression" +# define NID_zlib_compression 125 +# define OBJ_zlib_compression 1L,1L,1L,1L,666L,2L + +# define SN_ext_key_usage "extendedKeyUsage" +# define LN_ext_key_usage "X509v3 Extended Key Usage" +# define NID_ext_key_usage 126 +# define OBJ_ext_key_usage OBJ_id_ce,37 + +# define SN_id_pkix "PKIX" +# define NID_id_pkix 127 +# define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L + +# define SN_id_kp "id-kp" +# define NID_id_kp 128 +# define OBJ_id_kp OBJ_id_pkix,3L + +/* PKIX extended key usage OIDs */ + +# define SN_server_auth "serverAuth" +# define LN_server_auth "TLS Web Server Authentication" +# define NID_server_auth 129 +# define OBJ_server_auth OBJ_id_kp,1L + +# define SN_client_auth "clientAuth" +# define LN_client_auth "TLS Web Client Authentication" +# define NID_client_auth 130 +# define OBJ_client_auth OBJ_id_kp,2L + +# define SN_code_sign "codeSigning" +# define LN_code_sign "Code Signing" +# define NID_code_sign 131 +# define OBJ_code_sign OBJ_id_kp,3L + +# define SN_email_protect "emailProtection" +# define LN_email_protect "E-mail Protection" +# define NID_email_protect 132 +# define OBJ_email_protect OBJ_id_kp,4L + +# define SN_time_stamp "timeStamping" +# define LN_time_stamp "Time Stamping" +# define NID_time_stamp 133 +# define OBJ_time_stamp OBJ_id_kp,8L + +/* Additional extended key usage OIDs: Microsoft */ + +# define SN_ms_code_ind "msCodeInd" +# define LN_ms_code_ind "Microsoft Individual Code Signing" +# define NID_ms_code_ind 134 +# define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L + +# define SN_ms_code_com "msCodeCom" +# define LN_ms_code_com "Microsoft Commercial Code Signing" +# define NID_ms_code_com 135 +# define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L + +# define SN_ms_ctl_sign "msCTLSign" +# define LN_ms_ctl_sign "Microsoft Trust List Signing" +# define NID_ms_ctl_sign 136 +# define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L + +# define SN_ms_sgc "msSGC" +# define LN_ms_sgc "Microsoft Server Gated Crypto" +# define NID_ms_sgc 137 +# define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L + +# define SN_ms_efs "msEFS" +# define LN_ms_efs "Microsoft Encrypted File System" +# define NID_ms_efs 138 +# define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L + +/* Additional usage: Netscape */ + +# define SN_ns_sgc "nsSGC" +# define LN_ns_sgc "Netscape Server Gated Crypto" +# define NID_ns_sgc 139 +# define OBJ_ns_sgc OBJ_netscape,4L,1L + +# define SN_delta_crl "deltaCRL" +# define LN_delta_crl "X509v3 Delta CRL Indicator" +# define NID_delta_crl 140 +# define OBJ_delta_crl OBJ_id_ce,27L + +# define SN_crl_reason "CRLReason" +# define LN_crl_reason "CRL Reason Code" +# define NID_crl_reason 141 +# define OBJ_crl_reason OBJ_id_ce,21L + +# define SN_invalidity_date "invalidityDate" +# define LN_invalidity_date "Invalidity Date" +# define NID_invalidity_date 142 +# define OBJ_invalidity_date OBJ_id_ce,24L + +# define SN_sxnet "SXNetID" +# define LN_sxnet "Strong Extranet ID" +# define NID_sxnet 143 +# define OBJ_sxnet 1L,3L,101L,1L,4L,1L + +/* PKCS12 and related OBJECT IDENTIFIERS */ + +# define OBJ_pkcs12 OBJ_pkcs,12L +# define OBJ_pkcs12_pbeids OBJ_pkcs12, 1 + +# define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" +# define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" +# define NID_pbe_WithSHA1And128BitRC4 144 +# define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids, 1L + +# define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" +# define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" +# define NID_pbe_WithSHA1And40BitRC4 145 +# define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids, 2L + +# define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" +# define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" +# define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 +# define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 3L + +# define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" +# define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" +# define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 +# define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 4L + +# define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" +# define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" +# define NID_pbe_WithSHA1And128BitRC2_CBC 148 +# define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids, 5L + +# define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" +# define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" +# define NID_pbe_WithSHA1And40BitRC2_CBC 149 +# define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids, 6L + +# define OBJ_pkcs12_Version1 OBJ_pkcs12, 10L + +# define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1, 1L + +# define LN_keyBag "keyBag" +# define NID_keyBag 150 +# define OBJ_keyBag OBJ_pkcs12_BagIds, 1L + +# define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" +# define NID_pkcs8ShroudedKeyBag 151 +# define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds, 2L + +# define LN_certBag "certBag" +# define NID_certBag 152 +# define OBJ_certBag OBJ_pkcs12_BagIds, 3L + +# define LN_crlBag "crlBag" +# define NID_crlBag 153 +# define OBJ_crlBag OBJ_pkcs12_BagIds, 4L + +# define LN_secretBag "secretBag" +# define NID_secretBag 154 +# define OBJ_secretBag OBJ_pkcs12_BagIds, 5L + +# define LN_safeContentsBag "safeContentsBag" +# define NID_safeContentsBag 155 +# define OBJ_safeContentsBag OBJ_pkcs12_BagIds, 6L + +# define LN_friendlyName "friendlyName" +# define NID_friendlyName 156 +# define OBJ_friendlyName OBJ_pkcs9, 20L + +# define LN_localKeyID "localKeyID" +# define NID_localKeyID 157 +# define OBJ_localKeyID OBJ_pkcs9, 21L + +# define OBJ_certTypes OBJ_pkcs9, 22L + +# define LN_x509Certificate "x509Certificate" +# define NID_x509Certificate 158 +# define OBJ_x509Certificate OBJ_certTypes, 1L + +# define LN_sdsiCertificate "sdsiCertificate" +# define NID_sdsiCertificate 159 +# define OBJ_sdsiCertificate OBJ_certTypes, 2L + +# define OBJ_crlTypes OBJ_pkcs9, 23L + +# define LN_x509Crl "x509Crl" +# define NID_x509Crl 160 +# define OBJ_x509Crl OBJ_crlTypes, 1L + +/* PKCS#5 v2 OIDs */ + +# define LN_pbes2 "PBES2" +# define NID_pbes2 161 +# define OBJ_pbes2 OBJ_pkcs,5L,13L + +# define LN_pbmac1 "PBMAC1" +# define NID_pbmac1 162 +# define OBJ_pbmac1 OBJ_pkcs,5L,14L + +# define LN_hmacWithSHA1 "hmacWithSHA1" +# define NID_hmacWithSHA1 163 +# define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L + +/* Policy Qualifier Ids */ + +# define LN_id_qt_cps "Policy Qualifier CPS" +# define SN_id_qt_cps "id-qt-cps" +# define NID_id_qt_cps 164 +# define OBJ_id_qt_cps OBJ_id_pkix,2L,1L + +# define LN_id_qt_unotice "Policy Qualifier User Notice" +# define SN_id_qt_unotice "id-qt-unotice" +# define NID_id_qt_unotice 165 +# define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L + +# define SN_rc2_64_cbc "RC2-64-CBC" +# define LN_rc2_64_cbc "rc2-64-cbc" +# define NID_rc2_64_cbc 166 + +# define SN_SMIMECapabilities "SMIME-CAPS" +# define LN_SMIMECapabilities "S/MIME Capabilities" +# define NID_SMIMECapabilities 167 +# define OBJ_SMIMECapabilities OBJ_pkcs9,15L + +# define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" +# define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" +# define NID_pbeWithMD2AndRC2_CBC 168 +# define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,4L + +# define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" +# define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" +# define NID_pbeWithMD5AndRC2_CBC 169 +# define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs,5L,6L + +# define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" +# define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" +# define NID_pbeWithSHA1AndDES_CBC 170 +# define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L + +/* Extension request OIDs */ + +# define LN_ms_ext_req "Microsoft Extension Request" +# define SN_ms_ext_req "msExtReq" +# define NID_ms_ext_req 171 +# define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L + +# define LN_ext_req "Extension Request" +# define SN_ext_req "extReq" +# define NID_ext_req 172 +# define OBJ_ext_req OBJ_pkcs9,14L + +# define SN_name "name" +# define LN_name "name" +# define NID_name 173 +# define OBJ_name OBJ_X509,41L + +# define SN_dnQualifier "dnQualifier" +# define LN_dnQualifier "dnQualifier" +# define NID_dnQualifier 174 +# define OBJ_dnQualifier OBJ_X509,46L + +# define SN_id_pe "id-pe" +# define NID_id_pe 175 +# define OBJ_id_pe OBJ_id_pkix,1L + +# define SN_id_ad "id-ad" +# define NID_id_ad 176 +# define OBJ_id_ad OBJ_id_pkix,48L + +# define SN_info_access "authorityInfoAccess" +# define LN_info_access "Authority Information Access" +# define NID_info_access 177 +# define OBJ_info_access OBJ_id_pe,1L + +# define SN_ad_OCSP "OCSP" +# define LN_ad_OCSP "OCSP" +# define NID_ad_OCSP 178 +# define OBJ_ad_OCSP OBJ_id_ad,1L + +# define SN_ad_ca_issuers "caIssuers" +# define LN_ad_ca_issuers "CA Issuers" +# define NID_ad_ca_issuers 179 +# define OBJ_ad_ca_issuers OBJ_id_ad,2L + +# define SN_OCSP_sign "OCSPSigning" +# define LN_OCSP_sign "OCSP Signing" +# define NID_OCSP_sign 180 +# define OBJ_OCSP_sign OBJ_id_kp,9L +# endif /* USE_OBJ_MAC */ + +# include +# include + +# define OBJ_NAME_TYPE_UNDEF 0x00 +# define OBJ_NAME_TYPE_MD_METH 0x01 +# define OBJ_NAME_TYPE_CIPHER_METH 0x02 +# define OBJ_NAME_TYPE_PKEY_METH 0x03 +# define OBJ_NAME_TYPE_COMP_METH 0x04 +# define OBJ_NAME_TYPE_NUM 0x05 + +# define OBJ_NAME_ALIAS 0x8000 + +# define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 +# define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct obj_name_st { + int type; + int alias; + const char *name; + const char *data; +} OBJ_NAME; + +# define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) + +int OBJ_NAME_init(void); +int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *), + int (*cmp_func) (const char *, const char *), + void (*free_func) (const char *, int, const char *)); +const char *OBJ_NAME_get(const char *name, int type); +int OBJ_NAME_add(const char *name, int type, const char *data); +int OBJ_NAME_remove(const char *name, int type); +void OBJ_NAME_cleanup(int type); /* -1 for everything */ +void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg), + void *arg); +void OBJ_NAME_do_all_sorted(int type, + void (*fn) (const OBJ_NAME *, void *arg), + void *arg); + +ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); +ASN1_OBJECT *OBJ_nid2obj(int n); +const char *OBJ_nid2ln(int n); +const char *OBJ_nid2sn(int n); +int OBJ_obj2nid(const ASN1_OBJECT *o); +ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name); +int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); +int OBJ_txt2nid(const char *s); +int OBJ_ln2nid(const char *s); +int OBJ_sn2nid(const char *s); +int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); +const void *OBJ_bsearch_(const void *key, const void *base, int num, int size, + int (*cmp) (const void *, const void *)); +const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, + int size, + int (*cmp) (const void *, const void *), + int flags); + +# define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \ + static int nm##_cmp(type1 const *, type2 const *); \ + scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) + +# define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \ + _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp) +# define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ + type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) + +/*- + * Unsolved problem: if a type is actually a pointer type, like + * nid_triple is, then its impossible to get a const where you need + * it. Consider: + * + * typedef int nid_triple[3]; + * const void *a_; + * const nid_triple const *a = a_; + * + * The assignement discards a const because what you really want is: + * + * const int const * const *a = a_; + * + * But if you do that, you lose the fact that a is an array of 3 ints, + * which breaks comparison functions. + * + * Thus we end up having to cast, sadly, or unpack the + * declarations. Or, as I finally did in this case, delcare nid_triple + * to be a struct, which it should have been in the first place. + * + * Ben, August 2008. + * + * Also, strictly speaking not all types need be const, but handling + * the non-constness means a lot of complication, and in practice + * comparison routines do always not touch their arguments. + */ + +# define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ + { \ + type1 const *a = a_; \ + type2 const *b = b_; \ + return nm##_cmp(a,b); \ + } \ + static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ + { \ + return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ + nm##_cmp_BSEARCH_CMP_FN); \ + } \ + extern void dummy_prototype(void) + +# define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ + { \ + type1 const *a = a_; \ + type2 const *b = b_; \ + return nm##_cmp(a,b); \ + } \ + type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ + { \ + return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ + nm##_cmp_BSEARCH_CMP_FN); \ + } \ + extern void dummy_prototype(void) + +# define OBJ_bsearch(type1,key,type2,base,num,cmp) \ + ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ + num,sizeof(type2), \ + ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ + (void)CHECKED_PTR_OF(type2,cmp##_type_2), \ + cmp##_BSEARCH_CMP_FN))) + +# define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \ + ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ + num,sizeof(type2), \ + ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ + (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \ + cmp##_BSEARCH_CMP_FN)),flags) + +int OBJ_new_nid(int num); +int OBJ_add_object(const ASN1_OBJECT *obj); +int OBJ_create(const char *oid, const char *sn, const char *ln); +void OBJ_cleanup(void); +int OBJ_create_objects(BIO *in); + +int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid); +int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid); +int OBJ_add_sigid(int signid, int dig_id, int pkey_id); +void OBJ_sigid_free(void); + +extern int obj_cleanup_defer; +void check_defer(int nid); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_OBJ_strings(void); + +/* Error codes for the OBJ functions. */ + +/* Function codes. */ +# define OBJ_F_OBJ_ADD_OBJECT 105 +# define OBJ_F_OBJ_CREATE 100 +# define OBJ_F_OBJ_DUP 101 +# define OBJ_F_OBJ_NAME_NEW_INDEX 106 +# define OBJ_F_OBJ_NID2LN 102 +# define OBJ_F_OBJ_NID2OBJ 103 +# define OBJ_F_OBJ_NID2SN 104 + +/* Reason codes. */ +# define OBJ_R_MALLOC_FAILURE 100 +# define OBJ_R_UNKNOWN_NID 101 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ocsp.h b/3rdparty/openssl/include/openssl/ocsp.h new file mode 100644 index 0000000..ca2ee76 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ocsp.h @@ -0,0 +1,637 @@ +/* ocsp.h */ +/* + * Written by Tom Titchener for the OpenSSL + * project. + */ + +/* + * History: This file was transfered to Richard Levitte from CertCo by Kathy + * Weinhold in mid-spring 2000 to be included in OpenSSL or released as a + * patch kit. + */ + +/* ==================================================================== + * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_OCSP_H +# define HEADER_OCSP_H + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Various flags and values */ + +# define OCSP_DEFAULT_NONCE_LENGTH 16 + +# define OCSP_NOCERTS 0x1 +# define OCSP_NOINTERN 0x2 +# define OCSP_NOSIGS 0x4 +# define OCSP_NOCHAIN 0x8 +# define OCSP_NOVERIFY 0x10 +# define OCSP_NOEXPLICIT 0x20 +# define OCSP_NOCASIGN 0x40 +# define OCSP_NODELEGATED 0x80 +# define OCSP_NOCHECKS 0x100 +# define OCSP_TRUSTOTHER 0x200 +# define OCSP_RESPID_KEY 0x400 +# define OCSP_NOTIME 0x800 + +/*- CertID ::= SEQUENCE { + * hashAlgorithm AlgorithmIdentifier, + * issuerNameHash OCTET STRING, -- Hash of Issuer's DN + * issuerKeyHash OCTET STRING, -- Hash of Issuers public key (excluding the tag & length fields) + * serialNumber CertificateSerialNumber } + */ +typedef struct ocsp_cert_id_st { + X509_ALGOR *hashAlgorithm; + ASN1_OCTET_STRING *issuerNameHash; + ASN1_OCTET_STRING *issuerKeyHash; + ASN1_INTEGER *serialNumber; +} OCSP_CERTID; + +DECLARE_STACK_OF(OCSP_CERTID) + +/*- Request ::= SEQUENCE { + * reqCert CertID, + * singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL } + */ +typedef struct ocsp_one_request_st { + OCSP_CERTID *reqCert; + STACK_OF(X509_EXTENSION) *singleRequestExtensions; +} OCSP_ONEREQ; + +DECLARE_STACK_OF(OCSP_ONEREQ) +DECLARE_ASN1_SET_OF(OCSP_ONEREQ) + +/*- TBSRequest ::= SEQUENCE { + * version [0] EXPLICIT Version DEFAULT v1, + * requestorName [1] EXPLICIT GeneralName OPTIONAL, + * requestList SEQUENCE OF Request, + * requestExtensions [2] EXPLICIT Extensions OPTIONAL } + */ +typedef struct ocsp_req_info_st { + ASN1_INTEGER *version; + GENERAL_NAME *requestorName; + STACK_OF(OCSP_ONEREQ) *requestList; + STACK_OF(X509_EXTENSION) *requestExtensions; +} OCSP_REQINFO; + +/*- Signature ::= SEQUENCE { + * signatureAlgorithm AlgorithmIdentifier, + * signature BIT STRING, + * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } + */ +typedef struct ocsp_signature_st { + X509_ALGOR *signatureAlgorithm; + ASN1_BIT_STRING *signature; + STACK_OF(X509) *certs; +} OCSP_SIGNATURE; + +/*- OCSPRequest ::= SEQUENCE { + * tbsRequest TBSRequest, + * optionalSignature [0] EXPLICIT Signature OPTIONAL } + */ +typedef struct ocsp_request_st { + OCSP_REQINFO *tbsRequest; + OCSP_SIGNATURE *optionalSignature; /* OPTIONAL */ +} OCSP_REQUEST; + +/*- OCSPResponseStatus ::= ENUMERATED { + * successful (0), --Response has valid confirmations + * malformedRequest (1), --Illegal confirmation request + * internalError (2), --Internal error in issuer + * tryLater (3), --Try again later + * --(4) is not used + * sigRequired (5), --Must sign the request + * unauthorized (6) --Request unauthorized + * } + */ +# define OCSP_RESPONSE_STATUS_SUCCESSFUL 0 +# define OCSP_RESPONSE_STATUS_MALFORMEDREQUEST 1 +# define OCSP_RESPONSE_STATUS_INTERNALERROR 2 +# define OCSP_RESPONSE_STATUS_TRYLATER 3 +# define OCSP_RESPONSE_STATUS_SIGREQUIRED 5 +# define OCSP_RESPONSE_STATUS_UNAUTHORIZED 6 + +/*- ResponseBytes ::= SEQUENCE { + * responseType OBJECT IDENTIFIER, + * response OCTET STRING } + */ +typedef struct ocsp_resp_bytes_st { + ASN1_OBJECT *responseType; + ASN1_OCTET_STRING *response; +} OCSP_RESPBYTES; + +/*- OCSPResponse ::= SEQUENCE { + * responseStatus OCSPResponseStatus, + * responseBytes [0] EXPLICIT ResponseBytes OPTIONAL } + */ +struct ocsp_response_st { + ASN1_ENUMERATED *responseStatus; + OCSP_RESPBYTES *responseBytes; +}; + +/*- ResponderID ::= CHOICE { + * byName [1] Name, + * byKey [2] KeyHash } + */ +# define V_OCSP_RESPID_NAME 0 +# define V_OCSP_RESPID_KEY 1 +struct ocsp_responder_id_st { + int type; + union { + X509_NAME *byName; + ASN1_OCTET_STRING *byKey; + } value; +}; + +DECLARE_STACK_OF(OCSP_RESPID) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) + +/*- KeyHash ::= OCTET STRING --SHA-1 hash of responder's public key + * --(excluding the tag and length fields) + */ + +/*- RevokedInfo ::= SEQUENCE { + * revocationTime GeneralizedTime, + * revocationReason [0] EXPLICIT CRLReason OPTIONAL } + */ +typedef struct ocsp_revoked_info_st { + ASN1_GENERALIZEDTIME *revocationTime; + ASN1_ENUMERATED *revocationReason; +} OCSP_REVOKEDINFO; + +/*- CertStatus ::= CHOICE { + * good [0] IMPLICIT NULL, + * revoked [1] IMPLICIT RevokedInfo, + * unknown [2] IMPLICIT UnknownInfo } + */ +# define V_OCSP_CERTSTATUS_GOOD 0 +# define V_OCSP_CERTSTATUS_REVOKED 1 +# define V_OCSP_CERTSTATUS_UNKNOWN 2 +typedef struct ocsp_cert_status_st { + int type; + union { + ASN1_NULL *good; + OCSP_REVOKEDINFO *revoked; + ASN1_NULL *unknown; + } value; +} OCSP_CERTSTATUS; + +/*- SingleResponse ::= SEQUENCE { + * certID CertID, + * certStatus CertStatus, + * thisUpdate GeneralizedTime, + * nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL, + * singleExtensions [1] EXPLICIT Extensions OPTIONAL } + */ +typedef struct ocsp_single_response_st { + OCSP_CERTID *certId; + OCSP_CERTSTATUS *certStatus; + ASN1_GENERALIZEDTIME *thisUpdate; + ASN1_GENERALIZEDTIME *nextUpdate; + STACK_OF(X509_EXTENSION) *singleExtensions; +} OCSP_SINGLERESP; + +DECLARE_STACK_OF(OCSP_SINGLERESP) +DECLARE_ASN1_SET_OF(OCSP_SINGLERESP) + +/*- ResponseData ::= SEQUENCE { + * version [0] EXPLICIT Version DEFAULT v1, + * responderID ResponderID, + * producedAt GeneralizedTime, + * responses SEQUENCE OF SingleResponse, + * responseExtensions [1] EXPLICIT Extensions OPTIONAL } + */ +typedef struct ocsp_response_data_st { + ASN1_INTEGER *version; + OCSP_RESPID *responderId; + ASN1_GENERALIZEDTIME *producedAt; + STACK_OF(OCSP_SINGLERESP) *responses; + STACK_OF(X509_EXTENSION) *responseExtensions; +} OCSP_RESPDATA; + +/*- BasicOCSPResponse ::= SEQUENCE { + * tbsResponseData ResponseData, + * signatureAlgorithm AlgorithmIdentifier, + * signature BIT STRING, + * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } + */ + /* + * Note 1: The value for "signature" is specified in the OCSP rfc2560 as + * follows: "The value for the signature SHALL be computed on the hash of + * the DER encoding ResponseData." This means that you must hash the + * DER-encoded tbsResponseData, and then run it through a crypto-signing + * function, which will (at least w/RSA) do a hash-'n'-private-encrypt + * operation. This seems a bit odd, but that's the spec. Also note that + * the data structures do not leave anywhere to independently specify the + * algorithm used for the initial hash. So, we look at the + * signature-specification algorithm, and try to do something intelligent. + * -- Kathy Weinhold, CertCo + */ + /* + * Note 2: It seems that the mentioned passage from RFC 2560 (section + * 4.2.1) is open for interpretation. I've done tests against another + * responder, and found that it doesn't do the double hashing that the RFC + * seems to say one should. Therefore, all relevant functions take a flag + * saying which variant should be used. -- Richard Levitte, OpenSSL team + * and CeloCom + */ +typedef struct ocsp_basic_response_st { + OCSP_RESPDATA *tbsResponseData; + X509_ALGOR *signatureAlgorithm; + ASN1_BIT_STRING *signature; + STACK_OF(X509) *certs; +} OCSP_BASICRESP; + +/*- + * CRLReason ::= ENUMERATED { + * unspecified (0), + * keyCompromise (1), + * cACompromise (2), + * affiliationChanged (3), + * superseded (4), + * cessationOfOperation (5), + * certificateHold (6), + * removeFromCRL (8) } + */ +# define OCSP_REVOKED_STATUS_NOSTATUS -1 +# define OCSP_REVOKED_STATUS_UNSPECIFIED 0 +# define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 +# define OCSP_REVOKED_STATUS_CACOMPROMISE 2 +# define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 +# define OCSP_REVOKED_STATUS_SUPERSEDED 4 +# define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 +# define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 +# define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 + +/*- + * CrlID ::= SEQUENCE { + * crlUrl [0] EXPLICIT IA5String OPTIONAL, + * crlNum [1] EXPLICIT INTEGER OPTIONAL, + * crlTime [2] EXPLICIT GeneralizedTime OPTIONAL } + */ +typedef struct ocsp_crl_id_st { + ASN1_IA5STRING *crlUrl; + ASN1_INTEGER *crlNum; + ASN1_GENERALIZEDTIME *crlTime; +} OCSP_CRLID; + +/*- + * ServiceLocator ::= SEQUENCE { + * issuer Name, + * locator AuthorityInfoAccessSyntax OPTIONAL } + */ +typedef struct ocsp_service_locator_st { + X509_NAME *issuer; + STACK_OF(ACCESS_DESCRIPTION) *locator; +} OCSP_SERVICELOC; + +# define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" +# define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" + +# define d2i_OCSP_REQUEST_bio(bp,p) ASN1_d2i_bio_of(OCSP_REQUEST,OCSP_REQUEST_new,d2i_OCSP_REQUEST,bp,p) + +# define d2i_OCSP_RESPONSE_bio(bp,p) ASN1_d2i_bio_of(OCSP_RESPONSE,OCSP_RESPONSE_new,d2i_OCSP_RESPONSE,bp,p) + +# define PEM_read_bio_OCSP_REQUEST(bp,x,cb) (OCSP_REQUEST *)PEM_ASN1_read_bio( \ + (char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,bp,(char **)x,cb,NULL) + +# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb)(OCSP_RESPONSE *)PEM_ASN1_read_bio(\ + (char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,bp,(char **)x,cb,NULL) + +# define PEM_write_bio_OCSP_REQUEST(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,\ + bp,(char *)o, NULL,NULL,0,NULL,NULL) + +# define PEM_write_bio_OCSP_RESPONSE(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,\ + bp,(char *)o, NULL,NULL,0,NULL,NULL) + +# define i2d_OCSP_RESPONSE_bio(bp,o) ASN1_i2d_bio_of(OCSP_RESPONSE,i2d_OCSP_RESPONSE,bp,o) + +# define i2d_OCSP_REQUEST_bio(bp,o) ASN1_i2d_bio_of(OCSP_REQUEST,i2d_OCSP_REQUEST,bp,o) + +# define OCSP_REQUEST_sign(o,pkey,md) \ + ASN1_item_sign(ASN1_ITEM_rptr(OCSP_REQINFO),\ + o->optionalSignature->signatureAlgorithm,NULL,\ + o->optionalSignature->signature,o->tbsRequest,pkey,md) + +# define OCSP_BASICRESP_sign(o,pkey,md,d) \ + ASN1_item_sign(ASN1_ITEM_rptr(OCSP_RESPDATA),o->signatureAlgorithm,NULL,\ + o->signature,o->tbsResponseData,pkey,md) + +# define OCSP_REQUEST_verify(a,r) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_REQINFO),\ + a->optionalSignature->signatureAlgorithm,\ + a->optionalSignature->signature,a->tbsRequest,r) + +# define OCSP_BASICRESP_verify(a,r,d) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_RESPDATA),\ + a->signatureAlgorithm,a->signature,a->tbsResponseData,r) + +# define ASN1_BIT_STRING_digest(data,type,md,len) \ + ASN1_item_digest(ASN1_ITEM_rptr(ASN1_BIT_STRING),type,data,md,len) + +# define OCSP_CERTSTATUS_dup(cs)\ + (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ + (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) + +OCSP_CERTID *OCSP_CERTID_dup(OCSP_CERTID *id); + +OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req); +OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, + int maxline); +int OCSP_REQ_CTX_nbio(OCSP_REQ_CTX *rctx); +int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); +OCSP_REQ_CTX *OCSP_REQ_CTX_new(BIO *io, int maxline); +void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); +void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len); +int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, + ASN1_VALUE *val); +int OCSP_REQ_CTX_nbio_d2i(OCSP_REQ_CTX *rctx, ASN1_VALUE **pval, + const ASN1_ITEM *it); +BIO *OCSP_REQ_CTX_get0_mem_bio(OCSP_REQ_CTX *rctx); +int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, + ASN1_VALUE *val); +int OCSP_REQ_CTX_http(OCSP_REQ_CTX *rctx, const char *op, const char *path); +int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); +int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, + const char *name, const char *value); + +OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, X509 *subject, X509 *issuer); + +OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, + X509_NAME *issuerName, + ASN1_BIT_STRING *issuerKey, + ASN1_INTEGER *serialNumber); + +OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid); + +int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val, int len); +int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val, int len); +int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs); +int OCSP_copy_nonce(OCSP_BASICRESP *resp, OCSP_REQUEST *req); + +int OCSP_request_set1_name(OCSP_REQUEST *req, X509_NAME *nm); +int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert); + +int OCSP_request_sign(OCSP_REQUEST *req, + X509 *signer, + EVP_PKEY *key, + const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); + +int OCSP_response_status(OCSP_RESPONSE *resp); +OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp); + +int OCSP_resp_count(OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx); +int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last); +int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int *status, + int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, + ASN1_GENERALIZEDTIME *nextupd, long sec, long maxsec); + +int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, + X509_STORE *store, unsigned long flags); + +int OCSP_parse_url(const char *url, char **phost, char **pport, char **ppath, + int *pssl); + +int OCSP_id_issuer_cmp(OCSP_CERTID *a, OCSP_CERTID *b); +int OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); + +int OCSP_request_onereq_count(OCSP_REQUEST *req); +OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i); +OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one); +int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, + ASN1_OCTET_STRING **pikeyHash, + ASN1_INTEGER **pserial, OCSP_CERTID *cid); +int OCSP_request_is_signed(OCSP_REQUEST *req); +OCSP_RESPONSE *OCSP_response_create(int status, OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp, + OCSP_CERTID *cid, + int status, int reason, + ASN1_TIME *revtime, + ASN1_TIME *thisupd, + ASN1_TIME *nextupd); +int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert); +int OCSP_basic_sign(OCSP_BASICRESP *brsp, + X509 *signer, EVP_PKEY *key, const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); + +X509_EXTENSION *OCSP_crlID_new(char *url, long *n, char *tim); + +X509_EXTENSION *OCSP_accept_responses_new(char **oids); + +X509_EXTENSION *OCSP_archive_cutoff_new(char *tim); + +X509_EXTENSION *OCSP_url_svcloc_new(X509_NAME *issuer, char **urls); + +int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x); +int OCSP_REQUEST_get_ext_by_NID(OCSP_REQUEST *x, int nid, int lastpos); +int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, ASN1_OBJECT *obj, + int lastpos); +int OCSP_REQUEST_get_ext_by_critical(OCSP_REQUEST *x, int crit, int lastpos); +X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *x, int loc); +X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc); +void *OCSP_REQUEST_get1_ext_d2i(OCSP_REQUEST *x, int nid, int *crit, + int *idx); +int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int loc); + +int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x); +int OCSP_ONEREQ_get_ext_by_NID(OCSP_ONEREQ *x, int nid, int lastpos); +int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, ASN1_OBJECT *obj, int lastpos); +int OCSP_ONEREQ_get_ext_by_critical(OCSP_ONEREQ *x, int crit, int lastpos); +X509_EXTENSION *OCSP_ONEREQ_get_ext(OCSP_ONEREQ *x, int loc); +X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc); +void *OCSP_ONEREQ_get1_ext_d2i(OCSP_ONEREQ *x, int nid, int *crit, int *idx); +int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc); + +int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *x); +int OCSP_BASICRESP_get_ext_by_NID(OCSP_BASICRESP *x, int nid, int lastpos); +int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, ASN1_OBJECT *obj, + int lastpos); +int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *x, int loc); +X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc); +void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int *crit, + int *idx); +int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex, int loc); + +int OCSP_SINGLERESP_get_ext_count(OCSP_SINGLERESP *x); +int OCSP_SINGLERESP_get_ext_by_NID(OCSP_SINGLERESP *x, int nid, int lastpos); +int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, ASN1_OBJECT *obj, + int lastpos); +int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *x, int loc); +X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int loc); +void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int *crit, + int *idx); +int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, int loc); + +DECLARE_ASN1_FUNCTIONS(OCSP_SINGLERESP) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTSTATUS) +DECLARE_ASN1_FUNCTIONS(OCSP_REVOKEDINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_BASICRESP) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPDATA) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPBYTES) +DECLARE_ASN1_FUNCTIONS(OCSP_ONEREQ) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTID) +DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST) +DECLARE_ASN1_FUNCTIONS(OCSP_SIGNATURE) +DECLARE_ASN1_FUNCTIONS(OCSP_REQINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_CRLID) +DECLARE_ASN1_FUNCTIONS(OCSP_SERVICELOC) + +const char *OCSP_response_status_str(long s); +const char *OCSP_cert_status_str(long s); +const char *OCSP_crl_reason_str(long s); + +int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *a, unsigned long flags); +int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE *o, unsigned long flags); + +int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, + X509_STORE *st, unsigned long flags); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_OCSP_strings(void); + +/* Error codes for the OCSP functions. */ + +/* Function codes. */ +# define OCSP_F_ASN1_STRING_ENCODE 100 +# define OCSP_F_D2I_OCSP_NONCE 102 +# define OCSP_F_OCSP_BASIC_ADD1_STATUS 103 +# define OCSP_F_OCSP_BASIC_SIGN 104 +# define OCSP_F_OCSP_BASIC_VERIFY 105 +# define OCSP_F_OCSP_CERT_ID_NEW 101 +# define OCSP_F_OCSP_CHECK_DELEGATED 106 +# define OCSP_F_OCSP_CHECK_IDS 107 +# define OCSP_F_OCSP_CHECK_ISSUER 108 +# define OCSP_F_OCSP_CHECK_VALIDITY 115 +# define OCSP_F_OCSP_MATCH_ISSUERID 109 +# define OCSP_F_OCSP_PARSE_URL 114 +# define OCSP_F_OCSP_REQUEST_SIGN 110 +# define OCSP_F_OCSP_REQUEST_VERIFY 116 +# define OCSP_F_OCSP_RESPONSE_GET1_BASIC 111 +# define OCSP_F_OCSP_SENDREQ_BIO 112 +# define OCSP_F_OCSP_SENDREQ_NBIO 117 +# define OCSP_F_PARSE_HTTP_LINE1 118 +# define OCSP_F_REQUEST_VERIFY 113 + +/* Reason codes. */ +# define OCSP_R_BAD_DATA 100 +# define OCSP_R_CERTIFICATE_VERIFY_ERROR 101 +# define OCSP_R_DIGEST_ERR 102 +# define OCSP_R_ERROR_IN_NEXTUPDATE_FIELD 122 +# define OCSP_R_ERROR_IN_THISUPDATE_FIELD 123 +# define OCSP_R_ERROR_PARSING_URL 121 +# define OCSP_R_MISSING_OCSPSIGNING_USAGE 103 +# define OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE 124 +# define OCSP_R_NOT_BASIC_RESPONSE 104 +# define OCSP_R_NO_CERTIFICATES_IN_CHAIN 105 +# define OCSP_R_NO_CONTENT 106 +# define OCSP_R_NO_PUBLIC_KEY 107 +# define OCSP_R_NO_RESPONSE_DATA 108 +# define OCSP_R_NO_REVOKED_TIME 109 +# define OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 110 +# define OCSP_R_REQUEST_NOT_SIGNED 128 +# define OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA 111 +# define OCSP_R_ROOT_CA_NOT_TRUSTED 112 +# define OCSP_R_SERVER_READ_ERROR 113 +# define OCSP_R_SERVER_RESPONSE_ERROR 114 +# define OCSP_R_SERVER_RESPONSE_PARSE_ERROR 115 +# define OCSP_R_SERVER_WRITE_ERROR 116 +# define OCSP_R_SIGNATURE_FAILURE 117 +# define OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND 118 +# define OCSP_R_STATUS_EXPIRED 125 +# define OCSP_R_STATUS_NOT_YET_VALID 126 +# define OCSP_R_STATUS_TOO_OLD 127 +# define OCSP_R_UNKNOWN_MESSAGE_DIGEST 119 +# define OCSP_R_UNKNOWN_NID 120 +# define OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE 129 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/opensslconf.h b/3rdparty/openssl/include/openssl/opensslconf.h new file mode 100644 index 0000000..747f5bf --- /dev/null +++ b/3rdparty/openssl/include/openssl/opensslconf.h @@ -0,0 +1,271 @@ +/* opensslconf.h */ +/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ + +#ifdef __cplusplus +extern "C" { +#endif +/* OpenSSL was configured with the following options: */ +#ifndef OPENSSL_DOING_MAKEDEPEND + + +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_GMP +# define OPENSSL_NO_GMP +#endif +#ifndef OPENSSL_NO_JPAKE +# define OPENSSL_NO_JPAKE +#endif +#ifndef OPENSSL_NO_KRB5 +# define OPENSSL_NO_KRB5 +#endif +#ifndef OPENSSL_NO_LIBUNBOUND +# define OPENSSL_NO_LIBUNBOUND +#endif +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_NO_RFC3779 +# define OPENSSL_NO_RFC3779 +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL2 +# define OPENSSL_NO_SSL2 +#endif +#ifndef OPENSSL_NO_STORE +# define OPENSSL_NO_STORE +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif + +#endif /* OPENSSL_DOING_MAKEDEPEND */ + +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_NO_ASM +# define OPENSSL_NO_ASM +#endif +#ifndef OPENSSL_NO_DYNAMIC_ENGINE +# define OPENSSL_NO_DYNAMIC_ENGINE +#endif + +/* The OPENSSL_NO_* macros are also defined as NO_* if the application + asks for it. This is a transient feature that is provided for those + who haven't had the time to do the appropriate changes in their + applications. */ +#ifdef OPENSSL_ALGORITHM_DEFINES +# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) +# define NO_EC_NISTP_64_GCC_128 +# endif +# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) +# define NO_GMP +# endif +# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) +# define NO_JPAKE +# endif +# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) +# define NO_KRB5 +# endif +# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) +# define NO_LIBUNBOUND +# endif +# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) +# define NO_MD2 +# endif +# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) +# define NO_RC5 +# endif +# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) +# define NO_RFC3779 +# endif +# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) +# define NO_SCTP +# endif +# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) +# define NO_SSL_TRACE +# endif +# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) +# define NO_SSL2 +# endif +# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) +# define NO_STORE +# endif +# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) +# define NO_UNIT_TEST +# endif +# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) +# define NO_WEAK_SSL_CIPHERS +# endif +#endif + +/* crypto/opensslconf.h.in */ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ +#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) +#define ENGINESDIR "/opt/himix_tools/openssl/lib/engines" +#define OPENSSLDIR "/opt/himix_tools/openssl/ssl" +#endif +#endif + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) +#define IDEA_INT unsigned int +#endif + +#if defined(HEADER_MD2_H) && !defined(MD2_INT) +#define MD2_INT unsigned int +#endif + +#if defined(HEADER_RC2_H) && !defined(RC2_INT) +/* I need to put in a mod for the alpha - eay */ +#define RC2_INT unsigned int +#endif + +#if defined(HEADER_RC4_H) +#if !defined(RC4_INT) +/* using int types make the structure larger but make the code faster + * on most boxes I have tested - up to %20 faster. */ +/* + * I don't know what does "most" mean, but declaring "int" is a must on: + * - Intel P6 because partial register stalls are very expensive; + * - elder Alpha because it lacks byte load/store instructions; + */ +#define RC4_INT unsigned char +#endif +#if !defined(RC4_CHUNK) +/* + * This enables code handling data aligned at natural CPU word + * boundary. See crypto/rc4/rc4_enc.c for further details. + */ +#define RC4_CHUNK unsigned long +#endif +#endif + +#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) +/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a + * %20 speed up (longs are 8 bytes, int's are 4). */ +#ifndef DES_LONG +#define DES_LONG unsigned int +#endif +#endif + +#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) +#define CONFIG_HEADER_BN_H +#define BN_LLONG + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +#undef SIXTY_FOUR_BIT_LONG +#undef SIXTY_FOUR_BIT +#define THIRTY_TWO_BIT +#endif + +#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) +#define CONFIG_HEADER_RC4_LOCL_H +/* if this is defined data[i] is used instead of *data, this is a %20 + * speedup on x86 */ +#undef RC4_INDEX +#endif + +#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) +#define CONFIG_HEADER_BF_LOCL_H +#define BF_PTR +#endif /* HEADER_BF_LOCL_H */ + +#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) +#define CONFIG_HEADER_DES_LOCL_H +#ifndef DES_DEFAULT_OPTIONS +/* the following is tweaked from a config script, that is why it is a + * protected undef/define */ +#ifndef DES_PTR +#undef DES_PTR +#endif + +/* This helps C compiler generate the correct code for multiple functional + * units. It reduces register dependancies at the expense of 2 more + * registers */ +#ifndef DES_RISC1 +#undef DES_RISC1 +#endif + +#ifndef DES_RISC2 +#undef DES_RISC2 +#endif + +#if defined(DES_RISC1) && defined(DES_RISC2) +#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! +#endif + +/* Unroll the inner loop, this sometimes helps, sometimes hinders. + * Very mucy CPU dependant */ +#ifndef DES_UNROLL +#define DES_UNROLL +#endif + +/* These default values were supplied by + * Peter Gutman + * They are only used if nothing else has been defined */ +#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) +/* Special defines which change the way the code is built depending on the + CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find + even newer MIPS CPU's, but at the moment one size fits all for + optimization options. Older Sparc's work better with only UNROLL, but + there's no way to tell at compile time what it is you're running on */ + +#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#elif defined( __ultrix ) /* Older MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined( __osf1__ ) /* Alpha */ +# define DES_PTR +# define DES_RISC2 +#elif defined ( _AIX ) /* RS6000 */ + /* Unknown */ +#elif defined( __hpux ) /* HP-PA */ + /* Unknown */ +#elif defined( __aux ) /* 68K */ + /* Unknown */ +#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ +# define DES_UNROLL +#elif defined( __sgi ) /* Newer MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#endif /* Systems-specific speed defines */ +#endif + +#endif /* DES_DEFAULT_OPTIONS */ +#endif /* HEADER_DES_LOCL_H */ +#ifdef __cplusplus +} +#endif diff --git a/3rdparty/openssl/include/openssl/opensslv.h b/3rdparty/openssl/include/openssl/opensslv.h new file mode 100644 index 0000000..baee2d0 --- /dev/null +++ b/3rdparty/openssl/include/openssl/opensslv.h @@ -0,0 +1,97 @@ +#ifndef HEADER_OPENSSLV_H +# define HEADER_OPENSSLV_H + +#ifdef __cplusplus +extern "C" { +#endif + +/*- + * Numeric release version identifier: + * MNNFFPPS: major minor fix patch status + * The status nibble has one of the values 0 for development, 1 to e for betas + * 1 to 14, and f for release. The patch level is exactly that. + * For example: + * 0.9.3-dev 0x00903000 + * 0.9.3-beta1 0x00903001 + * 0.9.3-beta2-dev 0x00903002 + * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) + * 0.9.3 0x0090300f + * 0.9.3a 0x0090301f + * 0.9.4 0x0090400f + * 1.2.3z 0x102031af + * + * For continuity reasons (because 0.9.5 is already out, and is coded + * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level + * part is slightly different, by setting the highest bit. This means + * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start + * with 0x0090600S... + * + * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) + * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for + * major minor fix final patch/beta) + */ +# define OPENSSL_VERSION_NUMBER 0x100020efL +# ifdef OPENSSL_FIPS +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2n-fips 7 Dec 2017" +# else +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2n 7 Dec 2017" +# endif +# define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT + +/*- + * The macros below are to be used for shared library (.so, .dll, ...) + * versioning. That kind of versioning works a bit differently between + * operating systems. The most usual scheme is to set a major and a minor + * number, and have the runtime loader check that the major number is equal + * to what it was at application link time, while the minor number has to + * be greater or equal to what it was at application link time. With this + * scheme, the version number is usually part of the file name, like this: + * + * libcrypto.so.0.9 + * + * Some unixen also make a softlink with the major verson number only: + * + * libcrypto.so.0 + * + * On Tru64 and IRIX 6.x it works a little bit differently. There, the + * shared library version is stored in the file, and is actually a series + * of versions, separated by colons. The rightmost version present in the + * library when linking an application is stored in the application to be + * matched at run time. When the application is run, a check is done to + * see if the library version stored in the application matches any of the + * versions in the version string of the library itself. + * This version string can be constructed in any way, depending on what + * kind of matching is desired. However, to implement the same scheme as + * the one used in the other unixen, all compatible versions, from lowest + * to highest, should be part of the string. Consecutive builds would + * give the following versions strings: + * + * 3.0 + * 3.0:3.1 + * 3.0:3.1:3.2 + * 4.0 + * 4.0:4.1 + * + * Notice how version 4 is completely incompatible with version, and + * therefore give the breach you can see. + * + * There may be other schemes as well that I haven't yet discovered. + * + * So, here's the way it works here: first of all, the library version + * number doesn't need at all to match the overall OpenSSL version. + * However, it's nice and more understandable if it actually does. + * The current library version is stored in the macro SHLIB_VERSION_NUMBER, + * which is just a piece of text in the format "M.m.e" (Major, minor, edit). + * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, + * we need to keep a history of version numbers, which is done in the + * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and + * should only keep the versions that are binary compatible with the current. + */ +# define SHLIB_VERSION_HISTORY "" +# define SHLIB_VERSION_NUMBER "1.0.0" + + +#ifdef __cplusplus +} +#endif +#endif /* HEADER_OPENSSLV_H */ diff --git a/3rdparty/openssl/include/openssl/ossl_typ.h b/3rdparty/openssl/include/openssl/ossl_typ.h new file mode 100644 index 0000000..364d262 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ossl_typ.h @@ -0,0 +1,213 @@ +/* ==================================================================== + * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_OPENSSL_TYPES_H +# define HEADER_OPENSSL_TYPES_H + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# ifdef NO_ASN1_TYPEDEFS +# define ASN1_INTEGER ASN1_STRING +# define ASN1_ENUMERATED ASN1_STRING +# define ASN1_BIT_STRING ASN1_STRING +# define ASN1_OCTET_STRING ASN1_STRING +# define ASN1_PRINTABLESTRING ASN1_STRING +# define ASN1_T61STRING ASN1_STRING +# define ASN1_IA5STRING ASN1_STRING +# define ASN1_UTCTIME ASN1_STRING +# define ASN1_GENERALIZEDTIME ASN1_STRING +# define ASN1_TIME ASN1_STRING +# define ASN1_GENERALSTRING ASN1_STRING +# define ASN1_UNIVERSALSTRING ASN1_STRING +# define ASN1_BMPSTRING ASN1_STRING +# define ASN1_VISIBLESTRING ASN1_STRING +# define ASN1_UTF8STRING ASN1_STRING +# define ASN1_BOOLEAN int +# define ASN1_NULL int +# else +typedef struct asn1_string_st ASN1_INTEGER; +typedef struct asn1_string_st ASN1_ENUMERATED; +typedef struct asn1_string_st ASN1_BIT_STRING; +typedef struct asn1_string_st ASN1_OCTET_STRING; +typedef struct asn1_string_st ASN1_PRINTABLESTRING; +typedef struct asn1_string_st ASN1_T61STRING; +typedef struct asn1_string_st ASN1_IA5STRING; +typedef struct asn1_string_st ASN1_GENERALSTRING; +typedef struct asn1_string_st ASN1_UNIVERSALSTRING; +typedef struct asn1_string_st ASN1_BMPSTRING; +typedef struct asn1_string_st ASN1_UTCTIME; +typedef struct asn1_string_st ASN1_TIME; +typedef struct asn1_string_st ASN1_GENERALIZEDTIME; +typedef struct asn1_string_st ASN1_VISIBLESTRING; +typedef struct asn1_string_st ASN1_UTF8STRING; +typedef struct asn1_string_st ASN1_STRING; +typedef int ASN1_BOOLEAN; +typedef int ASN1_NULL; +# endif + +typedef struct asn1_object_st ASN1_OBJECT; + +typedef struct ASN1_ITEM_st ASN1_ITEM; +typedef struct asn1_pctx_st ASN1_PCTX; + +# ifdef OPENSSL_SYS_WIN32 +# undef X509_NAME +# undef X509_EXTENSIONS +# undef X509_CERT_PAIR +# undef PKCS7_ISSUER_AND_SERIAL +# undef OCSP_REQUEST +# undef OCSP_RESPONSE +# endif + +# ifdef BIGNUM +# undef BIGNUM +# endif +typedef struct bignum_st BIGNUM; +typedef struct bignum_ctx BN_CTX; +typedef struct bn_blinding_st BN_BLINDING; +typedef struct bn_mont_ctx_st BN_MONT_CTX; +typedef struct bn_recp_ctx_st BN_RECP_CTX; +typedef struct bn_gencb_st BN_GENCB; + +typedef struct buf_mem_st BUF_MEM; + +typedef struct evp_cipher_st EVP_CIPHER; +typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; +typedef struct env_md_st EVP_MD; +typedef struct env_md_ctx_st EVP_MD_CTX; +typedef struct evp_pkey_st EVP_PKEY; + +typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; + +typedef struct evp_pkey_method_st EVP_PKEY_METHOD; +typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; + +typedef struct dh_st DH; +typedef struct dh_method DH_METHOD; + +typedef struct dsa_st DSA; +typedef struct dsa_method DSA_METHOD; + +typedef struct rsa_st RSA; +typedef struct rsa_meth_st RSA_METHOD; + +typedef struct rand_meth_st RAND_METHOD; + +typedef struct ecdh_method ECDH_METHOD; +typedef struct ecdsa_method ECDSA_METHOD; + +typedef struct x509_st X509; +typedef struct X509_algor_st X509_ALGOR; +typedef struct X509_crl_st X509_CRL; +typedef struct x509_crl_method_st X509_CRL_METHOD; +typedef struct x509_revoked_st X509_REVOKED; +typedef struct X509_name_st X509_NAME; +typedef struct X509_pubkey_st X509_PUBKEY; +typedef struct x509_store_st X509_STORE; +typedef struct x509_store_ctx_st X509_STORE_CTX; + +typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; + +typedef struct v3_ext_ctx X509V3_CTX; +typedef struct conf_st CONF; + +typedef struct store_st STORE; +typedef struct store_method_st STORE_METHOD; + +typedef struct ui_st UI; +typedef struct ui_method_st UI_METHOD; + +typedef struct st_ERR_FNS ERR_FNS; + +typedef struct engine_st ENGINE; +typedef struct ssl_st SSL; +typedef struct ssl_ctx_st SSL_CTX; + +typedef struct comp_method_st COMP_METHOD; + +typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; +typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; +typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; +typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; + +typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; +typedef struct DIST_POINT_st DIST_POINT; +typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; +typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; + + /* If placed in pkcs12.h, we end up with a circular depency with pkcs7.h */ +# define DECLARE_PKCS12_STACK_OF(type)/* Nothing */ +# define IMPLEMENT_PKCS12_STACK_OF(type)/* Nothing */ + +typedef struct crypto_ex_data_st CRYPTO_EX_DATA; +/* Callback types for crypto.h */ +typedef int CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, + void *from_d, int idx, long argl, void *argp); + +typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; +typedef struct ocsp_response_st OCSP_RESPONSE; +typedef struct ocsp_responder_id_st OCSP_RESPID; + +#ifdef __cplusplus +} +#endif +#endif /* def HEADER_OPENSSL_TYPES_H */ diff --git a/3rdparty/openssl/include/openssl/pem.h b/3rdparty/openssl/include/openssl/pem.h new file mode 100644 index 0000000..aac72fb --- /dev/null +++ b/3rdparty/openssl/include/openssl/pem.h @@ -0,0 +1,617 @@ +/* crypto/pem/pem.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_PEM_H +# define HEADER_PEM_H + +# include +# ifndef OPENSSL_NO_BIO +# include +# endif +# ifndef OPENSSL_NO_STACK +# include +# endif +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define PEM_BUFSIZE 1024 + +# define PEM_OBJ_UNDEF 0 +# define PEM_OBJ_X509 1 +# define PEM_OBJ_X509_REQ 2 +# define PEM_OBJ_CRL 3 +# define PEM_OBJ_SSL_SESSION 4 +# define PEM_OBJ_PRIV_KEY 10 +# define PEM_OBJ_PRIV_RSA 11 +# define PEM_OBJ_PRIV_DSA 12 +# define PEM_OBJ_PRIV_DH 13 +# define PEM_OBJ_PUB_RSA 14 +# define PEM_OBJ_PUB_DSA 15 +# define PEM_OBJ_PUB_DH 16 +# define PEM_OBJ_DHPARAMS 17 +# define PEM_OBJ_DSAPARAMS 18 +# define PEM_OBJ_PRIV_RSA_PUBLIC 19 +# define PEM_OBJ_PRIV_ECDSA 20 +# define PEM_OBJ_PUB_ECDSA 21 +# define PEM_OBJ_ECPARAMETERS 22 + +# define PEM_ERROR 30 +# define PEM_DEK_DES_CBC 40 +# define PEM_DEK_IDEA_CBC 45 +# define PEM_DEK_DES_EDE 50 +# define PEM_DEK_DES_ECB 60 +# define PEM_DEK_RSA 70 +# define PEM_DEK_RSA_MD2 80 +# define PEM_DEK_RSA_MD5 90 + +# define PEM_MD_MD2 NID_md2 +# define PEM_MD_MD5 NID_md5 +# define PEM_MD_SHA NID_sha +# define PEM_MD_MD2_RSA NID_md2WithRSAEncryption +# define PEM_MD_MD5_RSA NID_md5WithRSAEncryption +# define PEM_MD_SHA_RSA NID_sha1WithRSAEncryption + +# define PEM_STRING_X509_OLD "X509 CERTIFICATE" +# define PEM_STRING_X509 "CERTIFICATE" +# define PEM_STRING_X509_PAIR "CERTIFICATE PAIR" +# define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE" +# define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST" +# define PEM_STRING_X509_REQ "CERTIFICATE REQUEST" +# define PEM_STRING_X509_CRL "X509 CRL" +# define PEM_STRING_EVP_PKEY "ANY PRIVATE KEY" +# define PEM_STRING_PUBLIC "PUBLIC KEY" +# define PEM_STRING_RSA "RSA PRIVATE KEY" +# define PEM_STRING_RSA_PUBLIC "RSA PUBLIC KEY" +# define PEM_STRING_DSA "DSA PRIVATE KEY" +# define PEM_STRING_DSA_PUBLIC "DSA PUBLIC KEY" +# define PEM_STRING_PKCS7 "PKCS7" +# define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA" +# define PEM_STRING_PKCS8 "ENCRYPTED PRIVATE KEY" +# define PEM_STRING_PKCS8INF "PRIVATE KEY" +# define PEM_STRING_DHPARAMS "DH PARAMETERS" +# define PEM_STRING_DHXPARAMS "X9.42 DH PARAMETERS" +# define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS" +# define PEM_STRING_DSAPARAMS "DSA PARAMETERS" +# define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY" +# define PEM_STRING_ECPARAMETERS "EC PARAMETERS" +# define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY" +# define PEM_STRING_PARAMETERS "PARAMETERS" +# define PEM_STRING_CMS "CMS" + + /* + * Note that this structure is initialised by PEM_SealInit and cleaned up + * by PEM_SealFinal (at least for now) + */ +typedef struct PEM_Encode_Seal_st { + EVP_ENCODE_CTX encode; + EVP_MD_CTX md; + EVP_CIPHER_CTX cipher; +} PEM_ENCODE_SEAL_CTX; + +/* enc_type is one off */ +# define PEM_TYPE_ENCRYPTED 10 +# define PEM_TYPE_MIC_ONLY 20 +# define PEM_TYPE_MIC_CLEAR 30 +# define PEM_TYPE_CLEAR 40 + +typedef struct pem_recip_st { + char *name; + X509_NAME *dn; + int cipher; + int key_enc; + /* char iv[8]; unused and wrong size */ +} PEM_USER; + +typedef struct pem_ctx_st { + int type; /* what type of object */ + struct { + int version; + int mode; + } proc_type; + + char *domain; + + struct { + int cipher; + /*- + unused, and wrong size + unsigned char iv[8]; */ + } DEK_info; + + PEM_USER *originator; + + int num_recipient; + PEM_USER **recipient; +/*- + XXX(ben): don#t think this is used! + STACK *x509_chain; / * certificate chain */ + EVP_MD *md; /* signature type */ + + int md_enc; /* is the md encrypted or not? */ + int md_len; /* length of md_data */ + char *md_data; /* message digest, could be pkey encrypted */ + + EVP_CIPHER *dec; /* date encryption cipher */ + int key_len; /* key length */ + unsigned char *key; /* key */ + /*- + unused, and wrong size + unsigned char iv[8]; */ + + int data_enc; /* is the data encrypted */ + int data_len; + unsigned char *data; +} PEM_CTX; + +/* + * These macros make the PEM_read/PEM_write functions easier to maintain and + * write. Now they are all implemented with either: IMPLEMENT_PEM_rw(...) or + * IMPLEMENT_PEM_rw_cb(...) + */ + +# ifdef OPENSSL_NO_FP_API + +# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ +# else + +# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ +type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str,fp,(void **)x,cb,u); \ +} + +# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, const type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +# endif + +# define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ +type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str,bp,(void **)x,cb,u); \ +} + +# define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, const type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_read_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb(name, type, str, asn1) + +/* These are the same except they are for the declarations */ + +# if defined(OPENSSL_NO_FP_API) + +# define DECLARE_PEM_read_fp(name, type) /**/ +# define DECLARE_PEM_write_fp(name, type) /**/ +# define DECLARE_PEM_write_cb_fp(name, type) /**/ +# else + +# define DECLARE_PEM_read_fp(name, type) \ + type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x); + +# define DECLARE_PEM_write_fp_const(name, type) \ + int PEM_write_##name(FILE *fp, const type *x); + +# define DECLARE_PEM_write_cb_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + +# endif + +# ifndef OPENSSL_NO_BIO +# define DECLARE_PEM_read_bio(name, type) \ + type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x); + +# define DECLARE_PEM_write_bio_const(name, type) \ + int PEM_write_bio_##name(BIO *bp, const type *x); + +# define DECLARE_PEM_write_cb_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + +# else + +# define DECLARE_PEM_read_bio(name, type) /**/ +# define DECLARE_PEM_write_bio(name, type) /**/ +# define DECLARE_PEM_write_bio_const(name, type) /**/ +# define DECLARE_PEM_write_cb_bio(name, type) /**/ +# endif +# define DECLARE_PEM_write(name, type) \ + DECLARE_PEM_write_bio(name, type) \ + DECLARE_PEM_write_fp(name, type) +# define DECLARE_PEM_write_const(name, type) \ + DECLARE_PEM_write_bio_const(name, type) \ + DECLARE_PEM_write_fp_const(name, type) +# define DECLARE_PEM_write_cb(name, type) \ + DECLARE_PEM_write_cb_bio(name, type) \ + DECLARE_PEM_write_cb_fp(name, type) +# define DECLARE_PEM_read(name, type) \ + DECLARE_PEM_read_bio(name, type) \ + DECLARE_PEM_read_fp(name, type) +# define DECLARE_PEM_rw(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write(name, type) +# define DECLARE_PEM_rw_const(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_const(name, type) +# define DECLARE_PEM_rw_cb(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_cb(name, type) +# if 1 +/* "userdata": new with OpenSSL 0.9.4 */ +typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata); +# else +/* OpenSSL 0.9.3, 0.9.3a */ +typedef int pem_password_cb (char *buf, int size, int rwflag); +# endif + +int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher); +int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *len, + pem_password_cb *callback, void *u); + +# ifndef OPENSSL_NO_BIO +int PEM_read_bio(BIO *bp, char **name, char **header, + unsigned char **data, long *len); +int PEM_write_bio(BIO *bp, const char *name, const char *hdr, + const unsigned char *data, long len); +int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, + const char *name, BIO *bp, pem_password_cb *cb, + void *u); +void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, void **x, + pem_password_cb *cb, void *u); +int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, + const EVP_CIPHER *enc, unsigned char *kstr, int klen, + pem_password_cb *cb, void *u); + +STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, + pem_password_cb *cb, void *u); +int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cd, void *u); +# endif + +int PEM_read(FILE *fp, char **name, char **header, + unsigned char **data, long *len); +int PEM_write(FILE *fp, const char *name, const char *hdr, + const unsigned char *data, long len); +void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, + pem_password_cb *cb, void *u); +int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, + void *x, const EVP_CIPHER *enc, unsigned char *kstr, + int klen, pem_password_cb *callback, void *u); +STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, + pem_password_cb *cb, void *u); + +int PEM_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, + EVP_MD *md_type, unsigned char **ek, int *ekl, + unsigned char *iv, EVP_PKEY **pubk, int npubk); +void PEM_SealUpdate(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *out, int *outl, + unsigned char *in, int inl); +int PEM_SealFinal(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *sig, int *sigl, + unsigned char *out, int *outl, EVP_PKEY *priv); + +void PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); +void PEM_SignUpdate(EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt); +int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, + unsigned int *siglen, EVP_PKEY *pkey); + +int PEM_def_callback(char *buf, int num, int w, void *key); +void PEM_proc_type(char *buf, int type); +void PEM_dek_info(char *buf, const char *type, int len, char *str); + +# include + +DECLARE_PEM_rw(X509, X509) +DECLARE_PEM_rw(X509_AUX, X509) +DECLARE_PEM_rw(X509_CERT_PAIR, X509_CERT_PAIR) +DECLARE_PEM_rw(X509_REQ, X509_REQ) +DECLARE_PEM_write(X509_REQ_NEW, X509_REQ) +DECLARE_PEM_rw(X509_CRL, X509_CRL) +DECLARE_PEM_rw(PKCS7, PKCS7) +DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) +DECLARE_PEM_rw(PKCS8, X509_SIG) +DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) +# ifndef OPENSSL_NO_RSA +DECLARE_PEM_rw_cb(RSAPrivateKey, RSA) +DECLARE_PEM_rw_const(RSAPublicKey, RSA) +DECLARE_PEM_rw(RSA_PUBKEY, RSA) +# endif +# ifndef OPENSSL_NO_DSA +DECLARE_PEM_rw_cb(DSAPrivateKey, DSA) +DECLARE_PEM_rw(DSA_PUBKEY, DSA) +DECLARE_PEM_rw_const(DSAparams, DSA) +# endif +# ifndef OPENSSL_NO_EC +DECLARE_PEM_rw_const(ECPKParameters, EC_GROUP) +DECLARE_PEM_rw_cb(ECPrivateKey, EC_KEY) +DECLARE_PEM_rw(EC_PUBKEY, EC_KEY) +# endif +# ifndef OPENSSL_NO_DH +DECLARE_PEM_rw_const(DHparams, DH) +DECLARE_PEM_write_const(DHxparams, DH) +# endif +DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) +DECLARE_PEM_rw(PUBKEY, EVP_PKEY) + +int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, + char *, int, pem_password_cb *, void *); +int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); + +EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, pem_password_cb *cd, + void *u); + +EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x); +int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x); + +EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PrivateKey_bio(BIO *in); +EVP_PKEY *b2i_PublicKey_bio(BIO *in); +int i2b_PrivateKey_bio(BIO *out, EVP_PKEY *pk); +int i2b_PublicKey_bio(BIO *out, EVP_PKEY *pk); +# ifndef OPENSSL_NO_RC4 +EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u); +int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel, + pem_password_cb *cb, void *u); +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +void ERR_load_PEM_strings(void); + +/* Error codes for the PEM functions. */ + +/* Function codes. */ +# define PEM_F_B2I_DSS 127 +# define PEM_F_B2I_PVK_BIO 128 +# define PEM_F_B2I_RSA 129 +# define PEM_F_CHECK_BITLEN_DSA 130 +# define PEM_F_CHECK_BITLEN_RSA 131 +# define PEM_F_D2I_PKCS8PRIVATEKEY_BIO 120 +# define PEM_F_D2I_PKCS8PRIVATEKEY_FP 121 +# define PEM_F_DO_B2I 132 +# define PEM_F_DO_B2I_BIO 133 +# define PEM_F_DO_BLOB_HEADER 134 +# define PEM_F_DO_PK8PKEY 126 +# define PEM_F_DO_PK8PKEY_FP 125 +# define PEM_F_DO_PVK_BODY 135 +# define PEM_F_DO_PVK_HEADER 136 +# define PEM_F_I2B_PVK 137 +# define PEM_F_I2B_PVK_BIO 138 +# define PEM_F_LOAD_IV 101 +# define PEM_F_PEM_ASN1_READ 102 +# define PEM_F_PEM_ASN1_READ_BIO 103 +# define PEM_F_PEM_ASN1_WRITE 104 +# define PEM_F_PEM_ASN1_WRITE_BIO 105 +# define PEM_F_PEM_DEF_CALLBACK 100 +# define PEM_F_PEM_DO_HEADER 106 +# define PEM_F_PEM_F_PEM_WRITE_PKCS8PRIVATEKEY 118 +# define PEM_F_PEM_GET_EVP_CIPHER_INFO 107 +# define PEM_F_PEM_PK8PKEY 119 +# define PEM_F_PEM_READ 108 +# define PEM_F_PEM_READ_BIO 109 +# define PEM_F_PEM_READ_BIO_DHPARAMS 141 +# define PEM_F_PEM_READ_BIO_PARAMETERS 140 +# define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 +# define PEM_F_PEM_READ_DHPARAMS 142 +# define PEM_F_PEM_READ_PRIVATEKEY 124 +# define PEM_F_PEM_SEALFINAL 110 +# define PEM_F_PEM_SEALINIT 111 +# define PEM_F_PEM_SIGNFINAL 112 +# define PEM_F_PEM_WRITE 113 +# define PEM_F_PEM_WRITE_BIO 114 +# define PEM_F_PEM_WRITE_PRIVATEKEY 139 +# define PEM_F_PEM_X509_INFO_READ 115 +# define PEM_F_PEM_X509_INFO_READ_BIO 116 +# define PEM_F_PEM_X509_INFO_WRITE_BIO 117 + +/* Reason codes. */ +# define PEM_R_BAD_BASE64_DECODE 100 +# define PEM_R_BAD_DECRYPT 101 +# define PEM_R_BAD_END_LINE 102 +# define PEM_R_BAD_IV_CHARS 103 +# define PEM_R_BAD_MAGIC_NUMBER 116 +# define PEM_R_BAD_PASSWORD_READ 104 +# define PEM_R_BAD_VERSION_NUMBER 117 +# define PEM_R_BIO_WRITE_FAILURE 118 +# define PEM_R_CIPHER_IS_NULL 127 +# define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115 +# define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119 +# define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120 +# define PEM_R_HEADER_TOO_LONG 128 +# define PEM_R_INCONSISTENT_HEADER 121 +# define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122 +# define PEM_R_KEYBLOB_TOO_SHORT 123 +# define PEM_R_NOT_DEK_INFO 105 +# define PEM_R_NOT_ENCRYPTED 106 +# define PEM_R_NOT_PROC_TYPE 107 +# define PEM_R_NO_START_LINE 108 +# define PEM_R_PROBLEMS_GETTING_PASSWORD 109 +# define PEM_R_PUBLIC_KEY_NO_RSA 110 +# define PEM_R_PVK_DATA_TOO_SHORT 124 +# define PEM_R_PVK_TOO_SHORT 125 +# define PEM_R_READ_KEY 111 +# define PEM_R_SHORT_HEADER 112 +# define PEM_R_UNSUPPORTED_CIPHER 113 +# define PEM_R_UNSUPPORTED_ENCRYPTION 114 +# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/3rdparty/openssl/include/openssl/pem2.h b/3rdparty/openssl/include/openssl/pem2.h new file mode 100644 index 0000000..84897d5 --- /dev/null +++ b/3rdparty/openssl/include/openssl/pem2.h @@ -0,0 +1,70 @@ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +/* + * This header only exists to break a circular dependency between pem and err + * Ben 30 Jan 1999. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef HEADER_PEM_H +void ERR_load_PEM_strings(void); +#endif + +#ifdef __cplusplus +} +#endif diff --git a/3rdparty/openssl/include/openssl/pkcs12.h b/3rdparty/openssl/include/openssl/pkcs12.h new file mode 100644 index 0000000..21f1f62 --- /dev/null +++ b/3rdparty/openssl/include/openssl/pkcs12.h @@ -0,0 +1,342 @@ +/* pkcs12.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project + * 1999. + */ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_PKCS12_H +# define HEADER_PKCS12_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define PKCS12_KEY_ID 1 +# define PKCS12_IV_ID 2 +# define PKCS12_MAC_ID 3 + +/* Default iteration count */ +# ifndef PKCS12_DEFAULT_ITER +# define PKCS12_DEFAULT_ITER PKCS5_DEFAULT_ITER +# endif + +# define PKCS12_MAC_KEY_LENGTH 20 + +# define PKCS12_SALT_LEN 8 + +/* Uncomment out next line for unicode password and names, otherwise ASCII */ + +/* + * #define PBE_UNICODE + */ + +# ifdef PBE_UNICODE +# define PKCS12_key_gen PKCS12_key_gen_uni +# define PKCS12_add_friendlyname PKCS12_add_friendlyname_uni +# else +# define PKCS12_key_gen PKCS12_key_gen_asc +# define PKCS12_add_friendlyname PKCS12_add_friendlyname_asc +# endif + +/* MS key usage constants */ + +# define KEY_EX 0x10 +# define KEY_SIG 0x80 + +typedef struct { + X509_SIG *dinfo; + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *iter; /* defaults to 1 */ +} PKCS12_MAC_DATA; + +typedef struct { + ASN1_INTEGER *version; + PKCS12_MAC_DATA *mac; + PKCS7 *authsafes; +} PKCS12; + +typedef struct { + ASN1_OBJECT *type; + union { + struct pkcs12_bag_st *bag; /* secret, crl and certbag */ + struct pkcs8_priv_key_info_st *keybag; /* keybag */ + X509_SIG *shkeybag; /* shrouded key bag */ + STACK_OF(PKCS12_SAFEBAG) *safes; + ASN1_TYPE *other; + } value; + STACK_OF(X509_ATTRIBUTE) *attrib; +} PKCS12_SAFEBAG; + +DECLARE_STACK_OF(PKCS12_SAFEBAG) +DECLARE_ASN1_SET_OF(PKCS12_SAFEBAG) +DECLARE_PKCS12_STACK_OF(PKCS12_SAFEBAG) + +typedef struct pkcs12_bag_st { + ASN1_OBJECT *type; + union { + ASN1_OCTET_STRING *x509cert; + ASN1_OCTET_STRING *x509crl; + ASN1_OCTET_STRING *octet; + ASN1_IA5STRING *sdsicert; + ASN1_TYPE *other; /* Secret or other bag */ + } value; +} PKCS12_BAGS; + +# define PKCS12_ERROR 0 +# define PKCS12_OK 1 + +/* Compatibility macros */ + +# define M_PKCS12_x5092certbag PKCS12_x5092certbag +# define M_PKCS12_x509crl2certbag PKCS12_x509crl2certbag + +# define M_PKCS12_certbag2x509 PKCS12_certbag2x509 +# define M_PKCS12_certbag2x509crl PKCS12_certbag2x509crl + +# define M_PKCS12_unpack_p7data PKCS12_unpack_p7data +# define M_PKCS12_pack_authsafes PKCS12_pack_authsafes +# define M_PKCS12_unpack_authsafes PKCS12_unpack_authsafes +# define M_PKCS12_unpack_p7encdata PKCS12_unpack_p7encdata + +# define M_PKCS12_decrypt_skey PKCS12_decrypt_skey +# define M_PKCS8_decrypt PKCS8_decrypt + +# define M_PKCS12_bag_type(bg) OBJ_obj2nid((bg)->type) +# define M_PKCS12_cert_bag_type(bg) OBJ_obj2nid((bg)->value.bag->type) +# define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type + +# define PKCS12_get_attr(bag, attr_nid) \ + PKCS12_get_attr_gen(bag->attrib, attr_nid) + +# define PKCS8_get_attr(p8, attr_nid) \ + PKCS12_get_attr_gen(p8->attributes, attr_nid) + +# define PKCS12_mac_present(p12) ((p12)->mac ? 1 : 0) + +PKCS12_SAFEBAG *PKCS12_x5092certbag(X509 *x509); +PKCS12_SAFEBAG *PKCS12_x509crl2certbag(X509_CRL *crl); +X509 *PKCS12_certbag2x509(PKCS12_SAFEBAG *bag); +X509_CRL *PKCS12_certbag2x509crl(PKCS12_SAFEBAG *bag); + +PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, + int nid1, int nid2); +PKCS12_SAFEBAG *PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8); +PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(X509_SIG *p8, const char *pass, + int passlen); +PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(PKCS12_SAFEBAG *bag, + const char *pass, int passlen); +X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, + const char *pass, int passlen, unsigned char *salt, + int saltlen, int iter, PKCS8_PRIV_KEY_INFO *p8); +PKCS12_SAFEBAG *PKCS12_MAKE_SHKEYBAG(int pbe_nid, const char *pass, + int passlen, unsigned char *salt, + int saltlen, int iter, + PKCS8_PRIV_KEY_INFO *p8); +PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); +PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + STACK_OF(PKCS12_SAFEBAG) *bags); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, + int passlen); + +int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes); +STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12); + +int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, + int namelen); +int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, + const unsigned char *name, int namelen); +int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); +ASN1_TYPE *PKCS12_get_attr_gen(STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid); +char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); +unsigned char *PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass, + int passlen, unsigned char *in, int inlen, + unsigned char **data, int *datalen, + int en_de); +void *PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it, + const char *pass, int passlen, + ASN1_OCTET_STRING *oct, int zbuf); +ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, + const ASN1_ITEM *it, + const char *pass, int passlen, + void *obj, int zbuf); +PKCS12 *PKCS12_init(int mode); +int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md_type, int en_de); +int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *mac, unsigned int *maclen); +int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); +int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + const EVP_MD *md_type); +int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, + int saltlen, const EVP_MD *md_type); +unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, + unsigned char **uni, int *unilen); +char *OPENSSL_uni2asc(unsigned char *uni, int unilen); + +DECLARE_ASN1_FUNCTIONS(PKCS12) +DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA) +DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG) +DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS) + +DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS) +DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES) + +void PKCS12_PBE_add(void); +int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, + STACK_OF(X509) **ca); +PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert, + STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter, + int mac_iter, int keytype); + +PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert); +PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, + EVP_PKEY *key, int key_usage, int iter, + int key_nid, char *pass); +int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, + int safe_nid, int iter, char *pass); +PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); + +int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12); +int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); +PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); +PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); +int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_PKCS12_strings(void); + +/* Error codes for the PKCS12 functions. */ + +/* Function codes. */ +# define PKCS12_F_PARSE_BAG 129 +# define PKCS12_F_PARSE_BAGS 103 +# define PKCS12_F_PKCS12_ADD_FRIENDLYNAME 100 +# define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_ASC 127 +# define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_UNI 102 +# define PKCS12_F_PKCS12_ADD_LOCALKEYID 104 +# define PKCS12_F_PKCS12_CREATE 105 +# define PKCS12_F_PKCS12_GEN_MAC 107 +# define PKCS12_F_PKCS12_INIT 109 +# define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 106 +# define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 108 +# define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 117 +# define PKCS12_F_PKCS12_KEY_GEN_ASC 110 +# define PKCS12_F_PKCS12_KEY_GEN_UNI 111 +# define PKCS12_F_PKCS12_MAKE_KEYBAG 112 +# define PKCS12_F_PKCS12_MAKE_SHKEYBAG 113 +# define PKCS12_F_PKCS12_NEWPASS 128 +# define PKCS12_F_PKCS12_PACK_P7DATA 114 +# define PKCS12_F_PKCS12_PACK_P7ENCDATA 115 +# define PKCS12_F_PKCS12_PARSE 118 +# define PKCS12_F_PKCS12_PBE_CRYPT 119 +# define PKCS12_F_PKCS12_PBE_KEYIVGEN 120 +# define PKCS12_F_PKCS12_SETUP_MAC 122 +# define PKCS12_F_PKCS12_SET_MAC 123 +# define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130 +# define PKCS12_F_PKCS12_UNPACK_P7DATA 131 +# define PKCS12_F_PKCS12_VERIFY_MAC 126 +# define PKCS12_F_PKCS8_ADD_KEYUSAGE 124 +# define PKCS12_F_PKCS8_ENCRYPT 125 + +/* Reason codes. */ +# define PKCS12_R_CANT_PACK_STRUCTURE 100 +# define PKCS12_R_CONTENT_TYPE_NOT_DATA 121 +# define PKCS12_R_DECODE_ERROR 101 +# define PKCS12_R_ENCODE_ERROR 102 +# define PKCS12_R_ENCRYPT_ERROR 103 +# define PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE 120 +# define PKCS12_R_INVALID_NULL_ARGUMENT 104 +# define PKCS12_R_INVALID_NULL_PKCS12_POINTER 105 +# define PKCS12_R_IV_GEN_ERROR 106 +# define PKCS12_R_KEY_GEN_ERROR 107 +# define PKCS12_R_MAC_ABSENT 108 +# define PKCS12_R_MAC_GENERATION_ERROR 109 +# define PKCS12_R_MAC_SETUP_ERROR 110 +# define PKCS12_R_MAC_STRING_SET_ERROR 111 +# define PKCS12_R_MAC_VERIFY_ERROR 112 +# define PKCS12_R_MAC_VERIFY_FAILURE 113 +# define PKCS12_R_PARSE_ERROR 114 +# define PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR 115 +# define PKCS12_R_PKCS12_CIPHERFINAL_ERROR 116 +# define PKCS12_R_PKCS12_PBE_CRYPT_ERROR 117 +# define PKCS12_R_UNKNOWN_DIGEST_ALGORITHM 118 +# define PKCS12_R_UNSUPPORTED_PKCS12_MODE 119 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/pkcs7.h b/3rdparty/openssl/include/openssl/pkcs7.h new file mode 100644 index 0000000..b51b386 --- /dev/null +++ b/3rdparty/openssl/include/openssl/pkcs7.h @@ -0,0 +1,481 @@ +/* crypto/pkcs7/pkcs7.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_PKCS7_H +# define HEADER_PKCS7_H + +# include +# include +# include + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_SYS_WIN32 +/* Under Win32 thes are defined in wincrypt.h */ +# undef PKCS7_ISSUER_AND_SERIAL +# undef PKCS7_SIGNER_INFO +# endif + +/*- +Encryption_ID DES-CBC +Digest_ID MD5 +Digest_Encryption_ID rsaEncryption +Key_Encryption_ID rsaEncryption +*/ + +typedef struct pkcs7_issuer_and_serial_st { + X509_NAME *issuer; + ASN1_INTEGER *serial; +} PKCS7_ISSUER_AND_SERIAL; + +typedef struct pkcs7_signer_info_st { + ASN1_INTEGER *version; /* version 1 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *digest_alg; + STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */ + X509_ALGOR *digest_enc_alg; + ASN1_OCTET_STRING *enc_digest; + STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */ + /* The private key to sign with */ + EVP_PKEY *pkey; +} PKCS7_SIGNER_INFO; + +DECLARE_STACK_OF(PKCS7_SIGNER_INFO) +DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) + +typedef struct pkcs7_recip_info_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *key_enc_algor; + ASN1_OCTET_STRING *enc_key; + X509 *cert; /* get the pub-key from this */ +} PKCS7_RECIP_INFO; + +DECLARE_STACK_OF(PKCS7_RECIP_INFO) +DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) + +typedef struct pkcs7_signed_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + struct pkcs7_st *contents; +} PKCS7_SIGNED; +/* + * The above structure is very very similar to PKCS7_SIGN_ENVELOPE. How about + * merging the two + */ + +typedef struct pkcs7_enc_content_st { + ASN1_OBJECT *content_type; + X509_ALGOR *algorithm; + ASN1_OCTET_STRING *enc_data; /* [ 0 ] */ + const EVP_CIPHER *cipher; +} PKCS7_ENC_CONTENT; + +typedef struct pkcs7_enveloped_st { + ASN1_INTEGER *version; /* version 0 */ + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENVELOPE; + +typedef struct pkcs7_signedandenveloped_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + PKCS7_ENC_CONTENT *enc_data; + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; +} PKCS7_SIGN_ENVELOPE; + +typedef struct pkcs7_digest_st { + ASN1_INTEGER *version; /* version 0 */ + X509_ALGOR *md; /* md used */ + struct pkcs7_st *contents; + ASN1_OCTET_STRING *digest; +} PKCS7_DIGEST; + +typedef struct pkcs7_encrypted_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENCRYPT; + +typedef struct pkcs7_st { + /* + * The following is non NULL if it contains ASN1 encoding of this + * structure + */ + unsigned char *asn1; + long length; +# define PKCS7_S_HEADER 0 +# define PKCS7_S_BODY 1 +# define PKCS7_S_TAIL 2 + int state; /* used during processing */ + int detached; + ASN1_OBJECT *type; + /* content as defined by the type */ + /* + * all encryption/message digests are applied to the 'contents', leaving + * out the 'type' field. + */ + union { + char *ptr; + /* NID_pkcs7_data */ + ASN1_OCTET_STRING *data; + /* NID_pkcs7_signed */ + PKCS7_SIGNED *sign; + /* NID_pkcs7_enveloped */ + PKCS7_ENVELOPE *enveloped; + /* NID_pkcs7_signedAndEnveloped */ + PKCS7_SIGN_ENVELOPE *signed_and_enveloped; + /* NID_pkcs7_digest */ + PKCS7_DIGEST *digest; + /* NID_pkcs7_encrypted */ + PKCS7_ENCRYPT *encrypted; + /* Anything else */ + ASN1_TYPE *other; + } d; +} PKCS7; + +DECLARE_STACK_OF(PKCS7) +DECLARE_ASN1_SET_OF(PKCS7) +DECLARE_PKCS12_STACK_OF(PKCS7) + +# define PKCS7_OP_SET_DETACHED_SIGNATURE 1 +# define PKCS7_OP_GET_DETACHED_SIGNATURE 2 + +# define PKCS7_get_signed_attributes(si) ((si)->auth_attr) +# define PKCS7_get_attributes(si) ((si)->unauth_attr) + +# define PKCS7_type_is_signed(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_signed) +# define PKCS7_type_is_encrypted(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) +# define PKCS7_type_is_enveloped(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_enveloped) +# define PKCS7_type_is_signedAndEnveloped(a) \ + (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped) +# define PKCS7_type_is_data(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_data) +# define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest) + +# define PKCS7_set_detached(p,v) \ + PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL) +# define PKCS7_get_detached(p) \ + PKCS7_ctrl(p,PKCS7_OP_GET_DETACHED_SIGNATURE,0,NULL) + +# define PKCS7_is_detached(p7) (PKCS7_type_is_signed(p7) && PKCS7_get_detached(p7)) + +/* S/MIME related flags */ + +# define PKCS7_TEXT 0x1 +# define PKCS7_NOCERTS 0x2 +# define PKCS7_NOSIGS 0x4 +# define PKCS7_NOCHAIN 0x8 +# define PKCS7_NOINTERN 0x10 +# define PKCS7_NOVERIFY 0x20 +# define PKCS7_DETACHED 0x40 +# define PKCS7_BINARY 0x80 +# define PKCS7_NOATTR 0x100 +# define PKCS7_NOSMIMECAP 0x200 +# define PKCS7_NOOLDMIMETYPE 0x400 +# define PKCS7_CRLFEOL 0x800 +# define PKCS7_STREAM 0x1000 +# define PKCS7_NOCRL 0x2000 +# define PKCS7_PARTIAL 0x4000 +# define PKCS7_REUSE_DIGEST 0x8000 + +/* Flags: for compatibility with older code */ + +# define SMIME_TEXT PKCS7_TEXT +# define SMIME_NOCERTS PKCS7_NOCERTS +# define SMIME_NOSIGS PKCS7_NOSIGS +# define SMIME_NOCHAIN PKCS7_NOCHAIN +# define SMIME_NOINTERN PKCS7_NOINTERN +# define SMIME_NOVERIFY PKCS7_NOVERIFY +# define SMIME_DETACHED PKCS7_DETACHED +# define SMIME_BINARY PKCS7_BINARY +# define SMIME_NOATTR PKCS7_NOATTR + +DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL) + +int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, + const EVP_MD *type, unsigned char *md, + unsigned int *len); +# ifndef OPENSSL_NO_FP_API +PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); +int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); +# endif +PKCS7 *PKCS7_dup(PKCS7 *p7); +PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); +int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7); +int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); +int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); + +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT) +DECLARE_ASN1_FUNCTIONS(PKCS7) + +DECLARE_ASN1_ITEM(PKCS7_ATTR_SIGN) +DECLARE_ASN1_ITEM(PKCS7_ATTR_VERIFY) + +DECLARE_ASN1_NDEF_FUNCTION(PKCS7) +DECLARE_ASN1_PRINT_FUNCTION(PKCS7) + +long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg); + +int PKCS7_set_type(PKCS7 *p7, int type); +int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other); +int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data); +int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, + const EVP_MD *dgst); +int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si); +int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); +int PKCS7_add_certificate(PKCS7 *p7, X509 *x509); +int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); +int PKCS7_content_new(PKCS7 *p7, int nid); +int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, + BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, + X509 *x509); + +BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio); +int PKCS7_dataFinal(PKCS7 *p7, BIO *bio); +BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert); + +PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, + EVP_PKEY *pkey, const EVP_MD *dgst); +X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md); +STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7); + +PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509); +void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, + X509_ALGOR **pdig, X509_ALGOR **psig); +void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc); +int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri); +int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509); +int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher); +int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7); + +PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx); +ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type, + void *data); +int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, + void *value); +ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid); +ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid); +int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); + +PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, + BIO *data, int flags); + +PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, + X509 *signcert, EVP_PKEY *pkey, + const EVP_MD *md, int flags); + +int PKCS7_final(PKCS7 *p7, BIO *data, int flags); +int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, + BIO *indata, BIO *out, int flags); +STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, + int flags); +PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, + int flags); +int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, + int flags); + +int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, + STACK_OF(X509_ALGOR) *cap); +STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si); +int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg); + +int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid); +int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t); +int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, + const unsigned char *md, int mdlen); + +int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags); +PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); + +BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_PKCS7_strings(void); + +/* Error codes for the PKCS7 functions. */ + +/* Function codes. */ +# define PKCS7_F_B64_READ_PKCS7 120 +# define PKCS7_F_B64_WRITE_PKCS7 121 +# define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 136 +# define PKCS7_F_I2D_PKCS7_BIO_STREAM 140 +# define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME 135 +# define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP 118 +# define PKCS7_F_PKCS7_ADD_CERTIFICATE 100 +# define PKCS7_F_PKCS7_ADD_CRL 101 +# define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO 102 +# define PKCS7_F_PKCS7_ADD_SIGNATURE 131 +# define PKCS7_F_PKCS7_ADD_SIGNER 103 +# define PKCS7_F_PKCS7_BIO_ADD_DIGEST 125 +# define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST 138 +# define PKCS7_F_PKCS7_CTRL 104 +# define PKCS7_F_PKCS7_DATADECODE 112 +# define PKCS7_F_PKCS7_DATAFINAL 128 +# define PKCS7_F_PKCS7_DATAINIT 105 +# define PKCS7_F_PKCS7_DATASIGN 106 +# define PKCS7_F_PKCS7_DATAVERIFY 107 +# define PKCS7_F_PKCS7_DECRYPT 114 +# define PKCS7_F_PKCS7_DECRYPT_RINFO 133 +# define PKCS7_F_PKCS7_ENCODE_RINFO 132 +# define PKCS7_F_PKCS7_ENCRYPT 115 +# define PKCS7_F_PKCS7_FINAL 134 +# define PKCS7_F_PKCS7_FIND_DIGEST 127 +# define PKCS7_F_PKCS7_GET0_SIGNERS 124 +# define PKCS7_F_PKCS7_RECIP_INFO_SET 130 +# define PKCS7_F_PKCS7_SET_CIPHER 108 +# define PKCS7_F_PKCS7_SET_CONTENT 109 +# define PKCS7_F_PKCS7_SET_DIGEST 126 +# define PKCS7_F_PKCS7_SET_TYPE 110 +# define PKCS7_F_PKCS7_SIGN 116 +# define PKCS7_F_PKCS7_SIGNATUREVERIFY 113 +# define PKCS7_F_PKCS7_SIGNER_INFO_SET 129 +# define PKCS7_F_PKCS7_SIGNER_INFO_SIGN 139 +# define PKCS7_F_PKCS7_SIGN_ADD_SIGNER 137 +# define PKCS7_F_PKCS7_SIMPLE_SMIMECAP 119 +# define PKCS7_F_PKCS7_VERIFY 117 +# define PKCS7_F_SMIME_READ_PKCS7 122 +# define PKCS7_F_SMIME_TEXT 123 + +/* Reason codes. */ +# define PKCS7_R_CERTIFICATE_VERIFY_ERROR 117 +# define PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 144 +# define PKCS7_R_CIPHER_NOT_INITIALIZED 116 +# define PKCS7_R_CONTENT_AND_DATA_PRESENT 118 +# define PKCS7_R_CTRL_ERROR 152 +# define PKCS7_R_DECODE_ERROR 130 +# define PKCS7_R_DECRYPTED_KEY_IS_WRONG_LENGTH 100 +# define PKCS7_R_DECRYPT_ERROR 119 +# define PKCS7_R_DIGEST_FAILURE 101 +# define PKCS7_R_ENCRYPTION_CTRL_FAILURE 149 +# define PKCS7_R_ENCRYPTION_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 150 +# define PKCS7_R_ERROR_ADDING_RECIPIENT 120 +# define PKCS7_R_ERROR_SETTING_CIPHER 121 +# define PKCS7_R_INVALID_MIME_TYPE 131 +# define PKCS7_R_INVALID_NULL_POINTER 143 +# define PKCS7_R_INVALID_SIGNED_DATA_TYPE 155 +# define PKCS7_R_MIME_NO_CONTENT_TYPE 132 +# define PKCS7_R_MIME_PARSE_ERROR 133 +# define PKCS7_R_MIME_SIG_PARSE_ERROR 134 +# define PKCS7_R_MISSING_CERIPEND_INFO 103 +# define PKCS7_R_NO_CONTENT 122 +# define PKCS7_R_NO_CONTENT_TYPE 135 +# define PKCS7_R_NO_DEFAULT_DIGEST 151 +# define PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND 154 +# define PKCS7_R_NO_MULTIPART_BODY_FAILURE 136 +# define PKCS7_R_NO_MULTIPART_BOUNDARY 137 +# define PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE 115 +# define PKCS7_R_NO_RECIPIENT_MATCHES_KEY 146 +# define PKCS7_R_NO_SIGNATURES_ON_DATA 123 +# define PKCS7_R_NO_SIGNERS 142 +# define PKCS7_R_NO_SIG_CONTENT_TYPE 138 +# define PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE 104 +# define PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR 124 +# define PKCS7_R_PKCS7_ADD_SIGNER_ERROR 153 +# define PKCS7_R_PKCS7_DATAFINAL 126 +# define PKCS7_R_PKCS7_DATAFINAL_ERROR 125 +# define PKCS7_R_PKCS7_DATASIGN 145 +# define PKCS7_R_PKCS7_PARSE_ERROR 139 +# define PKCS7_R_PKCS7_SIG_PARSE_ERROR 140 +# define PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 127 +# define PKCS7_R_SIGNATURE_FAILURE 105 +# define PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND 128 +# define PKCS7_R_SIGNING_CTRL_FAILURE 147 +# define PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 148 +# define PKCS7_R_SIG_INVALID_MIME_TYPE 141 +# define PKCS7_R_SMIME_TEXT_ERROR 129 +# define PKCS7_R_UNABLE_TO_FIND_CERTIFICATE 106 +# define PKCS7_R_UNABLE_TO_FIND_MEM_BIO 107 +# define PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST 108 +# define PKCS7_R_UNKNOWN_DIGEST_TYPE 109 +# define PKCS7_R_UNKNOWN_OPERATION 110 +# define PKCS7_R_UNSUPPORTED_CIPHER_TYPE 111 +# define PKCS7_R_UNSUPPORTED_CONTENT_TYPE 112 +# define PKCS7_R_WRONG_CONTENT_TYPE 113 +# define PKCS7_R_WRONG_PKCS7_TYPE 114 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/pqueue.h b/3rdparty/openssl/include/openssl/pqueue.h new file mode 100644 index 0000000..d40d9c7 --- /dev/null +++ b/3rdparty/openssl/include/openssl/pqueue.h @@ -0,0 +1,99 @@ +/* crypto/pqueue/pqueue.h */ +/* + * DTLS implementation written by Nagendra Modadugu + * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. + */ +/* ==================================================================== + * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_PQUEUE_H +# define HEADER_PQUEUE_H + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif +typedef struct _pqueue *pqueue; + +typedef struct _pitem { + unsigned char priority[8]; /* 64-bit value in big-endian encoding */ + void *data; + struct _pitem *next; +} pitem; + +typedef struct _pitem *piterator; + +pitem *pitem_new(unsigned char *prio64be, void *data); +void pitem_free(pitem *item); + +pqueue pqueue_new(void); +void pqueue_free(pqueue pq); + +pitem *pqueue_insert(pqueue pq, pitem *item); +pitem *pqueue_peek(pqueue pq); +pitem *pqueue_pop(pqueue pq); +pitem *pqueue_find(pqueue pq, unsigned char *prio64be); +pitem *pqueue_iterator(pqueue pq); +pitem *pqueue_next(piterator *iter); + +void pqueue_print(pqueue pq); +int pqueue_size(pqueue pq); + +#ifdef __cplusplus +} +#endif +#endif /* ! HEADER_PQUEUE_H */ diff --git a/3rdparty/openssl/include/openssl/rand.h b/3rdparty/openssl/include/openssl/rand.h new file mode 100644 index 0000000..2553afd --- /dev/null +++ b/3rdparty/openssl/include/openssl/rand.h @@ -0,0 +1,150 @@ +/* crypto/rand/rand.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RAND_H +# define HEADER_RAND_H + +# include +# include +# include + +# if defined(OPENSSL_SYS_WINDOWS) +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# if defined(OPENSSL_FIPS) +# define FIPS_RAND_SIZE_T size_t +# endif + +/* Already defined in ossl_typ.h */ +/* typedef struct rand_meth_st RAND_METHOD; */ + +struct rand_meth_st { + void (*seed) (const void *buf, int num); + int (*bytes) (unsigned char *buf, int num); + void (*cleanup) (void); + void (*add) (const void *buf, int num, double entropy); + int (*pseudorand) (unsigned char *buf, int num); + int (*status) (void); +}; + +# ifdef BN_DEBUG +extern int rand_predictable; +# endif + +int RAND_set_rand_method(const RAND_METHOD *meth); +const RAND_METHOD *RAND_get_rand_method(void); +# ifndef OPENSSL_NO_ENGINE +int RAND_set_rand_engine(ENGINE *engine); +# endif +RAND_METHOD *RAND_SSLeay(void); +void RAND_cleanup(void); +int RAND_bytes(unsigned char *buf, int num); +int RAND_pseudo_bytes(unsigned char *buf, int num); +void RAND_seed(const void *buf, int num); +void RAND_add(const void *buf, int num, double entropy); +int RAND_load_file(const char *file, long max_bytes); +int RAND_write_file(const char *file); +const char *RAND_file_name(char *file, size_t num); +int RAND_status(void); +int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes); +int RAND_egd(const char *path); +int RAND_egd_bytes(const char *path, int bytes); +int RAND_poll(void); + +# if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) + +void RAND_screen(void); +int RAND_event(UINT, WPARAM, LPARAM); + +# endif + +# ifdef OPENSSL_FIPS +void RAND_set_fips_drbg_type(int type, int flags); +int RAND_init_fips(void); +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_RAND_strings(void); + +/* Error codes for the RAND functions. */ + +/* Function codes. */ +# define RAND_F_RAND_GET_RAND_METHOD 101 +# define RAND_F_RAND_INIT_FIPS 102 +# define RAND_F_SSLEAY_RAND_BYTES 100 + +/* Reason codes. */ +# define RAND_R_DUAL_EC_DRBG_DISABLED 104 +# define RAND_R_ERROR_INITIALISING_DRBG 102 +# define RAND_R_ERROR_INSTANTIATING_DRBG 103 +# define RAND_R_NO_FIPS_RANDOM_METHOD_SET 101 +# define RAND_R_PRNG_NOT_SEEDED 100 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/rc2.h b/3rdparty/openssl/include/openssl/rc2.h new file mode 100644 index 0000000..29d02d7 --- /dev/null +++ b/3rdparty/openssl/include/openssl/rc2.h @@ -0,0 +1,103 @@ +/* crypto/rc2/rc2.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RC2_H +# define HEADER_RC2_H + +# include /* OPENSSL_NO_RC2, RC2_INT */ +# ifdef OPENSSL_NO_RC2 +# error RC2 is disabled. +# endif + +# define RC2_ENCRYPT 1 +# define RC2_DECRYPT 0 + +# define RC2_BLOCK 8 +# define RC2_KEY_LENGTH 16 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct rc2_key_st { + RC2_INT data[64]; +} RC2_KEY; + +# ifdef OPENSSL_FIPS +void private_RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, + int bits); +# endif +void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, int bits); +void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC2_KEY *key, int enc); +void RC2_encrypt(unsigned long *data, RC2_KEY *key); +void RC2_decrypt(unsigned long *data, RC2_KEY *key); +void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + RC2_KEY *ks, unsigned char *iv, int enc); +void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num, int enc); +void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/rc4.h b/3rdparty/openssl/include/openssl/rc4.h new file mode 100644 index 0000000..39162b1 --- /dev/null +++ b/3rdparty/openssl/include/openssl/rc4.h @@ -0,0 +1,88 @@ +/* crypto/rc4/rc4.h */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RC4_H +# define HEADER_RC4_H + +# include /* OPENSSL_NO_RC4, RC4_INT */ +# ifdef OPENSSL_NO_RC4 +# error RC4 is disabled. +# endif + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct rc4_key_st { + RC4_INT x, y; + RC4_INT data[256]; +} RC4_KEY; + +const char *RC4_options(void); +void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, + unsigned char *outdata); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/ripemd.h b/3rdparty/openssl/include/openssl/ripemd.h new file mode 100644 index 0000000..b88ef25 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ripemd.h @@ -0,0 +1,105 @@ +/* crypto/ripemd/ripemd.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RIPEMD_H +# define HEADER_RIPEMD_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_NO_RIPEMD +# error RIPEMD is disabled. +# endif + +# if defined(__LP32__) +# define RIPEMD160_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define RIPEMD160_LONG unsigned long +# define RIPEMD160_LONG_LOG2 3 +# else +# define RIPEMD160_LONG unsigned int +# endif + +# define RIPEMD160_CBLOCK 64 +# define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) +# define RIPEMD160_DIGEST_LENGTH 20 + +typedef struct RIPEMD160state_st { + RIPEMD160_LONG A, B, C, D, E; + RIPEMD160_LONG Nl, Nh; + RIPEMD160_LONG data[RIPEMD160_LBLOCK]; + unsigned int num; +} RIPEMD160_CTX; + +# ifdef OPENSSL_FIPS +int private_RIPEMD160_Init(RIPEMD160_CTX *c); +# endif +int RIPEMD160_Init(RIPEMD160_CTX *c); +int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); +int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); +unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned char *md); +void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/rsa.h b/3rdparty/openssl/include/openssl/rsa.h new file mode 100644 index 0000000..d2ee374 --- /dev/null +++ b/3rdparty/openssl/include/openssl/rsa.h @@ -0,0 +1,664 @@ +/* crypto/rsa/rsa.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RSA_H +# define HEADER_RSA_H + +# include + +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif + +# ifdef OPENSSL_NO_RSA +# error RSA is disabled. +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Declared already in ossl_typ.h */ +/* typedef struct rsa_st RSA; */ +/* typedef struct rsa_meth_st RSA_METHOD; */ + +struct rsa_meth_st { + const char *name; + int (*rsa_pub_enc) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + int (*rsa_pub_dec) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + int (*rsa_priv_enc) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + int (*rsa_priv_dec) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + /* Can be null */ + int (*rsa_mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); + /* Can be null */ + int (*bn_mod_exp) (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); + /* called at new */ + int (*init) (RSA *rsa); + /* called at free */ + int (*finish) (RSA *rsa); + /* RSA_METHOD_FLAG_* things */ + int flags; + /* may be needed! */ + char *app_data; + /* + * New sign and verify functions: some libraries don't allow arbitrary + * data to be signed/verified: this allows them to be used. Note: for + * this to work the RSA_public_decrypt() and RSA_private_encrypt() should + * *NOT* be used RSA_sign(), RSA_verify() should be used instead. Note: + * for backwards compatibility this functionality is only enabled if the + * RSA_FLAG_SIGN_VER option is set in 'flags'. + */ + int (*rsa_sign) (int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + const RSA *rsa); + int (*rsa_verify) (int dtype, const unsigned char *m, + unsigned int m_length, const unsigned char *sigbuf, + unsigned int siglen, const RSA *rsa); + /* + * If this callback is NULL, the builtin software RSA key-gen will be + * used. This is for behavioural compatibility whilst the code gets + * rewired, but one day it would be nice to assume there are no such + * things as "builtin software" implementations. + */ + int (*rsa_keygen) (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); +}; + +struct rsa_st { + /* + * The first parameter is used to pickup errors where this is passed + * instead of aEVP_PKEY, it is set to 0 + */ + int pad; + long version; + const RSA_METHOD *meth; + /* functional reference if 'meth' is ENGINE-provided */ + ENGINE *engine; + BIGNUM *n; + BIGNUM *e; + BIGNUM *d; + BIGNUM *p; + BIGNUM *q; + BIGNUM *dmp1; + BIGNUM *dmq1; + BIGNUM *iqmp; + /* be careful using this if the RSA structure is shared */ + CRYPTO_EX_DATA ex_data; + int references; + int flags; + /* Used to cache montgomery values */ + BN_MONT_CTX *_method_mod_n; + BN_MONT_CTX *_method_mod_p; + BN_MONT_CTX *_method_mod_q; + /* + * all BIGNUM values are actually in the following data, if it is not + * NULL + */ + char *bignum_data; + BN_BLINDING *blinding; + BN_BLINDING *mt_blinding; +}; + +# ifndef OPENSSL_RSA_MAX_MODULUS_BITS +# define OPENSSL_RSA_MAX_MODULUS_BITS 16384 +# endif + +# ifndef OPENSSL_RSA_SMALL_MODULUS_BITS +# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 +# endif +# ifndef OPENSSL_RSA_MAX_PUBEXP_BITS + +/* exponent limit enforced for "large" modulus only */ +# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 +# endif + +# define RSA_3 0x3L +# define RSA_F4 0x10001L + +# define RSA_METHOD_FLAG_NO_CHECK 0x0001/* don't check pub/private + * match */ + +# define RSA_FLAG_CACHE_PUBLIC 0x0002 +# define RSA_FLAG_CACHE_PRIVATE 0x0004 +# define RSA_FLAG_BLINDING 0x0008 +# define RSA_FLAG_THREAD_SAFE 0x0010 +/* + * This flag means the private key operations will be handled by rsa_mod_exp + * and that they do not depend on the private key components being present: + * for example a key stored in external hardware. Without this flag + * bn_mod_exp gets called when private key components are absent. + */ +# define RSA_FLAG_EXT_PKEY 0x0020 + +/* + * This flag in the RSA_METHOD enables the new rsa_sign, rsa_verify + * functions. + */ +# define RSA_FLAG_SIGN_VER 0x0040 + +/* + * new with 0.9.6j and 0.9.7b; the built-in + * RSA implementation now uses blinding by + * default (ignoring RSA_FLAG_BLINDING), + * but other engines might not need it + */ +# define RSA_FLAG_NO_BLINDING 0x0080 +/* + * new with 0.9.8f; the built-in RSA + * implementation now uses constant time + * operations by default in private key operations, + * e.g., constant time modular exponentiation, + * modular inverse without leaking branches, + * division without leaking branches. This + * flag disables these constant time + * operations and results in faster RSA + * private key operations. + */ +# define RSA_FLAG_NO_CONSTTIME 0x0100 +# ifdef OPENSSL_USE_DEPRECATED +/* deprecated name for the flag*/ +/* + * new with 0.9.7h; the built-in RSA + * implementation now uses constant time + * modular exponentiation for secret exponents + * by default. This flag causes the + * faster variable sliding window method to + * be used for all exponents. + */ +# define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME +# endif + +# define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_RSA_PADDING, \ + pad, NULL) + +# define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, \ + EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad) + +# define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_RSA_PSS_SALTLEN, \ + len, NULL) + +# define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, \ + 0, plen) + +# define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) + +# define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) + +# define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_rsa_mgf1_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_get_rsa_oaep_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, l, llen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_LABEL, llen, (void *)l) + +# define EVP_PKEY_CTX_get0_rsa_oaep_label(ctx, l) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, 0, (void *)l) + +# define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) + +# define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) + +# define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) + +# define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10) + +# define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12) + +# define RSA_PKCS1_PADDING 1 +# define RSA_SSLV23_PADDING 2 +# define RSA_NO_PADDING 3 +# define RSA_PKCS1_OAEP_PADDING 4 +# define RSA_X931_PADDING 5 +/* EVP_PKEY_ only */ +# define RSA_PKCS1_PSS_PADDING 6 + +# define RSA_PKCS1_PADDING_SIZE 11 + +# define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) +# define RSA_get_app_data(s) RSA_get_ex_data(s,0) + +RSA *RSA_new(void); +RSA *RSA_new_method(ENGINE *engine); +int RSA_size(const RSA *rsa); + +/* Deprecated version */ +# ifndef OPENSSL_NO_DEPRECATED +RSA *RSA_generate_key(int bits, unsigned long e, void + (*callback) (int, int, void *), void *cb_arg); +# endif /* !defined(OPENSSL_NO_DEPRECATED) */ + +/* New version */ +int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); + +int RSA_check_key(const RSA *); + /* next 4 return -1 on error */ +int RSA_public_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_public_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +void RSA_free(RSA *r); +/* "up" the RSA object's reference count */ +int RSA_up_ref(RSA *r); + +int RSA_flags(const RSA *r); + +void RSA_set_default_method(const RSA_METHOD *meth); +const RSA_METHOD *RSA_get_default_method(void); +const RSA_METHOD *RSA_get_method(const RSA *rsa); +int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); + +/* This function needs the memory locking malloc callbacks to be installed */ +int RSA_memory_lock(RSA *r); + +/* these are the actual SSLeay RSA functions */ +const RSA_METHOD *RSA_PKCS1_SSLeay(void); + +const RSA_METHOD *RSA_null_method(void); + +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) + +typedef struct rsa_pss_params_st { + X509_ALGOR *hashAlgorithm; + X509_ALGOR *maskGenAlgorithm; + ASN1_INTEGER *saltLength; + ASN1_INTEGER *trailerField; +} RSA_PSS_PARAMS; + +DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) + +typedef struct rsa_oaep_params_st { + X509_ALGOR *hashFunc; + X509_ALGOR *maskGenFunc; + X509_ALGOR *pSourceFunc; +} RSA_OAEP_PARAMS; + +DECLARE_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) + +# ifndef OPENSSL_NO_FP_API +int RSA_print_fp(FILE *fp, const RSA *r, int offset); +# endif + +# ifndef OPENSSL_NO_BIO +int RSA_print(BIO *bp, const RSA *r, int offset); +# endif + +# ifndef OPENSSL_NO_RC4 +int i2d_RSA_NET(const RSA *a, unsigned char **pp, + int (*cb) (char *buf, int len, const char *prompt, + int verify), int sgckey); +RSA *d2i_RSA_NET(RSA **a, const unsigned char **pp, long length, + int (*cb) (char *buf, int len, const char *prompt, + int verify), int sgckey); + +int i2d_Netscape_RSA(const RSA *a, unsigned char **pp, + int (*cb) (char *buf, int len, const char *prompt, + int verify)); +RSA *d2i_Netscape_RSA(RSA **a, const unsigned char **pp, long length, + int (*cb) (char *buf, int len, const char *prompt, + int verify)); +# endif + +/* + * The following 2 functions sign and verify a X509_SIG ASN1 object inside + * PKCS#1 padded RSA encryption + */ +int RSA_sign(int type, const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, RSA *rsa); +int RSA_verify(int type, const unsigned char *m, unsigned int m_length, + const unsigned char *sigbuf, unsigned int siglen, RSA *rsa); + +/* + * The following 2 function sign and verify a ASN1_OCTET_STRING object inside + * PKCS#1 padded RSA encryption + */ +int RSA_sign_ASN1_OCTET_STRING(int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + RSA *rsa); +int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m, + unsigned int m_length, unsigned char *sigbuf, + unsigned int siglen, RSA *rsa); + +int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); +void RSA_blinding_off(RSA *rsa); +BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); + +int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int PKCS1_MGF1(unsigned char *mask, long len, const unsigned char *seed, + long seedlen, const EVP_MD *dgst); +int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, + const unsigned char *p, int pl); +int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len, + const unsigned char *p, int pl); +int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + const unsigned char *param, int plen, + const EVP_MD *md, const EVP_MD *mgf1md); +int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + int num, const unsigned char *param, + int plen, const EVP_MD *md, + const EVP_MD *mgf1md); +int RSA_padding_add_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_none(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_none(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_X931(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_X931(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_X931_hash_id(int nid); + +int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const unsigned char *EM, + int sLen); +int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, const EVP_MD *Hash, + int sLen); + +int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + const unsigned char *EM, int sLen); + +int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + int sLen); + +int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int RSA_set_ex_data(RSA *r, int idx, void *arg); +void *RSA_get_ex_data(const RSA *r, int idx); + +RSA *RSAPublicKey_dup(RSA *rsa); +RSA *RSAPrivateKey_dup(RSA *rsa); + +/* + * If this flag is set the RSA method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its responsibility to ensure the + * result is compliant. + */ + +# define RSA_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define RSA_FLAG_NON_FIPS_ALLOW 0x0400 +/* + * Application has decided PRNG is good enough to generate a key: don't + * check. + */ +# define RSA_FLAG_CHECKED 0x0800 + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_RSA_strings(void); + +/* Error codes for the RSA functions. */ + +/* Function codes. */ +# define RSA_F_CHECK_PADDING_MD 140 +# define RSA_F_DO_RSA_PRINT 146 +# define RSA_F_INT_RSA_VERIFY 145 +# define RSA_F_MEMORY_LOCK 100 +# define RSA_F_OLD_RSA_PRIV_DECODE 147 +# define RSA_F_PKEY_RSA_CTRL 143 +# define RSA_F_PKEY_RSA_CTRL_STR 144 +# define RSA_F_PKEY_RSA_SIGN 142 +# define RSA_F_PKEY_RSA_VERIFY 154 +# define RSA_F_PKEY_RSA_VERIFYRECOVER 141 +# define RSA_F_RSA_ALGOR_TO_MD 157 +# define RSA_F_RSA_BUILTIN_KEYGEN 129 +# define RSA_F_RSA_CHECK_KEY 123 +# define RSA_F_RSA_CMS_DECRYPT 158 +# define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101 +# define RSA_F_RSA_EAY_PRIVATE_ENCRYPT 102 +# define RSA_F_RSA_EAY_PUBLIC_DECRYPT 103 +# define RSA_F_RSA_EAY_PUBLIC_ENCRYPT 104 +# define RSA_F_RSA_GENERATE_KEY 105 +# define RSA_F_RSA_GENERATE_KEY_EX 155 +# define RSA_F_RSA_ITEM_VERIFY 156 +# define RSA_F_RSA_MEMORY_LOCK 130 +# define RSA_F_RSA_MGF1_TO_MD 159 +# define RSA_F_RSA_NEW_METHOD 106 +# define RSA_F_RSA_NULL 124 +# define RSA_F_RSA_NULL_MOD_EXP 131 +# define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132 +# define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133 +# define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134 +# define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135 +# define RSA_F_RSA_PADDING_ADD_NONE 107 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1 160 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 148 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109 +# define RSA_F_RSA_PADDING_ADD_SSLV23 110 +# define RSA_F_RSA_PADDING_ADD_X931 127 +# define RSA_F_RSA_PADDING_CHECK_NONE 111 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1 161 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113 +# define RSA_F_RSA_PADDING_CHECK_SSLV23 114 +# define RSA_F_RSA_PADDING_CHECK_X931 128 +# define RSA_F_RSA_PRINT 115 +# define RSA_F_RSA_PRINT_FP 116 +# define RSA_F_RSA_PRIVATE_DECRYPT 150 +# define RSA_F_RSA_PRIVATE_ENCRYPT 151 +# define RSA_F_RSA_PRIV_DECODE 137 +# define RSA_F_RSA_PRIV_ENCODE 138 +# define RSA_F_RSA_PSS_TO_CTX 162 +# define RSA_F_RSA_PUBLIC_DECRYPT 152 +# define RSA_F_RSA_PUBLIC_ENCRYPT 153 +# define RSA_F_RSA_PUB_DECODE 139 +# define RSA_F_RSA_SETUP_BLINDING 136 +# define RSA_F_RSA_SIGN 117 +# define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118 +# define RSA_F_RSA_VERIFY 119 +# define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120 +# define RSA_F_RSA_VERIFY_PKCS1_PSS 126 +# define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 149 + +/* Reason codes. */ +# define RSA_R_ALGORITHM_MISMATCH 100 +# define RSA_R_BAD_E_VALUE 101 +# define RSA_R_BAD_FIXED_HEADER_DECRYPT 102 +# define RSA_R_BAD_PAD_BYTE_COUNT 103 +# define RSA_R_BAD_SIGNATURE 104 +# define RSA_R_BLOCK_TYPE_IS_NOT_01 106 +# define RSA_R_BLOCK_TYPE_IS_NOT_02 107 +# define RSA_R_DATA_GREATER_THAN_MOD_LEN 108 +# define RSA_R_DATA_TOO_LARGE 109 +# define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110 +# define RSA_R_DATA_TOO_LARGE_FOR_MODULUS 132 +# define RSA_R_DATA_TOO_SMALL 111 +# define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122 +# define RSA_R_DIGEST_DOES_NOT_MATCH 166 +# define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112 +# define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124 +# define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125 +# define RSA_R_D_E_NOT_CONGRUENT_TO_1 123 +# define RSA_R_FIRST_OCTET_INVALID 133 +# define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144 +# define RSA_R_INVALID_DIGEST 160 +# define RSA_R_INVALID_DIGEST_LENGTH 143 +# define RSA_R_INVALID_HEADER 137 +# define RSA_R_INVALID_KEYBITS 145 +# define RSA_R_INVALID_LABEL 161 +# define RSA_R_INVALID_MESSAGE_LENGTH 131 +# define RSA_R_INVALID_MGF1_MD 156 +# define RSA_R_INVALID_OAEP_PARAMETERS 162 +# define RSA_R_INVALID_PADDING 138 +# define RSA_R_INVALID_PADDING_MODE 141 +# define RSA_R_INVALID_PSS_PARAMETERS 149 +# define RSA_R_INVALID_PSS_SALTLEN 146 +# define RSA_R_INVALID_SALT_LENGTH 150 +# define RSA_R_INVALID_TRAILER 139 +# define RSA_R_INVALID_X931_DIGEST 142 +# define RSA_R_IQMP_NOT_INVERSE_OF_Q 126 +# define RSA_R_KEY_SIZE_TOO_SMALL 120 +# define RSA_R_LAST_OCTET_INVALID 134 +# define RSA_R_MODULUS_TOO_LARGE 105 +# define RSA_R_NON_FIPS_RSA_METHOD 157 +# define RSA_R_NO_PUBLIC_EXPONENT 140 +# define RSA_R_NULL_BEFORE_BLOCK_MISSING 113 +# define RSA_R_N_DOES_NOT_EQUAL_P_Q 127 +# define RSA_R_OAEP_DECODING_ERROR 121 +# define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE 158 +# define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148 +# define RSA_R_PADDING_CHECK_FAILED 114 +# define RSA_R_PKCS_DECODING_ERROR 159 +# define RSA_R_P_NOT_PRIME 128 +# define RSA_R_Q_NOT_PRIME 129 +# define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130 +# define RSA_R_SLEN_CHECK_FAILED 136 +# define RSA_R_SLEN_RECOVERY_FAILED 135 +# define RSA_R_SSLV3_ROLLBACK_ATTACK 115 +# define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116 +# define RSA_R_UNKNOWN_ALGORITHM_TYPE 117 +# define RSA_R_UNKNOWN_DIGEST 163 +# define RSA_R_UNKNOWN_MASK_DIGEST 151 +# define RSA_R_UNKNOWN_PADDING_TYPE 118 +# define RSA_R_UNKNOWN_PSS_DIGEST 152 +# define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 164 +# define RSA_R_UNSUPPORTED_LABEL_SOURCE 165 +# define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153 +# define RSA_R_UNSUPPORTED_MASK_PARAMETER 154 +# define RSA_R_UNSUPPORTED_SIGNATURE_TYPE 155 +# define RSA_R_VALUE_MISSING 147 +# define RSA_R_WRONG_SIGNATURE_LENGTH 119 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/safestack.h b/3rdparty/openssl/include/openssl/safestack.h new file mode 100644 index 0000000..1d4f87e --- /dev/null +++ b/3rdparty/openssl/include/openssl/safestack.h @@ -0,0 +1,2672 @@ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_SAFESTACK_H +# define HEADER_SAFESTACK_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef CHECKED_PTR_OF +# define CHECKED_PTR_OF(type, p) \ + ((void*) (1 ? p : (type*)0)) +# endif + +/* + * In C++ we get problems because an explicit cast is needed from (void *) we + * use CHECKED_STACK_OF to ensure the correct type is passed in the macros + * below. + */ + +# define CHECKED_STACK_OF(type, p) \ + ((_STACK*) (1 ? p : (STACK_OF(type)*)0)) + +# define CHECKED_SK_COPY_FUNC(type, p) \ + ((void *(*)(void *)) ((1 ? p : (type *(*)(const type *))0))) + +# define CHECKED_SK_FREE_FUNC(type, p) \ + ((void (*)(void *)) ((1 ? p : (void (*)(type *))0))) + +# define CHECKED_SK_CMP_FUNC(type, p) \ + ((int (*)(const void *, const void *)) \ + ((1 ? p : (int (*)(const type * const *, const type * const *))0))) + +# define STACK_OF(type) struct stack_st_##type +# define PREDECLARE_STACK_OF(type) STACK_OF(type); + +# define DECLARE_STACK_OF(type) \ +STACK_OF(type) \ + { \ + _STACK stack; \ + }; +# define DECLARE_SPECIAL_STACK_OF(type, type2) \ +STACK_OF(type) \ + { \ + _STACK stack; \ + }; + +/* nada (obsolete in new safestack approach)*/ +# define IMPLEMENT_STACK_OF(type) + +/*- + * Strings are special: normally an lhash entry will point to a single + * (somewhat) mutable object. In the case of strings: + * + * a) Instead of a single char, there is an array of chars, NUL-terminated. + * b) The string may have be immutable. + * + * So, they need their own declarations. Especially important for + * type-checking tools, such as Deputy. + * + * In practice, however, it appears to be hard to have a const + * string. For now, I'm settling for dealing with the fact it is a + * string at all. + */ +typedef char *OPENSSL_STRING; + +typedef const char *OPENSSL_CSTRING; + +/* + * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but + * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned + * above, instead of a single char each entry is a NUL-terminated array of + * chars. So, we have to implement STRING specially for STACK_OF. This is + * dealt with in the autogenerated macros below. + */ + +DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) + +/* + * Similarly, we sometimes use a block of characters, NOT nul-terminated. + * These should also be distinguished from "normal" stacks. + */ +typedef void *OPENSSL_BLOCK; +DECLARE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) + +/* + * SKM_sk_... stack macros are internal to safestack.h: never use them + * directly, use sk__... instead + */ +# define SKM_sk_new(type, cmp) \ + ((STACK_OF(type) *)sk_new(CHECKED_SK_CMP_FUNC(type, cmp))) +# define SKM_sk_new_null(type) \ + ((STACK_OF(type) *)sk_new_null()) +# define SKM_sk_free(type, st) \ + sk_free(CHECKED_STACK_OF(type, st)) +# define SKM_sk_num(type, st) \ + sk_num(CHECKED_STACK_OF(type, st)) +# define SKM_sk_value(type, st,i) \ + ((type *)sk_value(CHECKED_STACK_OF(type, st), i)) +# define SKM_sk_set(type, st,i,val) \ + sk_set(CHECKED_STACK_OF(type, st), i, CHECKED_PTR_OF(type, val)) +# define SKM_sk_zero(type, st) \ + sk_zero(CHECKED_STACK_OF(type, st)) +# define SKM_sk_push(type, st, val) \ + sk_push(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) +# define SKM_sk_unshift(type, st, val) \ + sk_unshift(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) +# define SKM_sk_find(type, st, val) \ + sk_find(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) +# define SKM_sk_find_ex(type, st, val) \ + sk_find_ex(CHECKED_STACK_OF(type, st), \ + CHECKED_PTR_OF(type, val)) +# define SKM_sk_delete(type, st, i) \ + (type *)sk_delete(CHECKED_STACK_OF(type, st), i) +# define SKM_sk_delete_ptr(type, st, ptr) \ + (type *)sk_delete_ptr(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, ptr)) +# define SKM_sk_insert(type, st,val, i) \ + sk_insert(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val), i) +# define SKM_sk_set_cmp_func(type, st, cmp) \ + ((int (*)(const type * const *,const type * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(type, st), CHECKED_SK_CMP_FUNC(type, cmp))) +# define SKM_sk_dup(type, st) \ + (STACK_OF(type) *)sk_dup(CHECKED_STACK_OF(type, st)) +# define SKM_sk_pop_free(type, st, free_func) \ + sk_pop_free(CHECKED_STACK_OF(type, st), CHECKED_SK_FREE_FUNC(type, free_func)) +# define SKM_sk_deep_copy(type, st, copy_func, free_func) \ + (STACK_OF(type) *)sk_deep_copy(CHECKED_STACK_OF(type, st), CHECKED_SK_COPY_FUNC(type, copy_func), CHECKED_SK_FREE_FUNC(type, free_func)) +# define SKM_sk_shift(type, st) \ + (type *)sk_shift(CHECKED_STACK_OF(type, st)) +# define SKM_sk_pop(type, st) \ + (type *)sk_pop(CHECKED_STACK_OF(type, st)) +# define SKM_sk_sort(type, st) \ + sk_sort(CHECKED_STACK_OF(type, st)) +# define SKM_sk_is_sorted(type, st) \ + sk_is_sorted(CHECKED_STACK_OF(type, st)) +# define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + (STACK_OF(type) *)d2i_ASN1_SET( \ + (STACK_OF(OPENSSL_BLOCK) **)CHECKED_PTR_OF(STACK_OF(type)*, st), \ + pp, length, \ + CHECKED_D2I_OF(type, d2i_func), \ + CHECKED_SK_FREE_FUNC(type, free_func), \ + ex_tag, ex_class) +# define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \ + i2d_ASN1_SET((STACK_OF(OPENSSL_BLOCK) *)CHECKED_STACK_OF(type, st), pp, \ + CHECKED_I2D_OF(type, i2d_func), \ + ex_tag, ex_class, is_set) +# define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ + ASN1_seq_pack(CHECKED_PTR_OF(STACK_OF(type), st), \ + CHECKED_I2D_OF(type, i2d_func), buf, len) +# define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ + (STACK_OF(type) *)ASN1_seq_unpack(buf, len, CHECKED_D2I_OF(type, d2i_func), CHECKED_SK_FREE_FUNC(type, free_func)) +# define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \ + (STACK_OF(type) *)PKCS12_decrypt_d2i(algor, \ + CHECKED_D2I_OF(type, d2i_func), \ + CHECKED_SK_FREE_FUNC(type, free_func), \ + pass, passlen, oct, seq) +/* + * This block of defines is updated by util/mkstack.pl, please do not touch! + */ +# define sk_ACCESS_DESCRIPTION_new(cmp) SKM_sk_new(ACCESS_DESCRIPTION, (cmp)) +# define sk_ACCESS_DESCRIPTION_new_null() SKM_sk_new_null(ACCESS_DESCRIPTION) +# define sk_ACCESS_DESCRIPTION_free(st) SKM_sk_free(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_num(st) SKM_sk_num(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_value(st, i) SKM_sk_value(ACCESS_DESCRIPTION, (st), (i)) +# define sk_ACCESS_DESCRIPTION_set(st, i, val) SKM_sk_set(ACCESS_DESCRIPTION, (st), (i), (val)) +# define sk_ACCESS_DESCRIPTION_zero(st) SKM_sk_zero(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_push(st, val) SKM_sk_push(ACCESS_DESCRIPTION, (st), (val)) +# define sk_ACCESS_DESCRIPTION_unshift(st, val) SKM_sk_unshift(ACCESS_DESCRIPTION, (st), (val)) +# define sk_ACCESS_DESCRIPTION_find(st, val) SKM_sk_find(ACCESS_DESCRIPTION, (st), (val)) +# define sk_ACCESS_DESCRIPTION_find_ex(st, val) SKM_sk_find_ex(ACCESS_DESCRIPTION, (st), (val)) +# define sk_ACCESS_DESCRIPTION_delete(st, i) SKM_sk_delete(ACCESS_DESCRIPTION, (st), (i)) +# define sk_ACCESS_DESCRIPTION_delete_ptr(st, ptr) SKM_sk_delete_ptr(ACCESS_DESCRIPTION, (st), (ptr)) +# define sk_ACCESS_DESCRIPTION_insert(st, val, i) SKM_sk_insert(ACCESS_DESCRIPTION, (st), (val), (i)) +# define sk_ACCESS_DESCRIPTION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ACCESS_DESCRIPTION, (st), (cmp)) +# define sk_ACCESS_DESCRIPTION_dup(st) SKM_sk_dup(ACCESS_DESCRIPTION, st) +# define sk_ACCESS_DESCRIPTION_pop_free(st, free_func) SKM_sk_pop_free(ACCESS_DESCRIPTION, (st), (free_func)) +# define sk_ACCESS_DESCRIPTION_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ACCESS_DESCRIPTION, (st), (copy_func), (free_func)) +# define sk_ACCESS_DESCRIPTION_shift(st) SKM_sk_shift(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_pop(st) SKM_sk_pop(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_sort(st) SKM_sk_sort(ACCESS_DESCRIPTION, (st)) +# define sk_ACCESS_DESCRIPTION_is_sorted(st) SKM_sk_is_sorted(ACCESS_DESCRIPTION, (st)) +# define sk_ASIdOrRange_new(cmp) SKM_sk_new(ASIdOrRange, (cmp)) +# define sk_ASIdOrRange_new_null() SKM_sk_new_null(ASIdOrRange) +# define sk_ASIdOrRange_free(st) SKM_sk_free(ASIdOrRange, (st)) +# define sk_ASIdOrRange_num(st) SKM_sk_num(ASIdOrRange, (st)) +# define sk_ASIdOrRange_value(st, i) SKM_sk_value(ASIdOrRange, (st), (i)) +# define sk_ASIdOrRange_set(st, i, val) SKM_sk_set(ASIdOrRange, (st), (i), (val)) +# define sk_ASIdOrRange_zero(st) SKM_sk_zero(ASIdOrRange, (st)) +# define sk_ASIdOrRange_push(st, val) SKM_sk_push(ASIdOrRange, (st), (val)) +# define sk_ASIdOrRange_unshift(st, val) SKM_sk_unshift(ASIdOrRange, (st), (val)) +# define sk_ASIdOrRange_find(st, val) SKM_sk_find(ASIdOrRange, (st), (val)) +# define sk_ASIdOrRange_find_ex(st, val) SKM_sk_find_ex(ASIdOrRange, (st), (val)) +# define sk_ASIdOrRange_delete(st, i) SKM_sk_delete(ASIdOrRange, (st), (i)) +# define sk_ASIdOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASIdOrRange, (st), (ptr)) +# define sk_ASIdOrRange_insert(st, val, i) SKM_sk_insert(ASIdOrRange, (st), (val), (i)) +# define sk_ASIdOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASIdOrRange, (st), (cmp)) +# define sk_ASIdOrRange_dup(st) SKM_sk_dup(ASIdOrRange, st) +# define sk_ASIdOrRange_pop_free(st, free_func) SKM_sk_pop_free(ASIdOrRange, (st), (free_func)) +# define sk_ASIdOrRange_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASIdOrRange, (st), (copy_func), (free_func)) +# define sk_ASIdOrRange_shift(st) SKM_sk_shift(ASIdOrRange, (st)) +# define sk_ASIdOrRange_pop(st) SKM_sk_pop(ASIdOrRange, (st)) +# define sk_ASIdOrRange_sort(st) SKM_sk_sort(ASIdOrRange, (st)) +# define sk_ASIdOrRange_is_sorted(st) SKM_sk_is_sorted(ASIdOrRange, (st)) +# define sk_ASN1_GENERALSTRING_new(cmp) SKM_sk_new(ASN1_GENERALSTRING, (cmp)) +# define sk_ASN1_GENERALSTRING_new_null() SKM_sk_new_null(ASN1_GENERALSTRING) +# define sk_ASN1_GENERALSTRING_free(st) SKM_sk_free(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_num(st) SKM_sk_num(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_value(st, i) SKM_sk_value(ASN1_GENERALSTRING, (st), (i)) +# define sk_ASN1_GENERALSTRING_set(st, i, val) SKM_sk_set(ASN1_GENERALSTRING, (st), (i), (val)) +# define sk_ASN1_GENERALSTRING_zero(st) SKM_sk_zero(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_push(st, val) SKM_sk_push(ASN1_GENERALSTRING, (st), (val)) +# define sk_ASN1_GENERALSTRING_unshift(st, val) SKM_sk_unshift(ASN1_GENERALSTRING, (st), (val)) +# define sk_ASN1_GENERALSTRING_find(st, val) SKM_sk_find(ASN1_GENERALSTRING, (st), (val)) +# define sk_ASN1_GENERALSTRING_find_ex(st, val) SKM_sk_find_ex(ASN1_GENERALSTRING, (st), (val)) +# define sk_ASN1_GENERALSTRING_delete(st, i) SKM_sk_delete(ASN1_GENERALSTRING, (st), (i)) +# define sk_ASN1_GENERALSTRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_GENERALSTRING, (st), (ptr)) +# define sk_ASN1_GENERALSTRING_insert(st, val, i) SKM_sk_insert(ASN1_GENERALSTRING, (st), (val), (i)) +# define sk_ASN1_GENERALSTRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_GENERALSTRING, (st), (cmp)) +# define sk_ASN1_GENERALSTRING_dup(st) SKM_sk_dup(ASN1_GENERALSTRING, st) +# define sk_ASN1_GENERALSTRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_GENERALSTRING, (st), (free_func)) +# define sk_ASN1_GENERALSTRING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_GENERALSTRING, (st), (copy_func), (free_func)) +# define sk_ASN1_GENERALSTRING_shift(st) SKM_sk_shift(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_pop(st) SKM_sk_pop(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_sort(st) SKM_sk_sort(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_GENERALSTRING_is_sorted(st) SKM_sk_is_sorted(ASN1_GENERALSTRING, (st)) +# define sk_ASN1_INTEGER_new(cmp) SKM_sk_new(ASN1_INTEGER, (cmp)) +# define sk_ASN1_INTEGER_new_null() SKM_sk_new_null(ASN1_INTEGER) +# define sk_ASN1_INTEGER_free(st) SKM_sk_free(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_num(st) SKM_sk_num(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_value(st, i) SKM_sk_value(ASN1_INTEGER, (st), (i)) +# define sk_ASN1_INTEGER_set(st, i, val) SKM_sk_set(ASN1_INTEGER, (st), (i), (val)) +# define sk_ASN1_INTEGER_zero(st) SKM_sk_zero(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_push(st, val) SKM_sk_push(ASN1_INTEGER, (st), (val)) +# define sk_ASN1_INTEGER_unshift(st, val) SKM_sk_unshift(ASN1_INTEGER, (st), (val)) +# define sk_ASN1_INTEGER_find(st, val) SKM_sk_find(ASN1_INTEGER, (st), (val)) +# define sk_ASN1_INTEGER_find_ex(st, val) SKM_sk_find_ex(ASN1_INTEGER, (st), (val)) +# define sk_ASN1_INTEGER_delete(st, i) SKM_sk_delete(ASN1_INTEGER, (st), (i)) +# define sk_ASN1_INTEGER_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_INTEGER, (st), (ptr)) +# define sk_ASN1_INTEGER_insert(st, val, i) SKM_sk_insert(ASN1_INTEGER, (st), (val), (i)) +# define sk_ASN1_INTEGER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_INTEGER, (st), (cmp)) +# define sk_ASN1_INTEGER_dup(st) SKM_sk_dup(ASN1_INTEGER, st) +# define sk_ASN1_INTEGER_pop_free(st, free_func) SKM_sk_pop_free(ASN1_INTEGER, (st), (free_func)) +# define sk_ASN1_INTEGER_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_INTEGER, (st), (copy_func), (free_func)) +# define sk_ASN1_INTEGER_shift(st) SKM_sk_shift(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_pop(st) SKM_sk_pop(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_sort(st) SKM_sk_sort(ASN1_INTEGER, (st)) +# define sk_ASN1_INTEGER_is_sorted(st) SKM_sk_is_sorted(ASN1_INTEGER, (st)) +# define sk_ASN1_OBJECT_new(cmp) SKM_sk_new(ASN1_OBJECT, (cmp)) +# define sk_ASN1_OBJECT_new_null() SKM_sk_new_null(ASN1_OBJECT) +# define sk_ASN1_OBJECT_free(st) SKM_sk_free(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_num(st) SKM_sk_num(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_value(st, i) SKM_sk_value(ASN1_OBJECT, (st), (i)) +# define sk_ASN1_OBJECT_set(st, i, val) SKM_sk_set(ASN1_OBJECT, (st), (i), (val)) +# define sk_ASN1_OBJECT_zero(st) SKM_sk_zero(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_push(st, val) SKM_sk_push(ASN1_OBJECT, (st), (val)) +# define sk_ASN1_OBJECT_unshift(st, val) SKM_sk_unshift(ASN1_OBJECT, (st), (val)) +# define sk_ASN1_OBJECT_find(st, val) SKM_sk_find(ASN1_OBJECT, (st), (val)) +# define sk_ASN1_OBJECT_find_ex(st, val) SKM_sk_find_ex(ASN1_OBJECT, (st), (val)) +# define sk_ASN1_OBJECT_delete(st, i) SKM_sk_delete(ASN1_OBJECT, (st), (i)) +# define sk_ASN1_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_OBJECT, (st), (ptr)) +# define sk_ASN1_OBJECT_insert(st, val, i) SKM_sk_insert(ASN1_OBJECT, (st), (val), (i)) +# define sk_ASN1_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_OBJECT, (st), (cmp)) +# define sk_ASN1_OBJECT_dup(st) SKM_sk_dup(ASN1_OBJECT, st) +# define sk_ASN1_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(ASN1_OBJECT, (st), (free_func)) +# define sk_ASN1_OBJECT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_OBJECT, (st), (copy_func), (free_func)) +# define sk_ASN1_OBJECT_shift(st) SKM_sk_shift(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_pop(st) SKM_sk_pop(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_sort(st) SKM_sk_sort(ASN1_OBJECT, (st)) +# define sk_ASN1_OBJECT_is_sorted(st) SKM_sk_is_sorted(ASN1_OBJECT, (st)) +# define sk_ASN1_STRING_TABLE_new(cmp) SKM_sk_new(ASN1_STRING_TABLE, (cmp)) +# define sk_ASN1_STRING_TABLE_new_null() SKM_sk_new_null(ASN1_STRING_TABLE) +# define sk_ASN1_STRING_TABLE_free(st) SKM_sk_free(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_num(st) SKM_sk_num(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_value(st, i) SKM_sk_value(ASN1_STRING_TABLE, (st), (i)) +# define sk_ASN1_STRING_TABLE_set(st, i, val) SKM_sk_set(ASN1_STRING_TABLE, (st), (i), (val)) +# define sk_ASN1_STRING_TABLE_zero(st) SKM_sk_zero(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_push(st, val) SKM_sk_push(ASN1_STRING_TABLE, (st), (val)) +# define sk_ASN1_STRING_TABLE_unshift(st, val) SKM_sk_unshift(ASN1_STRING_TABLE, (st), (val)) +# define sk_ASN1_STRING_TABLE_find(st, val) SKM_sk_find(ASN1_STRING_TABLE, (st), (val)) +# define sk_ASN1_STRING_TABLE_find_ex(st, val) SKM_sk_find_ex(ASN1_STRING_TABLE, (st), (val)) +# define sk_ASN1_STRING_TABLE_delete(st, i) SKM_sk_delete(ASN1_STRING_TABLE, (st), (i)) +# define sk_ASN1_STRING_TABLE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_STRING_TABLE, (st), (ptr)) +# define sk_ASN1_STRING_TABLE_insert(st, val, i) SKM_sk_insert(ASN1_STRING_TABLE, (st), (val), (i)) +# define sk_ASN1_STRING_TABLE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_STRING_TABLE, (st), (cmp)) +# define sk_ASN1_STRING_TABLE_dup(st) SKM_sk_dup(ASN1_STRING_TABLE, st) +# define sk_ASN1_STRING_TABLE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_STRING_TABLE, (st), (free_func)) +# define sk_ASN1_STRING_TABLE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_STRING_TABLE, (st), (copy_func), (free_func)) +# define sk_ASN1_STRING_TABLE_shift(st) SKM_sk_shift(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_pop(st) SKM_sk_pop(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_sort(st) SKM_sk_sort(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_STRING_TABLE_is_sorted(st) SKM_sk_is_sorted(ASN1_STRING_TABLE, (st)) +# define sk_ASN1_TYPE_new(cmp) SKM_sk_new(ASN1_TYPE, (cmp)) +# define sk_ASN1_TYPE_new_null() SKM_sk_new_null(ASN1_TYPE) +# define sk_ASN1_TYPE_free(st) SKM_sk_free(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_num(st) SKM_sk_num(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_value(st, i) SKM_sk_value(ASN1_TYPE, (st), (i)) +# define sk_ASN1_TYPE_set(st, i, val) SKM_sk_set(ASN1_TYPE, (st), (i), (val)) +# define sk_ASN1_TYPE_zero(st) SKM_sk_zero(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_push(st, val) SKM_sk_push(ASN1_TYPE, (st), (val)) +# define sk_ASN1_TYPE_unshift(st, val) SKM_sk_unshift(ASN1_TYPE, (st), (val)) +# define sk_ASN1_TYPE_find(st, val) SKM_sk_find(ASN1_TYPE, (st), (val)) +# define sk_ASN1_TYPE_find_ex(st, val) SKM_sk_find_ex(ASN1_TYPE, (st), (val)) +# define sk_ASN1_TYPE_delete(st, i) SKM_sk_delete(ASN1_TYPE, (st), (i)) +# define sk_ASN1_TYPE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_TYPE, (st), (ptr)) +# define sk_ASN1_TYPE_insert(st, val, i) SKM_sk_insert(ASN1_TYPE, (st), (val), (i)) +# define sk_ASN1_TYPE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_TYPE, (st), (cmp)) +# define sk_ASN1_TYPE_dup(st) SKM_sk_dup(ASN1_TYPE, st) +# define sk_ASN1_TYPE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_TYPE, (st), (free_func)) +# define sk_ASN1_TYPE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_TYPE, (st), (copy_func), (free_func)) +# define sk_ASN1_TYPE_shift(st) SKM_sk_shift(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_pop(st) SKM_sk_pop(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_sort(st) SKM_sk_sort(ASN1_TYPE, (st)) +# define sk_ASN1_TYPE_is_sorted(st) SKM_sk_is_sorted(ASN1_TYPE, (st)) +# define sk_ASN1_UTF8STRING_new(cmp) SKM_sk_new(ASN1_UTF8STRING, (cmp)) +# define sk_ASN1_UTF8STRING_new_null() SKM_sk_new_null(ASN1_UTF8STRING) +# define sk_ASN1_UTF8STRING_free(st) SKM_sk_free(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_num(st) SKM_sk_num(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_value(st, i) SKM_sk_value(ASN1_UTF8STRING, (st), (i)) +# define sk_ASN1_UTF8STRING_set(st, i, val) SKM_sk_set(ASN1_UTF8STRING, (st), (i), (val)) +# define sk_ASN1_UTF8STRING_zero(st) SKM_sk_zero(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_push(st, val) SKM_sk_push(ASN1_UTF8STRING, (st), (val)) +# define sk_ASN1_UTF8STRING_unshift(st, val) SKM_sk_unshift(ASN1_UTF8STRING, (st), (val)) +# define sk_ASN1_UTF8STRING_find(st, val) SKM_sk_find(ASN1_UTF8STRING, (st), (val)) +# define sk_ASN1_UTF8STRING_find_ex(st, val) SKM_sk_find_ex(ASN1_UTF8STRING, (st), (val)) +# define sk_ASN1_UTF8STRING_delete(st, i) SKM_sk_delete(ASN1_UTF8STRING, (st), (i)) +# define sk_ASN1_UTF8STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_UTF8STRING, (st), (ptr)) +# define sk_ASN1_UTF8STRING_insert(st, val, i) SKM_sk_insert(ASN1_UTF8STRING, (st), (val), (i)) +# define sk_ASN1_UTF8STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_UTF8STRING, (st), (cmp)) +# define sk_ASN1_UTF8STRING_dup(st) SKM_sk_dup(ASN1_UTF8STRING, st) +# define sk_ASN1_UTF8STRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_UTF8STRING, (st), (free_func)) +# define sk_ASN1_UTF8STRING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_UTF8STRING, (st), (copy_func), (free_func)) +# define sk_ASN1_UTF8STRING_shift(st) SKM_sk_shift(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_pop(st) SKM_sk_pop(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_sort(st) SKM_sk_sort(ASN1_UTF8STRING, (st)) +# define sk_ASN1_UTF8STRING_is_sorted(st) SKM_sk_is_sorted(ASN1_UTF8STRING, (st)) +# define sk_ASN1_VALUE_new(cmp) SKM_sk_new(ASN1_VALUE, (cmp)) +# define sk_ASN1_VALUE_new_null() SKM_sk_new_null(ASN1_VALUE) +# define sk_ASN1_VALUE_free(st) SKM_sk_free(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_num(st) SKM_sk_num(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_value(st, i) SKM_sk_value(ASN1_VALUE, (st), (i)) +# define sk_ASN1_VALUE_set(st, i, val) SKM_sk_set(ASN1_VALUE, (st), (i), (val)) +# define sk_ASN1_VALUE_zero(st) SKM_sk_zero(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_push(st, val) SKM_sk_push(ASN1_VALUE, (st), (val)) +# define sk_ASN1_VALUE_unshift(st, val) SKM_sk_unshift(ASN1_VALUE, (st), (val)) +# define sk_ASN1_VALUE_find(st, val) SKM_sk_find(ASN1_VALUE, (st), (val)) +# define sk_ASN1_VALUE_find_ex(st, val) SKM_sk_find_ex(ASN1_VALUE, (st), (val)) +# define sk_ASN1_VALUE_delete(st, i) SKM_sk_delete(ASN1_VALUE, (st), (i)) +# define sk_ASN1_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_VALUE, (st), (ptr)) +# define sk_ASN1_VALUE_insert(st, val, i) SKM_sk_insert(ASN1_VALUE, (st), (val), (i)) +# define sk_ASN1_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_VALUE, (st), (cmp)) +# define sk_ASN1_VALUE_dup(st) SKM_sk_dup(ASN1_VALUE, st) +# define sk_ASN1_VALUE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_VALUE, (st), (free_func)) +# define sk_ASN1_VALUE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_VALUE, (st), (copy_func), (free_func)) +# define sk_ASN1_VALUE_shift(st) SKM_sk_shift(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_pop(st) SKM_sk_pop(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_sort(st) SKM_sk_sort(ASN1_VALUE, (st)) +# define sk_ASN1_VALUE_is_sorted(st) SKM_sk_is_sorted(ASN1_VALUE, (st)) +# define sk_BIO_new(cmp) SKM_sk_new(BIO, (cmp)) +# define sk_BIO_new_null() SKM_sk_new_null(BIO) +# define sk_BIO_free(st) SKM_sk_free(BIO, (st)) +# define sk_BIO_num(st) SKM_sk_num(BIO, (st)) +# define sk_BIO_value(st, i) SKM_sk_value(BIO, (st), (i)) +# define sk_BIO_set(st, i, val) SKM_sk_set(BIO, (st), (i), (val)) +# define sk_BIO_zero(st) SKM_sk_zero(BIO, (st)) +# define sk_BIO_push(st, val) SKM_sk_push(BIO, (st), (val)) +# define sk_BIO_unshift(st, val) SKM_sk_unshift(BIO, (st), (val)) +# define sk_BIO_find(st, val) SKM_sk_find(BIO, (st), (val)) +# define sk_BIO_find_ex(st, val) SKM_sk_find_ex(BIO, (st), (val)) +# define sk_BIO_delete(st, i) SKM_sk_delete(BIO, (st), (i)) +# define sk_BIO_delete_ptr(st, ptr) SKM_sk_delete_ptr(BIO, (st), (ptr)) +# define sk_BIO_insert(st, val, i) SKM_sk_insert(BIO, (st), (val), (i)) +# define sk_BIO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BIO, (st), (cmp)) +# define sk_BIO_dup(st) SKM_sk_dup(BIO, st) +# define sk_BIO_pop_free(st, free_func) SKM_sk_pop_free(BIO, (st), (free_func)) +# define sk_BIO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BIO, (st), (copy_func), (free_func)) +# define sk_BIO_shift(st) SKM_sk_shift(BIO, (st)) +# define sk_BIO_pop(st) SKM_sk_pop(BIO, (st)) +# define sk_BIO_sort(st) SKM_sk_sort(BIO, (st)) +# define sk_BIO_is_sorted(st) SKM_sk_is_sorted(BIO, (st)) +# define sk_BY_DIR_ENTRY_new(cmp) SKM_sk_new(BY_DIR_ENTRY, (cmp)) +# define sk_BY_DIR_ENTRY_new_null() SKM_sk_new_null(BY_DIR_ENTRY) +# define sk_BY_DIR_ENTRY_free(st) SKM_sk_free(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_num(st) SKM_sk_num(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_value(st, i) SKM_sk_value(BY_DIR_ENTRY, (st), (i)) +# define sk_BY_DIR_ENTRY_set(st, i, val) SKM_sk_set(BY_DIR_ENTRY, (st), (i), (val)) +# define sk_BY_DIR_ENTRY_zero(st) SKM_sk_zero(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_push(st, val) SKM_sk_push(BY_DIR_ENTRY, (st), (val)) +# define sk_BY_DIR_ENTRY_unshift(st, val) SKM_sk_unshift(BY_DIR_ENTRY, (st), (val)) +# define sk_BY_DIR_ENTRY_find(st, val) SKM_sk_find(BY_DIR_ENTRY, (st), (val)) +# define sk_BY_DIR_ENTRY_find_ex(st, val) SKM_sk_find_ex(BY_DIR_ENTRY, (st), (val)) +# define sk_BY_DIR_ENTRY_delete(st, i) SKM_sk_delete(BY_DIR_ENTRY, (st), (i)) +# define sk_BY_DIR_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_ENTRY, (st), (ptr)) +# define sk_BY_DIR_ENTRY_insert(st, val, i) SKM_sk_insert(BY_DIR_ENTRY, (st), (val), (i)) +# define sk_BY_DIR_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_ENTRY, (st), (cmp)) +# define sk_BY_DIR_ENTRY_dup(st) SKM_sk_dup(BY_DIR_ENTRY, st) +# define sk_BY_DIR_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_ENTRY, (st), (free_func)) +# define sk_BY_DIR_ENTRY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BY_DIR_ENTRY, (st), (copy_func), (free_func)) +# define sk_BY_DIR_ENTRY_shift(st) SKM_sk_shift(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_pop(st) SKM_sk_pop(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_sort(st) SKM_sk_sort(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_ENTRY_is_sorted(st) SKM_sk_is_sorted(BY_DIR_ENTRY, (st)) +# define sk_BY_DIR_HASH_new(cmp) SKM_sk_new(BY_DIR_HASH, (cmp)) +# define sk_BY_DIR_HASH_new_null() SKM_sk_new_null(BY_DIR_HASH) +# define sk_BY_DIR_HASH_free(st) SKM_sk_free(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_num(st) SKM_sk_num(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_value(st, i) SKM_sk_value(BY_DIR_HASH, (st), (i)) +# define sk_BY_DIR_HASH_set(st, i, val) SKM_sk_set(BY_DIR_HASH, (st), (i), (val)) +# define sk_BY_DIR_HASH_zero(st) SKM_sk_zero(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_push(st, val) SKM_sk_push(BY_DIR_HASH, (st), (val)) +# define sk_BY_DIR_HASH_unshift(st, val) SKM_sk_unshift(BY_DIR_HASH, (st), (val)) +# define sk_BY_DIR_HASH_find(st, val) SKM_sk_find(BY_DIR_HASH, (st), (val)) +# define sk_BY_DIR_HASH_find_ex(st, val) SKM_sk_find_ex(BY_DIR_HASH, (st), (val)) +# define sk_BY_DIR_HASH_delete(st, i) SKM_sk_delete(BY_DIR_HASH, (st), (i)) +# define sk_BY_DIR_HASH_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_HASH, (st), (ptr)) +# define sk_BY_DIR_HASH_insert(st, val, i) SKM_sk_insert(BY_DIR_HASH, (st), (val), (i)) +# define sk_BY_DIR_HASH_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_HASH, (st), (cmp)) +# define sk_BY_DIR_HASH_dup(st) SKM_sk_dup(BY_DIR_HASH, st) +# define sk_BY_DIR_HASH_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_HASH, (st), (free_func)) +# define sk_BY_DIR_HASH_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BY_DIR_HASH, (st), (copy_func), (free_func)) +# define sk_BY_DIR_HASH_shift(st) SKM_sk_shift(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_pop(st) SKM_sk_pop(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_sort(st) SKM_sk_sort(BY_DIR_HASH, (st)) +# define sk_BY_DIR_HASH_is_sorted(st) SKM_sk_is_sorted(BY_DIR_HASH, (st)) +# define sk_CMS_CertificateChoices_new(cmp) SKM_sk_new(CMS_CertificateChoices, (cmp)) +# define sk_CMS_CertificateChoices_new_null() SKM_sk_new_null(CMS_CertificateChoices) +# define sk_CMS_CertificateChoices_free(st) SKM_sk_free(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_num(st) SKM_sk_num(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_value(st, i) SKM_sk_value(CMS_CertificateChoices, (st), (i)) +# define sk_CMS_CertificateChoices_set(st, i, val) SKM_sk_set(CMS_CertificateChoices, (st), (i), (val)) +# define sk_CMS_CertificateChoices_zero(st) SKM_sk_zero(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_push(st, val) SKM_sk_push(CMS_CertificateChoices, (st), (val)) +# define sk_CMS_CertificateChoices_unshift(st, val) SKM_sk_unshift(CMS_CertificateChoices, (st), (val)) +# define sk_CMS_CertificateChoices_find(st, val) SKM_sk_find(CMS_CertificateChoices, (st), (val)) +# define sk_CMS_CertificateChoices_find_ex(st, val) SKM_sk_find_ex(CMS_CertificateChoices, (st), (val)) +# define sk_CMS_CertificateChoices_delete(st, i) SKM_sk_delete(CMS_CertificateChoices, (st), (i)) +# define sk_CMS_CertificateChoices_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_CertificateChoices, (st), (ptr)) +# define sk_CMS_CertificateChoices_insert(st, val, i) SKM_sk_insert(CMS_CertificateChoices, (st), (val), (i)) +# define sk_CMS_CertificateChoices_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_CertificateChoices, (st), (cmp)) +# define sk_CMS_CertificateChoices_dup(st) SKM_sk_dup(CMS_CertificateChoices, st) +# define sk_CMS_CertificateChoices_pop_free(st, free_func) SKM_sk_pop_free(CMS_CertificateChoices, (st), (free_func)) +# define sk_CMS_CertificateChoices_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_CertificateChoices, (st), (copy_func), (free_func)) +# define sk_CMS_CertificateChoices_shift(st) SKM_sk_shift(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_pop(st) SKM_sk_pop(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_sort(st) SKM_sk_sort(CMS_CertificateChoices, (st)) +# define sk_CMS_CertificateChoices_is_sorted(st) SKM_sk_is_sorted(CMS_CertificateChoices, (st)) +# define sk_CMS_RecipientEncryptedKey_new(cmp) SKM_sk_new(CMS_RecipientEncryptedKey, (cmp)) +# define sk_CMS_RecipientEncryptedKey_new_null() SKM_sk_new_null(CMS_RecipientEncryptedKey) +# define sk_CMS_RecipientEncryptedKey_free(st) SKM_sk_free(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_num(st) SKM_sk_num(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_value(st, i) SKM_sk_value(CMS_RecipientEncryptedKey, (st), (i)) +# define sk_CMS_RecipientEncryptedKey_set(st, i, val) SKM_sk_set(CMS_RecipientEncryptedKey, (st), (i), (val)) +# define sk_CMS_RecipientEncryptedKey_zero(st) SKM_sk_zero(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_push(st, val) SKM_sk_push(CMS_RecipientEncryptedKey, (st), (val)) +# define sk_CMS_RecipientEncryptedKey_unshift(st, val) SKM_sk_unshift(CMS_RecipientEncryptedKey, (st), (val)) +# define sk_CMS_RecipientEncryptedKey_find(st, val) SKM_sk_find(CMS_RecipientEncryptedKey, (st), (val)) +# define sk_CMS_RecipientEncryptedKey_find_ex(st, val) SKM_sk_find_ex(CMS_RecipientEncryptedKey, (st), (val)) +# define sk_CMS_RecipientEncryptedKey_delete(st, i) SKM_sk_delete(CMS_RecipientEncryptedKey, (st), (i)) +# define sk_CMS_RecipientEncryptedKey_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RecipientEncryptedKey, (st), (ptr)) +# define sk_CMS_RecipientEncryptedKey_insert(st, val, i) SKM_sk_insert(CMS_RecipientEncryptedKey, (st), (val), (i)) +# define sk_CMS_RecipientEncryptedKey_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RecipientEncryptedKey, (st), (cmp)) +# define sk_CMS_RecipientEncryptedKey_dup(st) SKM_sk_dup(CMS_RecipientEncryptedKey, st) +# define sk_CMS_RecipientEncryptedKey_pop_free(st, free_func) SKM_sk_pop_free(CMS_RecipientEncryptedKey, (st), (free_func)) +# define sk_CMS_RecipientEncryptedKey_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RecipientEncryptedKey, (st), (copy_func), (free_func)) +# define sk_CMS_RecipientEncryptedKey_shift(st) SKM_sk_shift(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_pop(st) SKM_sk_pop(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_sort(st) SKM_sk_sort(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientEncryptedKey_is_sorted(st) SKM_sk_is_sorted(CMS_RecipientEncryptedKey, (st)) +# define sk_CMS_RecipientInfo_new(cmp) SKM_sk_new(CMS_RecipientInfo, (cmp)) +# define sk_CMS_RecipientInfo_new_null() SKM_sk_new_null(CMS_RecipientInfo) +# define sk_CMS_RecipientInfo_free(st) SKM_sk_free(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_num(st) SKM_sk_num(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_value(st, i) SKM_sk_value(CMS_RecipientInfo, (st), (i)) +# define sk_CMS_RecipientInfo_set(st, i, val) SKM_sk_set(CMS_RecipientInfo, (st), (i), (val)) +# define sk_CMS_RecipientInfo_zero(st) SKM_sk_zero(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_push(st, val) SKM_sk_push(CMS_RecipientInfo, (st), (val)) +# define sk_CMS_RecipientInfo_unshift(st, val) SKM_sk_unshift(CMS_RecipientInfo, (st), (val)) +# define sk_CMS_RecipientInfo_find(st, val) SKM_sk_find(CMS_RecipientInfo, (st), (val)) +# define sk_CMS_RecipientInfo_find_ex(st, val) SKM_sk_find_ex(CMS_RecipientInfo, (st), (val)) +# define sk_CMS_RecipientInfo_delete(st, i) SKM_sk_delete(CMS_RecipientInfo, (st), (i)) +# define sk_CMS_RecipientInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RecipientInfo, (st), (ptr)) +# define sk_CMS_RecipientInfo_insert(st, val, i) SKM_sk_insert(CMS_RecipientInfo, (st), (val), (i)) +# define sk_CMS_RecipientInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RecipientInfo, (st), (cmp)) +# define sk_CMS_RecipientInfo_dup(st) SKM_sk_dup(CMS_RecipientInfo, st) +# define sk_CMS_RecipientInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_RecipientInfo, (st), (free_func)) +# define sk_CMS_RecipientInfo_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RecipientInfo, (st), (copy_func), (free_func)) +# define sk_CMS_RecipientInfo_shift(st) SKM_sk_shift(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_pop(st) SKM_sk_pop(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_sort(st) SKM_sk_sort(CMS_RecipientInfo, (st)) +# define sk_CMS_RecipientInfo_is_sorted(st) SKM_sk_is_sorted(CMS_RecipientInfo, (st)) +# define sk_CMS_RevocationInfoChoice_new(cmp) SKM_sk_new(CMS_RevocationInfoChoice, (cmp)) +# define sk_CMS_RevocationInfoChoice_new_null() SKM_sk_new_null(CMS_RevocationInfoChoice) +# define sk_CMS_RevocationInfoChoice_free(st) SKM_sk_free(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_num(st) SKM_sk_num(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_value(st, i) SKM_sk_value(CMS_RevocationInfoChoice, (st), (i)) +# define sk_CMS_RevocationInfoChoice_set(st, i, val) SKM_sk_set(CMS_RevocationInfoChoice, (st), (i), (val)) +# define sk_CMS_RevocationInfoChoice_zero(st) SKM_sk_zero(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_push(st, val) SKM_sk_push(CMS_RevocationInfoChoice, (st), (val)) +# define sk_CMS_RevocationInfoChoice_unshift(st, val) SKM_sk_unshift(CMS_RevocationInfoChoice, (st), (val)) +# define sk_CMS_RevocationInfoChoice_find(st, val) SKM_sk_find(CMS_RevocationInfoChoice, (st), (val)) +# define sk_CMS_RevocationInfoChoice_find_ex(st, val) SKM_sk_find_ex(CMS_RevocationInfoChoice, (st), (val)) +# define sk_CMS_RevocationInfoChoice_delete(st, i) SKM_sk_delete(CMS_RevocationInfoChoice, (st), (i)) +# define sk_CMS_RevocationInfoChoice_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RevocationInfoChoice, (st), (ptr)) +# define sk_CMS_RevocationInfoChoice_insert(st, val, i) SKM_sk_insert(CMS_RevocationInfoChoice, (st), (val), (i)) +# define sk_CMS_RevocationInfoChoice_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RevocationInfoChoice, (st), (cmp)) +# define sk_CMS_RevocationInfoChoice_dup(st) SKM_sk_dup(CMS_RevocationInfoChoice, st) +# define sk_CMS_RevocationInfoChoice_pop_free(st, free_func) SKM_sk_pop_free(CMS_RevocationInfoChoice, (st), (free_func)) +# define sk_CMS_RevocationInfoChoice_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RevocationInfoChoice, (st), (copy_func), (free_func)) +# define sk_CMS_RevocationInfoChoice_shift(st) SKM_sk_shift(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_pop(st) SKM_sk_pop(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_sort(st) SKM_sk_sort(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_RevocationInfoChoice_is_sorted(st) SKM_sk_is_sorted(CMS_RevocationInfoChoice, (st)) +# define sk_CMS_SignerInfo_new(cmp) SKM_sk_new(CMS_SignerInfo, (cmp)) +# define sk_CMS_SignerInfo_new_null() SKM_sk_new_null(CMS_SignerInfo) +# define sk_CMS_SignerInfo_free(st) SKM_sk_free(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_num(st) SKM_sk_num(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_value(st, i) SKM_sk_value(CMS_SignerInfo, (st), (i)) +# define sk_CMS_SignerInfo_set(st, i, val) SKM_sk_set(CMS_SignerInfo, (st), (i), (val)) +# define sk_CMS_SignerInfo_zero(st) SKM_sk_zero(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_push(st, val) SKM_sk_push(CMS_SignerInfo, (st), (val)) +# define sk_CMS_SignerInfo_unshift(st, val) SKM_sk_unshift(CMS_SignerInfo, (st), (val)) +# define sk_CMS_SignerInfo_find(st, val) SKM_sk_find(CMS_SignerInfo, (st), (val)) +# define sk_CMS_SignerInfo_find_ex(st, val) SKM_sk_find_ex(CMS_SignerInfo, (st), (val)) +# define sk_CMS_SignerInfo_delete(st, i) SKM_sk_delete(CMS_SignerInfo, (st), (i)) +# define sk_CMS_SignerInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_SignerInfo, (st), (ptr)) +# define sk_CMS_SignerInfo_insert(st, val, i) SKM_sk_insert(CMS_SignerInfo, (st), (val), (i)) +# define sk_CMS_SignerInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_SignerInfo, (st), (cmp)) +# define sk_CMS_SignerInfo_dup(st) SKM_sk_dup(CMS_SignerInfo, st) +# define sk_CMS_SignerInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_SignerInfo, (st), (free_func)) +# define sk_CMS_SignerInfo_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_SignerInfo, (st), (copy_func), (free_func)) +# define sk_CMS_SignerInfo_shift(st) SKM_sk_shift(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_pop(st) SKM_sk_pop(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_sort(st) SKM_sk_sort(CMS_SignerInfo, (st)) +# define sk_CMS_SignerInfo_is_sorted(st) SKM_sk_is_sorted(CMS_SignerInfo, (st)) +# define sk_CONF_IMODULE_new(cmp) SKM_sk_new(CONF_IMODULE, (cmp)) +# define sk_CONF_IMODULE_new_null() SKM_sk_new_null(CONF_IMODULE) +# define sk_CONF_IMODULE_free(st) SKM_sk_free(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_num(st) SKM_sk_num(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_value(st, i) SKM_sk_value(CONF_IMODULE, (st), (i)) +# define sk_CONF_IMODULE_set(st, i, val) SKM_sk_set(CONF_IMODULE, (st), (i), (val)) +# define sk_CONF_IMODULE_zero(st) SKM_sk_zero(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_push(st, val) SKM_sk_push(CONF_IMODULE, (st), (val)) +# define sk_CONF_IMODULE_unshift(st, val) SKM_sk_unshift(CONF_IMODULE, (st), (val)) +# define sk_CONF_IMODULE_find(st, val) SKM_sk_find(CONF_IMODULE, (st), (val)) +# define sk_CONF_IMODULE_find_ex(st, val) SKM_sk_find_ex(CONF_IMODULE, (st), (val)) +# define sk_CONF_IMODULE_delete(st, i) SKM_sk_delete(CONF_IMODULE, (st), (i)) +# define sk_CONF_IMODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_IMODULE, (st), (ptr)) +# define sk_CONF_IMODULE_insert(st, val, i) SKM_sk_insert(CONF_IMODULE, (st), (val), (i)) +# define sk_CONF_IMODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_IMODULE, (st), (cmp)) +# define sk_CONF_IMODULE_dup(st) SKM_sk_dup(CONF_IMODULE, st) +# define sk_CONF_IMODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_IMODULE, (st), (free_func)) +# define sk_CONF_IMODULE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_IMODULE, (st), (copy_func), (free_func)) +# define sk_CONF_IMODULE_shift(st) SKM_sk_shift(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_pop(st) SKM_sk_pop(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_sort(st) SKM_sk_sort(CONF_IMODULE, (st)) +# define sk_CONF_IMODULE_is_sorted(st) SKM_sk_is_sorted(CONF_IMODULE, (st)) +# define sk_CONF_MODULE_new(cmp) SKM_sk_new(CONF_MODULE, (cmp)) +# define sk_CONF_MODULE_new_null() SKM_sk_new_null(CONF_MODULE) +# define sk_CONF_MODULE_free(st) SKM_sk_free(CONF_MODULE, (st)) +# define sk_CONF_MODULE_num(st) SKM_sk_num(CONF_MODULE, (st)) +# define sk_CONF_MODULE_value(st, i) SKM_sk_value(CONF_MODULE, (st), (i)) +# define sk_CONF_MODULE_set(st, i, val) SKM_sk_set(CONF_MODULE, (st), (i), (val)) +# define sk_CONF_MODULE_zero(st) SKM_sk_zero(CONF_MODULE, (st)) +# define sk_CONF_MODULE_push(st, val) SKM_sk_push(CONF_MODULE, (st), (val)) +# define sk_CONF_MODULE_unshift(st, val) SKM_sk_unshift(CONF_MODULE, (st), (val)) +# define sk_CONF_MODULE_find(st, val) SKM_sk_find(CONF_MODULE, (st), (val)) +# define sk_CONF_MODULE_find_ex(st, val) SKM_sk_find_ex(CONF_MODULE, (st), (val)) +# define sk_CONF_MODULE_delete(st, i) SKM_sk_delete(CONF_MODULE, (st), (i)) +# define sk_CONF_MODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_MODULE, (st), (ptr)) +# define sk_CONF_MODULE_insert(st, val, i) SKM_sk_insert(CONF_MODULE, (st), (val), (i)) +# define sk_CONF_MODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_MODULE, (st), (cmp)) +# define sk_CONF_MODULE_dup(st) SKM_sk_dup(CONF_MODULE, st) +# define sk_CONF_MODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_MODULE, (st), (free_func)) +# define sk_CONF_MODULE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_MODULE, (st), (copy_func), (free_func)) +# define sk_CONF_MODULE_shift(st) SKM_sk_shift(CONF_MODULE, (st)) +# define sk_CONF_MODULE_pop(st) SKM_sk_pop(CONF_MODULE, (st)) +# define sk_CONF_MODULE_sort(st) SKM_sk_sort(CONF_MODULE, (st)) +# define sk_CONF_MODULE_is_sorted(st) SKM_sk_is_sorted(CONF_MODULE, (st)) +# define sk_CONF_VALUE_new(cmp) SKM_sk_new(CONF_VALUE, (cmp)) +# define sk_CONF_VALUE_new_null() SKM_sk_new_null(CONF_VALUE) +# define sk_CONF_VALUE_free(st) SKM_sk_free(CONF_VALUE, (st)) +# define sk_CONF_VALUE_num(st) SKM_sk_num(CONF_VALUE, (st)) +# define sk_CONF_VALUE_value(st, i) SKM_sk_value(CONF_VALUE, (st), (i)) +# define sk_CONF_VALUE_set(st, i, val) SKM_sk_set(CONF_VALUE, (st), (i), (val)) +# define sk_CONF_VALUE_zero(st) SKM_sk_zero(CONF_VALUE, (st)) +# define sk_CONF_VALUE_push(st, val) SKM_sk_push(CONF_VALUE, (st), (val)) +# define sk_CONF_VALUE_unshift(st, val) SKM_sk_unshift(CONF_VALUE, (st), (val)) +# define sk_CONF_VALUE_find(st, val) SKM_sk_find(CONF_VALUE, (st), (val)) +# define sk_CONF_VALUE_find_ex(st, val) SKM_sk_find_ex(CONF_VALUE, (st), (val)) +# define sk_CONF_VALUE_delete(st, i) SKM_sk_delete(CONF_VALUE, (st), (i)) +# define sk_CONF_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_VALUE, (st), (ptr)) +# define sk_CONF_VALUE_insert(st, val, i) SKM_sk_insert(CONF_VALUE, (st), (val), (i)) +# define sk_CONF_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_VALUE, (st), (cmp)) +# define sk_CONF_VALUE_dup(st) SKM_sk_dup(CONF_VALUE, st) +# define sk_CONF_VALUE_pop_free(st, free_func) SKM_sk_pop_free(CONF_VALUE, (st), (free_func)) +# define sk_CONF_VALUE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_VALUE, (st), (copy_func), (free_func)) +# define sk_CONF_VALUE_shift(st) SKM_sk_shift(CONF_VALUE, (st)) +# define sk_CONF_VALUE_pop(st) SKM_sk_pop(CONF_VALUE, (st)) +# define sk_CONF_VALUE_sort(st) SKM_sk_sort(CONF_VALUE, (st)) +# define sk_CONF_VALUE_is_sorted(st) SKM_sk_is_sorted(CONF_VALUE, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_new(cmp) SKM_sk_new(CRYPTO_EX_DATA_FUNCS, (cmp)) +# define sk_CRYPTO_EX_DATA_FUNCS_new_null() SKM_sk_new_null(CRYPTO_EX_DATA_FUNCS) +# define sk_CRYPTO_EX_DATA_FUNCS_free(st) SKM_sk_free(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_num(st) SKM_sk_num(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_value(st, i) SKM_sk_value(CRYPTO_EX_DATA_FUNCS, (st), (i)) +# define sk_CRYPTO_EX_DATA_FUNCS_set(st, i, val) SKM_sk_set(CRYPTO_EX_DATA_FUNCS, (st), (i), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_zero(st) SKM_sk_zero(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_push(st, val) SKM_sk_push(CRYPTO_EX_DATA_FUNCS, (st), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_unshift(st, val) SKM_sk_unshift(CRYPTO_EX_DATA_FUNCS, (st), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_find(st, val) SKM_sk_find(CRYPTO_EX_DATA_FUNCS, (st), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_find_ex(st, val) SKM_sk_find_ex(CRYPTO_EX_DATA_FUNCS, (st), (val)) +# define sk_CRYPTO_EX_DATA_FUNCS_delete(st, i) SKM_sk_delete(CRYPTO_EX_DATA_FUNCS, (st), (i)) +# define sk_CRYPTO_EX_DATA_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_EX_DATA_FUNCS, (st), (ptr)) +# define sk_CRYPTO_EX_DATA_FUNCS_insert(st, val, i) SKM_sk_insert(CRYPTO_EX_DATA_FUNCS, (st), (val), (i)) +# define sk_CRYPTO_EX_DATA_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_EX_DATA_FUNCS, (st), (cmp)) +# define sk_CRYPTO_EX_DATA_FUNCS_dup(st) SKM_sk_dup(CRYPTO_EX_DATA_FUNCS, st) +# define sk_CRYPTO_EX_DATA_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_EX_DATA_FUNCS, (st), (free_func)) +# define sk_CRYPTO_EX_DATA_FUNCS_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CRYPTO_EX_DATA_FUNCS, (st), (copy_func), (free_func)) +# define sk_CRYPTO_EX_DATA_FUNCS_shift(st) SKM_sk_shift(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_pop(st) SKM_sk_pop(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_sort(st) SKM_sk_sort(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_EX_DATA_FUNCS_is_sorted(st) SKM_sk_is_sorted(CRYPTO_EX_DATA_FUNCS, (st)) +# define sk_CRYPTO_dynlock_new(cmp) SKM_sk_new(CRYPTO_dynlock, (cmp)) +# define sk_CRYPTO_dynlock_new_null() SKM_sk_new_null(CRYPTO_dynlock) +# define sk_CRYPTO_dynlock_free(st) SKM_sk_free(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_num(st) SKM_sk_num(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_value(st, i) SKM_sk_value(CRYPTO_dynlock, (st), (i)) +# define sk_CRYPTO_dynlock_set(st, i, val) SKM_sk_set(CRYPTO_dynlock, (st), (i), (val)) +# define sk_CRYPTO_dynlock_zero(st) SKM_sk_zero(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_push(st, val) SKM_sk_push(CRYPTO_dynlock, (st), (val)) +# define sk_CRYPTO_dynlock_unshift(st, val) SKM_sk_unshift(CRYPTO_dynlock, (st), (val)) +# define sk_CRYPTO_dynlock_find(st, val) SKM_sk_find(CRYPTO_dynlock, (st), (val)) +# define sk_CRYPTO_dynlock_find_ex(st, val) SKM_sk_find_ex(CRYPTO_dynlock, (st), (val)) +# define sk_CRYPTO_dynlock_delete(st, i) SKM_sk_delete(CRYPTO_dynlock, (st), (i)) +# define sk_CRYPTO_dynlock_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_dynlock, (st), (ptr)) +# define sk_CRYPTO_dynlock_insert(st, val, i) SKM_sk_insert(CRYPTO_dynlock, (st), (val), (i)) +# define sk_CRYPTO_dynlock_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_dynlock, (st), (cmp)) +# define sk_CRYPTO_dynlock_dup(st) SKM_sk_dup(CRYPTO_dynlock, st) +# define sk_CRYPTO_dynlock_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_dynlock, (st), (free_func)) +# define sk_CRYPTO_dynlock_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CRYPTO_dynlock, (st), (copy_func), (free_func)) +# define sk_CRYPTO_dynlock_shift(st) SKM_sk_shift(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_pop(st) SKM_sk_pop(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_sort(st) SKM_sk_sort(CRYPTO_dynlock, (st)) +# define sk_CRYPTO_dynlock_is_sorted(st) SKM_sk_is_sorted(CRYPTO_dynlock, (st)) +# define sk_DIST_POINT_new(cmp) SKM_sk_new(DIST_POINT, (cmp)) +# define sk_DIST_POINT_new_null() SKM_sk_new_null(DIST_POINT) +# define sk_DIST_POINT_free(st) SKM_sk_free(DIST_POINT, (st)) +# define sk_DIST_POINT_num(st) SKM_sk_num(DIST_POINT, (st)) +# define sk_DIST_POINT_value(st, i) SKM_sk_value(DIST_POINT, (st), (i)) +# define sk_DIST_POINT_set(st, i, val) SKM_sk_set(DIST_POINT, (st), (i), (val)) +# define sk_DIST_POINT_zero(st) SKM_sk_zero(DIST_POINT, (st)) +# define sk_DIST_POINT_push(st, val) SKM_sk_push(DIST_POINT, (st), (val)) +# define sk_DIST_POINT_unshift(st, val) SKM_sk_unshift(DIST_POINT, (st), (val)) +# define sk_DIST_POINT_find(st, val) SKM_sk_find(DIST_POINT, (st), (val)) +# define sk_DIST_POINT_find_ex(st, val) SKM_sk_find_ex(DIST_POINT, (st), (val)) +# define sk_DIST_POINT_delete(st, i) SKM_sk_delete(DIST_POINT, (st), (i)) +# define sk_DIST_POINT_delete_ptr(st, ptr) SKM_sk_delete_ptr(DIST_POINT, (st), (ptr)) +# define sk_DIST_POINT_insert(st, val, i) SKM_sk_insert(DIST_POINT, (st), (val), (i)) +# define sk_DIST_POINT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(DIST_POINT, (st), (cmp)) +# define sk_DIST_POINT_dup(st) SKM_sk_dup(DIST_POINT, st) +# define sk_DIST_POINT_pop_free(st, free_func) SKM_sk_pop_free(DIST_POINT, (st), (free_func)) +# define sk_DIST_POINT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(DIST_POINT, (st), (copy_func), (free_func)) +# define sk_DIST_POINT_shift(st) SKM_sk_shift(DIST_POINT, (st)) +# define sk_DIST_POINT_pop(st) SKM_sk_pop(DIST_POINT, (st)) +# define sk_DIST_POINT_sort(st) SKM_sk_sort(DIST_POINT, (st)) +# define sk_DIST_POINT_is_sorted(st) SKM_sk_is_sorted(DIST_POINT, (st)) +# define sk_ENGINE_new(cmp) SKM_sk_new(ENGINE, (cmp)) +# define sk_ENGINE_new_null() SKM_sk_new_null(ENGINE) +# define sk_ENGINE_free(st) SKM_sk_free(ENGINE, (st)) +# define sk_ENGINE_num(st) SKM_sk_num(ENGINE, (st)) +# define sk_ENGINE_value(st, i) SKM_sk_value(ENGINE, (st), (i)) +# define sk_ENGINE_set(st, i, val) SKM_sk_set(ENGINE, (st), (i), (val)) +# define sk_ENGINE_zero(st) SKM_sk_zero(ENGINE, (st)) +# define sk_ENGINE_push(st, val) SKM_sk_push(ENGINE, (st), (val)) +# define sk_ENGINE_unshift(st, val) SKM_sk_unshift(ENGINE, (st), (val)) +# define sk_ENGINE_find(st, val) SKM_sk_find(ENGINE, (st), (val)) +# define sk_ENGINE_find_ex(st, val) SKM_sk_find_ex(ENGINE, (st), (val)) +# define sk_ENGINE_delete(st, i) SKM_sk_delete(ENGINE, (st), (i)) +# define sk_ENGINE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE, (st), (ptr)) +# define sk_ENGINE_insert(st, val, i) SKM_sk_insert(ENGINE, (st), (val), (i)) +# define sk_ENGINE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE, (st), (cmp)) +# define sk_ENGINE_dup(st) SKM_sk_dup(ENGINE, st) +# define sk_ENGINE_pop_free(st, free_func) SKM_sk_pop_free(ENGINE, (st), (free_func)) +# define sk_ENGINE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ENGINE, (st), (copy_func), (free_func)) +# define sk_ENGINE_shift(st) SKM_sk_shift(ENGINE, (st)) +# define sk_ENGINE_pop(st) SKM_sk_pop(ENGINE, (st)) +# define sk_ENGINE_sort(st) SKM_sk_sort(ENGINE, (st)) +# define sk_ENGINE_is_sorted(st) SKM_sk_is_sorted(ENGINE, (st)) +# define sk_ENGINE_CLEANUP_ITEM_new(cmp) SKM_sk_new(ENGINE_CLEANUP_ITEM, (cmp)) +# define sk_ENGINE_CLEANUP_ITEM_new_null() SKM_sk_new_null(ENGINE_CLEANUP_ITEM) +# define sk_ENGINE_CLEANUP_ITEM_free(st) SKM_sk_free(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_num(st) SKM_sk_num(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_value(st, i) SKM_sk_value(ENGINE_CLEANUP_ITEM, (st), (i)) +# define sk_ENGINE_CLEANUP_ITEM_set(st, i, val) SKM_sk_set(ENGINE_CLEANUP_ITEM, (st), (i), (val)) +# define sk_ENGINE_CLEANUP_ITEM_zero(st) SKM_sk_zero(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_push(st, val) SKM_sk_push(ENGINE_CLEANUP_ITEM, (st), (val)) +# define sk_ENGINE_CLEANUP_ITEM_unshift(st, val) SKM_sk_unshift(ENGINE_CLEANUP_ITEM, (st), (val)) +# define sk_ENGINE_CLEANUP_ITEM_find(st, val) SKM_sk_find(ENGINE_CLEANUP_ITEM, (st), (val)) +# define sk_ENGINE_CLEANUP_ITEM_find_ex(st, val) SKM_sk_find_ex(ENGINE_CLEANUP_ITEM, (st), (val)) +# define sk_ENGINE_CLEANUP_ITEM_delete(st, i) SKM_sk_delete(ENGINE_CLEANUP_ITEM, (st), (i)) +# define sk_ENGINE_CLEANUP_ITEM_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE_CLEANUP_ITEM, (st), (ptr)) +# define sk_ENGINE_CLEANUP_ITEM_insert(st, val, i) SKM_sk_insert(ENGINE_CLEANUP_ITEM, (st), (val), (i)) +# define sk_ENGINE_CLEANUP_ITEM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE_CLEANUP_ITEM, (st), (cmp)) +# define sk_ENGINE_CLEANUP_ITEM_dup(st) SKM_sk_dup(ENGINE_CLEANUP_ITEM, st) +# define sk_ENGINE_CLEANUP_ITEM_pop_free(st, free_func) SKM_sk_pop_free(ENGINE_CLEANUP_ITEM, (st), (free_func)) +# define sk_ENGINE_CLEANUP_ITEM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ENGINE_CLEANUP_ITEM, (st), (copy_func), (free_func)) +# define sk_ENGINE_CLEANUP_ITEM_shift(st) SKM_sk_shift(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_pop(st) SKM_sk_pop(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_sort(st) SKM_sk_sort(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ENGINE_CLEANUP_ITEM_is_sorted(st) SKM_sk_is_sorted(ENGINE_CLEANUP_ITEM, (st)) +# define sk_ESS_CERT_ID_new(cmp) SKM_sk_new(ESS_CERT_ID, (cmp)) +# define sk_ESS_CERT_ID_new_null() SKM_sk_new_null(ESS_CERT_ID) +# define sk_ESS_CERT_ID_free(st) SKM_sk_free(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_num(st) SKM_sk_num(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_value(st, i) SKM_sk_value(ESS_CERT_ID, (st), (i)) +# define sk_ESS_CERT_ID_set(st, i, val) SKM_sk_set(ESS_CERT_ID, (st), (i), (val)) +# define sk_ESS_CERT_ID_zero(st) SKM_sk_zero(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_push(st, val) SKM_sk_push(ESS_CERT_ID, (st), (val)) +# define sk_ESS_CERT_ID_unshift(st, val) SKM_sk_unshift(ESS_CERT_ID, (st), (val)) +# define sk_ESS_CERT_ID_find(st, val) SKM_sk_find(ESS_CERT_ID, (st), (val)) +# define sk_ESS_CERT_ID_find_ex(st, val) SKM_sk_find_ex(ESS_CERT_ID, (st), (val)) +# define sk_ESS_CERT_ID_delete(st, i) SKM_sk_delete(ESS_CERT_ID, (st), (i)) +# define sk_ESS_CERT_ID_delete_ptr(st, ptr) SKM_sk_delete_ptr(ESS_CERT_ID, (st), (ptr)) +# define sk_ESS_CERT_ID_insert(st, val, i) SKM_sk_insert(ESS_CERT_ID, (st), (val), (i)) +# define sk_ESS_CERT_ID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ESS_CERT_ID, (st), (cmp)) +# define sk_ESS_CERT_ID_dup(st) SKM_sk_dup(ESS_CERT_ID, st) +# define sk_ESS_CERT_ID_pop_free(st, free_func) SKM_sk_pop_free(ESS_CERT_ID, (st), (free_func)) +# define sk_ESS_CERT_ID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ESS_CERT_ID, (st), (copy_func), (free_func)) +# define sk_ESS_CERT_ID_shift(st) SKM_sk_shift(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_pop(st) SKM_sk_pop(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_sort(st) SKM_sk_sort(ESS_CERT_ID, (st)) +# define sk_ESS_CERT_ID_is_sorted(st) SKM_sk_is_sorted(ESS_CERT_ID, (st)) +# define sk_EVP_MD_new(cmp) SKM_sk_new(EVP_MD, (cmp)) +# define sk_EVP_MD_new_null() SKM_sk_new_null(EVP_MD) +# define sk_EVP_MD_free(st) SKM_sk_free(EVP_MD, (st)) +# define sk_EVP_MD_num(st) SKM_sk_num(EVP_MD, (st)) +# define sk_EVP_MD_value(st, i) SKM_sk_value(EVP_MD, (st), (i)) +# define sk_EVP_MD_set(st, i, val) SKM_sk_set(EVP_MD, (st), (i), (val)) +# define sk_EVP_MD_zero(st) SKM_sk_zero(EVP_MD, (st)) +# define sk_EVP_MD_push(st, val) SKM_sk_push(EVP_MD, (st), (val)) +# define sk_EVP_MD_unshift(st, val) SKM_sk_unshift(EVP_MD, (st), (val)) +# define sk_EVP_MD_find(st, val) SKM_sk_find(EVP_MD, (st), (val)) +# define sk_EVP_MD_find_ex(st, val) SKM_sk_find_ex(EVP_MD, (st), (val)) +# define sk_EVP_MD_delete(st, i) SKM_sk_delete(EVP_MD, (st), (i)) +# define sk_EVP_MD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_MD, (st), (ptr)) +# define sk_EVP_MD_insert(st, val, i) SKM_sk_insert(EVP_MD, (st), (val), (i)) +# define sk_EVP_MD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_MD, (st), (cmp)) +# define sk_EVP_MD_dup(st) SKM_sk_dup(EVP_MD, st) +# define sk_EVP_MD_pop_free(st, free_func) SKM_sk_pop_free(EVP_MD, (st), (free_func)) +# define sk_EVP_MD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_MD, (st), (copy_func), (free_func)) +# define sk_EVP_MD_shift(st) SKM_sk_shift(EVP_MD, (st)) +# define sk_EVP_MD_pop(st) SKM_sk_pop(EVP_MD, (st)) +# define sk_EVP_MD_sort(st) SKM_sk_sort(EVP_MD, (st)) +# define sk_EVP_MD_is_sorted(st) SKM_sk_is_sorted(EVP_MD, (st)) +# define sk_EVP_PBE_CTL_new(cmp) SKM_sk_new(EVP_PBE_CTL, (cmp)) +# define sk_EVP_PBE_CTL_new_null() SKM_sk_new_null(EVP_PBE_CTL) +# define sk_EVP_PBE_CTL_free(st) SKM_sk_free(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_num(st) SKM_sk_num(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_value(st, i) SKM_sk_value(EVP_PBE_CTL, (st), (i)) +# define sk_EVP_PBE_CTL_set(st, i, val) SKM_sk_set(EVP_PBE_CTL, (st), (i), (val)) +# define sk_EVP_PBE_CTL_zero(st) SKM_sk_zero(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_push(st, val) SKM_sk_push(EVP_PBE_CTL, (st), (val)) +# define sk_EVP_PBE_CTL_unshift(st, val) SKM_sk_unshift(EVP_PBE_CTL, (st), (val)) +# define sk_EVP_PBE_CTL_find(st, val) SKM_sk_find(EVP_PBE_CTL, (st), (val)) +# define sk_EVP_PBE_CTL_find_ex(st, val) SKM_sk_find_ex(EVP_PBE_CTL, (st), (val)) +# define sk_EVP_PBE_CTL_delete(st, i) SKM_sk_delete(EVP_PBE_CTL, (st), (i)) +# define sk_EVP_PBE_CTL_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PBE_CTL, (st), (ptr)) +# define sk_EVP_PBE_CTL_insert(st, val, i) SKM_sk_insert(EVP_PBE_CTL, (st), (val), (i)) +# define sk_EVP_PBE_CTL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PBE_CTL, (st), (cmp)) +# define sk_EVP_PBE_CTL_dup(st) SKM_sk_dup(EVP_PBE_CTL, st) +# define sk_EVP_PBE_CTL_pop_free(st, free_func) SKM_sk_pop_free(EVP_PBE_CTL, (st), (free_func)) +# define sk_EVP_PBE_CTL_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PBE_CTL, (st), (copy_func), (free_func)) +# define sk_EVP_PBE_CTL_shift(st) SKM_sk_shift(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_pop(st) SKM_sk_pop(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_sort(st) SKM_sk_sort(EVP_PBE_CTL, (st)) +# define sk_EVP_PBE_CTL_is_sorted(st) SKM_sk_is_sorted(EVP_PBE_CTL, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_ASN1_METHOD, (cmp)) +# define sk_EVP_PKEY_ASN1_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_ASN1_METHOD) +# define sk_EVP_PKEY_ASN1_METHOD_free(st) SKM_sk_free(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_num(st) SKM_sk_num(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_ASN1_METHOD, (st), (i)) +# define sk_EVP_PKEY_ASN1_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_ASN1_METHOD, (st), (i), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_ASN1_METHOD, (st), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_ASN1_METHOD, (st), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_ASN1_METHOD, (st), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_find_ex(st, val) SKM_sk_find_ex(EVP_PKEY_ASN1_METHOD, (st), (val)) +# define sk_EVP_PKEY_ASN1_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_ASN1_METHOD, (st), (i)) +# define sk_EVP_PKEY_ASN1_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_ASN1_METHOD, (st), (ptr)) +# define sk_EVP_PKEY_ASN1_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_ASN1_METHOD, (st), (val), (i)) +# define sk_EVP_PKEY_ASN1_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_ASN1_METHOD, (st), (cmp)) +# define sk_EVP_PKEY_ASN1_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_ASN1_METHOD, st) +# define sk_EVP_PKEY_ASN1_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_ASN1_METHOD, (st), (free_func)) +# define sk_EVP_PKEY_ASN1_METHOD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PKEY_ASN1_METHOD, (st), (copy_func), (free_func)) +# define sk_EVP_PKEY_ASN1_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_ASN1_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_ASN1_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_METHOD, (cmp)) +# define sk_EVP_PKEY_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_METHOD) +# define sk_EVP_PKEY_METHOD_free(st) SKM_sk_free(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_num(st) SKM_sk_num(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_METHOD, (st), (i)) +# define sk_EVP_PKEY_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_METHOD, (st), (i), (val)) +# define sk_EVP_PKEY_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_METHOD, (st), (val)) +# define sk_EVP_PKEY_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_METHOD, (st), (val)) +# define sk_EVP_PKEY_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_METHOD, (st), (val)) +# define sk_EVP_PKEY_METHOD_find_ex(st, val) SKM_sk_find_ex(EVP_PKEY_METHOD, (st), (val)) +# define sk_EVP_PKEY_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_METHOD, (st), (i)) +# define sk_EVP_PKEY_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_METHOD, (st), (ptr)) +# define sk_EVP_PKEY_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_METHOD, (st), (val), (i)) +# define sk_EVP_PKEY_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_METHOD, (st), (cmp)) +# define sk_EVP_PKEY_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_METHOD, st) +# define sk_EVP_PKEY_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_METHOD, (st), (free_func)) +# define sk_EVP_PKEY_METHOD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PKEY_METHOD, (st), (copy_func), (free_func)) +# define sk_EVP_PKEY_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_METHOD, (st)) +# define sk_EVP_PKEY_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_METHOD, (st)) +# define sk_GENERAL_NAME_new(cmp) SKM_sk_new(GENERAL_NAME, (cmp)) +# define sk_GENERAL_NAME_new_null() SKM_sk_new_null(GENERAL_NAME) +# define sk_GENERAL_NAME_free(st) SKM_sk_free(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_num(st) SKM_sk_num(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_value(st, i) SKM_sk_value(GENERAL_NAME, (st), (i)) +# define sk_GENERAL_NAME_set(st, i, val) SKM_sk_set(GENERAL_NAME, (st), (i), (val)) +# define sk_GENERAL_NAME_zero(st) SKM_sk_zero(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_push(st, val) SKM_sk_push(GENERAL_NAME, (st), (val)) +# define sk_GENERAL_NAME_unshift(st, val) SKM_sk_unshift(GENERAL_NAME, (st), (val)) +# define sk_GENERAL_NAME_find(st, val) SKM_sk_find(GENERAL_NAME, (st), (val)) +# define sk_GENERAL_NAME_find_ex(st, val) SKM_sk_find_ex(GENERAL_NAME, (st), (val)) +# define sk_GENERAL_NAME_delete(st, i) SKM_sk_delete(GENERAL_NAME, (st), (i)) +# define sk_GENERAL_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAME, (st), (ptr)) +# define sk_GENERAL_NAME_insert(st, val, i) SKM_sk_insert(GENERAL_NAME, (st), (val), (i)) +# define sk_GENERAL_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAME, (st), (cmp)) +# define sk_GENERAL_NAME_dup(st) SKM_sk_dup(GENERAL_NAME, st) +# define sk_GENERAL_NAME_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAME, (st), (free_func)) +# define sk_GENERAL_NAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_NAME, (st), (copy_func), (free_func)) +# define sk_GENERAL_NAME_shift(st) SKM_sk_shift(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_pop(st) SKM_sk_pop(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_sort(st) SKM_sk_sort(GENERAL_NAME, (st)) +# define sk_GENERAL_NAME_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAME, (st)) +# define sk_GENERAL_NAMES_new(cmp) SKM_sk_new(GENERAL_NAMES, (cmp)) +# define sk_GENERAL_NAMES_new_null() SKM_sk_new_null(GENERAL_NAMES) +# define sk_GENERAL_NAMES_free(st) SKM_sk_free(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_num(st) SKM_sk_num(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_value(st, i) SKM_sk_value(GENERAL_NAMES, (st), (i)) +# define sk_GENERAL_NAMES_set(st, i, val) SKM_sk_set(GENERAL_NAMES, (st), (i), (val)) +# define sk_GENERAL_NAMES_zero(st) SKM_sk_zero(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_push(st, val) SKM_sk_push(GENERAL_NAMES, (st), (val)) +# define sk_GENERAL_NAMES_unshift(st, val) SKM_sk_unshift(GENERAL_NAMES, (st), (val)) +# define sk_GENERAL_NAMES_find(st, val) SKM_sk_find(GENERAL_NAMES, (st), (val)) +# define sk_GENERAL_NAMES_find_ex(st, val) SKM_sk_find_ex(GENERAL_NAMES, (st), (val)) +# define sk_GENERAL_NAMES_delete(st, i) SKM_sk_delete(GENERAL_NAMES, (st), (i)) +# define sk_GENERAL_NAMES_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAMES, (st), (ptr)) +# define sk_GENERAL_NAMES_insert(st, val, i) SKM_sk_insert(GENERAL_NAMES, (st), (val), (i)) +# define sk_GENERAL_NAMES_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAMES, (st), (cmp)) +# define sk_GENERAL_NAMES_dup(st) SKM_sk_dup(GENERAL_NAMES, st) +# define sk_GENERAL_NAMES_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAMES, (st), (free_func)) +# define sk_GENERAL_NAMES_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_NAMES, (st), (copy_func), (free_func)) +# define sk_GENERAL_NAMES_shift(st) SKM_sk_shift(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_pop(st) SKM_sk_pop(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_sort(st) SKM_sk_sort(GENERAL_NAMES, (st)) +# define sk_GENERAL_NAMES_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAMES, (st)) +# define sk_GENERAL_SUBTREE_new(cmp) SKM_sk_new(GENERAL_SUBTREE, (cmp)) +# define sk_GENERAL_SUBTREE_new_null() SKM_sk_new_null(GENERAL_SUBTREE) +# define sk_GENERAL_SUBTREE_free(st) SKM_sk_free(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_num(st) SKM_sk_num(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_value(st, i) SKM_sk_value(GENERAL_SUBTREE, (st), (i)) +# define sk_GENERAL_SUBTREE_set(st, i, val) SKM_sk_set(GENERAL_SUBTREE, (st), (i), (val)) +# define sk_GENERAL_SUBTREE_zero(st) SKM_sk_zero(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_push(st, val) SKM_sk_push(GENERAL_SUBTREE, (st), (val)) +# define sk_GENERAL_SUBTREE_unshift(st, val) SKM_sk_unshift(GENERAL_SUBTREE, (st), (val)) +# define sk_GENERAL_SUBTREE_find(st, val) SKM_sk_find(GENERAL_SUBTREE, (st), (val)) +# define sk_GENERAL_SUBTREE_find_ex(st, val) SKM_sk_find_ex(GENERAL_SUBTREE, (st), (val)) +# define sk_GENERAL_SUBTREE_delete(st, i) SKM_sk_delete(GENERAL_SUBTREE, (st), (i)) +# define sk_GENERAL_SUBTREE_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_SUBTREE, (st), (ptr)) +# define sk_GENERAL_SUBTREE_insert(st, val, i) SKM_sk_insert(GENERAL_SUBTREE, (st), (val), (i)) +# define sk_GENERAL_SUBTREE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_SUBTREE, (st), (cmp)) +# define sk_GENERAL_SUBTREE_dup(st) SKM_sk_dup(GENERAL_SUBTREE, st) +# define sk_GENERAL_SUBTREE_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_SUBTREE, (st), (free_func)) +# define sk_GENERAL_SUBTREE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_SUBTREE, (st), (copy_func), (free_func)) +# define sk_GENERAL_SUBTREE_shift(st) SKM_sk_shift(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_pop(st) SKM_sk_pop(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_sort(st) SKM_sk_sort(GENERAL_SUBTREE, (st)) +# define sk_GENERAL_SUBTREE_is_sorted(st) SKM_sk_is_sorted(GENERAL_SUBTREE, (st)) +# define sk_IPAddressFamily_new(cmp) SKM_sk_new(IPAddressFamily, (cmp)) +# define sk_IPAddressFamily_new_null() SKM_sk_new_null(IPAddressFamily) +# define sk_IPAddressFamily_free(st) SKM_sk_free(IPAddressFamily, (st)) +# define sk_IPAddressFamily_num(st) SKM_sk_num(IPAddressFamily, (st)) +# define sk_IPAddressFamily_value(st, i) SKM_sk_value(IPAddressFamily, (st), (i)) +# define sk_IPAddressFamily_set(st, i, val) SKM_sk_set(IPAddressFamily, (st), (i), (val)) +# define sk_IPAddressFamily_zero(st) SKM_sk_zero(IPAddressFamily, (st)) +# define sk_IPAddressFamily_push(st, val) SKM_sk_push(IPAddressFamily, (st), (val)) +# define sk_IPAddressFamily_unshift(st, val) SKM_sk_unshift(IPAddressFamily, (st), (val)) +# define sk_IPAddressFamily_find(st, val) SKM_sk_find(IPAddressFamily, (st), (val)) +# define sk_IPAddressFamily_find_ex(st, val) SKM_sk_find_ex(IPAddressFamily, (st), (val)) +# define sk_IPAddressFamily_delete(st, i) SKM_sk_delete(IPAddressFamily, (st), (i)) +# define sk_IPAddressFamily_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressFamily, (st), (ptr)) +# define sk_IPAddressFamily_insert(st, val, i) SKM_sk_insert(IPAddressFamily, (st), (val), (i)) +# define sk_IPAddressFamily_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressFamily, (st), (cmp)) +# define sk_IPAddressFamily_dup(st) SKM_sk_dup(IPAddressFamily, st) +# define sk_IPAddressFamily_pop_free(st, free_func) SKM_sk_pop_free(IPAddressFamily, (st), (free_func)) +# define sk_IPAddressFamily_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(IPAddressFamily, (st), (copy_func), (free_func)) +# define sk_IPAddressFamily_shift(st) SKM_sk_shift(IPAddressFamily, (st)) +# define sk_IPAddressFamily_pop(st) SKM_sk_pop(IPAddressFamily, (st)) +# define sk_IPAddressFamily_sort(st) SKM_sk_sort(IPAddressFamily, (st)) +# define sk_IPAddressFamily_is_sorted(st) SKM_sk_is_sorted(IPAddressFamily, (st)) +# define sk_IPAddressOrRange_new(cmp) SKM_sk_new(IPAddressOrRange, (cmp)) +# define sk_IPAddressOrRange_new_null() SKM_sk_new_null(IPAddressOrRange) +# define sk_IPAddressOrRange_free(st) SKM_sk_free(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_num(st) SKM_sk_num(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_value(st, i) SKM_sk_value(IPAddressOrRange, (st), (i)) +# define sk_IPAddressOrRange_set(st, i, val) SKM_sk_set(IPAddressOrRange, (st), (i), (val)) +# define sk_IPAddressOrRange_zero(st) SKM_sk_zero(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_push(st, val) SKM_sk_push(IPAddressOrRange, (st), (val)) +# define sk_IPAddressOrRange_unshift(st, val) SKM_sk_unshift(IPAddressOrRange, (st), (val)) +# define sk_IPAddressOrRange_find(st, val) SKM_sk_find(IPAddressOrRange, (st), (val)) +# define sk_IPAddressOrRange_find_ex(st, val) SKM_sk_find_ex(IPAddressOrRange, (st), (val)) +# define sk_IPAddressOrRange_delete(st, i) SKM_sk_delete(IPAddressOrRange, (st), (i)) +# define sk_IPAddressOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressOrRange, (st), (ptr)) +# define sk_IPAddressOrRange_insert(st, val, i) SKM_sk_insert(IPAddressOrRange, (st), (val), (i)) +# define sk_IPAddressOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressOrRange, (st), (cmp)) +# define sk_IPAddressOrRange_dup(st) SKM_sk_dup(IPAddressOrRange, st) +# define sk_IPAddressOrRange_pop_free(st, free_func) SKM_sk_pop_free(IPAddressOrRange, (st), (free_func)) +# define sk_IPAddressOrRange_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(IPAddressOrRange, (st), (copy_func), (free_func)) +# define sk_IPAddressOrRange_shift(st) SKM_sk_shift(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_pop(st) SKM_sk_pop(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_sort(st) SKM_sk_sort(IPAddressOrRange, (st)) +# define sk_IPAddressOrRange_is_sorted(st) SKM_sk_is_sorted(IPAddressOrRange, (st)) +# define sk_KRB5_APREQBODY_new(cmp) SKM_sk_new(KRB5_APREQBODY, (cmp)) +# define sk_KRB5_APREQBODY_new_null() SKM_sk_new_null(KRB5_APREQBODY) +# define sk_KRB5_APREQBODY_free(st) SKM_sk_free(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_num(st) SKM_sk_num(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_value(st, i) SKM_sk_value(KRB5_APREQBODY, (st), (i)) +# define sk_KRB5_APREQBODY_set(st, i, val) SKM_sk_set(KRB5_APREQBODY, (st), (i), (val)) +# define sk_KRB5_APREQBODY_zero(st) SKM_sk_zero(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_push(st, val) SKM_sk_push(KRB5_APREQBODY, (st), (val)) +# define sk_KRB5_APREQBODY_unshift(st, val) SKM_sk_unshift(KRB5_APREQBODY, (st), (val)) +# define sk_KRB5_APREQBODY_find(st, val) SKM_sk_find(KRB5_APREQBODY, (st), (val)) +# define sk_KRB5_APREQBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_APREQBODY, (st), (val)) +# define sk_KRB5_APREQBODY_delete(st, i) SKM_sk_delete(KRB5_APREQBODY, (st), (i)) +# define sk_KRB5_APREQBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_APREQBODY, (st), (ptr)) +# define sk_KRB5_APREQBODY_insert(st, val, i) SKM_sk_insert(KRB5_APREQBODY, (st), (val), (i)) +# define sk_KRB5_APREQBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_APREQBODY, (st), (cmp)) +# define sk_KRB5_APREQBODY_dup(st) SKM_sk_dup(KRB5_APREQBODY, st) +# define sk_KRB5_APREQBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_APREQBODY, (st), (free_func)) +# define sk_KRB5_APREQBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_APREQBODY, (st), (copy_func), (free_func)) +# define sk_KRB5_APREQBODY_shift(st) SKM_sk_shift(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_pop(st) SKM_sk_pop(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_sort(st) SKM_sk_sort(KRB5_APREQBODY, (st)) +# define sk_KRB5_APREQBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_APREQBODY, (st)) +# define sk_KRB5_AUTHDATA_new(cmp) SKM_sk_new(KRB5_AUTHDATA, (cmp)) +# define sk_KRB5_AUTHDATA_new_null() SKM_sk_new_null(KRB5_AUTHDATA) +# define sk_KRB5_AUTHDATA_free(st) SKM_sk_free(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_num(st) SKM_sk_num(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_value(st, i) SKM_sk_value(KRB5_AUTHDATA, (st), (i)) +# define sk_KRB5_AUTHDATA_set(st, i, val) SKM_sk_set(KRB5_AUTHDATA, (st), (i), (val)) +# define sk_KRB5_AUTHDATA_zero(st) SKM_sk_zero(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_push(st, val) SKM_sk_push(KRB5_AUTHDATA, (st), (val)) +# define sk_KRB5_AUTHDATA_unshift(st, val) SKM_sk_unshift(KRB5_AUTHDATA, (st), (val)) +# define sk_KRB5_AUTHDATA_find(st, val) SKM_sk_find(KRB5_AUTHDATA, (st), (val)) +# define sk_KRB5_AUTHDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHDATA, (st), (val)) +# define sk_KRB5_AUTHDATA_delete(st, i) SKM_sk_delete(KRB5_AUTHDATA, (st), (i)) +# define sk_KRB5_AUTHDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHDATA, (st), (ptr)) +# define sk_KRB5_AUTHDATA_insert(st, val, i) SKM_sk_insert(KRB5_AUTHDATA, (st), (val), (i)) +# define sk_KRB5_AUTHDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHDATA, (st), (cmp)) +# define sk_KRB5_AUTHDATA_dup(st) SKM_sk_dup(KRB5_AUTHDATA, st) +# define sk_KRB5_AUTHDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHDATA, (st), (free_func)) +# define sk_KRB5_AUTHDATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_AUTHDATA, (st), (copy_func), (free_func)) +# define sk_KRB5_AUTHDATA_shift(st) SKM_sk_shift(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_pop(st) SKM_sk_pop(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_sort(st) SKM_sk_sort(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHDATA, (st)) +# define sk_KRB5_AUTHENTBODY_new(cmp) SKM_sk_new(KRB5_AUTHENTBODY, (cmp)) +# define sk_KRB5_AUTHENTBODY_new_null() SKM_sk_new_null(KRB5_AUTHENTBODY) +# define sk_KRB5_AUTHENTBODY_free(st) SKM_sk_free(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_num(st) SKM_sk_num(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_value(st, i) SKM_sk_value(KRB5_AUTHENTBODY, (st), (i)) +# define sk_KRB5_AUTHENTBODY_set(st, i, val) SKM_sk_set(KRB5_AUTHENTBODY, (st), (i), (val)) +# define sk_KRB5_AUTHENTBODY_zero(st) SKM_sk_zero(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_push(st, val) SKM_sk_push(KRB5_AUTHENTBODY, (st), (val)) +# define sk_KRB5_AUTHENTBODY_unshift(st, val) SKM_sk_unshift(KRB5_AUTHENTBODY, (st), (val)) +# define sk_KRB5_AUTHENTBODY_find(st, val) SKM_sk_find(KRB5_AUTHENTBODY, (st), (val)) +# define sk_KRB5_AUTHENTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHENTBODY, (st), (val)) +# define sk_KRB5_AUTHENTBODY_delete(st, i) SKM_sk_delete(KRB5_AUTHENTBODY, (st), (i)) +# define sk_KRB5_AUTHENTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHENTBODY, (st), (ptr)) +# define sk_KRB5_AUTHENTBODY_insert(st, val, i) SKM_sk_insert(KRB5_AUTHENTBODY, (st), (val), (i)) +# define sk_KRB5_AUTHENTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHENTBODY, (st), (cmp)) +# define sk_KRB5_AUTHENTBODY_dup(st) SKM_sk_dup(KRB5_AUTHENTBODY, st) +# define sk_KRB5_AUTHENTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHENTBODY, (st), (free_func)) +# define sk_KRB5_AUTHENTBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_AUTHENTBODY, (st), (copy_func), (free_func)) +# define sk_KRB5_AUTHENTBODY_shift(st) SKM_sk_shift(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_pop(st) SKM_sk_pop(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_sort(st) SKM_sk_sort(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_AUTHENTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHENTBODY, (st)) +# define sk_KRB5_CHECKSUM_new(cmp) SKM_sk_new(KRB5_CHECKSUM, (cmp)) +# define sk_KRB5_CHECKSUM_new_null() SKM_sk_new_null(KRB5_CHECKSUM) +# define sk_KRB5_CHECKSUM_free(st) SKM_sk_free(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_num(st) SKM_sk_num(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_value(st, i) SKM_sk_value(KRB5_CHECKSUM, (st), (i)) +# define sk_KRB5_CHECKSUM_set(st, i, val) SKM_sk_set(KRB5_CHECKSUM, (st), (i), (val)) +# define sk_KRB5_CHECKSUM_zero(st) SKM_sk_zero(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_push(st, val) SKM_sk_push(KRB5_CHECKSUM, (st), (val)) +# define sk_KRB5_CHECKSUM_unshift(st, val) SKM_sk_unshift(KRB5_CHECKSUM, (st), (val)) +# define sk_KRB5_CHECKSUM_find(st, val) SKM_sk_find(KRB5_CHECKSUM, (st), (val)) +# define sk_KRB5_CHECKSUM_find_ex(st, val) SKM_sk_find_ex(KRB5_CHECKSUM, (st), (val)) +# define sk_KRB5_CHECKSUM_delete(st, i) SKM_sk_delete(KRB5_CHECKSUM, (st), (i)) +# define sk_KRB5_CHECKSUM_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_CHECKSUM, (st), (ptr)) +# define sk_KRB5_CHECKSUM_insert(st, val, i) SKM_sk_insert(KRB5_CHECKSUM, (st), (val), (i)) +# define sk_KRB5_CHECKSUM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_CHECKSUM, (st), (cmp)) +# define sk_KRB5_CHECKSUM_dup(st) SKM_sk_dup(KRB5_CHECKSUM, st) +# define sk_KRB5_CHECKSUM_pop_free(st, free_func) SKM_sk_pop_free(KRB5_CHECKSUM, (st), (free_func)) +# define sk_KRB5_CHECKSUM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_CHECKSUM, (st), (copy_func), (free_func)) +# define sk_KRB5_CHECKSUM_shift(st) SKM_sk_shift(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_pop(st) SKM_sk_pop(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_sort(st) SKM_sk_sort(KRB5_CHECKSUM, (st)) +# define sk_KRB5_CHECKSUM_is_sorted(st) SKM_sk_is_sorted(KRB5_CHECKSUM, (st)) +# define sk_KRB5_ENCDATA_new(cmp) SKM_sk_new(KRB5_ENCDATA, (cmp)) +# define sk_KRB5_ENCDATA_new_null() SKM_sk_new_null(KRB5_ENCDATA) +# define sk_KRB5_ENCDATA_free(st) SKM_sk_free(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_num(st) SKM_sk_num(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_value(st, i) SKM_sk_value(KRB5_ENCDATA, (st), (i)) +# define sk_KRB5_ENCDATA_set(st, i, val) SKM_sk_set(KRB5_ENCDATA, (st), (i), (val)) +# define sk_KRB5_ENCDATA_zero(st) SKM_sk_zero(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_push(st, val) SKM_sk_push(KRB5_ENCDATA, (st), (val)) +# define sk_KRB5_ENCDATA_unshift(st, val) SKM_sk_unshift(KRB5_ENCDATA, (st), (val)) +# define sk_KRB5_ENCDATA_find(st, val) SKM_sk_find(KRB5_ENCDATA, (st), (val)) +# define sk_KRB5_ENCDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCDATA, (st), (val)) +# define sk_KRB5_ENCDATA_delete(st, i) SKM_sk_delete(KRB5_ENCDATA, (st), (i)) +# define sk_KRB5_ENCDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCDATA, (st), (ptr)) +# define sk_KRB5_ENCDATA_insert(st, val, i) SKM_sk_insert(KRB5_ENCDATA, (st), (val), (i)) +# define sk_KRB5_ENCDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCDATA, (st), (cmp)) +# define sk_KRB5_ENCDATA_dup(st) SKM_sk_dup(KRB5_ENCDATA, st) +# define sk_KRB5_ENCDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCDATA, (st), (free_func)) +# define sk_KRB5_ENCDATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_ENCDATA, (st), (copy_func), (free_func)) +# define sk_KRB5_ENCDATA_shift(st) SKM_sk_shift(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_pop(st) SKM_sk_pop(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_sort(st) SKM_sk_sort(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCDATA, (st)) +# define sk_KRB5_ENCKEY_new(cmp) SKM_sk_new(KRB5_ENCKEY, (cmp)) +# define sk_KRB5_ENCKEY_new_null() SKM_sk_new_null(KRB5_ENCKEY) +# define sk_KRB5_ENCKEY_free(st) SKM_sk_free(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_num(st) SKM_sk_num(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_value(st, i) SKM_sk_value(KRB5_ENCKEY, (st), (i)) +# define sk_KRB5_ENCKEY_set(st, i, val) SKM_sk_set(KRB5_ENCKEY, (st), (i), (val)) +# define sk_KRB5_ENCKEY_zero(st) SKM_sk_zero(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_push(st, val) SKM_sk_push(KRB5_ENCKEY, (st), (val)) +# define sk_KRB5_ENCKEY_unshift(st, val) SKM_sk_unshift(KRB5_ENCKEY, (st), (val)) +# define sk_KRB5_ENCKEY_find(st, val) SKM_sk_find(KRB5_ENCKEY, (st), (val)) +# define sk_KRB5_ENCKEY_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCKEY, (st), (val)) +# define sk_KRB5_ENCKEY_delete(st, i) SKM_sk_delete(KRB5_ENCKEY, (st), (i)) +# define sk_KRB5_ENCKEY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCKEY, (st), (ptr)) +# define sk_KRB5_ENCKEY_insert(st, val, i) SKM_sk_insert(KRB5_ENCKEY, (st), (val), (i)) +# define sk_KRB5_ENCKEY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCKEY, (st), (cmp)) +# define sk_KRB5_ENCKEY_dup(st) SKM_sk_dup(KRB5_ENCKEY, st) +# define sk_KRB5_ENCKEY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCKEY, (st), (free_func)) +# define sk_KRB5_ENCKEY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_ENCKEY, (st), (copy_func), (free_func)) +# define sk_KRB5_ENCKEY_shift(st) SKM_sk_shift(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_pop(st) SKM_sk_pop(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_sort(st) SKM_sk_sort(KRB5_ENCKEY, (st)) +# define sk_KRB5_ENCKEY_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCKEY, (st)) +# define sk_KRB5_PRINCNAME_new(cmp) SKM_sk_new(KRB5_PRINCNAME, (cmp)) +# define sk_KRB5_PRINCNAME_new_null() SKM_sk_new_null(KRB5_PRINCNAME) +# define sk_KRB5_PRINCNAME_free(st) SKM_sk_free(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_num(st) SKM_sk_num(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_value(st, i) SKM_sk_value(KRB5_PRINCNAME, (st), (i)) +# define sk_KRB5_PRINCNAME_set(st, i, val) SKM_sk_set(KRB5_PRINCNAME, (st), (i), (val)) +# define sk_KRB5_PRINCNAME_zero(st) SKM_sk_zero(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_push(st, val) SKM_sk_push(KRB5_PRINCNAME, (st), (val)) +# define sk_KRB5_PRINCNAME_unshift(st, val) SKM_sk_unshift(KRB5_PRINCNAME, (st), (val)) +# define sk_KRB5_PRINCNAME_find(st, val) SKM_sk_find(KRB5_PRINCNAME, (st), (val)) +# define sk_KRB5_PRINCNAME_find_ex(st, val) SKM_sk_find_ex(KRB5_PRINCNAME, (st), (val)) +# define sk_KRB5_PRINCNAME_delete(st, i) SKM_sk_delete(KRB5_PRINCNAME, (st), (i)) +# define sk_KRB5_PRINCNAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_PRINCNAME, (st), (ptr)) +# define sk_KRB5_PRINCNAME_insert(st, val, i) SKM_sk_insert(KRB5_PRINCNAME, (st), (val), (i)) +# define sk_KRB5_PRINCNAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_PRINCNAME, (st), (cmp)) +# define sk_KRB5_PRINCNAME_dup(st) SKM_sk_dup(KRB5_PRINCNAME, st) +# define sk_KRB5_PRINCNAME_pop_free(st, free_func) SKM_sk_pop_free(KRB5_PRINCNAME, (st), (free_func)) +# define sk_KRB5_PRINCNAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_PRINCNAME, (st), (copy_func), (free_func)) +# define sk_KRB5_PRINCNAME_shift(st) SKM_sk_shift(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_pop(st) SKM_sk_pop(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_sort(st) SKM_sk_sort(KRB5_PRINCNAME, (st)) +# define sk_KRB5_PRINCNAME_is_sorted(st) SKM_sk_is_sorted(KRB5_PRINCNAME, (st)) +# define sk_KRB5_TKTBODY_new(cmp) SKM_sk_new(KRB5_TKTBODY, (cmp)) +# define sk_KRB5_TKTBODY_new_null() SKM_sk_new_null(KRB5_TKTBODY) +# define sk_KRB5_TKTBODY_free(st) SKM_sk_free(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_num(st) SKM_sk_num(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_value(st, i) SKM_sk_value(KRB5_TKTBODY, (st), (i)) +# define sk_KRB5_TKTBODY_set(st, i, val) SKM_sk_set(KRB5_TKTBODY, (st), (i), (val)) +# define sk_KRB5_TKTBODY_zero(st) SKM_sk_zero(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_push(st, val) SKM_sk_push(KRB5_TKTBODY, (st), (val)) +# define sk_KRB5_TKTBODY_unshift(st, val) SKM_sk_unshift(KRB5_TKTBODY, (st), (val)) +# define sk_KRB5_TKTBODY_find(st, val) SKM_sk_find(KRB5_TKTBODY, (st), (val)) +# define sk_KRB5_TKTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_TKTBODY, (st), (val)) +# define sk_KRB5_TKTBODY_delete(st, i) SKM_sk_delete(KRB5_TKTBODY, (st), (i)) +# define sk_KRB5_TKTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_TKTBODY, (st), (ptr)) +# define sk_KRB5_TKTBODY_insert(st, val, i) SKM_sk_insert(KRB5_TKTBODY, (st), (val), (i)) +# define sk_KRB5_TKTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_TKTBODY, (st), (cmp)) +# define sk_KRB5_TKTBODY_dup(st) SKM_sk_dup(KRB5_TKTBODY, st) +# define sk_KRB5_TKTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_TKTBODY, (st), (free_func)) +# define sk_KRB5_TKTBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_TKTBODY, (st), (copy_func), (free_func)) +# define sk_KRB5_TKTBODY_shift(st) SKM_sk_shift(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_pop(st) SKM_sk_pop(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_sort(st) SKM_sk_sort(KRB5_TKTBODY, (st)) +# define sk_KRB5_TKTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_TKTBODY, (st)) +# define sk_MEM_OBJECT_DATA_new(cmp) SKM_sk_new(MEM_OBJECT_DATA, (cmp)) +# define sk_MEM_OBJECT_DATA_new_null() SKM_sk_new_null(MEM_OBJECT_DATA) +# define sk_MEM_OBJECT_DATA_free(st) SKM_sk_free(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_num(st) SKM_sk_num(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_value(st, i) SKM_sk_value(MEM_OBJECT_DATA, (st), (i)) +# define sk_MEM_OBJECT_DATA_set(st, i, val) SKM_sk_set(MEM_OBJECT_DATA, (st), (i), (val)) +# define sk_MEM_OBJECT_DATA_zero(st) SKM_sk_zero(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_push(st, val) SKM_sk_push(MEM_OBJECT_DATA, (st), (val)) +# define sk_MEM_OBJECT_DATA_unshift(st, val) SKM_sk_unshift(MEM_OBJECT_DATA, (st), (val)) +# define sk_MEM_OBJECT_DATA_find(st, val) SKM_sk_find(MEM_OBJECT_DATA, (st), (val)) +# define sk_MEM_OBJECT_DATA_find_ex(st, val) SKM_sk_find_ex(MEM_OBJECT_DATA, (st), (val)) +# define sk_MEM_OBJECT_DATA_delete(st, i) SKM_sk_delete(MEM_OBJECT_DATA, (st), (i)) +# define sk_MEM_OBJECT_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(MEM_OBJECT_DATA, (st), (ptr)) +# define sk_MEM_OBJECT_DATA_insert(st, val, i) SKM_sk_insert(MEM_OBJECT_DATA, (st), (val), (i)) +# define sk_MEM_OBJECT_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MEM_OBJECT_DATA, (st), (cmp)) +# define sk_MEM_OBJECT_DATA_dup(st) SKM_sk_dup(MEM_OBJECT_DATA, st) +# define sk_MEM_OBJECT_DATA_pop_free(st, free_func) SKM_sk_pop_free(MEM_OBJECT_DATA, (st), (free_func)) +# define sk_MEM_OBJECT_DATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MEM_OBJECT_DATA, (st), (copy_func), (free_func)) +# define sk_MEM_OBJECT_DATA_shift(st) SKM_sk_shift(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_pop(st) SKM_sk_pop(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_sort(st) SKM_sk_sort(MEM_OBJECT_DATA, (st)) +# define sk_MEM_OBJECT_DATA_is_sorted(st) SKM_sk_is_sorted(MEM_OBJECT_DATA, (st)) +# define sk_MIME_HEADER_new(cmp) SKM_sk_new(MIME_HEADER, (cmp)) +# define sk_MIME_HEADER_new_null() SKM_sk_new_null(MIME_HEADER) +# define sk_MIME_HEADER_free(st) SKM_sk_free(MIME_HEADER, (st)) +# define sk_MIME_HEADER_num(st) SKM_sk_num(MIME_HEADER, (st)) +# define sk_MIME_HEADER_value(st, i) SKM_sk_value(MIME_HEADER, (st), (i)) +# define sk_MIME_HEADER_set(st, i, val) SKM_sk_set(MIME_HEADER, (st), (i), (val)) +# define sk_MIME_HEADER_zero(st) SKM_sk_zero(MIME_HEADER, (st)) +# define sk_MIME_HEADER_push(st, val) SKM_sk_push(MIME_HEADER, (st), (val)) +# define sk_MIME_HEADER_unshift(st, val) SKM_sk_unshift(MIME_HEADER, (st), (val)) +# define sk_MIME_HEADER_find(st, val) SKM_sk_find(MIME_HEADER, (st), (val)) +# define sk_MIME_HEADER_find_ex(st, val) SKM_sk_find_ex(MIME_HEADER, (st), (val)) +# define sk_MIME_HEADER_delete(st, i) SKM_sk_delete(MIME_HEADER, (st), (i)) +# define sk_MIME_HEADER_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_HEADER, (st), (ptr)) +# define sk_MIME_HEADER_insert(st, val, i) SKM_sk_insert(MIME_HEADER, (st), (val), (i)) +# define sk_MIME_HEADER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_HEADER, (st), (cmp)) +# define sk_MIME_HEADER_dup(st) SKM_sk_dup(MIME_HEADER, st) +# define sk_MIME_HEADER_pop_free(st, free_func) SKM_sk_pop_free(MIME_HEADER, (st), (free_func)) +# define sk_MIME_HEADER_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MIME_HEADER, (st), (copy_func), (free_func)) +# define sk_MIME_HEADER_shift(st) SKM_sk_shift(MIME_HEADER, (st)) +# define sk_MIME_HEADER_pop(st) SKM_sk_pop(MIME_HEADER, (st)) +# define sk_MIME_HEADER_sort(st) SKM_sk_sort(MIME_HEADER, (st)) +# define sk_MIME_HEADER_is_sorted(st) SKM_sk_is_sorted(MIME_HEADER, (st)) +# define sk_MIME_PARAM_new(cmp) SKM_sk_new(MIME_PARAM, (cmp)) +# define sk_MIME_PARAM_new_null() SKM_sk_new_null(MIME_PARAM) +# define sk_MIME_PARAM_free(st) SKM_sk_free(MIME_PARAM, (st)) +# define sk_MIME_PARAM_num(st) SKM_sk_num(MIME_PARAM, (st)) +# define sk_MIME_PARAM_value(st, i) SKM_sk_value(MIME_PARAM, (st), (i)) +# define sk_MIME_PARAM_set(st, i, val) SKM_sk_set(MIME_PARAM, (st), (i), (val)) +# define sk_MIME_PARAM_zero(st) SKM_sk_zero(MIME_PARAM, (st)) +# define sk_MIME_PARAM_push(st, val) SKM_sk_push(MIME_PARAM, (st), (val)) +# define sk_MIME_PARAM_unshift(st, val) SKM_sk_unshift(MIME_PARAM, (st), (val)) +# define sk_MIME_PARAM_find(st, val) SKM_sk_find(MIME_PARAM, (st), (val)) +# define sk_MIME_PARAM_find_ex(st, val) SKM_sk_find_ex(MIME_PARAM, (st), (val)) +# define sk_MIME_PARAM_delete(st, i) SKM_sk_delete(MIME_PARAM, (st), (i)) +# define sk_MIME_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_PARAM, (st), (ptr)) +# define sk_MIME_PARAM_insert(st, val, i) SKM_sk_insert(MIME_PARAM, (st), (val), (i)) +# define sk_MIME_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_PARAM, (st), (cmp)) +# define sk_MIME_PARAM_dup(st) SKM_sk_dup(MIME_PARAM, st) +# define sk_MIME_PARAM_pop_free(st, free_func) SKM_sk_pop_free(MIME_PARAM, (st), (free_func)) +# define sk_MIME_PARAM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MIME_PARAM, (st), (copy_func), (free_func)) +# define sk_MIME_PARAM_shift(st) SKM_sk_shift(MIME_PARAM, (st)) +# define sk_MIME_PARAM_pop(st) SKM_sk_pop(MIME_PARAM, (st)) +# define sk_MIME_PARAM_sort(st) SKM_sk_sort(MIME_PARAM, (st)) +# define sk_MIME_PARAM_is_sorted(st) SKM_sk_is_sorted(MIME_PARAM, (st)) +# define sk_NAME_FUNCS_new(cmp) SKM_sk_new(NAME_FUNCS, (cmp)) +# define sk_NAME_FUNCS_new_null() SKM_sk_new_null(NAME_FUNCS) +# define sk_NAME_FUNCS_free(st) SKM_sk_free(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_num(st) SKM_sk_num(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_value(st, i) SKM_sk_value(NAME_FUNCS, (st), (i)) +# define sk_NAME_FUNCS_set(st, i, val) SKM_sk_set(NAME_FUNCS, (st), (i), (val)) +# define sk_NAME_FUNCS_zero(st) SKM_sk_zero(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_push(st, val) SKM_sk_push(NAME_FUNCS, (st), (val)) +# define sk_NAME_FUNCS_unshift(st, val) SKM_sk_unshift(NAME_FUNCS, (st), (val)) +# define sk_NAME_FUNCS_find(st, val) SKM_sk_find(NAME_FUNCS, (st), (val)) +# define sk_NAME_FUNCS_find_ex(st, val) SKM_sk_find_ex(NAME_FUNCS, (st), (val)) +# define sk_NAME_FUNCS_delete(st, i) SKM_sk_delete(NAME_FUNCS, (st), (i)) +# define sk_NAME_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(NAME_FUNCS, (st), (ptr)) +# define sk_NAME_FUNCS_insert(st, val, i) SKM_sk_insert(NAME_FUNCS, (st), (val), (i)) +# define sk_NAME_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(NAME_FUNCS, (st), (cmp)) +# define sk_NAME_FUNCS_dup(st) SKM_sk_dup(NAME_FUNCS, st) +# define sk_NAME_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(NAME_FUNCS, (st), (free_func)) +# define sk_NAME_FUNCS_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(NAME_FUNCS, (st), (copy_func), (free_func)) +# define sk_NAME_FUNCS_shift(st) SKM_sk_shift(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_pop(st) SKM_sk_pop(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_sort(st) SKM_sk_sort(NAME_FUNCS, (st)) +# define sk_NAME_FUNCS_is_sorted(st) SKM_sk_is_sorted(NAME_FUNCS, (st)) +# define sk_OCSP_CERTID_new(cmp) SKM_sk_new(OCSP_CERTID, (cmp)) +# define sk_OCSP_CERTID_new_null() SKM_sk_new_null(OCSP_CERTID) +# define sk_OCSP_CERTID_free(st) SKM_sk_free(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_num(st) SKM_sk_num(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_value(st, i) SKM_sk_value(OCSP_CERTID, (st), (i)) +# define sk_OCSP_CERTID_set(st, i, val) SKM_sk_set(OCSP_CERTID, (st), (i), (val)) +# define sk_OCSP_CERTID_zero(st) SKM_sk_zero(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_push(st, val) SKM_sk_push(OCSP_CERTID, (st), (val)) +# define sk_OCSP_CERTID_unshift(st, val) SKM_sk_unshift(OCSP_CERTID, (st), (val)) +# define sk_OCSP_CERTID_find(st, val) SKM_sk_find(OCSP_CERTID, (st), (val)) +# define sk_OCSP_CERTID_find_ex(st, val) SKM_sk_find_ex(OCSP_CERTID, (st), (val)) +# define sk_OCSP_CERTID_delete(st, i) SKM_sk_delete(OCSP_CERTID, (st), (i)) +# define sk_OCSP_CERTID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_CERTID, (st), (ptr)) +# define sk_OCSP_CERTID_insert(st, val, i) SKM_sk_insert(OCSP_CERTID, (st), (val), (i)) +# define sk_OCSP_CERTID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_CERTID, (st), (cmp)) +# define sk_OCSP_CERTID_dup(st) SKM_sk_dup(OCSP_CERTID, st) +# define sk_OCSP_CERTID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_CERTID, (st), (free_func)) +# define sk_OCSP_CERTID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_CERTID, (st), (copy_func), (free_func)) +# define sk_OCSP_CERTID_shift(st) SKM_sk_shift(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_pop(st) SKM_sk_pop(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_sort(st) SKM_sk_sort(OCSP_CERTID, (st)) +# define sk_OCSP_CERTID_is_sorted(st) SKM_sk_is_sorted(OCSP_CERTID, (st)) +# define sk_OCSP_ONEREQ_new(cmp) SKM_sk_new(OCSP_ONEREQ, (cmp)) +# define sk_OCSP_ONEREQ_new_null() SKM_sk_new_null(OCSP_ONEREQ) +# define sk_OCSP_ONEREQ_free(st) SKM_sk_free(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_num(st) SKM_sk_num(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_value(st, i) SKM_sk_value(OCSP_ONEREQ, (st), (i)) +# define sk_OCSP_ONEREQ_set(st, i, val) SKM_sk_set(OCSP_ONEREQ, (st), (i), (val)) +# define sk_OCSP_ONEREQ_zero(st) SKM_sk_zero(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_push(st, val) SKM_sk_push(OCSP_ONEREQ, (st), (val)) +# define sk_OCSP_ONEREQ_unshift(st, val) SKM_sk_unshift(OCSP_ONEREQ, (st), (val)) +# define sk_OCSP_ONEREQ_find(st, val) SKM_sk_find(OCSP_ONEREQ, (st), (val)) +# define sk_OCSP_ONEREQ_find_ex(st, val) SKM_sk_find_ex(OCSP_ONEREQ, (st), (val)) +# define sk_OCSP_ONEREQ_delete(st, i) SKM_sk_delete(OCSP_ONEREQ, (st), (i)) +# define sk_OCSP_ONEREQ_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_ONEREQ, (st), (ptr)) +# define sk_OCSP_ONEREQ_insert(st, val, i) SKM_sk_insert(OCSP_ONEREQ, (st), (val), (i)) +# define sk_OCSP_ONEREQ_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_ONEREQ, (st), (cmp)) +# define sk_OCSP_ONEREQ_dup(st) SKM_sk_dup(OCSP_ONEREQ, st) +# define sk_OCSP_ONEREQ_pop_free(st, free_func) SKM_sk_pop_free(OCSP_ONEREQ, (st), (free_func)) +# define sk_OCSP_ONEREQ_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_ONEREQ, (st), (copy_func), (free_func)) +# define sk_OCSP_ONEREQ_shift(st) SKM_sk_shift(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_pop(st) SKM_sk_pop(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_sort(st) SKM_sk_sort(OCSP_ONEREQ, (st)) +# define sk_OCSP_ONEREQ_is_sorted(st) SKM_sk_is_sorted(OCSP_ONEREQ, (st)) +# define sk_OCSP_RESPID_new(cmp) SKM_sk_new(OCSP_RESPID, (cmp)) +# define sk_OCSP_RESPID_new_null() SKM_sk_new_null(OCSP_RESPID) +# define sk_OCSP_RESPID_free(st) SKM_sk_free(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_num(st) SKM_sk_num(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_value(st, i) SKM_sk_value(OCSP_RESPID, (st), (i)) +# define sk_OCSP_RESPID_set(st, i, val) SKM_sk_set(OCSP_RESPID, (st), (i), (val)) +# define sk_OCSP_RESPID_zero(st) SKM_sk_zero(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_push(st, val) SKM_sk_push(OCSP_RESPID, (st), (val)) +# define sk_OCSP_RESPID_unshift(st, val) SKM_sk_unshift(OCSP_RESPID, (st), (val)) +# define sk_OCSP_RESPID_find(st, val) SKM_sk_find(OCSP_RESPID, (st), (val)) +# define sk_OCSP_RESPID_find_ex(st, val) SKM_sk_find_ex(OCSP_RESPID, (st), (val)) +# define sk_OCSP_RESPID_delete(st, i) SKM_sk_delete(OCSP_RESPID, (st), (i)) +# define sk_OCSP_RESPID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_RESPID, (st), (ptr)) +# define sk_OCSP_RESPID_insert(st, val, i) SKM_sk_insert(OCSP_RESPID, (st), (val), (i)) +# define sk_OCSP_RESPID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_RESPID, (st), (cmp)) +# define sk_OCSP_RESPID_dup(st) SKM_sk_dup(OCSP_RESPID, st) +# define sk_OCSP_RESPID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_RESPID, (st), (free_func)) +# define sk_OCSP_RESPID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_RESPID, (st), (copy_func), (free_func)) +# define sk_OCSP_RESPID_shift(st) SKM_sk_shift(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_pop(st) SKM_sk_pop(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_sort(st) SKM_sk_sort(OCSP_RESPID, (st)) +# define sk_OCSP_RESPID_is_sorted(st) SKM_sk_is_sorted(OCSP_RESPID, (st)) +# define sk_OCSP_SINGLERESP_new(cmp) SKM_sk_new(OCSP_SINGLERESP, (cmp)) +# define sk_OCSP_SINGLERESP_new_null() SKM_sk_new_null(OCSP_SINGLERESP) +# define sk_OCSP_SINGLERESP_free(st) SKM_sk_free(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_num(st) SKM_sk_num(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_value(st, i) SKM_sk_value(OCSP_SINGLERESP, (st), (i)) +# define sk_OCSP_SINGLERESP_set(st, i, val) SKM_sk_set(OCSP_SINGLERESP, (st), (i), (val)) +# define sk_OCSP_SINGLERESP_zero(st) SKM_sk_zero(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_push(st, val) SKM_sk_push(OCSP_SINGLERESP, (st), (val)) +# define sk_OCSP_SINGLERESP_unshift(st, val) SKM_sk_unshift(OCSP_SINGLERESP, (st), (val)) +# define sk_OCSP_SINGLERESP_find(st, val) SKM_sk_find(OCSP_SINGLERESP, (st), (val)) +# define sk_OCSP_SINGLERESP_find_ex(st, val) SKM_sk_find_ex(OCSP_SINGLERESP, (st), (val)) +# define sk_OCSP_SINGLERESP_delete(st, i) SKM_sk_delete(OCSP_SINGLERESP, (st), (i)) +# define sk_OCSP_SINGLERESP_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_SINGLERESP, (st), (ptr)) +# define sk_OCSP_SINGLERESP_insert(st, val, i) SKM_sk_insert(OCSP_SINGLERESP, (st), (val), (i)) +# define sk_OCSP_SINGLERESP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_SINGLERESP, (st), (cmp)) +# define sk_OCSP_SINGLERESP_dup(st) SKM_sk_dup(OCSP_SINGLERESP, st) +# define sk_OCSP_SINGLERESP_pop_free(st, free_func) SKM_sk_pop_free(OCSP_SINGLERESP, (st), (free_func)) +# define sk_OCSP_SINGLERESP_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_SINGLERESP, (st), (copy_func), (free_func)) +# define sk_OCSP_SINGLERESP_shift(st) SKM_sk_shift(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_pop(st) SKM_sk_pop(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_sort(st) SKM_sk_sort(OCSP_SINGLERESP, (st)) +# define sk_OCSP_SINGLERESP_is_sorted(st) SKM_sk_is_sorted(OCSP_SINGLERESP, (st)) +# define sk_PKCS12_SAFEBAG_new(cmp) SKM_sk_new(PKCS12_SAFEBAG, (cmp)) +# define sk_PKCS12_SAFEBAG_new_null() SKM_sk_new_null(PKCS12_SAFEBAG) +# define sk_PKCS12_SAFEBAG_free(st) SKM_sk_free(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_num(st) SKM_sk_num(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_value(st, i) SKM_sk_value(PKCS12_SAFEBAG, (st), (i)) +# define sk_PKCS12_SAFEBAG_set(st, i, val) SKM_sk_set(PKCS12_SAFEBAG, (st), (i), (val)) +# define sk_PKCS12_SAFEBAG_zero(st) SKM_sk_zero(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_push(st, val) SKM_sk_push(PKCS12_SAFEBAG, (st), (val)) +# define sk_PKCS12_SAFEBAG_unshift(st, val) SKM_sk_unshift(PKCS12_SAFEBAG, (st), (val)) +# define sk_PKCS12_SAFEBAG_find(st, val) SKM_sk_find(PKCS12_SAFEBAG, (st), (val)) +# define sk_PKCS12_SAFEBAG_find_ex(st, val) SKM_sk_find_ex(PKCS12_SAFEBAG, (st), (val)) +# define sk_PKCS12_SAFEBAG_delete(st, i) SKM_sk_delete(PKCS12_SAFEBAG, (st), (i)) +# define sk_PKCS12_SAFEBAG_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS12_SAFEBAG, (st), (ptr)) +# define sk_PKCS12_SAFEBAG_insert(st, val, i) SKM_sk_insert(PKCS12_SAFEBAG, (st), (val), (i)) +# define sk_PKCS12_SAFEBAG_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS12_SAFEBAG, (st), (cmp)) +# define sk_PKCS12_SAFEBAG_dup(st) SKM_sk_dup(PKCS12_SAFEBAG, st) +# define sk_PKCS12_SAFEBAG_pop_free(st, free_func) SKM_sk_pop_free(PKCS12_SAFEBAG, (st), (free_func)) +# define sk_PKCS12_SAFEBAG_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS12_SAFEBAG, (st), (copy_func), (free_func)) +# define sk_PKCS12_SAFEBAG_shift(st) SKM_sk_shift(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_pop(st) SKM_sk_pop(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_sort(st) SKM_sk_sort(PKCS12_SAFEBAG, (st)) +# define sk_PKCS12_SAFEBAG_is_sorted(st) SKM_sk_is_sorted(PKCS12_SAFEBAG, (st)) +# define sk_PKCS7_new(cmp) SKM_sk_new(PKCS7, (cmp)) +# define sk_PKCS7_new_null() SKM_sk_new_null(PKCS7) +# define sk_PKCS7_free(st) SKM_sk_free(PKCS7, (st)) +# define sk_PKCS7_num(st) SKM_sk_num(PKCS7, (st)) +# define sk_PKCS7_value(st, i) SKM_sk_value(PKCS7, (st), (i)) +# define sk_PKCS7_set(st, i, val) SKM_sk_set(PKCS7, (st), (i), (val)) +# define sk_PKCS7_zero(st) SKM_sk_zero(PKCS7, (st)) +# define sk_PKCS7_push(st, val) SKM_sk_push(PKCS7, (st), (val)) +# define sk_PKCS7_unshift(st, val) SKM_sk_unshift(PKCS7, (st), (val)) +# define sk_PKCS7_find(st, val) SKM_sk_find(PKCS7, (st), (val)) +# define sk_PKCS7_find_ex(st, val) SKM_sk_find_ex(PKCS7, (st), (val)) +# define sk_PKCS7_delete(st, i) SKM_sk_delete(PKCS7, (st), (i)) +# define sk_PKCS7_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7, (st), (ptr)) +# define sk_PKCS7_insert(st, val, i) SKM_sk_insert(PKCS7, (st), (val), (i)) +# define sk_PKCS7_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7, (st), (cmp)) +# define sk_PKCS7_dup(st) SKM_sk_dup(PKCS7, st) +# define sk_PKCS7_pop_free(st, free_func) SKM_sk_pop_free(PKCS7, (st), (free_func)) +# define sk_PKCS7_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7, (st), (copy_func), (free_func)) +# define sk_PKCS7_shift(st) SKM_sk_shift(PKCS7, (st)) +# define sk_PKCS7_pop(st) SKM_sk_pop(PKCS7, (st)) +# define sk_PKCS7_sort(st) SKM_sk_sort(PKCS7, (st)) +# define sk_PKCS7_is_sorted(st) SKM_sk_is_sorted(PKCS7, (st)) +# define sk_PKCS7_RECIP_INFO_new(cmp) SKM_sk_new(PKCS7_RECIP_INFO, (cmp)) +# define sk_PKCS7_RECIP_INFO_new_null() SKM_sk_new_null(PKCS7_RECIP_INFO) +# define sk_PKCS7_RECIP_INFO_free(st) SKM_sk_free(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_num(st) SKM_sk_num(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_value(st, i) SKM_sk_value(PKCS7_RECIP_INFO, (st), (i)) +# define sk_PKCS7_RECIP_INFO_set(st, i, val) SKM_sk_set(PKCS7_RECIP_INFO, (st), (i), (val)) +# define sk_PKCS7_RECIP_INFO_zero(st) SKM_sk_zero(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_push(st, val) SKM_sk_push(PKCS7_RECIP_INFO, (st), (val)) +# define sk_PKCS7_RECIP_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_RECIP_INFO, (st), (val)) +# define sk_PKCS7_RECIP_INFO_find(st, val) SKM_sk_find(PKCS7_RECIP_INFO, (st), (val)) +# define sk_PKCS7_RECIP_INFO_find_ex(st, val) SKM_sk_find_ex(PKCS7_RECIP_INFO, (st), (val)) +# define sk_PKCS7_RECIP_INFO_delete(st, i) SKM_sk_delete(PKCS7_RECIP_INFO, (st), (i)) +# define sk_PKCS7_RECIP_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_RECIP_INFO, (st), (ptr)) +# define sk_PKCS7_RECIP_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_RECIP_INFO, (st), (val), (i)) +# define sk_PKCS7_RECIP_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_RECIP_INFO, (st), (cmp)) +# define sk_PKCS7_RECIP_INFO_dup(st) SKM_sk_dup(PKCS7_RECIP_INFO, st) +# define sk_PKCS7_RECIP_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_RECIP_INFO, (st), (free_func)) +# define sk_PKCS7_RECIP_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7_RECIP_INFO, (st), (copy_func), (free_func)) +# define sk_PKCS7_RECIP_INFO_shift(st) SKM_sk_shift(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_pop(st) SKM_sk_pop(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_sort(st) SKM_sk_sort(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_RECIP_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_RECIP_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_new(cmp) SKM_sk_new(PKCS7_SIGNER_INFO, (cmp)) +# define sk_PKCS7_SIGNER_INFO_new_null() SKM_sk_new_null(PKCS7_SIGNER_INFO) +# define sk_PKCS7_SIGNER_INFO_free(st) SKM_sk_free(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_num(st) SKM_sk_num(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_value(st, i) SKM_sk_value(PKCS7_SIGNER_INFO, (st), (i)) +# define sk_PKCS7_SIGNER_INFO_set(st, i, val) SKM_sk_set(PKCS7_SIGNER_INFO, (st), (i), (val)) +# define sk_PKCS7_SIGNER_INFO_zero(st) SKM_sk_zero(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_push(st, val) SKM_sk_push(PKCS7_SIGNER_INFO, (st), (val)) +# define sk_PKCS7_SIGNER_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_SIGNER_INFO, (st), (val)) +# define sk_PKCS7_SIGNER_INFO_find(st, val) SKM_sk_find(PKCS7_SIGNER_INFO, (st), (val)) +# define sk_PKCS7_SIGNER_INFO_find_ex(st, val) SKM_sk_find_ex(PKCS7_SIGNER_INFO, (st), (val)) +# define sk_PKCS7_SIGNER_INFO_delete(st, i) SKM_sk_delete(PKCS7_SIGNER_INFO, (st), (i)) +# define sk_PKCS7_SIGNER_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_SIGNER_INFO, (st), (ptr)) +# define sk_PKCS7_SIGNER_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_SIGNER_INFO, (st), (val), (i)) +# define sk_PKCS7_SIGNER_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_SIGNER_INFO, (st), (cmp)) +# define sk_PKCS7_SIGNER_INFO_dup(st) SKM_sk_dup(PKCS7_SIGNER_INFO, st) +# define sk_PKCS7_SIGNER_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_SIGNER_INFO, (st), (free_func)) +# define sk_PKCS7_SIGNER_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7_SIGNER_INFO, (st), (copy_func), (free_func)) +# define sk_PKCS7_SIGNER_INFO_shift(st) SKM_sk_shift(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_pop(st) SKM_sk_pop(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_sort(st) SKM_sk_sort(PKCS7_SIGNER_INFO, (st)) +# define sk_PKCS7_SIGNER_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_SIGNER_INFO, (st)) +# define sk_POLICYINFO_new(cmp) SKM_sk_new(POLICYINFO, (cmp)) +# define sk_POLICYINFO_new_null() SKM_sk_new_null(POLICYINFO) +# define sk_POLICYINFO_free(st) SKM_sk_free(POLICYINFO, (st)) +# define sk_POLICYINFO_num(st) SKM_sk_num(POLICYINFO, (st)) +# define sk_POLICYINFO_value(st, i) SKM_sk_value(POLICYINFO, (st), (i)) +# define sk_POLICYINFO_set(st, i, val) SKM_sk_set(POLICYINFO, (st), (i), (val)) +# define sk_POLICYINFO_zero(st) SKM_sk_zero(POLICYINFO, (st)) +# define sk_POLICYINFO_push(st, val) SKM_sk_push(POLICYINFO, (st), (val)) +# define sk_POLICYINFO_unshift(st, val) SKM_sk_unshift(POLICYINFO, (st), (val)) +# define sk_POLICYINFO_find(st, val) SKM_sk_find(POLICYINFO, (st), (val)) +# define sk_POLICYINFO_find_ex(st, val) SKM_sk_find_ex(POLICYINFO, (st), (val)) +# define sk_POLICYINFO_delete(st, i) SKM_sk_delete(POLICYINFO, (st), (i)) +# define sk_POLICYINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYINFO, (st), (ptr)) +# define sk_POLICYINFO_insert(st, val, i) SKM_sk_insert(POLICYINFO, (st), (val), (i)) +# define sk_POLICYINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYINFO, (st), (cmp)) +# define sk_POLICYINFO_dup(st) SKM_sk_dup(POLICYINFO, st) +# define sk_POLICYINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYINFO, (st), (free_func)) +# define sk_POLICYINFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICYINFO, (st), (copy_func), (free_func)) +# define sk_POLICYINFO_shift(st) SKM_sk_shift(POLICYINFO, (st)) +# define sk_POLICYINFO_pop(st) SKM_sk_pop(POLICYINFO, (st)) +# define sk_POLICYINFO_sort(st) SKM_sk_sort(POLICYINFO, (st)) +# define sk_POLICYINFO_is_sorted(st) SKM_sk_is_sorted(POLICYINFO, (st)) +# define sk_POLICYQUALINFO_new(cmp) SKM_sk_new(POLICYQUALINFO, (cmp)) +# define sk_POLICYQUALINFO_new_null() SKM_sk_new_null(POLICYQUALINFO) +# define sk_POLICYQUALINFO_free(st) SKM_sk_free(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_num(st) SKM_sk_num(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_value(st, i) SKM_sk_value(POLICYQUALINFO, (st), (i)) +# define sk_POLICYQUALINFO_set(st, i, val) SKM_sk_set(POLICYQUALINFO, (st), (i), (val)) +# define sk_POLICYQUALINFO_zero(st) SKM_sk_zero(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_push(st, val) SKM_sk_push(POLICYQUALINFO, (st), (val)) +# define sk_POLICYQUALINFO_unshift(st, val) SKM_sk_unshift(POLICYQUALINFO, (st), (val)) +# define sk_POLICYQUALINFO_find(st, val) SKM_sk_find(POLICYQUALINFO, (st), (val)) +# define sk_POLICYQUALINFO_find_ex(st, val) SKM_sk_find_ex(POLICYQUALINFO, (st), (val)) +# define sk_POLICYQUALINFO_delete(st, i) SKM_sk_delete(POLICYQUALINFO, (st), (i)) +# define sk_POLICYQUALINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYQUALINFO, (st), (ptr)) +# define sk_POLICYQUALINFO_insert(st, val, i) SKM_sk_insert(POLICYQUALINFO, (st), (val), (i)) +# define sk_POLICYQUALINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYQUALINFO, (st), (cmp)) +# define sk_POLICYQUALINFO_dup(st) SKM_sk_dup(POLICYQUALINFO, st) +# define sk_POLICYQUALINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYQUALINFO, (st), (free_func)) +# define sk_POLICYQUALINFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICYQUALINFO, (st), (copy_func), (free_func)) +# define sk_POLICYQUALINFO_shift(st) SKM_sk_shift(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_pop(st) SKM_sk_pop(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_sort(st) SKM_sk_sort(POLICYQUALINFO, (st)) +# define sk_POLICYQUALINFO_is_sorted(st) SKM_sk_is_sorted(POLICYQUALINFO, (st)) +# define sk_POLICY_MAPPING_new(cmp) SKM_sk_new(POLICY_MAPPING, (cmp)) +# define sk_POLICY_MAPPING_new_null() SKM_sk_new_null(POLICY_MAPPING) +# define sk_POLICY_MAPPING_free(st) SKM_sk_free(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_num(st) SKM_sk_num(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_value(st, i) SKM_sk_value(POLICY_MAPPING, (st), (i)) +# define sk_POLICY_MAPPING_set(st, i, val) SKM_sk_set(POLICY_MAPPING, (st), (i), (val)) +# define sk_POLICY_MAPPING_zero(st) SKM_sk_zero(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_push(st, val) SKM_sk_push(POLICY_MAPPING, (st), (val)) +# define sk_POLICY_MAPPING_unshift(st, val) SKM_sk_unshift(POLICY_MAPPING, (st), (val)) +# define sk_POLICY_MAPPING_find(st, val) SKM_sk_find(POLICY_MAPPING, (st), (val)) +# define sk_POLICY_MAPPING_find_ex(st, val) SKM_sk_find_ex(POLICY_MAPPING, (st), (val)) +# define sk_POLICY_MAPPING_delete(st, i) SKM_sk_delete(POLICY_MAPPING, (st), (i)) +# define sk_POLICY_MAPPING_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICY_MAPPING, (st), (ptr)) +# define sk_POLICY_MAPPING_insert(st, val, i) SKM_sk_insert(POLICY_MAPPING, (st), (val), (i)) +# define sk_POLICY_MAPPING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICY_MAPPING, (st), (cmp)) +# define sk_POLICY_MAPPING_dup(st) SKM_sk_dup(POLICY_MAPPING, st) +# define sk_POLICY_MAPPING_pop_free(st, free_func) SKM_sk_pop_free(POLICY_MAPPING, (st), (free_func)) +# define sk_POLICY_MAPPING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICY_MAPPING, (st), (copy_func), (free_func)) +# define sk_POLICY_MAPPING_shift(st) SKM_sk_shift(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_pop(st) SKM_sk_pop(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_sort(st) SKM_sk_sort(POLICY_MAPPING, (st)) +# define sk_POLICY_MAPPING_is_sorted(st) SKM_sk_is_sorted(POLICY_MAPPING, (st)) +# define sk_SCT_new(cmp) SKM_sk_new(SCT, (cmp)) +# define sk_SCT_new_null() SKM_sk_new_null(SCT) +# define sk_SCT_free(st) SKM_sk_free(SCT, (st)) +# define sk_SCT_num(st) SKM_sk_num(SCT, (st)) +# define sk_SCT_value(st, i) SKM_sk_value(SCT, (st), (i)) +# define sk_SCT_set(st, i, val) SKM_sk_set(SCT, (st), (i), (val)) +# define sk_SCT_zero(st) SKM_sk_zero(SCT, (st)) +# define sk_SCT_push(st, val) SKM_sk_push(SCT, (st), (val)) +# define sk_SCT_unshift(st, val) SKM_sk_unshift(SCT, (st), (val)) +# define sk_SCT_find(st, val) SKM_sk_find(SCT, (st), (val)) +# define sk_SCT_find_ex(st, val) SKM_sk_find_ex(SCT, (st), (val)) +# define sk_SCT_delete(st, i) SKM_sk_delete(SCT, (st), (i)) +# define sk_SCT_delete_ptr(st, ptr) SKM_sk_delete_ptr(SCT, (st), (ptr)) +# define sk_SCT_insert(st, val, i) SKM_sk_insert(SCT, (st), (val), (i)) +# define sk_SCT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SCT, (st), (cmp)) +# define sk_SCT_dup(st) SKM_sk_dup(SCT, st) +# define sk_SCT_pop_free(st, free_func) SKM_sk_pop_free(SCT, (st), (free_func)) +# define sk_SCT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SCT, (st), (copy_func), (free_func)) +# define sk_SCT_shift(st) SKM_sk_shift(SCT, (st)) +# define sk_SCT_pop(st) SKM_sk_pop(SCT, (st)) +# define sk_SCT_sort(st) SKM_sk_sort(SCT, (st)) +# define sk_SCT_is_sorted(st) SKM_sk_is_sorted(SCT, (st)) +# define sk_SRP_gN_new(cmp) SKM_sk_new(SRP_gN, (cmp)) +# define sk_SRP_gN_new_null() SKM_sk_new_null(SRP_gN) +# define sk_SRP_gN_free(st) SKM_sk_free(SRP_gN, (st)) +# define sk_SRP_gN_num(st) SKM_sk_num(SRP_gN, (st)) +# define sk_SRP_gN_value(st, i) SKM_sk_value(SRP_gN, (st), (i)) +# define sk_SRP_gN_set(st, i, val) SKM_sk_set(SRP_gN, (st), (i), (val)) +# define sk_SRP_gN_zero(st) SKM_sk_zero(SRP_gN, (st)) +# define sk_SRP_gN_push(st, val) SKM_sk_push(SRP_gN, (st), (val)) +# define sk_SRP_gN_unshift(st, val) SKM_sk_unshift(SRP_gN, (st), (val)) +# define sk_SRP_gN_find(st, val) SKM_sk_find(SRP_gN, (st), (val)) +# define sk_SRP_gN_find_ex(st, val) SKM_sk_find_ex(SRP_gN, (st), (val)) +# define sk_SRP_gN_delete(st, i) SKM_sk_delete(SRP_gN, (st), (i)) +# define sk_SRP_gN_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN, (st), (ptr)) +# define sk_SRP_gN_insert(st, val, i) SKM_sk_insert(SRP_gN, (st), (val), (i)) +# define sk_SRP_gN_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN, (st), (cmp)) +# define sk_SRP_gN_dup(st) SKM_sk_dup(SRP_gN, st) +# define sk_SRP_gN_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN, (st), (free_func)) +# define sk_SRP_gN_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_gN, (st), (copy_func), (free_func)) +# define sk_SRP_gN_shift(st) SKM_sk_shift(SRP_gN, (st)) +# define sk_SRP_gN_pop(st) SKM_sk_pop(SRP_gN, (st)) +# define sk_SRP_gN_sort(st) SKM_sk_sort(SRP_gN, (st)) +# define sk_SRP_gN_is_sorted(st) SKM_sk_is_sorted(SRP_gN, (st)) +# define sk_SRP_gN_cache_new(cmp) SKM_sk_new(SRP_gN_cache, (cmp)) +# define sk_SRP_gN_cache_new_null() SKM_sk_new_null(SRP_gN_cache) +# define sk_SRP_gN_cache_free(st) SKM_sk_free(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_num(st) SKM_sk_num(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_value(st, i) SKM_sk_value(SRP_gN_cache, (st), (i)) +# define sk_SRP_gN_cache_set(st, i, val) SKM_sk_set(SRP_gN_cache, (st), (i), (val)) +# define sk_SRP_gN_cache_zero(st) SKM_sk_zero(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_push(st, val) SKM_sk_push(SRP_gN_cache, (st), (val)) +# define sk_SRP_gN_cache_unshift(st, val) SKM_sk_unshift(SRP_gN_cache, (st), (val)) +# define sk_SRP_gN_cache_find(st, val) SKM_sk_find(SRP_gN_cache, (st), (val)) +# define sk_SRP_gN_cache_find_ex(st, val) SKM_sk_find_ex(SRP_gN_cache, (st), (val)) +# define sk_SRP_gN_cache_delete(st, i) SKM_sk_delete(SRP_gN_cache, (st), (i)) +# define sk_SRP_gN_cache_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN_cache, (st), (ptr)) +# define sk_SRP_gN_cache_insert(st, val, i) SKM_sk_insert(SRP_gN_cache, (st), (val), (i)) +# define sk_SRP_gN_cache_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN_cache, (st), (cmp)) +# define sk_SRP_gN_cache_dup(st) SKM_sk_dup(SRP_gN_cache, st) +# define sk_SRP_gN_cache_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN_cache, (st), (free_func)) +# define sk_SRP_gN_cache_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_gN_cache, (st), (copy_func), (free_func)) +# define sk_SRP_gN_cache_shift(st) SKM_sk_shift(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_pop(st) SKM_sk_pop(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_sort(st) SKM_sk_sort(SRP_gN_cache, (st)) +# define sk_SRP_gN_cache_is_sorted(st) SKM_sk_is_sorted(SRP_gN_cache, (st)) +# define sk_SRP_user_pwd_new(cmp) SKM_sk_new(SRP_user_pwd, (cmp)) +# define sk_SRP_user_pwd_new_null() SKM_sk_new_null(SRP_user_pwd) +# define sk_SRP_user_pwd_free(st) SKM_sk_free(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_num(st) SKM_sk_num(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_value(st, i) SKM_sk_value(SRP_user_pwd, (st), (i)) +# define sk_SRP_user_pwd_set(st, i, val) SKM_sk_set(SRP_user_pwd, (st), (i), (val)) +# define sk_SRP_user_pwd_zero(st) SKM_sk_zero(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_push(st, val) SKM_sk_push(SRP_user_pwd, (st), (val)) +# define sk_SRP_user_pwd_unshift(st, val) SKM_sk_unshift(SRP_user_pwd, (st), (val)) +# define sk_SRP_user_pwd_find(st, val) SKM_sk_find(SRP_user_pwd, (st), (val)) +# define sk_SRP_user_pwd_find_ex(st, val) SKM_sk_find_ex(SRP_user_pwd, (st), (val)) +# define sk_SRP_user_pwd_delete(st, i) SKM_sk_delete(SRP_user_pwd, (st), (i)) +# define sk_SRP_user_pwd_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_user_pwd, (st), (ptr)) +# define sk_SRP_user_pwd_insert(st, val, i) SKM_sk_insert(SRP_user_pwd, (st), (val), (i)) +# define sk_SRP_user_pwd_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_user_pwd, (st), (cmp)) +# define sk_SRP_user_pwd_dup(st) SKM_sk_dup(SRP_user_pwd, st) +# define sk_SRP_user_pwd_pop_free(st, free_func) SKM_sk_pop_free(SRP_user_pwd, (st), (free_func)) +# define sk_SRP_user_pwd_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_user_pwd, (st), (copy_func), (free_func)) +# define sk_SRP_user_pwd_shift(st) SKM_sk_shift(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_pop(st) SKM_sk_pop(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_sort(st) SKM_sk_sort(SRP_user_pwd, (st)) +# define sk_SRP_user_pwd_is_sorted(st) SKM_sk_is_sorted(SRP_user_pwd, (st)) +# define sk_SRTP_PROTECTION_PROFILE_new(cmp) SKM_sk_new(SRTP_PROTECTION_PROFILE, (cmp)) +# define sk_SRTP_PROTECTION_PROFILE_new_null() SKM_sk_new_null(SRTP_PROTECTION_PROFILE) +# define sk_SRTP_PROTECTION_PROFILE_free(st) SKM_sk_free(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_num(st) SKM_sk_num(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_value(st, i) SKM_sk_value(SRTP_PROTECTION_PROFILE, (st), (i)) +# define sk_SRTP_PROTECTION_PROFILE_set(st, i, val) SKM_sk_set(SRTP_PROTECTION_PROFILE, (st), (i), (val)) +# define sk_SRTP_PROTECTION_PROFILE_zero(st) SKM_sk_zero(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_push(st, val) SKM_sk_push(SRTP_PROTECTION_PROFILE, (st), (val)) +# define sk_SRTP_PROTECTION_PROFILE_unshift(st, val) SKM_sk_unshift(SRTP_PROTECTION_PROFILE, (st), (val)) +# define sk_SRTP_PROTECTION_PROFILE_find(st, val) SKM_sk_find(SRTP_PROTECTION_PROFILE, (st), (val)) +# define sk_SRTP_PROTECTION_PROFILE_find_ex(st, val) SKM_sk_find_ex(SRTP_PROTECTION_PROFILE, (st), (val)) +# define sk_SRTP_PROTECTION_PROFILE_delete(st, i) SKM_sk_delete(SRTP_PROTECTION_PROFILE, (st), (i)) +# define sk_SRTP_PROTECTION_PROFILE_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRTP_PROTECTION_PROFILE, (st), (ptr)) +# define sk_SRTP_PROTECTION_PROFILE_insert(st, val, i) SKM_sk_insert(SRTP_PROTECTION_PROFILE, (st), (val), (i)) +# define sk_SRTP_PROTECTION_PROFILE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRTP_PROTECTION_PROFILE, (st), (cmp)) +# define sk_SRTP_PROTECTION_PROFILE_dup(st) SKM_sk_dup(SRTP_PROTECTION_PROFILE, st) +# define sk_SRTP_PROTECTION_PROFILE_pop_free(st, free_func) SKM_sk_pop_free(SRTP_PROTECTION_PROFILE, (st), (free_func)) +# define sk_SRTP_PROTECTION_PROFILE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRTP_PROTECTION_PROFILE, (st), (copy_func), (free_func)) +# define sk_SRTP_PROTECTION_PROFILE_shift(st) SKM_sk_shift(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_pop(st) SKM_sk_pop(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_sort(st) SKM_sk_sort(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SRTP_PROTECTION_PROFILE_is_sorted(st) SKM_sk_is_sorted(SRTP_PROTECTION_PROFILE, (st)) +# define sk_SSL_CIPHER_new(cmp) SKM_sk_new(SSL_CIPHER, (cmp)) +# define sk_SSL_CIPHER_new_null() SKM_sk_new_null(SSL_CIPHER) +# define sk_SSL_CIPHER_free(st) SKM_sk_free(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_num(st) SKM_sk_num(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_value(st, i) SKM_sk_value(SSL_CIPHER, (st), (i)) +# define sk_SSL_CIPHER_set(st, i, val) SKM_sk_set(SSL_CIPHER, (st), (i), (val)) +# define sk_SSL_CIPHER_zero(st) SKM_sk_zero(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_push(st, val) SKM_sk_push(SSL_CIPHER, (st), (val)) +# define sk_SSL_CIPHER_unshift(st, val) SKM_sk_unshift(SSL_CIPHER, (st), (val)) +# define sk_SSL_CIPHER_find(st, val) SKM_sk_find(SSL_CIPHER, (st), (val)) +# define sk_SSL_CIPHER_find_ex(st, val) SKM_sk_find_ex(SSL_CIPHER, (st), (val)) +# define sk_SSL_CIPHER_delete(st, i) SKM_sk_delete(SSL_CIPHER, (st), (i)) +# define sk_SSL_CIPHER_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_CIPHER, (st), (ptr)) +# define sk_SSL_CIPHER_insert(st, val, i) SKM_sk_insert(SSL_CIPHER, (st), (val), (i)) +# define sk_SSL_CIPHER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_CIPHER, (st), (cmp)) +# define sk_SSL_CIPHER_dup(st) SKM_sk_dup(SSL_CIPHER, st) +# define sk_SSL_CIPHER_pop_free(st, free_func) SKM_sk_pop_free(SSL_CIPHER, (st), (free_func)) +# define sk_SSL_CIPHER_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SSL_CIPHER, (st), (copy_func), (free_func)) +# define sk_SSL_CIPHER_shift(st) SKM_sk_shift(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_pop(st) SKM_sk_pop(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_sort(st) SKM_sk_sort(SSL_CIPHER, (st)) +# define sk_SSL_CIPHER_is_sorted(st) SKM_sk_is_sorted(SSL_CIPHER, (st)) +# define sk_SSL_COMP_new(cmp) SKM_sk_new(SSL_COMP, (cmp)) +# define sk_SSL_COMP_new_null() SKM_sk_new_null(SSL_COMP) +# define sk_SSL_COMP_free(st) SKM_sk_free(SSL_COMP, (st)) +# define sk_SSL_COMP_num(st) SKM_sk_num(SSL_COMP, (st)) +# define sk_SSL_COMP_value(st, i) SKM_sk_value(SSL_COMP, (st), (i)) +# define sk_SSL_COMP_set(st, i, val) SKM_sk_set(SSL_COMP, (st), (i), (val)) +# define sk_SSL_COMP_zero(st) SKM_sk_zero(SSL_COMP, (st)) +# define sk_SSL_COMP_push(st, val) SKM_sk_push(SSL_COMP, (st), (val)) +# define sk_SSL_COMP_unshift(st, val) SKM_sk_unshift(SSL_COMP, (st), (val)) +# define sk_SSL_COMP_find(st, val) SKM_sk_find(SSL_COMP, (st), (val)) +# define sk_SSL_COMP_find_ex(st, val) SKM_sk_find_ex(SSL_COMP, (st), (val)) +# define sk_SSL_COMP_delete(st, i) SKM_sk_delete(SSL_COMP, (st), (i)) +# define sk_SSL_COMP_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_COMP, (st), (ptr)) +# define sk_SSL_COMP_insert(st, val, i) SKM_sk_insert(SSL_COMP, (st), (val), (i)) +# define sk_SSL_COMP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_COMP, (st), (cmp)) +# define sk_SSL_COMP_dup(st) SKM_sk_dup(SSL_COMP, st) +# define sk_SSL_COMP_pop_free(st, free_func) SKM_sk_pop_free(SSL_COMP, (st), (free_func)) +# define sk_SSL_COMP_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SSL_COMP, (st), (copy_func), (free_func)) +# define sk_SSL_COMP_shift(st) SKM_sk_shift(SSL_COMP, (st)) +# define sk_SSL_COMP_pop(st) SKM_sk_pop(SSL_COMP, (st)) +# define sk_SSL_COMP_sort(st) SKM_sk_sort(SSL_COMP, (st)) +# define sk_SSL_COMP_is_sorted(st) SKM_sk_is_sorted(SSL_COMP, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_new(cmp) SKM_sk_new(STACK_OF_X509_NAME_ENTRY, (cmp)) +# define sk_STACK_OF_X509_NAME_ENTRY_new_null() SKM_sk_new_null(STACK_OF_X509_NAME_ENTRY) +# define sk_STACK_OF_X509_NAME_ENTRY_free(st) SKM_sk_free(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_num(st) SKM_sk_num(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_value(st, i) SKM_sk_value(STACK_OF_X509_NAME_ENTRY, (st), (i)) +# define sk_STACK_OF_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(STACK_OF_X509_NAME_ENTRY, (st), (i), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_zero(st) SKM_sk_zero(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_push(st, val) SKM_sk_push(STACK_OF_X509_NAME_ENTRY, (st), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(STACK_OF_X509_NAME_ENTRY, (st), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_find(st, val) SKM_sk_find(STACK_OF_X509_NAME_ENTRY, (st), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_find_ex(st, val) SKM_sk_find_ex(STACK_OF_X509_NAME_ENTRY, (st), (val)) +# define sk_STACK_OF_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(STACK_OF_X509_NAME_ENTRY, (st), (i)) +# define sk_STACK_OF_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(STACK_OF_X509_NAME_ENTRY, (st), (ptr)) +# define sk_STACK_OF_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(STACK_OF_X509_NAME_ENTRY, (st), (val), (i)) +# define sk_STACK_OF_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STACK_OF_X509_NAME_ENTRY, (st), (cmp)) +# define sk_STACK_OF_X509_NAME_ENTRY_dup(st) SKM_sk_dup(STACK_OF_X509_NAME_ENTRY, st) +# define sk_STACK_OF_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(STACK_OF_X509_NAME_ENTRY, (st), (free_func)) +# define sk_STACK_OF_X509_NAME_ENTRY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STACK_OF_X509_NAME_ENTRY, (st), (copy_func), (free_func)) +# define sk_STACK_OF_X509_NAME_ENTRY_shift(st) SKM_sk_shift(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_pop(st) SKM_sk_pop(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_sort(st) SKM_sk_sort(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STACK_OF_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(STACK_OF_X509_NAME_ENTRY, (st)) +# define sk_STORE_ATTR_INFO_new(cmp) SKM_sk_new(STORE_ATTR_INFO, (cmp)) +# define sk_STORE_ATTR_INFO_new_null() SKM_sk_new_null(STORE_ATTR_INFO) +# define sk_STORE_ATTR_INFO_free(st) SKM_sk_free(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_num(st) SKM_sk_num(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_value(st, i) SKM_sk_value(STORE_ATTR_INFO, (st), (i)) +# define sk_STORE_ATTR_INFO_set(st, i, val) SKM_sk_set(STORE_ATTR_INFO, (st), (i), (val)) +# define sk_STORE_ATTR_INFO_zero(st) SKM_sk_zero(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_push(st, val) SKM_sk_push(STORE_ATTR_INFO, (st), (val)) +# define sk_STORE_ATTR_INFO_unshift(st, val) SKM_sk_unshift(STORE_ATTR_INFO, (st), (val)) +# define sk_STORE_ATTR_INFO_find(st, val) SKM_sk_find(STORE_ATTR_INFO, (st), (val)) +# define sk_STORE_ATTR_INFO_find_ex(st, val) SKM_sk_find_ex(STORE_ATTR_INFO, (st), (val)) +# define sk_STORE_ATTR_INFO_delete(st, i) SKM_sk_delete(STORE_ATTR_INFO, (st), (i)) +# define sk_STORE_ATTR_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_ATTR_INFO, (st), (ptr)) +# define sk_STORE_ATTR_INFO_insert(st, val, i) SKM_sk_insert(STORE_ATTR_INFO, (st), (val), (i)) +# define sk_STORE_ATTR_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_ATTR_INFO, (st), (cmp)) +# define sk_STORE_ATTR_INFO_dup(st) SKM_sk_dup(STORE_ATTR_INFO, st) +# define sk_STORE_ATTR_INFO_pop_free(st, free_func) SKM_sk_pop_free(STORE_ATTR_INFO, (st), (free_func)) +# define sk_STORE_ATTR_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STORE_ATTR_INFO, (st), (copy_func), (free_func)) +# define sk_STORE_ATTR_INFO_shift(st) SKM_sk_shift(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_pop(st) SKM_sk_pop(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_sort(st) SKM_sk_sort(STORE_ATTR_INFO, (st)) +# define sk_STORE_ATTR_INFO_is_sorted(st) SKM_sk_is_sorted(STORE_ATTR_INFO, (st)) +# define sk_STORE_OBJECT_new(cmp) SKM_sk_new(STORE_OBJECT, (cmp)) +# define sk_STORE_OBJECT_new_null() SKM_sk_new_null(STORE_OBJECT) +# define sk_STORE_OBJECT_free(st) SKM_sk_free(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_num(st) SKM_sk_num(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_value(st, i) SKM_sk_value(STORE_OBJECT, (st), (i)) +# define sk_STORE_OBJECT_set(st, i, val) SKM_sk_set(STORE_OBJECT, (st), (i), (val)) +# define sk_STORE_OBJECT_zero(st) SKM_sk_zero(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_push(st, val) SKM_sk_push(STORE_OBJECT, (st), (val)) +# define sk_STORE_OBJECT_unshift(st, val) SKM_sk_unshift(STORE_OBJECT, (st), (val)) +# define sk_STORE_OBJECT_find(st, val) SKM_sk_find(STORE_OBJECT, (st), (val)) +# define sk_STORE_OBJECT_find_ex(st, val) SKM_sk_find_ex(STORE_OBJECT, (st), (val)) +# define sk_STORE_OBJECT_delete(st, i) SKM_sk_delete(STORE_OBJECT, (st), (i)) +# define sk_STORE_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_OBJECT, (st), (ptr)) +# define sk_STORE_OBJECT_insert(st, val, i) SKM_sk_insert(STORE_OBJECT, (st), (val), (i)) +# define sk_STORE_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_OBJECT, (st), (cmp)) +# define sk_STORE_OBJECT_dup(st) SKM_sk_dup(STORE_OBJECT, st) +# define sk_STORE_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(STORE_OBJECT, (st), (free_func)) +# define sk_STORE_OBJECT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STORE_OBJECT, (st), (copy_func), (free_func)) +# define sk_STORE_OBJECT_shift(st) SKM_sk_shift(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_pop(st) SKM_sk_pop(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_sort(st) SKM_sk_sort(STORE_OBJECT, (st)) +# define sk_STORE_OBJECT_is_sorted(st) SKM_sk_is_sorted(STORE_OBJECT, (st)) +# define sk_SXNETID_new(cmp) SKM_sk_new(SXNETID, (cmp)) +# define sk_SXNETID_new_null() SKM_sk_new_null(SXNETID) +# define sk_SXNETID_free(st) SKM_sk_free(SXNETID, (st)) +# define sk_SXNETID_num(st) SKM_sk_num(SXNETID, (st)) +# define sk_SXNETID_value(st, i) SKM_sk_value(SXNETID, (st), (i)) +# define sk_SXNETID_set(st, i, val) SKM_sk_set(SXNETID, (st), (i), (val)) +# define sk_SXNETID_zero(st) SKM_sk_zero(SXNETID, (st)) +# define sk_SXNETID_push(st, val) SKM_sk_push(SXNETID, (st), (val)) +# define sk_SXNETID_unshift(st, val) SKM_sk_unshift(SXNETID, (st), (val)) +# define sk_SXNETID_find(st, val) SKM_sk_find(SXNETID, (st), (val)) +# define sk_SXNETID_find_ex(st, val) SKM_sk_find_ex(SXNETID, (st), (val)) +# define sk_SXNETID_delete(st, i) SKM_sk_delete(SXNETID, (st), (i)) +# define sk_SXNETID_delete_ptr(st, ptr) SKM_sk_delete_ptr(SXNETID, (st), (ptr)) +# define sk_SXNETID_insert(st, val, i) SKM_sk_insert(SXNETID, (st), (val), (i)) +# define sk_SXNETID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SXNETID, (st), (cmp)) +# define sk_SXNETID_dup(st) SKM_sk_dup(SXNETID, st) +# define sk_SXNETID_pop_free(st, free_func) SKM_sk_pop_free(SXNETID, (st), (free_func)) +# define sk_SXNETID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SXNETID, (st), (copy_func), (free_func)) +# define sk_SXNETID_shift(st) SKM_sk_shift(SXNETID, (st)) +# define sk_SXNETID_pop(st) SKM_sk_pop(SXNETID, (st)) +# define sk_SXNETID_sort(st) SKM_sk_sort(SXNETID, (st)) +# define sk_SXNETID_is_sorted(st) SKM_sk_is_sorted(SXNETID, (st)) +# define sk_UI_STRING_new(cmp) SKM_sk_new(UI_STRING, (cmp)) +# define sk_UI_STRING_new_null() SKM_sk_new_null(UI_STRING) +# define sk_UI_STRING_free(st) SKM_sk_free(UI_STRING, (st)) +# define sk_UI_STRING_num(st) SKM_sk_num(UI_STRING, (st)) +# define sk_UI_STRING_value(st, i) SKM_sk_value(UI_STRING, (st), (i)) +# define sk_UI_STRING_set(st, i, val) SKM_sk_set(UI_STRING, (st), (i), (val)) +# define sk_UI_STRING_zero(st) SKM_sk_zero(UI_STRING, (st)) +# define sk_UI_STRING_push(st, val) SKM_sk_push(UI_STRING, (st), (val)) +# define sk_UI_STRING_unshift(st, val) SKM_sk_unshift(UI_STRING, (st), (val)) +# define sk_UI_STRING_find(st, val) SKM_sk_find(UI_STRING, (st), (val)) +# define sk_UI_STRING_find_ex(st, val) SKM_sk_find_ex(UI_STRING, (st), (val)) +# define sk_UI_STRING_delete(st, i) SKM_sk_delete(UI_STRING, (st), (i)) +# define sk_UI_STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(UI_STRING, (st), (ptr)) +# define sk_UI_STRING_insert(st, val, i) SKM_sk_insert(UI_STRING, (st), (val), (i)) +# define sk_UI_STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(UI_STRING, (st), (cmp)) +# define sk_UI_STRING_dup(st) SKM_sk_dup(UI_STRING, st) +# define sk_UI_STRING_pop_free(st, free_func) SKM_sk_pop_free(UI_STRING, (st), (free_func)) +# define sk_UI_STRING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(UI_STRING, (st), (copy_func), (free_func)) +# define sk_UI_STRING_shift(st) SKM_sk_shift(UI_STRING, (st)) +# define sk_UI_STRING_pop(st) SKM_sk_pop(UI_STRING, (st)) +# define sk_UI_STRING_sort(st) SKM_sk_sort(UI_STRING, (st)) +# define sk_UI_STRING_is_sorted(st) SKM_sk_is_sorted(UI_STRING, (st)) +# define sk_X509_new(cmp) SKM_sk_new(X509, (cmp)) +# define sk_X509_new_null() SKM_sk_new_null(X509) +# define sk_X509_free(st) SKM_sk_free(X509, (st)) +# define sk_X509_num(st) SKM_sk_num(X509, (st)) +# define sk_X509_value(st, i) SKM_sk_value(X509, (st), (i)) +# define sk_X509_set(st, i, val) SKM_sk_set(X509, (st), (i), (val)) +# define sk_X509_zero(st) SKM_sk_zero(X509, (st)) +# define sk_X509_push(st, val) SKM_sk_push(X509, (st), (val)) +# define sk_X509_unshift(st, val) SKM_sk_unshift(X509, (st), (val)) +# define sk_X509_find(st, val) SKM_sk_find(X509, (st), (val)) +# define sk_X509_find_ex(st, val) SKM_sk_find_ex(X509, (st), (val)) +# define sk_X509_delete(st, i) SKM_sk_delete(X509, (st), (i)) +# define sk_X509_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509, (st), (ptr)) +# define sk_X509_insert(st, val, i) SKM_sk_insert(X509, (st), (val), (i)) +# define sk_X509_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509, (st), (cmp)) +# define sk_X509_dup(st) SKM_sk_dup(X509, st) +# define sk_X509_pop_free(st, free_func) SKM_sk_pop_free(X509, (st), (free_func)) +# define sk_X509_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509, (st), (copy_func), (free_func)) +# define sk_X509_shift(st) SKM_sk_shift(X509, (st)) +# define sk_X509_pop(st) SKM_sk_pop(X509, (st)) +# define sk_X509_sort(st) SKM_sk_sort(X509, (st)) +# define sk_X509_is_sorted(st) SKM_sk_is_sorted(X509, (st)) +# define sk_X509V3_EXT_METHOD_new(cmp) SKM_sk_new(X509V3_EXT_METHOD, (cmp)) +# define sk_X509V3_EXT_METHOD_new_null() SKM_sk_new_null(X509V3_EXT_METHOD) +# define sk_X509V3_EXT_METHOD_free(st) SKM_sk_free(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_num(st) SKM_sk_num(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_value(st, i) SKM_sk_value(X509V3_EXT_METHOD, (st), (i)) +# define sk_X509V3_EXT_METHOD_set(st, i, val) SKM_sk_set(X509V3_EXT_METHOD, (st), (i), (val)) +# define sk_X509V3_EXT_METHOD_zero(st) SKM_sk_zero(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_push(st, val) SKM_sk_push(X509V3_EXT_METHOD, (st), (val)) +# define sk_X509V3_EXT_METHOD_unshift(st, val) SKM_sk_unshift(X509V3_EXT_METHOD, (st), (val)) +# define sk_X509V3_EXT_METHOD_find(st, val) SKM_sk_find(X509V3_EXT_METHOD, (st), (val)) +# define sk_X509V3_EXT_METHOD_find_ex(st, val) SKM_sk_find_ex(X509V3_EXT_METHOD, (st), (val)) +# define sk_X509V3_EXT_METHOD_delete(st, i) SKM_sk_delete(X509V3_EXT_METHOD, (st), (i)) +# define sk_X509V3_EXT_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509V3_EXT_METHOD, (st), (ptr)) +# define sk_X509V3_EXT_METHOD_insert(st, val, i) SKM_sk_insert(X509V3_EXT_METHOD, (st), (val), (i)) +# define sk_X509V3_EXT_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509V3_EXT_METHOD, (st), (cmp)) +# define sk_X509V3_EXT_METHOD_dup(st) SKM_sk_dup(X509V3_EXT_METHOD, st) +# define sk_X509V3_EXT_METHOD_pop_free(st, free_func) SKM_sk_pop_free(X509V3_EXT_METHOD, (st), (free_func)) +# define sk_X509V3_EXT_METHOD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509V3_EXT_METHOD, (st), (copy_func), (free_func)) +# define sk_X509V3_EXT_METHOD_shift(st) SKM_sk_shift(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_pop(st) SKM_sk_pop(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_sort(st) SKM_sk_sort(X509V3_EXT_METHOD, (st)) +# define sk_X509V3_EXT_METHOD_is_sorted(st) SKM_sk_is_sorted(X509V3_EXT_METHOD, (st)) +# define sk_X509_ALGOR_new(cmp) SKM_sk_new(X509_ALGOR, (cmp)) +# define sk_X509_ALGOR_new_null() SKM_sk_new_null(X509_ALGOR) +# define sk_X509_ALGOR_free(st) SKM_sk_free(X509_ALGOR, (st)) +# define sk_X509_ALGOR_num(st) SKM_sk_num(X509_ALGOR, (st)) +# define sk_X509_ALGOR_value(st, i) SKM_sk_value(X509_ALGOR, (st), (i)) +# define sk_X509_ALGOR_set(st, i, val) SKM_sk_set(X509_ALGOR, (st), (i), (val)) +# define sk_X509_ALGOR_zero(st) SKM_sk_zero(X509_ALGOR, (st)) +# define sk_X509_ALGOR_push(st, val) SKM_sk_push(X509_ALGOR, (st), (val)) +# define sk_X509_ALGOR_unshift(st, val) SKM_sk_unshift(X509_ALGOR, (st), (val)) +# define sk_X509_ALGOR_find(st, val) SKM_sk_find(X509_ALGOR, (st), (val)) +# define sk_X509_ALGOR_find_ex(st, val) SKM_sk_find_ex(X509_ALGOR, (st), (val)) +# define sk_X509_ALGOR_delete(st, i) SKM_sk_delete(X509_ALGOR, (st), (i)) +# define sk_X509_ALGOR_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ALGOR, (st), (ptr)) +# define sk_X509_ALGOR_insert(st, val, i) SKM_sk_insert(X509_ALGOR, (st), (val), (i)) +# define sk_X509_ALGOR_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ALGOR, (st), (cmp)) +# define sk_X509_ALGOR_dup(st) SKM_sk_dup(X509_ALGOR, st) +# define sk_X509_ALGOR_pop_free(st, free_func) SKM_sk_pop_free(X509_ALGOR, (st), (free_func)) +# define sk_X509_ALGOR_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_ALGOR, (st), (copy_func), (free_func)) +# define sk_X509_ALGOR_shift(st) SKM_sk_shift(X509_ALGOR, (st)) +# define sk_X509_ALGOR_pop(st) SKM_sk_pop(X509_ALGOR, (st)) +# define sk_X509_ALGOR_sort(st) SKM_sk_sort(X509_ALGOR, (st)) +# define sk_X509_ALGOR_is_sorted(st) SKM_sk_is_sorted(X509_ALGOR, (st)) +# define sk_X509_ATTRIBUTE_new(cmp) SKM_sk_new(X509_ATTRIBUTE, (cmp)) +# define sk_X509_ATTRIBUTE_new_null() SKM_sk_new_null(X509_ATTRIBUTE) +# define sk_X509_ATTRIBUTE_free(st) SKM_sk_free(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_num(st) SKM_sk_num(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_value(st, i) SKM_sk_value(X509_ATTRIBUTE, (st), (i)) +# define sk_X509_ATTRIBUTE_set(st, i, val) SKM_sk_set(X509_ATTRIBUTE, (st), (i), (val)) +# define sk_X509_ATTRIBUTE_zero(st) SKM_sk_zero(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_push(st, val) SKM_sk_push(X509_ATTRIBUTE, (st), (val)) +# define sk_X509_ATTRIBUTE_unshift(st, val) SKM_sk_unshift(X509_ATTRIBUTE, (st), (val)) +# define sk_X509_ATTRIBUTE_find(st, val) SKM_sk_find(X509_ATTRIBUTE, (st), (val)) +# define sk_X509_ATTRIBUTE_find_ex(st, val) SKM_sk_find_ex(X509_ATTRIBUTE, (st), (val)) +# define sk_X509_ATTRIBUTE_delete(st, i) SKM_sk_delete(X509_ATTRIBUTE, (st), (i)) +# define sk_X509_ATTRIBUTE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ATTRIBUTE, (st), (ptr)) +# define sk_X509_ATTRIBUTE_insert(st, val, i) SKM_sk_insert(X509_ATTRIBUTE, (st), (val), (i)) +# define sk_X509_ATTRIBUTE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ATTRIBUTE, (st), (cmp)) +# define sk_X509_ATTRIBUTE_dup(st) SKM_sk_dup(X509_ATTRIBUTE, st) +# define sk_X509_ATTRIBUTE_pop_free(st, free_func) SKM_sk_pop_free(X509_ATTRIBUTE, (st), (free_func)) +# define sk_X509_ATTRIBUTE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_ATTRIBUTE, (st), (copy_func), (free_func)) +# define sk_X509_ATTRIBUTE_shift(st) SKM_sk_shift(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_pop(st) SKM_sk_pop(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_sort(st) SKM_sk_sort(X509_ATTRIBUTE, (st)) +# define sk_X509_ATTRIBUTE_is_sorted(st) SKM_sk_is_sorted(X509_ATTRIBUTE, (st)) +# define sk_X509_CRL_new(cmp) SKM_sk_new(X509_CRL, (cmp)) +# define sk_X509_CRL_new_null() SKM_sk_new_null(X509_CRL) +# define sk_X509_CRL_free(st) SKM_sk_free(X509_CRL, (st)) +# define sk_X509_CRL_num(st) SKM_sk_num(X509_CRL, (st)) +# define sk_X509_CRL_value(st, i) SKM_sk_value(X509_CRL, (st), (i)) +# define sk_X509_CRL_set(st, i, val) SKM_sk_set(X509_CRL, (st), (i), (val)) +# define sk_X509_CRL_zero(st) SKM_sk_zero(X509_CRL, (st)) +# define sk_X509_CRL_push(st, val) SKM_sk_push(X509_CRL, (st), (val)) +# define sk_X509_CRL_unshift(st, val) SKM_sk_unshift(X509_CRL, (st), (val)) +# define sk_X509_CRL_find(st, val) SKM_sk_find(X509_CRL, (st), (val)) +# define sk_X509_CRL_find_ex(st, val) SKM_sk_find_ex(X509_CRL, (st), (val)) +# define sk_X509_CRL_delete(st, i) SKM_sk_delete(X509_CRL, (st), (i)) +# define sk_X509_CRL_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_CRL, (st), (ptr)) +# define sk_X509_CRL_insert(st, val, i) SKM_sk_insert(X509_CRL, (st), (val), (i)) +# define sk_X509_CRL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_CRL, (st), (cmp)) +# define sk_X509_CRL_dup(st) SKM_sk_dup(X509_CRL, st) +# define sk_X509_CRL_pop_free(st, free_func) SKM_sk_pop_free(X509_CRL, (st), (free_func)) +# define sk_X509_CRL_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_CRL, (st), (copy_func), (free_func)) +# define sk_X509_CRL_shift(st) SKM_sk_shift(X509_CRL, (st)) +# define sk_X509_CRL_pop(st) SKM_sk_pop(X509_CRL, (st)) +# define sk_X509_CRL_sort(st) SKM_sk_sort(X509_CRL, (st)) +# define sk_X509_CRL_is_sorted(st) SKM_sk_is_sorted(X509_CRL, (st)) +# define sk_X509_EXTENSION_new(cmp) SKM_sk_new(X509_EXTENSION, (cmp)) +# define sk_X509_EXTENSION_new_null() SKM_sk_new_null(X509_EXTENSION) +# define sk_X509_EXTENSION_free(st) SKM_sk_free(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_num(st) SKM_sk_num(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_value(st, i) SKM_sk_value(X509_EXTENSION, (st), (i)) +# define sk_X509_EXTENSION_set(st, i, val) SKM_sk_set(X509_EXTENSION, (st), (i), (val)) +# define sk_X509_EXTENSION_zero(st) SKM_sk_zero(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_push(st, val) SKM_sk_push(X509_EXTENSION, (st), (val)) +# define sk_X509_EXTENSION_unshift(st, val) SKM_sk_unshift(X509_EXTENSION, (st), (val)) +# define sk_X509_EXTENSION_find(st, val) SKM_sk_find(X509_EXTENSION, (st), (val)) +# define sk_X509_EXTENSION_find_ex(st, val) SKM_sk_find_ex(X509_EXTENSION, (st), (val)) +# define sk_X509_EXTENSION_delete(st, i) SKM_sk_delete(X509_EXTENSION, (st), (i)) +# define sk_X509_EXTENSION_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_EXTENSION, (st), (ptr)) +# define sk_X509_EXTENSION_insert(st, val, i) SKM_sk_insert(X509_EXTENSION, (st), (val), (i)) +# define sk_X509_EXTENSION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_EXTENSION, (st), (cmp)) +# define sk_X509_EXTENSION_dup(st) SKM_sk_dup(X509_EXTENSION, st) +# define sk_X509_EXTENSION_pop_free(st, free_func) SKM_sk_pop_free(X509_EXTENSION, (st), (free_func)) +# define sk_X509_EXTENSION_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_EXTENSION, (st), (copy_func), (free_func)) +# define sk_X509_EXTENSION_shift(st) SKM_sk_shift(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_pop(st) SKM_sk_pop(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_sort(st) SKM_sk_sort(X509_EXTENSION, (st)) +# define sk_X509_EXTENSION_is_sorted(st) SKM_sk_is_sorted(X509_EXTENSION, (st)) +# define sk_X509_INFO_new(cmp) SKM_sk_new(X509_INFO, (cmp)) +# define sk_X509_INFO_new_null() SKM_sk_new_null(X509_INFO) +# define sk_X509_INFO_free(st) SKM_sk_free(X509_INFO, (st)) +# define sk_X509_INFO_num(st) SKM_sk_num(X509_INFO, (st)) +# define sk_X509_INFO_value(st, i) SKM_sk_value(X509_INFO, (st), (i)) +# define sk_X509_INFO_set(st, i, val) SKM_sk_set(X509_INFO, (st), (i), (val)) +# define sk_X509_INFO_zero(st) SKM_sk_zero(X509_INFO, (st)) +# define sk_X509_INFO_push(st, val) SKM_sk_push(X509_INFO, (st), (val)) +# define sk_X509_INFO_unshift(st, val) SKM_sk_unshift(X509_INFO, (st), (val)) +# define sk_X509_INFO_find(st, val) SKM_sk_find(X509_INFO, (st), (val)) +# define sk_X509_INFO_find_ex(st, val) SKM_sk_find_ex(X509_INFO, (st), (val)) +# define sk_X509_INFO_delete(st, i) SKM_sk_delete(X509_INFO, (st), (i)) +# define sk_X509_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_INFO, (st), (ptr)) +# define sk_X509_INFO_insert(st, val, i) SKM_sk_insert(X509_INFO, (st), (val), (i)) +# define sk_X509_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_INFO, (st), (cmp)) +# define sk_X509_INFO_dup(st) SKM_sk_dup(X509_INFO, st) +# define sk_X509_INFO_pop_free(st, free_func) SKM_sk_pop_free(X509_INFO, (st), (free_func)) +# define sk_X509_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_INFO, (st), (copy_func), (free_func)) +# define sk_X509_INFO_shift(st) SKM_sk_shift(X509_INFO, (st)) +# define sk_X509_INFO_pop(st) SKM_sk_pop(X509_INFO, (st)) +# define sk_X509_INFO_sort(st) SKM_sk_sort(X509_INFO, (st)) +# define sk_X509_INFO_is_sorted(st) SKM_sk_is_sorted(X509_INFO, (st)) +# define sk_X509_LOOKUP_new(cmp) SKM_sk_new(X509_LOOKUP, (cmp)) +# define sk_X509_LOOKUP_new_null() SKM_sk_new_null(X509_LOOKUP) +# define sk_X509_LOOKUP_free(st) SKM_sk_free(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_num(st) SKM_sk_num(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_value(st, i) SKM_sk_value(X509_LOOKUP, (st), (i)) +# define sk_X509_LOOKUP_set(st, i, val) SKM_sk_set(X509_LOOKUP, (st), (i), (val)) +# define sk_X509_LOOKUP_zero(st) SKM_sk_zero(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_push(st, val) SKM_sk_push(X509_LOOKUP, (st), (val)) +# define sk_X509_LOOKUP_unshift(st, val) SKM_sk_unshift(X509_LOOKUP, (st), (val)) +# define sk_X509_LOOKUP_find(st, val) SKM_sk_find(X509_LOOKUP, (st), (val)) +# define sk_X509_LOOKUP_find_ex(st, val) SKM_sk_find_ex(X509_LOOKUP, (st), (val)) +# define sk_X509_LOOKUP_delete(st, i) SKM_sk_delete(X509_LOOKUP, (st), (i)) +# define sk_X509_LOOKUP_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_LOOKUP, (st), (ptr)) +# define sk_X509_LOOKUP_insert(st, val, i) SKM_sk_insert(X509_LOOKUP, (st), (val), (i)) +# define sk_X509_LOOKUP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_LOOKUP, (st), (cmp)) +# define sk_X509_LOOKUP_dup(st) SKM_sk_dup(X509_LOOKUP, st) +# define sk_X509_LOOKUP_pop_free(st, free_func) SKM_sk_pop_free(X509_LOOKUP, (st), (free_func)) +# define sk_X509_LOOKUP_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_LOOKUP, (st), (copy_func), (free_func)) +# define sk_X509_LOOKUP_shift(st) SKM_sk_shift(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_pop(st) SKM_sk_pop(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_sort(st) SKM_sk_sort(X509_LOOKUP, (st)) +# define sk_X509_LOOKUP_is_sorted(st) SKM_sk_is_sorted(X509_LOOKUP, (st)) +# define sk_X509_NAME_new(cmp) SKM_sk_new(X509_NAME, (cmp)) +# define sk_X509_NAME_new_null() SKM_sk_new_null(X509_NAME) +# define sk_X509_NAME_free(st) SKM_sk_free(X509_NAME, (st)) +# define sk_X509_NAME_num(st) SKM_sk_num(X509_NAME, (st)) +# define sk_X509_NAME_value(st, i) SKM_sk_value(X509_NAME, (st), (i)) +# define sk_X509_NAME_set(st, i, val) SKM_sk_set(X509_NAME, (st), (i), (val)) +# define sk_X509_NAME_zero(st) SKM_sk_zero(X509_NAME, (st)) +# define sk_X509_NAME_push(st, val) SKM_sk_push(X509_NAME, (st), (val)) +# define sk_X509_NAME_unshift(st, val) SKM_sk_unshift(X509_NAME, (st), (val)) +# define sk_X509_NAME_find(st, val) SKM_sk_find(X509_NAME, (st), (val)) +# define sk_X509_NAME_find_ex(st, val) SKM_sk_find_ex(X509_NAME, (st), (val)) +# define sk_X509_NAME_delete(st, i) SKM_sk_delete(X509_NAME, (st), (i)) +# define sk_X509_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME, (st), (ptr)) +# define sk_X509_NAME_insert(st, val, i) SKM_sk_insert(X509_NAME, (st), (val), (i)) +# define sk_X509_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME, (st), (cmp)) +# define sk_X509_NAME_dup(st) SKM_sk_dup(X509_NAME, st) +# define sk_X509_NAME_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME, (st), (free_func)) +# define sk_X509_NAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_NAME, (st), (copy_func), (free_func)) +# define sk_X509_NAME_shift(st) SKM_sk_shift(X509_NAME, (st)) +# define sk_X509_NAME_pop(st) SKM_sk_pop(X509_NAME, (st)) +# define sk_X509_NAME_sort(st) SKM_sk_sort(X509_NAME, (st)) +# define sk_X509_NAME_is_sorted(st) SKM_sk_is_sorted(X509_NAME, (st)) +# define sk_X509_NAME_ENTRY_new(cmp) SKM_sk_new(X509_NAME_ENTRY, (cmp)) +# define sk_X509_NAME_ENTRY_new_null() SKM_sk_new_null(X509_NAME_ENTRY) +# define sk_X509_NAME_ENTRY_free(st) SKM_sk_free(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_num(st) SKM_sk_num(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_value(st, i) SKM_sk_value(X509_NAME_ENTRY, (st), (i)) +# define sk_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(X509_NAME_ENTRY, (st), (i), (val)) +# define sk_X509_NAME_ENTRY_zero(st) SKM_sk_zero(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_push(st, val) SKM_sk_push(X509_NAME_ENTRY, (st), (val)) +# define sk_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(X509_NAME_ENTRY, (st), (val)) +# define sk_X509_NAME_ENTRY_find(st, val) SKM_sk_find(X509_NAME_ENTRY, (st), (val)) +# define sk_X509_NAME_ENTRY_find_ex(st, val) SKM_sk_find_ex(X509_NAME_ENTRY, (st), (val)) +# define sk_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(X509_NAME_ENTRY, (st), (i)) +# define sk_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME_ENTRY, (st), (ptr)) +# define sk_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(X509_NAME_ENTRY, (st), (val), (i)) +# define sk_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME_ENTRY, (st), (cmp)) +# define sk_X509_NAME_ENTRY_dup(st) SKM_sk_dup(X509_NAME_ENTRY, st) +# define sk_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME_ENTRY, (st), (free_func)) +# define sk_X509_NAME_ENTRY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_NAME_ENTRY, (st), (copy_func), (free_func)) +# define sk_X509_NAME_ENTRY_shift(st) SKM_sk_shift(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_pop(st) SKM_sk_pop(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_sort(st) SKM_sk_sort(X509_NAME_ENTRY, (st)) +# define sk_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(X509_NAME_ENTRY, (st)) +# define sk_X509_OBJECT_new(cmp) SKM_sk_new(X509_OBJECT, (cmp)) +# define sk_X509_OBJECT_new_null() SKM_sk_new_null(X509_OBJECT) +# define sk_X509_OBJECT_free(st) SKM_sk_free(X509_OBJECT, (st)) +# define sk_X509_OBJECT_num(st) SKM_sk_num(X509_OBJECT, (st)) +# define sk_X509_OBJECT_value(st, i) SKM_sk_value(X509_OBJECT, (st), (i)) +# define sk_X509_OBJECT_set(st, i, val) SKM_sk_set(X509_OBJECT, (st), (i), (val)) +# define sk_X509_OBJECT_zero(st) SKM_sk_zero(X509_OBJECT, (st)) +# define sk_X509_OBJECT_push(st, val) SKM_sk_push(X509_OBJECT, (st), (val)) +# define sk_X509_OBJECT_unshift(st, val) SKM_sk_unshift(X509_OBJECT, (st), (val)) +# define sk_X509_OBJECT_find(st, val) SKM_sk_find(X509_OBJECT, (st), (val)) +# define sk_X509_OBJECT_find_ex(st, val) SKM_sk_find_ex(X509_OBJECT, (st), (val)) +# define sk_X509_OBJECT_delete(st, i) SKM_sk_delete(X509_OBJECT, (st), (i)) +# define sk_X509_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_OBJECT, (st), (ptr)) +# define sk_X509_OBJECT_insert(st, val, i) SKM_sk_insert(X509_OBJECT, (st), (val), (i)) +# define sk_X509_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_OBJECT, (st), (cmp)) +# define sk_X509_OBJECT_dup(st) SKM_sk_dup(X509_OBJECT, st) +# define sk_X509_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(X509_OBJECT, (st), (free_func)) +# define sk_X509_OBJECT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_OBJECT, (st), (copy_func), (free_func)) +# define sk_X509_OBJECT_shift(st) SKM_sk_shift(X509_OBJECT, (st)) +# define sk_X509_OBJECT_pop(st) SKM_sk_pop(X509_OBJECT, (st)) +# define sk_X509_OBJECT_sort(st) SKM_sk_sort(X509_OBJECT, (st)) +# define sk_X509_OBJECT_is_sorted(st) SKM_sk_is_sorted(X509_OBJECT, (st)) +# define sk_X509_POLICY_DATA_new(cmp) SKM_sk_new(X509_POLICY_DATA, (cmp)) +# define sk_X509_POLICY_DATA_new_null() SKM_sk_new_null(X509_POLICY_DATA) +# define sk_X509_POLICY_DATA_free(st) SKM_sk_free(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_num(st) SKM_sk_num(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_value(st, i) SKM_sk_value(X509_POLICY_DATA, (st), (i)) +# define sk_X509_POLICY_DATA_set(st, i, val) SKM_sk_set(X509_POLICY_DATA, (st), (i), (val)) +# define sk_X509_POLICY_DATA_zero(st) SKM_sk_zero(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_push(st, val) SKM_sk_push(X509_POLICY_DATA, (st), (val)) +# define sk_X509_POLICY_DATA_unshift(st, val) SKM_sk_unshift(X509_POLICY_DATA, (st), (val)) +# define sk_X509_POLICY_DATA_find(st, val) SKM_sk_find(X509_POLICY_DATA, (st), (val)) +# define sk_X509_POLICY_DATA_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_DATA, (st), (val)) +# define sk_X509_POLICY_DATA_delete(st, i) SKM_sk_delete(X509_POLICY_DATA, (st), (i)) +# define sk_X509_POLICY_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_DATA, (st), (ptr)) +# define sk_X509_POLICY_DATA_insert(st, val, i) SKM_sk_insert(X509_POLICY_DATA, (st), (val), (i)) +# define sk_X509_POLICY_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_DATA, (st), (cmp)) +# define sk_X509_POLICY_DATA_dup(st) SKM_sk_dup(X509_POLICY_DATA, st) +# define sk_X509_POLICY_DATA_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_DATA, (st), (free_func)) +# define sk_X509_POLICY_DATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_POLICY_DATA, (st), (copy_func), (free_func)) +# define sk_X509_POLICY_DATA_shift(st) SKM_sk_shift(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_pop(st) SKM_sk_pop(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_sort(st) SKM_sk_sort(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_DATA_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_DATA, (st)) +# define sk_X509_POLICY_NODE_new(cmp) SKM_sk_new(X509_POLICY_NODE, (cmp)) +# define sk_X509_POLICY_NODE_new_null() SKM_sk_new_null(X509_POLICY_NODE) +# define sk_X509_POLICY_NODE_free(st) SKM_sk_free(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_num(st) SKM_sk_num(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_value(st, i) SKM_sk_value(X509_POLICY_NODE, (st), (i)) +# define sk_X509_POLICY_NODE_set(st, i, val) SKM_sk_set(X509_POLICY_NODE, (st), (i), (val)) +# define sk_X509_POLICY_NODE_zero(st) SKM_sk_zero(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_push(st, val) SKM_sk_push(X509_POLICY_NODE, (st), (val)) +# define sk_X509_POLICY_NODE_unshift(st, val) SKM_sk_unshift(X509_POLICY_NODE, (st), (val)) +# define sk_X509_POLICY_NODE_find(st, val) SKM_sk_find(X509_POLICY_NODE, (st), (val)) +# define sk_X509_POLICY_NODE_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_NODE, (st), (val)) +# define sk_X509_POLICY_NODE_delete(st, i) SKM_sk_delete(X509_POLICY_NODE, (st), (i)) +# define sk_X509_POLICY_NODE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_NODE, (st), (ptr)) +# define sk_X509_POLICY_NODE_insert(st, val, i) SKM_sk_insert(X509_POLICY_NODE, (st), (val), (i)) +# define sk_X509_POLICY_NODE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_NODE, (st), (cmp)) +# define sk_X509_POLICY_NODE_dup(st) SKM_sk_dup(X509_POLICY_NODE, st) +# define sk_X509_POLICY_NODE_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_NODE, (st), (free_func)) +# define sk_X509_POLICY_NODE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_POLICY_NODE, (st), (copy_func), (free_func)) +# define sk_X509_POLICY_NODE_shift(st) SKM_sk_shift(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_pop(st) SKM_sk_pop(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_sort(st) SKM_sk_sort(X509_POLICY_NODE, (st)) +# define sk_X509_POLICY_NODE_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_NODE, (st)) +# define sk_X509_PURPOSE_new(cmp) SKM_sk_new(X509_PURPOSE, (cmp)) +# define sk_X509_PURPOSE_new_null() SKM_sk_new_null(X509_PURPOSE) +# define sk_X509_PURPOSE_free(st) SKM_sk_free(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_num(st) SKM_sk_num(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_value(st, i) SKM_sk_value(X509_PURPOSE, (st), (i)) +# define sk_X509_PURPOSE_set(st, i, val) SKM_sk_set(X509_PURPOSE, (st), (i), (val)) +# define sk_X509_PURPOSE_zero(st) SKM_sk_zero(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_push(st, val) SKM_sk_push(X509_PURPOSE, (st), (val)) +# define sk_X509_PURPOSE_unshift(st, val) SKM_sk_unshift(X509_PURPOSE, (st), (val)) +# define sk_X509_PURPOSE_find(st, val) SKM_sk_find(X509_PURPOSE, (st), (val)) +# define sk_X509_PURPOSE_find_ex(st, val) SKM_sk_find_ex(X509_PURPOSE, (st), (val)) +# define sk_X509_PURPOSE_delete(st, i) SKM_sk_delete(X509_PURPOSE, (st), (i)) +# define sk_X509_PURPOSE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_PURPOSE, (st), (ptr)) +# define sk_X509_PURPOSE_insert(st, val, i) SKM_sk_insert(X509_PURPOSE, (st), (val), (i)) +# define sk_X509_PURPOSE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_PURPOSE, (st), (cmp)) +# define sk_X509_PURPOSE_dup(st) SKM_sk_dup(X509_PURPOSE, st) +# define sk_X509_PURPOSE_pop_free(st, free_func) SKM_sk_pop_free(X509_PURPOSE, (st), (free_func)) +# define sk_X509_PURPOSE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_PURPOSE, (st), (copy_func), (free_func)) +# define sk_X509_PURPOSE_shift(st) SKM_sk_shift(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_pop(st) SKM_sk_pop(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_sort(st) SKM_sk_sort(X509_PURPOSE, (st)) +# define sk_X509_PURPOSE_is_sorted(st) SKM_sk_is_sorted(X509_PURPOSE, (st)) +# define sk_X509_REVOKED_new(cmp) SKM_sk_new(X509_REVOKED, (cmp)) +# define sk_X509_REVOKED_new_null() SKM_sk_new_null(X509_REVOKED) +# define sk_X509_REVOKED_free(st) SKM_sk_free(X509_REVOKED, (st)) +# define sk_X509_REVOKED_num(st) SKM_sk_num(X509_REVOKED, (st)) +# define sk_X509_REVOKED_value(st, i) SKM_sk_value(X509_REVOKED, (st), (i)) +# define sk_X509_REVOKED_set(st, i, val) SKM_sk_set(X509_REVOKED, (st), (i), (val)) +# define sk_X509_REVOKED_zero(st) SKM_sk_zero(X509_REVOKED, (st)) +# define sk_X509_REVOKED_push(st, val) SKM_sk_push(X509_REVOKED, (st), (val)) +# define sk_X509_REVOKED_unshift(st, val) SKM_sk_unshift(X509_REVOKED, (st), (val)) +# define sk_X509_REVOKED_find(st, val) SKM_sk_find(X509_REVOKED, (st), (val)) +# define sk_X509_REVOKED_find_ex(st, val) SKM_sk_find_ex(X509_REVOKED, (st), (val)) +# define sk_X509_REVOKED_delete(st, i) SKM_sk_delete(X509_REVOKED, (st), (i)) +# define sk_X509_REVOKED_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_REVOKED, (st), (ptr)) +# define sk_X509_REVOKED_insert(st, val, i) SKM_sk_insert(X509_REVOKED, (st), (val), (i)) +# define sk_X509_REVOKED_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_REVOKED, (st), (cmp)) +# define sk_X509_REVOKED_dup(st) SKM_sk_dup(X509_REVOKED, st) +# define sk_X509_REVOKED_pop_free(st, free_func) SKM_sk_pop_free(X509_REVOKED, (st), (free_func)) +# define sk_X509_REVOKED_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_REVOKED, (st), (copy_func), (free_func)) +# define sk_X509_REVOKED_shift(st) SKM_sk_shift(X509_REVOKED, (st)) +# define sk_X509_REVOKED_pop(st) SKM_sk_pop(X509_REVOKED, (st)) +# define sk_X509_REVOKED_sort(st) SKM_sk_sort(X509_REVOKED, (st)) +# define sk_X509_REVOKED_is_sorted(st) SKM_sk_is_sorted(X509_REVOKED, (st)) +# define sk_X509_TRUST_new(cmp) SKM_sk_new(X509_TRUST, (cmp)) +# define sk_X509_TRUST_new_null() SKM_sk_new_null(X509_TRUST) +# define sk_X509_TRUST_free(st) SKM_sk_free(X509_TRUST, (st)) +# define sk_X509_TRUST_num(st) SKM_sk_num(X509_TRUST, (st)) +# define sk_X509_TRUST_value(st, i) SKM_sk_value(X509_TRUST, (st), (i)) +# define sk_X509_TRUST_set(st, i, val) SKM_sk_set(X509_TRUST, (st), (i), (val)) +# define sk_X509_TRUST_zero(st) SKM_sk_zero(X509_TRUST, (st)) +# define sk_X509_TRUST_push(st, val) SKM_sk_push(X509_TRUST, (st), (val)) +# define sk_X509_TRUST_unshift(st, val) SKM_sk_unshift(X509_TRUST, (st), (val)) +# define sk_X509_TRUST_find(st, val) SKM_sk_find(X509_TRUST, (st), (val)) +# define sk_X509_TRUST_find_ex(st, val) SKM_sk_find_ex(X509_TRUST, (st), (val)) +# define sk_X509_TRUST_delete(st, i) SKM_sk_delete(X509_TRUST, (st), (i)) +# define sk_X509_TRUST_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_TRUST, (st), (ptr)) +# define sk_X509_TRUST_insert(st, val, i) SKM_sk_insert(X509_TRUST, (st), (val), (i)) +# define sk_X509_TRUST_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_TRUST, (st), (cmp)) +# define sk_X509_TRUST_dup(st) SKM_sk_dup(X509_TRUST, st) +# define sk_X509_TRUST_pop_free(st, free_func) SKM_sk_pop_free(X509_TRUST, (st), (free_func)) +# define sk_X509_TRUST_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_TRUST, (st), (copy_func), (free_func)) +# define sk_X509_TRUST_shift(st) SKM_sk_shift(X509_TRUST, (st)) +# define sk_X509_TRUST_pop(st) SKM_sk_pop(X509_TRUST, (st)) +# define sk_X509_TRUST_sort(st) SKM_sk_sort(X509_TRUST, (st)) +# define sk_X509_TRUST_is_sorted(st) SKM_sk_is_sorted(X509_TRUST, (st)) +# define sk_X509_VERIFY_PARAM_new(cmp) SKM_sk_new(X509_VERIFY_PARAM, (cmp)) +# define sk_X509_VERIFY_PARAM_new_null() SKM_sk_new_null(X509_VERIFY_PARAM) +# define sk_X509_VERIFY_PARAM_free(st) SKM_sk_free(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_num(st) SKM_sk_num(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_value(st, i) SKM_sk_value(X509_VERIFY_PARAM, (st), (i)) +# define sk_X509_VERIFY_PARAM_set(st, i, val) SKM_sk_set(X509_VERIFY_PARAM, (st), (i), (val)) +# define sk_X509_VERIFY_PARAM_zero(st) SKM_sk_zero(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_push(st, val) SKM_sk_push(X509_VERIFY_PARAM, (st), (val)) +# define sk_X509_VERIFY_PARAM_unshift(st, val) SKM_sk_unshift(X509_VERIFY_PARAM, (st), (val)) +# define sk_X509_VERIFY_PARAM_find(st, val) SKM_sk_find(X509_VERIFY_PARAM, (st), (val)) +# define sk_X509_VERIFY_PARAM_find_ex(st, val) SKM_sk_find_ex(X509_VERIFY_PARAM, (st), (val)) +# define sk_X509_VERIFY_PARAM_delete(st, i) SKM_sk_delete(X509_VERIFY_PARAM, (st), (i)) +# define sk_X509_VERIFY_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_VERIFY_PARAM, (st), (ptr)) +# define sk_X509_VERIFY_PARAM_insert(st, val, i) SKM_sk_insert(X509_VERIFY_PARAM, (st), (val), (i)) +# define sk_X509_VERIFY_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_VERIFY_PARAM, (st), (cmp)) +# define sk_X509_VERIFY_PARAM_dup(st) SKM_sk_dup(X509_VERIFY_PARAM, st) +# define sk_X509_VERIFY_PARAM_pop_free(st, free_func) SKM_sk_pop_free(X509_VERIFY_PARAM, (st), (free_func)) +# define sk_X509_VERIFY_PARAM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_VERIFY_PARAM, (st), (copy_func), (free_func)) +# define sk_X509_VERIFY_PARAM_shift(st) SKM_sk_shift(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_pop(st) SKM_sk_pop(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_sort(st) SKM_sk_sort(X509_VERIFY_PARAM, (st)) +# define sk_X509_VERIFY_PARAM_is_sorted(st) SKM_sk_is_sorted(X509_VERIFY_PARAM, (st)) +# define sk_nid_triple_new(cmp) SKM_sk_new(nid_triple, (cmp)) +# define sk_nid_triple_new_null() SKM_sk_new_null(nid_triple) +# define sk_nid_triple_free(st) SKM_sk_free(nid_triple, (st)) +# define sk_nid_triple_num(st) SKM_sk_num(nid_triple, (st)) +# define sk_nid_triple_value(st, i) SKM_sk_value(nid_triple, (st), (i)) +# define sk_nid_triple_set(st, i, val) SKM_sk_set(nid_triple, (st), (i), (val)) +# define sk_nid_triple_zero(st) SKM_sk_zero(nid_triple, (st)) +# define sk_nid_triple_push(st, val) SKM_sk_push(nid_triple, (st), (val)) +# define sk_nid_triple_unshift(st, val) SKM_sk_unshift(nid_triple, (st), (val)) +# define sk_nid_triple_find(st, val) SKM_sk_find(nid_triple, (st), (val)) +# define sk_nid_triple_find_ex(st, val) SKM_sk_find_ex(nid_triple, (st), (val)) +# define sk_nid_triple_delete(st, i) SKM_sk_delete(nid_triple, (st), (i)) +# define sk_nid_triple_delete_ptr(st, ptr) SKM_sk_delete_ptr(nid_triple, (st), (ptr)) +# define sk_nid_triple_insert(st, val, i) SKM_sk_insert(nid_triple, (st), (val), (i)) +# define sk_nid_triple_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(nid_triple, (st), (cmp)) +# define sk_nid_triple_dup(st) SKM_sk_dup(nid_triple, st) +# define sk_nid_triple_pop_free(st, free_func) SKM_sk_pop_free(nid_triple, (st), (free_func)) +# define sk_nid_triple_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(nid_triple, (st), (copy_func), (free_func)) +# define sk_nid_triple_shift(st) SKM_sk_shift(nid_triple, (st)) +# define sk_nid_triple_pop(st) SKM_sk_pop(nid_triple, (st)) +# define sk_nid_triple_sort(st) SKM_sk_sort(nid_triple, (st)) +# define sk_nid_triple_is_sorted(st) SKM_sk_is_sorted(nid_triple, (st)) +# define sk_void_new(cmp) SKM_sk_new(void, (cmp)) +# define sk_void_new_null() SKM_sk_new_null(void) +# define sk_void_free(st) SKM_sk_free(void, (st)) +# define sk_void_num(st) SKM_sk_num(void, (st)) +# define sk_void_value(st, i) SKM_sk_value(void, (st), (i)) +# define sk_void_set(st, i, val) SKM_sk_set(void, (st), (i), (val)) +# define sk_void_zero(st) SKM_sk_zero(void, (st)) +# define sk_void_push(st, val) SKM_sk_push(void, (st), (val)) +# define sk_void_unshift(st, val) SKM_sk_unshift(void, (st), (val)) +# define sk_void_find(st, val) SKM_sk_find(void, (st), (val)) +# define sk_void_find_ex(st, val) SKM_sk_find_ex(void, (st), (val)) +# define sk_void_delete(st, i) SKM_sk_delete(void, (st), (i)) +# define sk_void_delete_ptr(st, ptr) SKM_sk_delete_ptr(void, (st), (ptr)) +# define sk_void_insert(st, val, i) SKM_sk_insert(void, (st), (val), (i)) +# define sk_void_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(void, (st), (cmp)) +# define sk_void_dup(st) SKM_sk_dup(void, st) +# define sk_void_pop_free(st, free_func) SKM_sk_pop_free(void, (st), (free_func)) +# define sk_void_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(void, (st), (copy_func), (free_func)) +# define sk_void_shift(st) SKM_sk_shift(void, (st)) +# define sk_void_pop(st) SKM_sk_pop(void, (st)) +# define sk_void_sort(st) SKM_sk_sort(void, (st)) +# define sk_void_is_sorted(st) SKM_sk_is_sorted(void, (st)) +# define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)sk_new(CHECKED_SK_CMP_FUNC(char, cmp))) +# define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)sk_new_null()) +# define sk_OPENSSL_STRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_value(st, i) ((OPENSSL_STRING)sk_value(CHECKED_STACK_OF(OPENSSL_STRING, st), i)) +# define sk_OPENSSL_STRING_num(st) SKM_sk_num(OPENSSL_STRING, st) +# define sk_OPENSSL_STRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_FREE_FUNC(char, free_func)) +# define sk_OPENSSL_STRING_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_STRING) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_COPY_FUNC(char, copy_func), CHECKED_SK_FREE_FUNC(char, free_func))) +# define sk_OPENSSL_STRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val), i) +# define sk_OPENSSL_STRING_free(st) SKM_sk_free(OPENSSL_STRING, st) +# define sk_OPENSSL_STRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_STRING, st), i, CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_zero(st) SKM_sk_zero(OPENSSL_STRING, (st)) +# define sk_OPENSSL_STRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_STRING), st), CHECKED_CONST_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_delete(st, i) SKM_sk_delete(OPENSSL_STRING, (st), (i)) +# define sk_OPENSSL_STRING_delete_ptr(st, ptr) (OPENSSL_STRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, ptr)) +# define sk_OPENSSL_STRING_set_cmp_func(st, cmp) \ + ((int (*)(const char * const *,const char * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_CMP_FUNC(char, cmp))) +# define sk_OPENSSL_STRING_dup(st) SKM_sk_dup(OPENSSL_STRING, st) +# define sk_OPENSSL_STRING_shift(st) SKM_sk_shift(OPENSSL_STRING, (st)) +# define sk_OPENSSL_STRING_pop(st) (char *)sk_pop(CHECKED_STACK_OF(OPENSSL_STRING, st)) +# define sk_OPENSSL_STRING_sort(st) SKM_sk_sort(OPENSSL_STRING, (st)) +# define sk_OPENSSL_STRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_STRING, (st)) +# define sk_OPENSSL_BLOCK_new(cmp) ((STACK_OF(OPENSSL_BLOCK) *)sk_new(CHECKED_SK_CMP_FUNC(void, cmp))) +# define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)sk_new_null()) +# define sk_OPENSSL_BLOCK_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_value(st, i) ((OPENSSL_BLOCK)sk_value(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i)) +# define sk_OPENSSL_BLOCK_num(st) SKM_sk_num(OPENSSL_BLOCK, st) +# define sk_OPENSSL_BLOCK_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_FREE_FUNC(void, free_func)) +# define sk_OPENSSL_BLOCK_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_BLOCK) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_COPY_FUNC(void, copy_func), CHECKED_SK_FREE_FUNC(void, free_func))) +# define sk_OPENSSL_BLOCK_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val), i) +# define sk_OPENSSL_BLOCK_free(st) SKM_sk_free(OPENSSL_BLOCK, st) +# define sk_OPENSSL_BLOCK_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i, CHECKED_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_zero(st) SKM_sk_zero(OPENSSL_BLOCK, (st)) +# define sk_OPENSSL_BLOCK_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_BLOCK), st), CHECKED_CONST_PTR_OF(void, val)) +# define sk_OPENSSL_BLOCK_delete(st, i) SKM_sk_delete(OPENSSL_BLOCK, (st), (i)) +# define sk_OPENSSL_BLOCK_delete_ptr(st, ptr) (OPENSSL_BLOCK *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, ptr)) +# define sk_OPENSSL_BLOCK_set_cmp_func(st, cmp) \ + ((int (*)(const void * const *,const void * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_CMP_FUNC(void, cmp))) +# define sk_OPENSSL_BLOCK_dup(st) SKM_sk_dup(OPENSSL_BLOCK, st) +# define sk_OPENSSL_BLOCK_shift(st) SKM_sk_shift(OPENSSL_BLOCK, (st)) +# define sk_OPENSSL_BLOCK_pop(st) (void *)sk_pop(CHECKED_STACK_OF(OPENSSL_BLOCK, st)) +# define sk_OPENSSL_BLOCK_sort(st) SKM_sk_sort(OPENSSL_BLOCK, (st)) +# define sk_OPENSSL_BLOCK_is_sorted(st) SKM_sk_is_sorted(OPENSSL_BLOCK, (st)) +# define sk_OPENSSL_PSTRING_new(cmp) ((STACK_OF(OPENSSL_PSTRING) *)sk_new(CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) +# define sk_OPENSSL_PSTRING_new_null() ((STACK_OF(OPENSSL_PSTRING) *)sk_new_null()) +# define sk_OPENSSL_PSTRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_value(st, i) ((OPENSSL_PSTRING)sk_value(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i)) +# define sk_OPENSSL_PSTRING_num(st) SKM_sk_num(OPENSSL_PSTRING, st) +# define sk_OPENSSL_PSTRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_FREE_FUNC(OPENSSL_STRING, free_func)) +# define sk_OPENSSL_PSTRING_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_PSTRING) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_COPY_FUNC(OPENSSL_STRING, copy_func), CHECKED_SK_FREE_FUNC(OPENSSL_STRING, free_func))) +# define sk_OPENSSL_PSTRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val), i) +# define sk_OPENSSL_PSTRING_free(st) SKM_sk_free(OPENSSL_PSTRING, st) +# define sk_OPENSSL_PSTRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i, CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_zero(st) SKM_sk_zero(OPENSSL_PSTRING, (st)) +# define sk_OPENSSL_PSTRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_PSTRING), st), CHECKED_CONST_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_delete(st, i) SKM_sk_delete(OPENSSL_PSTRING, (st), (i)) +# define sk_OPENSSL_PSTRING_delete_ptr(st, ptr) (OPENSSL_PSTRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, ptr)) +# define sk_OPENSSL_PSTRING_set_cmp_func(st, cmp) \ + ((int (*)(const OPENSSL_STRING * const *,const OPENSSL_STRING * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) +# define sk_OPENSSL_PSTRING_dup(st) SKM_sk_dup(OPENSSL_PSTRING, st) +# define sk_OPENSSL_PSTRING_shift(st) SKM_sk_shift(OPENSSL_PSTRING, (st)) +# define sk_OPENSSL_PSTRING_pop(st) (OPENSSL_STRING *)sk_pop(CHECKED_STACK_OF(OPENSSL_PSTRING, st)) +# define sk_OPENSSL_PSTRING_sort(st) SKM_sk_sort(OPENSSL_PSTRING, (st)) +# define sk_OPENSSL_PSTRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_PSTRING, (st)) +# define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ACCESS_DESCRIPTION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ACCESS_DESCRIPTION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ACCESS_DESCRIPTION(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ACCESS_DESCRIPTION, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ACCESS_DESCRIPTION(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ACCESS_DESCRIPTION, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ASN1_INTEGER(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ASN1_INTEGER, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ASN1_INTEGER(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ASN1_INTEGER, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ASN1_INTEGER(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ASN1_INTEGER, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ASN1_INTEGER(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ASN1_INTEGER, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ASN1_OBJECT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ASN1_OBJECT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ASN1_OBJECT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ASN1_OBJECT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ASN1_OBJECT(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ASN1_OBJECT, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ASN1_OBJECT(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ASN1_OBJECT, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ASN1_TYPE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ASN1_TYPE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ASN1_TYPE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ASN1_TYPE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ASN1_TYPE(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ASN1_TYPE, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ASN1_TYPE(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ASN1_TYPE, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ASN1_UTF8STRING, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ASN1_UTF8STRING, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ASN1_UTF8STRING(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ASN1_UTF8STRING, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ASN1_UTF8STRING(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ASN1_UTF8STRING, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_DIST_POINT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(DIST_POINT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_DIST_POINT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(DIST_POINT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_DIST_POINT(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(DIST_POINT, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_DIST_POINT(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(DIST_POINT, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_ESS_CERT_ID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(ESS_CERT_ID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_ESS_CERT_ID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(ESS_CERT_ID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_ESS_CERT_ID(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(ESS_CERT_ID, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_ESS_CERT_ID(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(ESS_CERT_ID, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_EVP_MD(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(EVP_MD, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_EVP_MD(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(EVP_MD, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_EVP_MD(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(EVP_MD, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_EVP_MD(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(EVP_MD, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_GENERAL_NAME(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(GENERAL_NAME, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_GENERAL_NAME(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(GENERAL_NAME, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_GENERAL_NAME(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(GENERAL_NAME, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_GENERAL_NAME(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(GENERAL_NAME, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_OCSP_ONEREQ(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(OCSP_ONEREQ, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_OCSP_ONEREQ(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(OCSP_ONEREQ, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_OCSP_ONEREQ(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(OCSP_ONEREQ, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_OCSP_ONEREQ(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(OCSP_ONEREQ, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(OCSP_SINGLERESP, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(OCSP_SINGLERESP, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_OCSP_SINGLERESP(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(OCSP_SINGLERESP, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_OCSP_SINGLERESP(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(OCSP_SINGLERESP, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(PKCS12_SAFEBAG, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(PKCS12_SAFEBAG, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_PKCS12_SAFEBAG(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(PKCS12_SAFEBAG, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_PKCS12_SAFEBAG(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(PKCS12_SAFEBAG, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_PKCS7(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(PKCS7, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_PKCS7(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(PKCS7, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_PKCS7(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(PKCS7, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_PKCS7(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(PKCS7, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(PKCS7_RECIP_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(PKCS7_RECIP_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_PKCS7_RECIP_INFO(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(PKCS7_RECIP_INFO, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_PKCS7_RECIP_INFO(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(PKCS7_RECIP_INFO, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(PKCS7_SIGNER_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(PKCS7_SIGNER_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_PKCS7_SIGNER_INFO(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(PKCS7_SIGNER_INFO, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_PKCS7_SIGNER_INFO(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(PKCS7_SIGNER_INFO, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_POLICYINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(POLICYINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_POLICYINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(POLICYINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_POLICYINFO(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(POLICYINFO, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_POLICYINFO(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(POLICYINFO, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_POLICYQUALINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(POLICYQUALINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_POLICYQUALINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(POLICYQUALINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_POLICYQUALINFO(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(POLICYQUALINFO, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_POLICYQUALINFO(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(POLICYQUALINFO, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_SXNETID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(SXNETID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_SXNETID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(SXNETID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_SXNETID(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(SXNETID, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_SXNETID(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(SXNETID, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_ALGOR(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_ALGOR, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_ALGOR(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_ALGOR, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_ALGOR(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_ALGOR, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_ALGOR(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_ALGOR, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_ATTRIBUTE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_ATTRIBUTE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_ATTRIBUTE(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_ATTRIBUTE, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_ATTRIBUTE(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_ATTRIBUTE, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_CRL(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_CRL, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_CRL(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_CRL, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_CRL(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_CRL, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_CRL(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_CRL, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_EXTENSION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_EXTENSION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_EXTENSION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_EXTENSION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_EXTENSION(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_EXTENSION, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_EXTENSION(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_EXTENSION, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_NAME_ENTRY, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_NAME_ENTRY, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_NAME_ENTRY(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_NAME_ENTRY, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_NAME_ENTRY(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_NAME_ENTRY, (buf), (len), (d2i_func), (free_func)) +# define d2i_ASN1_SET_OF_X509_REVOKED(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ + SKM_ASN1_SET_OF_d2i(X509_REVOKED, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) +# define i2d_ASN1_SET_OF_X509_REVOKED(st, pp, i2d_func, ex_tag, ex_class, is_set) \ + SKM_ASN1_SET_OF_i2d(X509_REVOKED, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) +# define ASN1_seq_pack_X509_REVOKED(st, i2d_func, buf, len) \ + SKM_ASN1_seq_pack(X509_REVOKED, (st), (i2d_func), (buf), (len)) +# define ASN1_seq_unpack_X509_REVOKED(buf, len, d2i_func, free_func) \ + SKM_ASN1_seq_unpack(X509_REVOKED, (buf), (len), (d2i_func), (free_func)) +# define PKCS12_decrypt_d2i_PKCS12_SAFEBAG(algor, d2i_func, free_func, pass, passlen, oct, seq) \ + SKM_PKCS12_decrypt_d2i(PKCS12_SAFEBAG, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) +# define PKCS12_decrypt_d2i_PKCS7(algor, d2i_func, free_func, pass, passlen, oct, seq) \ + SKM_PKCS12_decrypt_d2i(PKCS7, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) +# define lh_ADDED_OBJ_new() LHM_lh_new(ADDED_OBJ,added_obj) +# define lh_ADDED_OBJ_insert(lh,inst) LHM_lh_insert(ADDED_OBJ,lh,inst) +# define lh_ADDED_OBJ_retrieve(lh,inst) LHM_lh_retrieve(ADDED_OBJ,lh,inst) +# define lh_ADDED_OBJ_delete(lh,inst) LHM_lh_delete(ADDED_OBJ,lh,inst) +# define lh_ADDED_OBJ_doall(lh,fn) LHM_lh_doall(ADDED_OBJ,lh,fn) +# define lh_ADDED_OBJ_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ADDED_OBJ,lh,fn,arg_type,arg) +# define lh_ADDED_OBJ_error(lh) LHM_lh_error(ADDED_OBJ,lh) +# define lh_ADDED_OBJ_num_items(lh) LHM_lh_num_items(ADDED_OBJ,lh) +# define lh_ADDED_OBJ_down_load(lh) LHM_lh_down_load(ADDED_OBJ,lh) +# define lh_ADDED_OBJ_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(ADDED_OBJ,lh,out) +# define lh_ADDED_OBJ_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(ADDED_OBJ,lh,out) +# define lh_ADDED_OBJ_stats_bio(lh,out) \ + LHM_lh_stats_bio(ADDED_OBJ,lh,out) +# define lh_ADDED_OBJ_free(lh) LHM_lh_free(ADDED_OBJ,lh) +# define lh_APP_INFO_new() LHM_lh_new(APP_INFO,app_info) +# define lh_APP_INFO_insert(lh,inst) LHM_lh_insert(APP_INFO,lh,inst) +# define lh_APP_INFO_retrieve(lh,inst) LHM_lh_retrieve(APP_INFO,lh,inst) +# define lh_APP_INFO_delete(lh,inst) LHM_lh_delete(APP_INFO,lh,inst) +# define lh_APP_INFO_doall(lh,fn) LHM_lh_doall(APP_INFO,lh,fn) +# define lh_APP_INFO_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(APP_INFO,lh,fn,arg_type,arg) +# define lh_APP_INFO_error(lh) LHM_lh_error(APP_INFO,lh) +# define lh_APP_INFO_num_items(lh) LHM_lh_num_items(APP_INFO,lh) +# define lh_APP_INFO_down_load(lh) LHM_lh_down_load(APP_INFO,lh) +# define lh_APP_INFO_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(APP_INFO,lh,out) +# define lh_APP_INFO_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(APP_INFO,lh,out) +# define lh_APP_INFO_stats_bio(lh,out) \ + LHM_lh_stats_bio(APP_INFO,lh,out) +# define lh_APP_INFO_free(lh) LHM_lh_free(APP_INFO,lh) +# define lh_CONF_VALUE_new() LHM_lh_new(CONF_VALUE,conf_value) +# define lh_CONF_VALUE_insert(lh,inst) LHM_lh_insert(CONF_VALUE,lh,inst) +# define lh_CONF_VALUE_retrieve(lh,inst) LHM_lh_retrieve(CONF_VALUE,lh,inst) +# define lh_CONF_VALUE_delete(lh,inst) LHM_lh_delete(CONF_VALUE,lh,inst) +# define lh_CONF_VALUE_doall(lh,fn) LHM_lh_doall(CONF_VALUE,lh,fn) +# define lh_CONF_VALUE_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(CONF_VALUE,lh,fn,arg_type,arg) +# define lh_CONF_VALUE_error(lh) LHM_lh_error(CONF_VALUE,lh) +# define lh_CONF_VALUE_num_items(lh) LHM_lh_num_items(CONF_VALUE,lh) +# define lh_CONF_VALUE_down_load(lh) LHM_lh_down_load(CONF_VALUE,lh) +# define lh_CONF_VALUE_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(CONF_VALUE,lh,out) +# define lh_CONF_VALUE_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(CONF_VALUE,lh,out) +# define lh_CONF_VALUE_stats_bio(lh,out) \ + LHM_lh_stats_bio(CONF_VALUE,lh,out) +# define lh_CONF_VALUE_free(lh) LHM_lh_free(CONF_VALUE,lh) +# define lh_ENGINE_PILE_new() LHM_lh_new(ENGINE_PILE,engine_pile) +# define lh_ENGINE_PILE_insert(lh,inst) LHM_lh_insert(ENGINE_PILE,lh,inst) +# define lh_ENGINE_PILE_retrieve(lh,inst) LHM_lh_retrieve(ENGINE_PILE,lh,inst) +# define lh_ENGINE_PILE_delete(lh,inst) LHM_lh_delete(ENGINE_PILE,lh,inst) +# define lh_ENGINE_PILE_doall(lh,fn) LHM_lh_doall(ENGINE_PILE,lh,fn) +# define lh_ENGINE_PILE_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ENGINE_PILE,lh,fn,arg_type,arg) +# define lh_ENGINE_PILE_error(lh) LHM_lh_error(ENGINE_PILE,lh) +# define lh_ENGINE_PILE_num_items(lh) LHM_lh_num_items(ENGINE_PILE,lh) +# define lh_ENGINE_PILE_down_load(lh) LHM_lh_down_load(ENGINE_PILE,lh) +# define lh_ENGINE_PILE_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(ENGINE_PILE,lh,out) +# define lh_ENGINE_PILE_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(ENGINE_PILE,lh,out) +# define lh_ENGINE_PILE_stats_bio(lh,out) \ + LHM_lh_stats_bio(ENGINE_PILE,lh,out) +# define lh_ENGINE_PILE_free(lh) LHM_lh_free(ENGINE_PILE,lh) +# define lh_ERR_STATE_new() LHM_lh_new(ERR_STATE,err_state) +# define lh_ERR_STATE_insert(lh,inst) LHM_lh_insert(ERR_STATE,lh,inst) +# define lh_ERR_STATE_retrieve(lh,inst) LHM_lh_retrieve(ERR_STATE,lh,inst) +# define lh_ERR_STATE_delete(lh,inst) LHM_lh_delete(ERR_STATE,lh,inst) +# define lh_ERR_STATE_doall(lh,fn) LHM_lh_doall(ERR_STATE,lh,fn) +# define lh_ERR_STATE_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ERR_STATE,lh,fn,arg_type,arg) +# define lh_ERR_STATE_error(lh) LHM_lh_error(ERR_STATE,lh) +# define lh_ERR_STATE_num_items(lh) LHM_lh_num_items(ERR_STATE,lh) +# define lh_ERR_STATE_down_load(lh) LHM_lh_down_load(ERR_STATE,lh) +# define lh_ERR_STATE_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(ERR_STATE,lh,out) +# define lh_ERR_STATE_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(ERR_STATE,lh,out) +# define lh_ERR_STATE_stats_bio(lh,out) \ + LHM_lh_stats_bio(ERR_STATE,lh,out) +# define lh_ERR_STATE_free(lh) LHM_lh_free(ERR_STATE,lh) +# define lh_ERR_STRING_DATA_new() LHM_lh_new(ERR_STRING_DATA,err_string_data) +# define lh_ERR_STRING_DATA_insert(lh,inst) LHM_lh_insert(ERR_STRING_DATA,lh,inst) +# define lh_ERR_STRING_DATA_retrieve(lh,inst) LHM_lh_retrieve(ERR_STRING_DATA,lh,inst) +# define lh_ERR_STRING_DATA_delete(lh,inst) LHM_lh_delete(ERR_STRING_DATA,lh,inst) +# define lh_ERR_STRING_DATA_doall(lh,fn) LHM_lh_doall(ERR_STRING_DATA,lh,fn) +# define lh_ERR_STRING_DATA_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ERR_STRING_DATA,lh,fn,arg_type,arg) +# define lh_ERR_STRING_DATA_error(lh) LHM_lh_error(ERR_STRING_DATA,lh) +# define lh_ERR_STRING_DATA_num_items(lh) LHM_lh_num_items(ERR_STRING_DATA,lh) +# define lh_ERR_STRING_DATA_down_load(lh) LHM_lh_down_load(ERR_STRING_DATA,lh) +# define lh_ERR_STRING_DATA_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(ERR_STRING_DATA,lh,out) +# define lh_ERR_STRING_DATA_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(ERR_STRING_DATA,lh,out) +# define lh_ERR_STRING_DATA_stats_bio(lh,out) \ + LHM_lh_stats_bio(ERR_STRING_DATA,lh,out) +# define lh_ERR_STRING_DATA_free(lh) LHM_lh_free(ERR_STRING_DATA,lh) +# define lh_EX_CLASS_ITEM_new() LHM_lh_new(EX_CLASS_ITEM,ex_class_item) +# define lh_EX_CLASS_ITEM_insert(lh,inst) LHM_lh_insert(EX_CLASS_ITEM,lh,inst) +# define lh_EX_CLASS_ITEM_retrieve(lh,inst) LHM_lh_retrieve(EX_CLASS_ITEM,lh,inst) +# define lh_EX_CLASS_ITEM_delete(lh,inst) LHM_lh_delete(EX_CLASS_ITEM,lh,inst) +# define lh_EX_CLASS_ITEM_doall(lh,fn) LHM_lh_doall(EX_CLASS_ITEM,lh,fn) +# define lh_EX_CLASS_ITEM_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(EX_CLASS_ITEM,lh,fn,arg_type,arg) +# define lh_EX_CLASS_ITEM_error(lh) LHM_lh_error(EX_CLASS_ITEM,lh) +# define lh_EX_CLASS_ITEM_num_items(lh) LHM_lh_num_items(EX_CLASS_ITEM,lh) +# define lh_EX_CLASS_ITEM_down_load(lh) LHM_lh_down_load(EX_CLASS_ITEM,lh) +# define lh_EX_CLASS_ITEM_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(EX_CLASS_ITEM,lh,out) +# define lh_EX_CLASS_ITEM_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(EX_CLASS_ITEM,lh,out) +# define lh_EX_CLASS_ITEM_stats_bio(lh,out) \ + LHM_lh_stats_bio(EX_CLASS_ITEM,lh,out) +# define lh_EX_CLASS_ITEM_free(lh) LHM_lh_free(EX_CLASS_ITEM,lh) +# define lh_FUNCTION_new() LHM_lh_new(FUNCTION,function) +# define lh_FUNCTION_insert(lh,inst) LHM_lh_insert(FUNCTION,lh,inst) +# define lh_FUNCTION_retrieve(lh,inst) LHM_lh_retrieve(FUNCTION,lh,inst) +# define lh_FUNCTION_delete(lh,inst) LHM_lh_delete(FUNCTION,lh,inst) +# define lh_FUNCTION_doall(lh,fn) LHM_lh_doall(FUNCTION,lh,fn) +# define lh_FUNCTION_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(FUNCTION,lh,fn,arg_type,arg) +# define lh_FUNCTION_error(lh) LHM_lh_error(FUNCTION,lh) +# define lh_FUNCTION_num_items(lh) LHM_lh_num_items(FUNCTION,lh) +# define lh_FUNCTION_down_load(lh) LHM_lh_down_load(FUNCTION,lh) +# define lh_FUNCTION_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(FUNCTION,lh,out) +# define lh_FUNCTION_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(FUNCTION,lh,out) +# define lh_FUNCTION_stats_bio(lh,out) \ + LHM_lh_stats_bio(FUNCTION,lh,out) +# define lh_FUNCTION_free(lh) LHM_lh_free(FUNCTION,lh) +# define lh_MEM_new() LHM_lh_new(MEM,mem) +# define lh_MEM_insert(lh,inst) LHM_lh_insert(MEM,lh,inst) +# define lh_MEM_retrieve(lh,inst) LHM_lh_retrieve(MEM,lh,inst) +# define lh_MEM_delete(lh,inst) LHM_lh_delete(MEM,lh,inst) +# define lh_MEM_doall(lh,fn) LHM_lh_doall(MEM,lh,fn) +# define lh_MEM_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(MEM,lh,fn,arg_type,arg) +# define lh_MEM_error(lh) LHM_lh_error(MEM,lh) +# define lh_MEM_num_items(lh) LHM_lh_num_items(MEM,lh) +# define lh_MEM_down_load(lh) LHM_lh_down_load(MEM,lh) +# define lh_MEM_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(MEM,lh,out) +# define lh_MEM_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(MEM,lh,out) +# define lh_MEM_stats_bio(lh,out) \ + LHM_lh_stats_bio(MEM,lh,out) +# define lh_MEM_free(lh) LHM_lh_free(MEM,lh) +# define lh_OBJ_NAME_new() LHM_lh_new(OBJ_NAME,obj_name) +# define lh_OBJ_NAME_insert(lh,inst) LHM_lh_insert(OBJ_NAME,lh,inst) +# define lh_OBJ_NAME_retrieve(lh,inst) LHM_lh_retrieve(OBJ_NAME,lh,inst) +# define lh_OBJ_NAME_delete(lh,inst) LHM_lh_delete(OBJ_NAME,lh,inst) +# define lh_OBJ_NAME_doall(lh,fn) LHM_lh_doall(OBJ_NAME,lh,fn) +# define lh_OBJ_NAME_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(OBJ_NAME,lh,fn,arg_type,arg) +# define lh_OBJ_NAME_error(lh) LHM_lh_error(OBJ_NAME,lh) +# define lh_OBJ_NAME_num_items(lh) LHM_lh_num_items(OBJ_NAME,lh) +# define lh_OBJ_NAME_down_load(lh) LHM_lh_down_load(OBJ_NAME,lh) +# define lh_OBJ_NAME_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(OBJ_NAME,lh,out) +# define lh_OBJ_NAME_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(OBJ_NAME,lh,out) +# define lh_OBJ_NAME_stats_bio(lh,out) \ + LHM_lh_stats_bio(OBJ_NAME,lh,out) +# define lh_OBJ_NAME_free(lh) LHM_lh_free(OBJ_NAME,lh) +# define lh_OPENSSL_CSTRING_new() LHM_lh_new(OPENSSL_CSTRING,openssl_cstring) +# define lh_OPENSSL_CSTRING_insert(lh,inst) LHM_lh_insert(OPENSSL_CSTRING,lh,inst) +# define lh_OPENSSL_CSTRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_CSTRING,lh,inst) +# define lh_OPENSSL_CSTRING_delete(lh,inst) LHM_lh_delete(OPENSSL_CSTRING,lh,inst) +# define lh_OPENSSL_CSTRING_doall(lh,fn) LHM_lh_doall(OPENSSL_CSTRING,lh,fn) +# define lh_OPENSSL_CSTRING_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(OPENSSL_CSTRING,lh,fn,arg_type,arg) +# define lh_OPENSSL_CSTRING_error(lh) LHM_lh_error(OPENSSL_CSTRING,lh) +# define lh_OPENSSL_CSTRING_num_items(lh) LHM_lh_num_items(OPENSSL_CSTRING,lh) +# define lh_OPENSSL_CSTRING_down_load(lh) LHM_lh_down_load(OPENSSL_CSTRING,lh) +# define lh_OPENSSL_CSTRING_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(OPENSSL_CSTRING,lh,out) +# define lh_OPENSSL_CSTRING_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(OPENSSL_CSTRING,lh,out) +# define lh_OPENSSL_CSTRING_stats_bio(lh,out) \ + LHM_lh_stats_bio(OPENSSL_CSTRING,lh,out) +# define lh_OPENSSL_CSTRING_free(lh) LHM_lh_free(OPENSSL_CSTRING,lh) +# define lh_OPENSSL_STRING_new() LHM_lh_new(OPENSSL_STRING,openssl_string) +# define lh_OPENSSL_STRING_insert(lh,inst) LHM_lh_insert(OPENSSL_STRING,lh,inst) +# define lh_OPENSSL_STRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_STRING,lh,inst) +# define lh_OPENSSL_STRING_delete(lh,inst) LHM_lh_delete(OPENSSL_STRING,lh,inst) +# define lh_OPENSSL_STRING_doall(lh,fn) LHM_lh_doall(OPENSSL_STRING,lh,fn) +# define lh_OPENSSL_STRING_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(OPENSSL_STRING,lh,fn,arg_type,arg) +# define lh_OPENSSL_STRING_error(lh) LHM_lh_error(OPENSSL_STRING,lh) +# define lh_OPENSSL_STRING_num_items(lh) LHM_lh_num_items(OPENSSL_STRING,lh) +# define lh_OPENSSL_STRING_down_load(lh) LHM_lh_down_load(OPENSSL_STRING,lh) +# define lh_OPENSSL_STRING_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(OPENSSL_STRING,lh,out) +# define lh_OPENSSL_STRING_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(OPENSSL_STRING,lh,out) +# define lh_OPENSSL_STRING_stats_bio(lh,out) \ + LHM_lh_stats_bio(OPENSSL_STRING,lh,out) +# define lh_OPENSSL_STRING_free(lh) LHM_lh_free(OPENSSL_STRING,lh) +# define lh_SSL_SESSION_new() LHM_lh_new(SSL_SESSION,ssl_session) +# define lh_SSL_SESSION_insert(lh,inst) LHM_lh_insert(SSL_SESSION,lh,inst) +# define lh_SSL_SESSION_retrieve(lh,inst) LHM_lh_retrieve(SSL_SESSION,lh,inst) +# define lh_SSL_SESSION_delete(lh,inst) LHM_lh_delete(SSL_SESSION,lh,inst) +# define lh_SSL_SESSION_doall(lh,fn) LHM_lh_doall(SSL_SESSION,lh,fn) +# define lh_SSL_SESSION_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(SSL_SESSION,lh,fn,arg_type,arg) +# define lh_SSL_SESSION_error(lh) LHM_lh_error(SSL_SESSION,lh) +# define lh_SSL_SESSION_num_items(lh) LHM_lh_num_items(SSL_SESSION,lh) +# define lh_SSL_SESSION_down_load(lh) LHM_lh_down_load(SSL_SESSION,lh) +# define lh_SSL_SESSION_node_stats_bio(lh,out) \ + LHM_lh_node_stats_bio(SSL_SESSION,lh,out) +# define lh_SSL_SESSION_node_usage_stats_bio(lh,out) \ + LHM_lh_node_usage_stats_bio(SSL_SESSION,lh,out) +# define lh_SSL_SESSION_stats_bio(lh,out) \ + LHM_lh_stats_bio(SSL_SESSION,lh,out) +# define lh_SSL_SESSION_free(lh) LHM_lh_free(SSL_SESSION,lh) +#ifdef __cplusplus +} +#endif +#endif /* !defined HEADER_SAFESTACK_H */ diff --git a/3rdparty/openssl/include/openssl/seed.h b/3rdparty/openssl/include/openssl/seed.h new file mode 100644 index 0000000..8cbf0d9 --- /dev/null +++ b/3rdparty/openssl/include/openssl/seed.h @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2007 KISA(Korea Information Security Agency). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Neither the name of author nor the names of its contributors may + * be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +/* ==================================================================== + * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_SEED_H +# define HEADER_SEED_H + +# include +# include +# include + +# ifdef OPENSSL_NO_SEED +# error SEED is disabled. +# endif + +/* look whether we need 'long' to get 32 bits */ +# ifdef AES_LONG +# ifndef SEED_LONG +# define SEED_LONG 1 +# endif +# endif + +# if !defined(NO_SYS_TYPES_H) +# include +# endif + +# define SEED_BLOCK_SIZE 16 +# define SEED_KEY_LENGTH 16 + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct seed_key_st { +# ifdef SEED_LONG + unsigned long data[32]; +# else + unsigned int data[32]; +# endif +} SEED_KEY_SCHEDULE; + +# ifdef OPENSSL_FIPS +void private_SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], + SEED_KEY_SCHEDULE *ks); +# endif +void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], + SEED_KEY_SCHEDULE *ks); + +void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); +void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); + +void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out, + const SEED_KEY_SCHEDULE *ks, int enc); +void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len, + const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int enc); +void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num, + int enc); +void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num); + +#ifdef __cplusplus +} +#endif + +#endif /* HEADER_SEED_H */ diff --git a/3rdparty/openssl/include/openssl/sha.h b/3rdparty/openssl/include/openssl/sha.h new file mode 100644 index 0000000..e5169e4 --- /dev/null +++ b/3rdparty/openssl/include/openssl/sha.h @@ -0,0 +1,214 @@ +/* crypto/sha/sha.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_SHA_H +# define HEADER_SHA_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# if defined(OPENSSL_NO_SHA) || (defined(OPENSSL_NO_SHA0) && defined(OPENSSL_NO_SHA1)) +# error SHA is disabled. +# endif + +# if defined(OPENSSL_FIPS) +# define FIPS_SHA_SIZE_T size_t +# endif + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! SHA_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! SHA_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +# if defined(__LP32__) +# define SHA_LONG unsigned long +# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) +# define SHA_LONG unsigned long +# define SHA_LONG_LOG2 3 +# else +# define SHA_LONG unsigned int +# endif + +# define SHA_LBLOCK 16 +# define SHA_CBLOCK (SHA_LBLOCK*4)/* SHA treats input data as a + * contiguous array of 32 bit wide + * big-endian values. */ +# define SHA_LAST_BLOCK (SHA_CBLOCK-8) +# define SHA_DIGEST_LENGTH 20 + +typedef struct SHAstate_st { + SHA_LONG h0, h1, h2, h3, h4; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num; +} SHA_CTX; + +# ifndef OPENSSL_NO_SHA0 +# ifdef OPENSSL_FIPS +int private_SHA_Init(SHA_CTX *c); +# endif +int SHA_Init(SHA_CTX *c); +int SHA_Update(SHA_CTX *c, const void *data, size_t len); +int SHA_Final(unsigned char *md, SHA_CTX *c); +unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md); +void SHA_Transform(SHA_CTX *c, const unsigned char *data); +# endif +# ifndef OPENSSL_NO_SHA1 +# ifdef OPENSSL_FIPS +int private_SHA1_Init(SHA_CTX *c); +# endif +int SHA1_Init(SHA_CTX *c); +int SHA1_Update(SHA_CTX *c, const void *data, size_t len); +int SHA1_Final(unsigned char *md, SHA_CTX *c); +unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); +void SHA1_Transform(SHA_CTX *c, const unsigned char *data); +# endif + +# define SHA256_CBLOCK (SHA_LBLOCK*4)/* SHA-256 treats input data as a + * contiguous array of 32 bit wide + * big-endian values. */ +# define SHA224_DIGEST_LENGTH 28 +# define SHA256_DIGEST_LENGTH 32 + +typedef struct SHA256state_st { + SHA_LONG h[8]; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num, md_len; +} SHA256_CTX; + +# ifndef OPENSSL_NO_SHA256 +# ifdef OPENSSL_FIPS +int private_SHA224_Init(SHA256_CTX *c); +int private_SHA256_Init(SHA256_CTX *c); +# endif +int SHA224_Init(SHA256_CTX *c); +int SHA224_Update(SHA256_CTX *c, const void *data, size_t len); +int SHA224_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); +int SHA256_Init(SHA256_CTX *c); +int SHA256_Update(SHA256_CTX *c, const void *data, size_t len); +int SHA256_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md); +void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); +# endif + +# define SHA384_DIGEST_LENGTH 48 +# define SHA512_DIGEST_LENGTH 64 + +# ifndef OPENSSL_NO_SHA512 +/* + * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 + * being exactly 64-bit wide. See Implementation Notes in sha512.c + * for further details. + */ +/* + * SHA-512 treats input data as a + * contiguous array of 64 bit + * wide big-endian values. + */ +# define SHA512_CBLOCK (SHA_LBLOCK*8) +# if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) +# define SHA_LONG64 unsigned __int64 +# define U64(C) C##UI64 +# elif defined(__arch64__) +# define SHA_LONG64 unsigned long +# define U64(C) C##UL +# else +# define SHA_LONG64 unsigned long long +# define U64(C) C##ULL +# endif + +typedef struct SHA512state_st { + SHA_LONG64 h[8]; + SHA_LONG64 Nl, Nh; + union { + SHA_LONG64 d[SHA_LBLOCK]; + unsigned char p[SHA512_CBLOCK]; + } u; + unsigned int num, md_len; +} SHA512_CTX; +# endif + +# ifndef OPENSSL_NO_SHA512 +# ifdef OPENSSL_FIPS +int private_SHA384_Init(SHA512_CTX *c); +int private_SHA512_Init(SHA512_CTX *c); +# endif +int SHA384_Init(SHA512_CTX *c); +int SHA384_Update(SHA512_CTX *c, const void *data, size_t len); +int SHA384_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); +int SHA512_Init(SHA512_CTX *c); +int SHA512_Update(SHA512_CTX *c, const void *data, size_t len); +int SHA512_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md); +void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/srp.h b/3rdparty/openssl/include/openssl/srp.h new file mode 100644 index 0000000..028892a --- /dev/null +++ b/3rdparty/openssl/include/openssl/srp.h @@ -0,0 +1,179 @@ +/* crypto/srp/srp.h */ +/* + * Written by Christophe Renou (christophe.renou@edelweb.fr) with the + * precious help of Peter Sylvester (peter.sylvester@edelweb.fr) for the + * EdelKey project and contributed to the OpenSSL project 2004. + */ +/* ==================================================================== + * Copyright (c) 2004 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef __SRP_H__ +# define __SRP_H__ + +# ifndef OPENSSL_NO_SRP + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# include +# include +# include + +typedef struct SRP_gN_cache_st { + char *b64_bn; + BIGNUM *bn; +} SRP_gN_cache; + + +DECLARE_STACK_OF(SRP_gN_cache) + +typedef struct SRP_user_pwd_st { + /* Owned by us. */ + char *id; + BIGNUM *s; + BIGNUM *v; + /* Not owned by us. */ + const BIGNUM *g; + const BIGNUM *N; + /* Owned by us. */ + char *info; +} SRP_user_pwd; + +DECLARE_STACK_OF(SRP_user_pwd) + +void SRP_user_pwd_free(SRP_user_pwd *user_pwd); + +typedef struct SRP_VBASE_st { + STACK_OF(SRP_user_pwd) *users_pwd; + STACK_OF(SRP_gN_cache) *gN_cache; +/* to simulate a user */ + char *seed_key; + BIGNUM *default_g; + BIGNUM *default_N; +} SRP_VBASE; + +/* + * Structure interne pour retenir les couples N et g + */ +typedef struct SRP_gN_st { + char *id; + BIGNUM *g; + BIGNUM *N; +} SRP_gN; + +DECLARE_STACK_OF(SRP_gN) + +SRP_VBASE *SRP_VBASE_new(char *seed_key); +int SRP_VBASE_free(SRP_VBASE *vb); +int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); + +/* This method ignores the configured seed and fails for an unknown user. */ +SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username); +/* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ +SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); + +char *SRP_create_verifier(const char *user, const char *pass, char **salt, + char **verifier, const char *N, const char *g); +int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, + BIGNUM **verifier, BIGNUM *N, BIGNUM *g); + +# define SRP_NO_ERROR 0 +# define SRP_ERR_VBASE_INCOMPLETE_FILE 1 +# define SRP_ERR_VBASE_BN_LIB 2 +# define SRP_ERR_OPEN_FILE 3 +# define SRP_ERR_MEMORY 4 + +# define DB_srptype 0 +# define DB_srpverifier 1 +# define DB_srpsalt 2 +# define DB_srpid 3 +# define DB_srpgN 4 +# define DB_srpinfo 5 +# undef DB_NUMBER +# define DB_NUMBER 6 + +# define DB_SRP_INDEX 'I' +# define DB_SRP_VALID 'V' +# define DB_SRP_REVOKED 'R' +# define DB_SRP_MODIF 'v' + +/* see srp.c */ +char *SRP_check_known_gN_param(BIGNUM *g, BIGNUM *N); +SRP_gN *SRP_get_default_gN(const char *id); + +/* server side .... */ +BIGNUM *SRP_Calc_server_key(BIGNUM *A, BIGNUM *v, BIGNUM *u, BIGNUM *b, + BIGNUM *N); +BIGNUM *SRP_Calc_B(BIGNUM *b, BIGNUM *N, BIGNUM *g, BIGNUM *v); +int SRP_Verify_A_mod_N(BIGNUM *A, BIGNUM *N); +BIGNUM *SRP_Calc_u(BIGNUM *A, BIGNUM *B, BIGNUM *N); + +/* client side .... */ +BIGNUM *SRP_Calc_x(BIGNUM *s, const char *user, const char *pass); +BIGNUM *SRP_Calc_A(BIGNUM *a, BIGNUM *N, BIGNUM *g); +BIGNUM *SRP_Calc_client_key(BIGNUM *N, BIGNUM *B, BIGNUM *g, BIGNUM *x, + BIGNUM *a, BIGNUM *u); +int SRP_Verify_B_mod_N(BIGNUM *B, BIGNUM *N); + +# define SRP_MINIMAL_N 1024 + +#ifdef __cplusplus +} +#endif + +# endif +#endif diff --git a/3rdparty/openssl/include/openssl/srtp.h b/3rdparty/openssl/include/openssl/srtp.h new file mode 100644 index 0000000..2279c32 --- /dev/null +++ b/3rdparty/openssl/include/openssl/srtp.h @@ -0,0 +1,147 @@ +/* ssl/srtp.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* + * DTLS code by Eric Rescorla + * + * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc. + */ + +#ifndef HEADER_D1_SRTP_H +# define HEADER_D1_SRTP_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define SRTP_AES128_CM_SHA1_80 0x0001 +# define SRTP_AES128_CM_SHA1_32 0x0002 +# define SRTP_AES128_F8_SHA1_80 0x0003 +# define SRTP_AES128_F8_SHA1_32 0x0004 +# define SRTP_NULL_SHA1_80 0x0005 +# define SRTP_NULL_SHA1_32 0x0006 + +# ifndef OPENSSL_NO_SRTP + +int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles); +int SSL_set_tlsext_use_srtp(SSL *ctx, const char *profiles); + +STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); +SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); + +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/ssl.h b/3rdparty/openssl/include/openssl/ssl.h new file mode 100644 index 0000000..3cf96a2 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ssl.h @@ -0,0 +1,3163 @@ +/* ssl/ssl.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECC cipher suite support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ +/* ==================================================================== + * Copyright 2005 Nokia. All rights reserved. + * + * The portions of the attached software ("Contribution") is developed by + * Nokia Corporation and is licensed pursuant to the OpenSSL open source + * license. + * + * The Contribution, originally written by Mika Kousa and Pasi Eronen of + * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites + * support (see RFC 4279) to OpenSSL. + * + * No patent licenses or other rights except those expressly stated in + * the OpenSSL open source license shall be deemed granted or received + * expressly, by implication, estoppel, or otherwise. + * + * No assurances are provided by Nokia that the Contribution does not + * infringe the patent or other intellectual property rights of any third + * party or that the license provides you with all the necessary rights + * to make use of the Contribution. + * + * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN + * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA + * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY + * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR + * OTHERWISE. + */ + +#ifndef HEADER_SSL_H +# define HEADER_SSL_H + +# include + +# ifndef OPENSSL_NO_COMP +# include +# endif +# ifndef OPENSSL_NO_BIO +# include +# endif +# ifndef OPENSSL_NO_DEPRECATED +# ifndef OPENSSL_NO_X509 +# include +# endif +# include +# include +# include +# endif +# include +# include + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SSLeay version number for ASN.1 encoding of the session information */ +/*- + * Version 0 - initial version + * Version 1 - added the optional peer certificate + */ +# define SSL_SESSION_ASN1_VERSION 0x0001 + +/* text strings for the ciphers */ +# define SSL_TXT_NULL_WITH_MD5 SSL2_TXT_NULL_WITH_MD5 +# define SSL_TXT_RC4_128_WITH_MD5 SSL2_TXT_RC4_128_WITH_MD5 +# define SSL_TXT_RC4_128_EXPORT40_WITH_MD5 SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 +# define SSL_TXT_RC2_128_CBC_WITH_MD5 SSL2_TXT_RC2_128_CBC_WITH_MD5 +# define SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 +# define SSL_TXT_IDEA_128_CBC_WITH_MD5 SSL2_TXT_IDEA_128_CBC_WITH_MD5 +# define SSL_TXT_DES_64_CBC_WITH_MD5 SSL2_TXT_DES_64_CBC_WITH_MD5 +# define SSL_TXT_DES_64_CBC_WITH_SHA SSL2_TXT_DES_64_CBC_WITH_SHA +# define SSL_TXT_DES_192_EDE3_CBC_WITH_MD5 SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 +# define SSL_TXT_DES_192_EDE3_CBC_WITH_SHA SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA + +/* + * VRS Additional Kerberos5 entries + */ +# define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA +# define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA +# define SSL_TXT_KRB5_RC4_128_SHA SSL3_TXT_KRB5_RC4_128_SHA +# define SSL_TXT_KRB5_IDEA_128_CBC_SHA SSL3_TXT_KRB5_IDEA_128_CBC_SHA +# define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 +# define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 +# define SSL_TXT_KRB5_RC4_128_MD5 SSL3_TXT_KRB5_RC4_128_MD5 +# define SSL_TXT_KRB5_IDEA_128_CBC_MD5 SSL3_TXT_KRB5_IDEA_128_CBC_MD5 + +# define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA +# define SSL_TXT_KRB5_RC2_40_CBC_SHA SSL3_TXT_KRB5_RC2_40_CBC_SHA +# define SSL_TXT_KRB5_RC4_40_SHA SSL3_TXT_KRB5_RC4_40_SHA +# define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 +# define SSL_TXT_KRB5_RC2_40_CBC_MD5 SSL3_TXT_KRB5_RC2_40_CBC_MD5 +# define SSL_TXT_KRB5_RC4_40_MD5 SSL3_TXT_KRB5_RC4_40_MD5 + +# define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA +# define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 +# define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA +# define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 +# define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA +# define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 +# define SSL_MAX_KRB5_PRINCIPAL_LENGTH 256 + +# define SSL_MAX_SSL_SESSION_ID_LENGTH 32 +# define SSL_MAX_SID_CTX_LENGTH 32 + +# define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8) +# define SSL_MAX_KEY_ARG_LENGTH 8 +# define SSL_MAX_MASTER_KEY_LENGTH 48 + +/* These are used to specify which ciphers to use and not to use */ + +# define SSL_TXT_EXP40 "EXPORT40" +# define SSL_TXT_EXP56 "EXPORT56" +# define SSL_TXT_LOW "LOW" +# define SSL_TXT_MEDIUM "MEDIUM" +# define SSL_TXT_HIGH "HIGH" +# define SSL_TXT_FIPS "FIPS" + +# define SSL_TXT_kFZA "kFZA"/* unused! */ +# define SSL_TXT_aFZA "aFZA"/* unused! */ +# define SSL_TXT_eFZA "eFZA"/* unused! */ +# define SSL_TXT_FZA "FZA"/* unused! */ + +# define SSL_TXT_aNULL "aNULL" +# define SSL_TXT_eNULL "eNULL" +# define SSL_TXT_NULL "NULL" + +# define SSL_TXT_kRSA "kRSA" +# define SSL_TXT_kDHr "kDHr" +# define SSL_TXT_kDHd "kDHd" +# define SSL_TXT_kDH "kDH" +# define SSL_TXT_kEDH "kEDH" +# define SSL_TXT_kDHE "kDHE"/* alias for kEDH */ +# define SSL_TXT_kKRB5 "kKRB5" +# define SSL_TXT_kECDHr "kECDHr" +# define SSL_TXT_kECDHe "kECDHe" +# define SSL_TXT_kECDH "kECDH" +# define SSL_TXT_kEECDH "kEECDH" +# define SSL_TXT_kECDHE "kECDHE"/* alias for kEECDH */ +# define SSL_TXT_kPSK "kPSK" +# define SSL_TXT_kGOST "kGOST" +# define SSL_TXT_kSRP "kSRP" + +# define SSL_TXT_aRSA "aRSA" +# define SSL_TXT_aDSS "aDSS" +# define SSL_TXT_aDH "aDH" +# define SSL_TXT_aECDH "aECDH" +# define SSL_TXT_aKRB5 "aKRB5" +# define SSL_TXT_aECDSA "aECDSA" +# define SSL_TXT_aPSK "aPSK" +# define SSL_TXT_aGOST94 "aGOST94" +# define SSL_TXT_aGOST01 "aGOST01" +# define SSL_TXT_aGOST "aGOST" +# define SSL_TXT_aSRP "aSRP" + +# define SSL_TXT_DSS "DSS" +# define SSL_TXT_DH "DH" +# define SSL_TXT_EDH "EDH"/* same as "kEDH:-ADH" */ +# define SSL_TXT_DHE "DHE"/* alias for EDH */ +# define SSL_TXT_ADH "ADH" +# define SSL_TXT_RSA "RSA" +# define SSL_TXT_ECDH "ECDH" +# define SSL_TXT_EECDH "EECDH"/* same as "kEECDH:-AECDH" */ +# define SSL_TXT_ECDHE "ECDHE"/* alias for ECDHE" */ +# define SSL_TXT_AECDH "AECDH" +# define SSL_TXT_ECDSA "ECDSA" +# define SSL_TXT_KRB5 "KRB5" +# define SSL_TXT_PSK "PSK" +# define SSL_TXT_SRP "SRP" + +# define SSL_TXT_DES "DES" +# define SSL_TXT_3DES "3DES" +# define SSL_TXT_RC4 "RC4" +# define SSL_TXT_RC2 "RC2" +# define SSL_TXT_IDEA "IDEA" +# define SSL_TXT_SEED "SEED" +# define SSL_TXT_AES128 "AES128" +# define SSL_TXT_AES256 "AES256" +# define SSL_TXT_AES "AES" +# define SSL_TXT_AES_GCM "AESGCM" +# define SSL_TXT_CAMELLIA128 "CAMELLIA128" +# define SSL_TXT_CAMELLIA256 "CAMELLIA256" +# define SSL_TXT_CAMELLIA "CAMELLIA" + +# define SSL_TXT_MD5 "MD5" +# define SSL_TXT_SHA1 "SHA1" +# define SSL_TXT_SHA "SHA"/* same as "SHA1" */ +# define SSL_TXT_GOST94 "GOST94" +# define SSL_TXT_GOST89MAC "GOST89MAC" +# define SSL_TXT_SHA256 "SHA256" +# define SSL_TXT_SHA384 "SHA384" + +# define SSL_TXT_SSLV2 "SSLv2" +# define SSL_TXT_SSLV3 "SSLv3" +# define SSL_TXT_TLSV1 "TLSv1" +# define SSL_TXT_TLSV1_1 "TLSv1.1" +# define SSL_TXT_TLSV1_2 "TLSv1.2" + +# define SSL_TXT_EXP "EXP" +# define SSL_TXT_EXPORT "EXPORT" + +# define SSL_TXT_ALL "ALL" + +/*- + * COMPLEMENTOF* definitions. These identifiers are used to (de-select) + * ciphers normally not being used. + * Example: "RC4" will activate all ciphers using RC4 including ciphers + * without authentication, which would normally disabled by DEFAULT (due + * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT" + * will make sure that it is also disabled in the specific selection. + * COMPLEMENTOF* identifiers are portable between version, as adjustments + * to the default cipher setup will also be included here. + * + * COMPLEMENTOFDEFAULT does not experience the same special treatment that + * DEFAULT gets, as only selection is being done and no sorting as needed + * for DEFAULT. + */ +# define SSL_TXT_CMPALL "COMPLEMENTOFALL" +# define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT" + +/* + * The following cipher list is used by default. It also is substituted when + * an application-defined cipher list string starts with 'DEFAULT'. + */ +# define SSL_DEFAULT_CIPHER_LIST "ALL:!EXPORT:!LOW:!aNULL:!eNULL:!SSLv2" +/* + * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always + * starts with a reasonable order, and all we have to do for DEFAULT is + * throwing out anonymous and unencrypted ciphersuites! (The latter are not + * actually enabled by ALL, but "ALL:RSA" would enable some of them.) + */ + +/* Used in SSL_set_shutdown()/SSL_get_shutdown(); */ +# define SSL_SENT_SHUTDOWN 1 +# define SSL_RECEIVED_SHUTDOWN 2 + +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +# if (defined(OPENSSL_NO_RSA) || defined(OPENSSL_NO_MD5)) && !defined(OPENSSL_NO_SSL2) +# define OPENSSL_NO_SSL2 +# endif + +# define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1 +# define SSL_FILETYPE_PEM X509_FILETYPE_PEM + +/* + * This is needed to stop compilers complaining about the 'struct ssl_st *' + * function parameters used to prototype callbacks in SSL_CTX. + */ +typedef struct ssl_st *ssl_crock_st; +typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT; +typedef struct ssl_method_st SSL_METHOD; +typedef struct ssl_cipher_st SSL_CIPHER; +typedef struct ssl_session_st SSL_SESSION; +typedef struct tls_sigalgs_st TLS_SIGALGS; +typedef struct ssl_conf_ctx_st SSL_CONF_CTX; + +DECLARE_STACK_OF(SSL_CIPHER) + +/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ +typedef struct srtp_protection_profile_st { + const char *name; + unsigned long id; +} SRTP_PROTECTION_PROFILE; + +DECLARE_STACK_OF(SRTP_PROTECTION_PROFILE) + +typedef int (*tls_session_ticket_ext_cb_fn) (SSL *s, + const unsigned char *data, + int len, void *arg); +typedef int (*tls_session_secret_cb_fn) (SSL *s, void *secret, + int *secret_len, + STACK_OF(SSL_CIPHER) *peer_ciphers, + SSL_CIPHER **cipher, void *arg); + +# ifndef OPENSSL_NO_TLSEXT + +/* Typedefs for handling custom extensions */ + +typedef int (*custom_ext_add_cb) (SSL *s, unsigned int ext_type, + const unsigned char **out, + size_t *outlen, int *al, void *add_arg); + +typedef void (*custom_ext_free_cb) (SSL *s, unsigned int ext_type, + const unsigned char *out, void *add_arg); + +typedef int (*custom_ext_parse_cb) (SSL *s, unsigned int ext_type, + const unsigned char *in, + size_t inlen, int *al, void *parse_arg); + +# endif + +# ifndef OPENSSL_NO_SSL_INTERN + +/* used to hold info on the particular ciphers used */ +struct ssl_cipher_st { + int valid; + const char *name; /* text name */ + unsigned long id; /* id, 4 bytes, first is version */ + /* + * changed in 0.9.9: these four used to be portions of a single value + * 'algorithms' + */ + unsigned long algorithm_mkey; /* key exchange algorithm */ + unsigned long algorithm_auth; /* server authentication */ + unsigned long algorithm_enc; /* symmetric encryption */ + unsigned long algorithm_mac; /* symmetric authentication */ + unsigned long algorithm_ssl; /* (major) protocol version */ + unsigned long algo_strength; /* strength and export flags */ + unsigned long algorithm2; /* Extra flags */ + int strength_bits; /* Number of bits really used */ + int alg_bits; /* Number of bits for algorithm */ +}; + +/* Used to hold functions for SSLv2 or SSLv3/TLSv1 functions */ +struct ssl_method_st { + int version; + int (*ssl_new) (SSL *s); + void (*ssl_clear) (SSL *s); + void (*ssl_free) (SSL *s); + int (*ssl_accept) (SSL *s); + int (*ssl_connect) (SSL *s); + int (*ssl_read) (SSL *s, void *buf, int len); + int (*ssl_peek) (SSL *s, void *buf, int len); + int (*ssl_write) (SSL *s, const void *buf, int len); + int (*ssl_shutdown) (SSL *s); + int (*ssl_renegotiate) (SSL *s); + int (*ssl_renegotiate_check) (SSL *s); + long (*ssl_get_message) (SSL *s, int st1, int stn, int mt, long + max, int *ok); + int (*ssl_read_bytes) (SSL *s, int type, unsigned char *buf, int len, + int peek); + int (*ssl_write_bytes) (SSL *s, int type, const void *buf_, int len); + int (*ssl_dispatch_alert) (SSL *s); + long (*ssl_ctrl) (SSL *s, int cmd, long larg, void *parg); + long (*ssl_ctx_ctrl) (SSL_CTX *ctx, int cmd, long larg, void *parg); + const SSL_CIPHER *(*get_cipher_by_char) (const unsigned char *ptr); + int (*put_cipher_by_char) (const SSL_CIPHER *cipher, unsigned char *ptr); + int (*ssl_pending) (const SSL *s); + int (*num_ciphers) (void); + const SSL_CIPHER *(*get_cipher) (unsigned ncipher); + const struct ssl_method_st *(*get_ssl_method) (int version); + long (*get_timeout) (void); + struct ssl3_enc_method *ssl3_enc; /* Extra SSLv3/TLS stuff */ + int (*ssl_version) (void); + long (*ssl_callback_ctrl) (SSL *s, int cb_id, void (*fp) (void)); + long (*ssl_ctx_callback_ctrl) (SSL_CTX *s, int cb_id, void (*fp) (void)); +}; + +/*- + * Lets make this into an ASN.1 type structure as follows + * SSL_SESSION_ID ::= SEQUENCE { + * version INTEGER, -- structure version number + * SSLversion INTEGER, -- SSL version number + * Cipher OCTET STRING, -- the 3 byte cipher ID + * Session_ID OCTET STRING, -- the Session ID + * Master_key OCTET STRING, -- the master key + * KRB5_principal OCTET STRING -- optional Kerberos principal + * Key_Arg [ 0 ] IMPLICIT OCTET STRING, -- the optional Key argument + * Time [ 1 ] EXPLICIT INTEGER, -- optional Start Time + * Timeout [ 2 ] EXPLICIT INTEGER, -- optional Timeout ins seconds + * Peer [ 3 ] EXPLICIT X509, -- optional Peer Certificate + * Session_ID_context [ 4 ] EXPLICIT OCTET STRING, -- the Session ID context + * Verify_result [ 5 ] EXPLICIT INTEGER, -- X509_V_... code for `Peer' + * HostName [ 6 ] EXPLICIT OCTET STRING, -- optional HostName from servername TLS extension + * PSK_identity_hint [ 7 ] EXPLICIT OCTET STRING, -- optional PSK identity hint + * PSK_identity [ 8 ] EXPLICIT OCTET STRING, -- optional PSK identity + * Ticket_lifetime_hint [9] EXPLICIT INTEGER, -- server's lifetime hint for session ticket + * Ticket [10] EXPLICIT OCTET STRING, -- session ticket (clients only) + * Compression_meth [11] EXPLICIT OCTET STRING, -- optional compression method + * SRP_username [ 12 ] EXPLICIT OCTET STRING -- optional SRP username + * } + * Look in ssl/ssl_asn1.c for more details + * I'm using EXPLICIT tags so I can read the damn things using asn1parse :-). + */ +struct ssl_session_st { + int ssl_version; /* what ssl version session info is being + * kept in here? */ + /* only really used in SSLv2 */ + unsigned int key_arg_length; + unsigned char key_arg[SSL_MAX_KEY_ARG_LENGTH]; + int master_key_length; + unsigned char master_key[SSL_MAX_MASTER_KEY_LENGTH]; + /* session_id - valid? */ + unsigned int session_id_length; + unsigned char session_id[SSL_MAX_SSL_SESSION_ID_LENGTH]; + /* + * this is used to determine whether the session is being reused in the + * appropriate context. It is up to the application to set this, via + * SSL_new + */ + unsigned int sid_ctx_length; + unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; +# ifndef OPENSSL_NO_KRB5 + unsigned int krb5_client_princ_len; + unsigned char krb5_client_princ[SSL_MAX_KRB5_PRINCIPAL_LENGTH]; +# endif /* OPENSSL_NO_KRB5 */ +# ifndef OPENSSL_NO_PSK + char *psk_identity_hint; + char *psk_identity; +# endif + /* + * Used to indicate that session resumption is not allowed. Applications + * can also set this bit for a new session via not_resumable_session_cb + * to disable session caching and tickets. + */ + int not_resumable; + /* The cert is the certificate used to establish this connection */ + struct sess_cert_st /* SESS_CERT */ *sess_cert; + /* + * This is the cert for the other end. On clients, it will be the same as + * sess_cert->peer_key->x509 (the latter is not enough as sess_cert is + * not retained in the external representation of sessions, see + * ssl_asn1.c). + */ + X509 *peer; + /* + * when app_verify_callback accepts a session where the peer's + * certificate is not ok, we must remember the error for session reuse: + */ + long verify_result; /* only for servers */ + int references; + long timeout; + long time; + unsigned int compress_meth; /* Need to lookup the method */ + const SSL_CIPHER *cipher; + unsigned long cipher_id; /* when ASN.1 loaded, this needs to be used + * to load the 'cipher' structure */ + STACK_OF(SSL_CIPHER) *ciphers; /* shared ciphers? */ + CRYPTO_EX_DATA ex_data; /* application specific data */ + /* + * These are used to make removal of session-ids more efficient and to + * implement a maximum cache size. + */ + struct ssl_session_st *prev, *next; +# ifndef OPENSSL_NO_TLSEXT + char *tlsext_hostname; +# ifndef OPENSSL_NO_EC + size_t tlsext_ecpointformatlist_length; + unsigned char *tlsext_ecpointformatlist; /* peer's list */ + size_t tlsext_ellipticcurvelist_length; + unsigned char *tlsext_ellipticcurvelist; /* peer's list */ +# endif /* OPENSSL_NO_EC */ + /* RFC4507 info */ + unsigned char *tlsext_tick; /* Session ticket */ + size_t tlsext_ticklen; /* Session ticket length */ + long tlsext_tick_lifetime_hint; /* Session lifetime hint in seconds */ +# endif +# ifndef OPENSSL_NO_SRP + char *srp_username; +# endif +}; + +# endif + +# define SSL_OP_MICROSOFT_SESS_ID_BUG 0x00000001L +# define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x00000002L +/* Allow initial connection to servers that don't support RI */ +# define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004L +# define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L +# define SSL_OP_TLSEXT_PADDING 0x00000010L +# define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x00000020L +# define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x00000040L +# define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x00000080L +# define SSL_OP_TLS_D5_BUG 0x00000100L +# define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L + +/* Hasn't done anything since OpenSSL 0.9.7h, retained for compatibility */ +# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0 +/* Refers to ancient SSLREF and SSLv2, retained for compatibility */ +# define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0 + +/* + * Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added in + * OpenSSL 0.9.6d. Usually (depending on the application protocol) the + * workaround is not needed. Unfortunately some broken SSL/TLS + * implementations cannot handle it at all, which is why we include it in + * SSL_OP_ALL. + */ +/* added in 0.9.6e */ +# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800L + +/* + * SSL_OP_ALL: various bug workarounds that should be rather harmless. This + * used to be 0x000FFFFFL before 0.9.7. + */ +# define SSL_OP_ALL 0x80000BFFL + +/* DTLS options */ +# define SSL_OP_NO_QUERY_MTU 0x00001000L +/* Turn on Cookie Exchange (on relevant for servers) */ +# define SSL_OP_COOKIE_EXCHANGE 0x00002000L +/* Don't use RFC4507 ticket extension */ +# define SSL_OP_NO_TICKET 0x00004000L +/* Use Cisco's "speshul" version of DTLS_BAD_VER (as client) */ +# define SSL_OP_CISCO_ANYCONNECT 0x00008000L + +/* As server, disallow session resumption on renegotiation */ +# define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000L +/* Don't use compression even if supported */ +# define SSL_OP_NO_COMPRESSION 0x00020000L +/* Permit unsafe legacy renegotiation */ +# define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000L +/* If set, always create a new key when using tmp_ecdh parameters */ +# define SSL_OP_SINGLE_ECDH_USE 0x00080000L +/* Does nothing: retained for compatibility */ +# define SSL_OP_SINGLE_DH_USE 0x00100000L +/* Does nothing: retained for compatibiity */ +# define SSL_OP_EPHEMERAL_RSA 0x0 +/* + * Set on servers to choose the cipher according to the server's preferences + */ +# define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000L +/* + * If set, a server will allow a client to issue a SSLv3.0 version number as + * latest version supported in the premaster secret, even when TLSv1.0 + * (version 3.1) was announced in the client hello. Normally this is + * forbidden to prevent version rollback attacks. + */ +# define SSL_OP_TLS_ROLLBACK_BUG 0x00800000L + +# define SSL_OP_NO_SSLv2 0x01000000L +# define SSL_OP_NO_SSLv3 0x02000000L +# define SSL_OP_NO_TLSv1 0x04000000L +# define SSL_OP_NO_TLSv1_2 0x08000000L +# define SSL_OP_NO_TLSv1_1 0x10000000L + +# define SSL_OP_NO_DTLSv1 0x04000000L +# define SSL_OP_NO_DTLSv1_2 0x08000000L + +# define SSL_OP_NO_SSL_MASK (SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|\ + SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2) + +/* + * These next two were never actually used for anything since SSLeay zap so + * we have some more flags. + */ +/* + * The next flag deliberately changes the ciphertest, this is a check for the + * PKCS#1 attack + */ +# define SSL_OP_PKCS1_CHECK_1 0x0 +# define SSL_OP_PKCS1_CHECK_2 0x0 + +# define SSL_OP_NETSCAPE_CA_DN_BUG 0x20000000L +# define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x40000000L +/* + * Make server add server-hello extension from early version of cryptopro + * draft, when GOST ciphersuite is negotiated. Required for interoperability + * with CryptoPro CSP 3.x + */ +# define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x80000000L + +/* + * Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success + * when just a single record has been written): + */ +# define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001L +/* + * Make it possible to retry SSL_write() with changed buffer location (buffer + * contents must stay the same!); this is not the default to avoid the + * misconception that non-blocking SSL_write() behaves like non-blocking + * write(): + */ +# define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002L +/* + * Never bother the application with retries if the transport is blocking: + */ +# define SSL_MODE_AUTO_RETRY 0x00000004L +/* Don't attempt to automatically build certificate chain */ +# define SSL_MODE_NO_AUTO_CHAIN 0x00000008L +/* + * Save RAM by releasing read and write buffers when they're empty. (SSL3 and + * TLS only.) "Released" buffers are put onto a free-list in the context or + * just freed (depending on the context's setting for freelist_max_len). + */ +# define SSL_MODE_RELEASE_BUFFERS 0x00000010L +/* + * Send the current time in the Random fields of the ClientHello and + * ServerHello records for compatibility with hypothetical implementations + * that require it. + */ +# define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020L +# define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040L +/* + * Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications + * that reconnect with a downgraded protocol version; see + * draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your + * application attempts a normal handshake. Only use this in explicit + * fallback retries, following the guidance in + * draft-ietf-tls-downgrade-scsv-00. + */ +# define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080L + +/* Cert related flags */ +/* + * Many implementations ignore some aspects of the TLS standards such as + * enforcing certifcate chain algorithms. When this is set we enforce them. + */ +# define SSL_CERT_FLAG_TLS_STRICT 0x00000001L + +/* Suite B modes, takes same values as certificate verify flags */ +# define SSL_CERT_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define SSL_CERT_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define SSL_CERT_FLAG_SUITEB_128_LOS 0x30000 + +/* Perform all sorts of protocol violations for testing purposes */ +# define SSL_CERT_FLAG_BROKEN_PROTOCOL 0x10000000 + +/* Flags for building certificate chains */ +/* Treat any existing certificates as untrusted CAs */ +# define SSL_BUILD_CHAIN_FLAG_UNTRUSTED 0x1 +/* Don't include root CA in chain */ +# define SSL_BUILD_CHAIN_FLAG_NO_ROOT 0x2 +/* Just check certificates already there */ +# define SSL_BUILD_CHAIN_FLAG_CHECK 0x4 +/* Ignore verification errors */ +# define SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR 0x8 +/* Clear verification errors from queue */ +# define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR 0x10 + +/* Flags returned by SSL_check_chain */ +/* Certificate can be used with this session */ +# define CERT_PKEY_VALID 0x1 +/* Certificate can also be used for signing */ +# define CERT_PKEY_SIGN 0x2 +/* EE certificate signing algorithm OK */ +# define CERT_PKEY_EE_SIGNATURE 0x10 +/* CA signature algorithms OK */ +# define CERT_PKEY_CA_SIGNATURE 0x20 +/* EE certificate parameters OK */ +# define CERT_PKEY_EE_PARAM 0x40 +/* CA certificate parameters OK */ +# define CERT_PKEY_CA_PARAM 0x80 +/* Signing explicitly allowed as opposed to SHA1 fallback */ +# define CERT_PKEY_EXPLICIT_SIGN 0x100 +/* Client CA issuer names match (always set for server cert) */ +# define CERT_PKEY_ISSUER_NAME 0x200 +/* Cert type matches client types (always set for server cert) */ +# define CERT_PKEY_CERT_TYPE 0x400 +/* Cert chain suitable to Suite B */ +# define CERT_PKEY_SUITEB 0x800 + +# define SSL_CONF_FLAG_CMDLINE 0x1 +# define SSL_CONF_FLAG_FILE 0x2 +# define SSL_CONF_FLAG_CLIENT 0x4 +# define SSL_CONF_FLAG_SERVER 0x8 +# define SSL_CONF_FLAG_SHOW_ERRORS 0x10 +# define SSL_CONF_FLAG_CERTIFICATE 0x20 +/* Configuration value types */ +# define SSL_CONF_TYPE_UNKNOWN 0x0 +# define SSL_CONF_TYPE_STRING 0x1 +# define SSL_CONF_TYPE_FILE 0x2 +# define SSL_CONF_TYPE_DIR 0x3 + +/* + * Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, they + * cannot be used to clear bits. + */ + +# define SSL_CTX_set_options(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) +# define SSL_CTX_clear_options(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) +# define SSL_CTX_get_options(ctx) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,0,NULL) +# define SSL_set_options(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_OPTIONS,(op),NULL) +# define SSL_clear_options(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) +# define SSL_get_options(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_OPTIONS,0,NULL) + +# define SSL_CTX_set_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) +# define SSL_CTX_clear_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_CTX_get_mode(ctx) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL) +# define SSL_clear_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_set_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) +# define SSL_get_mode(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL) +# define SSL_set_mtu(ssl, mtu) \ + SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL) +# define DTLS_set_link_mtu(ssl, mtu) \ + SSL_ctrl((ssl),DTLS_CTRL_SET_LINK_MTU,(mtu),NULL) +# define DTLS_get_link_min_mtu(ssl) \ + SSL_ctrl((ssl),DTLS_CTRL_GET_LINK_MIN_MTU,0,NULL) + +# define SSL_get_secure_renegotiation_support(ssl) \ + SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) + +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_heartbeat(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_TLS_EXT_SEND_HEARTBEAT,0,NULL) +# endif + +# define SSL_CTX_set_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_set_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_CTX_clear_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) +# define SSL_clear_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) + +void SSL_CTX_set_msg_callback(SSL_CTX *ctx, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +void SSL_set_msg_callback(SSL *ssl, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +# define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) +# define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) + +# ifndef OPENSSL_NO_SRP + +# ifndef OPENSSL_NO_SSL_INTERN + +typedef struct srp_ctx_st { + /* param for all the callbacks */ + void *SRP_cb_arg; + /* set client Hello login callback */ + int (*TLS_ext_srp_username_callback) (SSL *, int *, void *); + /* set SRP N/g param callback for verification */ + int (*SRP_verify_param_callback) (SSL *, void *); + /* set SRP client passwd callback */ + char *(*SRP_give_srp_client_pwd_callback) (SSL *, void *); + char *login; + BIGNUM *N, *g, *s, *B, *A; + BIGNUM *a, *b, *v; + char *info; + int strength; + unsigned long srp_Mask; +} SRP_CTX; + +# endif + +/* see tls_srp.c */ +int SSL_SRP_CTX_init(SSL *s); +int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx); +int SSL_SRP_CTX_free(SSL *ctx); +int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx); +int SSL_srp_server_param_with_username(SSL *s, int *ad); +int SRP_generate_server_master_secret(SSL *s, unsigned char *master_key); +int SRP_Calc_A_param(SSL *s); +int SRP_generate_client_master_secret(SSL *s, unsigned char *master_key); + +# endif + +# if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) +# define SSL_MAX_CERT_LIST_DEFAULT 1024*30 + /* 30k max cert list :-) */ +# else +# define SSL_MAX_CERT_LIST_DEFAULT 1024*100 + /* 100k max cert list :-) */ +# endif + +# define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20) + +/* + * This callback type is used inside SSL_CTX, SSL, and in the functions that + * set them. It is used to override the generation of SSL/TLS session IDs in + * a server. Return value should be zero on an error, non-zero to proceed. + * Also, callbacks should themselves check if the id they generate is unique + * otherwise the SSL handshake will fail with an error - callbacks can do + * this using the 'ssl' value they're passed by; + * SSL_has_matching_session_id(ssl, id, *id_len) The length value passed in + * is set at the maximum size the session ID can be. In SSLv2 this is 16 + * bytes, whereas SSLv3/TLSv1 it is 32 bytes. The callback can alter this + * length to be less if desired, but under SSLv2 session IDs are supposed to + * be fixed at 16 bytes so the id will be padded after the callback returns + * in this case. It is also an error for the callback to set the size to + * zero. + */ +typedef int (*GEN_SESSION_CB) (const SSL *ssl, unsigned char *id, + unsigned int *id_len); + +typedef struct ssl_comp_st SSL_COMP; + +# ifndef OPENSSL_NO_SSL_INTERN + +struct ssl_comp_st { + int id; + const char *name; +# ifndef OPENSSL_NO_COMP + COMP_METHOD *method; +# else + char *method; +# endif +}; + +DECLARE_STACK_OF(SSL_COMP) +DECLARE_LHASH_OF(SSL_SESSION); + +struct ssl_ctx_st { + const SSL_METHOD *method; + STACK_OF(SSL_CIPHER) *cipher_list; + /* same as above but sorted for lookup */ + STACK_OF(SSL_CIPHER) *cipher_list_by_id; + struct x509_store_st /* X509_STORE */ *cert_store; + LHASH_OF(SSL_SESSION) *sessions; + /* + * Most session-ids that will be cached, default is + * SSL_SESSION_CACHE_MAX_SIZE_DEFAULT. 0 is unlimited. + */ + unsigned long session_cache_size; + struct ssl_session_st *session_cache_head; + struct ssl_session_st *session_cache_tail; + /* + * This can have one of 2 values, ored together, SSL_SESS_CACHE_CLIENT, + * SSL_SESS_CACHE_SERVER, Default is SSL_SESSION_CACHE_SERVER, which + * means only SSL_accept which cache SSL_SESSIONS. + */ + int session_cache_mode; + /* + * If timeout is not 0, it is the default timeout value set when + * SSL_new() is called. This has been put in to make life easier to set + * things up + */ + long session_timeout; + /* + * If this callback is not null, it will be called each time a session id + * is added to the cache. If this function returns 1, it means that the + * callback will do a SSL_SESSION_free() when it has finished using it. + * Otherwise, on 0, it means the callback has finished with it. If + * remove_session_cb is not null, it will be called when a session-id is + * removed from the cache. After the call, OpenSSL will + * SSL_SESSION_free() it. + */ + int (*new_session_cb) (struct ssl_st *ssl, SSL_SESSION *sess); + void (*remove_session_cb) (struct ssl_ctx_st *ctx, SSL_SESSION *sess); + SSL_SESSION *(*get_session_cb) (struct ssl_st *ssl, + unsigned char *data, int len, int *copy); + struct { + int sess_connect; /* SSL new conn - started */ + int sess_connect_renegotiate; /* SSL reneg - requested */ + int sess_connect_good; /* SSL new conne/reneg - finished */ + int sess_accept; /* SSL new accept - started */ + int sess_accept_renegotiate; /* SSL reneg - requested */ + int sess_accept_good; /* SSL accept/reneg - finished */ + int sess_miss; /* session lookup misses */ + int sess_timeout; /* reuse attempt on timeouted session */ + int sess_cache_full; /* session removed due to full cache */ + int sess_hit; /* session reuse actually done */ + int sess_cb_hit; /* session-id that was not in the cache was + * passed back via the callback. This + * indicates that the application is + * supplying session-id's from other + * processes - spooky :-) */ + } stats; + + int references; + + /* if defined, these override the X509_verify_cert() calls */ + int (*app_verify_callback) (X509_STORE_CTX *, void *); + void *app_verify_arg; + /* + * before OpenSSL 0.9.7, 'app_verify_arg' was ignored + * ('app_verify_callback' was called with just one argument) + */ + + /* Default password callback. */ + pem_password_cb *default_passwd_callback; + + /* Default password callback user data. */ + void *default_passwd_callback_userdata; + + /* get client cert callback */ + int (*client_cert_cb) (SSL *ssl, X509 **x509, EVP_PKEY **pkey); + + /* cookie generate callback */ + int (*app_gen_cookie_cb) (SSL *ssl, unsigned char *cookie, + unsigned int *cookie_len); + + /* verify cookie callback */ + int (*app_verify_cookie_cb) (SSL *ssl, unsigned char *cookie, + unsigned int cookie_len); + + CRYPTO_EX_DATA ex_data; + + const EVP_MD *rsa_md5; /* For SSLv2 - name is 'ssl2-md5' */ + const EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */ + const EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3->sha1' */ + + STACK_OF(X509) *extra_certs; + STACK_OF(SSL_COMP) *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */ + + /* Default values used when no per-SSL value is defined follow */ + + /* used if SSL's info_callback is NULL */ + void (*info_callback) (const SSL *ssl, int type, int val); + + /* what we put in client cert requests */ + STACK_OF(X509_NAME) *client_CA; + + /* + * Default values to use in SSL structures follow (these are copied by + * SSL_new) + */ + + unsigned long options; + unsigned long mode; + long max_cert_list; + + struct cert_st /* CERT */ *cert; + int read_ahead; + + /* callback that allows applications to peek at protocol messages */ + void (*msg_callback) (int write_p, int version, int content_type, + const void *buf, size_t len, SSL *ssl, void *arg); + void *msg_callback_arg; + + int verify_mode; + unsigned int sid_ctx_length; + unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; + /* called 'verify_callback' in the SSL */ + int (*default_verify_callback) (int ok, X509_STORE_CTX *ctx); + + /* Default generate session ID callback. */ + GEN_SESSION_CB generate_session_id; + + X509_VERIFY_PARAM *param; + +# if 0 + int purpose; /* Purpose setting */ + int trust; /* Trust setting */ +# endif + + int quiet_shutdown; + + /* + * Maximum amount of data to send in one fragment. actual record size can + * be more than this due to padding and MAC overheads. + */ + unsigned int max_send_fragment; + +# ifndef OPENSSL_NO_ENGINE + /* + * Engine to pass requests for client certs to + */ + ENGINE *client_cert_engine; +# endif + +# ifndef OPENSSL_NO_TLSEXT + /* TLS extensions servername callback */ + int (*tlsext_servername_callback) (SSL *, int *, void *); + void *tlsext_servername_arg; + /* RFC 4507 session ticket keys */ + unsigned char tlsext_tick_key_name[16]; + unsigned char tlsext_tick_hmac_key[16]; + unsigned char tlsext_tick_aes_key[16]; + /* Callback to support customisation of ticket key setting */ + int (*tlsext_ticket_key_cb) (SSL *ssl, + unsigned char *name, unsigned char *iv, + EVP_CIPHER_CTX *ectx, + HMAC_CTX *hctx, int enc); + + /* certificate status request info */ + /* Callback for status request */ + int (*tlsext_status_cb) (SSL *ssl, void *arg); + void *tlsext_status_arg; + + /* draft-rescorla-tls-opaque-prf-input-00.txt information */ + int (*tlsext_opaque_prf_input_callback) (SSL *, void *peerinput, + size_t len, void *arg); + void *tlsext_opaque_prf_input_callback_arg; +# endif + +# ifndef OPENSSL_NO_PSK + char *psk_identity_hint; + unsigned int (*psk_client_callback) (SSL *ssl, const char *hint, + char *identity, + unsigned int max_identity_len, + unsigned char *psk, + unsigned int max_psk_len); + unsigned int (*psk_server_callback) (SSL *ssl, const char *identity, + unsigned char *psk, + unsigned int max_psk_len); +# endif + +# ifndef OPENSSL_NO_BUF_FREELISTS +# define SSL_MAX_BUF_FREELIST_LEN_DEFAULT 32 + unsigned int freelist_max_len; + struct ssl3_buf_freelist_st *wbuf_freelist; + struct ssl3_buf_freelist_st *rbuf_freelist; +# endif +# ifndef OPENSSL_NO_SRP + SRP_CTX srp_ctx; /* ctx for SRP authentication */ +# endif + +# ifndef OPENSSL_NO_TLSEXT + +# ifndef OPENSSL_NO_NEXTPROTONEG + /* Next protocol negotiation information */ + /* (for experimental NPN extension). */ + + /* + * For a server, this contains a callback function by which the set of + * advertised protocols can be provided. + */ + int (*next_protos_advertised_cb) (SSL *s, const unsigned char **buf, + unsigned int *len, void *arg); + void *next_protos_advertised_cb_arg; + /* + * For a client, this contains a callback function that selects the next + * protocol from the list provided by the server. + */ + int (*next_proto_select_cb) (SSL *s, unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, void *arg); + void *next_proto_select_cb_arg; +# endif + /* SRTP profiles we are willing to do from RFC 5764 */ + STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; + + /* + * ALPN information (we are in the process of transitioning from NPN to + * ALPN.) + */ + + /*- + * For a server, this contains a callback function that allows the + * server to select the protocol for the connection. + * out: on successful return, this must point to the raw protocol + * name (without the length prefix). + * outlen: on successful return, this contains the length of |*out|. + * in: points to the client's list of supported protocols in + * wire-format. + * inlen: the length of |in|. + */ + int (*alpn_select_cb) (SSL *s, + const unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, void *arg); + void *alpn_select_cb_arg; + + /* + * For a client, this contains the list of supported protocols in wire + * format. + */ + unsigned char *alpn_client_proto_list; + unsigned alpn_client_proto_list_len; + +# ifndef OPENSSL_NO_EC + /* EC extension values inherited by SSL structure */ + size_t tlsext_ecpointformatlist_length; + unsigned char *tlsext_ecpointformatlist; + size_t tlsext_ellipticcurvelist_length; + unsigned char *tlsext_ellipticcurvelist; +# endif /* OPENSSL_NO_EC */ +# endif +}; + +# endif + +# define SSL_SESS_CACHE_OFF 0x0000 +# define SSL_SESS_CACHE_CLIENT 0x0001 +# define SSL_SESS_CACHE_SERVER 0x0002 +# define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER) +# define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080 +/* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */ +# define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100 +# define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200 +# define SSL_SESS_CACHE_NO_INTERNAL \ + (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE) + +LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx); +# define SSL_CTX_sess_number(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL) +# define SSL_CTX_sess_connect(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL) +# define SSL_CTX_sess_connect_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL) +# define SSL_CTX_sess_connect_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL) +# define SSL_CTX_sess_accept_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL) +# define SSL_CTX_sess_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL) +# define SSL_CTX_sess_cb_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL) +# define SSL_CTX_sess_misses(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL) +# define SSL_CTX_sess_timeouts(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL) +# define SSL_CTX_sess_cache_full(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL) + +void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, + int (*new_session_cb) (struct ssl_st *ssl, + SSL_SESSION *sess)); +int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + SSL_SESSION *sess); +void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, + void (*remove_session_cb) (struct ssl_ctx_st + *ctx, + SSL_SESSION + *sess)); +void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (struct ssl_ctx_st *ctx, + SSL_SESSION *sess); +void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, + SSL_SESSION *(*get_session_cb) (struct ssl_st + *ssl, + unsigned char + *data, int len, + int *copy)); +SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + unsigned char *Data, + int len, int *copy); +void SSL_CTX_set_info_callback(SSL_CTX *ctx, + void (*cb) (const SSL *ssl, int type, + int val)); +void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type, + int val); +void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, + int (*client_cert_cb) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey)); +int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey); +# ifndef OPENSSL_NO_ENGINE +int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); +# endif +void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, + int (*app_gen_cookie_cb) (SSL *ssl, + unsigned char + *cookie, + unsigned int + *cookie_len)); +void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, + int (*app_verify_cookie_cb) (SSL *ssl, + unsigned char + *cookie, + unsigned int + cookie_len)); +# ifndef OPENSSL_NO_NEXTPROTONEG +void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, + int (*cb) (SSL *ssl, + const unsigned char + **out, + unsigned int *outlen, + void *arg), void *arg); +void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, + int (*cb) (SSL *ssl, + unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg), void *arg); +void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, + unsigned *len); +# endif + +# ifndef OPENSSL_NO_TLSEXT +int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, + const unsigned char *in, unsigned int inlen, + const unsigned char *client, + unsigned int client_len); +# endif + +# define OPENSSL_NPN_UNSUPPORTED 0 +# define OPENSSL_NPN_NEGOTIATED 1 +# define OPENSSL_NPN_NO_OVERLAP 2 + +int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, + unsigned protos_len); +int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, + unsigned protos_len); +void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, + int (*cb) (SSL *ssl, + const unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg), void *arg); +void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, + unsigned *len); + +# ifndef OPENSSL_NO_PSK +/* + * the maximum length of the buffer given to callbacks containing the + * resulting identity/psk + */ +# define PSK_MAX_IDENTITY_LEN 128 +# define PSK_MAX_PSK_LEN 256 +void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, + unsigned int (*psk_client_callback) (SSL + *ssl, + const + char + *hint, + char + *identity, + unsigned + int + max_identity_len, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +void SSL_set_psk_client_callback(SSL *ssl, + unsigned int (*psk_client_callback) (SSL + *ssl, + const + char + *hint, + char + *identity, + unsigned + int + max_identity_len, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, + unsigned int (*psk_server_callback) (SSL + *ssl, + const + char + *identity, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +void SSL_set_psk_server_callback(SSL *ssl, + unsigned int (*psk_server_callback) (SSL + *ssl, + const + char + *identity, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint); +int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint); +const char *SSL_get_psk_identity_hint(const SSL *s); +const char *SSL_get_psk_identity(const SSL *s); +# endif + +# ifndef OPENSSL_NO_TLSEXT +/* Register callbacks to handle custom TLS Extensions for client or server. */ + +int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +int SSL_extension_supported(unsigned int ext_type); + +# endif + +# define SSL_NOTHING 1 +# define SSL_WRITING 2 +# define SSL_READING 3 +# define SSL_X509_LOOKUP 4 + +/* These will only be used when doing non-blocking IO */ +# define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) +# define SSL_want_read(s) (SSL_want(s) == SSL_READING) +# define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) +# define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) + +# define SSL_MAC_FLAG_READ_MAC_STREAM 1 +# define SSL_MAC_FLAG_WRITE_MAC_STREAM 2 + +# ifndef OPENSSL_NO_SSL_INTERN + +struct ssl_st { + /* + * protocol version (one of SSL2_VERSION, SSL3_VERSION, TLS1_VERSION, + * DTLS1_VERSION) + */ + int version; + /* SSL_ST_CONNECT or SSL_ST_ACCEPT */ + int type; + /* SSLv3 */ + const SSL_METHOD *method; + /* + * There are 2 BIO's even though they are normally both the same. This + * is so data can be read and written to different handlers + */ +# ifndef OPENSSL_NO_BIO + /* used by SSL_read */ + BIO *rbio; + /* used by SSL_write */ + BIO *wbio; + /* used during session-id reuse to concatenate messages */ + BIO *bbio; +# else + /* used by SSL_read */ + char *rbio; + /* used by SSL_write */ + char *wbio; + char *bbio; +# endif + /* + * This holds a variable that indicates what we were doing when a 0 or -1 + * is returned. This is needed for non-blocking IO so we know what + * request needs re-doing when in SSL_accept or SSL_connect + */ + int rwstate; + /* true when we are actually in SSL_accept() or SSL_connect() */ + int in_handshake; + int (*handshake_func) (SSL *); + /* + * Imagine that here's a boolean member "init" that is switched as soon + * as SSL_set_{accept/connect}_state is called for the first time, so + * that "state" and "handshake_func" are properly initialized. But as + * handshake_func is == 0 until then, we use this test instead of an + * "init" member. + */ + /* are we the server side? - mostly used by SSL_clear */ + int server; + /* + * Generate a new session or reuse an old one. + * NB: For servers, the 'new' session may actually be a previously + * cached session or even the previous session unless + * SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION is set + */ + int new_session; + /* don't send shutdown packets */ + int quiet_shutdown; + /* we have shut things down, 0x01 sent, 0x02 for received */ + int shutdown; + /* where we are */ + int state; + /* where we are when reading */ + int rstate; + BUF_MEM *init_buf; /* buffer used during init */ + void *init_msg; /* pointer to handshake message body, set by + * ssl3_get_message() */ + int init_num; /* amount read/written */ + int init_off; /* amount read/written */ + /* used internally to point at a raw packet */ + unsigned char *packet; + unsigned int packet_length; + struct ssl2_state_st *s2; /* SSLv2 variables */ + struct ssl3_state_st *s3; /* SSLv3 variables */ + struct dtls1_state_st *d1; /* DTLSv1 variables */ + int read_ahead; /* Read as many input bytes as possible (for + * non-blocking reads) */ + /* callback that allows applications to peek at protocol messages */ + void (*msg_callback) (int write_p, int version, int content_type, + const void *buf, size_t len, SSL *ssl, void *arg); + void *msg_callback_arg; + int hit; /* reusing a previous session */ + X509_VERIFY_PARAM *param; +# if 0 + int purpose; /* Purpose setting */ + int trust; /* Trust setting */ +# endif + /* crypto */ + STACK_OF(SSL_CIPHER) *cipher_list; + STACK_OF(SSL_CIPHER) *cipher_list_by_id; + /* + * These are the ones being used, the ones in SSL_SESSION are the ones to + * be 'copied' into these ones + */ + int mac_flags; + EVP_CIPHER_CTX *enc_read_ctx; /* cryptographic state */ + EVP_MD_CTX *read_hash; /* used for mac generation */ +# ifndef OPENSSL_NO_COMP + COMP_CTX *expand; /* uncompress */ +# else + char *expand; +# endif + EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ + EVP_MD_CTX *write_hash; /* used for mac generation */ +# ifndef OPENSSL_NO_COMP + COMP_CTX *compress; /* compression */ +# else + char *compress; +# endif + /* session info */ + /* client cert? */ + /* This is used to hold the server certificate used */ + struct cert_st /* CERT */ *cert; + /* + * the session_id_context is used to ensure sessions are only reused in + * the appropriate context + */ + unsigned int sid_ctx_length; + unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; + /* This can also be in the session once a session is established */ + SSL_SESSION *session; + /* Default generate session ID callback. */ + GEN_SESSION_CB generate_session_id; + /* Used in SSL2 and SSL3 */ + /* + * 0 don't care about verify failure. + * 1 fail if verify fails + */ + int verify_mode; + /* fail if callback returns 0 */ + int (*verify_callback) (int ok, X509_STORE_CTX *ctx); + /* optional informational callback */ + void (*info_callback) (const SSL *ssl, int type, int val); + /* error bytes to be written */ + int error; + /* actual code */ + int error_code; +# ifndef OPENSSL_NO_KRB5 + /* Kerberos 5 context */ + KSSL_CTX *kssl_ctx; +# endif /* OPENSSL_NO_KRB5 */ +# ifndef OPENSSL_NO_PSK + unsigned int (*psk_client_callback) (SSL *ssl, const char *hint, + char *identity, + unsigned int max_identity_len, + unsigned char *psk, + unsigned int max_psk_len); + unsigned int (*psk_server_callback) (SSL *ssl, const char *identity, + unsigned char *psk, + unsigned int max_psk_len); +# endif + SSL_CTX *ctx; + /* + * set this flag to 1 and a sleep(1) is put into all SSL_read() and + * SSL_write() calls, good for nbio debuging :-) + */ + int debug; + /* extra application data */ + long verify_result; + CRYPTO_EX_DATA ex_data; + /* for server side, keep the list of CA_dn we can use */ + STACK_OF(X509_NAME) *client_CA; + int references; + /* protocol behaviour */ + unsigned long options; + /* API behaviour */ + unsigned long mode; + long max_cert_list; + int first_packet; + /* what was passed, used for SSLv3/TLS rollback check */ + int client_version; + unsigned int max_send_fragment; +# ifndef OPENSSL_NO_TLSEXT + /* TLS extension debug callback */ + void (*tlsext_debug_cb) (SSL *s, int client_server, int type, + unsigned char *data, int len, void *arg); + void *tlsext_debug_arg; + char *tlsext_hostname; + /*- + * no further mod of servername + * 0 : call the servername extension callback. + * 1 : prepare 2, allow last ack just after in server callback. + * 2 : don't call servername callback, no ack in server hello + */ + int servername_done; + /* certificate status request info */ + /* Status type or -1 if no status type */ + int tlsext_status_type; + /* Expect OCSP CertificateStatus message */ + int tlsext_status_expected; + /* OCSP status request only */ + STACK_OF(OCSP_RESPID) *tlsext_ocsp_ids; + X509_EXTENSIONS *tlsext_ocsp_exts; + /* OCSP response received or to be sent */ + unsigned char *tlsext_ocsp_resp; + int tlsext_ocsp_resplen; + /* RFC4507 session ticket expected to be received or sent */ + int tlsext_ticket_expected; +# ifndef OPENSSL_NO_EC + size_t tlsext_ecpointformatlist_length; + /* our list */ + unsigned char *tlsext_ecpointformatlist; + size_t tlsext_ellipticcurvelist_length; + /* our list */ + unsigned char *tlsext_ellipticcurvelist; +# endif /* OPENSSL_NO_EC */ + /* + * draft-rescorla-tls-opaque-prf-input-00.txt information to be used for + * handshakes + */ + void *tlsext_opaque_prf_input; + size_t tlsext_opaque_prf_input_len; + /* TLS Session Ticket extension override */ + TLS_SESSION_TICKET_EXT *tlsext_session_ticket; + /* TLS Session Ticket extension callback */ + tls_session_ticket_ext_cb_fn tls_session_ticket_ext_cb; + void *tls_session_ticket_ext_cb_arg; + /* TLS pre-shared secret session resumption */ + tls_session_secret_cb_fn tls_session_secret_cb; + void *tls_session_secret_cb_arg; + SSL_CTX *initial_ctx; /* initial ctx, used to store sessions */ +# ifndef OPENSSL_NO_NEXTPROTONEG + /* + * Next protocol negotiation. For the client, this is the protocol that + * we sent in NextProtocol and is set when handling ServerHello + * extensions. For a server, this is the client's selected_protocol from + * NextProtocol and is set when handling the NextProtocol message, before + * the Finished message. + */ + unsigned char *next_proto_negotiated; + unsigned char next_proto_negotiated_len; +# endif +# define session_ctx initial_ctx + /* What we'll do */ + STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; + /* What's been chosen */ + SRTP_PROTECTION_PROFILE *srtp_profile; + /*- + * Is use of the Heartbeat extension negotiated? + * 0: disabled + * 1: enabled + * 2: enabled, but not allowed to send Requests + */ + unsigned int tlsext_heartbeat; + /* Indicates if a HeartbeatRequest is in flight */ + unsigned int tlsext_hb_pending; + /* HeartbeatRequest sequence number */ + unsigned int tlsext_hb_seq; +# else +# define session_ctx ctx +# endif /* OPENSSL_NO_TLSEXT */ + /*- + * 1 if we are renegotiating. + * 2 if we are a server and are inside a handshake + * (i.e. not just sending a HelloRequest) + */ + int renegotiate; +# ifndef OPENSSL_NO_SRP + /* ctx for SRP authentication */ + SRP_CTX srp_ctx; +# endif +# ifndef OPENSSL_NO_TLSEXT + /* + * For a client, this contains the list of supported protocols in wire + * format. + */ + unsigned char *alpn_client_proto_list; + unsigned alpn_client_proto_list_len; +# endif /* OPENSSL_NO_TLSEXT */ +}; + +# endif + +#ifdef __cplusplus +} +#endif + +# include +# include +# include /* This is mostly sslv3 with a few tweaks */ +# include /* Datagram TLS */ +# include +# include /* Support for the use_srtp extension */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* compatibility */ +# define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)arg)) +# define SSL_get_app_data(s) (SSL_get_ex_data(s,0)) +# define SSL_SESSION_set_app_data(s,a) (SSL_SESSION_set_ex_data(s,0,(char *)a)) +# define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s,0)) +# define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx,0)) +# define SSL_CTX_set_app_data(ctx,arg) (SSL_CTX_set_ex_data(ctx,0,(char *)arg)) + +/* + * The following are the possible values for ssl->state are are used to + * indicate where we are up to in the SSL connection establishment. The + * macros that follow are about the only things you should need to use and + * even then, only when using non-blocking IO. It can also be useful to work + * out where you were when the connection failed + */ + +# define SSL_ST_CONNECT 0x1000 +# define SSL_ST_ACCEPT 0x2000 +# define SSL_ST_MASK 0x0FFF +# define SSL_ST_INIT (SSL_ST_CONNECT|SSL_ST_ACCEPT) +# define SSL_ST_BEFORE 0x4000 +# define SSL_ST_OK 0x03 +# define SSL_ST_RENEGOTIATE (0x04|SSL_ST_INIT) +# define SSL_ST_ERR (0x05|SSL_ST_INIT) + +# define SSL_CB_LOOP 0x01 +# define SSL_CB_EXIT 0x02 +# define SSL_CB_READ 0x04 +# define SSL_CB_WRITE 0x08 +# define SSL_CB_ALERT 0x4000/* used in callback */ +# define SSL_CB_READ_ALERT (SSL_CB_ALERT|SSL_CB_READ) +# define SSL_CB_WRITE_ALERT (SSL_CB_ALERT|SSL_CB_WRITE) +# define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT|SSL_CB_LOOP) +# define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT|SSL_CB_EXIT) +# define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT|SSL_CB_LOOP) +# define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT|SSL_CB_EXIT) +# define SSL_CB_HANDSHAKE_START 0x10 +# define SSL_CB_HANDSHAKE_DONE 0x20 + +/* Is the SSL_connection established? */ +# define SSL_get_state(a) SSL_state(a) +# define SSL_is_init_finished(a) (SSL_state(a) == SSL_ST_OK) +# define SSL_in_init(a) (SSL_state(a)&SSL_ST_INIT) +# define SSL_in_before(a) (SSL_state(a)&SSL_ST_BEFORE) +# define SSL_in_connect_init(a) (SSL_state(a)&SSL_ST_CONNECT) +# define SSL_in_accept_init(a) (SSL_state(a)&SSL_ST_ACCEPT) + +/* + * The following 2 states are kept in ssl->rstate when reads fail, you should + * not need these + */ +# define SSL_ST_READ_HEADER 0xF0 +# define SSL_ST_READ_BODY 0xF1 +# define SSL_ST_READ_DONE 0xF2 + +/*- + * Obtain latest Finished message + * -- that we sent (SSL_get_finished) + * -- that we expected from peer (SSL_get_peer_finished). + * Returns length (0 == no Finished so far), copies up to 'count' bytes. + */ +size_t SSL_get_finished(const SSL *s, void *buf, size_t count); +size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count); + +/* + * use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 2 options are + * 'ored' with SSL_VERIFY_PEER if they are desired + */ +# define SSL_VERIFY_NONE 0x00 +# define SSL_VERIFY_PEER 0x01 +# define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 +# define SSL_VERIFY_CLIENT_ONCE 0x04 + +# define OpenSSL_add_ssl_algorithms() SSL_library_init() +# define SSLeay_add_ssl_algorithms() SSL_library_init() + +/* this is for backward compatibility */ +# if 0 /* NEW_SSLEAY */ +# define SSL_CTX_set_default_verify(a,b,c) SSL_CTX_set_verify(a,b,c) +# define SSL_set_pref_cipher(c,n) SSL_set_cipher_list(c,n) +# define SSL_add_session(a,b) SSL_CTX_add_session((a),(b)) +# define SSL_remove_session(a,b) SSL_CTX_remove_session((a),(b)) +# define SSL_flush_sessions(a,b) SSL_CTX_flush_sessions((a),(b)) +# endif +/* More backward compatibility */ +# define SSL_get_cipher(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_cipher_bits(s,np) \ + SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) +# define SSL_get_cipher_version(s) \ + SSL_CIPHER_get_version(SSL_get_current_cipher(s)) +# define SSL_get_cipher_name(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_time(a) SSL_SESSION_get_time(a) +# define SSL_set_time(a,b) SSL_SESSION_set_time((a),(b)) +# define SSL_get_timeout(a) SSL_SESSION_get_timeout(a) +# define SSL_set_timeout(a,b) SSL_SESSION_set_timeout((a),(b)) + +# define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id) +# define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id) + +DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) +# define SSL_AD_REASON_OFFSET 1000/* offset to get SSL_R_... value + * from SSL_AD_... */ +/* These alert types are for SSLv3 and TLSv1 */ +# define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY +/* fatal */ +# define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE +/* fatal */ +# define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC +# define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED +# define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW +/* fatal */ +# define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE +/* fatal */ +# define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE +/* Not for TLS */ +# define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE +# define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE +# define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE +# define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED +# define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED +# define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN +/* fatal */ +# define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER +/* fatal */ +# define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA +/* fatal */ +# define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED +/* fatal */ +# define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR +# define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR +/* fatal */ +# define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION +/* fatal */ +# define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION +/* fatal */ +# define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY +/* fatal */ +# define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR +# define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED +# define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION +# define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION +# define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE +# define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME +# define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE +# define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE +/* fatal */ +# define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY +/* fatal */ +# define SSL_AD_INAPPROPRIATE_FALLBACK TLS1_AD_INAPPROPRIATE_FALLBACK +# define SSL_ERROR_NONE 0 +# define SSL_ERROR_SSL 1 +# define SSL_ERROR_WANT_READ 2 +# define SSL_ERROR_WANT_WRITE 3 +# define SSL_ERROR_WANT_X509_LOOKUP 4 +# define SSL_ERROR_SYSCALL 5/* look at error stack/return + * value/errno */ +# define SSL_ERROR_ZERO_RETURN 6 +# define SSL_ERROR_WANT_CONNECT 7 +# define SSL_ERROR_WANT_ACCEPT 8 +# define SSL_CTRL_NEED_TMP_RSA 1 +# define SSL_CTRL_SET_TMP_RSA 2 +# define SSL_CTRL_SET_TMP_DH 3 +# define SSL_CTRL_SET_TMP_ECDH 4 +# define SSL_CTRL_SET_TMP_RSA_CB 5 +# define SSL_CTRL_SET_TMP_DH_CB 6 +# define SSL_CTRL_SET_TMP_ECDH_CB 7 +# define SSL_CTRL_GET_SESSION_REUSED 8 +# define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9 +# define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10 +# define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 +# define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 +# define SSL_CTRL_GET_FLAGS 13 +# define SSL_CTRL_EXTRA_CHAIN_CERT 14 +# define SSL_CTRL_SET_MSG_CALLBACK 15 +# define SSL_CTRL_SET_MSG_CALLBACK_ARG 16 +/* only applies to datagram connections */ +# define SSL_CTRL_SET_MTU 17 +/* Stats */ +# define SSL_CTRL_SESS_NUMBER 20 +# define SSL_CTRL_SESS_CONNECT 21 +# define SSL_CTRL_SESS_CONNECT_GOOD 22 +# define SSL_CTRL_SESS_CONNECT_RENEGOTIATE 23 +# define SSL_CTRL_SESS_ACCEPT 24 +# define SSL_CTRL_SESS_ACCEPT_GOOD 25 +# define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE 26 +# define SSL_CTRL_SESS_HIT 27 +# define SSL_CTRL_SESS_CB_HIT 28 +# define SSL_CTRL_SESS_MISSES 29 +# define SSL_CTRL_SESS_TIMEOUTS 30 +# define SSL_CTRL_SESS_CACHE_FULL 31 +# define SSL_CTRL_OPTIONS 32 +# define SSL_CTRL_MODE 33 +# define SSL_CTRL_GET_READ_AHEAD 40 +# define SSL_CTRL_SET_READ_AHEAD 41 +# define SSL_CTRL_SET_SESS_CACHE_SIZE 42 +# define SSL_CTRL_GET_SESS_CACHE_SIZE 43 +# define SSL_CTRL_SET_SESS_CACHE_MODE 44 +# define SSL_CTRL_GET_SESS_CACHE_MODE 45 +# define SSL_CTRL_GET_MAX_CERT_LIST 50 +# define SSL_CTRL_SET_MAX_CERT_LIST 51 +# define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52 +/* see tls1.h for macros based on these */ +# ifndef OPENSSL_NO_TLSEXT +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB 53 +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG 54 +# define SSL_CTRL_SET_TLSEXT_HOSTNAME 55 +# define SSL_CTRL_SET_TLSEXT_DEBUG_CB 56 +# define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 +# define SSL_CTRL_GET_TLSEXT_TICKET_KEYS 58 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEYS 59 +# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT 60 +# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 +# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75 +# define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76 +# define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77 +# define SSL_CTRL_SET_SRP_ARG 78 +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79 +# define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80 +# define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81 +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_CTRL_TLS_EXT_SEND_HEARTBEAT 85 +# define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING 86 +# define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS 87 +# endif +# endif /* OPENSSL_NO_TLSEXT */ +# define DTLS_CTRL_GET_TIMEOUT 73 +# define DTLS_CTRL_HANDLE_TIMEOUT 74 +# define DTLS_CTRL_LISTEN 75 +# define SSL_CTRL_GET_RI_SUPPORT 76 +# define SSL_CTRL_CLEAR_OPTIONS 77 +# define SSL_CTRL_CLEAR_MODE 78 +# define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 +# define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83 +# define SSL_CTRL_CHAIN 88 +# define SSL_CTRL_CHAIN_CERT 89 +# define SSL_CTRL_GET_CURVES 90 +# define SSL_CTRL_SET_CURVES 91 +# define SSL_CTRL_SET_CURVES_LIST 92 +# define SSL_CTRL_GET_SHARED_CURVE 93 +# define SSL_CTRL_SET_ECDH_AUTO 94 +# define SSL_CTRL_SET_SIGALGS 97 +# define SSL_CTRL_SET_SIGALGS_LIST 98 +# define SSL_CTRL_CERT_FLAGS 99 +# define SSL_CTRL_CLEAR_CERT_FLAGS 100 +# define SSL_CTRL_SET_CLIENT_SIGALGS 101 +# define SSL_CTRL_SET_CLIENT_SIGALGS_LIST 102 +# define SSL_CTRL_GET_CLIENT_CERT_TYPES 103 +# define SSL_CTRL_SET_CLIENT_CERT_TYPES 104 +# define SSL_CTRL_BUILD_CERT_CHAIN 105 +# define SSL_CTRL_SET_VERIFY_CERT_STORE 106 +# define SSL_CTRL_SET_CHAIN_CERT_STORE 107 +# define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 +# define SSL_CTRL_GET_SERVER_TMP_KEY 109 +# define SSL_CTRL_GET_RAW_CIPHERLIST 110 +# define SSL_CTRL_GET_EC_POINT_FORMATS 111 +# define SSL_CTRL_GET_CHAIN_CERTS 115 +# define SSL_CTRL_SELECT_CURRENT_CERT 116 +# define SSL_CTRL_SET_CURRENT_CERT 117 +# define SSL_CTRL_CHECK_PROTO_VERSION 119 +# define DTLS_CTRL_SET_LINK_MTU 120 +# define DTLS_CTRL_GET_LINK_MIN_MTU 121 +# define SSL_CERT_SET_FIRST 1 +# define SSL_CERT_SET_NEXT 2 +# define SSL_CERT_SET_SERVER 3 +# define DTLSv1_get_timeout(ssl, arg) \ + SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)arg) +# define DTLSv1_handle_timeout(ssl) \ + SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL) +# define DTLSv1_listen(ssl, peer) \ + SSL_ctrl(ssl,DTLS_CTRL_LISTEN,0, (void *)peer) +# define SSL_session_reused(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_SESSION_REUSED,0,NULL) +# define SSL_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_clear_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_total_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) +# define SSL_CTX_need_tmp_RSA(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_NEED_TMP_RSA,0,NULL) +# define SSL_CTX_set_tmp_rsa(ctx,rsa) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) +# define SSL_CTX_set_tmp_dh(ctx,dh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)dh) +# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) +# define SSL_need_tmp_RSA(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_NEED_TMP_RSA,0,NULL) +# define SSL_set_tmp_rsa(ssl,rsa) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) +# define SSL_set_tmp_dh(ssl,dh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)dh) +# define SSL_set_tmp_ecdh(ssl,ecdh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) +# define SSL_CTX_add_extra_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509) +# define SSL_CTX_get_extra_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509) +# define SSL_CTX_get_extra_chain_certs_only(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,1,px509) +# define SSL_CTX_clear_extra_chain_certs(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL) +# define SSL_CTX_set0_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)sk) +# define SSL_CTX_set1_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)sk) +# define SSL_CTX_add0_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)x509) +# define SSL_CTX_add1_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)x509) +# define SSL_CTX_get0_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_CTX_clear_chain_certs(ctx) \ + SSL_CTX_set0_chain(ctx,NULL) +# define SSL_CTX_build_cert_chain(ctx, flags) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_CTX_select_current_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)x509) +# define SSL_CTX_set_current_cert(ctx, op) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_CTX_set0_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)st) +# define SSL_CTX_set1_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)st) +# define SSL_CTX_set0_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)st) +# define SSL_CTX_set1_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)st) +# define SSL_set0_chain(ctx,sk) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)sk) +# define SSL_set1_chain(ctx,sk) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)sk) +# define SSL_add0_chain_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)x509) +# define SSL_add1_chain_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)x509) +# define SSL_get0_chain_certs(ctx,px509) \ + SSL_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_clear_chain_certs(ctx) \ + SSL_set0_chain(ctx,NULL) +# define SSL_build_cert_chain(s, flags) \ + SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_select_current_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)x509) +# define SSL_set_current_cert(ctx,op) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_set0_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)st) +# define SSL_set1_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)st) +# define SSL_set0_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)st) +# define SSL_set1_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)st) +# define SSL_get1_curves(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_GET_CURVES,0,(char *)s) +# define SSL_CTX_set1_curves(ctx, clist, clistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) +# define SSL_CTX_set1_curves_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) +# define SSL_set1_curves(ctx, clist, clistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) +# define SSL_set1_curves_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) +# define SSL_get_shared_curve(s, n) \ + SSL_ctrl(s,SSL_CTRL_GET_SHARED_CURVE,n,NULL) +# define SSL_CTX_set_ecdh_auto(ctx, onoff) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) +# define SSL_set_ecdh_auto(s, onoff) \ + SSL_ctrl(s,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) +# define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)slist) +# define SSL_CTX_set1_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)s) +# define SSL_set1_sigalgs(ctx, slist, slistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)slist) +# define SSL_set1_sigalgs_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)s) +# define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)slist) +# define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)s) +# define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)slist) +# define SSL_set1_client_sigalgs_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)s) +# define SSL_get0_certificate_types(s, clist) \ + SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)clist) +# define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)clist) +# define SSL_set1_client_certificate_types(s, clist, clistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)clist) +# define SSL_get_peer_signature_nid(s, pn) \ + SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn) +# define SSL_get_server_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_SERVER_TMP_KEY,0,pk) +# define SSL_get0_raw_cipherlist(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,(char *)plst) +# define SSL_get0_ec_point_formats(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,(char *)plst) +# ifndef OPENSSL_NO_BIO +BIO_METHOD *BIO_f_ssl(void); +BIO *BIO_new_ssl(SSL_CTX *ctx, int client); +BIO *BIO_new_ssl_connect(SSL_CTX *ctx); +BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx); +int BIO_ssl_copy_session_id(BIO *to, BIO *from); +void BIO_ssl_shutdown(BIO *ssl_bio); + +# endif + +int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); +SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); +void SSL_CTX_free(SSL_CTX *); +long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); +long SSL_CTX_get_timeout(const SSL_CTX *ctx); +X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); +void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *); +int SSL_want(const SSL *s); +int SSL_clear(SSL *s); + +void SSL_CTX_flush_sessions(SSL_CTX *ctx, long tm); + +const SSL_CIPHER *SSL_get_current_cipher(const SSL *s); +int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits); +char *SSL_CIPHER_get_version(const SSL_CIPHER *c); +const char *SSL_CIPHER_get_name(const SSL_CIPHER *c); +unsigned long SSL_CIPHER_get_id(const SSL_CIPHER *c); + +int SSL_get_fd(const SSL *s); +int SSL_get_rfd(const SSL *s); +int SSL_get_wfd(const SSL *s); +const char *SSL_get_cipher_list(const SSL *s, int n); +char *SSL_get_shared_ciphers(const SSL *s, char *buf, int len); +int SSL_get_read_ahead(const SSL *s); +int SSL_pending(const SSL *s); +# ifndef OPENSSL_NO_SOCK +int SSL_set_fd(SSL *s, int fd); +int SSL_set_rfd(SSL *s, int fd); +int SSL_set_wfd(SSL *s, int fd); +# endif +# ifndef OPENSSL_NO_BIO +void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio); +BIO *SSL_get_rbio(const SSL *s); +BIO *SSL_get_wbio(const SSL *s); +# endif +int SSL_set_cipher_list(SSL *s, const char *str); +void SSL_set_read_ahead(SSL *s, int yes); +int SSL_get_verify_mode(const SSL *s); +int SSL_get_verify_depth(const SSL *s); +int (*SSL_get_verify_callback(const SSL *s)) (int, X509_STORE_CTX *); +void SSL_set_verify(SSL *s, int mode, + int (*callback) (int ok, X509_STORE_CTX *ctx)); +void SSL_set_verify_depth(SSL *s, int depth); +void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg); +# ifndef OPENSSL_NO_RSA +int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); +# endif +int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len); +int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); +int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d, + long len); +int SSL_use_certificate(SSL *ssl, X509 *x); +int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len); + +# ifndef OPENSSL_NO_TLSEXT +/* Set serverinfo data for the current active cert. */ +int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, + size_t serverinfo_length); +# ifndef OPENSSL_NO_STDIO +int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); +# endif /* NO_STDIO */ + +# endif + +# ifndef OPENSSL_NO_STDIO +int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); +int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); +int SSL_use_certificate_file(SSL *ssl, const char *file, int type); +int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type); +int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); +int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); +/* PEM type */ +int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); +STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); +int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *file); +# ifndef OPENSSL_SYS_VMS +/* XXXXX: Better scheme needed! [was: #ifndef MAC_OS_pre_X] */ +# ifndef OPENSSL_SYS_MACINTOSH_CLASSIC +int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *dir); +# endif +# endif + +# endif + +void SSL_load_error_strings(void); +const char *SSL_state_string(const SSL *s); +const char *SSL_rstate_string(const SSL *s); +const char *SSL_state_string_long(const SSL *s); +const char *SSL_rstate_string_long(const SSL *s); +long SSL_SESSION_get_time(const SSL_SESSION *s); +long SSL_SESSION_set_time(SSL_SESSION *s, long t); +long SSL_SESSION_get_timeout(const SSL_SESSION *s); +long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); +void SSL_copy_session_id(SSL *to, const SSL *from); +X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); +int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +SSL_SESSION *SSL_SESSION_new(void); +const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, + unsigned int *len); +unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); +# ifndef OPENSSL_NO_FP_API +int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); +# endif +# ifndef OPENSSL_NO_BIO +int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); +# endif +void SSL_SESSION_free(SSL_SESSION *ses); +int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); +int SSL_set_session(SSL *to, SSL_SESSION *session); +int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c); +int SSL_CTX_remove_session(SSL_CTX *, SSL_SESSION *c); +int SSL_CTX_set_generate_session_id(SSL_CTX *, GEN_SESSION_CB); +int SSL_set_generate_session_id(SSL *, GEN_SESSION_CB); +int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id, + unsigned int id_len); +SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, + long length); + +# ifdef HEADER_X509_H +X509 *SSL_get_peer_certificate(const SSL *s); +# endif + +STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); + +int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); +int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); +int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx)) (int, + X509_STORE_CTX *); +void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, + int (*callback) (int, X509_STORE_CTX *)); +void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth); +void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, + int (*cb) (X509_STORE_CTX *, void *), + void *arg); +void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg), + void *arg); +# ifndef OPENSSL_NO_RSA +int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); +# endif +int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, + long len); +int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); +int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, + const unsigned char *d, long len); +int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); +int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, + const unsigned char *d); + +void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); +void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); + +int SSL_CTX_check_private_key(const SSL_CTX *ctx); +int SSL_check_private_key(const SSL *ctx); + +int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +SSL *SSL_new(SSL_CTX *ctx); +int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +int SSL_CTX_set_purpose(SSL_CTX *s, int purpose); +int SSL_set_purpose(SSL *s, int purpose); +int SSL_CTX_set_trust(SSL_CTX *s, int trust); +int SSL_set_trust(SSL *s, int trust); + +int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); +int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); + +X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx); +X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); + +# ifndef OPENSSL_NO_SRP +int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name); +int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password); +int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength); +int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx, + char *(*cb) (SSL *, void *)); +int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx, + int (*cb) (SSL *, void *)); +int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx, + int (*cb) (SSL *, int *, void *)); +int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg); + +int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, + BIGNUM *sa, BIGNUM *v, char *info); +int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, + const char *grp); + +BIGNUM *SSL_get_srp_g(SSL *s); +BIGNUM *SSL_get_srp_N(SSL *s); + +char *SSL_get_srp_username(SSL *s); +char *SSL_get_srp_userinfo(SSL *s); +# endif + +void SSL_certs_clear(SSL *s); +void SSL_free(SSL *ssl); +int SSL_accept(SSL *ssl); +int SSL_connect(SSL *ssl); +int SSL_read(SSL *ssl, void *buf, int num); +int SSL_peek(SSL *ssl, void *buf, int num); +int SSL_write(SSL *ssl, const void *buf, int num); +long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg); +long SSL_callback_ctrl(SSL *, int, void (*)(void)); +long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg); +long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void)); + +int SSL_get_error(const SSL *s, int ret_code); +const char *SSL_get_version(const SSL *s); + +/* This sets the 'default' SSL version that SSL_new() will create */ +int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); + +# ifndef OPENSSL_NO_SSL2_METHOD +const SSL_METHOD *SSLv2_method(void); /* SSLv2 */ +const SSL_METHOD *SSLv2_server_method(void); /* SSLv2 */ +const SSL_METHOD *SSLv2_client_method(void); /* SSLv2 */ +# endif + +# ifndef OPENSSL_NO_SSL3_METHOD +const SSL_METHOD *SSLv3_method(void); /* SSLv3 */ +const SSL_METHOD *SSLv3_server_method(void); /* SSLv3 */ +const SSL_METHOD *SSLv3_client_method(void); /* SSLv3 */ +# endif + +const SSL_METHOD *SSLv23_method(void); /* Negotiate highest available SSL/TLS + * version */ +const SSL_METHOD *SSLv23_server_method(void); /* Negotiate highest available + * SSL/TLS version */ +const SSL_METHOD *SSLv23_client_method(void); /* Negotiate highest available + * SSL/TLS version */ + +const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */ +const SSL_METHOD *TLSv1_server_method(void); /* TLSv1.0 */ +const SSL_METHOD *TLSv1_client_method(void); /* TLSv1.0 */ + +const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */ +const SSL_METHOD *TLSv1_1_server_method(void); /* TLSv1.1 */ +const SSL_METHOD *TLSv1_1_client_method(void); /* TLSv1.1 */ + +const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */ +const SSL_METHOD *TLSv1_2_server_method(void); /* TLSv1.2 */ +const SSL_METHOD *TLSv1_2_client_method(void); /* TLSv1.2 */ + +const SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */ +const SSL_METHOD *DTLSv1_server_method(void); /* DTLSv1.0 */ +const SSL_METHOD *DTLSv1_client_method(void); /* DTLSv1.0 */ + +const SSL_METHOD *DTLSv1_2_method(void); /* DTLSv1.2 */ +const SSL_METHOD *DTLSv1_2_server_method(void); /* DTLSv1.2 */ +const SSL_METHOD *DTLSv1_2_client_method(void); /* DTLSv1.2 */ + +const SSL_METHOD *DTLS_method(void); /* DTLS 1.0 and 1.2 */ +const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */ +const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */ + +STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); + +int SSL_do_handshake(SSL *s); +int SSL_renegotiate(SSL *s); +int SSL_renegotiate_abbreviated(SSL *s); +int SSL_renegotiate_pending(SSL *s); +int SSL_shutdown(SSL *s); + +const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx); +const SSL_METHOD *SSL_get_ssl_method(SSL *s); +int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method); +const char *SSL_alert_type_string_long(int value); +const char *SSL_alert_type_string(int value); +const char *SSL_alert_desc_string_long(int value); +const char *SSL_alert_desc_string(int value); + +void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); +void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); +STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); +STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); +int SSL_add_client_CA(SSL *ssl, X509 *x); +int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); + +void SSL_set_connect_state(SSL *s); +void SSL_set_accept_state(SSL *s); + +long SSL_get_default_timeout(const SSL *s); + +int SSL_library_init(void); + +char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size); +STACK_OF(X509_NAME) *SSL_dup_CA_list(STACK_OF(X509_NAME) *sk); + +SSL *SSL_dup(SSL *ssl); + +X509 *SSL_get_certificate(const SSL *ssl); +/* + * EVP_PKEY + */ struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl); + +X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); +EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); + +void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); +int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); +void SSL_set_quiet_shutdown(SSL *ssl, int mode); +int SSL_get_quiet_shutdown(const SSL *ssl); +void SSL_set_shutdown(SSL *ssl, int mode); +int SSL_get_shutdown(const SSL *ssl); +int SSL_version(const SSL *ssl); +int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); +int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, + const char *CApath); +# define SSL_get0_session SSL_get_session/* just peek at pointer */ +SSL_SESSION *SSL_get_session(const SSL *ssl); +SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ +SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); +SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx); +void SSL_set_info_callback(SSL *ssl, + void (*cb) (const SSL *ssl, int type, int val)); +void (*SSL_get_info_callback(const SSL *ssl)) (const SSL *ssl, int type, + int val); +int SSL_state(const SSL *ssl); +void SSL_set_state(SSL *ssl, int state); + +void SSL_set_verify_result(SSL *ssl, long v); +long SSL_get_verify_result(const SSL *ssl); + +int SSL_set_ex_data(SSL *ssl, int idx, void *data); +void *SSL_get_ex_data(const SSL *ssl, int idx); +int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); + +int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data); +void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss, int idx); +int SSL_SESSION_get_ex_new_index(long argl, void *argp, + CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); + +int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data); +void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx); +int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); + +int SSL_get_ex_data_X509_STORE_CTX_idx(void); + +# define SSL_CTX_sess_set_cache_size(ctx,t) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL) +# define SSL_CTX_sess_get_cache_size(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL) +# define SSL_CTX_set_session_cache_mode(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL) +# define SSL_CTX_get_session_cache_mode(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL) + +# define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx) +# define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m) +# define SSL_CTX_get_read_ahead(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL) +# define SSL_CTX_set_read_ahead(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL) +# define SSL_CTX_get_max_cert_list(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_CTX_set_max_cert_list(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) +# define SSL_get_max_cert_list(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_set_max_cert_list(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) + +# define SSL_CTX_set_max_send_fragment(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) +# define SSL_set_max_send_fragment(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) + + /* NB: the keylength is only applicable when is_export is true */ +# ifndef OPENSSL_NO_RSA +void SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx, + RSA *(*cb) (SSL *ssl, int is_export, + int keylength)); + +void SSL_set_tmp_rsa_callback(SSL *ssl, + RSA *(*cb) (SSL *ssl, int is_export, + int keylength)); +# endif +# ifndef OPENSSL_NO_DH +void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +void SSL_set_tmp_dh_callback(SSL *ssl, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +# endif +# ifndef OPENSSL_NO_ECDH +void SSL_CTX_set_tmp_ecdh_callback(SSL_CTX *ctx, + EC_KEY *(*ecdh) (SSL *ssl, int is_export, + int keylength)); +void SSL_set_tmp_ecdh_callback(SSL *ssl, + EC_KEY *(*ecdh) (SSL *ssl, int is_export, + int keylength)); +# endif + +const COMP_METHOD *SSL_get_current_compression(SSL *s); +const COMP_METHOD *SSL_get_current_expansion(SSL *s); +const char *SSL_COMP_get_name(const COMP_METHOD *comp); +STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); +STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) + *meths); +void SSL_COMP_free_compression_methods(void); +int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); + +const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); + +/* TLS extensions functions */ +int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); + +int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb, + void *arg); + +/* Pre-shared secret session resumption functions */ +int SSL_set_session_secret_cb(SSL *s, + tls_session_secret_cb_fn tls_session_secret_cb, + void *arg); + +void SSL_set_debug(SSL *s, int debug); +int SSL_cache_hit(SSL *s); +int SSL_is_server(SSL *s); + +SSL_CONF_CTX *SSL_CONF_CTX_new(void); +int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); +void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); +unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); +unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, unsigned int flags); +int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre); + +void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl); +void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx); + +int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); +int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv); +int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd); + +# ifndef OPENSSL_NO_SSL_TRACE +void SSL_trace(int write_p, int version, int content_type, + const void *buf, size_t len, SSL *ssl, void *arg); +const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c); +# endif + +# ifndef OPENSSL_NO_UNIT_TEST +const struct openssl_ssl_test_functions *SSL_test_functions(void); +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_SSL_strings(void); + +/* Error codes for the SSL functions. */ + +/* Function codes. */ +# define SSL_F_CHECK_SUITEB_CIPHER_LIST 331 +# define SSL_F_CLIENT_CERTIFICATE 100 +# define SSL_F_CLIENT_FINISHED 167 +# define SSL_F_CLIENT_HELLO 101 +# define SSL_F_CLIENT_MASTER_KEY 102 +# define SSL_F_D2I_SSL_SESSION 103 +# define SSL_F_DO_DTLS1_WRITE 245 +# define SSL_F_DO_SSL3_WRITE 104 +# define SSL_F_DTLS1_ACCEPT 246 +# define SSL_F_DTLS1_ADD_CERT_TO_BUF 295 +# define SSL_F_DTLS1_BUFFER_RECORD 247 +# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 316 +# define SSL_F_DTLS1_CLIENT_HELLO 248 +# define SSL_F_DTLS1_CONNECT 249 +# define SSL_F_DTLS1_ENC 250 +# define SSL_F_DTLS1_GET_HELLO_VERIFY 251 +# define SSL_F_DTLS1_GET_MESSAGE 252 +# define SSL_F_DTLS1_GET_MESSAGE_FRAGMENT 253 +# define SSL_F_DTLS1_GET_RECORD 254 +# define SSL_F_DTLS1_HANDLE_TIMEOUT 297 +# define SSL_F_DTLS1_HEARTBEAT 305 +# define SSL_F_DTLS1_OUTPUT_CERT_CHAIN 255 +# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 +# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 424 +# define SSL_F_DTLS1_PROCESS_OUT_OF_SEQ_MESSAGE 256 +# define SSL_F_DTLS1_PROCESS_RECORD 257 +# define SSL_F_DTLS1_READ_BYTES 258 +# define SSL_F_DTLS1_READ_FAILED 259 +# define SSL_F_DTLS1_SEND_CERTIFICATE_REQUEST 260 +# define SSL_F_DTLS1_SEND_CLIENT_CERTIFICATE 261 +# define SSL_F_DTLS1_SEND_CLIENT_KEY_EXCHANGE 262 +# define SSL_F_DTLS1_SEND_CLIENT_VERIFY 263 +# define SSL_F_DTLS1_SEND_HELLO_VERIFY_REQUEST 264 +# define SSL_F_DTLS1_SEND_SERVER_CERTIFICATE 265 +# define SSL_F_DTLS1_SEND_SERVER_HELLO 266 +# define SSL_F_DTLS1_SEND_SERVER_KEY_EXCHANGE 267 +# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 +# define SSL_F_GET_CLIENT_FINISHED 105 +# define SSL_F_GET_CLIENT_HELLO 106 +# define SSL_F_GET_CLIENT_MASTER_KEY 107 +# define SSL_F_GET_SERVER_FINISHED 108 +# define SSL_F_GET_SERVER_HELLO 109 +# define SSL_F_GET_SERVER_STATIC_DH_KEY 340 +# define SSL_F_GET_SERVER_VERIFY 110 +# define SSL_F_I2D_SSL_SESSION 111 +# define SSL_F_READ_N 112 +# define SSL_F_REQUEST_CERTIFICATE 113 +# define SSL_F_SERVER_FINISH 239 +# define SSL_F_SERVER_HELLO 114 +# define SSL_F_SERVER_VERIFY 240 +# define SSL_F_SSL23_ACCEPT 115 +# define SSL_F_SSL23_CLIENT_HELLO 116 +# define SSL_F_SSL23_CONNECT 117 +# define SSL_F_SSL23_GET_CLIENT_HELLO 118 +# define SSL_F_SSL23_GET_SERVER_HELLO 119 +# define SSL_F_SSL23_PEEK 237 +# define SSL_F_SSL23_READ 120 +# define SSL_F_SSL23_WRITE 121 +# define SSL_F_SSL2_ACCEPT 122 +# define SSL_F_SSL2_CONNECT 123 +# define SSL_F_SSL2_ENC_INIT 124 +# define SSL_F_SSL2_GENERATE_KEY_MATERIAL 241 +# define SSL_F_SSL2_PEEK 234 +# define SSL_F_SSL2_READ 125 +# define SSL_F_SSL2_READ_INTERNAL 236 +# define SSL_F_SSL2_SET_CERTIFICATE 126 +# define SSL_F_SSL2_WRITE 127 +# define SSL_F_SSL3_ACCEPT 128 +# define SSL_F_SSL3_ADD_CERT_TO_BUF 296 +# define SSL_F_SSL3_CALLBACK_CTRL 233 +# define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 +# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 +# define SSL_F_SSL3_CHECK_CLIENT_HELLO 304 +# define SSL_F_SSL3_CHECK_FINISHED 339 +# define SSL_F_SSL3_CLIENT_HELLO 131 +# define SSL_F_SSL3_CONNECT 132 +# define SSL_F_SSL3_CTRL 213 +# define SSL_F_SSL3_CTX_CTRL 133 +# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293 +# define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292 +# define SSL_F_SSL3_ENC 134 +# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 +# define SSL_F_SSL3_GENERATE_MASTER_SECRET 388 +# define SSL_F_SSL3_GET_CERTIFICATE_REQUEST 135 +# define SSL_F_SSL3_GET_CERT_STATUS 289 +# define SSL_F_SSL3_GET_CERT_VERIFY 136 +# define SSL_F_SSL3_GET_CLIENT_CERTIFICATE 137 +# define SSL_F_SSL3_GET_CLIENT_HELLO 138 +# define SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE 139 +# define SSL_F_SSL3_GET_FINISHED 140 +# define SSL_F_SSL3_GET_KEY_EXCHANGE 141 +# define SSL_F_SSL3_GET_MESSAGE 142 +# define SSL_F_SSL3_GET_NEW_SESSION_TICKET 283 +# define SSL_F_SSL3_GET_NEXT_PROTO 306 +# define SSL_F_SSL3_GET_RECORD 143 +# define SSL_F_SSL3_GET_SERVER_CERTIFICATE 144 +# define SSL_F_SSL3_GET_SERVER_DONE 145 +# define SSL_F_SSL3_GET_SERVER_HELLO 146 +# define SSL_F_SSL3_HANDSHAKE_MAC 285 +# define SSL_F_SSL3_NEW_SESSION_TICKET 287 +# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 +# define SSL_F_SSL3_PEEK 235 +# define SSL_F_SSL3_READ_BYTES 148 +# define SSL_F_SSL3_READ_N 149 +# define SSL_F_SSL3_SEND_CERTIFICATE_REQUEST 150 +# define SSL_F_SSL3_SEND_CLIENT_CERTIFICATE 151 +# define SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE 152 +# define SSL_F_SSL3_SEND_CLIENT_VERIFY 153 +# define SSL_F_SSL3_SEND_SERVER_CERTIFICATE 154 +# define SSL_F_SSL3_SEND_SERVER_HELLO 242 +# define SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE 155 +# define SSL_F_SSL3_SETUP_KEY_BLOCK 157 +# define SSL_F_SSL3_SETUP_READ_BUFFER 156 +# define SSL_F_SSL3_SETUP_WRITE_BUFFER 291 +# define SSL_F_SSL3_WRITE_BYTES 158 +# define SSL_F_SSL3_WRITE_PENDING 159 +# define SSL_F_SSL_ADD_CERT_CHAIN 318 +# define SSL_F_SSL_ADD_CERT_TO_BUF 319 +# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298 +# define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277 +# define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307 +# define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215 +# define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216 +# define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299 +# define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278 +# define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308 +# define SSL_F_SSL_BAD_METHOD 160 +# define SSL_F_SSL_BUILD_CERT_CHAIN 332 +# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161 +# define SSL_F_SSL_CERT_DUP 221 +# define SSL_F_SSL_CERT_INST 222 +# define SSL_F_SSL_CERT_INSTANTIATE 214 +# define SSL_F_SSL_CERT_NEW 162 +# define SSL_F_SSL_CHECK_PRIVATE_KEY 163 +# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 +# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 +# define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230 +# define SSL_F_SSL_CIPHER_STRENGTH_SORT 231 +# define SSL_F_SSL_CLEAR 164 +# define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165 +# define SSL_F_SSL_CONF_CMD 334 +# define SSL_F_SSL_CREATE_CIPHER_LIST 166 +# define SSL_F_SSL_CTRL 232 +# define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168 +# define SSL_F_SSL_CTX_MAKE_PROFILES 309 +# define SSL_F_SSL_CTX_NEW 169 +# define SSL_F_SSL_CTX_SET_CIPHER_LIST 269 +# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290 +# define SSL_F_SSL_CTX_SET_PURPOSE 226 +# define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219 +# define SSL_F_SSL_CTX_SET_SSL_VERSION 170 +# define SSL_F_SSL_CTX_SET_TRUST 229 +# define SSL_F_SSL_CTX_USE_CERTIFICATE 171 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE 220 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY 174 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176 +# define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179 +# define SSL_F_SSL_CTX_USE_SERVERINFO 336 +# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 337 +# define SSL_F_SSL_DO_HANDSHAKE 180 +# define SSL_F_SSL_GET_NEW_SESSION 181 +# define SSL_F_SSL_GET_PREV_SESSION 217 +# define SSL_F_SSL_GET_SERVER_CERT_INDEX 322 +# define SSL_F_SSL_GET_SERVER_SEND_CERT 182 +# define SSL_F_SSL_GET_SERVER_SEND_PKEY 317 +# define SSL_F_SSL_GET_SIGN_PKEY 183 +# define SSL_F_SSL_INIT_WBIO_BUFFER 184 +# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 +# define SSL_F_SSL_NEW 186 +# define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 +# define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302 +# define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310 +# define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301 +# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303 +# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311 +# define SSL_F_SSL_PEEK 270 +# define SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT 281 +# define SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT 282 +# define SSL_F_SSL_READ 223 +# define SSL_F_SSL_RSA_PRIVATE_DECRYPT 187 +# define SSL_F_SSL_RSA_PUBLIC_ENCRYPT 188 +# define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 320 +# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321 +# define SSL_F_SSL_SESSION_DUP 348 +# define SSL_F_SSL_SESSION_NEW 189 +# define SSL_F_SSL_SESSION_PRINT_FP 190 +# define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312 +# define SSL_F_SSL_SESS_CERT_NEW 225 +# define SSL_F_SSL_SET_CERT 191 +# define SSL_F_SSL_SET_CIPHER_LIST 271 +# define SSL_F_SSL_SET_FD 192 +# define SSL_F_SSL_SET_PKEY 193 +# define SSL_F_SSL_SET_PURPOSE 227 +# define SSL_F_SSL_SET_RFD 194 +# define SSL_F_SSL_SET_SESSION 195 +# define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218 +# define SSL_F_SSL_SET_SESSION_TICKET_EXT 294 +# define SSL_F_SSL_SET_TRUST 228 +# define SSL_F_SSL_SET_WFD 196 +# define SSL_F_SSL_SHUTDOWN 224 +# define SSL_F_SSL_SRP_CTX_INIT 313 +# define SSL_F_SSL_UNDEFINED_CONST_FUNCTION 243 +# define SSL_F_SSL_UNDEFINED_FUNCTION 197 +# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244 +# define SSL_F_SSL_USE_CERTIFICATE 198 +# define SSL_F_SSL_USE_CERTIFICATE_ASN1 199 +# define SSL_F_SSL_USE_CERTIFICATE_FILE 200 +# define SSL_F_SSL_USE_PRIVATEKEY 201 +# define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202 +# define SSL_F_SSL_USE_PRIVATEKEY_FILE 203 +# define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273 +# define SSL_F_SSL_USE_RSAPRIVATEKEY 204 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206 +# define SSL_F_SSL_VERIFY_CERT_CHAIN 207 +# define SSL_F_SSL_WRITE 208 +# define SSL_F_TLS12_CHECK_PEER_SIGALG 333 +# define SSL_F_TLS1_CERT_VERIFY_MAC 286 +# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 +# define SSL_F_TLS1_CHECK_SERVERHELLO_TLSEXT 274 +# define SSL_F_TLS1_ENC 210 +# define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314 +# define SSL_F_TLS1_GET_CURVELIST 338 +# define SSL_F_TLS1_HEARTBEAT 315 +# define SSL_F_TLS1_PREPARE_CLIENTHELLO_TLSEXT 275 +# define SSL_F_TLS1_PREPARE_SERVERHELLO_TLSEXT 276 +# define SSL_F_TLS1_PRF 284 +# define SSL_F_TLS1_SETUP_KEY_BLOCK 211 +# define SSL_F_TLS1_SET_SERVER_SIGALGS 335 +# define SSL_F_WRITE_PENDING 212 + +/* Reason codes. */ +# define SSL_R_APP_DATA_IN_HANDSHAKE 100 +# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272 +# define SSL_R_BAD_ALERT_RECORD 101 +# define SSL_R_BAD_AUTHENTICATION_TYPE 102 +# define SSL_R_BAD_CHANGE_CIPHER_SPEC 103 +# define SSL_R_BAD_CHECKSUM 104 +# define SSL_R_BAD_DATA 390 +# define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106 +# define SSL_R_BAD_DECOMPRESSION 107 +# define SSL_R_BAD_DH_G_LENGTH 108 +# define SSL_R_BAD_DH_G_VALUE 375 +# define SSL_R_BAD_DH_PUB_KEY_LENGTH 109 +# define SSL_R_BAD_DH_PUB_KEY_VALUE 393 +# define SSL_R_BAD_DH_P_LENGTH 110 +# define SSL_R_BAD_DH_P_VALUE 395 +# define SSL_R_BAD_DIGEST_LENGTH 111 +# define SSL_R_BAD_DSA_SIGNATURE 112 +# define SSL_R_BAD_ECC_CERT 304 +# define SSL_R_BAD_ECDSA_SIGNATURE 305 +# define SSL_R_BAD_ECPOINT 306 +# define SSL_R_BAD_HANDSHAKE_LENGTH 332 +# define SSL_R_BAD_HELLO_REQUEST 105 +# define SSL_R_BAD_LENGTH 271 +# define SSL_R_BAD_MAC_DECODE 113 +# define SSL_R_BAD_MAC_LENGTH 333 +# define SSL_R_BAD_MESSAGE_TYPE 114 +# define SSL_R_BAD_PACKET_LENGTH 115 +# define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116 +# define SSL_R_BAD_PSK_IDENTITY_HINT_LENGTH 316 +# define SSL_R_BAD_RESPONSE_ARGUMENT 117 +# define SSL_R_BAD_RSA_DECRYPT 118 +# define SSL_R_BAD_RSA_ENCRYPT 119 +# define SSL_R_BAD_RSA_E_LENGTH 120 +# define SSL_R_BAD_RSA_MODULUS_LENGTH 121 +# define SSL_R_BAD_RSA_SIGNATURE 122 +# define SSL_R_BAD_SIGNATURE 123 +# define SSL_R_BAD_SRP_A_LENGTH 347 +# define SSL_R_BAD_SRP_B_LENGTH 348 +# define SSL_R_BAD_SRP_G_LENGTH 349 +# define SSL_R_BAD_SRP_N_LENGTH 350 +# define SSL_R_BAD_SRP_PARAMETERS 371 +# define SSL_R_BAD_SRP_S_LENGTH 351 +# define SSL_R_BAD_SRTP_MKI_VALUE 352 +# define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353 +# define SSL_R_BAD_SSL_FILETYPE 124 +# define SSL_R_BAD_SSL_SESSION_ID_LENGTH 125 +# define SSL_R_BAD_STATE 126 +# define SSL_R_BAD_VALUE 384 +# define SSL_R_BAD_WRITE_RETRY 127 +# define SSL_R_BIO_NOT_SET 128 +# define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129 +# define SSL_R_BN_LIB 130 +# define SSL_R_CA_DN_LENGTH_MISMATCH 131 +# define SSL_R_CA_DN_TOO_LONG 132 +# define SSL_R_CCS_RECEIVED_EARLY 133 +# define SSL_R_CERTIFICATE_VERIFY_FAILED 134 +# define SSL_R_CERT_CB_ERROR 377 +# define SSL_R_CERT_LENGTH_MISMATCH 135 +# define SSL_R_CHALLENGE_IS_DIFFERENT 136 +# define SSL_R_CIPHER_CODE_WRONG_LENGTH 137 +# define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138 +# define SSL_R_CIPHER_TABLE_SRC_ERROR 139 +# define SSL_R_CLIENTHELLO_TLSEXT 226 +# define SSL_R_COMPRESSED_LENGTH_TOO_LONG 140 +# define SSL_R_COMPRESSION_DISABLED 343 +# define SSL_R_COMPRESSION_FAILURE 141 +# define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE 307 +# define SSL_R_COMPRESSION_LIBRARY_ERROR 142 +# define SSL_R_CONNECTION_ID_IS_DIFFERENT 143 +# define SSL_R_CONNECTION_TYPE_NOT_SET 144 +# define SSL_R_COOKIE_MISMATCH 308 +# define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED 145 +# define SSL_R_DATA_LENGTH_TOO_LONG 146 +# define SSL_R_DECRYPTION_FAILED 147 +# define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 281 +# define SSL_R_DH_KEY_TOO_SMALL 372 +# define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 148 +# define SSL_R_DIGEST_CHECK_FAILED 149 +# define SSL_R_DTLS_MESSAGE_TOO_BIG 334 +# define SSL_R_DUPLICATE_COMPRESSION_ID 309 +# define SSL_R_ECC_CERT_NOT_FOR_KEY_AGREEMENT 317 +# define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318 +# define SSL_R_ECC_CERT_SHOULD_HAVE_RSA_SIGNATURE 322 +# define SSL_R_ECC_CERT_SHOULD_HAVE_SHA1_SIGNATURE 323 +# define SSL_R_ECDH_REQUIRED_FOR_SUITEB_MODE 374 +# define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER 310 +# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354 +# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150 +# define SSL_R_ERROR_GENERATING_TMP_RSA_KEY 282 +# define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151 +# define SSL_R_EXCESSIVE_MESSAGE_SIZE 152 +# define SSL_R_EXTRA_DATA_IN_MESSAGE 153 +# define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154 +# define SSL_R_GOT_NEXT_PROTO_BEFORE_A_CCS 355 +# define SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION 356 +# define SSL_R_HTTPS_PROXY_REQUEST 155 +# define SSL_R_HTTP_REQUEST 156 +# define SSL_R_ILLEGAL_PADDING 283 +# define SSL_R_ILLEGAL_SUITEB_DIGEST 380 +# define SSL_R_INAPPROPRIATE_FALLBACK 373 +# define SSL_R_INCONSISTENT_COMPRESSION 340 +# define SSL_R_INVALID_CHALLENGE_LENGTH 158 +# define SSL_R_INVALID_COMMAND 280 +# define SSL_R_INVALID_COMPRESSION_ALGORITHM 341 +# define SSL_R_INVALID_NULL_CMD_NAME 385 +# define SSL_R_INVALID_PURPOSE 278 +# define SSL_R_INVALID_SERVERINFO_DATA 388 +# define SSL_R_INVALID_SRP_USERNAME 357 +# define SSL_R_INVALID_STATUS_RESPONSE 328 +# define SSL_R_INVALID_TICKET_KEYS_LENGTH 325 +# define SSL_R_INVALID_TRUST 279 +# define SSL_R_KEY_ARG_TOO_LONG 284 +# define SSL_R_KRB5 285 +# define SSL_R_KRB5_C_CC_PRINC 286 +# define SSL_R_KRB5_C_GET_CRED 287 +# define SSL_R_KRB5_C_INIT 288 +# define SSL_R_KRB5_C_MK_REQ 289 +# define SSL_R_KRB5_S_BAD_TICKET 290 +# define SSL_R_KRB5_S_INIT 291 +# define SSL_R_KRB5_S_RD_REQ 292 +# define SSL_R_KRB5_S_TKT_EXPIRED 293 +# define SSL_R_KRB5_S_TKT_NYV 294 +# define SSL_R_KRB5_S_TKT_SKEW 295 +# define SSL_R_LENGTH_MISMATCH 159 +# define SSL_R_LENGTH_TOO_SHORT 160 +# define SSL_R_LIBRARY_BUG 274 +# define SSL_R_LIBRARY_HAS_NO_CIPHERS 161 +# define SSL_R_MESSAGE_TOO_LONG 296 +# define SSL_R_MISSING_DH_DSA_CERT 162 +# define SSL_R_MISSING_DH_KEY 163 +# define SSL_R_MISSING_DH_RSA_CERT 164 +# define SSL_R_MISSING_DSA_SIGNING_CERT 165 +# define SSL_R_MISSING_ECDH_CERT 382 +# define SSL_R_MISSING_ECDSA_SIGNING_CERT 381 +# define SSL_R_MISSING_EXPORT_TMP_DH_KEY 166 +# define SSL_R_MISSING_EXPORT_TMP_RSA_KEY 167 +# define SSL_R_MISSING_RSA_CERTIFICATE 168 +# define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169 +# define SSL_R_MISSING_RSA_SIGNING_CERT 170 +# define SSL_R_MISSING_SRP_PARAM 358 +# define SSL_R_MISSING_TMP_DH_KEY 171 +# define SSL_R_MISSING_TMP_ECDH_KEY 311 +# define SSL_R_MISSING_TMP_RSA_KEY 172 +# define SSL_R_MISSING_TMP_RSA_PKEY 173 +# define SSL_R_MISSING_VERIFY_MESSAGE 174 +# define SSL_R_MULTIPLE_SGC_RESTARTS 346 +# define SSL_R_NON_SSLV2_INITIAL_PACKET 175 +# define SSL_R_NO_CERTIFICATES_RETURNED 176 +# define SSL_R_NO_CERTIFICATE_ASSIGNED 177 +# define SSL_R_NO_CERTIFICATE_RETURNED 178 +# define SSL_R_NO_CERTIFICATE_SET 179 +# define SSL_R_NO_CERTIFICATE_SPECIFIED 180 +# define SSL_R_NO_CIPHERS_AVAILABLE 181 +# define SSL_R_NO_CIPHERS_PASSED 182 +# define SSL_R_NO_CIPHERS_SPECIFIED 183 +# define SSL_R_NO_CIPHER_LIST 184 +# define SSL_R_NO_CIPHER_MATCH 185 +# define SSL_R_NO_CLIENT_CERT_METHOD 331 +# define SSL_R_NO_CLIENT_CERT_RECEIVED 186 +# define SSL_R_NO_COMPRESSION_SPECIFIED 187 +# define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER 330 +# define SSL_R_NO_METHOD_SPECIFIED 188 +# define SSL_R_NO_PEM_EXTENSIONS 389 +# define SSL_R_NO_PRIVATEKEY 189 +# define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 +# define SSL_R_NO_PROTOCOLS_AVAILABLE 191 +# define SSL_R_NO_PUBLICKEY 192 +# define SSL_R_NO_RENEGOTIATION 339 +# define SSL_R_NO_REQUIRED_DIGEST 324 +# define SSL_R_NO_SHARED_CIPHER 193 +# define SSL_R_NO_SHARED_SIGATURE_ALGORITHMS 376 +# define SSL_R_NO_SRTP_PROFILES 359 +# define SSL_R_NO_VERIFY_CALLBACK 194 +# define SSL_R_NULL_SSL_CTX 195 +# define SSL_R_NULL_SSL_METHOD_PASSED 196 +# define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197 +# define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344 +# define SSL_R_ONLY_DTLS_1_2_ALLOWED_IN_SUITEB_MODE 387 +# define SSL_R_ONLY_TLS_1_2_ALLOWED_IN_SUITEB_MODE 379 +# define SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE 297 +# define SSL_R_OPAQUE_PRF_INPUT_TOO_LONG 327 +# define SSL_R_PACKET_LENGTH_TOO_LONG 198 +# define SSL_R_PARSE_TLSEXT 227 +# define SSL_R_PATH_TOO_LONG 270 +# define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 199 +# define SSL_R_PEER_ERROR 200 +# define SSL_R_PEER_ERROR_CERTIFICATE 201 +# define SSL_R_PEER_ERROR_NO_CERTIFICATE 202 +# define SSL_R_PEER_ERROR_NO_CIPHER 203 +# define SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE 204 +# define SSL_R_PEM_NAME_BAD_PREFIX 391 +# define SSL_R_PEM_NAME_TOO_SHORT 392 +# define SSL_R_PRE_MAC_LENGTH_TOO_LONG 205 +# define SSL_R_PROBLEMS_MAPPING_CIPHER_FUNCTIONS 206 +# define SSL_R_PROTOCOL_IS_SHUTDOWN 207 +# define SSL_R_PSK_IDENTITY_NOT_FOUND 223 +# define SSL_R_PSK_NO_CLIENT_CB 224 +# define SSL_R_PSK_NO_SERVER_CB 225 +# define SSL_R_PUBLIC_KEY_ENCRYPT_ERROR 208 +# define SSL_R_PUBLIC_KEY_IS_NOT_RSA 209 +# define SSL_R_PUBLIC_KEY_NOT_RSA 210 +# define SSL_R_READ_BIO_NOT_SET 211 +# define SSL_R_READ_TIMEOUT_EXPIRED 312 +# define SSL_R_READ_WRONG_PACKET_TYPE 212 +# define SSL_R_RECORD_LENGTH_MISMATCH 213 +# define SSL_R_RECORD_TOO_LARGE 214 +# define SSL_R_RECORD_TOO_SMALL 298 +# define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335 +# define SSL_R_RENEGOTIATION_ENCODING_ERR 336 +# define SSL_R_RENEGOTIATION_MISMATCH 337 +# define SSL_R_REQUIRED_CIPHER_MISSING 215 +# define SSL_R_REQUIRED_COMPRESSSION_ALGORITHM_MISSING 342 +# define SSL_R_REUSE_CERT_LENGTH_NOT_ZERO 216 +# define SSL_R_REUSE_CERT_TYPE_NOT_ZERO 217 +# define SSL_R_REUSE_CIPHER_LIST_NOT_ZERO 218 +# define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345 +# define SSL_R_SERVERHELLO_TLSEXT 275 +# define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277 +# define SSL_R_SHORT_READ 219 +# define SSL_R_SHUTDOWN_WHILE_IN_INIT 407 +# define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360 +# define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 +# define SSL_R_SRP_A_CALC 361 +# define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362 +# define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363 +# define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364 +# define SSL_R_SSL23_DOING_SESSION_ID_REUSE 221 +# define SSL_R_SSL2_CONNECTION_ID_TOO_LONG 299 +# define SSL_R_SSL3_EXT_INVALID_ECPOINTFORMAT 321 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320 +# define SSL_R_SSL3_SESSION_ID_TOO_LONG 300 +# define SSL_R_SSL3_SESSION_ID_TOO_SHORT 222 +# define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 +# define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046 +# define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030 +# define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040 +# define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047 +# define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041 +# define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010 +# define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043 +# define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228 +# define SSL_R_SSL_HANDSHAKE_FAILURE 229 +# define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230 +# define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301 +# define SSL_R_SSL_SESSION_ID_CONFLICT 302 +# define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273 +# define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303 +# define SSL_R_SSL_SESSION_ID_IS_DIFFERENT 231 +# define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049 +# define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050 +# define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021 +# define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051 +# define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060 +# define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK 1086 +# define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071 +# define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080 +# define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100 +# define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070 +# define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022 +# define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048 +# define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090 +# define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114 +# define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113 +# define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111 +# define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112 +# define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110 +# define SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER 232 +# define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365 +# define SSL_R_TLS_HEARTBEAT_PENDING 366 +# define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367 +# define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157 +# define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233 +# define SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG 234 +# define SSL_R_TOO_MANY_WARN_ALERTS 409 +# define SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER 235 +# define SSL_R_UNABLE_TO_DECODE_DH_CERTS 236 +# define SSL_R_UNABLE_TO_DECODE_ECDH_CERTS 313 +# define SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY 237 +# define SSL_R_UNABLE_TO_FIND_DH_PARAMETERS 238 +# define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314 +# define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239 +# define SSL_R_UNABLE_TO_FIND_SSL_METHOD 240 +# define SSL_R_UNABLE_TO_LOAD_SSL2_MD5_ROUTINES 241 +# define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242 +# define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 +# define SSL_R_UNEXPECTED_MESSAGE 244 +# define SSL_R_UNEXPECTED_RECORD 245 +# define SSL_R_UNINITIALIZED 276 +# define SSL_R_UNKNOWN_ALERT_TYPE 246 +# define SSL_R_UNKNOWN_CERTIFICATE_TYPE 247 +# define SSL_R_UNKNOWN_CIPHER_RETURNED 248 +# define SSL_R_UNKNOWN_CIPHER_TYPE 249 +# define SSL_R_UNKNOWN_CMD_NAME 386 +# define SSL_R_UNKNOWN_DIGEST 368 +# define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250 +# define SSL_R_UNKNOWN_PKEY_TYPE 251 +# define SSL_R_UNKNOWN_PROTOCOL 252 +# define SSL_R_UNKNOWN_REMOTE_ERROR_TYPE 253 +# define SSL_R_UNKNOWN_SSL_VERSION 254 +# define SSL_R_UNKNOWN_STATE 255 +# define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338 +# define SSL_R_UNSUPPORTED_CIPHER 256 +# define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257 +# define SSL_R_UNSUPPORTED_DIGEST_TYPE 326 +# define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315 +# define SSL_R_UNSUPPORTED_PROTOCOL 258 +# define SSL_R_UNSUPPORTED_SSL_VERSION 259 +# define SSL_R_UNSUPPORTED_STATUS_TYPE 329 +# define SSL_R_USE_SRTP_NOT_NEGOTIATED 369 +# define SSL_R_WRITE_BIO_NOT_SET 260 +# define SSL_R_WRONG_CERTIFICATE_TYPE 383 +# define SSL_R_WRONG_CIPHER_RETURNED 261 +# define SSL_R_WRONG_CURVE 378 +# define SSL_R_WRONG_MESSAGE_TYPE 262 +# define SSL_R_WRONG_NUMBER_OF_KEY_BITS 263 +# define SSL_R_WRONG_SIGNATURE_LENGTH 264 +# define SSL_R_WRONG_SIGNATURE_SIZE 265 +# define SSL_R_WRONG_SIGNATURE_TYPE 370 +# define SSL_R_WRONG_SSL_VERSION 266 +# define SSL_R_WRONG_VERSION_NUMBER 267 +# define SSL_R_X509_LIB 268 +# define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ssl2.h b/3rdparty/openssl/include/openssl/ssl2.h new file mode 100644 index 0000000..03c7dd8 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ssl2.h @@ -0,0 +1,265 @@ +/* ssl/ssl2.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_SSL2_H +# define HEADER_SSL2_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Protocol Version Codes */ +# define SSL2_VERSION 0x0002 +# define SSL2_VERSION_MAJOR 0x00 +# define SSL2_VERSION_MINOR 0x02 +/* #define SSL2_CLIENT_VERSION 0x0002 */ +/* #define SSL2_SERVER_VERSION 0x0002 */ + +/* Protocol Message Codes */ +# define SSL2_MT_ERROR 0 +# define SSL2_MT_CLIENT_HELLO 1 +# define SSL2_MT_CLIENT_MASTER_KEY 2 +# define SSL2_MT_CLIENT_FINISHED 3 +# define SSL2_MT_SERVER_HELLO 4 +# define SSL2_MT_SERVER_VERIFY 5 +# define SSL2_MT_SERVER_FINISHED 6 +# define SSL2_MT_REQUEST_CERTIFICATE 7 +# define SSL2_MT_CLIENT_CERTIFICATE 8 + +/* Error Message Codes */ +# define SSL2_PE_UNDEFINED_ERROR 0x0000 +# define SSL2_PE_NO_CIPHER 0x0001 +# define SSL2_PE_NO_CERTIFICATE 0x0002 +# define SSL2_PE_BAD_CERTIFICATE 0x0004 +# define SSL2_PE_UNSUPPORTED_CERTIFICATE_TYPE 0x0006 + +/* Cipher Kind Values */ +# define SSL2_CK_NULL_WITH_MD5 0x02000000/* v3 */ +# define SSL2_CK_RC4_128_WITH_MD5 0x02010080 +# define SSL2_CK_RC4_128_EXPORT40_WITH_MD5 0x02020080 +# define SSL2_CK_RC2_128_CBC_WITH_MD5 0x02030080 +# define SSL2_CK_RC2_128_CBC_EXPORT40_WITH_MD5 0x02040080 +# define SSL2_CK_IDEA_128_CBC_WITH_MD5 0x02050080 +# define SSL2_CK_DES_64_CBC_WITH_MD5 0x02060040 +# define SSL2_CK_DES_64_CBC_WITH_SHA 0x02060140/* v3 */ +# define SSL2_CK_DES_192_EDE3_CBC_WITH_MD5 0x020700c0 +# define SSL2_CK_DES_192_EDE3_CBC_WITH_SHA 0x020701c0/* v3 */ +# define SSL2_CK_RC4_64_WITH_MD5 0x02080080/* MS hack */ + +# define SSL2_CK_DES_64_CFB64_WITH_MD5_1 0x02ff0800/* SSLeay */ +# define SSL2_CK_NULL 0x02ff0810/* SSLeay */ + +# define SSL2_TXT_DES_64_CFB64_WITH_MD5_1 "DES-CFB-M1" +# define SSL2_TXT_NULL_WITH_MD5 "NULL-MD5" +# define SSL2_TXT_RC4_128_WITH_MD5 "RC4-MD5" +# define SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 "EXP-RC4-MD5" +# define SSL2_TXT_RC2_128_CBC_WITH_MD5 "RC2-CBC-MD5" +# define SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 "EXP-RC2-CBC-MD5" +# define SSL2_TXT_IDEA_128_CBC_WITH_MD5 "IDEA-CBC-MD5" +# define SSL2_TXT_DES_64_CBC_WITH_MD5 "DES-CBC-MD5" +# define SSL2_TXT_DES_64_CBC_WITH_SHA "DES-CBC-SHA" +# define SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 "DES-CBC3-MD5" +# define SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA "DES-CBC3-SHA" +# define SSL2_TXT_RC4_64_WITH_MD5 "RC4-64-MD5" + +# define SSL2_TXT_NULL "NULL" + +/* Flags for the SSL_CIPHER.algorithm2 field */ +# define SSL2_CF_5_BYTE_ENC 0x01 +# define SSL2_CF_8_BYTE_ENC 0x02 + +/* Certificate Type Codes */ +# define SSL2_CT_X509_CERTIFICATE 0x01 + +/* Authentication Type Code */ +# define SSL2_AT_MD5_WITH_RSA_ENCRYPTION 0x01 + +# define SSL2_MAX_SSL_SESSION_ID_LENGTH 32 + +/* Upper/Lower Bounds */ +# define SSL2_MAX_MASTER_KEY_LENGTH_IN_BITS 256 +# ifdef OPENSSL_SYS_MPE +# define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 29998u +# else +# define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 32767u + /* 2^15-1 */ +# endif +# define SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER 16383/* 2^14-1 */ + +# define SSL2_CHALLENGE_LENGTH 16 +/* + * #define SSL2_CHALLENGE_LENGTH 32 + */ +# define SSL2_MIN_CHALLENGE_LENGTH 16 +# define SSL2_MAX_CHALLENGE_LENGTH 32 +# define SSL2_CONNECTION_ID_LENGTH 16 +# define SSL2_MAX_CONNECTION_ID_LENGTH 16 +# define SSL2_SSL_SESSION_ID_LENGTH 16 +# define SSL2_MAX_CERT_CHALLENGE_LENGTH 32 +# define SSL2_MIN_CERT_CHALLENGE_LENGTH 16 +# define SSL2_MAX_KEY_MATERIAL_LENGTH 24 + +# ifndef HEADER_SSL_LOCL_H +# define CERT char +# endif + +# ifndef OPENSSL_NO_SSL_INTERN + +typedef struct ssl2_state_st { + int three_byte_header; + int clear_text; /* clear text */ + int escape; /* not used in SSLv2 */ + int ssl2_rollback; /* used if SSLv23 rolled back to SSLv2 */ + /* + * non-blocking io info, used to make sure the same args were passwd + */ + unsigned int wnum; /* number of bytes sent so far */ + int wpend_tot; + const unsigned char *wpend_buf; + int wpend_off; /* offset to data to write */ + int wpend_len; /* number of bytes passwd to write */ + int wpend_ret; /* number of bytes to return to caller */ + /* buffer raw data */ + int rbuf_left; + int rbuf_offs; + unsigned char *rbuf; + unsigned char *wbuf; + unsigned char *write_ptr; /* used to point to the start due to 2/3 byte + * header. */ + unsigned int padding; + unsigned int rlength; /* passed to ssl2_enc */ + int ract_data_length; /* Set when things are encrypted. */ + unsigned int wlength; /* passed to ssl2_enc */ + int wact_data_length; /* Set when things are decrypted. */ + unsigned char *ract_data; + unsigned char *wact_data; + unsigned char *mac_data; + unsigned char *read_key; + unsigned char *write_key; + /* Stuff specifically to do with this SSL session */ + unsigned int challenge_length; + unsigned char challenge[SSL2_MAX_CHALLENGE_LENGTH]; + unsigned int conn_id_length; + unsigned char conn_id[SSL2_MAX_CONNECTION_ID_LENGTH]; + unsigned int key_material_length; + unsigned char key_material[SSL2_MAX_KEY_MATERIAL_LENGTH * 2]; + unsigned long read_sequence; + unsigned long write_sequence; + struct { + unsigned int conn_id_length; + unsigned int cert_type; + unsigned int cert_length; + unsigned int csl; + unsigned int clear; + unsigned int enc; + unsigned char ccl[SSL2_MAX_CERT_CHALLENGE_LENGTH]; + unsigned int cipher_spec_length; + unsigned int session_id_length; + unsigned int clen; + unsigned int rlen; + } tmp; +} SSL2_STATE; + +# endif + +/* SSLv2 */ +/* client */ +# define SSL2_ST_SEND_CLIENT_HELLO_A (0x10|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_HELLO_B (0x11|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_HELLO_A (0x20|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_HELLO_B (0x21|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_MASTER_KEY_A (0x30|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_MASTER_KEY_B (0x31|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_FINISHED_A (0x40|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_FINISHED_B (0x41|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_CERTIFICATE_A (0x50|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_CERTIFICATE_B (0x51|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_CERTIFICATE_C (0x52|SSL_ST_CONNECT) +# define SSL2_ST_SEND_CLIENT_CERTIFICATE_D (0x53|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_VERIFY_A (0x60|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_VERIFY_B (0x61|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_FINISHED_A (0x70|SSL_ST_CONNECT) +# define SSL2_ST_GET_SERVER_FINISHED_B (0x71|SSL_ST_CONNECT) +# define SSL2_ST_CLIENT_START_ENCRYPTION (0x80|SSL_ST_CONNECT) +# define SSL2_ST_X509_GET_CLIENT_CERTIFICATE (0x90|SSL_ST_CONNECT) +/* server */ +# define SSL2_ST_GET_CLIENT_HELLO_A (0x10|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_HELLO_B (0x11|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_HELLO_C (0x12|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_HELLO_A (0x20|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_HELLO_B (0x21|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_MASTER_KEY_A (0x30|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_MASTER_KEY_B (0x31|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_VERIFY_A (0x40|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_VERIFY_B (0x41|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_VERIFY_C (0x42|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_FINISHED_A (0x50|SSL_ST_ACCEPT) +# define SSL2_ST_GET_CLIENT_FINISHED_B (0x51|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_FINISHED_A (0x60|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_SERVER_FINISHED_B (0x61|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_REQUEST_CERTIFICATE_A (0x70|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_REQUEST_CERTIFICATE_B (0x71|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_REQUEST_CERTIFICATE_C (0x72|SSL_ST_ACCEPT) +# define SSL2_ST_SEND_REQUEST_CERTIFICATE_D (0x73|SSL_ST_ACCEPT) +# define SSL2_ST_SERVER_START_ENCRYPTION (0x80|SSL_ST_ACCEPT) +# define SSL2_ST_X509_GET_SERVER_CERTIFICATE (0x90|SSL_ST_ACCEPT) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ssl23.h b/3rdparty/openssl/include/openssl/ssl23.h new file mode 100644 index 0000000..9de4685 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ssl23.h @@ -0,0 +1,84 @@ +/* ssl/ssl23.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_SSL23_H +# define HEADER_SSL23_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * client + */ +/* write to server */ +# define SSL23_ST_CW_CLNT_HELLO_A (0x210|SSL_ST_CONNECT) +# define SSL23_ST_CW_CLNT_HELLO_B (0x211|SSL_ST_CONNECT) +/* read from server */ +# define SSL23_ST_CR_SRVR_HELLO_A (0x220|SSL_ST_CONNECT) +# define SSL23_ST_CR_SRVR_HELLO_B (0x221|SSL_ST_CONNECT) + +/* server */ +/* read from client */ +# define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) +# define SSL23_ST_SR_CLNT_HELLO_B (0x211|SSL_ST_ACCEPT) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ssl3.h b/3rdparty/openssl/include/openssl/ssl3.h new file mode 100644 index 0000000..e681d50 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ssl3.h @@ -0,0 +1,774 @@ +/* ssl/ssl3.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECC cipher suite support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_SSL3_H +# define HEADER_SSL3_H + +# ifndef OPENSSL_NO_COMP +# include +# endif +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Signalling cipher suite value from RFC 5746 + * (TLS_EMPTY_RENEGOTIATION_INFO_SCSV) + */ +# define SSL3_CK_SCSV 0x030000FF + +/* + * Signalling cipher suite value from draft-ietf-tls-downgrade-scsv-00 + * (TLS_FALLBACK_SCSV) + */ +# define SSL3_CK_FALLBACK_SCSV 0x03005600 + +# define SSL3_CK_RSA_NULL_MD5 0x03000001 +# define SSL3_CK_RSA_NULL_SHA 0x03000002 +# define SSL3_CK_RSA_RC4_40_MD5 0x03000003 +# define SSL3_CK_RSA_RC4_128_MD5 0x03000004 +# define SSL3_CK_RSA_RC4_128_SHA 0x03000005 +# define SSL3_CK_RSA_RC2_40_MD5 0x03000006 +# define SSL3_CK_RSA_IDEA_128_SHA 0x03000007 +# define SSL3_CK_RSA_DES_40_CBC_SHA 0x03000008 +# define SSL3_CK_RSA_DES_64_CBC_SHA 0x03000009 +# define SSL3_CK_RSA_DES_192_CBC3_SHA 0x0300000A + +# define SSL3_CK_DH_DSS_DES_40_CBC_SHA 0x0300000B +# define SSL3_CK_DH_DSS_DES_64_CBC_SHA 0x0300000C +# define SSL3_CK_DH_DSS_DES_192_CBC3_SHA 0x0300000D +# define SSL3_CK_DH_RSA_DES_40_CBC_SHA 0x0300000E +# define SSL3_CK_DH_RSA_DES_64_CBC_SHA 0x0300000F +# define SSL3_CK_DH_RSA_DES_192_CBC3_SHA 0x03000010 + +# define SSL3_CK_EDH_DSS_DES_40_CBC_SHA 0x03000011 +# define SSL3_CK_DHE_DSS_DES_40_CBC_SHA SSL3_CK_EDH_DSS_DES_40_CBC_SHA +# define SSL3_CK_EDH_DSS_DES_64_CBC_SHA 0x03000012 +# define SSL3_CK_DHE_DSS_DES_64_CBC_SHA SSL3_CK_EDH_DSS_DES_64_CBC_SHA +# define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA 0x03000013 +# define SSL3_CK_DHE_DSS_DES_192_CBC3_SHA SSL3_CK_EDH_DSS_DES_192_CBC3_SHA +# define SSL3_CK_EDH_RSA_DES_40_CBC_SHA 0x03000014 +# define SSL3_CK_DHE_RSA_DES_40_CBC_SHA SSL3_CK_EDH_RSA_DES_40_CBC_SHA +# define SSL3_CK_EDH_RSA_DES_64_CBC_SHA 0x03000015 +# define SSL3_CK_DHE_RSA_DES_64_CBC_SHA SSL3_CK_EDH_RSA_DES_64_CBC_SHA +# define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA 0x03000016 +# define SSL3_CK_DHE_RSA_DES_192_CBC3_SHA SSL3_CK_EDH_RSA_DES_192_CBC3_SHA + +# define SSL3_CK_ADH_RC4_40_MD5 0x03000017 +# define SSL3_CK_ADH_RC4_128_MD5 0x03000018 +# define SSL3_CK_ADH_DES_40_CBC_SHA 0x03000019 +# define SSL3_CK_ADH_DES_64_CBC_SHA 0x0300001A +# define SSL3_CK_ADH_DES_192_CBC_SHA 0x0300001B + +# if 0 +# define SSL3_CK_FZA_DMS_NULL_SHA 0x0300001C +# define SSL3_CK_FZA_DMS_FZA_SHA 0x0300001D +# if 0 /* Because it clashes with KRB5, is never + * used any more, and is safe to remove + * according to David Hopwood + * of the + * ietf-tls list */ +# define SSL3_CK_FZA_DMS_RC4_SHA 0x0300001E +# endif +# endif + +/* + * VRS Additional Kerberos5 entries + */ +# define SSL3_CK_KRB5_DES_64_CBC_SHA 0x0300001E +# define SSL3_CK_KRB5_DES_192_CBC3_SHA 0x0300001F +# define SSL3_CK_KRB5_RC4_128_SHA 0x03000020 +# define SSL3_CK_KRB5_IDEA_128_CBC_SHA 0x03000021 +# define SSL3_CK_KRB5_DES_64_CBC_MD5 0x03000022 +# define SSL3_CK_KRB5_DES_192_CBC3_MD5 0x03000023 +# define SSL3_CK_KRB5_RC4_128_MD5 0x03000024 +# define SSL3_CK_KRB5_IDEA_128_CBC_MD5 0x03000025 + +# define SSL3_CK_KRB5_DES_40_CBC_SHA 0x03000026 +# define SSL3_CK_KRB5_RC2_40_CBC_SHA 0x03000027 +# define SSL3_CK_KRB5_RC4_40_SHA 0x03000028 +# define SSL3_CK_KRB5_DES_40_CBC_MD5 0x03000029 +# define SSL3_CK_KRB5_RC2_40_CBC_MD5 0x0300002A +# define SSL3_CK_KRB5_RC4_40_MD5 0x0300002B + +# define SSL3_TXT_RSA_NULL_MD5 "NULL-MD5" +# define SSL3_TXT_RSA_NULL_SHA "NULL-SHA" +# define SSL3_TXT_RSA_RC4_40_MD5 "EXP-RC4-MD5" +# define SSL3_TXT_RSA_RC4_128_MD5 "RC4-MD5" +# define SSL3_TXT_RSA_RC4_128_SHA "RC4-SHA" +# define SSL3_TXT_RSA_RC2_40_MD5 "EXP-RC2-CBC-MD5" +# define SSL3_TXT_RSA_IDEA_128_SHA "IDEA-CBC-SHA" +# define SSL3_TXT_RSA_DES_40_CBC_SHA "EXP-DES-CBC-SHA" +# define SSL3_TXT_RSA_DES_64_CBC_SHA "DES-CBC-SHA" +# define SSL3_TXT_RSA_DES_192_CBC3_SHA "DES-CBC3-SHA" + +# define SSL3_TXT_DH_DSS_DES_40_CBC_SHA "EXP-DH-DSS-DES-CBC-SHA" +# define SSL3_TXT_DH_DSS_DES_64_CBC_SHA "DH-DSS-DES-CBC-SHA" +# define SSL3_TXT_DH_DSS_DES_192_CBC3_SHA "DH-DSS-DES-CBC3-SHA" +# define SSL3_TXT_DH_RSA_DES_40_CBC_SHA "EXP-DH-RSA-DES-CBC-SHA" +# define SSL3_TXT_DH_RSA_DES_64_CBC_SHA "DH-RSA-DES-CBC-SHA" +# define SSL3_TXT_DH_RSA_DES_192_CBC3_SHA "DH-RSA-DES-CBC3-SHA" + +# define SSL3_TXT_DHE_DSS_DES_40_CBC_SHA "EXP-DHE-DSS-DES-CBC-SHA" +# define SSL3_TXT_DHE_DSS_DES_64_CBC_SHA "DHE-DSS-DES-CBC-SHA" +# define SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA "DHE-DSS-DES-CBC3-SHA" +# define SSL3_TXT_DHE_RSA_DES_40_CBC_SHA "EXP-DHE-RSA-DES-CBC-SHA" +# define SSL3_TXT_DHE_RSA_DES_64_CBC_SHA "DHE-RSA-DES-CBC-SHA" +# define SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA "DHE-RSA-DES-CBC3-SHA" + +/* + * This next block of six "EDH" labels is for backward compatibility with + * older versions of OpenSSL. New code should use the six "DHE" labels above + * instead: + */ +# define SSL3_TXT_EDH_DSS_DES_40_CBC_SHA "EXP-EDH-DSS-DES-CBC-SHA" +# define SSL3_TXT_EDH_DSS_DES_64_CBC_SHA "EDH-DSS-DES-CBC-SHA" +# define SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA "EDH-DSS-DES-CBC3-SHA" +# define SSL3_TXT_EDH_RSA_DES_40_CBC_SHA "EXP-EDH-RSA-DES-CBC-SHA" +# define SSL3_TXT_EDH_RSA_DES_64_CBC_SHA "EDH-RSA-DES-CBC-SHA" +# define SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA "EDH-RSA-DES-CBC3-SHA" + +# define SSL3_TXT_ADH_RC4_40_MD5 "EXP-ADH-RC4-MD5" +# define SSL3_TXT_ADH_RC4_128_MD5 "ADH-RC4-MD5" +# define SSL3_TXT_ADH_DES_40_CBC_SHA "EXP-ADH-DES-CBC-SHA" +# define SSL3_TXT_ADH_DES_64_CBC_SHA "ADH-DES-CBC-SHA" +# define SSL3_TXT_ADH_DES_192_CBC_SHA "ADH-DES-CBC3-SHA" + +# if 0 +# define SSL3_TXT_FZA_DMS_NULL_SHA "FZA-NULL-SHA" +# define SSL3_TXT_FZA_DMS_FZA_SHA "FZA-FZA-CBC-SHA" +# define SSL3_TXT_FZA_DMS_RC4_SHA "FZA-RC4-SHA" +# endif + +# define SSL3_TXT_KRB5_DES_64_CBC_SHA "KRB5-DES-CBC-SHA" +# define SSL3_TXT_KRB5_DES_192_CBC3_SHA "KRB5-DES-CBC3-SHA" +# define SSL3_TXT_KRB5_RC4_128_SHA "KRB5-RC4-SHA" +# define SSL3_TXT_KRB5_IDEA_128_CBC_SHA "KRB5-IDEA-CBC-SHA" +# define SSL3_TXT_KRB5_DES_64_CBC_MD5 "KRB5-DES-CBC-MD5" +# define SSL3_TXT_KRB5_DES_192_CBC3_MD5 "KRB5-DES-CBC3-MD5" +# define SSL3_TXT_KRB5_RC4_128_MD5 "KRB5-RC4-MD5" +# define SSL3_TXT_KRB5_IDEA_128_CBC_MD5 "KRB5-IDEA-CBC-MD5" + +# define SSL3_TXT_KRB5_DES_40_CBC_SHA "EXP-KRB5-DES-CBC-SHA" +# define SSL3_TXT_KRB5_RC2_40_CBC_SHA "EXP-KRB5-RC2-CBC-SHA" +# define SSL3_TXT_KRB5_RC4_40_SHA "EXP-KRB5-RC4-SHA" +# define SSL3_TXT_KRB5_DES_40_CBC_MD5 "EXP-KRB5-DES-CBC-MD5" +# define SSL3_TXT_KRB5_RC2_40_CBC_MD5 "EXP-KRB5-RC2-CBC-MD5" +# define SSL3_TXT_KRB5_RC4_40_MD5 "EXP-KRB5-RC4-MD5" + +# define SSL3_SSL_SESSION_ID_LENGTH 32 +# define SSL3_MAX_SSL_SESSION_ID_LENGTH 32 + +# define SSL3_MASTER_SECRET_SIZE 48 +# define SSL3_RANDOM_SIZE 32 +# define SSL3_SESSION_ID_SIZE 32 +# define SSL3_RT_HEADER_LENGTH 5 + +# define SSL3_HM_HEADER_LENGTH 4 + +# ifndef SSL3_ALIGN_PAYLOAD + /* + * Some will argue that this increases memory footprint, but it's not + * actually true. Point is that malloc has to return at least 64-bit aligned + * pointers, meaning that allocating 5 bytes wastes 3 bytes in either case. + * Suggested pre-gaping simply moves these wasted bytes from the end of + * allocated region to its front, but makes data payload aligned, which + * improves performance:-) + */ +# define SSL3_ALIGN_PAYLOAD 8 +# else +# if (SSL3_ALIGN_PAYLOAD&(SSL3_ALIGN_PAYLOAD-1))!=0 +# error "insane SSL3_ALIGN_PAYLOAD" +# undef SSL3_ALIGN_PAYLOAD +# endif +# endif + +/* + * This is the maximum MAC (digest) size used by the SSL library. Currently + * maximum of 20 is used by SHA1, but we reserve for future extension for + * 512-bit hashes. + */ + +# define SSL3_RT_MAX_MD_SIZE 64 + +/* + * Maximum block size used in all ciphersuites. Currently 16 for AES. + */ + +# define SSL_RT_MAX_CIPHER_BLOCK_SIZE 16 + +# define SSL3_RT_MAX_EXTRA (16384) + +/* Maximum plaintext length: defined by SSL/TLS standards */ +# define SSL3_RT_MAX_PLAIN_LENGTH 16384 +/* Maximum compression overhead: defined by SSL/TLS standards */ +# define SSL3_RT_MAX_COMPRESSED_OVERHEAD 1024 + +/* + * The standards give a maximum encryption overhead of 1024 bytes. In + * practice the value is lower than this. The overhead is the maximum number + * of padding bytes (256) plus the mac size. + */ +# define SSL3_RT_MAX_ENCRYPTED_OVERHEAD (256 + SSL3_RT_MAX_MD_SIZE) + +/* + * OpenSSL currently only uses a padding length of at most one block so the + * send overhead is smaller. + */ + +# define SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \ + (SSL_RT_MAX_CIPHER_BLOCK_SIZE + SSL3_RT_MAX_MD_SIZE) + +/* If compression isn't used don't include the compression overhead */ + +# ifdef OPENSSL_NO_COMP +# define SSL3_RT_MAX_COMPRESSED_LENGTH SSL3_RT_MAX_PLAIN_LENGTH +# else +# define SSL3_RT_MAX_COMPRESSED_LENGTH \ + (SSL3_RT_MAX_PLAIN_LENGTH+SSL3_RT_MAX_COMPRESSED_OVERHEAD) +# endif +# define SSL3_RT_MAX_ENCRYPTED_LENGTH \ + (SSL3_RT_MAX_ENCRYPTED_OVERHEAD+SSL3_RT_MAX_COMPRESSED_LENGTH) +# define SSL3_RT_MAX_PACKET_SIZE \ + (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH) + +# define SSL3_MD_CLIENT_FINISHED_CONST "\x43\x4C\x4E\x54" +# define SSL3_MD_SERVER_FINISHED_CONST "\x53\x52\x56\x52" + +# define SSL3_VERSION 0x0300 +# define SSL3_VERSION_MAJOR 0x03 +# define SSL3_VERSION_MINOR 0x00 + +# define SSL3_RT_CHANGE_CIPHER_SPEC 20 +# define SSL3_RT_ALERT 21 +# define SSL3_RT_HANDSHAKE 22 +# define SSL3_RT_APPLICATION_DATA 23 +# define TLS1_RT_HEARTBEAT 24 + +/* Pseudo content types to indicate additional parameters */ +# define TLS1_RT_CRYPTO 0x1000 +# define TLS1_RT_CRYPTO_PREMASTER (TLS1_RT_CRYPTO | 0x1) +# define TLS1_RT_CRYPTO_CLIENT_RANDOM (TLS1_RT_CRYPTO | 0x2) +# define TLS1_RT_CRYPTO_SERVER_RANDOM (TLS1_RT_CRYPTO | 0x3) +# define TLS1_RT_CRYPTO_MASTER (TLS1_RT_CRYPTO | 0x4) + +# define TLS1_RT_CRYPTO_READ 0x0000 +# define TLS1_RT_CRYPTO_WRITE 0x0100 +# define TLS1_RT_CRYPTO_MAC (TLS1_RT_CRYPTO | 0x5) +# define TLS1_RT_CRYPTO_KEY (TLS1_RT_CRYPTO | 0x6) +# define TLS1_RT_CRYPTO_IV (TLS1_RT_CRYPTO | 0x7) +# define TLS1_RT_CRYPTO_FIXED_IV (TLS1_RT_CRYPTO | 0x8) + +/* Pseudo content type for SSL/TLS header info */ +# define SSL3_RT_HEADER 0x100 + +# define SSL3_AL_WARNING 1 +# define SSL3_AL_FATAL 2 + +# define SSL3_AD_CLOSE_NOTIFY 0 +# define SSL3_AD_UNEXPECTED_MESSAGE 10/* fatal */ +# define SSL3_AD_BAD_RECORD_MAC 20/* fatal */ +# define SSL3_AD_DECOMPRESSION_FAILURE 30/* fatal */ +# define SSL3_AD_HANDSHAKE_FAILURE 40/* fatal */ +# define SSL3_AD_NO_CERTIFICATE 41 +# define SSL3_AD_BAD_CERTIFICATE 42 +# define SSL3_AD_UNSUPPORTED_CERTIFICATE 43 +# define SSL3_AD_CERTIFICATE_REVOKED 44 +# define SSL3_AD_CERTIFICATE_EXPIRED 45 +# define SSL3_AD_CERTIFICATE_UNKNOWN 46 +# define SSL3_AD_ILLEGAL_PARAMETER 47/* fatal */ + +# define TLS1_HB_REQUEST 1 +# define TLS1_HB_RESPONSE 2 + +# ifndef OPENSSL_NO_SSL_INTERN + +typedef struct ssl3_record_st { + /* type of record */ + /* + * r + */ int type; + /* How many bytes available */ + /* + * rw + */ unsigned int length; + /* read/write offset into 'buf' */ + /* + * r + */ unsigned int off; + /* pointer to the record data */ + /* + * rw + */ unsigned char *data; + /* where the decode bytes are */ + /* + * rw + */ unsigned char *input; + /* only used with decompression - malloc()ed */ + /* + * r + */ unsigned char *comp; + /* epoch number, needed by DTLS1 */ + /* + * r + */ unsigned long epoch; + /* sequence number, needed by DTLS1 */ + /* + * r + */ unsigned char seq_num[8]; +} SSL3_RECORD; + +typedef struct ssl3_buffer_st { + /* at least SSL3_RT_MAX_PACKET_SIZE bytes, see ssl3_setup_buffers() */ + unsigned char *buf; + /* buffer size */ + size_t len; + /* where to 'copy from' */ + int offset; + /* how many bytes left */ + int left; +} SSL3_BUFFER; + +# endif + +# define SSL3_CT_RSA_SIGN 1 +# define SSL3_CT_DSS_SIGN 2 +# define SSL3_CT_RSA_FIXED_DH 3 +# define SSL3_CT_DSS_FIXED_DH 4 +# define SSL3_CT_RSA_EPHEMERAL_DH 5 +# define SSL3_CT_DSS_EPHEMERAL_DH 6 +# define SSL3_CT_FORTEZZA_DMS 20 +/* + * SSL3_CT_NUMBER is used to size arrays and it must be large enough to + * contain all of the cert types defined either for SSLv3 and TLSv1. + */ +# define SSL3_CT_NUMBER 9 + +# define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001 +# define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002 +# define SSL3_FLAGS_POP_BUFFER 0x0004 +# define TLS1_FLAGS_TLS_PADDING_BUG 0x0008 +# define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010 +# define TLS1_FLAGS_KEEP_HANDSHAKE 0x0020 +/* + * Set when the handshake is ready to process peer's ChangeCipherSpec message. + * Cleared after the message has been processed. + */ +# define SSL3_FLAGS_CCS_OK 0x0080 + +/* SSL3_FLAGS_SGC_RESTART_DONE is no longer used */ +# define SSL3_FLAGS_SGC_RESTART_DONE 0x0040 + +# ifndef OPENSSL_NO_SSL_INTERN + +typedef struct ssl3_state_st { + long flags; + int delay_buf_pop_ret; + unsigned char read_sequence[8]; + int read_mac_secret_size; + unsigned char read_mac_secret[EVP_MAX_MD_SIZE]; + unsigned char write_sequence[8]; + int write_mac_secret_size; + unsigned char write_mac_secret[EVP_MAX_MD_SIZE]; + unsigned char server_random[SSL3_RANDOM_SIZE]; + unsigned char client_random[SSL3_RANDOM_SIZE]; + /* flags for countermeasure against known-IV weakness */ + int need_empty_fragments; + int empty_fragment_done; + /* The value of 'extra' when the buffers were initialized */ + int init_extra; + SSL3_BUFFER rbuf; /* read IO goes into here */ + SSL3_BUFFER wbuf; /* write IO goes into here */ + SSL3_RECORD rrec; /* each decoded record goes in here */ + SSL3_RECORD wrec; /* goes out from here */ + /* + * storage for Alert/Handshake protocol data received but not yet + * processed by ssl3_read_bytes: + */ + unsigned char alert_fragment[2]; + unsigned int alert_fragment_len; + unsigned char handshake_fragment[4]; + unsigned int handshake_fragment_len; + /* partial write - check the numbers match */ + unsigned int wnum; /* number of bytes sent so far */ + int wpend_tot; /* number bytes written */ + int wpend_type; + int wpend_ret; /* number of bytes submitted */ + const unsigned char *wpend_buf; + /* used during startup, digest all incoming/outgoing packets */ + BIO *handshake_buffer; + /* + * When set of handshake digests is determined, buffer is hashed and + * freed and MD_CTX-es for all required digests are stored in this array + */ + EVP_MD_CTX **handshake_dgst; + /* + * Set whenever an expected ChangeCipherSpec message is processed. + * Unset when the peer's Finished message is received. + * Unexpected ChangeCipherSpec messages trigger a fatal alert. + */ + int change_cipher_spec; + int warn_alert; + int fatal_alert; + /* + * we allow one fatal and one warning alert to be outstanding, send close + * alert via the warning alert + */ + int alert_dispatch; + unsigned char send_alert[2]; + /* + * This flag is set when we should renegotiate ASAP, basically when there + * is no more data in the read or write buffers + */ + int renegotiate; + int total_renegotiations; + int num_renegotiations; + int in_read_app_data; + /* + * Opaque PRF input as used for the current handshake. These fields are + * used only if TLSEXT_TYPE_opaque_prf_input is defined (otherwise, they + * are merely present to improve binary compatibility) + */ + void *client_opaque_prf_input; + size_t client_opaque_prf_input_len; + void *server_opaque_prf_input; + size_t server_opaque_prf_input_len; + struct { + /* actually only needs to be 16+20 */ + unsigned char cert_verify_md[EVP_MAX_MD_SIZE * 2]; + /* actually only need to be 16+20 for SSLv3 and 12 for TLS */ + unsigned char finish_md[EVP_MAX_MD_SIZE * 2]; + int finish_md_len; + unsigned char peer_finish_md[EVP_MAX_MD_SIZE * 2]; + int peer_finish_md_len; + unsigned long message_size; + int message_type; + /* used to hold the new cipher we are going to use */ + const SSL_CIPHER *new_cipher; +# ifndef OPENSSL_NO_DH + DH *dh; +# endif +# ifndef OPENSSL_NO_ECDH + EC_KEY *ecdh; /* holds short lived ECDH key */ +# endif + /* used when SSL_ST_FLUSH_DATA is entered */ + int next_state; + int reuse_message; + /* used for certificate requests */ + int cert_req; + int ctype_num; + char ctype[SSL3_CT_NUMBER]; + STACK_OF(X509_NAME) *ca_names; + int use_rsa_tmp; + int key_block_length; + unsigned char *key_block; + const EVP_CIPHER *new_sym_enc; + const EVP_MD *new_hash; + int new_mac_pkey_type; + int new_mac_secret_size; +# ifndef OPENSSL_NO_COMP + const SSL_COMP *new_compression; +# else + char *new_compression; +# endif + int cert_request; + } tmp; + + /* Connection binding to prevent renegotiation attacks */ + unsigned char previous_client_finished[EVP_MAX_MD_SIZE]; + unsigned char previous_client_finished_len; + unsigned char previous_server_finished[EVP_MAX_MD_SIZE]; + unsigned char previous_server_finished_len; + int send_connection_binding; /* TODOEKR */ + +# ifndef OPENSSL_NO_NEXTPROTONEG + /* + * Set if we saw the Next Protocol Negotiation extension from our peer. + */ + int next_proto_neg_seen; +# endif + +# ifndef OPENSSL_NO_TLSEXT +# ifndef OPENSSL_NO_EC + /* + * This is set to true if we believe that this is a version of Safari + * running on OS X 10.6 or newer. We wish to know this because Safari on + * 10.8 .. 10.8.3 has broken ECDHE-ECDSA support. + */ + char is_probably_safari; +# endif /* !OPENSSL_NO_EC */ + + /* + * ALPN information (we are in the process of transitioning from NPN to + * ALPN.) + */ + + /* + * In a server these point to the selected ALPN protocol after the + * ClientHello has been processed. In a client these contain the protocol + * that the server selected once the ServerHello has been processed. + */ + unsigned char *alpn_selected; + unsigned alpn_selected_len; +# endif /* OPENSSL_NO_TLSEXT */ +} SSL3_STATE; + +# endif + +/* SSLv3 */ +/* + * client + */ +/* extra state */ +# define SSL3_ST_CW_FLUSH (0x100|SSL_ST_CONNECT) +# ifndef OPENSSL_NO_SCTP +# define DTLS1_SCTP_ST_CW_WRITE_SOCK (0x310|SSL_ST_CONNECT) +# define DTLS1_SCTP_ST_CR_READ_SOCK (0x320|SSL_ST_CONNECT) +# endif +/* write to server */ +# define SSL3_ST_CW_CLNT_HELLO_A (0x110|SSL_ST_CONNECT) +# define SSL3_ST_CW_CLNT_HELLO_B (0x111|SSL_ST_CONNECT) +/* read from server */ +# define SSL3_ST_CR_SRVR_HELLO_A (0x120|SSL_ST_CONNECT) +# define SSL3_ST_CR_SRVR_HELLO_B (0x121|SSL_ST_CONNECT) +# define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A (0x126|SSL_ST_CONNECT) +# define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B (0x127|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_A (0x130|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_B (0x131|SSL_ST_CONNECT) +# define SSL3_ST_CR_KEY_EXCH_A (0x140|SSL_ST_CONNECT) +# define SSL3_ST_CR_KEY_EXCH_B (0x141|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_REQ_A (0x150|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_REQ_B (0x151|SSL_ST_CONNECT) +# define SSL3_ST_CR_SRVR_DONE_A (0x160|SSL_ST_CONNECT) +# define SSL3_ST_CR_SRVR_DONE_B (0x161|SSL_ST_CONNECT) +/* write to server */ +# define SSL3_ST_CW_CERT_A (0x170|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_B (0x171|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_C (0x172|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_D (0x173|SSL_ST_CONNECT) +# define SSL3_ST_CW_KEY_EXCH_A (0x180|SSL_ST_CONNECT) +# define SSL3_ST_CW_KEY_EXCH_B (0x181|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_VRFY_A (0x190|SSL_ST_CONNECT) +# define SSL3_ST_CW_CERT_VRFY_B (0x191|SSL_ST_CONNECT) +# define SSL3_ST_CW_CHANGE_A (0x1A0|SSL_ST_CONNECT) +# define SSL3_ST_CW_CHANGE_B (0x1A1|SSL_ST_CONNECT) +# ifndef OPENSSL_NO_NEXTPROTONEG +# define SSL3_ST_CW_NEXT_PROTO_A (0x200|SSL_ST_CONNECT) +# define SSL3_ST_CW_NEXT_PROTO_B (0x201|SSL_ST_CONNECT) +# endif +# define SSL3_ST_CW_FINISHED_A (0x1B0|SSL_ST_CONNECT) +# define SSL3_ST_CW_FINISHED_B (0x1B1|SSL_ST_CONNECT) +/* read from server */ +# define SSL3_ST_CR_CHANGE_A (0x1C0|SSL_ST_CONNECT) +# define SSL3_ST_CR_CHANGE_B (0x1C1|SSL_ST_CONNECT) +# define SSL3_ST_CR_FINISHED_A (0x1D0|SSL_ST_CONNECT) +# define SSL3_ST_CR_FINISHED_B (0x1D1|SSL_ST_CONNECT) +# define SSL3_ST_CR_SESSION_TICKET_A (0x1E0|SSL_ST_CONNECT) +# define SSL3_ST_CR_SESSION_TICKET_B (0x1E1|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_STATUS_A (0x1F0|SSL_ST_CONNECT) +# define SSL3_ST_CR_CERT_STATUS_B (0x1F1|SSL_ST_CONNECT) + +/* server */ +/* extra state */ +# define SSL3_ST_SW_FLUSH (0x100|SSL_ST_ACCEPT) +# ifndef OPENSSL_NO_SCTP +# define DTLS1_SCTP_ST_SW_WRITE_SOCK (0x310|SSL_ST_ACCEPT) +# define DTLS1_SCTP_ST_SR_READ_SOCK (0x320|SSL_ST_ACCEPT) +# endif +/* read from client */ +/* Do not change the number values, they do matter */ +# define SSL3_ST_SR_CLNT_HELLO_A (0x110|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CLNT_HELLO_B (0x111|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CLNT_HELLO_C (0x112|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CLNT_HELLO_D (0x115|SSL_ST_ACCEPT) +/* write to client */ +# define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A (0x113|SSL_ST_ACCEPT) +# define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B (0x114|SSL_ST_ACCEPT) +# define SSL3_ST_SW_HELLO_REQ_A (0x120|SSL_ST_ACCEPT) +# define SSL3_ST_SW_HELLO_REQ_B (0x121|SSL_ST_ACCEPT) +# define SSL3_ST_SW_HELLO_REQ_C (0x122|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SRVR_HELLO_A (0x130|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SRVR_HELLO_B (0x131|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_A (0x140|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_B (0x141|SSL_ST_ACCEPT) +# define SSL3_ST_SW_KEY_EXCH_A (0x150|SSL_ST_ACCEPT) +# define SSL3_ST_SW_KEY_EXCH_B (0x151|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_REQ_A (0x160|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_REQ_B (0x161|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SRVR_DONE_A (0x170|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SRVR_DONE_B (0x171|SSL_ST_ACCEPT) +/* read from client */ +# define SSL3_ST_SR_CERT_A (0x180|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CERT_B (0x181|SSL_ST_ACCEPT) +# define SSL3_ST_SR_KEY_EXCH_A (0x190|SSL_ST_ACCEPT) +# define SSL3_ST_SR_KEY_EXCH_B (0x191|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CERT_VRFY_A (0x1A0|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CERT_VRFY_B (0x1A1|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CHANGE_A (0x1B0|SSL_ST_ACCEPT) +# define SSL3_ST_SR_CHANGE_B (0x1B1|SSL_ST_ACCEPT) +# ifndef OPENSSL_NO_NEXTPROTONEG +# define SSL3_ST_SR_NEXT_PROTO_A (0x210|SSL_ST_ACCEPT) +# define SSL3_ST_SR_NEXT_PROTO_B (0x211|SSL_ST_ACCEPT) +# endif +# define SSL3_ST_SR_FINISHED_A (0x1C0|SSL_ST_ACCEPT) +# define SSL3_ST_SR_FINISHED_B (0x1C1|SSL_ST_ACCEPT) +/* write to client */ +# define SSL3_ST_SW_CHANGE_A (0x1D0|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CHANGE_B (0x1D1|SSL_ST_ACCEPT) +# define SSL3_ST_SW_FINISHED_A (0x1E0|SSL_ST_ACCEPT) +# define SSL3_ST_SW_FINISHED_B (0x1E1|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SESSION_TICKET_A (0x1F0|SSL_ST_ACCEPT) +# define SSL3_ST_SW_SESSION_TICKET_B (0x1F1|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_STATUS_A (0x200|SSL_ST_ACCEPT) +# define SSL3_ST_SW_CERT_STATUS_B (0x201|SSL_ST_ACCEPT) + +# define SSL3_MT_HELLO_REQUEST 0 +# define SSL3_MT_CLIENT_HELLO 1 +# define SSL3_MT_SERVER_HELLO 2 +# define SSL3_MT_NEWSESSION_TICKET 4 +# define SSL3_MT_CERTIFICATE 11 +# define SSL3_MT_SERVER_KEY_EXCHANGE 12 +# define SSL3_MT_CERTIFICATE_REQUEST 13 +# define SSL3_MT_SERVER_DONE 14 +# define SSL3_MT_CERTIFICATE_VERIFY 15 +# define SSL3_MT_CLIENT_KEY_EXCHANGE 16 +# define SSL3_MT_FINISHED 20 +# define SSL3_MT_CERTIFICATE_STATUS 22 +# ifndef OPENSSL_NO_NEXTPROTONEG +# define SSL3_MT_NEXT_PROTO 67 +# endif +# define DTLS1_MT_HELLO_VERIFY_REQUEST 3 + +# define SSL3_MT_CCS 1 + +/* These are used when changing over to a new cipher */ +# define SSL3_CC_READ 0x01 +# define SSL3_CC_WRITE 0x02 +# define SSL3_CC_CLIENT 0x10 +# define SSL3_CC_SERVER 0x20 +# define SSL3_CHANGE_CIPHER_CLIENT_WRITE (SSL3_CC_CLIENT|SSL3_CC_WRITE) +# define SSL3_CHANGE_CIPHER_SERVER_READ (SSL3_CC_SERVER|SSL3_CC_READ) +# define SSL3_CHANGE_CIPHER_CLIENT_READ (SSL3_CC_CLIENT|SSL3_CC_READ) +# define SSL3_CHANGE_CIPHER_SERVER_WRITE (SSL3_CC_SERVER|SSL3_CC_WRITE) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/stack.h b/3rdparty/openssl/include/openssl/stack.h new file mode 100644 index 0000000..eb07216 --- /dev/null +++ b/3rdparty/openssl/include/openssl/stack.h @@ -0,0 +1,107 @@ +/* crypto/stack/stack.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_STACK_H +# define HEADER_STACK_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct stack_st { + int num; + char **data; + int sorted; + int num_alloc; + int (*comp) (const void *, const void *); +} _STACK; /* Use STACK_OF(...) instead */ + +# define M_sk_num(sk) ((sk) ? (sk)->num:-1) +# define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL) + +int sk_num(const _STACK *); +void *sk_value(const _STACK *, int); + +void *sk_set(_STACK *, int, void *); + +_STACK *sk_new(int (*cmp) (const void *, const void *)); +_STACK *sk_new_null(void); +void sk_free(_STACK *); +void sk_pop_free(_STACK *st, void (*func) (void *)); +_STACK *sk_deep_copy(_STACK *, void *(*)(void *), void (*)(void *)); +int sk_insert(_STACK *sk, void *data, int where); +void *sk_delete(_STACK *st, int loc); +void *sk_delete_ptr(_STACK *st, void *p); +int sk_find(_STACK *st, void *data); +int sk_find_ex(_STACK *st, void *data); +int sk_push(_STACK *st, void *data); +int sk_unshift(_STACK *st, void *data); +void *sk_shift(_STACK *st); +void *sk_pop(_STACK *st); +void sk_zero(_STACK *st); +int (*sk_set_cmp_func(_STACK *sk, int (*c) (const void *, const void *))) + (const void *, const void *); +_STACK *sk_dup(_STACK *st); +void sk_sort(_STACK *st); +int sk_is_sorted(const _STACK *st); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/symhacks.h b/3rdparty/openssl/include/openssl/symhacks.h new file mode 100644 index 0000000..3001957 --- /dev/null +++ b/3rdparty/openssl/include/openssl/symhacks.h @@ -0,0 +1,518 @@ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_SYMHACKS_H +# define HEADER_SYMHACKS_H + +# include + +/* + * Hacks to solve the problem with linkers incapable of handling very long + * symbol names. In the case of VMS, the limit is 31 characters on VMS for + * VAX. + */ +/* + * Note that this affects util/libeay.num and util/ssleay.num... you may + * change those manually, but that's not recommended, as those files are + * controlled centrally and updated on Unix, and the central definition may + * disagree with yours, which in turn may come with shareable library + * incompatibilities. + */ +# ifdef OPENSSL_SYS_VMS + +/* Hack a long name in crypto/ex_data.c */ +# undef CRYPTO_get_ex_data_implementation +# define CRYPTO_get_ex_data_implementation CRYPTO_get_ex_data_impl +# undef CRYPTO_set_ex_data_implementation +# define CRYPTO_set_ex_data_implementation CRYPTO_set_ex_data_impl + +/* Hack a long name in crypto/asn1/a_mbstr.c */ +# undef ASN1_STRING_set_default_mask_asc +# define ASN1_STRING_set_default_mask_asc ASN1_STRING_set_def_mask_asc + +# if 0 /* No longer needed, since safestack macro + * magic does the job */ +/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) */ +# undef i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO +# define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO i2d_ASN1_SET_OF_PKCS7_SIGINF +# undef d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO +# define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO d2i_ASN1_SET_OF_PKCS7_SIGINF +# endif + +# if 0 /* No longer needed, since safestack macro + * magic does the job */ +/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) */ +# undef i2d_ASN1_SET_OF_PKCS7_RECIP_INFO +# define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO i2d_ASN1_SET_OF_PKCS7_RECINF +# undef d2i_ASN1_SET_OF_PKCS7_RECIP_INFO +# define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO d2i_ASN1_SET_OF_PKCS7_RECINF +# endif + +# if 0 /* No longer needed, since safestack macro + * magic does the job */ +/* Hack the names created with DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) */ +# undef i2d_ASN1_SET_OF_ACCESS_DESCRIPTION +# define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION i2d_ASN1_SET_OF_ACC_DESC +# undef d2i_ASN1_SET_OF_ACCESS_DESCRIPTION +# define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION d2i_ASN1_SET_OF_ACC_DESC +# endif + +/* Hack the names created with DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE) */ +# undef PEM_read_NETSCAPE_CERT_SEQUENCE +# define PEM_read_NETSCAPE_CERT_SEQUENCE PEM_read_NS_CERT_SEQ +# undef PEM_write_NETSCAPE_CERT_SEQUENCE +# define PEM_write_NETSCAPE_CERT_SEQUENCE PEM_write_NS_CERT_SEQ +# undef PEM_read_bio_NETSCAPE_CERT_SEQUENCE +# define PEM_read_bio_NETSCAPE_CERT_SEQUENCE PEM_read_bio_NS_CERT_SEQ +# undef PEM_write_bio_NETSCAPE_CERT_SEQUENCE +# define PEM_write_bio_NETSCAPE_CERT_SEQUENCE PEM_write_bio_NS_CERT_SEQ +# undef PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE +# define PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE PEM_write_cb_bio_NS_CERT_SEQ + +/* Hack the names created with DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO) */ +# undef PEM_read_PKCS8_PRIV_KEY_INFO +# define PEM_read_PKCS8_PRIV_KEY_INFO PEM_read_P8_PRIV_KEY_INFO +# undef PEM_write_PKCS8_PRIV_KEY_INFO +# define PEM_write_PKCS8_PRIV_KEY_INFO PEM_write_P8_PRIV_KEY_INFO +# undef PEM_read_bio_PKCS8_PRIV_KEY_INFO +# define PEM_read_bio_PKCS8_PRIV_KEY_INFO PEM_read_bio_P8_PRIV_KEY_INFO +# undef PEM_write_bio_PKCS8_PRIV_KEY_INFO +# define PEM_write_bio_PKCS8_PRIV_KEY_INFO PEM_write_bio_P8_PRIV_KEY_INFO +# undef PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO +# define PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO PEM_wrt_cb_bio_P8_PRIV_KEY_INFO + +/* Hack other PEM names */ +# undef PEM_write_bio_PKCS8PrivateKey_nid +# define PEM_write_bio_PKCS8PrivateKey_nid PEM_write_bio_PKCS8PrivKey_nid + +/* Hack some long X509 names */ +# undef X509_REVOKED_get_ext_by_critical +# define X509_REVOKED_get_ext_by_critical X509_REVOKED_get_ext_by_critic +# undef X509_policy_tree_get0_user_policies +# define X509_policy_tree_get0_user_policies X509_pcy_tree_get0_usr_policies +# undef X509_policy_node_get0_qualifiers +# define X509_policy_node_get0_qualifiers X509_pcy_node_get0_qualifiers +# undef X509_STORE_CTX_get_explicit_policy +# define X509_STORE_CTX_get_explicit_policy X509_STORE_CTX_get_expl_policy +# undef X509_STORE_CTX_get0_current_issuer +# define X509_STORE_CTX_get0_current_issuer X509_STORE_CTX_get0_cur_issuer + +/* Hack some long CRYPTO names */ +# undef CRYPTO_set_dynlock_destroy_callback +# define CRYPTO_set_dynlock_destroy_callback CRYPTO_set_dynlock_destroy_cb +# undef CRYPTO_set_dynlock_create_callback +# define CRYPTO_set_dynlock_create_callback CRYPTO_set_dynlock_create_cb +# undef CRYPTO_set_dynlock_lock_callback +# define CRYPTO_set_dynlock_lock_callback CRYPTO_set_dynlock_lock_cb +# undef CRYPTO_get_dynlock_lock_callback +# define CRYPTO_get_dynlock_lock_callback CRYPTO_get_dynlock_lock_cb +# undef CRYPTO_get_dynlock_destroy_callback +# define CRYPTO_get_dynlock_destroy_callback CRYPTO_get_dynlock_destroy_cb +# undef CRYPTO_get_dynlock_create_callback +# define CRYPTO_get_dynlock_create_callback CRYPTO_get_dynlock_create_cb +# undef CRYPTO_set_locked_mem_ex_functions +# define CRYPTO_set_locked_mem_ex_functions CRYPTO_set_locked_mem_ex_funcs +# undef CRYPTO_get_locked_mem_ex_functions +# define CRYPTO_get_locked_mem_ex_functions CRYPTO_get_locked_mem_ex_funcs + +/* Hack some long SSL/TLS names */ +# undef SSL_CTX_set_default_verify_paths +# define SSL_CTX_set_default_verify_paths SSL_CTX_set_def_verify_paths +# undef SSL_get_ex_data_X509_STORE_CTX_idx +# define SSL_get_ex_data_X509_STORE_CTX_idx SSL_get_ex_d_X509_STORE_CTX_idx +# undef SSL_add_file_cert_subjects_to_stack +# define SSL_add_file_cert_subjects_to_stack SSL_add_file_cert_subjs_to_stk +# undef SSL_add_dir_cert_subjects_to_stack +# define SSL_add_dir_cert_subjects_to_stack SSL_add_dir_cert_subjs_to_stk +# undef SSL_CTX_use_certificate_chain_file +# define SSL_CTX_use_certificate_chain_file SSL_CTX_use_cert_chain_file +# undef SSL_CTX_set_cert_verify_callback +# define SSL_CTX_set_cert_verify_callback SSL_CTX_set_cert_verify_cb +# undef SSL_CTX_set_default_passwd_cb_userdata +# define SSL_CTX_set_default_passwd_cb_userdata SSL_CTX_set_def_passwd_cb_ud +# undef SSL_COMP_get_compression_methods +# define SSL_COMP_get_compression_methods SSL_COMP_get_compress_methods +# undef SSL_COMP_set0_compression_methods +# define SSL_COMP_set0_compression_methods SSL_COMP_set0_compress_methods +# undef SSL_COMP_free_compression_methods +# define SSL_COMP_free_compression_methods SSL_COMP_free_compress_methods +# undef ssl_add_clienthello_renegotiate_ext +# define ssl_add_clienthello_renegotiate_ext ssl_add_clienthello_reneg_ext +# undef ssl_add_serverhello_renegotiate_ext +# define ssl_add_serverhello_renegotiate_ext ssl_add_serverhello_reneg_ext +# undef ssl_parse_clienthello_renegotiate_ext +# define ssl_parse_clienthello_renegotiate_ext ssl_parse_clienthello_reneg_ext +# undef ssl_parse_serverhello_renegotiate_ext +# define ssl_parse_serverhello_renegotiate_ext ssl_parse_serverhello_reneg_ext +# undef SSL_srp_server_param_with_username +# define SSL_srp_server_param_with_username SSL_srp_server_param_with_un +# undef SSL_CTX_set_srp_client_pwd_callback +# define SSL_CTX_set_srp_client_pwd_callback SSL_CTX_set_srp_client_pwd_cb +# undef SSL_CTX_set_srp_verify_param_callback +# define SSL_CTX_set_srp_verify_param_callback SSL_CTX_set_srp_vfy_param_cb +# undef SSL_CTX_set_srp_username_callback +# define SSL_CTX_set_srp_username_callback SSL_CTX_set_srp_un_cb +# undef ssl_add_clienthello_use_srtp_ext +# define ssl_add_clienthello_use_srtp_ext ssl_add_clihello_use_srtp_ext +# undef ssl_add_serverhello_use_srtp_ext +# define ssl_add_serverhello_use_srtp_ext ssl_add_serhello_use_srtp_ext +# undef ssl_parse_clienthello_use_srtp_ext +# define ssl_parse_clienthello_use_srtp_ext ssl_parse_clihello_use_srtp_ext +# undef ssl_parse_serverhello_use_srtp_ext +# define ssl_parse_serverhello_use_srtp_ext ssl_parse_serhello_use_srtp_ext +# undef SSL_CTX_set_next_protos_advertised_cb +# define SSL_CTX_set_next_protos_advertised_cb SSL_CTX_set_next_protos_adv_cb +# undef SSL_CTX_set_next_proto_select_cb +# define SSL_CTX_set_next_proto_select_cb SSL_CTX_set_next_proto_sel_cb + +# undef tls1_send_server_supplemental_data +# define tls1_send_server_supplemental_data tls1_send_server_suppl_data +# undef tls1_send_client_supplemental_data +# define tls1_send_client_supplemental_data tls1_send_client_suppl_data +# undef tls1_get_server_supplemental_data +# define tls1_get_server_supplemental_data tls1_get_server_suppl_data +# undef tls1_get_client_supplemental_data +# define tls1_get_client_supplemental_data tls1_get_client_suppl_data + +# undef ssl3_cbc_record_digest_supported +# define ssl3_cbc_record_digest_supported ssl3_cbc_record_digest_support +# undef ssl_check_clienthello_tlsext_late +# define ssl_check_clienthello_tlsext_late ssl_check_clihello_tlsext_late +# undef ssl_check_clienthello_tlsext_early +# define ssl_check_clienthello_tlsext_early ssl_check_clihello_tlsext_early + +/* Hack some RSA long names */ +# undef RSA_padding_check_PKCS1_OAEP_mgf1 +# define RSA_padding_check_PKCS1_OAEP_mgf1 RSA_pad_check_PKCS1_OAEP_mgf1 + +/* Hack some ENGINE long names */ +# undef ENGINE_get_default_BN_mod_exp_crt +# define ENGINE_get_default_BN_mod_exp_crt ENGINE_get_def_BN_mod_exp_crt +# undef ENGINE_set_default_BN_mod_exp_crt +# define ENGINE_set_default_BN_mod_exp_crt ENGINE_set_def_BN_mod_exp_crt +# undef ENGINE_set_load_privkey_function +# define ENGINE_set_load_privkey_function ENGINE_set_load_privkey_fn +# undef ENGINE_get_load_privkey_function +# define ENGINE_get_load_privkey_function ENGINE_get_load_privkey_fn +# undef ENGINE_unregister_pkey_asn1_meths +# define ENGINE_unregister_pkey_asn1_meths ENGINE_unreg_pkey_asn1_meths +# undef ENGINE_register_all_pkey_asn1_meths +# define ENGINE_register_all_pkey_asn1_meths ENGINE_reg_all_pkey_asn1_meths +# undef ENGINE_set_default_pkey_asn1_meths +# define ENGINE_set_default_pkey_asn1_meths ENGINE_set_def_pkey_asn1_meths +# undef ENGINE_get_pkey_asn1_meth_engine +# define ENGINE_get_pkey_asn1_meth_engine ENGINE_get_pkey_asn1_meth_eng +# undef ENGINE_set_load_ssl_client_cert_function +# define ENGINE_set_load_ssl_client_cert_function \ + ENGINE_set_ld_ssl_clnt_cert_fn +# undef ENGINE_get_ssl_client_cert_function +# define ENGINE_get_ssl_client_cert_function ENGINE_get_ssl_client_cert_fn + +/* Hack some long OCSP names */ +# undef OCSP_REQUEST_get_ext_by_critical +# define OCSP_REQUEST_get_ext_by_critical OCSP_REQUEST_get_ext_by_crit +# undef OCSP_BASICRESP_get_ext_by_critical +# define OCSP_BASICRESP_get_ext_by_critical OCSP_BASICRESP_get_ext_by_crit +# undef OCSP_SINGLERESP_get_ext_by_critical +# define OCSP_SINGLERESP_get_ext_by_critical OCSP_SINGLERESP_get_ext_by_crit + +/* Hack some long DES names */ +# undef _ossl_old_des_ede3_cfb64_encrypt +# define _ossl_old_des_ede3_cfb64_encrypt _ossl_odes_ede3_cfb64_encrypt +# undef _ossl_old_des_ede3_ofb64_encrypt +# define _ossl_old_des_ede3_ofb64_encrypt _ossl_odes_ede3_ofb64_encrypt + +/* Hack some long EVP names */ +# undef OPENSSL_add_all_algorithms_noconf +# define OPENSSL_add_all_algorithms_noconf OPENSSL_add_all_algo_noconf +# undef OPENSSL_add_all_algorithms_conf +# define OPENSSL_add_all_algorithms_conf OPENSSL_add_all_algo_conf +# undef EVP_PKEY_meth_set_verify_recover +# define EVP_PKEY_meth_set_verify_recover EVP_PKEY_meth_set_vrfy_recover +# undef EVP_PKEY_meth_get_verify_recover +# define EVP_PKEY_meth_get_verify_recover EVP_PKEY_meth_get_vrfy_recover + +/* Hack some long EC names */ +# undef EC_GROUP_set_point_conversion_form +# define EC_GROUP_set_point_conversion_form EC_GROUP_set_point_conv_form +# undef EC_GROUP_get_point_conversion_form +# define EC_GROUP_get_point_conversion_form EC_GROUP_get_point_conv_form +# undef EC_GROUP_clear_free_all_extra_data +# define EC_GROUP_clear_free_all_extra_data EC_GROUP_clr_free_all_xtra_data +# undef EC_KEY_set_public_key_affine_coordinates +# define EC_KEY_set_public_key_affine_coordinates \ + EC_KEY_set_pub_key_aff_coords +# undef EC_POINT_set_Jprojective_coordinates_GFp +# define EC_POINT_set_Jprojective_coordinates_GFp \ + EC_POINT_set_Jproj_coords_GFp +# undef EC_POINT_get_Jprojective_coordinates_GFp +# define EC_POINT_get_Jprojective_coordinates_GFp \ + EC_POINT_get_Jproj_coords_GFp +# undef EC_POINT_set_affine_coordinates_GFp +# define EC_POINT_set_affine_coordinates_GFp EC_POINT_set_affine_coords_GFp +# undef EC_POINT_get_affine_coordinates_GFp +# define EC_POINT_get_affine_coordinates_GFp EC_POINT_get_affine_coords_GFp +# undef EC_POINT_set_compressed_coordinates_GFp +# define EC_POINT_set_compressed_coordinates_GFp EC_POINT_set_compr_coords_GFp +# undef EC_POINT_set_affine_coordinates_GF2m +# define EC_POINT_set_affine_coordinates_GF2m EC_POINT_set_affine_coords_GF2m +# undef EC_POINT_get_affine_coordinates_GF2m +# define EC_POINT_get_affine_coordinates_GF2m EC_POINT_get_affine_coords_GF2m +# undef EC_POINT_set_compressed_coordinates_GF2m +# define EC_POINT_set_compressed_coordinates_GF2m \ + EC_POINT_set_compr_coords_GF2m +# undef ec_GF2m_simple_group_clear_finish +# define ec_GF2m_simple_group_clear_finish ec_GF2m_simple_grp_clr_finish +# undef ec_GF2m_simple_group_check_discriminant +# define ec_GF2m_simple_group_check_discriminant ec_GF2m_simple_grp_chk_discrim +# undef ec_GF2m_simple_point_clear_finish +# define ec_GF2m_simple_point_clear_finish ec_GF2m_simple_pt_clr_finish +# undef ec_GF2m_simple_point_set_to_infinity +# define ec_GF2m_simple_point_set_to_infinity ec_GF2m_simple_pt_set_to_inf +# undef ec_GF2m_simple_points_make_affine +# define ec_GF2m_simple_points_make_affine ec_GF2m_simple_pts_make_affine +# undef ec_GF2m_simple_point_set_affine_coordinates +# define ec_GF2m_simple_point_set_affine_coordinates \ + ec_GF2m_smp_pt_set_af_coords +# undef ec_GF2m_simple_point_get_affine_coordinates +# define ec_GF2m_simple_point_get_affine_coordinates \ + ec_GF2m_smp_pt_get_af_coords +# undef ec_GF2m_simple_set_compressed_coordinates +# define ec_GF2m_simple_set_compressed_coordinates \ + ec_GF2m_smp_set_compr_coords +# undef ec_GFp_simple_group_set_curve_GFp +# define ec_GFp_simple_group_set_curve_GFp ec_GFp_simple_grp_set_curve_GFp +# undef ec_GFp_simple_group_get_curve_GFp +# define ec_GFp_simple_group_get_curve_GFp ec_GFp_simple_grp_get_curve_GFp +# undef ec_GFp_simple_group_clear_finish +# define ec_GFp_simple_group_clear_finish ec_GFp_simple_grp_clear_finish +# undef ec_GFp_simple_group_set_generator +# define ec_GFp_simple_group_set_generator ec_GFp_simple_grp_set_generator +# undef ec_GFp_simple_group_get0_generator +# define ec_GFp_simple_group_get0_generator ec_GFp_simple_grp_gt0_generator +# undef ec_GFp_simple_group_get_cofactor +# define ec_GFp_simple_group_get_cofactor ec_GFp_simple_grp_get_cofactor +# undef ec_GFp_simple_point_clear_finish +# define ec_GFp_simple_point_clear_finish ec_GFp_simple_pt_clear_finish +# undef ec_GFp_simple_point_set_to_infinity +# define ec_GFp_simple_point_set_to_infinity ec_GFp_simple_pt_set_to_inf +# undef ec_GFp_simple_points_make_affine +# define ec_GFp_simple_points_make_affine ec_GFp_simple_pts_make_affine +# undef ec_GFp_simple_set_Jprojective_coordinates_GFp +# define ec_GFp_simple_set_Jprojective_coordinates_GFp \ + ec_GFp_smp_set_Jproj_coords_GFp +# undef ec_GFp_simple_get_Jprojective_coordinates_GFp +# define ec_GFp_simple_get_Jprojective_coordinates_GFp \ + ec_GFp_smp_get_Jproj_coords_GFp +# undef ec_GFp_simple_point_set_affine_coordinates_GFp +# define ec_GFp_simple_point_set_affine_coordinates_GFp \ + ec_GFp_smp_pt_set_af_coords_GFp +# undef ec_GFp_simple_point_get_affine_coordinates_GFp +# define ec_GFp_simple_point_get_affine_coordinates_GFp \ + ec_GFp_smp_pt_get_af_coords_GFp +# undef ec_GFp_simple_set_compressed_coordinates_GFp +# define ec_GFp_simple_set_compressed_coordinates_GFp \ + ec_GFp_smp_set_compr_coords_GFp +# undef ec_GFp_simple_point_set_affine_coordinates +# define ec_GFp_simple_point_set_affine_coordinates \ + ec_GFp_smp_pt_set_af_coords +# undef ec_GFp_simple_point_get_affine_coordinates +# define ec_GFp_simple_point_get_affine_coordinates \ + ec_GFp_smp_pt_get_af_coords +# undef ec_GFp_simple_set_compressed_coordinates +# define ec_GFp_simple_set_compressed_coordinates \ + ec_GFp_smp_set_compr_coords +# undef ec_GFp_simple_group_check_discriminant +# define ec_GFp_simple_group_check_discriminant ec_GFp_simple_grp_chk_discrim + +/* Hack som long STORE names */ +# undef STORE_method_set_initialise_function +# define STORE_method_set_initialise_function STORE_meth_set_initialise_fn +# undef STORE_method_set_cleanup_function +# define STORE_method_set_cleanup_function STORE_meth_set_cleanup_fn +# undef STORE_method_set_generate_function +# define STORE_method_set_generate_function STORE_meth_set_generate_fn +# undef STORE_method_set_modify_function +# define STORE_method_set_modify_function STORE_meth_set_modify_fn +# undef STORE_method_set_revoke_function +# define STORE_method_set_revoke_function STORE_meth_set_revoke_fn +# undef STORE_method_set_delete_function +# define STORE_method_set_delete_function STORE_meth_set_delete_fn +# undef STORE_method_set_list_start_function +# define STORE_method_set_list_start_function STORE_meth_set_list_start_fn +# undef STORE_method_set_list_next_function +# define STORE_method_set_list_next_function STORE_meth_set_list_next_fn +# undef STORE_method_set_list_end_function +# define STORE_method_set_list_end_function STORE_meth_set_list_end_fn +# undef STORE_method_set_update_store_function +# define STORE_method_set_update_store_function STORE_meth_set_update_store_fn +# undef STORE_method_set_lock_store_function +# define STORE_method_set_lock_store_function STORE_meth_set_lock_store_fn +# undef STORE_method_set_unlock_store_function +# define STORE_method_set_unlock_store_function STORE_meth_set_unlock_store_fn +# undef STORE_method_get_initialise_function +# define STORE_method_get_initialise_function STORE_meth_get_initialise_fn +# undef STORE_method_get_cleanup_function +# define STORE_method_get_cleanup_function STORE_meth_get_cleanup_fn +# undef STORE_method_get_generate_function +# define STORE_method_get_generate_function STORE_meth_get_generate_fn +# undef STORE_method_get_modify_function +# define STORE_method_get_modify_function STORE_meth_get_modify_fn +# undef STORE_method_get_revoke_function +# define STORE_method_get_revoke_function STORE_meth_get_revoke_fn +# undef STORE_method_get_delete_function +# define STORE_method_get_delete_function STORE_meth_get_delete_fn +# undef STORE_method_get_list_start_function +# define STORE_method_get_list_start_function STORE_meth_get_list_start_fn +# undef STORE_method_get_list_next_function +# define STORE_method_get_list_next_function STORE_meth_get_list_next_fn +# undef STORE_method_get_list_end_function +# define STORE_method_get_list_end_function STORE_meth_get_list_end_fn +# undef STORE_method_get_update_store_function +# define STORE_method_get_update_store_function STORE_meth_get_update_store_fn +# undef STORE_method_get_lock_store_function +# define STORE_method_get_lock_store_function STORE_meth_get_lock_store_fn +# undef STORE_method_get_unlock_store_function +# define STORE_method_get_unlock_store_function STORE_meth_get_unlock_store_fn + +/* Hack some long TS names */ +# undef TS_RESP_CTX_set_status_info_cond +# define TS_RESP_CTX_set_status_info_cond TS_RESP_CTX_set_stat_info_cond +# undef TS_RESP_CTX_set_clock_precision_digits +# define TS_RESP_CTX_set_clock_precision_digits TS_RESP_CTX_set_clk_prec_digits +# undef TS_CONF_set_clock_precision_digits +# define TS_CONF_set_clock_precision_digits TS_CONF_set_clk_prec_digits + +/* Hack some long CMS names */ +# undef CMS_RecipientInfo_ktri_get0_algs +# define CMS_RecipientInfo_ktri_get0_algs CMS_RecipInfo_ktri_get0_algs +# undef CMS_RecipientInfo_ktri_get0_signer_id +# define CMS_RecipientInfo_ktri_get0_signer_id CMS_RecipInfo_ktri_get0_sigr_id +# undef CMS_OtherRevocationInfoFormat_it +# define CMS_OtherRevocationInfoFormat_it CMS_OtherRevocInfoFormat_it +# undef CMS_KeyAgreeRecipientIdentifier_it +# define CMS_KeyAgreeRecipientIdentifier_it CMS_KeyAgreeRecipIdentifier_it +# undef CMS_OriginatorIdentifierOrKey_it +# define CMS_OriginatorIdentifierOrKey_it CMS_OriginatorIdOrKey_it +# undef cms_SignerIdentifier_get0_signer_id +# define cms_SignerIdentifier_get0_signer_id cms_SignerId_get0_signer_id +# undef CMS_RecipientInfo_kari_get0_orig_id +# define CMS_RecipientInfo_kari_get0_orig_id CMS_RecipInfo_kari_get0_orig_id +# undef CMS_RecipientInfo_kari_get0_reks +# define CMS_RecipientInfo_kari_get0_reks CMS_RecipInfo_kari_get0_reks +# undef CMS_RecipientEncryptedKey_cert_cmp +# define CMS_RecipientEncryptedKey_cert_cmp CMS_RecipEncryptedKey_cert_cmp +# undef CMS_RecipientInfo_kari_set0_pkey +# define CMS_RecipientInfo_kari_set0_pkey CMS_RecipInfo_kari_set0_pkey +# undef CMS_RecipientEncryptedKey_get0_id +# define CMS_RecipientEncryptedKey_get0_id CMS_RecipEncryptedKey_get0_id +# undef CMS_RecipientInfo_kari_orig_id_cmp +# define CMS_RecipientInfo_kari_orig_id_cmp CMS_RecipInfo_kari_orig_id_cmp + +/* Hack some long DTLS1 names */ +# undef dtls1_retransmit_buffered_messages +# define dtls1_retransmit_buffered_messages dtls1_retransmit_buffered_msgs + +/* Hack some long SRP names */ +# undef SRP_generate_server_master_secret +# define SRP_generate_server_master_secret SRP_gen_server_master_secret +# undef SRP_generate_client_master_secret +# define SRP_generate_client_master_secret SRP_gen_client_master_secret + +/* Hack some long UI names */ +# undef UI_method_get_prompt_constructor +# define UI_method_get_prompt_constructor UI_method_get_prompt_constructr +# undef UI_method_set_prompt_constructor +# define UI_method_set_prompt_constructor UI_method_set_prompt_constructr + +# endif /* defined OPENSSL_SYS_VMS */ + +/* Case insensitive linking causes problems.... */ +# if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2) +# undef ERR_load_CRYPTO_strings +# define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings +# undef OCSP_crlID_new +# define OCSP_crlID_new OCSP_crlID2_new + +# undef d2i_ECPARAMETERS +# define d2i_ECPARAMETERS d2i_UC_ECPARAMETERS +# undef i2d_ECPARAMETERS +# define i2d_ECPARAMETERS i2d_UC_ECPARAMETERS +# undef d2i_ECPKPARAMETERS +# define d2i_ECPKPARAMETERS d2i_UC_ECPKPARAMETERS +# undef i2d_ECPKPARAMETERS +# define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS + +/* + * These functions do not seem to exist! However, I'm paranoid... Original + * command in x509v3.h: These functions are being redefined in another + * directory, and clash when the linker is case-insensitive, so let's hide + * them a little, by giving them an extra 'o' at the beginning of the name... + */ +# undef X509v3_cleanup_extensions +# define X509v3_cleanup_extensions oX509v3_cleanup_extensions +# undef X509v3_add_extension +# define X509v3_add_extension oX509v3_add_extension +# undef X509v3_add_netscape_extensions +# define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions +# undef X509v3_add_standard_extensions +# define X509v3_add_standard_extensions oX509v3_add_standard_extensions + +/* This one clashes with CMS_data_create */ +# undef cms_Data_create +# define cms_Data_create priv_cms_Data_create + +# endif + +#endif /* ! defined HEADER_VMS_IDHACKS_H */ diff --git a/3rdparty/openssl/include/openssl/tls1.h b/3rdparty/openssl/include/openssl/tls1.h new file mode 100644 index 0000000..dd1d8c1 --- /dev/null +++ b/3rdparty/openssl/include/openssl/tls1.h @@ -0,0 +1,810 @@ +/* ssl/tls1.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the OpenSSL open source + * license provided above. + * + * ECC cipher suite support in OpenSSL originally written by + * Vipul Gupta and Sumit Gupta of Sun Microsystems Laboratories. + * + */ +/* ==================================================================== + * Copyright 2005 Nokia. All rights reserved. + * + * The portions of the attached software ("Contribution") is developed by + * Nokia Corporation and is licensed pursuant to the OpenSSL open source + * license. + * + * The Contribution, originally written by Mika Kousa and Pasi Eronen of + * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites + * support (see RFC 4279) to OpenSSL. + * + * No patent licenses or other rights except those expressly stated in + * the OpenSSL open source license shall be deemed granted or received + * expressly, by implication, estoppel, or otherwise. + * + * No assurances are provided by Nokia that the Contribution does not + * infringe the patent or other intellectual property rights of any third + * party or that the license provides you with all the necessary rights + * to make use of the Contribution. + * + * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN + * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA + * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY + * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR + * OTHERWISE. + */ + +#ifndef HEADER_TLS1_H +# define HEADER_TLS1_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0 + +# define TLS1_VERSION 0x0301 +# define TLS1_1_VERSION 0x0302 +# define TLS1_2_VERSION 0x0303 +# define TLS_MAX_VERSION TLS1_2_VERSION + +# define TLS1_VERSION_MAJOR 0x03 +# define TLS1_VERSION_MINOR 0x01 + +# define TLS1_1_VERSION_MAJOR 0x03 +# define TLS1_1_VERSION_MINOR 0x02 + +# define TLS1_2_VERSION_MAJOR 0x03 +# define TLS1_2_VERSION_MINOR 0x03 + +# define TLS1_get_version(s) \ + ((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0) + +# define TLS1_get_client_version(s) \ + ((s->client_version >> 8) == TLS1_VERSION_MAJOR ? s->client_version : 0) + +# define TLS1_AD_DECRYPTION_FAILED 21 +# define TLS1_AD_RECORD_OVERFLOW 22 +# define TLS1_AD_UNKNOWN_CA 48/* fatal */ +# define TLS1_AD_ACCESS_DENIED 49/* fatal */ +# define TLS1_AD_DECODE_ERROR 50/* fatal */ +# define TLS1_AD_DECRYPT_ERROR 51 +# define TLS1_AD_EXPORT_RESTRICTION 60/* fatal */ +# define TLS1_AD_PROTOCOL_VERSION 70/* fatal */ +# define TLS1_AD_INSUFFICIENT_SECURITY 71/* fatal */ +# define TLS1_AD_INTERNAL_ERROR 80/* fatal */ +# define TLS1_AD_INAPPROPRIATE_FALLBACK 86/* fatal */ +# define TLS1_AD_USER_CANCELLED 90 +# define TLS1_AD_NO_RENEGOTIATION 100 +/* codes 110-114 are from RFC3546 */ +# define TLS1_AD_UNSUPPORTED_EXTENSION 110 +# define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111 +# define TLS1_AD_UNRECOGNIZED_NAME 112 +# define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113 +# define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114 +# define TLS1_AD_UNKNOWN_PSK_IDENTITY 115/* fatal */ + +/* ExtensionType values from RFC3546 / RFC4366 / RFC6066 */ +# define TLSEXT_TYPE_server_name 0 +# define TLSEXT_TYPE_max_fragment_length 1 +# define TLSEXT_TYPE_client_certificate_url 2 +# define TLSEXT_TYPE_trusted_ca_keys 3 +# define TLSEXT_TYPE_truncated_hmac 4 +# define TLSEXT_TYPE_status_request 5 +/* ExtensionType values from RFC4681 */ +# define TLSEXT_TYPE_user_mapping 6 +/* ExtensionType values from RFC5878 */ +# define TLSEXT_TYPE_client_authz 7 +# define TLSEXT_TYPE_server_authz 8 +/* ExtensionType values from RFC6091 */ +# define TLSEXT_TYPE_cert_type 9 + +/* ExtensionType values from RFC4492 */ +# define TLSEXT_TYPE_elliptic_curves 10 +# define TLSEXT_TYPE_ec_point_formats 11 + +/* ExtensionType value from RFC5054 */ +# define TLSEXT_TYPE_srp 12 + +/* ExtensionType values from RFC5246 */ +# define TLSEXT_TYPE_signature_algorithms 13 + +/* ExtensionType value from RFC5764 */ +# define TLSEXT_TYPE_use_srtp 14 + +/* ExtensionType value from RFC5620 */ +# define TLSEXT_TYPE_heartbeat 15 + +/* ExtensionType value from RFC7301 */ +# define TLSEXT_TYPE_application_layer_protocol_negotiation 16 + +/* + * ExtensionType value for TLS padding extension. + * http://tools.ietf.org/html/draft-agl-tls-padding + */ +# define TLSEXT_TYPE_padding 21 + +/* ExtensionType value from RFC4507 */ +# define TLSEXT_TYPE_session_ticket 35 + +/* ExtensionType value from draft-rescorla-tls-opaque-prf-input-00.txt */ +# if 0 +/* + * will have to be provided externally for now , + * i.e. build with -DTLSEXT_TYPE_opaque_prf_input=38183 + * using whatever extension number you'd like to try + */ +# define TLSEXT_TYPE_opaque_prf_input ?? +# endif + +/* Temporary extension type */ +# define TLSEXT_TYPE_renegotiate 0xff01 + +# ifndef OPENSSL_NO_NEXTPROTONEG +/* This is not an IANA defined extension number */ +# define TLSEXT_TYPE_next_proto_neg 13172 +# endif + +/* NameType value from RFC3546 */ +# define TLSEXT_NAMETYPE_host_name 0 +/* status request value from RFC3546 */ +# define TLSEXT_STATUSTYPE_ocsp 1 + +/* ECPointFormat values from RFC4492 */ +# define TLSEXT_ECPOINTFORMAT_first 0 +# define TLSEXT_ECPOINTFORMAT_uncompressed 0 +# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime 1 +# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2 2 +# define TLSEXT_ECPOINTFORMAT_last 2 + +/* Signature and hash algorithms from RFC5246 */ +# define TLSEXT_signature_anonymous 0 +# define TLSEXT_signature_rsa 1 +# define TLSEXT_signature_dsa 2 +# define TLSEXT_signature_ecdsa 3 + +/* Total number of different signature algorithms */ +# define TLSEXT_signature_num 4 + +# define TLSEXT_hash_none 0 +# define TLSEXT_hash_md5 1 +# define TLSEXT_hash_sha1 2 +# define TLSEXT_hash_sha224 3 +# define TLSEXT_hash_sha256 4 +# define TLSEXT_hash_sha384 5 +# define TLSEXT_hash_sha512 6 + +/* Total number of different digest algorithms */ + +# define TLSEXT_hash_num 7 + +/* Flag set for unrecognised algorithms */ +# define TLSEXT_nid_unknown 0x1000000 + +/* ECC curves */ + +# define TLSEXT_curve_P_256 23 +# define TLSEXT_curve_P_384 24 + +# ifndef OPENSSL_NO_TLSEXT + +# define TLSEXT_MAXLEN_host_name 255 + +const char *SSL_get_servername(const SSL *s, const int type); +int SSL_get_servername_type(const SSL *s); +/* + * SSL_export_keying_material exports a value derived from the master secret, + * as specified in RFC 5705. It writes |olen| bytes to |out| given a label and + * optional context. (Since a zero length context is allowed, the |use_context| + * flag controls whether a context is included.) It returns 1 on success and + * zero otherwise. + */ +int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen, + const char *label, size_t llen, + const unsigned char *context, size_t contextlen, + int use_context); + +int SSL_get_sigalgs(SSL *s, int idx, + int *psign, int *phash, int *psignandhash, + unsigned char *rsig, unsigned char *rhash); + +int SSL_get_shared_sigalgs(SSL *s, int idx, + int *psign, int *phash, int *psignandhash, + unsigned char *rsig, unsigned char *rhash); + +int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain); + +# define SSL_set_tlsext_host_name(s,name) \ +SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,(char *)name) + +# define SSL_set_tlsext_debug_callback(ssl, cb) \ +SSL_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_CB,(void (*)(void))cb) + +# define SSL_set_tlsext_debug_arg(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0, (void *)arg) + +# define SSL_set_tlsext_status_type(ssl, type) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type, NULL) + +# define SSL_get_tlsext_status_exts(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) + +# define SSL_set_tlsext_status_exts(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) + +# define SSL_get_tlsext_status_ids(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) + +# define SSL_set_tlsext_status_ids(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) + +# define SSL_get_tlsext_status_ocsp_resp(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP,0, (void *)arg) + +# define SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,arglen, (void *)arg) + +# define SSL_CTX_set_tlsext_servername_callback(ctx, cb) \ +SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,(void (*)(void))cb) + +# define SSL_TLSEXT_ERR_OK 0 +# define SSL_TLSEXT_ERR_ALERT_WARNING 1 +# define SSL_TLSEXT_ERR_ALERT_FATAL 2 +# define SSL_TLSEXT_ERR_NOACK 3 + +# define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \ +SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg) + +# define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_GET_TLSEXT_TICKET_KEYS,(keylen),(keys)) +# define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_SET_TLSEXT_TICKET_KEYS,(keylen),(keys)) + +# define SSL_CTX_set_tlsext_status_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB,(void (*)(void))cb) + +# define SSL_CTX_set_tlsext_status_arg(ssl, arg) \ +SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0, (void *)arg) + +# define SSL_set_tlsext_opaque_prf_input(s, src, len) \ +SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT, len, src) +# define SSL_CTX_set_tlsext_opaque_prf_input_callback(ctx, cb) \ +SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB, (void (*)(void))cb) +# define SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(ctx, arg) \ +SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG, 0, arg) + +# define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) + +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_TLSEXT_HB_ENABLED 0x01 +# define SSL_TLSEXT_HB_DONT_SEND_REQUESTS 0x02 +# define SSL_TLSEXT_HB_DONT_RECV_REQUESTS 0x04 + +# define SSL_get_tlsext_heartbeat_pending(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING,0,NULL) +# define SSL_set_tlsext_heartbeat_no_requests(ssl, arg) \ + SSL_ctrl((ssl),SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS,arg,NULL) +# endif +# endif + +/* PSK ciphersuites from 4279 */ +# define TLS1_CK_PSK_WITH_RC4_128_SHA 0x0300008A +# define TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008B +# define TLS1_CK_PSK_WITH_AES_128_CBC_SHA 0x0300008C +# define TLS1_CK_PSK_WITH_AES_256_CBC_SHA 0x0300008D + +/* + * Additional TLS ciphersuites from expired Internet Draft + * draft-ietf-tls-56-bit-ciphersuites-01.txt (available if + * TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES is defined, see s3_lib.c). We + * actually treat them like SSL 3.0 ciphers, which we probably shouldn't. + * Note that the first two are actually not in the IDs. + */ +# define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5 0x03000060/* not in + * ID */ +# define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 0x03000061/* not in + * ID */ +# define TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA 0x03000062 +# define TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA 0x03000063 +# define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA 0x03000064 +# define TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA 0x03000065 +# define TLS1_CK_DHE_DSS_WITH_RC4_128_SHA 0x03000066 + +/* AES ciphersuites from RFC3268 */ +# define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F +# define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030 +# define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031 +# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032 +# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033 +# define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034 + +# define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035 +# define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036 +# define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037 +# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038 +# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 +# define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A + +/* TLS v1.2 ciphersuites */ +# define TLS1_CK_RSA_WITH_NULL_SHA256 0x0300003B +# define TLS1_CK_RSA_WITH_AES_128_SHA256 0x0300003C +# define TLS1_CK_RSA_WITH_AES_256_SHA256 0x0300003D +# define TLS1_CK_DH_DSS_WITH_AES_128_SHA256 0x0300003E +# define TLS1_CK_DH_RSA_WITH_AES_128_SHA256 0x0300003F +# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA256 0x03000040 + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045 +# define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046 + +/* TLS v1.2 ciphersuites */ +# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA256 0x03000067 +# define TLS1_CK_DH_DSS_WITH_AES_256_SHA256 0x03000068 +# define TLS1_CK_DH_RSA_WITH_AES_256_SHA256 0x03000069 +# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA256 0x0300006A +# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA256 0x0300006B +# define TLS1_CK_ADH_WITH_AES_128_SHA256 0x0300006C +# define TLS1_CK_ADH_WITH_AES_256_SHA256 0x0300006D + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088 +# define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089 + +/* SEED ciphersuites from RFC4162 */ +# define TLS1_CK_RSA_WITH_SEED_SHA 0x03000096 +# define TLS1_CK_DH_DSS_WITH_SEED_SHA 0x03000097 +# define TLS1_CK_DH_RSA_WITH_SEED_SHA 0x03000098 +# define TLS1_CK_DHE_DSS_WITH_SEED_SHA 0x03000099 +# define TLS1_CK_DHE_RSA_WITH_SEED_SHA 0x0300009A +# define TLS1_CK_ADH_WITH_SEED_SHA 0x0300009B + +/* TLS v1.2 GCM ciphersuites from RFC5288 */ +# define TLS1_CK_RSA_WITH_AES_128_GCM_SHA256 0x0300009C +# define TLS1_CK_RSA_WITH_AES_256_GCM_SHA384 0x0300009D +# define TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256 0x0300009E +# define TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384 0x0300009F +# define TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256 0x030000A0 +# define TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384 0x030000A1 +# define TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256 0x030000A2 +# define TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384 0x030000A3 +# define TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256 0x030000A4 +# define TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384 0x030000A5 +# define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256 0x030000A6 +# define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384 0x030000A7 + +/* + * ECC ciphersuites from draft-ietf-tls-ecc-12.txt with changes soon to be in + * draft 13 + */ +# define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001 +# define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002 +# define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C003 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300C004 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300C005 + +# define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA 0x0300C006 +# define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA 0x0300C007 +# define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C008 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x0300C009 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x0300C00A + +# define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300C00B +# define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300C00C +# define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x0300C00D +# define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x0300C00E +# define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x0300C00F + +# define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA 0x0300C010 +# define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA 0x0300C011 +# define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA 0x0300C012 +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x0300C013 +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA 0x0300C014 + +# define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x0300C015 +# define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x0300C016 +# define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x0300C017 +# define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA 0x0300C018 +# define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA 0x0300C019 + +/* SRP ciphersuites from RFC 5054 */ +# define TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA 0x0300C01A +# define TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 0x0300C01B +# define TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 0x0300C01C +# define TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA 0x0300C01D +# define TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 0x0300C01E +# define TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 0x0300C01F +# define TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA 0x0300C020 +# define TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 0x0300C021 +# define TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 0x0300C022 + +/* ECDH HMAC based ciphersuites from RFC5289 */ + +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256 0x0300C023 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384 0x0300C024 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256 0x0300C025 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384 0x0300C026 +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256 0x0300C027 +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384 0x0300C028 +# define TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256 0x0300C029 +# define TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384 0x0300C02A + +/* ECDH GCM based ciphersuites from RFC5289 */ +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02B +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02C +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02D +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02E +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0x0300C02F +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0x0300C030 +# define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256 0x0300C031 +# define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 + +/* + * XXX * Backward compatibility alert: + * Older versions of OpenSSL gave + * some DHE ciphers names with "EDH" + * instead of "DHE". Going forward, we + * should be using DHE + * everywhere, though we may indefinitely maintain + * aliases for users + * or configurations that used "EDH" + + */ +# define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5 "EXP1024-RC4-MD5" +# define TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 "EXP1024-RC2-CBC-MD5" +# define TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DES-CBC-SHA" +# define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DHE-DSS-DES-CBC-SHA" +# define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA "EXP1024-RC4-SHA" +# define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA "EXP1024-DHE-DSS-RC4-SHA" +# define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA" + +/* AES ciphersuites from RFC3268 */ +# define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA" +# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA" +# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA" +# define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA" + +# define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA" +# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA" +# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA" +# define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA" + +/* ECC ciphersuites from RFC4492 */ +# define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA" + +# define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" +# define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" +# define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA" + +/* PSK ciphersuites from RFC 4279 */ +# define TLS1_TXT_PSK_WITH_RC4_128_SHA "PSK-RC4-SHA" +# define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA "PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" + +/* SRP ciphersuite from RFC 5054 */ +# define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA "SRP-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "SRP-RSA-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "SRP-DSS-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA "SRP-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "SRP-RSA-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "SRP-DSS-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA "SRP-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "SRP-RSA-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "SRP-DSS-AES-256-CBC-SHA" + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA" +# define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA" + +# define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA" +# define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA" + +/* SEED ciphersuites from RFC4162 */ +# define TLS1_TXT_RSA_WITH_SEED_SHA "SEED-SHA" +# define TLS1_TXT_DH_DSS_WITH_SEED_SHA "DH-DSS-SEED-SHA" +# define TLS1_TXT_DH_RSA_WITH_SEED_SHA "DH-RSA-SEED-SHA" +# define TLS1_TXT_DHE_DSS_WITH_SEED_SHA "DHE-DSS-SEED-SHA" +# define TLS1_TXT_DHE_RSA_WITH_SEED_SHA "DHE-RSA-SEED-SHA" +# define TLS1_TXT_ADH_WITH_SEED_SHA "ADH-SEED-SHA" + +/* TLS v1.2 ciphersuites */ +# define TLS1_TXT_RSA_WITH_NULL_SHA256 "NULL-SHA256" +# define TLS1_TXT_RSA_WITH_AES_128_SHA256 "AES128-SHA256" +# define TLS1_TXT_RSA_WITH_AES_256_SHA256 "AES256-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA256 "DH-DSS-AES128-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA256 "DH-RSA-AES128-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256 "DHE-DSS-AES128-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 "DHE-RSA-AES128-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA256 "DH-DSS-AES256-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA256 "DH-RSA-AES256-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256 "DHE-DSS-AES256-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 "DHE-RSA-AES256-SHA256" +# define TLS1_TXT_ADH_WITH_AES_128_SHA256 "ADH-AES128-SHA256" +# define TLS1_TXT_ADH_WITH_AES_256_SHA256 "ADH-AES256-SHA256" + +/* TLS v1.2 GCM ciphersuites from RFC5288 */ +# define TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256 "AES128-GCM-SHA256" +# define TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384 "AES256-GCM-SHA384" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 "DHE-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 "DHE-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256 "DH-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384 "DH-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256 "DHE-DSS-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384 "DHE-DSS-AES256-GCM-SHA384" +# define TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256 "DH-DSS-AES128-GCM-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384 "DH-DSS-AES256-GCM-SHA384" +# define TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256 "ADH-AES128-GCM-SHA256" +# define TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384 "ADH-AES256-GCM-SHA384" + +/* ECDH HMAC based ciphersuites from RFC5289 */ + +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256 "ECDHE-ECDSA-AES128-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384 "ECDHE-ECDSA-AES256-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256 "ECDH-ECDSA-AES128-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384 "ECDH-ECDSA-AES256-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 "ECDHE-RSA-AES128-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 "ECDHE-RSA-AES256-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256 "ECDH-RSA-AES128-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384 "ECDH-RSA-AES256-SHA384" + +/* ECDH GCM based ciphersuites from RFC5289 */ +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 "ECDHE-ECDSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 "ECDHE-ECDSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 "ECDH-ECDSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 "ECDH-ECDSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "ECDHE-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "ECDHE-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256 "ECDH-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" + +# define TLS_CT_RSA_SIGN 1 +# define TLS_CT_DSS_SIGN 2 +# define TLS_CT_RSA_FIXED_DH 3 +# define TLS_CT_DSS_FIXED_DH 4 +# define TLS_CT_ECDSA_SIGN 64 +# define TLS_CT_RSA_FIXED_ECDH 65 +# define TLS_CT_ECDSA_FIXED_ECDH 66 +# define TLS_CT_GOST94_SIGN 21 +# define TLS_CT_GOST01_SIGN 22 +/* + * when correcting this number, correct also SSL3_CT_NUMBER in ssl3.h (see + * comment there) + */ +# define TLS_CT_NUMBER 9 + +# define TLS1_FINISH_MAC_LENGTH 12 + +# define TLS_MD_MAX_CONST_SIZE 20 +# define TLS_MD_CLIENT_FINISH_CONST "client finished" +# define TLS_MD_CLIENT_FINISH_CONST_SIZE 15 +# define TLS_MD_SERVER_FINISH_CONST "server finished" +# define TLS_MD_SERVER_FINISH_CONST_SIZE 15 +# define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" +# define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_KEY_EXPANSION_CONST "key expansion" +# define TLS_MD_KEY_EXPANSION_CONST_SIZE 13 +# define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key" +# define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" +# define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_IV_BLOCK_CONST "IV block" +# define TLS_MD_IV_BLOCK_CONST_SIZE 8 +# define TLS_MD_MASTER_SECRET_CONST "master secret" +# define TLS_MD_MASTER_SECRET_CONST_SIZE 13 + +# ifdef CHARSET_EBCDIC +# undef TLS_MD_CLIENT_FINISH_CONST +/* + * client finished + */ +# define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64" + +# undef TLS_MD_SERVER_FINISH_CONST +/* + * server finished + */ +# define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64" + +# undef TLS_MD_SERVER_WRITE_KEY_CONST +/* + * server write key + */ +# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_KEY_EXPANSION_CONST +/* + * key expansion + */ +# define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e" + +# undef TLS_MD_CLIENT_WRITE_KEY_CONST +/* + * client write key + */ +# define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_SERVER_WRITE_KEY_CONST +/* + * server write key + */ +# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_IV_BLOCK_CONST +/* + * IV block + */ +# define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b" + +# undef TLS_MD_MASTER_SECRET_CONST +/* + * master secret + */ +# define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" +# endif + +/* TLS Session Ticket extension struct */ +struct tls_session_ticket_ext_st { + unsigned short length; + void *data; +}; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ts.h b/3rdparty/openssl/include/openssl/ts.h new file mode 100644 index 0000000..2daa1b2 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ts.h @@ -0,0 +1,865 @@ +/* crypto/ts/ts.h */ +/* + * Written by Zoltan Glozik (zglozik@opentsa.org) for the OpenSSL project + * 2002, 2003, 2004. + */ +/* ==================================================================== + * Copyright (c) 2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_TS_H +# define HEADER_TS_H + +# include +# include +# ifndef OPENSSL_NO_BUFFER +# include +# endif +# ifndef OPENSSL_NO_EVP +# include +# endif +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include +# include + +# ifndef OPENSSL_NO_RSA +# include +# endif + +# ifndef OPENSSL_NO_DSA +# include +# endif + +# ifndef OPENSSL_NO_DH +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef WIN32 +/* Under Win32 this is defined in wincrypt.h */ +# undef X509_NAME +# endif + +# include +# include + +/*- +MessageImprint ::= SEQUENCE { + hashAlgorithm AlgorithmIdentifier, + hashedMessage OCTET STRING } +*/ + +typedef struct TS_msg_imprint_st { + X509_ALGOR *hash_algo; + ASN1_OCTET_STRING *hashed_msg; +} TS_MSG_IMPRINT; + +/*- +TimeStampReq ::= SEQUENCE { + version INTEGER { v1(1) }, + messageImprint MessageImprint, + --a hash algorithm OID and the hash value of the data to be + --time-stamped + reqPolicy TSAPolicyId OPTIONAL, + nonce INTEGER OPTIONAL, + certReq BOOLEAN DEFAULT FALSE, + extensions [0] IMPLICIT Extensions OPTIONAL } +*/ + +typedef struct TS_req_st { + ASN1_INTEGER *version; + TS_MSG_IMPRINT *msg_imprint; + ASN1_OBJECT *policy_id; /* OPTIONAL */ + ASN1_INTEGER *nonce; /* OPTIONAL */ + ASN1_BOOLEAN cert_req; /* DEFAULT FALSE */ + STACK_OF(X509_EXTENSION) *extensions; /* [0] OPTIONAL */ +} TS_REQ; + +/*- +Accuracy ::= SEQUENCE { + seconds INTEGER OPTIONAL, + millis [0] INTEGER (1..999) OPTIONAL, + micros [1] INTEGER (1..999) OPTIONAL } +*/ + +typedef struct TS_accuracy_st { + ASN1_INTEGER *seconds; + ASN1_INTEGER *millis; + ASN1_INTEGER *micros; +} TS_ACCURACY; + +/*- +TSTInfo ::= SEQUENCE { + version INTEGER { v1(1) }, + policy TSAPolicyId, + messageImprint MessageImprint, + -- MUST have the same value as the similar field in + -- TimeStampReq + serialNumber INTEGER, + -- Time-Stamping users MUST be ready to accommodate integers + -- up to 160 bits. + genTime GeneralizedTime, + accuracy Accuracy OPTIONAL, + ordering BOOLEAN DEFAULT FALSE, + nonce INTEGER OPTIONAL, + -- MUST be present if the similar field was present + -- in TimeStampReq. In that case it MUST have the same value. + tsa [0] GeneralName OPTIONAL, + extensions [1] IMPLICIT Extensions OPTIONAL } +*/ + +typedef struct TS_tst_info_st { + ASN1_INTEGER *version; + ASN1_OBJECT *policy_id; + TS_MSG_IMPRINT *msg_imprint; + ASN1_INTEGER *serial; + ASN1_GENERALIZEDTIME *time; + TS_ACCURACY *accuracy; + ASN1_BOOLEAN ordering; + ASN1_INTEGER *nonce; + GENERAL_NAME *tsa; + STACK_OF(X509_EXTENSION) *extensions; +} TS_TST_INFO; + +/*- +PKIStatusInfo ::= SEQUENCE { + status PKIStatus, + statusString PKIFreeText OPTIONAL, + failInfo PKIFailureInfo OPTIONAL } + +From RFC 1510 - section 3.1.1: +PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String + -- text encoded as UTF-8 String (note: each UTF8String SHOULD + -- include an RFC 1766 language tag to indicate the language + -- of the contained text) +*/ + +/* Possible values for status. See ts_resp_print.c && ts_resp_verify.c. */ + +# define TS_STATUS_GRANTED 0 +# define TS_STATUS_GRANTED_WITH_MODS 1 +# define TS_STATUS_REJECTION 2 +# define TS_STATUS_WAITING 3 +# define TS_STATUS_REVOCATION_WARNING 4 +# define TS_STATUS_REVOCATION_NOTIFICATION 5 + +/* + * Possible values for failure_info. See ts_resp_print.c && ts_resp_verify.c + */ + +# define TS_INFO_BAD_ALG 0 +# define TS_INFO_BAD_REQUEST 2 +# define TS_INFO_BAD_DATA_FORMAT 5 +# define TS_INFO_TIME_NOT_AVAILABLE 14 +# define TS_INFO_UNACCEPTED_POLICY 15 +# define TS_INFO_UNACCEPTED_EXTENSION 16 +# define TS_INFO_ADD_INFO_NOT_AVAILABLE 17 +# define TS_INFO_SYSTEM_FAILURE 25 + +typedef struct TS_status_info_st { + ASN1_INTEGER *status; + STACK_OF(ASN1_UTF8STRING) *text; + ASN1_BIT_STRING *failure_info; +} TS_STATUS_INFO; + +DECLARE_STACK_OF(ASN1_UTF8STRING) +DECLARE_ASN1_SET_OF(ASN1_UTF8STRING) + +/*- +TimeStampResp ::= SEQUENCE { + status PKIStatusInfo, + timeStampToken TimeStampToken OPTIONAL } +*/ + +typedef struct TS_resp_st { + TS_STATUS_INFO *status_info; + PKCS7 *token; + TS_TST_INFO *tst_info; +} TS_RESP; + +/* The structure below would belong to the ESS component. */ + +/*- +IssuerSerial ::= SEQUENCE { + issuer GeneralNames, + serialNumber CertificateSerialNumber + } +*/ + +typedef struct ESS_issuer_serial { + STACK_OF(GENERAL_NAME) *issuer; + ASN1_INTEGER *serial; +} ESS_ISSUER_SERIAL; + +/*- +ESSCertID ::= SEQUENCE { + certHash Hash, + issuerSerial IssuerSerial OPTIONAL +} +*/ + +typedef struct ESS_cert_id { + ASN1_OCTET_STRING *hash; /* Always SHA-1 digest. */ + ESS_ISSUER_SERIAL *issuer_serial; +} ESS_CERT_ID; + +DECLARE_STACK_OF(ESS_CERT_ID) +DECLARE_ASN1_SET_OF(ESS_CERT_ID) + +/*- +SigningCertificate ::= SEQUENCE { + certs SEQUENCE OF ESSCertID, + policies SEQUENCE OF PolicyInformation OPTIONAL +} +*/ + +typedef struct ESS_signing_cert { + STACK_OF(ESS_CERT_ID) *cert_ids; + STACK_OF(POLICYINFO) *policy_info; +} ESS_SIGNING_CERT; + +TS_REQ *TS_REQ_new(void); +void TS_REQ_free(TS_REQ *a); +int i2d_TS_REQ(const TS_REQ *a, unsigned char **pp); +TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length); + +TS_REQ *TS_REQ_dup(TS_REQ *a); + +TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); +int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a); +TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); +int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_new(void); +void TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **pp); +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, + const unsigned char **pp, long length); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a); + +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a); +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT *a); + +TS_RESP *TS_RESP_new(void); +void TS_RESP_free(TS_RESP *a); +int i2d_TS_RESP(const TS_RESP *a, unsigned char **pp); +TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length); +TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); +TS_RESP *TS_RESP_dup(TS_RESP *a); + +TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); +int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a); +TS_RESP *d2i_TS_RESP_bio(BIO *fp, TS_RESP **a); +int i2d_TS_RESP_bio(BIO *fp, TS_RESP *a); + +TS_STATUS_INFO *TS_STATUS_INFO_new(void); +void TS_STATUS_INFO_free(TS_STATUS_INFO *a); +int i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **pp); +TS_STATUS_INFO *d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, + const unsigned char **pp, long length); +TS_STATUS_INFO *TS_STATUS_INFO_dup(TS_STATUS_INFO *a); + +TS_TST_INFO *TS_TST_INFO_new(void); +void TS_TST_INFO_free(TS_TST_INFO *a); +int i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **pp); +TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp, + long length); +TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a); + +TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); +int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a); +TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO **a); +int i2d_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO *a); + +TS_ACCURACY *TS_ACCURACY_new(void); +void TS_ACCURACY_free(TS_ACCURACY *a); +int i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **pp); +TS_ACCURACY *d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **pp, + long length); +TS_ACCURACY *TS_ACCURACY_dup(TS_ACCURACY *a); + +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_new(void); +void ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a); +int i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **pp); +ESS_ISSUER_SERIAL *d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, + const unsigned char **pp, + long length); +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *a); + +ESS_CERT_ID *ESS_CERT_ID_new(void); +void ESS_CERT_ID_free(ESS_CERT_ID *a); +int i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **pp); +ESS_CERT_ID *d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **pp, + long length); +ESS_CERT_ID *ESS_CERT_ID_dup(ESS_CERT_ID *a); + +ESS_SIGNING_CERT *ESS_SIGNING_CERT_new(void); +void ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a); +int i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **pp); +ESS_SIGNING_CERT *d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, + const unsigned char **pp, long length); +ESS_SIGNING_CERT *ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *a); + +void ERR_load_TS_strings(void); + +int TS_REQ_set_version(TS_REQ *a, long version); +long TS_REQ_get_version(const TS_REQ *a); + +int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a); + +int TS_MSG_IMPRINT_set_algo(TS_MSG_IMPRINT *a, X509_ALGOR *alg); +X509_ALGOR *TS_MSG_IMPRINT_get_algo(TS_MSG_IMPRINT *a); + +int TS_MSG_IMPRINT_set_msg(TS_MSG_IMPRINT *a, unsigned char *d, int len); +ASN1_OCTET_STRING *TS_MSG_IMPRINT_get_msg(TS_MSG_IMPRINT *a); + +int TS_REQ_set_policy_id(TS_REQ *a, ASN1_OBJECT *policy); +ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a); + +int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a); + +int TS_REQ_set_cert_req(TS_REQ *a, int cert_req); +int TS_REQ_get_cert_req(const TS_REQ *a); + +STACK_OF(X509_EXTENSION) *TS_REQ_get_exts(TS_REQ *a); +void TS_REQ_ext_free(TS_REQ *a); +int TS_REQ_get_ext_count(TS_REQ *a); +int TS_REQ_get_ext_by_NID(TS_REQ *a, int nid, int lastpos); +int TS_REQ_get_ext_by_OBJ(TS_REQ *a, ASN1_OBJECT *obj, int lastpos); +int TS_REQ_get_ext_by_critical(TS_REQ *a, int crit, int lastpos); +X509_EXTENSION *TS_REQ_get_ext(TS_REQ *a, int loc); +X509_EXTENSION *TS_REQ_delete_ext(TS_REQ *a, int loc); +int TS_REQ_add_ext(TS_REQ *a, X509_EXTENSION *ex, int loc); +void *TS_REQ_get_ext_d2i(TS_REQ *a, int nid, int *crit, int *idx); + +/* Function declarations for TS_REQ defined in ts/ts_req_print.c */ + +int TS_REQ_print_bio(BIO *bio, TS_REQ *a); + +/* Function declarations for TS_RESP defined in ts/ts_resp_utils.c */ + +int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *info); +TS_STATUS_INFO *TS_RESP_get_status_info(TS_RESP *a); + +/* Caller loses ownership of PKCS7 and TS_TST_INFO objects. */ +void TS_RESP_set_tst_info(TS_RESP *a, PKCS7 *p7, TS_TST_INFO *tst_info); +PKCS7 *TS_RESP_get_token(TS_RESP *a); +TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a); + +int TS_TST_INFO_set_version(TS_TST_INFO *a, long version); +long TS_TST_INFO_get_version(const TS_TST_INFO *a); + +int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy_id); +ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a); + +int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a); + +int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial); +const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a); + +int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME *gtime); +const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a); + +int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy); +TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a); + +int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds); +const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a); + +int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis); +const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a); + +int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros); +const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a); + +int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering); +int TS_TST_INFO_get_ordering(const TS_TST_INFO *a); + +int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a); + +int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa); +GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a); + +STACK_OF(X509_EXTENSION) *TS_TST_INFO_get_exts(TS_TST_INFO *a); +void TS_TST_INFO_ext_free(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_count(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_by_NID(TS_TST_INFO *a, int nid, int lastpos); +int TS_TST_INFO_get_ext_by_OBJ(TS_TST_INFO *a, ASN1_OBJECT *obj, int lastpos); +int TS_TST_INFO_get_ext_by_critical(TS_TST_INFO *a, int crit, int lastpos); +X509_EXTENSION *TS_TST_INFO_get_ext(TS_TST_INFO *a, int loc); +X509_EXTENSION *TS_TST_INFO_delete_ext(TS_TST_INFO *a, int loc); +int TS_TST_INFO_add_ext(TS_TST_INFO *a, X509_EXTENSION *ex, int loc); +void *TS_TST_INFO_get_ext_d2i(TS_TST_INFO *a, int nid, int *crit, int *idx); + +/* + * Declarations related to response generation, defined in ts/ts_resp_sign.c. + */ + +/* Optional flags for response generation. */ + +/* Don't include the TSA name in response. */ +# define TS_TSA_NAME 0x01 + +/* Set ordering to true in response. */ +# define TS_ORDERING 0x02 + +/* + * Include the signer certificate and the other specified certificates in + * the ESS signing certificate attribute beside the PKCS7 signed data. + * Only the signer certificates is included by default. + */ +# define TS_ESS_CERT_ID_CHAIN 0x04 + +/* Forward declaration. */ +struct TS_resp_ctx; + +/* This must return a unique number less than 160 bits long. */ +typedef ASN1_INTEGER *(*TS_serial_cb) (struct TS_resp_ctx *, void *); + +/* + * This must return the seconds and microseconds since Jan 1, 1970 in the sec + * and usec variables allocated by the caller. Return non-zero for success + * and zero for failure. + */ +typedef int (*TS_time_cb) (struct TS_resp_ctx *, void *, long *sec, + long *usec); + +/* + * This must process the given extension. It can modify the TS_TST_INFO + * object of the context. Return values: !0 (processed), 0 (error, it must + * set the status info/failure info of the response). + */ +typedef int (*TS_extension_cb) (struct TS_resp_ctx *, X509_EXTENSION *, + void *); + +typedef struct TS_resp_ctx { + X509 *signer_cert; + EVP_PKEY *signer_key; + STACK_OF(X509) *certs; /* Certs to include in signed data. */ + STACK_OF(ASN1_OBJECT) *policies; /* Acceptable policies. */ + ASN1_OBJECT *default_policy; /* It may appear in policies, too. */ + STACK_OF(EVP_MD) *mds; /* Acceptable message digests. */ + ASN1_INTEGER *seconds; /* accuracy, 0 means not specified. */ + ASN1_INTEGER *millis; /* accuracy, 0 means not specified. */ + ASN1_INTEGER *micros; /* accuracy, 0 means not specified. */ + unsigned clock_precision_digits; /* fraction of seconds in time stamp + * token. */ + unsigned flags; /* Optional info, see values above. */ + /* Callback functions. */ + TS_serial_cb serial_cb; + void *serial_cb_data; /* User data for serial_cb. */ + TS_time_cb time_cb; + void *time_cb_data; /* User data for time_cb. */ + TS_extension_cb extension_cb; + void *extension_cb_data; /* User data for extension_cb. */ + /* These members are used only while creating the response. */ + TS_REQ *request; + TS_RESP *response; + TS_TST_INFO *tst_info; +} TS_RESP_CTX; + +DECLARE_STACK_OF(EVP_MD) +DECLARE_ASN1_SET_OF(EVP_MD) + +/* Creates a response context that can be used for generating responses. */ +TS_RESP_CTX *TS_RESP_CTX_new(void); +void TS_RESP_CTX_free(TS_RESP_CTX *ctx); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_cert(TS_RESP_CTX *ctx, X509 *signer); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_key(TS_RESP_CTX *ctx, EVP_PKEY *key); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, ASN1_OBJECT *def_policy); + +/* No additional certs are included in the response by default. */ +int TS_RESP_CTX_set_certs(TS_RESP_CTX *ctx, STACK_OF(X509) *certs); + +/* + * Adds a new acceptable policy, only the default policy is accepted by + * default. + */ +int TS_RESP_CTX_add_policy(TS_RESP_CTX *ctx, ASN1_OBJECT *policy); + +/* + * Adds a new acceptable message digest. Note that no message digests are + * accepted by default. The md argument is shared with the caller. + */ +int TS_RESP_CTX_add_md(TS_RESP_CTX *ctx, const EVP_MD *md); + +/* Accuracy is not included by default. */ +int TS_RESP_CTX_set_accuracy(TS_RESP_CTX *ctx, + int secs, int millis, int micros); + +/* + * Clock precision digits, i.e. the number of decimal digits: '0' means sec, + * '3' msec, '6' usec, and so on. Default is 0. + */ +int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx, + unsigned clock_precision_digits); +/* At most we accept usec precision. */ +# define TS_MAX_CLOCK_PRECISION_DIGITS 6 + +/* Maximum status message length */ +# define TS_MAX_STATUS_LENGTH (1024 * 1024) + +/* No flags are set by default. */ +void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags); + +/* Default callback always returns a constant. */ +void TS_RESP_CTX_set_serial_cb(TS_RESP_CTX *ctx, TS_serial_cb cb, void *data); + +/* Default callback uses the gettimeofday() and gmtime() system calls. */ +void TS_RESP_CTX_set_time_cb(TS_RESP_CTX *ctx, TS_time_cb cb, void *data); + +/* + * Default callback rejects all extensions. The extension callback is called + * when the TS_TST_INFO object is already set up and not signed yet. + */ +/* FIXME: extension handling is not tested yet. */ +void TS_RESP_CTX_set_extension_cb(TS_RESP_CTX *ctx, + TS_extension_cb cb, void *data); + +/* The following methods can be used in the callbacks. */ +int TS_RESP_CTX_set_status_info(TS_RESP_CTX *ctx, + int status, const char *text); + +/* Sets the status info only if it is still TS_STATUS_GRANTED. */ +int TS_RESP_CTX_set_status_info_cond(TS_RESP_CTX *ctx, + int status, const char *text); + +int TS_RESP_CTX_add_failure_info(TS_RESP_CTX *ctx, int failure); + +/* The get methods below can be used in the extension callback. */ +TS_REQ *TS_RESP_CTX_get_request(TS_RESP_CTX *ctx); + +TS_TST_INFO *TS_RESP_CTX_get_tst_info(TS_RESP_CTX *ctx); + +/* + * Creates the signed TS_TST_INFO and puts it in TS_RESP. + * In case of errors it sets the status info properly. + * Returns NULL only in case of memory allocation/fatal error. + */ +TS_RESP *TS_RESP_create_response(TS_RESP_CTX *ctx, BIO *req_bio); + +/* + * Declarations related to response verification, + * they are defined in ts/ts_resp_verify.c. + */ + +int TS_RESP_verify_signature(PKCS7 *token, STACK_OF(X509) *certs, + X509_STORE *store, X509 **signer_out); + +/* Context structure for the generic verify method. */ + +/* Verify the signer's certificate and the signature of the response. */ +# define TS_VFY_SIGNATURE (1u << 0) +/* Verify the version number of the response. */ +# define TS_VFY_VERSION (1u << 1) +/* Verify if the policy supplied by the user matches the policy of the TSA. */ +# define TS_VFY_POLICY (1u << 2) +/* + * Verify the message imprint provided by the user. This flag should not be + * specified with TS_VFY_DATA. + */ +# define TS_VFY_IMPRINT (1u << 3) +/* + * Verify the message imprint computed by the verify method from the user + * provided data and the MD algorithm of the response. This flag should not + * be specified with TS_VFY_IMPRINT. + */ +# define TS_VFY_DATA (1u << 4) +/* Verify the nonce value. */ +# define TS_VFY_NONCE (1u << 5) +/* Verify if the TSA name field matches the signer certificate. */ +# define TS_VFY_SIGNER (1u << 6) +/* Verify if the TSA name field equals to the user provided name. */ +# define TS_VFY_TSA_NAME (1u << 7) + +/* You can use the following convenience constants. */ +# define TS_VFY_ALL_IMPRINT (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_IMPRINT \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) +# define TS_VFY_ALL_DATA (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_DATA \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) + +typedef struct TS_verify_ctx { + /* Set this to the union of TS_VFY_... flags you want to carry out. */ + unsigned flags; + /* Must be set only with TS_VFY_SIGNATURE. certs is optional. */ + X509_STORE *store; + STACK_OF(X509) *certs; + /* Must be set only with TS_VFY_POLICY. */ + ASN1_OBJECT *policy; + /* + * Must be set only with TS_VFY_IMPRINT. If md_alg is NULL, the + * algorithm from the response is used. + */ + X509_ALGOR *md_alg; + unsigned char *imprint; + unsigned imprint_len; + /* Must be set only with TS_VFY_DATA. */ + BIO *data; + /* Must be set only with TS_VFY_TSA_NAME. */ + ASN1_INTEGER *nonce; + /* Must be set only with TS_VFY_TSA_NAME. */ + GENERAL_NAME *tsa_name; +} TS_VERIFY_CTX; + +int TS_RESP_verify_response(TS_VERIFY_CTX *ctx, TS_RESP *response); +int TS_RESP_verify_token(TS_VERIFY_CTX *ctx, PKCS7 *token); + +/* + * Declarations related to response verification context, + * they are defined in ts/ts_verify_ctx.c. + */ + +/* Set all fields to zero. */ +TS_VERIFY_CTX *TS_VERIFY_CTX_new(void); +void TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx); +void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx); +void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx); + +/*- + * If ctx is NULL, it allocates and returns a new object, otherwise + * it returns ctx. It initialises all the members as follows: + * flags = TS_VFY_ALL_IMPRINT & ~(TS_VFY_TSA_NAME | TS_VFY_SIGNATURE) + * certs = NULL + * store = NULL + * policy = policy from the request or NULL if absent (in this case + * TS_VFY_POLICY is cleared from flags as well) + * md_alg = MD algorithm from request + * imprint, imprint_len = imprint from request + * data = NULL + * nonce, nonce_len = nonce from the request or NULL if absent (in this case + * TS_VFY_NONCE is cleared from flags as well) + * tsa_name = NULL + * Important: after calling this method TS_VFY_SIGNATURE should be added! + */ +TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx); + +/* Function declarations for TS_RESP defined in ts/ts_resp_print.c */ + +int TS_RESP_print_bio(BIO *bio, TS_RESP *a); +int TS_STATUS_INFO_print_bio(BIO *bio, TS_STATUS_INFO *a); +int TS_TST_INFO_print_bio(BIO *bio, TS_TST_INFO *a); + +/* Common utility functions defined in ts/ts_lib.c */ + +int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num); +int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj); +int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions); +int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg); +int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *msg); + +/* + * Function declarations for handling configuration options, defined in + * ts/ts_conf.c + */ + +X509 *TS_CONF_load_cert(const char *file); +STACK_OF(X509) *TS_CONF_load_certs(const char *file); +EVP_PKEY *TS_CONF_load_key(const char *file, const char *pass); +const char *TS_CONF_get_tsa_section(CONF *conf, const char *section); +int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb cb, + TS_RESP_CTX *ctx); +int TS_CONF_set_crypto_device(CONF *conf, const char *section, + const char *device); +int TS_CONF_set_default_engine(const char *name); +int TS_CONF_set_signer_cert(CONF *conf, const char *section, + const char *cert, TS_RESP_CTX *ctx); +int TS_CONF_set_certs(CONF *conf, const char *section, const char *certs, + TS_RESP_CTX *ctx); +int TS_CONF_set_signer_key(CONF *conf, const char *section, + const char *key, const char *pass, + TS_RESP_CTX *ctx); +int TS_CONF_set_def_policy(CONF *conf, const char *section, + const char *policy, TS_RESP_CTX *ctx); +int TS_CONF_set_policies(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_digests(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_accuracy(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_clock_precision_digits(CONF *conf, const char *section, + TS_RESP_CTX *ctx); +int TS_CONF_set_ordering(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_tsa_name(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_ess_cert_id_chain(CONF *conf, const char *section, + TS_RESP_CTX *ctx); + +/* -------------------------------------------------- */ +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_TS_strings(void); + +/* Error codes for the TS functions. */ + +/* Function codes. */ +# define TS_F_D2I_TS_RESP 147 +# define TS_F_DEF_SERIAL_CB 110 +# define TS_F_DEF_TIME_CB 111 +# define TS_F_ESS_ADD_SIGNING_CERT 112 +# define TS_F_ESS_CERT_ID_NEW_INIT 113 +# define TS_F_ESS_SIGNING_CERT_NEW_INIT 114 +# define TS_F_INT_TS_RESP_VERIFY_TOKEN 149 +# define TS_F_PKCS7_TO_TS_TST_INFO 148 +# define TS_F_TS_ACCURACY_SET_MICROS 115 +# define TS_F_TS_ACCURACY_SET_MILLIS 116 +# define TS_F_TS_ACCURACY_SET_SECONDS 117 +# define TS_F_TS_CHECK_IMPRINTS 100 +# define TS_F_TS_CHECK_NONCES 101 +# define TS_F_TS_CHECK_POLICY 102 +# define TS_F_TS_CHECK_SIGNING_CERTS 103 +# define TS_F_TS_CHECK_STATUS_INFO 104 +# define TS_F_TS_COMPUTE_IMPRINT 145 +# define TS_F_TS_CONF_SET_DEFAULT_ENGINE 146 +# define TS_F_TS_GET_STATUS_TEXT 105 +# define TS_F_TS_MSG_IMPRINT_SET_ALGO 118 +# define TS_F_TS_REQ_SET_MSG_IMPRINT 119 +# define TS_F_TS_REQ_SET_NONCE 120 +# define TS_F_TS_REQ_SET_POLICY_ID 121 +# define TS_F_TS_RESP_CREATE_RESPONSE 122 +# define TS_F_TS_RESP_CREATE_TST_INFO 123 +# define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO 124 +# define TS_F_TS_RESP_CTX_ADD_MD 125 +# define TS_F_TS_RESP_CTX_ADD_POLICY 126 +# define TS_F_TS_RESP_CTX_NEW 127 +# define TS_F_TS_RESP_CTX_SET_ACCURACY 128 +# define TS_F_TS_RESP_CTX_SET_CERTS 129 +# define TS_F_TS_RESP_CTX_SET_DEF_POLICY 130 +# define TS_F_TS_RESP_CTX_SET_SIGNER_CERT 131 +# define TS_F_TS_RESP_CTX_SET_STATUS_INFO 132 +# define TS_F_TS_RESP_GET_POLICY 133 +# define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION 134 +# define TS_F_TS_RESP_SET_STATUS_INFO 135 +# define TS_F_TS_RESP_SET_TST_INFO 150 +# define TS_F_TS_RESP_SIGN 136 +# define TS_F_TS_RESP_VERIFY_SIGNATURE 106 +# define TS_F_TS_RESP_VERIFY_TOKEN 107 +# define TS_F_TS_TST_INFO_SET_ACCURACY 137 +# define TS_F_TS_TST_INFO_SET_MSG_IMPRINT 138 +# define TS_F_TS_TST_INFO_SET_NONCE 139 +# define TS_F_TS_TST_INFO_SET_POLICY_ID 140 +# define TS_F_TS_TST_INFO_SET_SERIAL 141 +# define TS_F_TS_TST_INFO_SET_TIME 142 +# define TS_F_TS_TST_INFO_SET_TSA 143 +# define TS_F_TS_VERIFY 108 +# define TS_F_TS_VERIFY_CERT 109 +# define TS_F_TS_VERIFY_CTX_NEW 144 + +/* Reason codes. */ +# define TS_R_BAD_PKCS7_TYPE 132 +# define TS_R_BAD_TYPE 133 +# define TS_R_CERTIFICATE_VERIFY_ERROR 100 +# define TS_R_COULD_NOT_SET_ENGINE 127 +# define TS_R_COULD_NOT_SET_TIME 115 +# define TS_R_D2I_TS_RESP_INT_FAILED 128 +# define TS_R_DETACHED_CONTENT 134 +# define TS_R_ESS_ADD_SIGNING_CERT_ERROR 116 +# define TS_R_ESS_SIGNING_CERTIFICATE_ERROR 101 +# define TS_R_INVALID_NULL_POINTER 102 +# define TS_R_INVALID_SIGNER_CERTIFICATE_PURPOSE 117 +# define TS_R_MESSAGE_IMPRINT_MISMATCH 103 +# define TS_R_NONCE_MISMATCH 104 +# define TS_R_NONCE_NOT_RETURNED 105 +# define TS_R_NO_CONTENT 106 +# define TS_R_NO_TIME_STAMP_TOKEN 107 +# define TS_R_PKCS7_ADD_SIGNATURE_ERROR 118 +# define TS_R_PKCS7_ADD_SIGNED_ATTR_ERROR 119 +# define TS_R_PKCS7_TO_TS_TST_INFO_FAILED 129 +# define TS_R_POLICY_MISMATCH 108 +# define TS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 120 +# define TS_R_RESPONSE_SETUP_ERROR 121 +# define TS_R_SIGNATURE_FAILURE 109 +# define TS_R_THERE_MUST_BE_ONE_SIGNER 110 +# define TS_R_TIME_SYSCALL_ERROR 122 +# define TS_R_TOKEN_NOT_PRESENT 130 +# define TS_R_TOKEN_PRESENT 131 +# define TS_R_TSA_NAME_MISMATCH 111 +# define TS_R_TSA_UNTRUSTED 112 +# define TS_R_TST_INFO_SETUP_ERROR 123 +# define TS_R_TS_DATASIGN 124 +# define TS_R_UNACCEPTABLE_POLICY 125 +# define TS_R_UNSUPPORTED_MD_ALGORITHM 126 +# define TS_R_UNSUPPORTED_VERSION 113 +# define TS_R_WRONG_CONTENT_TYPE 114 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/txt_db.h b/3rdparty/openssl/include/openssl/txt_db.h new file mode 100644 index 0000000..98e23a2 --- /dev/null +++ b/3rdparty/openssl/include/openssl/txt_db.h @@ -0,0 +1,112 @@ +/* crypto/txt_db/txt_db.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_TXT_DB_H +# define HEADER_TXT_DB_H + +# include +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include + +# define DB_ERROR_OK 0 +# define DB_ERROR_MALLOC 1 +# define DB_ERROR_INDEX_CLASH 2 +# define DB_ERROR_INDEX_OUT_OF_RANGE 3 +# define DB_ERROR_NO_INDEX 4 +# define DB_ERROR_INSERT_INDEX_CLASH 5 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OPENSSL_STRING *OPENSSL_PSTRING; +DECLARE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) + +typedef struct txt_db_st { + int num_fields; + STACK_OF(OPENSSL_PSTRING) *data; + LHASH_OF(OPENSSL_STRING) **index; + int (**qual) (OPENSSL_STRING *); + long error; + long arg1; + long arg2; + OPENSSL_STRING *arg_row; +} TXT_DB; + +# ifndef OPENSSL_NO_BIO +TXT_DB *TXT_DB_read(BIO *in, int num); +long TXT_DB_write(BIO *out, TXT_DB *db); +# else +TXT_DB *TXT_DB_read(char *in, int num); +long TXT_DB_write(char *out, TXT_DB *db); +# endif +int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING *), + LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp); +void TXT_DB_free(TXT_DB *db); +OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, + OPENSSL_STRING *value); +int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/ui.h b/3rdparty/openssl/include/openssl/ui.h new file mode 100644 index 0000000..0dc1633 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ui.h @@ -0,0 +1,415 @@ +/* crypto/ui/ui.h */ +/* + * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project + * 2001. + */ +/* ==================================================================== + * Copyright (c) 2001 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_UI_H +# define HEADER_UI_H + +# ifndef OPENSSL_NO_DEPRECATED +# include +# endif +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Declared already in ossl_typ.h */ +/* typedef struct ui_st UI; */ +/* typedef struct ui_method_st UI_METHOD; */ + +/* + * All the following functions return -1 or NULL on error and in some cases + * (UI_process()) -2 if interrupted or in some other way cancelled. When + * everything is fine, they return 0, a positive value or a non-NULL pointer, + * all depending on their purpose. + */ + +/* Creators and destructor. */ +UI *UI_new(void); +UI *UI_new_method(const UI_METHOD *method); +void UI_free(UI *ui); + +/*- + The following functions are used to add strings to be printed and prompt + strings to prompt for data. The names are UI_{add,dup}__string + and UI_{add,dup}_input_boolean. + + UI_{add,dup}__string have the following meanings: + add add a text or prompt string. The pointers given to these + functions are used verbatim, no copying is done. + dup make a copy of the text or prompt string, then add the copy + to the collection of strings in the user interface. + + The function is a name for the functionality that the given + string shall be used for. It can be one of: + input use the string as data prompt. + verify use the string as verification prompt. This + is used to verify a previous input. + info use the string for informational output. + error use the string for error output. + Honestly, there's currently no difference between info and error for the + moment. + + UI_{add,dup}_input_boolean have the same semantics for "add" and "dup", + and are typically used when one wants to prompt for a yes/no response. + + All of the functions in this group take a UI and a prompt string. + The string input and verify addition functions also take a flag argument, + a buffer for the result to end up with, a minimum input size and a maximum + input size (the result buffer MUST be large enough to be able to contain + the maximum number of characters). Additionally, the verify addition + functions takes another buffer to compare the result against. + The boolean input functions take an action description string (which should + be safe to ignore if the expected user action is obvious, for example with + a dialog box with an OK button and a Cancel button), a string of acceptable + characters to mean OK and to mean Cancel. The two last strings are checked + to make sure they don't have common characters. Additionally, the same + flag argument as for the string input is taken, as well as a result buffer. + The result buffer is required to be at least one byte long. Depending on + the answer, the first character from the OK or the Cancel character strings + will be stored in the first byte of the result buffer. No NUL will be + added, so the result is *not* a string. + + On success, the all return an index of the added information. That index + is usefull when retrieving results with UI_get0_result(). */ +int UI_add_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_dup_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_add_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_dup_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_add_info_string(UI *ui, const char *text); +int UI_dup_info_string(UI *ui, const char *text); +int UI_add_error_string(UI *ui, const char *text); +int UI_dup_error_string(UI *ui, const char *text); + +/* These are the possible flags. They can be or'ed together. */ +/* Use to have echoing of input */ +# define UI_INPUT_FLAG_ECHO 0x01 +/* + * Use a default password. Where that password is found is completely up to + * the application, it might for example be in the user data set with + * UI_add_user_data(). It is not recommended to have more than one input in + * each UI being marked with this flag, or the application might get + * confused. + */ +# define UI_INPUT_FLAG_DEFAULT_PWD 0x02 + +/*- + * The user of these routines may want to define flags of their own. The core + * UI won't look at those, but will pass them on to the method routines. They + * must use higher bits so they don't get confused with the UI bits above. + * UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use. A good + * example of use is this: + * + * #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE) + * +*/ +# define UI_INPUT_FLAG_USER_BASE 16 + +/*- + * The following function helps construct a prompt. object_desc is a + * textual short description of the object, for example "pass phrase", + * and object_name is the name of the object (might be a card name or + * a file name. + * The returned string shall always be allocated on the heap with + * OPENSSL_malloc(), and need to be free'd with OPENSSL_free(). + * + * If the ui_method doesn't contain a pointer to a user-defined prompt + * constructor, a default string is built, looking like this: + * + * "Enter {object_desc} for {object_name}:" + * + * So, if object_desc has the value "pass phrase" and object_name has + * the value "foo.key", the resulting string is: + * + * "Enter pass phrase for foo.key:" +*/ +char *UI_construct_prompt(UI *ui_method, + const char *object_desc, const char *object_name); + +/* + * The following function is used to store a pointer to user-specific data. + * Any previous such pointer will be returned and replaced. + * + * For callback purposes, this function makes a lot more sense than using + * ex_data, since the latter requires that different parts of OpenSSL or + * applications share the same ex_data index. + * + * Note that the UI_OpenSSL() method completely ignores the user data. Other + * methods may not, however. + */ +void *UI_add_user_data(UI *ui, void *user_data); +/* We need a user data retrieving function as well. */ +void *UI_get0_user_data(UI *ui); + +/* Return the result associated with a prompt given with the index i. */ +const char *UI_get0_result(UI *ui, int i); + +/* When all strings have been added, process the whole thing. */ +int UI_process(UI *ui); + +/* + * Give a user interface parametrised control commands. This can be used to + * send down an integer, a data pointer or a function pointer, as well as be + * used to get information from a UI. + */ +int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void)); + +/* The commands */ +/* + * Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the + * OpenSSL error stack before printing any info or added error messages and + * before any prompting. + */ +# define UI_CTRL_PRINT_ERRORS 1 +/* + * Check if a UI_process() is possible to do again with the same instance of + * a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0 + * if not. + */ +# define UI_CTRL_IS_REDOABLE 2 + +/* Some methods may use extra data */ +# define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg) +# define UI_get_app_data(s) UI_get_ex_data(s,0) +int UI_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int UI_set_ex_data(UI *r, int idx, void *arg); +void *UI_get_ex_data(UI *r, int idx); + +/* Use specific methods instead of the built-in one */ +void UI_set_default_method(const UI_METHOD *meth); +const UI_METHOD *UI_get_default_method(void); +const UI_METHOD *UI_get_method(UI *ui); +const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); + +/* The method with all the built-in thingies */ +UI_METHOD *UI_OpenSSL(void); + +/* ---------- For method writers ---------- */ +/*- + A method contains a number of functions that implement the low level + of the User Interface. The functions are: + + an opener This function starts a session, maybe by opening + a channel to a tty, or by opening a window. + a writer This function is called to write a given string, + maybe to the tty, maybe as a field label in a + window. + a flusher This function is called to flush everything that + has been output so far. It can be used to actually + display a dialog box after it has been built. + a reader This function is called to read a given prompt, + maybe from the tty, maybe from a field in a + window. Note that it's called wth all string + structures, not only the prompt ones, so it must + check such things itself. + a closer This function closes the session, maybe by closing + the channel to the tty, or closing the window. + + All these functions are expected to return: + + 0 on error. + 1 on success. + -1 on out-of-band events, for example if some prompting has + been canceled (by pressing Ctrl-C, for example). This is + only checked when returned by the flusher or the reader. + + The way this is used, the opener is first called, then the writer for all + strings, then the flusher, then the reader for all strings and finally the + closer. Note that if you want to prompt from a terminal or other command + line interface, the best is to have the reader also write the prompts + instead of having the writer do it. If you want to prompt from a dialog + box, the writer can be used to build up the contents of the box, and the + flusher to actually display the box and run the event loop until all data + has been given, after which the reader only grabs the given data and puts + them back into the UI strings. + + All method functions take a UI as argument. Additionally, the writer and + the reader take a UI_STRING. +*/ + +/* + * The UI_STRING type is the data structure that contains all the needed info + * about a string or a prompt, including test data for a verification prompt. + */ +typedef struct ui_string_st UI_STRING; +DECLARE_STACK_OF(UI_STRING) + +/* + * The different types of strings that are currently supported. This is only + * needed by method authors. + */ +enum UI_string_types { + UIT_NONE = 0, + UIT_PROMPT, /* Prompt for a string */ + UIT_VERIFY, /* Prompt for a string and verify */ + UIT_BOOLEAN, /* Prompt for a yes/no response */ + UIT_INFO, /* Send info to the user */ + UIT_ERROR /* Send an error message to the user */ +}; + +/* Create and manipulate methods */ +UI_METHOD *UI_create_method(char *name); +void UI_destroy_method(UI_METHOD *ui_method); +int UI_method_set_opener(UI_METHOD *method, int (*opener) (UI *ui)); +int UI_method_set_writer(UI_METHOD *method, + int (*writer) (UI *ui, UI_STRING *uis)); +int UI_method_set_flusher(UI_METHOD *method, int (*flusher) (UI *ui)); +int UI_method_set_reader(UI_METHOD *method, + int (*reader) (UI *ui, UI_STRING *uis)); +int UI_method_set_closer(UI_METHOD *method, int (*closer) (UI *ui)); +int UI_method_set_prompt_constructor(UI_METHOD *method, + char *(*prompt_constructor) (UI *ui, + const char + *object_desc, + const char + *object_name)); +int (*UI_method_get_opener(UI_METHOD *method)) (UI *); +int (*UI_method_get_writer(UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_flusher(UI_METHOD *method)) (UI *); +int (*UI_method_get_reader(UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_closer(UI_METHOD *method)) (UI *); +char *(*UI_method_get_prompt_constructor(UI_METHOD *method)) (UI *, + const char *, + const char *); + +/* + * The following functions are helpers for method writers to access relevant + * data from a UI_STRING. + */ + +/* Return type of the UI_STRING */ +enum UI_string_types UI_get_string_type(UI_STRING *uis); +/* Return input flags of the UI_STRING */ +int UI_get_input_flags(UI_STRING *uis); +/* Return the actual string to output (the prompt, info or error) */ +const char *UI_get0_output_string(UI_STRING *uis); +/* + * Return the optional action string to output (the boolean promtp + * instruction) + */ +const char *UI_get0_action_string(UI_STRING *uis); +/* Return the result of a prompt */ +const char *UI_get0_result_string(UI_STRING *uis); +/* + * Return the string to test the result against. Only useful with verifies. + */ +const char *UI_get0_test_string(UI_STRING *uis); +/* Return the required minimum size of the result */ +int UI_get_result_minsize(UI_STRING *uis); +/* Return the required maximum size of the result */ +int UI_get_result_maxsize(UI_STRING *uis); +/* Set the result of a UI_STRING. */ +int UI_set_result(UI *ui, UI_STRING *uis, const char *result); + +/* A couple of popular utility functions */ +int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt, + int verify); +int UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt, + int verify); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_UI_strings(void); + +/* Error codes for the UI functions. */ + +/* Function codes. */ +# define UI_F_GENERAL_ALLOCATE_BOOLEAN 108 +# define UI_F_GENERAL_ALLOCATE_PROMPT 109 +# define UI_F_GENERAL_ALLOCATE_STRING 100 +# define UI_F_UI_CTRL 111 +# define UI_F_UI_DUP_ERROR_STRING 101 +# define UI_F_UI_DUP_INFO_STRING 102 +# define UI_F_UI_DUP_INPUT_BOOLEAN 110 +# define UI_F_UI_DUP_INPUT_STRING 103 +# define UI_F_UI_DUP_VERIFY_STRING 106 +# define UI_F_UI_GET0_RESULT 107 +# define UI_F_UI_NEW_METHOD 104 +# define UI_F_UI_SET_RESULT 105 + +/* Reason codes. */ +# define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104 +# define UI_R_INDEX_TOO_LARGE 102 +# define UI_R_INDEX_TOO_SMALL 103 +# define UI_R_NO_RESULT_BUFFER 105 +# define UI_R_RESULT_TOO_LARGE 100 +# define UI_R_RESULT_TOO_SMALL 101 +# define UI_R_UNKNOWN_CONTROL_COMMAND 106 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/ui_compat.h b/3rdparty/openssl/include/openssl/ui_compat.h new file mode 100644 index 0000000..bf54154 --- /dev/null +++ b/3rdparty/openssl/include/openssl/ui_compat.h @@ -0,0 +1,88 @@ +/* crypto/ui/ui.h */ +/* + * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project + * 2001. + */ +/* ==================================================================== + * Copyright (c) 2001 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_UI_COMPAT_H +# define HEADER_UI_COMPAT_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The following functions were previously part of the DES section, and are + * provided here for backward compatibility reasons. + */ + +# define des_read_pw_string(b,l,p,v) \ + _ossl_old_des_read_pw_string((b),(l),(p),(v)) +# define des_read_pw(b,bf,s,p,v) \ + _ossl_old_des_read_pw((b),(bf),(s),(p),(v)) + +int _ossl_old_des_read_pw_string(char *buf, int length, const char *prompt, + int verify); +int _ossl_old_des_read_pw(char *buf, char *buff, int size, const char *prompt, + int verify); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/whrlpool.h b/3rdparty/openssl/include/openssl/whrlpool.h new file mode 100644 index 0000000..73c749d --- /dev/null +++ b/3rdparty/openssl/include/openssl/whrlpool.h @@ -0,0 +1,41 @@ +#ifndef HEADER_WHRLPOOL_H +# define HEADER_WHRLPOOL_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define WHIRLPOOL_DIGEST_LENGTH (512/8) +# define WHIRLPOOL_BBLOCK 512 +# define WHIRLPOOL_COUNTER (256/8) + +typedef struct { + union { + unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; + /* double q is here to ensure 64-bit alignment */ + double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)]; + } H; + unsigned char data[WHIRLPOOL_BBLOCK / 8]; + unsigned int bitoff; + size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)]; +} WHIRLPOOL_CTX; + +# ifndef OPENSSL_NO_WHIRLPOOL +# ifdef OPENSSL_FIPS +int private_WHIRLPOOL_Init(WHIRLPOOL_CTX *c); +# endif +int WHIRLPOOL_Init(WHIRLPOOL_CTX *c); +int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *inp, size_t bytes); +void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, size_t bits); +int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c); +unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char *md); +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/openssl/include/openssl/x509.h b/3rdparty/openssl/include/openssl/x509.h new file mode 100644 index 0000000..6fa28eb --- /dev/null +++ b/3rdparty/openssl/include/openssl/x509.h @@ -0,0 +1,1330 @@ +/* crypto/x509/x509.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_X509_H +# define HEADER_X509_H + +# include +# include +# ifndef OPENSSL_NO_BUFFER +# include +# endif +# ifndef OPENSSL_NO_EVP +# include +# endif +# ifndef OPENSSL_NO_BIO +# include +# endif +# include +# include +# include + +# ifndef OPENSSL_NO_EC +# include +# endif + +# ifndef OPENSSL_NO_ECDSA +# include +# endif + +# ifndef OPENSSL_NO_ECDH +# include +# endif + +# ifndef OPENSSL_NO_DEPRECATED +# ifndef OPENSSL_NO_RSA +# include +# endif +# ifndef OPENSSL_NO_DSA +# include +# endif +# ifndef OPENSSL_NO_DH +# include +# endif +# endif + +# ifndef OPENSSL_NO_SHA +# include +# endif +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_SYS_WIN32 +/* Under Win32 these are defined in wincrypt.h */ +# undef X509_NAME +# undef X509_CERT_PAIR +# undef X509_EXTENSIONS +# endif + +# define X509_FILETYPE_PEM 1 +# define X509_FILETYPE_ASN1 2 +# define X509_FILETYPE_DEFAULT 3 + +# define X509v3_KU_DIGITAL_SIGNATURE 0x0080 +# define X509v3_KU_NON_REPUDIATION 0x0040 +# define X509v3_KU_KEY_ENCIPHERMENT 0x0020 +# define X509v3_KU_DATA_ENCIPHERMENT 0x0010 +# define X509v3_KU_KEY_AGREEMENT 0x0008 +# define X509v3_KU_KEY_CERT_SIGN 0x0004 +# define X509v3_KU_CRL_SIGN 0x0002 +# define X509v3_KU_ENCIPHER_ONLY 0x0001 +# define X509v3_KU_DECIPHER_ONLY 0x8000 +# define X509v3_KU_UNDEF 0xffff + +typedef struct X509_objects_st { + int nid; + int (*a2i) (void); + int (*i2a) (void); +} X509_OBJECTS; + +struct X509_algor_st { + ASN1_OBJECT *algorithm; + ASN1_TYPE *parameter; +} /* X509_ALGOR */ ; + +DECLARE_ASN1_SET_OF(X509_ALGOR) + +typedef STACK_OF(X509_ALGOR) X509_ALGORS; + +typedef struct X509_val_st { + ASN1_TIME *notBefore; + ASN1_TIME *notAfter; +} X509_VAL; + +struct X509_pubkey_st { + X509_ALGOR *algor; + ASN1_BIT_STRING *public_key; + EVP_PKEY *pkey; +}; + +typedef struct X509_sig_st { + X509_ALGOR *algor; + ASN1_OCTET_STRING *digest; +} X509_SIG; + +typedef struct X509_name_entry_st { + ASN1_OBJECT *object; + ASN1_STRING *value; + int set; + int size; /* temp variable */ +} X509_NAME_ENTRY; + +DECLARE_STACK_OF(X509_NAME_ENTRY) +DECLARE_ASN1_SET_OF(X509_NAME_ENTRY) + +/* we always keep X509_NAMEs in 2 forms. */ +struct X509_name_st { + STACK_OF(X509_NAME_ENTRY) *entries; + int modified; /* true if 'bytes' needs to be built */ +# ifndef OPENSSL_NO_BUFFER + BUF_MEM *bytes; +# else + char *bytes; +# endif +/* unsigned long hash; Keep the hash around for lookups */ + unsigned char *canon_enc; + int canon_enclen; +} /* X509_NAME */ ; + +DECLARE_STACK_OF(X509_NAME) + +# define X509_EX_V_NETSCAPE_HACK 0x8000 +# define X509_EX_V_INIT 0x0001 +typedef struct X509_extension_st { + ASN1_OBJECT *object; + ASN1_BOOLEAN critical; + ASN1_OCTET_STRING *value; +} X509_EXTENSION; + +typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; + +DECLARE_STACK_OF(X509_EXTENSION) +DECLARE_ASN1_SET_OF(X509_EXTENSION) + +/* a sequence of these are used */ +typedef struct x509_attributes_st { + ASN1_OBJECT *object; + int single; /* 0 for a set, 1 for a single item (which is + * wrong) */ + union { + char *ptr; + /* + * 0 + */ STACK_OF(ASN1_TYPE) *set; + /* + * 1 + */ ASN1_TYPE *single; + } value; +} X509_ATTRIBUTE; + +DECLARE_STACK_OF(X509_ATTRIBUTE) +DECLARE_ASN1_SET_OF(X509_ATTRIBUTE) + +typedef struct X509_req_info_st { + ASN1_ENCODING enc; + ASN1_INTEGER *version; + X509_NAME *subject; + X509_PUBKEY *pubkey; + /* d=2 hl=2 l= 0 cons: cont: 00 */ + STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ +} X509_REQ_INFO; + +typedef struct X509_req_st { + X509_REQ_INFO *req_info; + X509_ALGOR *sig_alg; + ASN1_BIT_STRING *signature; + int references; +} X509_REQ; + +typedef struct x509_cinf_st { + ASN1_INTEGER *version; /* [ 0 ] default of v1 */ + ASN1_INTEGER *serialNumber; + X509_ALGOR *signature; + X509_NAME *issuer; + X509_VAL *validity; + X509_NAME *subject; + X509_PUBKEY *key; + ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */ + ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */ + STACK_OF(X509_EXTENSION) *extensions; /* [ 3 ] optional in v3 */ + ASN1_ENCODING enc; +} X509_CINF; + +/* + * This stuff is certificate "auxiliary info" it contains details which are + * useful in certificate stores and databases. When used this is tagged onto + * the end of the certificate itself + */ + +typedef struct x509_cert_aux_st { + STACK_OF(ASN1_OBJECT) *trust; /* trusted uses */ + STACK_OF(ASN1_OBJECT) *reject; /* rejected uses */ + ASN1_UTF8STRING *alias; /* "friendly name" */ + ASN1_OCTET_STRING *keyid; /* key id of private key */ + STACK_OF(X509_ALGOR) *other; /* other unspecified info */ +} X509_CERT_AUX; + +struct x509_st { + X509_CINF *cert_info; + X509_ALGOR *sig_alg; + ASN1_BIT_STRING *signature; + int valid; + int references; + char *name; + CRYPTO_EX_DATA ex_data; + /* These contain copies of various extension values */ + long ex_pathlen; + long ex_pcpathlen; + unsigned long ex_flags; + unsigned long ex_kusage; + unsigned long ex_xkusage; + unsigned long ex_nscert; + ASN1_OCTET_STRING *skid; + AUTHORITY_KEYID *akid; + X509_POLICY_CACHE *policy_cache; + STACK_OF(DIST_POINT) *crldp; + STACK_OF(GENERAL_NAME) *altname; + NAME_CONSTRAINTS *nc; +# ifndef OPENSSL_NO_RFC3779 + STACK_OF(IPAddressFamily) *rfc3779_addr; + struct ASIdentifiers_st *rfc3779_asid; +# endif +# ifndef OPENSSL_NO_SHA + unsigned char sha1_hash[SHA_DIGEST_LENGTH]; +# endif + X509_CERT_AUX *aux; +} /* X509 */ ; + +DECLARE_STACK_OF(X509) +DECLARE_ASN1_SET_OF(X509) + +/* This is used for a table of trust checking functions */ + +typedef struct x509_trust_st { + int trust; + int flags; + int (*check_trust) (struct x509_trust_st *, X509 *, int); + char *name; + int arg1; + void *arg2; +} X509_TRUST; + +DECLARE_STACK_OF(X509_TRUST) + +typedef struct x509_cert_pair_st { + X509 *forward; + X509 *reverse; +} X509_CERT_PAIR; + +/* standard trust ids */ + +# define X509_TRUST_DEFAULT -1/* Only valid in purpose settings */ + +# define X509_TRUST_COMPAT 1 +# define X509_TRUST_SSL_CLIENT 2 +# define X509_TRUST_SSL_SERVER 3 +# define X509_TRUST_EMAIL 4 +# define X509_TRUST_OBJECT_SIGN 5 +# define X509_TRUST_OCSP_SIGN 6 +# define X509_TRUST_OCSP_REQUEST 7 +# define X509_TRUST_TSA 8 + +/* Keep these up to date! */ +# define X509_TRUST_MIN 1 +# define X509_TRUST_MAX 8 + +/* trust_flags values */ +# define X509_TRUST_DYNAMIC 1 +# define X509_TRUST_DYNAMIC_NAME 2 + +/* check_trust return codes */ + +# define X509_TRUST_TRUSTED 1 +# define X509_TRUST_REJECTED 2 +# define X509_TRUST_UNTRUSTED 3 + +/* Flags for X509_print_ex() */ + +# define X509_FLAG_COMPAT 0 +# define X509_FLAG_NO_HEADER 1L +# define X509_FLAG_NO_VERSION (1L << 1) +# define X509_FLAG_NO_SERIAL (1L << 2) +# define X509_FLAG_NO_SIGNAME (1L << 3) +# define X509_FLAG_NO_ISSUER (1L << 4) +# define X509_FLAG_NO_VALIDITY (1L << 5) +# define X509_FLAG_NO_SUBJECT (1L << 6) +# define X509_FLAG_NO_PUBKEY (1L << 7) +# define X509_FLAG_NO_EXTENSIONS (1L << 8) +# define X509_FLAG_NO_SIGDUMP (1L << 9) +# define X509_FLAG_NO_AUX (1L << 10) +# define X509_FLAG_NO_ATTRIBUTES (1L << 11) +# define X509_FLAG_NO_IDS (1L << 12) + +/* Flags specific to X509_NAME_print_ex() */ + +/* The field separator information */ + +# define XN_FLAG_SEP_MASK (0xf << 16) + +# define XN_FLAG_COMPAT 0/* Traditional SSLeay: use old + * X509_NAME_print */ +# define XN_FLAG_SEP_COMMA_PLUS (1 << 16)/* RFC2253 ,+ */ +# define XN_FLAG_SEP_CPLUS_SPC (2 << 16)/* ,+ spaced: more readable */ +# define XN_FLAG_SEP_SPLUS_SPC (3 << 16)/* ;+ spaced */ +# define XN_FLAG_SEP_MULTILINE (4 << 16)/* One line per field */ + +# define XN_FLAG_DN_REV (1 << 20)/* Reverse DN order */ + +/* How the field name is shown */ + +# define XN_FLAG_FN_MASK (0x3 << 21) + +# define XN_FLAG_FN_SN 0/* Object short name */ +# define XN_FLAG_FN_LN (1 << 21)/* Object long name */ +# define XN_FLAG_FN_OID (2 << 21)/* Always use OIDs */ +# define XN_FLAG_FN_NONE (3 << 21)/* No field names */ + +# define XN_FLAG_SPC_EQ (1 << 23)/* Put spaces round '=' */ + +/* + * This determines if we dump fields we don't recognise: RFC2253 requires + * this. + */ + +# define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) + +# define XN_FLAG_FN_ALIGN (1 << 25)/* Align field names to 20 + * characters */ + +/* Complete set of RFC2253 flags */ + +# define XN_FLAG_RFC2253 (ASN1_STRFLGS_RFC2253 | \ + XN_FLAG_SEP_COMMA_PLUS | \ + XN_FLAG_DN_REV | \ + XN_FLAG_FN_SN | \ + XN_FLAG_DUMP_UNKNOWN_FIELDS) + +/* readable oneline form */ + +# define XN_FLAG_ONELINE (ASN1_STRFLGS_RFC2253 | \ + ASN1_STRFLGS_ESC_QUOTE | \ + XN_FLAG_SEP_CPLUS_SPC | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_SN) + +/* readable multiline form */ + +# define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + XN_FLAG_SEP_MULTILINE | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_LN | \ + XN_FLAG_FN_ALIGN) + +struct x509_revoked_st { + ASN1_INTEGER *serialNumber; + ASN1_TIME *revocationDate; + STACK_OF(X509_EXTENSION) /* optional */ *extensions; + /* Set up if indirect CRL */ + STACK_OF(GENERAL_NAME) *issuer; + /* Revocation reason */ + int reason; + int sequence; /* load sequence */ +}; + +DECLARE_STACK_OF(X509_REVOKED) +DECLARE_ASN1_SET_OF(X509_REVOKED) + +typedef struct X509_crl_info_st { + ASN1_INTEGER *version; + X509_ALGOR *sig_alg; + X509_NAME *issuer; + ASN1_TIME *lastUpdate; + ASN1_TIME *nextUpdate; + STACK_OF(X509_REVOKED) *revoked; + STACK_OF(X509_EXTENSION) /* [0] */ *extensions; + ASN1_ENCODING enc; +} X509_CRL_INFO; + +struct X509_crl_st { + /* actual signature */ + X509_CRL_INFO *crl; + X509_ALGOR *sig_alg; + ASN1_BIT_STRING *signature; + int references; + int flags; + /* Copies of various extensions */ + AUTHORITY_KEYID *akid; + ISSUING_DIST_POINT *idp; + /* Convenient breakdown of IDP */ + int idp_flags; + int idp_reasons; + /* CRL and base CRL numbers for delta processing */ + ASN1_INTEGER *crl_number; + ASN1_INTEGER *base_crl_number; +# ifndef OPENSSL_NO_SHA + unsigned char sha1_hash[SHA_DIGEST_LENGTH]; +# endif + STACK_OF(GENERAL_NAMES) *issuers; + const X509_CRL_METHOD *meth; + void *meth_data; +} /* X509_CRL */ ; + +DECLARE_STACK_OF(X509_CRL) +DECLARE_ASN1_SET_OF(X509_CRL) + +typedef struct private_key_st { + int version; + /* The PKCS#8 data types */ + X509_ALGOR *enc_algor; + ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */ + /* When decrypted, the following will not be NULL */ + EVP_PKEY *dec_pkey; + /* used to encrypt and decrypt */ + int key_length; + char *key_data; + int key_free; /* true if we should auto free key_data */ + /* expanded version of 'enc_algor' */ + EVP_CIPHER_INFO cipher; + int references; +} X509_PKEY; + +# ifndef OPENSSL_NO_EVP +typedef struct X509_info_st { + X509 *x509; + X509_CRL *crl; + X509_PKEY *x_pkey; + EVP_CIPHER_INFO enc_cipher; + int enc_len; + char *enc_data; + int references; +} X509_INFO; + +DECLARE_STACK_OF(X509_INFO) +# endif + +/* + * The next 2 structures and their 8 routines were sent to me by Pat Richard + * and are used to manipulate Netscapes spki structures - + * useful if you are writing a CA web page + */ +typedef struct Netscape_spkac_st { + X509_PUBKEY *pubkey; + ASN1_IA5STRING *challenge; /* challenge sent in atlas >= PR2 */ +} NETSCAPE_SPKAC; + +typedef struct Netscape_spki_st { + NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ + X509_ALGOR *sig_algor; + ASN1_BIT_STRING *signature; +} NETSCAPE_SPKI; + +/* Netscape certificate sequence structure */ +typedef struct Netscape_certificate_sequence { + ASN1_OBJECT *type; + STACK_OF(X509) *certs; +} NETSCAPE_CERT_SEQUENCE; + +/*- Unused (and iv length is wrong) +typedef struct CBCParameter_st + { + unsigned char iv[8]; + } CBC_PARAM; +*/ + +/* Password based encryption structure */ + +typedef struct PBEPARAM_st { + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *iter; +} PBEPARAM; + +/* Password based encryption V2 structures */ + +typedef struct PBE2PARAM_st { + X509_ALGOR *keyfunc; + X509_ALGOR *encryption; +} PBE2PARAM; + +typedef struct PBKDF2PARAM_st { +/* Usually OCTET STRING but could be anything */ + ASN1_TYPE *salt; + ASN1_INTEGER *iter; + ASN1_INTEGER *keylength; + X509_ALGOR *prf; +} PBKDF2PARAM; + +/* PKCS#8 private key info structure */ + +struct pkcs8_priv_key_info_st { + /* Flag for various broken formats */ + int broken; +# define PKCS8_OK 0 +# define PKCS8_NO_OCTET 1 +# define PKCS8_EMBEDDED_PARAM 2 +# define PKCS8_NS_DB 3 +# define PKCS8_NEG_PRIVKEY 4 + ASN1_INTEGER *version; + X509_ALGOR *pkeyalg; + /* Should be OCTET STRING but some are broken */ + ASN1_TYPE *pkey; + STACK_OF(X509_ATTRIBUTE) *attributes; +}; + +#ifdef __cplusplus +} +#endif + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define X509_EXT_PACK_UNKNOWN 1 +# define X509_EXT_PACK_STRING 2 + +# define X509_get_version(x) ASN1_INTEGER_get((x)->cert_info->version) +/* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */ +# define X509_get_notBefore(x) ((x)->cert_info->validity->notBefore) +# define X509_get_notAfter(x) ((x)->cert_info->validity->notAfter) +# define X509_extract_key(x) X509_get_pubkey(x)/*****/ +# define X509_REQ_get_version(x) ASN1_INTEGER_get((x)->req_info->version) +# define X509_REQ_get_subject_name(x) ((x)->req_info->subject) +# define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) +# define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) +# define X509_get_signature_type(x) EVP_PKEY_type(OBJ_obj2nid((x)->sig_alg->algorithm)) + +# define X509_CRL_get_version(x) ASN1_INTEGER_get((x)->crl->version) +# define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate) +# define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate) +# define X509_CRL_get_issuer(x) ((x)->crl->issuer) +# define X509_CRL_get_REVOKED(x) ((x)->crl->revoked) + +void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); +X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl), + int (*crl_free) (X509_CRL *crl), + int (*crl_lookup) (X509_CRL *crl, + X509_REVOKED **ret, + ASN1_INTEGER *ser, + X509_NAME *issuer), + int (*crl_verify) (X509_CRL *crl, + EVP_PKEY *pk)); +void X509_CRL_METHOD_free(X509_CRL_METHOD *m); + +void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); +void *X509_CRL_get_meth_data(X509_CRL *crl); + +/* + * This one is only used so that a binary form can output, as in + * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) + */ +# define X509_get_X509_PUBKEY(x) ((x)->cert_info->key) + +const char *X509_verify_cert_error_string(long n); + +# ifndef OPENSSL_NO_EVP +int X509_verify(X509 *a, EVP_PKEY *r); + +int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); +int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); +int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); + +NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(const char *str, int len); +char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); +EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); +int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey); + +int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki); + +int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent); +int X509_signature_print(BIO *bp, X509_ALGOR *alg, ASN1_STRING *sig); + +int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); +int X509_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert); +int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); +int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); +int X509_CRL_http_nbio(OCSP_REQ_CTX *rctx, X509_CRL **pcrl); +int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); + +int X509_pubkey_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +# endif + +# ifndef OPENSSL_NO_FP_API +X509 *d2i_X509_fp(FILE *fp, X509 **x509); +int i2d_X509_fp(FILE *fp, X509 *x509); +X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); +int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl); +X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req); +int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req); +# ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa); +int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa); +RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa); +int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa); +RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); +int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa); +# endif +# ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); +int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); +DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); +int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); +# endif +# ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); +int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); +int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); +# endif +X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8); +int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); +int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); +int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); +# endif + +# ifndef OPENSSL_NO_BIO +X509 *d2i_X509_bio(BIO *bp, X509 **x509); +int i2d_X509_bio(BIO *bp, X509 *x509); +X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl); +int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl); +X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req); +int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req); +# ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa); +int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa); +RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa); +int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa); +RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); +int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa); +# endif +# ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); +int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); +DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); +int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); +# endif +# ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); +int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); +int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); +# endif +X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8); +int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); +int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); +int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); +# endif + +X509 *X509_dup(X509 *x509); +X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); +X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); +X509_CRL *X509_CRL_dup(X509_CRL *crl); +X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); +X509_REQ *X509_REQ_dup(X509_REQ *req); +X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); +int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, + void *pval); +void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval, + X509_ALGOR *algor); +void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); +int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); + +X509_NAME *X509_NAME_dup(X509_NAME *xn); +X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); + +int X509_cmp_time(const ASN1_TIME *s, time_t *t); +int X509_cmp_current_time(const ASN1_TIME *s); +ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *t); +ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, + int offset_day, long offset_sec, time_t *t); +ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj); + +const char *X509_get_default_cert_area(void); +const char *X509_get_default_cert_dir(void); +const char *X509_get_default_cert_file(void); +const char *X509_get_default_cert_dir_env(void); +const char *X509_get_default_cert_file_env(void); +const char *X509_get_default_private_dir(void); + +X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey); + +DECLARE_ASN1_FUNCTIONS(X509_ALGOR) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS) +DECLARE_ASN1_FUNCTIONS(X509_VAL) + +DECLARE_ASN1_FUNCTIONS(X509_PUBKEY) + +int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); +EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); +int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain); +int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); +EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); +# ifndef OPENSSL_NO_RSA +int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); +RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); +# endif +# ifndef OPENSSL_NO_DSA +int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp); +DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length); +# endif +# ifndef OPENSSL_NO_EC +int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); +EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length); +# endif + +DECLARE_ASN1_FUNCTIONS(X509_SIG) +DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO) +DECLARE_ASN1_FUNCTIONS(X509_REQ) + +DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE) +X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); + +DECLARE_ASN1_FUNCTIONS(X509_EXTENSION) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) + +DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) + +DECLARE_ASN1_FUNCTIONS(X509_NAME) + +int X509_NAME_set(X509_NAME **xn, X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(X509_CINF) + +DECLARE_ASN1_FUNCTIONS(X509) +DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) + +DECLARE_ASN1_FUNCTIONS(X509_CERT_PAIR) + +int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int X509_set_ex_data(X509 *r, int idx, void *arg); +void *X509_get_ex_data(X509 *r, int idx); +int i2d_X509_AUX(X509 *a, unsigned char **pp); +X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length); + +int i2d_re_X509_tbs(X509 *x, unsigned char **pp); + +void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg, + const X509 *x); +int X509_get_signature_nid(const X509 *x); + +int X509_alias_set1(X509 *x, unsigned char *name, int len); +int X509_keyid_set1(X509 *x, unsigned char *id, int len); +unsigned char *X509_alias_get0(X509 *x, int *len); +unsigned char *X509_keyid_get0(X509 *x, int *len); +int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int, X509 *, + int); +int X509_TRUST_set(int *t, int trust); +int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj); +int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj); +void X509_trust_clear(X509 *x); +void X509_reject_clear(X509 *x); + +DECLARE_ASN1_FUNCTIONS(X509_REVOKED) +DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) +DECLARE_ASN1_FUNCTIONS(X509_CRL) + +int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); +int X509_CRL_get0_by_serial(X509_CRL *crl, + X509_REVOKED **ret, ASN1_INTEGER *serial); +int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); + +X509_PKEY *X509_PKEY_new(void); +void X509_PKEY_free(X509_PKEY *a); +int i2d_X509_PKEY(X509_PKEY *a, unsigned char **pp); +X509_PKEY *d2i_X509_PKEY(X509_PKEY **a, const unsigned char **pp, + long length); + +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) + +# ifndef OPENSSL_NO_EVP +X509_INFO *X509_INFO_new(void); +void X509_INFO_free(X509_INFO *a); +char *X509_NAME_oneline(X509_NAME *a, char *buf, int size); + +int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey); + +int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data, + unsigned char *md, unsigned int *len); + +int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + char *data, EVP_PKEY *pkey, const EVP_MD *type); + +int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *data, + unsigned char *md, unsigned int *len); + +int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, void *data, EVP_PKEY *pkey); + +int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, void *data, + EVP_PKEY *pkey, const EVP_MD *type); +int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + void *asn, EVP_MD_CTX *ctx); +# endif + +int X509_set_version(X509 *x, long version); +int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); +ASN1_INTEGER *X509_get_serialNumber(X509 *x); +int X509_set_issuer_name(X509 *x, X509_NAME *name); +X509_NAME *X509_get_issuer_name(X509 *a); +int X509_set_subject_name(X509 *x, X509_NAME *name); +X509_NAME *X509_get_subject_name(X509 *a); +int X509_set_notBefore(X509 *x, const ASN1_TIME *tm); +int X509_set_notAfter(X509 *x, const ASN1_TIME *tm); +int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); +EVP_PKEY *X509_get_pubkey(X509 *x); +ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); +int X509_certificate_type(X509 *x, EVP_PKEY *pubkey /* optional */ ); + +int X509_REQ_set_version(X509_REQ *x, long version); +int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name); +int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); +EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); +int X509_REQ_extension_nid(int nid); +int *X509_REQ_get_extension_nids(void); +void X509_REQ_set_extension_nids(int *nids); +STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req); +int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts, + int nid); +int X509_REQ_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts); +int X509_REQ_get_attr_count(const X509_REQ *req); +int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos); +int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc); +X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc); +int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr); +int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_NID(X509_REQ *req, + int nid, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_txt(X509_REQ *req, + const char *attrname, int type, + const unsigned char *bytes, int len); + +int X509_CRL_set_version(X509_CRL *x, long version); +int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); +int X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_sort(X509_CRL *crl); + +int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); +int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); + +X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer, + EVP_PKEY *skey, const EVP_MD *md, unsigned int flags); + +int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey); + +int X509_check_private_key(X509 *x509, EVP_PKEY *pkey); +int X509_chain_check_suiteb(int *perror_depth, + X509 *x, STACK_OF(X509) *chain, + unsigned long flags); +int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags); +STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain); + +int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_and_serial_hash(X509 *a); + +int X509_issuer_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_name_hash(X509 *a); + +int X509_subject_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_subject_name_hash(X509 *x); + +# ifndef OPENSSL_NO_MD5 +unsigned long X509_issuer_name_hash_old(X509 *a); +unsigned long X509_subject_name_hash_old(X509 *x); +# endif + +int X509_cmp(const X509 *a, const X509 *b); +int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); +unsigned long X509_NAME_hash(X509_NAME *x); +unsigned long X509_NAME_hash_old(X509_NAME *x); + +int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); +int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); +# ifndef OPENSSL_NO_FP_API +int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print_fp(FILE *bp, X509 *x); +int X509_CRL_print_fp(FILE *bp, X509_CRL *x); +int X509_REQ_print_fp(FILE *bp, X509_REQ *req); +int X509_NAME_print_ex_fp(FILE *fp, X509_NAME *nm, int indent, + unsigned long flags); +# endif + +# ifndef OPENSSL_NO_BIO +int X509_NAME_print(BIO *bp, X509_NAME *name, int obase); +int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, + unsigned long flags); +int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print(BIO *bp, X509 *x); +int X509_ocspid_print(BIO *bp, X509 *x); +int X509_CERT_AUX_print(BIO *bp, X509_CERT_AUX *x, int indent); +int X509_CRL_print(BIO *bp, X509_CRL *x); +int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag, + unsigned long cflag); +int X509_REQ_print(BIO *bp, X509_REQ *req); +# endif + +int X509_NAME_entry_count(X509_NAME *name); +int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf, int len); +int X509_NAME_get_text_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, + char *buf, int len); + +/* + * NOTE: you should be passsing -1, not 0 as lastpos. The functions that use + * lastpos, search after that position on. + */ +int X509_NAME_get_index_by_NID(X509_NAME *name, int nid, int lastpos); +int X509_NAME_get_index_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, + int lastpos); +X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc); +X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); +int X509_NAME_add_entry(X509_NAME *name, X509_NAME_ENTRY *ne, + int loc, int set); +int X509_NAME_add_entry_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int type, + unsigned char *bytes, int len, int loc, + int set); +int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, + unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, + const char *field, int type, + const unsigned char *bytes, + int len); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, + int type, unsigned char *bytes, + int len); +int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, + const unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, + ASN1_OBJECT *obj, int type, + const unsigned char *bytes, + int len); +int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, ASN1_OBJECT *obj); +int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, + const unsigned char *bytes, int len); +ASN1_OBJECT *X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *ne); +ASN1_STRING *X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne); + +int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x); +int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, + int nid, int lastpos); +int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x, + ASN1_OBJECT *obj, int lastpos); +int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x, + int crit, int lastpos); +X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc); +X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc); +STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, + X509_EXTENSION *ex, int loc); + +int X509_get_ext_count(X509 *x); +int X509_get_ext_by_NID(X509 *x, int nid, int lastpos); +int X509_get_ext_by_OBJ(X509 *x, ASN1_OBJECT *obj, int lastpos); +int X509_get_ext_by_critical(X509 *x, int crit, int lastpos); +X509_EXTENSION *X509_get_ext(X509 *x, int loc); +X509_EXTENSION *X509_delete_ext(X509 *x, int loc); +int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); +void *X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx); +int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_CRL_get_ext_count(X509_CRL *x); +int X509_CRL_get_ext_by_NID(X509_CRL *x, int nid, int lastpos); +int X509_CRL_get_ext_by_OBJ(X509_CRL *x, ASN1_OBJECT *obj, int lastpos); +int X509_CRL_get_ext_by_critical(X509_CRL *x, int crit, int lastpos); +X509_EXTENSION *X509_CRL_get_ext(X509_CRL *x, int loc); +X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc); +int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc); +void *X509_CRL_get_ext_d2i(X509_CRL *x, int nid, int *crit, int *idx); +int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_REVOKED_get_ext_count(X509_REVOKED *x); +int X509_REVOKED_get_ext_by_NID(X509_REVOKED *x, int nid, int lastpos); +int X509_REVOKED_get_ext_by_OBJ(X509_REVOKED *x, ASN1_OBJECT *obj, + int lastpos); +int X509_REVOKED_get_ext_by_critical(X509_REVOKED *x, int crit, int lastpos); +X509_EXTENSION *X509_REVOKED_get_ext(X509_REVOKED *x, int loc); +X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc); +int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc); +void *X509_REVOKED_get_ext_d2i(X509_REVOKED *x, int nid, int *crit, int *idx); +int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit, + unsigned long flags); + +X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, + int nid, int crit, + ASN1_OCTET_STRING *data); +X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, + ASN1_OBJECT *obj, int crit, + ASN1_OCTET_STRING *data); +int X509_EXTENSION_set_object(X509_EXTENSION *ex, ASN1_OBJECT *obj); +int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); +int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data); +ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex); +ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); +int X509_EXTENSION_get_critical(X509_EXTENSION *ex); + +int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x); +int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, + int lastpos); +int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, + ASN1_OBJECT *obj, int lastpos); +X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc); +X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, + X509_ATTRIBUTE *attr); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) + **x, const ASN1_OBJECT *obj, + int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) + **x, int nid, int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) + **x, const char *attrname, + int type, + const unsigned char *bytes, + int len); +void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, ASN1_OBJECT *obj, + int lastpos, int type); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, + const ASN1_OBJECT *obj, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, + const char *atrname, int type, + const unsigned char *bytes, + int len); +int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj); +int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, + const void *data, int len); +void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, + void *data); +int X509_ATTRIBUTE_count(X509_ATTRIBUTE *attr); +ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); +ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); + +int EVP_PKEY_get_attr_count(const EVP_PKEY *key); +int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos); +int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc); +X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc); +int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr); +int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, + int nid, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, + const char *attrname, int type, + const unsigned char *bytes, int len); + +int X509_verify_cert(X509_STORE_CTX *ctx); + +/* lookup a cert from a X509 STACK */ +X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, X509_NAME *name, + ASN1_INTEGER *serial); +X509 *X509_find_by_subject(STACK_OF(X509) *sk, X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(PBEPARAM) +DECLARE_ASN1_FUNCTIONS(PBE2PARAM) +DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) + +int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, + const unsigned char *salt, int saltlen); + +X509_ALGOR *PKCS5_pbe_set(int alg, int iter, + const unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen, + unsigned char *aiv, int prf_nid); + +X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, + int prf_nid, int keylen); + +/* PKCS#8 utilities */ + +DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) + +EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); +PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); + +int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, + int version, int ptype, void *pval, + unsigned char *penc, int penclen); +int PKCS8_pkey_get0(ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + X509_ALGOR **pa, PKCS8_PRIV_KEY_INFO *p8); + +int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, + int ptype, void *pval, + unsigned char *penc, int penclen); +int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + X509_ALGOR **pa, X509_PUBKEY *pub); + +int X509_check_trust(X509 *x, int id, int flags); +int X509_TRUST_get_count(void); +X509_TRUST *X509_TRUST_get0(int idx); +int X509_TRUST_get_by_id(int id); +int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509 *, int), + char *name, int arg1, void *arg2); +void X509_TRUST_cleanup(void); +int X509_TRUST_get_flags(X509_TRUST *xp); +char *X509_TRUST_get0_name(X509_TRUST *xp); +int X509_TRUST_get_trust(X509_TRUST *xp); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +void ERR_load_X509_strings(void); + +/* Error codes for the X509 functions. */ + +/* Function codes. */ +# define X509_F_ADD_CERT_DIR 100 +# define X509_F_BY_FILE_CTRL 101 +# define X509_F_CHECK_NAME_CONSTRAINTS 106 +# define X509_F_CHECK_POLICY 145 +# define X509_F_DIR_CTRL 102 +# define X509_F_GET_CERT_BY_SUBJECT 103 +# define X509_F_NETSCAPE_SPKI_B64_DECODE 129 +# define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 +# define X509_F_X509AT_ADD1_ATTR 135 +# define X509_F_X509V3_ADD_EXT 104 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 136 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 137 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 140 +# define X509_F_X509_ATTRIBUTE_GET0_DATA 139 +# define X509_F_X509_ATTRIBUTE_SET1_DATA 138 +# define X509_F_X509_CHECK_PRIVATE_KEY 128 +# define X509_F_X509_CRL_DIFF 105 +# define X509_F_X509_CRL_PRINT_FP 147 +# define X509_F_X509_EXTENSION_CREATE_BY_NID 108 +# define X509_F_X509_EXTENSION_CREATE_BY_OBJ 109 +# define X509_F_X509_GET_PUBKEY_PARAMETERS 110 +# define X509_F_X509_LOAD_CERT_CRL_FILE 132 +# define X509_F_X509_LOAD_CERT_FILE 111 +# define X509_F_X509_LOAD_CRL_FILE 112 +# define X509_F_X509_NAME_ADD_ENTRY 113 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 114 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 131 +# define X509_F_X509_NAME_ENTRY_SET_OBJECT 115 +# define X509_F_X509_NAME_ONELINE 116 +# define X509_F_X509_NAME_PRINT 117 +# define X509_F_X509_PRINT_EX_FP 118 +# define X509_F_X509_PUBKEY_GET 119 +# define X509_F_X509_PUBKEY_SET 120 +# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144 +# define X509_F_X509_REQ_PRINT_EX 121 +# define X509_F_X509_REQ_PRINT_FP 122 +# define X509_F_X509_REQ_TO_X509 123 +# define X509_F_X509_STORE_ADD_CERT 124 +# define X509_F_X509_STORE_ADD_CRL 125 +# define X509_F_X509_STORE_CTX_GET1_ISSUER 146 +# define X509_F_X509_STORE_CTX_INIT 143 +# define X509_F_X509_STORE_CTX_NEW 142 +# define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 134 +# define X509_F_X509_TO_X509_REQ 126 +# define X509_F_X509_TRUST_ADD 133 +# define X509_F_X509_TRUST_SET 141 +# define X509_F_X509_VERIFY_CERT 127 + +/* Reason codes. */ +# define X509_R_AKID_MISMATCH 110 +# define X509_R_BAD_X509_FILETYPE 100 +# define X509_R_BASE64_DECODE_ERROR 118 +# define X509_R_CANT_CHECK_DH_KEY 114 +# define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 +# define X509_R_CRL_ALREADY_DELTA 127 +# define X509_R_CRL_VERIFY_FAILURE 131 +# define X509_R_ERR_ASN1_LIB 102 +# define X509_R_IDP_MISMATCH 128 +# define X509_R_INVALID_DIRECTORY 113 +# define X509_R_INVALID_FIELD_NAME 119 +# define X509_R_INVALID_TRUST 123 +# define X509_R_ISSUER_MISMATCH 129 +# define X509_R_KEY_TYPE_MISMATCH 115 +# define X509_R_KEY_VALUES_MISMATCH 116 +# define X509_R_LOADING_CERT_DIR 103 +# define X509_R_LOADING_DEFAULTS 104 +# define X509_R_METHOD_NOT_SUPPORTED 124 +# define X509_R_NAME_TOO_LONG 134 +# define X509_R_NEWER_CRL_NOT_NEWER 132 +# define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 +# define X509_R_NO_CRL_NUMBER 130 +# define X509_R_PUBLIC_KEY_DECODE_ERROR 125 +# define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 +# define X509_R_SHOULD_RETRY 106 +# define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 +# define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 +# define X509_R_UNKNOWN_KEY_TYPE 117 +# define X509_R_UNKNOWN_NID 109 +# define X509_R_UNKNOWN_PURPOSE_ID 121 +# define X509_R_UNKNOWN_TRUST_ID 120 +# define X509_R_UNSUPPORTED_ALGORITHM 111 +# define X509_R_WRONG_LOOKUP_TYPE 112 +# define X509_R_WRONG_TYPE 122 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/3rdparty/openssl/include/openssl/x509_vfy.h b/3rdparty/openssl/include/openssl/x509_vfy.h new file mode 100644 index 0000000..5062682 --- /dev/null +++ b/3rdparty/openssl/include/openssl/x509_vfy.h @@ -0,0 +1,652 @@ +/* crypto/x509/x509_vfy.h */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_X509_H +# include +/* + * openssl/x509.h ends up #include-ing this file at about the only + * appropriate moment. + */ +#endif + +#ifndef HEADER_X509_VFY_H +# define HEADER_X509_VFY_H + +# include +# ifndef OPENSSL_NO_LHASH +# include +# endif +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# if 0 +/* Outer object */ +typedef struct x509_hash_dir_st { + int num_dirs; + char **dirs; + int *dirs_type; + int num_dirs_alloced; +} X509_HASH_DIR_CTX; +# endif + +typedef struct x509_file_st { + int num_paths; /* number of paths to files or directories */ + int num_alloced; + char **paths; /* the list of paths or directories */ + int *path_type; +} X509_CERT_FILE_CTX; + +/*******************************/ +/*- +SSL_CTX -> X509_STORE + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + +SSL -> X509_STORE_CTX + ->X509_STORE + +The X509_STORE holds the tables etc for verification stuff. +A X509_STORE_CTX is used while validating a single certificate. +The X509_STORE has X509_LOOKUPs for looking up certs. +The X509_STORE then calls a function to actually verify the +certificate chain. +*/ + +# define X509_LU_RETRY -1 +# define X509_LU_FAIL 0 +# define X509_LU_X509 1 +# define X509_LU_CRL 2 +# define X509_LU_PKEY 3 + +typedef struct x509_object_st { + /* one of the above types */ + int type; + union { + char *ptr; + X509 *x509; + X509_CRL *crl; + EVP_PKEY *pkey; + } data; +} X509_OBJECT; + +typedef struct x509_lookup_st X509_LOOKUP; + +DECLARE_STACK_OF(X509_LOOKUP) +DECLARE_STACK_OF(X509_OBJECT) + +/* This is a static that defines the function interface */ +typedef struct x509_lookup_method_st { + const char *name; + int (*new_item) (X509_LOOKUP *ctx); + void (*free) (X509_LOOKUP *ctx); + int (*init) (X509_LOOKUP *ctx); + int (*shutdown) (X509_LOOKUP *ctx); + int (*ctrl) (X509_LOOKUP *ctx, int cmd, const char *argc, long argl, + char **ret); + int (*get_by_subject) (X509_LOOKUP *ctx, int type, X509_NAME *name, + X509_OBJECT *ret); + int (*get_by_issuer_serial) (X509_LOOKUP *ctx, int type, X509_NAME *name, + ASN1_INTEGER *serial, X509_OBJECT *ret); + int (*get_by_fingerprint) (X509_LOOKUP *ctx, int type, + unsigned char *bytes, int len, + X509_OBJECT *ret); + int (*get_by_alias) (X509_LOOKUP *ctx, int type, char *str, int len, + X509_OBJECT *ret); +} X509_LOOKUP_METHOD; + +typedef struct X509_VERIFY_PARAM_ID_st X509_VERIFY_PARAM_ID; + +/* + * This structure hold all parameters associated with a verify operation by + * including an X509_VERIFY_PARAM structure in related structures the + * parameters used can be customized + */ + +typedef struct X509_VERIFY_PARAM_st { + char *name; + time_t check_time; /* Time to use */ + unsigned long inh_flags; /* Inheritance flags */ + unsigned long flags; /* Various verify flags */ + int purpose; /* purpose to check untrusted certificates */ + int trust; /* trust setting to check */ + int depth; /* Verify depth */ + STACK_OF(ASN1_OBJECT) *policies; /* Permissible policies */ + X509_VERIFY_PARAM_ID *id; /* opaque ID data */ +} X509_VERIFY_PARAM; + +DECLARE_STACK_OF(X509_VERIFY_PARAM) + +/* + * This is used to hold everything. It is used for all certificate + * validation. Once we have a certificate chain, the 'verify' function is + * then called to actually check the cert chain. + */ +struct x509_store_st { + /* The following is a cache of trusted certs */ + int cache; /* if true, stash any hits */ + STACK_OF(X509_OBJECT) *objs; /* Cache of all objects */ + /* These are external lookup methods */ + STACK_OF(X509_LOOKUP) *get_cert_methods; + X509_VERIFY_PARAM *param; + /* Callbacks for various operations */ + /* called to verify a certificate */ + int (*verify) (X509_STORE_CTX *ctx); + /* error callback */ + int (*verify_cb) (int ok, X509_STORE_CTX *ctx); + /* get issuers cert from ctx */ + int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + /* check issued */ + int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); + /* Check revocation status of chain */ + int (*check_revocation) (X509_STORE_CTX *ctx); + /* retrieve CRL */ + int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); + /* Check CRL validity */ + int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); + /* Check certificate against CRL */ + int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); + STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); + STACK_OF(X509_CRL) *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); + int (*cleanup) (X509_STORE_CTX *ctx); + CRYPTO_EX_DATA ex_data; + int references; +} /* X509_STORE */ ; + +int X509_STORE_set_depth(X509_STORE *store, int depth); + +# define X509_STORE_set_verify_cb_func(ctx,func) ((ctx)->verify_cb=(func)) +# define X509_STORE_set_verify_func(ctx,func) ((ctx)->verify=(func)) + +/* This is the functions plus an instance of the local variables. */ +struct x509_lookup_st { + int init; /* have we been started */ + int skip; /* don't use us. */ + X509_LOOKUP_METHOD *method; /* the functions */ + char *method_data; /* method data */ + X509_STORE *store_ctx; /* who owns us */ +} /* X509_LOOKUP */ ; + +/* + * This is a used when verifying cert chains. Since the gathering of the + * cert chain can take some time (and have to be 'retried', this needs to be + * kept and passed around. + */ +struct x509_store_ctx_st { /* X509_STORE_CTX */ + X509_STORE *ctx; + /* used when looking up certs */ + int current_method; + /* The following are set by the caller */ + /* The cert to check */ + X509 *cert; + /* chain of X509s - untrusted - passed in */ + STACK_OF(X509) *untrusted; + /* set of CRLs passed in */ + STACK_OF(X509_CRL) *crls; + X509_VERIFY_PARAM *param; + /* Other info for use with get_issuer() */ + void *other_ctx; + /* Callbacks for various operations */ + /* called to verify a certificate */ + int (*verify) (X509_STORE_CTX *ctx); + /* error callback */ + int (*verify_cb) (int ok, X509_STORE_CTX *ctx); + /* get issuers cert from ctx */ + int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + /* check issued */ + int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); + /* Check revocation status of chain */ + int (*check_revocation) (X509_STORE_CTX *ctx); + /* retrieve CRL */ + int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); + /* Check CRL validity */ + int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); + /* Check certificate against CRL */ + int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); + int (*check_policy) (X509_STORE_CTX *ctx); + STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); + STACK_OF(X509_CRL) *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); + int (*cleanup) (X509_STORE_CTX *ctx); + /* The following is built up */ + /* if 0, rebuild chain */ + int valid; + /* index of last untrusted cert */ + int last_untrusted; + /* chain of X509s - built up and trusted */ + STACK_OF(X509) *chain; + /* Valid policy tree */ + X509_POLICY_TREE *tree; + /* Require explicit policy value */ + int explicit_policy; + /* When something goes wrong, this is why */ + int error_depth; + int error; + X509 *current_cert; + /* cert currently being tested as valid issuer */ + X509 *current_issuer; + /* current CRL */ + X509_CRL *current_crl; + /* score of current CRL */ + int current_crl_score; + /* Reason mask */ + unsigned int current_reasons; + /* For CRL path validation: parent context */ + X509_STORE_CTX *parent; + CRYPTO_EX_DATA ex_data; +} /* X509_STORE_CTX */ ; + +void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); + +# define X509_STORE_CTX_set_app_data(ctx,data) \ + X509_STORE_CTX_set_ex_data(ctx,0,data) +# define X509_STORE_CTX_get_app_data(ctx) \ + X509_STORE_CTX_get_ex_data(ctx,0) + +# define X509_L_FILE_LOAD 1 +# define X509_L_ADD_DIR 2 + +# define X509_LOOKUP_load_file(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL) + +# define X509_LOOKUP_add_dir(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL) + +# define X509_V_OK 0 +# define X509_V_ERR_UNSPECIFIED 1 + +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 +# define X509_V_ERR_UNABLE_TO_GET_CRL 3 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 +# define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 +# define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 +# define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 +# define X509_V_ERR_CERT_NOT_YET_VALID 9 +# define X509_V_ERR_CERT_HAS_EXPIRED 10 +# define X509_V_ERR_CRL_NOT_YET_VALID 11 +# define X509_V_ERR_CRL_HAS_EXPIRED 12 +# define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 +# define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 +# define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 +# define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 +# define X509_V_ERR_OUT_OF_MEM 17 +# define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 +# define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 +# define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 +# define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 +# define X509_V_ERR_CERT_REVOKED 23 +# define X509_V_ERR_INVALID_CA 24 +# define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 +# define X509_V_ERR_INVALID_PURPOSE 26 +# define X509_V_ERR_CERT_UNTRUSTED 27 +# define X509_V_ERR_CERT_REJECTED 28 +/* These are 'informational' when looking for issuer cert */ +# define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 +# define X509_V_ERR_AKID_SKID_MISMATCH 30 +# define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 +# define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 + +# define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 +# define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 +# define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 +# define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 +# define X509_V_ERR_INVALID_NON_CA 37 +# define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 +# define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 +# define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 + +# define X509_V_ERR_INVALID_EXTENSION 41 +# define X509_V_ERR_INVALID_POLICY_EXTENSION 42 +# define X509_V_ERR_NO_EXPLICIT_POLICY 43 +# define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 +# define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 + +# define X509_V_ERR_UNNESTED_RESOURCE 46 + +# define X509_V_ERR_PERMITTED_VIOLATION 47 +# define X509_V_ERR_EXCLUDED_VIOLATION 48 +# define X509_V_ERR_SUBTREE_MINMAX 49 +# define X509_V_ERR_APPLICATION_VERIFICATION 50 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 +# define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 +# define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 + +/* Suite B mode algorithm violation */ +# define X509_V_ERR_SUITE_B_INVALID_VERSION 56 +# define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57 +# define X509_V_ERR_SUITE_B_INVALID_CURVE 58 +# define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59 +# define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60 +# define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61 + +/* Host, email and IP check errors */ +# define X509_V_ERR_HOSTNAME_MISMATCH 62 +# define X509_V_ERR_EMAIL_MISMATCH 63 +# define X509_V_ERR_IP_ADDRESS_MISMATCH 64 + +/* Caller error */ +# define X509_V_ERR_INVALID_CALL 65 +/* Issuer lookup error */ +# define X509_V_ERR_STORE_LOOKUP 66 + +# define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 67 + +/* Certificate verify flags */ + +/* Send issuer+subject checks to verify_cb */ +# define X509_V_FLAG_CB_ISSUER_CHECK 0x1 +/* Use check time instead of current time */ +# define X509_V_FLAG_USE_CHECK_TIME 0x2 +/* Lookup CRLs */ +# define X509_V_FLAG_CRL_CHECK 0x4 +/* Lookup CRLs for whole chain */ +# define X509_V_FLAG_CRL_CHECK_ALL 0x8 +/* Ignore unhandled critical extensions */ +# define X509_V_FLAG_IGNORE_CRITICAL 0x10 +/* Disable workarounds for broken certificates */ +# define X509_V_FLAG_X509_STRICT 0x20 +/* Enable proxy certificate validation */ +# define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40 +/* Enable policy checking */ +# define X509_V_FLAG_POLICY_CHECK 0x80 +/* Policy variable require-explicit-policy */ +# define X509_V_FLAG_EXPLICIT_POLICY 0x100 +/* Policy variable inhibit-any-policy */ +# define X509_V_FLAG_INHIBIT_ANY 0x200 +/* Policy variable inhibit-policy-mapping */ +# define X509_V_FLAG_INHIBIT_MAP 0x400 +/* Notify callback that policy is OK */ +# define X509_V_FLAG_NOTIFY_POLICY 0x800 +/* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ +# define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 +/* Delta CRL support */ +# define X509_V_FLAG_USE_DELTAS 0x2000 +/* Check selfsigned CA signature */ +# define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 +/* Use trusted store first */ +# define X509_V_FLAG_TRUSTED_FIRST 0x8000 +/* Suite B 128 bit only mode: not normally used */ +# define X509_V_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define X509_V_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define X509_V_FLAG_SUITEB_128_LOS 0x30000 + +/* Allow partial chains if at least one certificate is in trusted store */ +# define X509_V_FLAG_PARTIAL_CHAIN 0x80000 +/* + * If the initial chain is not trusted, do not attempt to build an alternative + * chain. Alternate chain checking was introduced in 1.0.2b. Setting this flag + * will force the behaviour to match that of previous versions. + */ +# define X509_V_FLAG_NO_ALT_CHAINS 0x100000 + +# define X509_VP_FLAG_DEFAULT 0x1 +# define X509_VP_FLAG_OVERWRITE 0x2 +# define X509_VP_FLAG_RESET_FLAGS 0x4 +# define X509_VP_FLAG_LOCKED 0x8 +# define X509_VP_FLAG_ONCE 0x10 + +/* Internal use: mask of policy related options */ +# define X509_V_FLAG_POLICY_MASK (X509_V_FLAG_POLICY_CHECK \ + | X509_V_FLAG_EXPLICIT_POLICY \ + | X509_V_FLAG_INHIBIT_ANY \ + | X509_V_FLAG_INHIBIT_MAP) + +int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, int type, + X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, + int type, X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, + X509_OBJECT *x); +void X509_OBJECT_up_ref_count(X509_OBJECT *a); +void X509_OBJECT_free_contents(X509_OBJECT *a); +X509_STORE *X509_STORE_new(void); +void X509_STORE_free(X509_STORE *v); + +STACK_OF(X509) *X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); +STACK_OF(X509_CRL) *X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); +int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); +int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); +int X509_STORE_set_trust(X509_STORE *ctx, int trust); +int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); + +void X509_STORE_set_verify_cb(X509_STORE *ctx, + int (*verify_cb) (int, X509_STORE_CTX *)); + +void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx, + STACK_OF(X509_CRL) *(*cb) (X509_STORE_CTX + *ctx, + X509_NAME *nm)); + +X509_STORE_CTX *X509_STORE_CTX_new(void); + +int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + +void X509_STORE_CTX_free(X509_STORE_CTX *ctx); +int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, + X509 *x509, STACK_OF(X509) *chain); +void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); + +X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx); + +X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); + +X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); +X509_LOOKUP_METHOD *X509_LOOKUP_file(void); + +int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); +int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); + +int X509_STORE_get_by_subject(X509_STORE_CTX *vs, int type, X509_NAME *name, + X509_OBJECT *ret); + +int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); + +# ifndef OPENSSL_NO_STDIO +int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type); +# endif + +X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); +void X509_LOOKUP_free(X509_LOOKUP *ctx); +int X509_LOOKUP_init(X509_LOOKUP *ctx); +int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, int type, X509_NAME *name, + X509_OBJECT *ret); +int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, int type, X509_NAME *name, + ASN1_INTEGER *serial, X509_OBJECT *ret); +int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, int type, + unsigned char *bytes, int len, + X509_OBJECT *ret); +int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, int type, char *str, int len, + X509_OBJECT *ret); +int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); + +# ifndef OPENSSL_NO_STDIO +int X509_STORE_load_locations(X509_STORE *ctx, + const char *file, const char *dir); +int X509_STORE_set_default_paths(X509_STORE *ctx); +# endif + +int X509_STORE_CTX_get_ex_new_index(long argl, void *argp, + CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data); +void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx); +int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s); +int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); +X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); +X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx); +X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_cert(X509_STORE_CTX *c, X509 *x); +void X509_STORE_CTX_set_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk); +void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c, STACK_OF(X509_CRL) *sk); +int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); +int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); +int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, + int purpose, int trust); +void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags); +void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, + time_t t); +void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, + int (*verify_cb) (int, X509_STORE_CTX *)); + +X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); +int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx); + +X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); +int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); + +/* X509_VERIFY_PARAM functions */ + +X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); +void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name); +int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); +int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); +void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); +void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); +int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, + ASN1_OBJECT *policy); +int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, + STACK_OF(ASN1_OBJECT) *policies); + +int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, + unsigned int flags); +char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *); +int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, + const char *email, size_t emaillen); +int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, + const unsigned char *ip, size_t iplen); +int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, + const char *ipasc); + +int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); +const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); + +int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_get_count(void); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); +void X509_VERIFY_PARAM_table_cleanup(void); + +int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, + STACK_OF(X509) *certs, + STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags); + +void X509_policy_tree_free(X509_POLICY_TREE *tree); + +int X509_policy_tree_level_count(const X509_POLICY_TREE *tree); +X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, + int i); + +STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(const + X509_POLICY_TREE + *tree); + +STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(const + X509_POLICY_TREE + *tree); + +int X509_policy_level_node_count(X509_POLICY_LEVEL *level); + +X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, + int i); + +const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node); + +STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(const + X509_POLICY_NODE + *node); +const X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE + *node); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/include/openssl/x509v3.h b/3rdparty/openssl/include/openssl/x509v3.h new file mode 100644 index 0000000..f5c6156 --- /dev/null +++ b/3rdparty/openssl/include/openssl/x509v3.h @@ -0,0 +1,1055 @@ +/* x509v3.h */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project + * 1999. + */ +/* ==================================================================== + * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_X509V3_H +# define HEADER_X509V3_H + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifdef OPENSSL_SYS_WIN32 +/* Under Win32 these are defined in wincrypt.h */ +# undef X509_NAME +# undef X509_CERT_PAIR +# undef X509_EXTENSIONS +# endif + +/* Forward reference */ +struct v3_ext_method; +struct v3_ext_ctx; + +/* Useful typedefs */ + +typedef void *(*X509V3_EXT_NEW)(void); +typedef void (*X509V3_EXT_FREE) (void *); +typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long); +typedef int (*X509V3_EXT_I2D) (void *, unsigned char **); +typedef STACK_OF(CONF_VALUE) * + (*X509V3_EXT_I2V) (const struct v3_ext_method *method, void *ext, + STACK_OF(CONF_VALUE) *extlist); +typedef void *(*X509V3_EXT_V2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, + STACK_OF(CONF_VALUE) *values); +typedef char *(*X509V3_EXT_I2S)(const struct v3_ext_method *method, + void *ext); +typedef void *(*X509V3_EXT_S2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); +typedef int (*X509V3_EXT_I2R) (const struct v3_ext_method *method, void *ext, + BIO *out, int indent); +typedef void *(*X509V3_EXT_R2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); + +/* V3 extension structure */ + +struct v3_ext_method { + int ext_nid; + int ext_flags; +/* If this is set the following four fields are ignored */ + ASN1_ITEM_EXP *it; +/* Old style ASN1 calls */ + X509V3_EXT_NEW ext_new; + X509V3_EXT_FREE ext_free; + X509V3_EXT_D2I d2i; + X509V3_EXT_I2D i2d; +/* The following pair is used for string extensions */ + X509V3_EXT_I2S i2s; + X509V3_EXT_S2I s2i; +/* The following pair is used for multi-valued extensions */ + X509V3_EXT_I2V i2v; + X509V3_EXT_V2I v2i; +/* The following are used for raw extensions */ + X509V3_EXT_I2R i2r; + X509V3_EXT_R2I r2i; + void *usr_data; /* Any extension specific data */ +}; + +typedef struct X509V3_CONF_METHOD_st { + char *(*get_string) (void *db, char *section, char *value); + STACK_OF(CONF_VALUE) *(*get_section) (void *db, char *section); + void (*free_string) (void *db, char *string); + void (*free_section) (void *db, STACK_OF(CONF_VALUE) *section); +} X509V3_CONF_METHOD; + +/* Context specific info */ +struct v3_ext_ctx { +# define CTX_TEST 0x1 + int flags; + X509 *issuer_cert; + X509 *subject_cert; + X509_REQ *subject_req; + X509_CRL *crl; + X509V3_CONF_METHOD *db_meth; + void *db; +/* Maybe more here */ +}; + +typedef struct v3_ext_method X509V3_EXT_METHOD; + +DECLARE_STACK_OF(X509V3_EXT_METHOD) + +/* ext_flags values */ +# define X509V3_EXT_DYNAMIC 0x1 +# define X509V3_EXT_CTX_DEP 0x2 +# define X509V3_EXT_MULTILINE 0x4 + +typedef BIT_STRING_BITNAME ENUMERATED_NAMES; + +typedef struct BASIC_CONSTRAINTS_st { + int ca; + ASN1_INTEGER *pathlen; +} BASIC_CONSTRAINTS; + +typedef struct PKEY_USAGE_PERIOD_st { + ASN1_GENERALIZEDTIME *notBefore; + ASN1_GENERALIZEDTIME *notAfter; +} PKEY_USAGE_PERIOD; + +typedef struct otherName_st { + ASN1_OBJECT *type_id; + ASN1_TYPE *value; +} OTHERNAME; + +typedef struct EDIPartyName_st { + ASN1_STRING *nameAssigner; + ASN1_STRING *partyName; +} EDIPARTYNAME; + +typedef struct GENERAL_NAME_st { +# define GEN_OTHERNAME 0 +# define GEN_EMAIL 1 +# define GEN_DNS 2 +# define GEN_X400 3 +# define GEN_DIRNAME 4 +# define GEN_EDIPARTY 5 +# define GEN_URI 6 +# define GEN_IPADD 7 +# define GEN_RID 8 + int type; + union { + char *ptr; + OTHERNAME *otherName; /* otherName */ + ASN1_IA5STRING *rfc822Name; + ASN1_IA5STRING *dNSName; + ASN1_TYPE *x400Address; + X509_NAME *directoryName; + EDIPARTYNAME *ediPartyName; + ASN1_IA5STRING *uniformResourceIdentifier; + ASN1_OCTET_STRING *iPAddress; + ASN1_OBJECT *registeredID; + /* Old names */ + ASN1_OCTET_STRING *ip; /* iPAddress */ + X509_NAME *dirn; /* dirn */ + ASN1_IA5STRING *ia5; /* rfc822Name, dNSName, + * uniformResourceIdentifier */ + ASN1_OBJECT *rid; /* registeredID */ + ASN1_TYPE *other; /* x400Address */ + } d; +} GENERAL_NAME; + +typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; + +typedef struct ACCESS_DESCRIPTION_st { + ASN1_OBJECT *method; + GENERAL_NAME *location; +} ACCESS_DESCRIPTION; + +typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; + +typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; + +DECLARE_STACK_OF(GENERAL_NAME) +DECLARE_ASN1_SET_OF(GENERAL_NAME) + +DECLARE_STACK_OF(ACCESS_DESCRIPTION) +DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) + +typedef struct DIST_POINT_NAME_st { + int type; + union { + GENERAL_NAMES *fullname; + STACK_OF(X509_NAME_ENTRY) *relativename; + } name; +/* If relativename then this contains the full distribution point name */ + X509_NAME *dpname; +} DIST_POINT_NAME; +/* All existing reasons */ +# define CRLDP_ALL_REASONS 0x807f + +# define CRL_REASON_NONE -1 +# define CRL_REASON_UNSPECIFIED 0 +# define CRL_REASON_KEY_COMPROMISE 1 +# define CRL_REASON_CA_COMPROMISE 2 +# define CRL_REASON_AFFILIATION_CHANGED 3 +# define CRL_REASON_SUPERSEDED 4 +# define CRL_REASON_CESSATION_OF_OPERATION 5 +# define CRL_REASON_CERTIFICATE_HOLD 6 +# define CRL_REASON_REMOVE_FROM_CRL 8 +# define CRL_REASON_PRIVILEGE_WITHDRAWN 9 +# define CRL_REASON_AA_COMPROMISE 10 + +struct DIST_POINT_st { + DIST_POINT_NAME *distpoint; + ASN1_BIT_STRING *reasons; + GENERAL_NAMES *CRLissuer; + int dp_reasons; +}; + +typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; + +DECLARE_STACK_OF(DIST_POINT) +DECLARE_ASN1_SET_OF(DIST_POINT) + +struct AUTHORITY_KEYID_st { + ASN1_OCTET_STRING *keyid; + GENERAL_NAMES *issuer; + ASN1_INTEGER *serial; +}; + +/* Strong extranet structures */ + +typedef struct SXNET_ID_st { + ASN1_INTEGER *zone; + ASN1_OCTET_STRING *user; +} SXNETID; + +DECLARE_STACK_OF(SXNETID) +DECLARE_ASN1_SET_OF(SXNETID) + +typedef struct SXNET_st { + ASN1_INTEGER *version; + STACK_OF(SXNETID) *ids; +} SXNET; + +typedef struct NOTICEREF_st { + ASN1_STRING *organization; + STACK_OF(ASN1_INTEGER) *noticenos; +} NOTICEREF; + +typedef struct USERNOTICE_st { + NOTICEREF *noticeref; + ASN1_STRING *exptext; +} USERNOTICE; + +typedef struct POLICYQUALINFO_st { + ASN1_OBJECT *pqualid; + union { + ASN1_IA5STRING *cpsuri; + USERNOTICE *usernotice; + ASN1_TYPE *other; + } d; +} POLICYQUALINFO; + +DECLARE_STACK_OF(POLICYQUALINFO) +DECLARE_ASN1_SET_OF(POLICYQUALINFO) + +typedef struct POLICYINFO_st { + ASN1_OBJECT *policyid; + STACK_OF(POLICYQUALINFO) *qualifiers; +} POLICYINFO; + +typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; + +DECLARE_STACK_OF(POLICYINFO) +DECLARE_ASN1_SET_OF(POLICYINFO) + +typedef struct POLICY_MAPPING_st { + ASN1_OBJECT *issuerDomainPolicy; + ASN1_OBJECT *subjectDomainPolicy; +} POLICY_MAPPING; + +DECLARE_STACK_OF(POLICY_MAPPING) + +typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; + +typedef struct GENERAL_SUBTREE_st { + GENERAL_NAME *base; + ASN1_INTEGER *minimum; + ASN1_INTEGER *maximum; +} GENERAL_SUBTREE; + +DECLARE_STACK_OF(GENERAL_SUBTREE) + +struct NAME_CONSTRAINTS_st { + STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; + STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; +}; + +typedef struct POLICY_CONSTRAINTS_st { + ASN1_INTEGER *requireExplicitPolicy; + ASN1_INTEGER *inhibitPolicyMapping; +} POLICY_CONSTRAINTS; + +/* Proxy certificate structures, see RFC 3820 */ +typedef struct PROXY_POLICY_st { + ASN1_OBJECT *policyLanguage; + ASN1_OCTET_STRING *policy; +} PROXY_POLICY; + +typedef struct PROXY_CERT_INFO_EXTENSION_st { + ASN1_INTEGER *pcPathLengthConstraint; + PROXY_POLICY *proxyPolicy; +} PROXY_CERT_INFO_EXTENSION; + +DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) +DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) + +struct ISSUING_DIST_POINT_st { + DIST_POINT_NAME *distpoint; + int onlyuser; + int onlyCA; + ASN1_BIT_STRING *onlysomereasons; + int indirectCRL; + int onlyattr; +}; + +/* Values in idp_flags field */ +/* IDP present */ +# define IDP_PRESENT 0x1 +/* IDP values inconsistent */ +# define IDP_INVALID 0x2 +/* onlyuser true */ +# define IDP_ONLYUSER 0x4 +/* onlyCA true */ +# define IDP_ONLYCA 0x8 +/* onlyattr true */ +# define IDP_ONLYATTR 0x10 +/* indirectCRL true */ +# define IDP_INDIRECT 0x20 +/* onlysomereasons present */ +# define IDP_REASONS 0x40 + +# define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \ +",name:", val->name, ",value:", val->value); + +# define X509V3_set_ctx_test(ctx) \ + X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) +# define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL; + +# define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \ + 0,0,0,0, \ + 0,0, \ + (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ + (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ + NULL, NULL, \ + table} + +# define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \ + 0,0,0,0, \ + (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ + (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ + 0,0,0,0, \ + NULL} + +# define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + +/* X509_PURPOSE stuff */ + +# define EXFLAG_BCONS 0x1 +# define EXFLAG_KUSAGE 0x2 +# define EXFLAG_XKUSAGE 0x4 +# define EXFLAG_NSCERT 0x8 + +# define EXFLAG_CA 0x10 +/* Really self issued not necessarily self signed */ +# define EXFLAG_SI 0x20 +# define EXFLAG_V1 0x40 +# define EXFLAG_INVALID 0x80 +# define EXFLAG_SET 0x100 +# define EXFLAG_CRITICAL 0x200 +# define EXFLAG_PROXY 0x400 + +# define EXFLAG_INVALID_POLICY 0x800 +# define EXFLAG_FRESHEST 0x1000 +/* Self signed */ +# define EXFLAG_SS 0x2000 + +# define KU_DIGITAL_SIGNATURE 0x0080 +# define KU_NON_REPUDIATION 0x0040 +# define KU_KEY_ENCIPHERMENT 0x0020 +# define KU_DATA_ENCIPHERMENT 0x0010 +# define KU_KEY_AGREEMENT 0x0008 +# define KU_KEY_CERT_SIGN 0x0004 +# define KU_CRL_SIGN 0x0002 +# define KU_ENCIPHER_ONLY 0x0001 +# define KU_DECIPHER_ONLY 0x8000 + +# define NS_SSL_CLIENT 0x80 +# define NS_SSL_SERVER 0x40 +# define NS_SMIME 0x20 +# define NS_OBJSIGN 0x10 +# define NS_SSL_CA 0x04 +# define NS_SMIME_CA 0x02 +# define NS_OBJSIGN_CA 0x01 +# define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA) + +# define XKU_SSL_SERVER 0x1 +# define XKU_SSL_CLIENT 0x2 +# define XKU_SMIME 0x4 +# define XKU_CODE_SIGN 0x8 +# define XKU_SGC 0x10 +# define XKU_OCSP_SIGN 0x20 +# define XKU_TIMESTAMP 0x40 +# define XKU_DVCS 0x80 +# define XKU_ANYEKU 0x100 + +# define X509_PURPOSE_DYNAMIC 0x1 +# define X509_PURPOSE_DYNAMIC_NAME 0x2 + +typedef struct x509_purpose_st { + int purpose; + int trust; /* Default trust ID */ + int flags; + int (*check_purpose) (const struct x509_purpose_st *, const X509 *, int); + char *name; + char *sname; + void *usr_data; +} X509_PURPOSE; + +# define X509_PURPOSE_SSL_CLIENT 1 +# define X509_PURPOSE_SSL_SERVER 2 +# define X509_PURPOSE_NS_SSL_SERVER 3 +# define X509_PURPOSE_SMIME_SIGN 4 +# define X509_PURPOSE_SMIME_ENCRYPT 5 +# define X509_PURPOSE_CRL_SIGN 6 +# define X509_PURPOSE_ANY 7 +# define X509_PURPOSE_OCSP_HELPER 8 +# define X509_PURPOSE_TIMESTAMP_SIGN 9 + +# define X509_PURPOSE_MIN 1 +# define X509_PURPOSE_MAX 9 + +/* Flags for X509V3_EXT_print() */ + +# define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) +/* Return error for unknown extensions */ +# define X509V3_EXT_DEFAULT 0 +/* Print error for unknown extensions */ +# define X509V3_EXT_ERROR_UNKNOWN (1L << 16) +/* ASN1 parse unknown extensions */ +# define X509V3_EXT_PARSE_UNKNOWN (2L << 16) +/* BIO_dump unknown extensions */ +# define X509V3_EXT_DUMP_UNKNOWN (3L << 16) + +/* Flags for X509V3_add1_i2d */ + +# define X509V3_ADD_OP_MASK 0xfL +# define X509V3_ADD_DEFAULT 0L +# define X509V3_ADD_APPEND 1L +# define X509V3_ADD_REPLACE 2L +# define X509V3_ADD_REPLACE_EXISTING 3L +# define X509V3_ADD_KEEP_EXISTING 4L +# define X509V3_ADD_DELETE 5L +# define X509V3_ADD_SILENT 0x10 + +DECLARE_STACK_OF(X509_PURPOSE) + +DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) + +DECLARE_ASN1_FUNCTIONS(SXNET) +DECLARE_ASN1_FUNCTIONS(SXNETID) + +int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen); +int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, + int userlen); +int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, char *user, + int userlen); + +ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone); +ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); +ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); + +DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) + +DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) +GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); +int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); + +ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, + STACK_OF(CONF_VALUE) *nval); +STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + ASN1_BIT_STRING *bits, + STACK_OF(CONF_VALUE) *extlist); + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, + GENERAL_NAME *gen, + STACK_OF(CONF_VALUE) *ret); +int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, + GENERAL_NAMES *gen, + STACK_OF(CONF_VALUE) *extlist); +GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); + +DECLARE_ASN1_FUNCTIONS(OTHERNAME) +DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) +int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); +void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value); +void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype); +int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, + ASN1_OBJECT *oid, ASN1_TYPE *value); +int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, + ASN1_OBJECT **poid, ASN1_TYPE **pvalue); + +char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + ASN1_OCTET_STRING *ia5); +ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, char *str); + +DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) +int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION *a); + +DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) +DECLARE_ASN1_FUNCTIONS(POLICYINFO) +DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) +DECLARE_ASN1_FUNCTIONS(USERNOTICE) +DECLARE_ASN1_FUNCTIONS(NOTICEREF) + +DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) +DECLARE_ASN1_FUNCTIONS(DIST_POINT) +DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) +DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT) + +int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname); + +int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); + +DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) +DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) + +DECLARE_ASN1_ITEM(POLICY_MAPPING) +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING) +DECLARE_ASN1_ITEM(POLICY_MAPPINGS) + +DECLARE_ASN1_ITEM(GENERAL_SUBTREE) +DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE) + +DECLARE_ASN1_ITEM(NAME_CONSTRAINTS) +DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS) + +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) +DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) + +GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, int gen_type, char *value, + int is_nc); + +# ifdef HEADER_CONF_H +GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf); +GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf, + int is_nc); +void X509V3_conf_free(CONF_VALUE *val); + +X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, + char *value); +X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, + char *value); +int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, char *section, + STACK_OF(X509_EXTENSION) **sk); +int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, + X509 *cert); +int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, + X509_REQ *req); +int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, + X509_CRL *crl); + +X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, + X509V3_CTX *ctx, int ext_nid, + char *value); +X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + char *name, char *value); +int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + char *section, X509 *cert); +int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + char *section, X509_REQ *req); +int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + char *section, X509_CRL *crl); + +int X509V3_add_value_bool_nf(char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_get_value_bool(CONF_VALUE *value, int *asn1_bool); +int X509V3_get_value_int(CONF_VALUE *value, ASN1_INTEGER **aint); +void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); +void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash); +# endif + +char *X509V3_get_string(X509V3_CTX *ctx, char *name, char *section); +STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, char *section); +void X509V3_string_free(X509V3_CTX *ctx, char *str); +void X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section); +void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject, + X509_REQ *req, X509_CRL *crl, int flags); + +int X509V3_add_value(const char *name, const char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_uchar(const char *name, const unsigned char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_bool(const char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_int(const char *name, ASN1_INTEGER *aint, + STACK_OF(CONF_VALUE) **extlist); +char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint); +ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, char *value); +char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint); +char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, + ASN1_ENUMERATED *aint); +int X509V3_EXT_add(X509V3_EXT_METHOD *ext); +int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist); +int X509V3_EXT_add_alias(int nid_to, int nid_from); +void X509V3_EXT_cleanup(void); + +const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); +const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); +int X509V3_add_standard_extensions(void); +STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line); +void *X509V3_EXT_d2i(X509_EXTENSION *ext); +void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, + int *idx); +int X509V3_EXT_free(int nid, void *ext_data); + +X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); +int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, + int crit, unsigned long flags); + +char *hex_to_string(const unsigned char *buffer, long len); +unsigned char *string_to_hex(const char *str, long *len); +int name_cmp(const char *name, const char *cmp); + +void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, + int ml); +int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, + int indent); +int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); + +int X509V3_extensions_print(BIO *out, char *title, + STACK_OF(X509_EXTENSION) *exts, + unsigned long flag, int indent); + +int X509_check_ca(X509 *x); +int X509_check_purpose(X509 *x, int id, int ca); +int X509_supported_extension(X509_EXTENSION *ex); +int X509_PURPOSE_set(int *p, int purpose); +int X509_check_issued(X509 *issuer, X509 *subject); +int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid); +int X509_PURPOSE_get_count(void); +X509_PURPOSE *X509_PURPOSE_get0(int idx); +int X509_PURPOSE_get_by_sname(char *sname); +int X509_PURPOSE_get_by_id(int id); +int X509_PURPOSE_add(int id, int trust, int flags, + int (*ck) (const X509_PURPOSE *, const X509 *, int), + char *name, char *sname, void *arg); +char *X509_PURPOSE_get0_name(X509_PURPOSE *xp); +char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp); +int X509_PURPOSE_get_trust(X509_PURPOSE *xp); +void X509_PURPOSE_cleanup(void); +int X509_PURPOSE_get_id(X509_PURPOSE *); + +STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x); +STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x); +void X509_email_free(STACK_OF(OPENSSL_STRING) *sk); +STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x); +/* Flags for X509_check_* functions */ + +/* + * Always check subject name for host match even if subject alt names present + */ +# define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0x1 +/* Disable wildcard matching for dnsName fields and common name. */ +# define X509_CHECK_FLAG_NO_WILDCARDS 0x2 +/* Wildcards must not match a partial label. */ +# define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4 +/* Allow (non-partial) wildcards to match multiple labels. */ +# define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8 +/* Constraint verifier subdomain patterns to match a single labels. */ +# define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10 +/* + * Match reference identifiers starting with "." to any sub-domain. + * This is a non-public flag, turned on implicitly when the subject + * reference identity is a DNS name. + */ +# define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000 + +int X509_check_host(X509 *x, const char *chk, size_t chklen, + unsigned int flags, char **peername); +int X509_check_email(X509 *x, const char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags); + +ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc); +ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc); +int a2i_ipadd(unsigned char *ipout, const char *ipasc); +int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk, + unsigned long chtype); + +void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); +DECLARE_STACK_OF(X509_POLICY_NODE) + +# ifndef OPENSSL_NO_RFC3779 + +typedef struct ASRange_st { + ASN1_INTEGER *min, *max; +} ASRange; + +# define ASIdOrRange_id 0 +# define ASIdOrRange_range 1 + +typedef struct ASIdOrRange_st { + int type; + union { + ASN1_INTEGER *id; + ASRange *range; + } u; +} ASIdOrRange; + +typedef STACK_OF(ASIdOrRange) ASIdOrRanges; +DECLARE_STACK_OF(ASIdOrRange) + +# define ASIdentifierChoice_inherit 0 +# define ASIdentifierChoice_asIdsOrRanges 1 + +typedef struct ASIdentifierChoice_st { + int type; + union { + ASN1_NULL *inherit; + ASIdOrRanges *asIdsOrRanges; + } u; +} ASIdentifierChoice; + +typedef struct ASIdentifiers_st { + ASIdentifierChoice *asnum, *rdi; +} ASIdentifiers; + +DECLARE_ASN1_FUNCTIONS(ASRange) +DECLARE_ASN1_FUNCTIONS(ASIdOrRange) +DECLARE_ASN1_FUNCTIONS(ASIdentifierChoice) +DECLARE_ASN1_FUNCTIONS(ASIdentifiers) + +typedef struct IPAddressRange_st { + ASN1_BIT_STRING *min, *max; +} IPAddressRange; + +# define IPAddressOrRange_addressPrefix 0 +# define IPAddressOrRange_addressRange 1 + +typedef struct IPAddressOrRange_st { + int type; + union { + ASN1_BIT_STRING *addressPrefix; + IPAddressRange *addressRange; + } u; +} IPAddressOrRange; + +typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; +DECLARE_STACK_OF(IPAddressOrRange) + +# define IPAddressChoice_inherit 0 +# define IPAddressChoice_addressesOrRanges 1 + +typedef struct IPAddressChoice_st { + int type; + union { + ASN1_NULL *inherit; + IPAddressOrRanges *addressesOrRanges; + } u; +} IPAddressChoice; + +typedef struct IPAddressFamily_st { + ASN1_OCTET_STRING *addressFamily; + IPAddressChoice *ipAddressChoice; +} IPAddressFamily; + +typedef STACK_OF(IPAddressFamily) IPAddrBlocks; +DECLARE_STACK_OF(IPAddressFamily) + +DECLARE_ASN1_FUNCTIONS(IPAddressRange) +DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) +DECLARE_ASN1_FUNCTIONS(IPAddressChoice) +DECLARE_ASN1_FUNCTIONS(IPAddressFamily) + +/* + * API tag for elements of the ASIdentifer SEQUENCE. + */ +# define V3_ASID_ASNUM 0 +# define V3_ASID_RDI 1 + +/* + * AFI values, assigned by IANA. It'd be nice to make the AFI + * handling code totally generic, but there are too many little things + * that would need to be defined for other address families for it to + * be worth the trouble. + */ +# define IANA_AFI_IPV4 1 +# define IANA_AFI_IPV6 2 + +/* + * Utilities to construct and extract values from RFC3779 extensions, + * since some of the encodings (particularly for IP address prefixes + * and ranges) are a bit tedious to work with directly. + */ +int v3_asid_add_inherit(ASIdentifiers *asid, int which); +int v3_asid_add_id_or_range(ASIdentifiers *asid, int which, + ASN1_INTEGER *min, ASN1_INTEGER *max); +int v3_addr_add_inherit(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi); +int v3_addr_add_prefix(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *a, const int prefixlen); +int v3_addr_add_range(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *min, unsigned char *max); +unsigned v3_addr_get_afi(const IPAddressFamily *f); +int v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, + unsigned char *min, unsigned char *max, + const int length); + +/* + * Canonical forms. + */ +int v3_asid_is_canonical(ASIdentifiers *asid); +int v3_addr_is_canonical(IPAddrBlocks *addr); +int v3_asid_canonize(ASIdentifiers *asid); +int v3_addr_canonize(IPAddrBlocks *addr); + +/* + * Tests for inheritance and containment. + */ +int v3_asid_inherits(ASIdentifiers *asid); +int v3_addr_inherits(IPAddrBlocks *addr); +int v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); +int v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); + +/* + * Check whether RFC 3779 extensions nest properly in chains. + */ +int v3_asid_validate_path(X509_STORE_CTX *); +int v3_addr_validate_path(X509_STORE_CTX *); +int v3_asid_validate_resource_set(STACK_OF(X509) *chain, + ASIdentifiers *ext, int allow_inheritance); +int v3_addr_validate_resource_set(STACK_OF(X509) *chain, + IPAddrBlocks *ext, int allow_inheritance); + +# endif /* OPENSSL_NO_RFC3779 */ + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_X509V3_strings(void); + +/* Error codes for the X509V3 functions. */ + +/* Function codes. */ +# define X509V3_F_A2I_GENERAL_NAME 164 +# define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 161 +# define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 162 +# define X509V3_F_COPY_EMAIL 122 +# define X509V3_F_COPY_ISSUER 123 +# define X509V3_F_DO_DIRNAME 144 +# define X509V3_F_DO_EXT_CONF 124 +# define X509V3_F_DO_EXT_I2D 135 +# define X509V3_F_DO_EXT_NCONF 151 +# define X509V3_F_DO_I2V_NAME_CONSTRAINTS 148 +# define X509V3_F_GNAMES_FROM_SECTNAME 156 +# define X509V3_F_HEX_TO_STRING 111 +# define X509V3_F_I2S_ASN1_ENUMERATED 121 +# define X509V3_F_I2S_ASN1_IA5STRING 149 +# define X509V3_F_I2S_ASN1_INTEGER 120 +# define X509V3_F_I2V_AUTHORITY_INFO_ACCESS 138 +# define X509V3_F_NOTICE_SECTION 132 +# define X509V3_F_NREF_NOS 133 +# define X509V3_F_POLICY_SECTION 131 +# define X509V3_F_PROCESS_PCI_VALUE 150 +# define X509V3_F_R2I_CERTPOL 130 +# define X509V3_F_R2I_PCI 155 +# define X509V3_F_S2I_ASN1_IA5STRING 100 +# define X509V3_F_S2I_ASN1_INTEGER 108 +# define X509V3_F_S2I_ASN1_OCTET_STRING 112 +# define X509V3_F_S2I_ASN1_SKEY_ID 114 +# define X509V3_F_S2I_SKEY_ID 115 +# define X509V3_F_SET_DIST_POINT_NAME 158 +# define X509V3_F_STRING_TO_HEX 113 +# define X509V3_F_SXNET_ADD_ID_ASC 125 +# define X509V3_F_SXNET_ADD_ID_INTEGER 126 +# define X509V3_F_SXNET_ADD_ID_ULONG 127 +# define X509V3_F_SXNET_GET_ID_ASC 128 +# define X509V3_F_SXNET_GET_ID_ULONG 129 +# define X509V3_F_V2I_ASIDENTIFIERS 163 +# define X509V3_F_V2I_ASN1_BIT_STRING 101 +# define X509V3_F_V2I_AUTHORITY_INFO_ACCESS 139 +# define X509V3_F_V2I_AUTHORITY_KEYID 119 +# define X509V3_F_V2I_BASIC_CONSTRAINTS 102 +# define X509V3_F_V2I_CRLD 134 +# define X509V3_F_V2I_EXTENDED_KEY_USAGE 103 +# define X509V3_F_V2I_GENERAL_NAMES 118 +# define X509V3_F_V2I_GENERAL_NAME_EX 117 +# define X509V3_F_V2I_IDP 157 +# define X509V3_F_V2I_IPADDRBLOCKS 159 +# define X509V3_F_V2I_ISSUER_ALT 153 +# define X509V3_F_V2I_NAME_CONSTRAINTS 147 +# define X509V3_F_V2I_POLICY_CONSTRAINTS 146 +# define X509V3_F_V2I_POLICY_MAPPINGS 145 +# define X509V3_F_V2I_SUBJECT_ALT 154 +# define X509V3_F_V3_ADDR_VALIDATE_PATH_INTERNAL 160 +# define X509V3_F_V3_GENERIC_EXTENSION 116 +# define X509V3_F_X509V3_ADD1_I2D 140 +# define X509V3_F_X509V3_ADD_VALUE 105 +# define X509V3_F_X509V3_EXT_ADD 104 +# define X509V3_F_X509V3_EXT_ADD_ALIAS 106 +# define X509V3_F_X509V3_EXT_CONF 107 +# define X509V3_F_X509V3_EXT_FREE 165 +# define X509V3_F_X509V3_EXT_I2D 136 +# define X509V3_F_X509V3_EXT_NCONF 152 +# define X509V3_F_X509V3_GET_SECTION 142 +# define X509V3_F_X509V3_GET_STRING 143 +# define X509V3_F_X509V3_GET_VALUE_BOOL 110 +# define X509V3_F_X509V3_PARSE_LIST 109 +# define X509V3_F_X509_PURPOSE_ADD 137 +# define X509V3_F_X509_PURPOSE_SET 141 + +/* Reason codes. */ +# define X509V3_R_BAD_IP_ADDRESS 118 +# define X509V3_R_BAD_OBJECT 119 +# define X509V3_R_BN_DEC2BN_ERROR 100 +# define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 +# define X509V3_R_CANNOT_FIND_FREE_FUNCTION 168 +# define X509V3_R_DIRNAME_ERROR 149 +# define X509V3_R_DISTPOINT_ALREADY_SET 160 +# define X509V3_R_DUPLICATE_ZONE_ID 133 +# define X509V3_R_ERROR_CONVERTING_ZONE 131 +# define X509V3_R_ERROR_CREATING_EXTENSION 144 +# define X509V3_R_ERROR_IN_EXTENSION 128 +# define X509V3_R_EXPECTED_A_SECTION_NAME 137 +# define X509V3_R_EXTENSION_EXISTS 145 +# define X509V3_R_EXTENSION_NAME_ERROR 115 +# define X509V3_R_EXTENSION_NOT_FOUND 102 +# define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 +# define X509V3_R_EXTENSION_VALUE_ERROR 116 +# define X509V3_R_ILLEGAL_EMPTY_EXTENSION 151 +# define X509V3_R_ILLEGAL_HEX_DIGIT 113 +# define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG 152 +# define X509V3_R_INVALID_ASNUMBER 162 +# define X509V3_R_INVALID_ASRANGE 163 +# define X509V3_R_INVALID_BOOLEAN_STRING 104 +# define X509V3_R_INVALID_EXTENSION_STRING 105 +# define X509V3_R_INVALID_INHERITANCE 165 +# define X509V3_R_INVALID_IPADDRESS 166 +# define X509V3_R_INVALID_MULTIPLE_RDNS 161 +# define X509V3_R_INVALID_NAME 106 +# define X509V3_R_INVALID_NULL_ARGUMENT 107 +# define X509V3_R_INVALID_NULL_NAME 108 +# define X509V3_R_INVALID_NULL_VALUE 109 +# define X509V3_R_INVALID_NUMBER 140 +# define X509V3_R_INVALID_NUMBERS 141 +# define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 +# define X509V3_R_INVALID_OPTION 138 +# define X509V3_R_INVALID_POLICY_IDENTIFIER 134 +# define X509V3_R_INVALID_PROXY_POLICY_SETTING 153 +# define X509V3_R_INVALID_PURPOSE 146 +# define X509V3_R_INVALID_SAFI 164 +# define X509V3_R_INVALID_SECTION 135 +# define X509V3_R_INVALID_SYNTAX 143 +# define X509V3_R_ISSUER_DECODE_ERROR 126 +# define X509V3_R_MISSING_VALUE 124 +# define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 142 +# define X509V3_R_NO_CONFIG_DATABASE 136 +# define X509V3_R_NO_ISSUER_CERTIFICATE 121 +# define X509V3_R_NO_ISSUER_DETAILS 127 +# define X509V3_R_NO_POLICY_IDENTIFIER 139 +# define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED 154 +# define X509V3_R_NO_PUBLIC_KEY 114 +# define X509V3_R_NO_SUBJECT_DETAILS 125 +# define X509V3_R_ODD_NUMBER_OF_DIGITS 112 +# define X509V3_R_OPERATION_NOT_DEFINED 148 +# define X509V3_R_OTHERNAME_ERROR 147 +# define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED 155 +# define X509V3_R_POLICY_PATH_LENGTH 156 +# define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED 157 +# define X509V3_R_POLICY_SYNTAX_NOT_CURRENTLY_SUPPORTED 158 +# define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 159 +# define X509V3_R_SECTION_NOT_FOUND 150 +# define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS 122 +# define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID 123 +# define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT 111 +# define X509V3_R_UNKNOWN_EXTENSION 129 +# define X509V3_R_UNKNOWN_EXTENSION_NAME 130 +# define X509V3_R_UNKNOWN_OPTION 120 +# define X509V3_R_UNSUPPORTED_OPTION 117 +# define X509V3_R_UNSUPPORTED_TYPE 167 +# define X509V3_R_USER_TOO_LONG 132 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/3rdparty/openssl/libs/libcrypto.so b/3rdparty/openssl/libs/libcrypto.so new file mode 100644 index 0000000000000000000000000000000000000000..f9200a8c4f5886c7ed4b09f670690182fa7537cc GIT binary patch literal 2334400 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%0A6-6Ea6$w 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

{n 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

-S{uz$R1T@pX}Y^@t)TZTPYWV?|?g9<=_@BeoM@9SNx>v8?aMuAddI}=r_k0-Rb1M)rjQ7W6g{?s%o&(^wSP_|+K`vc^QLF02H!mJf=X=CRq9)qclPq_ZPo^Rf5c2k6b##LeWjqw#f-nxd5g0z zavryvIVaj|h<;@3i=4%sZf+YfH(EMq89YOHMd!V$g>lmvaM6+Ce1+SSJlG5Vgh$`@ zp21U@W82o=L);CWw^rMKrw*M%7L5vqIJB6f?HK;gN%}ARXl@nQHjDRd!rwUdZ~CVC z#1E9O26~IX**!x(6gK^eYbN=0-IJ;~GhzNTV@RTXRUPLC855lqK&FnzhuPY%a`5&j zbpq3z4A1h*3G)rDVQTQReZuD(ON=tcCbF%568kpeThI%hzaO7i_VxB+SJ`tLw)Q0^ z{YT-Na?<;{MkU&74i+@6g%0<8G|}G7^Lae)JqfsYev!JLKQ+<5k>{IuPHwJRR{vPl zB+2dq_+8;ZQ{C@KQ;qLqyBR|KgrTN=7kwnKdON=A?aF6Nba0XwSbgCyOvI6A)_=D+ z!aQr1JQJ-JCnlY6^~mWF=r9T$j)4a2_{GWd9DLxn>f;w8m-Jr>jgn^mY^;o$Rm?YV z{2c%5_!sW_wiz$%m19^KTea-Uw z82Q8U_Gif2tNDG3^cw1syj6XYw_oZbZ)fQY7d*di$c?v)=N}c!t1!=ZGNI7Qgnozp z9^S7hWIZH%k2@P8o-LW6`;w%~E?O{T==0-DepMlSxfDG@XJOH44fe!4?bsikR*a9_ zM5D9%*uzS)Zx7|33(Ct^lX=$3ICZvSOJ79{f9XxJp{8xs=UqM6;26WAtbF(}ZIg)wOBMSK~#SYPr^m90OLR!1do~$Y`bHqnBq7x^P zS*pkRt`=pF59&W3{Ho2){$|BHoF)I`Q28bg&%Qk>njW^ztxMSl7^>JW@Eu?%&KCXI z!fv0ZANlq~t?w&HtNW|s=xL8%=YYzxlYxu7;oItfE6SZFmvi6sUgC|2?`xl{qv-94 z!||JZexkKiWph(mC$mNrZ^TwvnHxvnwk6(CdK{kdCi^o_zstRq;3CWqJr8_uk+b_Z zn)0EuklB){u|Q_$crG}`jMrG1i-!f%^>;sy_==2Eg_7whPr+B*8jCIJA?YWs6R%%!r7V7)e7=0 zdS!s_C7-4>zT!|=pHygIFSvNV*|Z;DL|lqy@I!xdFL4HsIt~<+N#3@}E_)ZUq6Y@X zPh%w*#;ERsW5-T@O>&vBP4u^8`)$&D@{{KCk02d5hJKZQjceG}-g9=*(ywW|kiJNl zmhYu}+MY&^-j8msex1uV&0p<%cdf2YH?SXQh+(jx)Xn!4{IdgH-Z1_fr|I1Fu*I9tgx`uDVP*xUv07(2$jZH3QEZlPbQvoV7mDO9h@D~5{3>~QTq#5chRPw1VG z^egOtvzG7hpz*D=Asglz-tBYZq;xCK^?Z}gpmmZ@zk_s*jT@id{b=SEebId#sm@0^ z-)r&D8g$=Ix0jm>#%9T*qG!MEaQmL>qkKVo`iReGf_*mn*m)EE&>o1M`TQ2}pY|IM-~Re3>{0plBcb-M_?PYXuJ1&jP<4J2_W#S(2G8~AvKprvbXD+7 zoHD1|Rw=E+G;Ja+Nt!{|wfb!`(gZyt>x;5E^rR=Bw0;_uI-}EyUS0oK{iOOrGrkyp z6&c9-23i%q#{~UVzLRKsCwQk`_G8M%Ci_d@@%#5~uUut@hsqpJnb$e9win;t)zDf? zK)cA6PR3@v@G=HG^sQ$I<&R> zwC`aUNF6%@n)CXqUAuw9IP+KML}g2JYdh_sr8*a4dlda;tPMndhVnTr&dQ%nwmS9W zlkft`Df9qqXZ34fy?goP(|YMWJl^iS-jj^C>UQ>*i2UK#$C*D*9m{zIVz+GKUEkxm z>huoMa-7lpK6LTi<&mZY`t5TsM4DoZc~3s#@I6XC^z7cUu`|+}NHe6Vep?^&^{!(i=&Jld zzM&VU_*VWf-}KD47=FDm@Vzl=xP!ZHo%TbNrz6k#cH-*+pG{Yu@ESpRumx2;%2=x0 zUh+m6=S=~vd78PI_$dwe1$9tfenF4WUw!lEZq!$usT#UJ*n`wJ?Exp?m9U(NAjDbB~?X_lvZDlCGl+w%}^5qm(DZ zT3UFOjr$5>Z6=_<-L#=OT?Kth*4$d+?r+QC=j-?P)V|sl+%+#^C!tN^|EASm3jIa% zQSiNvZYa6Y95vM!Q@`Y$+Nfvz;3a9nEPa3Xm`%6W6`F~vS9P>tGgX<%l(G5?dsw1V z>5@kSSGfFI&h&Osep7zHMDYXV_qfsifa*CtXgj9ki8qr8-Y=9s*Ln6vtl{LvyVG-MvaI4B_k?a2Dr$qi`m>{YQ}Pq8-ty$D!&N zJ-Sy;_&T1W4*B8O@5I3p4-2>PG~Yce&y!F5O?h=5NO|{uEM?{06QO+19wy)DlU=?o zp?vZ!R$W_(eYcxu@kn&^*G88m-qE^Cd`UL0BxAgbe7n$5Jgv{_;t}gYfO}>g17VC=cxNAuX(O`cqdhJ~st@ zmG73{+tB<;u%^-(A@#-aUg}^yxa64kR{jaN$K6$(HrGdrL@%o+rl#dtU$Sn&H-r5; z=BMIV-%mfr!H+Z0b@NNumf*u}(D?>vvKZcd#gO+_zRUV)1a{hbY_o|uIs=!Oa35_L z(ux)=dT{RXW@w6U@1kcV<|OU+Z1BC9?<@G8+>9Md_N&p@4khz%jJS8~1F~z(y)1G` zl6<$3PxUpAars)vC)-yI`PMRiE68^n-#J59xwFJfvhcIl`!;)$yP~DrgiAdRMcY#tKh2W{Xu`v)wj$Io-9a&`*PIpT-9ca8 zQEZR^cESA{OFzB(s_0(4O*-RSN9#^mt&P#U;91jIFX^oGJjOAD4xGAb?j+fk6{oFl z>{c7+#SBg#`>f87_tvkvW2`C5SwFVGYt^3i^y1RZbY2(RF7qhA8XZRabKiKDy(fIb zXpeQVmz_>OPO?9I?0wd!&c*{uQLg$K)*i?NJrj4p#yv5VlWfZA{QQu?>C~U>nm8+2 zr*93c*Wkl;?c(Iu!|S}=L%br6{-wFpjUVh~*bJO)#I(sbR`U$`5v;eFzqIex+r7TR zN5LE3AYJoW^Fw|}*AoA-d|R}s9zLLcAQ#(f%1l!iwv7n*kR9ee;7@W^TYTaEGIuWh zP5fqi`NURhyY;>te!j~Vq_x-q`g>sLU<;${A(F-FpX?&4Bf^^aiKnejXy11hI=jf9 zNjpe<*C^wp@tVb02~NQk$2LMA+F9FGNhTy2r{Z9YWXDg@mwWE*9TVkw5_~6#MWbiw zpy0gI)1X_^xqW=io8jcuIlLV0v{0AU(QhEPfFD~yN%luQ_*EZDxRbqT&MDycPSS-# zbc17Suyu*QIy`a@qVPzZ8|A;{Fy&7sZx|lI>1CUvhu<7R53+@MS@F!XPN&xVn7_rz z;X7$Bj?C2Dv1OS@q?gWKMDF(`XT-5q>T^sD`boC{bG%b zoix?Cmp0HRwMTnMe?M@4xTU*DwieywhqTdwy~n&T;8Z)dlR5j{-MvHfBA=Ybj*q0F zv1!Vi8)x3@X0PW@rL-hfH~y^r9$dzN01Q zCpS;r-pV)D=*#pi#U5{h@4#E><*n9M-BHtY3+qIUw`8!P5Bjb#@o^+ukdf-=^Yq#7 zv5ced@RHp{k#sY7DQAzR7T(b{72d186y(wF^SLuydnr8cxybFeoXGRu>2AMe8*+$x zs~7h-)k_AM>ZM1UYWZ!c{czjDRW17b?qkkbxAP2ckDCr)iJ+tUxo!QUw>aLyS;b267x8|4Vpb{+ zPLee(zR1|gWeX_EdOG_XvE?niMZLB$(Vfl`=s!H))RxvNRT)NWq?VWipKE32$7rywOhk73NjBtcs zh3|9!_0Be$AZ>1R*!H)8bC@Yw=6F;|cGXqmCY=Jjf;9&%x1#@cY>q8Eku+pJY49U# zz8e{{@8tYu3f>v^jh8Ol#(A##%|p_*jlfsse_!ampMDg+ z^^FIoBwC%xsrG&U>8q373b;kDQWU z9WKxNkHh78e=J;{_c1|vTmQi+`OV?)ydNK~pZgNpO6J>(d2=Vo~FEM$=6&n);jGScoV#-Z!PrtZ=P?Y&4}<@Y2s zGmHDZ4Dim1vHwq5|LxY%@0HeZ{}=jA6GCJLG+|+xg)WY*zbD`8D}Xboub*HJo*&^^ z>(CC$K2E(gz?9^ZnrZ8k)U9ty*WF{RS!UD#TT1`5osj+- zeAhVCL&pX@#7L{<-?w>BpEk)iBLQrxcN6U~CoiE-oi#z5zCHA7+g^r$`<*tW6Whw5B~*!n}4ankIAhQrL$pMS{Xac9Hy-g%ys!msBiFx@h$W- zNu9jg{W#UJn6!G*G?ul-;ZpUeFQP}k{t+*XVgK;;i62UbL8r7dlY}oFaC&ZKf|xnq z>9BV1Y!Q10*n);?Z*mAc5LsAx$CKSFf3>T7jKs&KL)i#?=mK~!;YOm<#> z)+*?`ckF`K9AT;yZ$Rse2y3hP)ZyetN%k79Z-W1nOy258C3sh4iEYr8-X za(zp3mMjK*8qX5eEIZ%muG$*3V{I6xf3OX;zk_ys8-F9ef7W=b+}2ZExz)hsVG~>` zyNR;$|5jgq$Nzhaves8F295338ko6>PCVlY_(8em9{vzIZ&c3w+r)gTfX?h%Yzg+` znAV*|*#}QXkD*=34--2*E!*;sxswN4u>8%f8FyKo&g#R`P2mOg)VGOpDjScTnl_nJ zZQ1WqHi?}AI_CVIE0@6LCR%M}{UchZ%yPA3VpVCqKSLSftJpHK`<09D2yW(X1RuAc z%z9fUahfgjgkU6Ao7&O&(^#l)>PwXV4cyH5F~@xWZ29DA>C07?{R@>9zn0(7A#KE5 z8*St>#HLriC&+V1f0M4i)5*i#5;l*<|ByU6m*-RD>3GxSk!{+;8e!aufLlB@!MN2V zu#?bltM4>M(yg?sdA^{|=w68R-Af|X2Ns`3jG5A`=1Ak1#DX^%%S&0~G~!>>c%~Wp ziAQ9kaQk1|2C)`^uB4Y#^DO?MvZ`0*zkk)J1**fBJvmgio&3$wvVGV^dUbG1C)oHk zcDd8i#p?T;-Ih+~hx?v6&3;$D!RkA6LwNoQc`iRXQ7xFi#NLwNnvMN+G4(cLo2|oN zED}p~4gwC@&BMG}Yk1}WYa#grxw9Sv;VCoV0kS)ZXE{Dyl075fXX@irz9VN?2lU#l zuBJ~rp$pN!;L;rQ`dRq>$tPvwb9;d3lx>TB+#UfJQ>liW{IR&qIx>}(*fEo;W5>!6MAQa(n%1y@fQ?F-Si z^n^$-591xDrO*eZ`4NweO@Hn%Z3plzkLMhG7at}M^(~Jl zPfvgHFyBNQoG)KKpZT(3^SHFl3!R=#Ud@9BXx-0^I_66q^JOC6nxiHAgnNxqJ-&an9ak z&7eIAoyQOjB{*Y5Z2qPU{!k}_Gh+QVy$mg|@6vQ6Y4!LSORm*3zqQx#1?Hq|w8-PO zkFehbp6#6*2E3obdFLNOJBobxrTB9aEAG=kGbc5_muooeF`yl3G z^YQR)e2<$e&|C2lvoe{wZlHW@2=VuT*UP)xqViMlej!e#a+g8VCiXkk*J|Xy`icx| zbN;$z*>(R2Vo*|-;HfZ+Eg$>(L3j-Qa^ItV`Be$dUn?(gX>U_~pG?2kuusvT^Nzu} z?pIhZDbE3LB>C#$@i2N@=`+-C*TVa|Hz1>z7qXAy^#@P zI(wtSGd$PADmb^E$@y*eNqiaBgz&@?jpeHe#z(OT&miuq_Dr_;^7K_PG=vl3=11Vb z_wQEHpSq}frSK|TLoc26;9EG}%D&9%5RO;SmT;_d#1?m-2>Jj#im@ylY^E+hZmRRs z)b&b`f3Nm}=)+?4ArHUcxq*7WMxL$br>3dQX4+Ky5&jeS63q|#XyT&be#j_P3ng3*B-8IZJ$MgNUDu=T;dW+<;<}r5U%FD4S#lXGBKzt&e zI4xaI+7{Z(p!;Jt#$F&l%d)_3+$(pSzPxqqYxs(fBEQZ|_tX(vwNwLw>(6VBtwtrOzULiQut5n*p4us`NzV7cJt4uJIAB z3(sW?gMBsa?~Mv@*@8^7^g{f!Ul4CqGD+}D4y){%$-QIM8k8@ltYN%FJ7Hfm;amRB z*k{0rWOt$U-6#acANP!hi_dKJA>rEE?IU*ISAM`RyR&%N41Dwl_>_qb%9fnT`LwDY zJDqd}?fstfq-;jTb8bN;-M7jN+fG%xL*WP)2@?9;W4#k&bV_$9liVgZO!BjWJI-`~0fLe^*6Sdgh)($Ny1a(%37uk?78k|0AULj( zJ*FxN{>8hml1>}YiN->7@)`0N)}k)<9(?!4^Twub&l);?JJ@%nFUQaatAh|vqXOERN87UFI2m1<9Za8P3w3nH znIh!gcPJw{GTY@v7kBnr?QtGy=}k8E!0#ZmPo#dzmqmRXPg&vZaQQ4P;YZ?WZBxK| z-rW1Xy~kW*uAlbg;+(bBd>?zjtuIpG%G=k~=ih(V&8w7^*PL~_%cL(mfQ&|_=9Grd zWzy;{hx%9whP}+$Ml;^U?FnFb5*Qp$cXuT{P5rV%2_Apet#@4!4dlmo>&GKJ%U9qx z1Mo}0mLphyN_pubMzRS$k@UO+zLwP83+xdZ^fE)7IQ0{_ZOm=_5z_cgwm-lf$Kqkc zEC|MISa#3rCawLE_4rW4pmWZJwQCKnF&jmDv|Sa}jdZq2HYyjxLiu{fMc;Hkg77f~ zULkzcfs6V8AIrgq*C|#|_u=Xl|Ao$7KZtRse#qXTI+qgbN9R2CyhgEl0(|@W7f}C; zzJ1#4`~7Qt*IM4;zgNDvy#>V>bAAuvHD%x%zZ0u_<72erc7Bp2??OlSLetXWstd-a zXCiYPPtm@8@tg}83)TN~@`%3-1AeF9pzkr3=;T($h`&sv{&;eHIs+e>!Z+t$=Fi3=d*3@fJFW_bodzcFut8nbB?gQ!1=Be4z63+iasuW-tw#N zm9JjtV)5(!o4lU~{skX9*^I7|(ug zui$%zvx%ZhLp+#L)*Ii)UaB#@4gdO{xq291BJoVo%>erBbQEw<;P4{5VT`*pOn{HK z!G~~BhWvV%u}c;>dC6Yx4ADU$ysRk9_$Dzf!t^CwMY31&*vsF&&`>l~ zPW7p-7bvSbv?fgek940nde7I`d-->DUJedrv$Jak#zs8sA>jTne9S!7$!N*@T6oB1 zJK^00Z(F;n##A(s8&S8g_O))?-=*mPg0Ue4w_t4tX4#lxAPJ zK=Y3MqW{rV|W+>GC-5pPJ>~bvA7K>+V_gh5Il32?vsyznh@5VurhMwf|{~ zS&y{WCGnxuxk>C#3CS7mo`64*-^<0#Yv)n7hxv*l^(A+ zJnpPtLFN6Y5mO$#+BgL4!_M4uCiYL+`{j#c?GdlWQ)i|h*{JzyiaWp=XQhw*G`vZD zFwjdqW6=Z+IGH!XmQx*~H`Vh?%4$w00$NkrN5Hx2nn*p`H!0`bo_MYwhr{V=c05K; z&Nqa|gZInAlY?Xy6Bo)q^(Xj%?W6cZ)vR zft*XQroRh1DCEpaW8$pzYV?3j@Sf|5XChdDll~rh&y#egMTOP}i~DgSO-C_)ONo!a zI4JAuRDD-bkLu{{m-E$F10R(is@e+Yzbwe_*R($bPP-OiF3YY4f9n)}uRRsqvRAw^ zYV!2O@<#PTZI0&tTCI(I-JhgR(Vlz>)%TnDSDyrzWY;R{5PZH(#k*6RDSXJ9@nvek z?ks+OcF^Y>Y!xHL6Fx(n~!PAZU+=DO94hdiJ0FGv05G=ykk`F2C;B$9(d;a5OOvK6j?$cLN#s94?A`L^(WWH!`tlXgrUdyU zmnsH3e;}(9V@N?Cn zH0);C>8x9^Em^+tE7q&ueXZN3r_k@kH{86%{|p@HzVcZ|u-2vg=R$QZgKvlN_0~_x zJJGER6K{35>CC-g6O6up!l&+g-Uy6ZkGl0narSSN?SY5*|2iM7G8PVfBQJZB0ls?i ztNMhmcWgd7$^YgHA^qgybMlp6cJEf-XxaDLt=gxll&)^K|_PszU@ z_4CDF5D~U-rZse;rxbHI+LIo`6;_ zV$D-68(@)*UGWd*K(5B*{|udUHxK#Pop(jjiL=~(p?H*NM!IZ@J;rk4e00b+85%{W znD#UHjpg0c*T(qD4jwy0`&Y)<7%ocWe?gm>fyllk3D#K9!xHw|h!wN+chEO!)H&yt zvG6mVmA-^@%g^v5N>rK+^Pr>RO6xbVoLDH(S8?_u1?>6ZZy}n=eap1VUs16jTG(sc z!u=5M07q&9^V`Ejywwi+XL2SjJ4)^o;-@3BjkJY*!p5Y8uAzIEruMr&LA%T`+gI9) z!8^3ZQ@_7LzcU}h&cQh+*#T7U;-IeW(#s22M^%AiVA5RwweG9{7qYutC48{QCY$W} zz_$gs8dD~{23=5cr8bZ&e6fMN3^3zk=un9mwm0h1SkO<) z%anc*Z6&a)r&yz};f!Gly()8}aKU|R-_cqS{Y7JjT%1eaL=&A6?Fnj~>GlNAC0`D| z6T!KZ`@{sR;H(ee+z6bSpXyI3F!(;F=yMo;(RYNijT+s)ON-&)aR?FrB%xQ??Xn@qdXLzAOS z+i`;DeDqY_bLj0E@X!DrlEMRf;-mB(*(%O#Q-^9aXCdNrP)6L+jGbh zg3tBHU8MP1?MADv@FU~gEG3bq<|NOUslX3KNc|!ot&#>3~x-;l^5y^y7XLHS!c=}`g z2u?%~N&NP@=+|!_XRS|M4AJf-%pK`Ad*$mDjBQIWw&yXnIr2Xt-!t$lU40OBDejc| z*Gjo~ESj#SpWwKX`fXp2qmRE5KIz}CR~=m@!2h>^+rSI10hXhn=bL!$0r?qca!vgSv?n+WW_^C=V7pPQr6Ihu2Z^Etwgr7`Bn1>}6Rp z^fu(ZaDR8uclEpQG}dC+-&%vdA3@($r>}1k_1Sn<=mq_*>|QCHO_5(+fHR$aTLqq^ zXAq0HP2+MLd{8*}UVsDqw>GGp%51G$VIH00`;)=nW!-#OZhQ zjlCf8(>44|CYoNFjAAP*uB3rr&;uGSGdOY^&BkuGcR?wx0C| zb=FpX3(`*=@6ou%O#$mA=QH=WhkDN!#DQJwh9ovY`H0r?A48`w$U4RT(prA%RAI?%gh3U3;vf(Z6%7X(cZ+^ig(4)ms^~r~UtNcSJejgtKGhIN%ki4YVT9{8wTDqcEGY;eN`NAZ_Bu0&HL7FT;KEU zq@Hir^3C_x@1KfRCPI5|o$u^2(!X_Azya2rZ!%`z8*Ij7TedOY-C9;_`9PlL`rCC{ zJ9C3I+WN8dwR+2#^i0-P2k5I}u%1Gir<(^DC#%0uegS(98h5w8EXrO)A2puq$b((V zu1PnuCUg6LMcIwf!Z|-fc4|GJ8YErZG#$k}Swg!S7aMmuHGp~R;5&wPQ%8SDJ~OZ< zUq9s|?&0C<>&^ErF@P6C)0>$;YENfB%HG#B`IvS!q6-4cuZdTr zf6;*WTmG*1SF+wI^*FnLx#jWlGCG;>`^|c$e+kz1zArBmtHif0Jh$+(c+OR(AE5o; zQ?F>suiv_`pNN)3L$Wi7pUkJst_J7Y8?T<4|9b;*?Rl=_`2}RT##=g&;eF_5Jw5gM(}>9BHUtZOFAA87x>3(|$i}VT3now@< zTZ)~|c>uoEu%=A1pYP-$`U&!I5^YpLd&s@c4&co3EFEt)I#*+IP&&%maud%9bh3Ad z)zGH(n3boj*YO!Tk@DkMoA=Z?@Z9_;!Ob3lryFnMxAmgOsb2Y#`g-?L@8R-$9Nq;E z6_c-pb!`WD6wcXKX=|h17~@uBOgnwZr^zE6$>+5Nn~BEinqaKt8(`a)zDxTRp?+

+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%0D%=r8kv3u^*6766CJ=zL*slInYS_ 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%0Dco;6X~Mw078u4kH+DaV$JsB84@ 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�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

tS6^D)=k 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
Yd{uvw`EV&e4lO@dIG?0Z{eSG8 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
g5I{awx+KA{g{uJw2QPtV;Bz*3x=M5ye-C&! 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 z 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 gh#v6CUINs^}^Tykb=j<8Z zGXBhwcyFTf$Bkd9txLYe`2N?$I3961KWlvGc)Shc?>FA~y%^s`>qUQTe5|(b=2OP6 z|D&kSD_qWVemMH)R_$DlmjEX{T&=BN9CZF`{!ZmbT+X!d8#Vv!kHVore!spOlylhm zA4=tT9Wc?=xB0zqd`p!tww?d_yJEiBZ#sXy@wuA)^~1({KCkjFzxOHQ`)m99pEiE= zSE7HGod2W7ulT!KiBA3^<)4oJKkodEC!)P`wRMgE$$0N?s`e zc5Ct8?=`;9aW!dtf5Z5V+Wx^mHvafaqW{zQK5Kl*-(O4Re8G=IKVMx8dibE};cnrn zcIEF8=fCoF$dgZ)U*?T3IUXs^r>n-tYWnAEjX&e_50iZOe&cgr5%qbmU;R_YZ@xU* z6{Fv1{F?FIyFy+Ko&O`ouf8C1?lb;Z#`impI@R;D-)#Q%dehU+|E0jmze{hd^3hA2 zf9Xv0!{hFUgT@<|L;l?9{`@DY{F=XO(fC#S+Y|lwjPLtE$j@h8pVu3|u@RK{c-(G0 z37qvj{HImD<)@s#SCeDcjql!!{`siO|9#_Ey&oZs%O{OryF1#I@XvdT`PAp|-0gB+ zWPI$-7?-~_{v(GY|2508M2Gh{f1{>n-f#TcTjISb|54y8jo)${X6m0!<6}N=B=Of9j9*=h{(QoA#9NFn)%-v2GTv|;$e8PM-T3tzQImD! zA2Qx{{6l*0e@gj>@!p%x|J=7m|6Ko`XxA;*=c|qPYWu$LHU8<^KD&Qn{MKDj&NY{R z%=pu_efJL=Z=Vi1_Js2fjrTkcrg7gje#g&5{;SUagT|L?cELN0-}v8xK2!O>Y<%By zLce;a%lS>GO^yY8~QddB!tO`rUX@wwW1>zDlV=;y0n5cPSr-}{xu zcb9^0$6Wr`8h_sZ8SQ^}&zFU7rsazg4q?K5YDm_wA=b2$HRV`R{&vym!p>|4QRWelg_0r`@jC8GpRy z_jtR@@730MuQ~tzn*a9w#`pbFj92m}{E^GK_UbAfej=6gWkH8O=lc8)<2SxE>i;6s z&*#4_+PnXi)pEWXIQ8WHH9yrsCgr~)`sWeX^OMGJ)co*wzCHTkO6@x@|Iql2 zzYRHg(B=H&l;3{)BgT&#?>!OqylMPV<41M_zvOZ0q;hKKLc9Su*DHH}7=eLb<8pq; z`L8`E_-ohrJCq;smi~Ts;_F{`{_A%H-Cpy1f5-Uq9AA{^=P!-lT)I;w-{p9}&-$_G zpIfzcpBEaR^LZ(W-zSV;@w^jnZ!{)_yVBXuqVwIi=p{V(i`{9p_k3Bc|3*@AKpECYD?b15 z=bZno#&7&?&~rLB>HR7HN29%I-v9Rr|Lx$T#P9zpl~dD`|JwL|>u-q;zwm1G!_`0W zyx{(PiScK?Bl>gE{d2(h&BfrCRL+d?{k8SebH;bSJ?i;xm(w+V!{0+p_5TjzW3}^d zf7JL*$5TDya^9WFubt2KfrMM`z0Cc5(|E)4`$?DcH^y%~81nGL&i{A9ohkdd>t95_ zUB5r_r*Zrm<2SB{efK`o?P24)j)Piv`BTQ9_lrS4L+5{3c=kdk*Hbyuq5r3T*iE?o z)%%_QM}Tuay|G%IUw*>)ooiM6y)LKm(y0GOUC-Z5<=58hKW2RF^S@AUOmgN~<2P#O zethvyM893D?UQ|x@gp@q?U?c1THMh$8^50HDcAF)@mv0mOyb{f0ZzI7t#WfJ=|9#gqIe8IY z^|^?N{uhkzui33FA7-Xw2-+W2lO=8N>+cN=f`+}+gw zzYU!2y1rTE_m4UMr=JOaPx(J(e6bh(ll1&M|7G;Ut=f9umm6QI>CfZFuhrJYUT(bS z{j)(WjmC1yU-M&pyYcq3(Qk=Qf5`ZiS{%Yp8h^LXk-p3Q{7c4r?}#@JEjQk8d|xfT z;@=xz`l#v3nIq`QN_5__ePKd6LHKpBSHeO_aai@0~Z^^SqP#dBynRH->%vVduXLoOJR?ZC~y8 zJO9<63VQgs^@JZYe%*8)t!OmfWBk@1hx|$7_1ng8zNgv`A5FOB|3_V)|C;bGhO23w8ehEL_|2sluQZN7YW&uvz#s8@f64g4e;V|b=J)>{INy7vw%_W*sr-G>KT9s> zzZ>7J_4DUG75#S2=kuR*{udi>+!^DN^zg5fzulR#pO1Wz%Xwq;Orop9Dksb6wTJ!QE46vQYy5c+M7!SSa$alvi07jX<5!Gde{1yTy73<~ey|bznB>5(8o%)c zLC-!Gu<-%oSKbrtiocD$7fr|D~X-G!MSY_?XWdN%Q9S z8Qj^mU}OC`M&`Cxs4Yz_I>chLZWquD{%hC4~HF*zF+n`3HNsupL99@ zQRQHtRBd10e|7#FHTn5jKNI~qSKI&ceB+JOE|>rH#;<-T>XZ2H<;Hg%*PZIWlJf5l z{VLJh(D<#IzV~|Ljn`J?+uMxq`>K#LiLQRy`0i^0zv_Das_`p67xW(Ezi0do`)QYq z|9Q&qIEuuNf1U7}J@~ml8~t{(rq937c*FB=D(4>Hr2iYWbE{^ZzxPei-b4@In#%wB z=(ktc{#`eIq_#ftYUA(rc{r(m-ei2*`yH;hz3&k2i|prp&fmDl^P}nZ-`ytv$AGh4 zAFrKD|4El~B^_Yka=r+L9`(SRj|U&6{`pGdH~c-0ldjX4@vBFof71LoW4!TXlrZM} z-)4M&&HvUje%;?kNblVRuK4+yUGsg;zpu7`^X3yk0Tix|fwufE23&-z&Ehx=1G z7#;pQqQ8yCJaEx%ZQXO(`LF-O$e-rB*BHO@>!EkO$#i=~<$O`&$ah!$es6RBTeb5I zo-#i7aLg}l%lThR_+!yCY1}{gozV{s?|Vx9`Mb`)&+8+pKR;&t$WF{J$?x<@uZgf{rt>s>? zxv||kKWGfs`<>->x7}nzR+d}m8|}+mzQ-KREtEe%J64x>Hipej1`xTYKby2OdAic?L$n$hARV$aSt3?!OXS3N}Swo+1B6afktzi_=-bR08 z%*N(=b91}hX>9GFw%x(<%0{OVzum31W}=bC@@97(c^j<@o&ErwjaIc*H6%{Sn;h6=!1`uu8`_1Z|(G&JHzfqv$Z0OBN{oFpI3aQ zyVVX_ES^DjW^fToYb0Gm0d16>U$dliovPXBf*17%^d;hNw0gs4r{6~-r{*7>TRhVo z4Ev&m;UGsqwF3}hqqEX#cU#E4({1DLc5~R>>?ncf^xN*n?`pR<5I~+qq75+t5kMF( zND6*xb!&ta ztK~u5Ni;M!*7abX-FJqUdz~goN|%1eU`QF0o`m=UJ2Ri^1`@GdVv64m>s2Ja)RV1-XZegT`Rb+x3#vUo3c!q6n)fyeSnK z*B6#Ib|68SA%rheK}KhezC5R)beRZ<887uaoJR)TwY}a-cyL~0izGO2w2cF_Q3IPY zu&ix>gZ?l}>P3ys_Q7U*ZNO1rl4OV!NO7}$sJwB=HwNp=31o6b^998~bGwg;uK{q} zr7^i@hO(&fGC6VRzR}DlfTAwrEcVd&1Up5EJ#ykUYTTMAn$ntRu57n23-oK&Hzhq5z;Ip3LQoL`~^B(g?-vzdJiwBTFRPq$4DKe_QtjB3BdiP60XG?6IVSjjhh`-UE%DE&fi#FJ`vYA;w-HnzP&= z@|Ae_VqYS2dS-!z>#}n%C~eOG}YP%!Y{J6g=O{z&nDw1s6_EvMSyfH-LLUW?EzT9WGuwO2f1^0XD6~z3C zPP>CSuC?jH`5F)yigb#U&K{cRT_n1U`M+0r_j8FX`*4i?iz=Hsf+#P zUb?;AC%V`f$Nw?>KY;%ejXoOFSZo7qPvAdpv~i<-P>-Xkc%%=GidQo=h%Ut6=1{r= z!6KtbAfC|}D0$G$?Y9o5$C=z2Zs2y;5961VA|yT9^?SSNv6a;5dN6$PGc|2;7 zU%fc!P(RkIm5eTnq{>#(Z(M1OPaNj^hW(TnII+4C3FM5#T5GdNG}kt%xgT7ClmOmb zTVEcm$7LT{h45C&e`)A4NhMK4QvJIZ8Y^2(%!#N267BAVNOUfdoKBsYZq7V1*PL3M zJv9Rjcka>VvH3Hnnsf6rN6#K>96e116G~PO+}`Tl+Y1IpIWZ?9fqP^&C~uwq*78OJ z^&L>^Xgwt#K-pLBD)@Hq8Xs?KAq4dqSLLXro6);h!o>yW~6<02;4 zNUdx@{f*@LzO-?0Uz9U=3<6T)wALzLDD|_~ht&xMzlj=bVyfX^^=9ZK7^zIH^;ObH zSd+)7g+}7Gtz4GyWP3Q+%Fez=3I(qAw>LozTf?>O%})PvlMP~lo4syi1tn1E0a{y~ zpcF>x!DAD62)#dkX}q!U(0p^aLU;?dH8SY8*=rt}7-t2G>jQ@&U9xK`7M1IX>izKt zAk3J51+z44Ar_Bf0oS34iGw2$^po0ycz+#273+}SikYwWI9|f)U^1-Vh<0Fhtle;f z!7Q~K?wO#DcBkh-6f>X$=Z{TI92|Q9>`L~%|GvZb-e1GU$0iQmdmq6AhbHcG#_>Z3 z?z{I;4V)M|co=P|<~%TV{{-4m1@XrF(1t2_-}u3UsDBkaj6RCGUwYucxJimh7-xO3 zX|vab0%BnTnrjYVy`f!ws1Q_5dLlRgOqytrzjcAsg9Jrnqoo5TnOo~d@(b2a}jO|sk@dw8DD3|DHxkN|H9l!s+ zz0ms(>{Tw%J<0_d<({5hSakOux_|trT2{qQ)G;vmNIqaA`6dn@7|91L@_`5*^n1~z zCq^nWabS;!4~#xM{=k9xXkS($!I2Wj?{kTH#{2fpI8w)PklyHP3VO_o9N()#0HZ=d z+EJ9!50n&tSV@%?VjJA*p2@+9gQFn$a1ZdlvAohzCOFYm$;t${$Kw-+_jnv&v?PCg zd}5EB03&B`O3|bW?HaA|T8ZYgTcV@oq5~?_A9;yJ38Lu$HDQB+Gf2~V6_P$sg-}{U zA|BJyU*5{O?oHb1DsgvZ(~BjgUr&@)kJyw zUQOgs?RuE*Pz_Z5+~nfSiJ3>6gU(~k;Sk{5iMh%7$x}0nGxH00y}=T4MhmL5^XF#L zvjH8OojEx@JH0o!++Jx^vjG{dY`}@x*=XY_`gKtamkt3vIfaTqoXk!&7axW%HL7{r z`{fHL-D?l~T{OF!!;9P1m(9(bUYtCA=G5%u$@CULK-YHyof zW!~@hHZCXog~MTA51m4|ggSkJMkoD5xP;9&pbNbmDYEX)?BLaU<71C3roU9@;nb-t8As<&(xZPMrc2?w1EU$b!Z(#Kay=oMi zkY6`@Pth%^Al_32R7`4U%95_DJ~cKw`L)zv1Y*%3Twl&mT$DaC+zFMjxQE4z?y6m8 zxJ#d0aZg=cIN)#>^~x{V`9G&<^tWNG^EQniSK5^aj#m!8z+xypkzK;)&HQ*y1)xKn`QGlJPxlL-0m-qVkhQ#m zZ-~zzt1h*oDe+LeuFMPe$(}5QIJ4?OiO&w=TmfihqPU7m!fUgQR0uXcm5WGT7oE`R_b8p(z#tZpTH_DAb^uT_->UNX zw0V5Ht!$=V_B@w*@gRPXr=-i!Rd|P;jKPtEFp(>=N=jpKB2)-IJ3_ye0!gjqW4_9s zG16R^eNb^3eD#IC;yI9Fd$34<-|T=>Djh!0DE^ zKw$;j=o;M`%Ti<_B4Q#Y#6(QglmtCyR?_X7#-RJTzK}{5Bc`X#eCg7hRjH=2vb-E% zJAz$!pTk{VX#n%bn1k!$gEbxzmQInxm+)dgPVET-&a zF(%RsKPVheMCGxzdRJW2o0KNGnJEyTXaX$IX(9F}wEnga0WFt5np5z`LQtG1L-mu^vqOpRWYXhs*+b1NIq&#| zI&hn7au^B;nSq351wsizYXL-$a4Z=xC%b{aHBoXrbt7&iiwa5e<$A$ysJV#lU`~2!>{19>R5qyu?K5eZ~E{nZP0nQNoJ~lcBklc?TKFiGmjuj#F*2!v(X^ ziQRyv?}_1BlBGX47CI$OeoRm)DZ8@?}j{6+FgAOL4@3+w9Rh zj`3_{0tXC6HJ`bIt(hu>%<-CxiR&a{^pI-X9)R|#i$`L$r8##4zmA*S*xo)*p(+Rq zNo!D8;zA)!U>8gSP!$ZWV67~orXrKBFJPHIE;qK9p^m7m-tusLBuhXz{TJmKKSbM2HM3j@Ucg z9PDJz}5lEHbfq8bX`#iCSOMn(is;4w_+w|xv#HA~j)e%nl%z`=&p3(8U%>Eu4I z)n)p)%e;LS6nUH_!g;7T54J8=toJT*e)9Bm#LyJ^5d*BClf55USUfX7(@>uB6|HV> zy~72|y`PEOgGT(8kF^o=lGA6cxp5l-r^;47);mu&yzSdGX)?zk^iA<>(K={yoBw|g zQ`-~!4;qwV;#JU$3NG%sK4@{Xlmkh~rWU8`)Rc5haV3R-l6iPsW@1R>DuA;nl zuvrO6?bRh?apEnJpVz!AS+5-KZICU3$oUHQV+r7$G|!{FT5$)P2glM2*v8ftXDD)z z#~7;L4%pl3;OGrim4CVj^LiD-XvF<+t)n!Au%k5mMZj_^bQ6}qX^y>J+|lGmBVTtE zQkxzMiSH7m`lLHaL-jq!4MWU9qfPl4YS&q13^3b9#~J(lb(1 zO29ifP(o?}voOXELE=bZzK?q(dsr_l$`hFUS}aTnJ*$+;RVs>6Qa!4aN>obkWr3@V zSXphWX82KF{HjR&szCfkaY*Pv{JL_i7z^pCcB_~rSR5w{)=r6df>0F3l#63h1u3Ju zz(wL-6gt4x1{BI46{>{lsg#~lO2sP`#Vc8)(~%9%?A$`9=+A*YmN%0Gt5)m7!p+pO#K&0y)2TdfgfVE zA{mtpdI@4#<%<;^DS`(N)Lz1S099$HSv4os&rS!;M0UO2xL%r8X>u$TQW=BD(69p! zV}LCby?zs+qpkHkU9rJdH-``^4Q%A;A=Z;yaOh6fi<_(HTLj*VNP47CYLncu0qwn~ zb``)l0A!%fstjYI+GXrDKxzEZs3@U^E2W-MN{v=3`dP_J{OtzI9TicaeF%@Zhm+A!tq;Udj}ja7)~jx8JR;ccVCN7Nj@UTGJbnxNG24|AuP#BEG17IST{Mt1^OB9(2CSv#chX*I!1kCa7QqHZ{ovvdnee?!zX;T4UDc zy{w&Ubo}*T|AhOL=frPdJ)UDpEX_* zW*A|6Yqf@iao1qO3ox-fXmz`BspJH}M&|;yh$(iQsWA26eA|RP4q{P`<nNIwmL)blm5)Weg&E*4Oo%>*ppz5o0o_R&o7aEymo!Ka!qNha=EcU_EMwM zT%l6U*!L2|RZ$P#VZ3{K0N02h&#tmcbfDmNXpr(JFEFn2VuWM`={hS)*F`1NLkBn> zY<28~NL4U&psaGrR6L%5N<$KuRU$!IJq#USCsaBYwGf#1Fo4v>)k@|%L0U;HN@f&& z)|dmB?3NM419c~M2cX$0nU8pZWdm1WS)&RJEl97)v7%KuShT7Di_R<%ME@ zsS3~~%N)?4TlCa+n%G-{U+yr;`k0s4QxKiUi>yWIUh#SY>ahxvwO0j{P4#8bN?#WZ z)HP&_`GJ?*01;|by09a=xEZ{YE-N)rL(2QuG*OnNi|W0~vpFTO@ZzR-Rbn>9j!IwH zwgv!u6>~lMH8zEme5~uDkhrVeAE~v1vcA)GHZq;2HYTxbkn5#@`rv8Y*%Qrm-tH#;f6}X z%8wnDx`dlVx#*%nLQWcRS0lVLOtJ46U#MSPD+~8HMi!=ci&2UE<+c1hC?3Cfk}qNk zJR2!wbqblI8W&}~tatkx)Z+qcE9eAU!UqFZjX!aNn=92M42l}j@Af*IQp%Lz5{vM{ zLn$vLpq|`Wcorf0I5|KGtb5^?`n-yuVp*{{0nk_=PD;Qps19xjy8`elwI07!^8>GA zp|OKZ^IWA^A~GxSD+_=?l%ULf7ZWlAn25K?@iAbjD&0x~wjNe14P2%3H>&Li0fcs; zIHs9%b5d}uzNE{f-B9h8A6Znz(Uk{ISLQ}I3qtN77ExLC%N|vNgF^iz)NuC4HtiSq z9jo;Ppw7@HURb`$!7jiJ^$vccbC9U?#5NWK@PgzIXL5xu7yN}77~PQ!ToHyWq^Tzf z3^(`ynt;;;R(86Gv)p1ijUE^_f=rwu;dQ)4Qj3;uTBP@SpIo$DPKEih)n4wmWp=zvBDw5tvsZF60yLf|HHS1MS@R)MbVXByoQW|Q+o2uxBLxCrP8_>%8B!nQjNcX1g1@l!E<}Pk zK(3J$p&qawXax>Bn2Jd4j0uL5AFj~>7!enRfz2GNP|s2Zc!8KttB2f_2g!kr!)0^E zN1?GsgdFn#gW>Yp#1<{^#(L)xT86H_L~`C{TOK)t%~g{pA3QU^5Yb=^g)T6NLd9rb zYT~efl>1y6u6zkHXvH>&5+qJNK6mzL7UP{mjIg*w`c36!aV3{9T8{yzOR6Ype&!(s zJE;&}xKhRS?CE1=m^SOqOakLw%R^Yv+!3oMCKngyXOEs;EQ83^+yY&gSwz<}B>a*W z#qlI!KDrb7k%Zv}Kl=S3;wHL~w%U`|Tg4MNNQVvMkFqGCXOxPl2PIja5-cKavH*@U z3b@2ddBlSS=n}!9JUCTB%{YyK`6dF$=N}EBciX$Y?QrZ>i&T{=FJXg9ptX#M)I^ab zj70@7PL_|W45)uurP7d=cs&b;R`^^R&nw*nP3_FVN$mfNE8)R)J>j#v|vazzZmoUj-CuZmEI#c)?6J>LS;Q0Fi#N~^p@dG<18;F zCzQNM@1Y45H*~C2aL=GYj}Qk{YmoG~V}&4Tb0j0gC^SKl&54p~L99Fh34A-p>4$__ z(5w)XV*%D4@NFK?Ae{h%8q*uJ8G4b)WpJu0qFCfT^T^`N>4n)dr)y%Zz!Rr&%4gT1 z2=$;;fQs5*z>>|yl}w7_N*Zr*6&?f92#ccxFK&fOTwGR`42a4`z#&!i#PJ8z+ga_# zigN%1tX}N_N4!8U9U_pC zB+Cv(#xzuVW}<<0HRgdfMK#dbOxSz^u3S7J9^%VvI2G5)asnlBH3V5XJ&=x-C6-8} zCn8b-cQMf`dP8ESNYzh@!cI1*mSH_Kd~V<7^58s83Lch5GluPnwxCt9^moXn(A?1( z?Z!w{3R4EQ&4meMpF4VD`q)I}E^=3a-r>X_3KBv8&YhTAIILZMO)_9Ux9xR{3@RGJ z!B2Q6kAJELSY!z8js~px6fCTyO?9B21&PL>FcpR;Q!zSoGpBN^HeIH%VMfnlN}_tG z6_eWvo?)tYo;CuMa3t7j-L{nIT{urFNvo|JofWyxx)WG}nOJGgojZ}K?O0I7;LDYf zNqk}o%*rro{D8sZd@oATp;3waSz#_M;I)zD=qc5oVD*&*pCK7j&R_@AVsj;Kz+S@* zSOzo;SW?WvTsZ7giZ*7Dm5i84j7mu{0EsJctkHGIFUp-rL*8 zKCa7+7NQ@i7IBHPiTwpTm`Xvg;D*>f;UIb5Wm&itkM}zlpaJtNMFT8D)d+i#$yS*J zpK~OXAqM{uHZNn%;yMjK^XB^Z1-k#EfJ;SLuqKS!9#w`7>NZM+0W7Y~uMviWr5G9& zL6f>SEQ=lLI6Vp}2uL2VHtgeA%7*?bpmmuSAqOO1!41B;g5?r_b(D!Ia6)&YrPt>nOQY}8cpOF?8xwMII|7`l>!w<=`lOxc2n7T zf&cMZb;N}pEpUyEmf_hCT;Y|RcgR^2`qYqNn`O%+;w~I$uFx1p0o{oU&7+eG*tt7} z8F_Jj64uB<;{teR6dgg53}ktnFHj!XySX!1UW=muT@SioNWyX~hm^%5r~x^UDQ=*K zCvXeV<^r57xuUVf+;UM5pz)ES!Pnw4-pFrj{g2}BmdC(x%+0IJ%kJ}GV;nms$zd!g6kq0_JiB=O%>3-)qa>2qX%R>r!xKFb zRd=Ev%D0HAIfuRUXQrVSB=RznRXMbLzFwLaF8O|I;G6=oZW~x7{=yf5!yJ`D zH5&_$&>C=8=%PFn00p)%|4>MTk;2jK;tT-z;88qqGu&G@HAgalD6kLIB#EH5%O-cs|$e`nxvtSVmv(GLp zoCPm8r+LcC+!;vK)B#iQOO$9y!6hcrHW5c{nsGF5JqvX~QqfMIstT-EGA(rw{MKc` z7X7CXv&fcBi6MDez&4b8$Z5nXp`tjDUezex0*Ie&x^hUA_WL79swcNM? zH-Pq?SMSk}jd>Oo-s?fsrnS+<)L5%cR!xc-4(l??EhmgYvQ!2;y7 z0jwdSf5!kKY#L=!25WXH;ZHG8d)(z=%pjSH;+I=H!|m1807CaD?!kA7H_^5#i!Yxf zMRZ#ocubR=qkE}rxrAKSu-@jfjzMOB27@+FP0r1MA)+ViSnay#y(*r+0JC&bU!19~ zzw7~zLRpbi0$3zwF7}E%$%L?k1o?_POvk3ZTsCMj$={7dLaFee=dCr^lj&NbVI+4Q zNEJ%+*}~bQi}N%2bk%Eh+4*zxXC8Spe6ym{5%)=CaFff~4v*t$v;)qjK@(S8sMx_y zd<;FVH0J#6wXiptJjL8HLn5Y*B8K<25C)H1{E^rp#yBiyM-l|!6jpJVv2#gTMX}5f z>I|4*8OIvqK2wOSjnn{f@kntT7N!=PCm}=|Oz7!^#1%<4A))n!R)HajsC#=Ait8lp zF`m#6waSsE6XnU(z-66dsGRDhJmPNzRmfjtV?CkJFw{ERtklSEN;A#w>4bO{8FnfD zLMUO4*ma`@AHc)2rw>fTC1bD^!^fLA-GF)klMGI?%lpctd(vBEH-L)NrsWxB?;zWLA>z%(p`D~c9SLOaDSFW1ppidnuUAAFOkAXHK7+Ie7-_2KD^3rr_qR6*NCHH9I%r;kh4+QhOCc z6=G%{?&j$xw5aUJqo@@tfZMs|lieuJb_%RgKWSHLZBnZ4_egRLFCNIMN-ZNR*{>{7 zrr7KDA>o9W`|Uc?J3w2>v*)@1NKDA*+S}S87&qyarPUkj$tV}4fd`~HG!=L6x*&2U z%XL4Fe)57iO=hjZ18N~ePqcycOp}ST@jbXh5MeWTV@eHZW3VoOIl(PV9?Q%O-ynE& z^1)JhtKvC1pcv=ITf*B{g?O^oV0pE(vW%!@f1AU@fQ))eHhKxl%2F1Or0a1C>s8Z} zi#P-z)NsSTQj6UqC@;liC`n6!_u1u6l1H5k1Bds|!$2Y^=P;^XnIBccW|)?KHHkO4TGqo^B7Cr~t z=;WDVB~dV}fzsp>A}`DQ3?A`t2_=w^Xp{+s>LkpqT3#AJ3yYJBXBTWlxCE_{=JKK_ z8C8e{`~rb9sE}#}c=XXl@Itj(Sne$4rE@+s@{%(URb?E4vdK&<#FQY4G*o-Oc(Zg- z_$<(gO0F{ncPm#du(Gf|9KsYqax8AgU?^vcvxicHK6mRW8D5XL59<|%l1x5q*2T66 z97DW;IQUkP#wG*pRL~8-A>6krA(XuE6F|!rCZR+-CLFZFf&|sRj0B78M1ngw4PDD2 zXR!cXicDW+xuTKQFu2#j<~g3;rh^ghhA#)xCtbgAT4NCopJ2(=SI+DD1P}@*CF83m z+0Im)7=#w!(;c)3G1(6Ay!S$(UVI;C;^Gc!h7VBa2J{cS9K!4Z3&?KJQw@(b`h}ZT z>5;@LHGUYI)*Unv%rt~QmOvj5!g3hX6&JM1sxj%a)Q}=mYOD77{>mZF{TSmD^G6R! zW^>|AArm=x^vrY-Gg06{%@b=tH1B$3-ibiUK-bh$SonwmlLaPVmd^2nXRF&+dSB7_f2Dt-tDN(`Fk zbR=KV_}bkC&_w0l6wYacxnHkT4s+^bF*S_yC>x)M8*^yn3hCWxPxE|?tW}dc!*#r> zOEwv~ITOx`(HqkWbQ{HIa7M)jIAf$F^k=t67lztY_R$%y1FyLwGx6N>3 z=EUE3Z??^*(OZ`{`9$aP)42Z4e*w|kdaHfyPvcWC$%oWGTWi>C#F1nD9 zXBkE-QP#EWo}w6JFYA(*qYh+YiP-X+z!w?&Srk*JsG@c`8D+IBTUmdSG`rU@r?ocb zpIYCBza;Op80|dIvF$$Qki60=xnF-DY6@@44g+J_x2dcj+^Zj_IMJ<&$fHt&dabe? zqg9&KYUAWqdjWjBym4CgW?tvKMzjRTbJb2y=;*jp@}#@PGsVCle{nbK89pGfnt%9-G*WyRWa%$0ZuHuqT@EDp`v;98aMr5 zbTS@Abvaw}cp-d<4I0EykkCh@QBvOTC?t zt@WyUzbH2L#9QS)7er=pibqh~&l9sf7odv!|#t6jf6m7z1RH zK|gI2U}|c40|(wR{5BLs2>9lNJ%1JO&|cv90~yN0tDF3YLmlJS9_koB3sJ}T{fIiI zleNMT$?E7G{31m?pU(D*eCM~eFK(@!uC{6X0bLh$tlm9T-ehIVD^|0-Vg;)Y#-&PS zP0OsTV|Ilz$<*;-Ch(XNL`~wWM=+BSCRLF&3-fbWD97}SZ$W{yFb`a45L-JO6$1yr{^c zeGBJ3YqZ%;5-| zZZ;b_Du!Q8#i>~92-Jf8(VXTo?(7uM2Tz}E&K&mx$EW83EuNZ6k3M+v%uy^3pE-7n zp_+@6M^DZ)8{CSc<<#Uz!cmu$6Je4LDIXYm)3|T|J&@3bED=|FAn-FuQJ7AW!snAe9F|v{pYiT&>`@v)J%^1)X z4zL%q!C8)4Xn16a7fzQl_|>7{SmxC}4eeIv&H$b~yxc#pYdOcuQ`uk~&vt}DWgHPxmF>)_<0Gis-* ze(nHip}EDGTwO15!?(iX0b5a_Xo2*uiVdL8bpn_0-hm57_dv84u2%0Y$SGRP7W%p-NZn^uz!j zz2){RaVB1Tq0HR3iKw3DGUB=+E_nQ&WFo!UQQ0+Bg&PXJul{g@G@`?y!XrlqI98{) zEP?1t@kcm)NsDZ@Nm#RT`88sm+^J6S3hwDM(=&EgCN+-)%?83%hlNJ?s9Rk{kYZla zp|_ZOco4A3ncL`w+d0+O*O*x$a)LZ}d^h@W`grpUNF5a3;9;2fEs>I z1*G8wbR-=!BkF}Dsdv#fIG6{*(XHL%{)Dj24$T{0Cqz5)dPGBQs+5KFf((r>;f({nv z&%#Pz%P8N21r{JQHQ!TIlf>}hF>Ii;&$mGdhArb~<4d%nOOgv}tk1)Hl8(q35K`jO zLcu{s+oV=w zHw1UyKFoom1l5pU?}Dfg94sZn3St@APvSUQjat%B?IkEjBeXm_kpxiBq#&}&t|&?i zZYCCcBw^K(OL*QkC$OxU5wb-EP?H?g(FVV4YZ^KbgE~KxHm-3iSMm?%H={K*&z#&!<3cQ%TygXUJwf+h8(9f4_B z3)c_N?ruSg$+#aYzghrV-Raap3( zMSez-#uYjb^CrLYiH0smPe9+8nObZtLOqy1>Uak*2){DFjo!jnl#=_ht}1)7SAUlK z!_bL|BS{})BBwjD zE(VcL^JQ?6?dcH&zl86o42>yh4+27!#+nO7gcWU)4Mwu;2`|^CC2RFF$#!85aZotq zi8VoN!)f%a$V#Cfj@*c;T}tFCcTeSn!D^4H3N&3*g)&N#-Ia(%hV4crP2pLbBC*t2C|RhRUNvZ>HbM@H7NvvXOJcDKgi{ZKQR$Ja zYp7w>;v>$=M7_O?6JAKuUx;2*6T9vhH3f~n=nGc<<*@E}3{Y-eWa5xY8mqi-n?iw~o z<`@j%&7>HL@}zc%3TmC;N4fc)9u8{Ls*W5a+=!awJi7oVRCB}6WE^t-> zdqwCeeO{ardmXGcNp;3r2(Wy11JhEIwR==!g>=5!Ky|WiJ8;p6XS~*wNQ|d+I`joT z%xAp}UyEGCLP+d&f?1b+mWnh)W18n%@hrbaDas^E+C6Qz;G_w$L25}h8QN&kUzd+K z7-vE~D+-;`8rv*JH2U`FY^sZ1z|(1{<6Ka~vBx1dFQ6lfqa3=FOmrLYazRzYMO4UX z=|~Z_%l6sEm2-;IAC>&mSV`u4eB``u7jS?j1`-(IpAXr?xL$2F`SDB zTT(a71=i3YBP<{_6RBkBt5wyB>=P0^$UZu~^kT;_${`MCVl0_w;ReMjegs}%NLUzx z9Sbqgbi8Oj-m!s$Re}x~BQ8%t3!X!){%=qSoI+5txP%-WF-#E95iQkd&Muw;HzflP zYbrQmr?aRHqhz!NG|OQRl!t{z;;x0HrCNK6&Yb@C#UL!LB1FwN`Y^fp0im!7X;sAW zoH&Uq>GE6wI|pa{4AcO>Bb(|u&1=$=N-sl$HN*Tgp2C(Kqa@{~{BSPYt1&A4{P7Tl zJ}M^d3!0aPJoFT>1kHjNM$T`THW1=OUc{Q6bOe&G?KrF(kt6Dor_>GG9fsZTaA|zT z9(oe&R8rXr4$kW%<^|lDY#udD6EeRu5Ts-G{9t`&*v6t~CS%c~g(f6%SY3G_ffxFT z#S~|AiK=KDqTPyMb#a}0Gb#Ke^b4jH zlcd!*3`Rb;^7{zw&dLtXIET-h+l^ygrxN^yjY4PvI4k$ZlJjgsl`}0@%3``rqnx;` z$=)VwQZZn>7X_hQ+3?*Z$6ZBp<_j>@hBPNrRc0Kz{CFZ{H1&bzeG}L`T7EMb{f2iH zsy5YZRGwTA77`hZBaqEh)(M;j)h=YZMsuUG2i6h!&+1s75#zK)g{$cjIm z!X*Ngh@m-JgefegLE>8WcA?~m@U)|tW{1Xxb@zUMK-LGT=s9C&^V3@LEBFPRok_V5mlRcBdrb2y#r3t5d zkv~qUuzrF=jIsEq0UB|RQ4f#B0#rwP^R;jT3n=wn_D;&LVg{!$(y7YuB8$=%$_*hw z*O1YyO%ku5nQ&YJpx6m-xcZd@M7rTPv(jlQ2sJUqwO6O%C>leqk4L!s2uf@*)`zAP zU&4)vctHpn@2AtNqT0pYm^euaYzP$>I#MBRB_k1_RQOubt1W%2Ms0L7yDDXi8mj*Z z7fgpGgu!DxIc0NY`Cw9~6NeWwVYzo_ge&P6i7%aDVx=EZjtrclQ9Mkug#r9Ib%Zs} zWjfhPDV$IfkQS4mTiA9`_yI|hP3OQkZal3O&BDj&uw80JiJ91Ntbk#6MFc^>=?e8&&<(k25W4sn4h9u)9LbRnsWoZI6=8#3RLN|ApU#sV!SU(5$0TqrIk+*v}8}`Iz8j?XRWYkQQK z09hKCKZSM&S4jBtc-=70)>;Ud;fb95t}G7b>nxwg7x3)HR$d*@8+4HwBja4ht(7Q- zGnQt(m|-!$$lXtJorcEM?l?%KXiK5UFC^~VBOoeO6tf^=V2a_R)D@2f?Np5tOi4K9 zF0{ma`aN8kJAzz_)0#+6t3yQLR=)4^p|m7UbES{gij&UIEQaBe?+8Gac-j5 z#eJo7prWAh#T39v6%z%QUZmMInwn6OVD}EE3 zg>fU>k^4PSP+kp+ioy~UM<|Ri3E;#w_anqQ9eE&KFq|sIT189*k|<&Gl4`mu+&Czy zNkWn-y9o^vHX#B9GyY0it>!sQINBzOZcCQgG!C-XqD_1@Ig3aNjjgnYz&dlKA5CMN z7Q!Jv#u!G#%(T8mCvMn-E0iPpWiktV78Dc*QbL6fPDDKiSyyNY?5mDhx(z#0fLnzm|@04)@| z(~4&_x0iE5KIes~wX&%}P+8FpR8h=6a(CexYg{tG;32&*aiB4(2Z8_#Eu5-dp%DowK+mx<4F`lNCGoUJ&TR1j^h@Z=1qV+Lq(n@?jCOWDj z;lN{K)}L5A$}Ek3_!m;ZjNX@%3|PX_zl>bQ@skzllA?uSI*&*gIKD{xu$ajHbnU?_ zBHuH<`WN$VIy+aklqvw#VKmNPllrh4w>tzUowlE21IzfJU*(#?jFU1^fypo>w@`49@yr(BzgH zqzNO}NLg*UtFXn2@nNc67J~wf<>=|gY8;8OvfaKM#6#y8{M0&kh##mV!Dh>fQRC_3 z7wl{YnTCIlG!C6`haXfJ@ggu6mSk$dLwrALS$sjM@G4`1yF5X+GQ~q~e-x1;(xwvW zaOi`_xR4D-R$OX*UiYjCigPSq7tKVl!02R70**OFMoDq54slbf<%(kebx+0H;N5JOe5+nky^EzS@xQ0sa0QnCCcR9p$-iDqa< zA%VuM;$R}>A$RjNT-&kkT&LUNV3}-REP0lO8~b?oZ~kj|pV6k#NNMZ_E4&{&P7kR;J0vpPg^M4pwZ z17tKCAD$?WnS?RwKUeV%t4mm5VyU8!9PmXVM0Z`lcX)CpP{km9B#dQDshKjbV*nGU zvGBUuMqPKO;f?ukawQg~@8S13Woc`lMpNK2fKZ<4`u z>0Cmfv7G86!6H^=B@T@`1YYJL@J-qji4WsA9QFXoICd4X+NH*60R#_SSW*rU-J-)e z1g&=<$iIVk6>|hUWS2nXQn=#-LRO}dG>z3n&SoRxvM9w~BhGQ*if3obU&o0Q$Kx!Q z-aAYzQwMQeOe~6)>-Bg9-&Ek?&zQ&E9&V6ui%v}+v}7hlv73D;L5vwWDVbQ=Vjnr3 zqsK|L7>}f&ki-i4g~;S=VG~OSSc-Ps=N|Kf7%mMn>VgBTCN5F06xq^2Au(Z=J9gM6 zS(2nZw1IkHaFoi4v#rN#k>tHxhM|J&*O-4(7qQ{ynYyJj;_D2zr$$XnkjceVsvOC_ z)G4BBizHa=CiNt4A%@z3oFQJoC0sFy`Ha;`G9gYQP{*>~TAe1{L6hWn2~~VubVnGH zl=1__yAd<^X_<9PyS3N@^+1z0&b}EP4@tBjiQoYqL*NiC z4FAg31nl+31{TfF=Q6p*ND9UcrOHm-7!IDepOh((47k2(g0hRZ!Rw&+6!RRSk5ZfE z9WJKfnwwP=eohgCncur`NU76C-$h%O^J>OXd&R{wX0IUIht*aVg-=Iw=LtfU zw0k?OR4SMF!neXObjpT!E;C9{an3<*84r*uBC)98#(`S!wqi#v8L=VvcI}XEaXFbD z>q`?1gfC_}ezF)1PmY~d4?ZvsG|g+NaqJ6#1Jh}I7Kl_RH&j^t9oDavJx?o^H2 zaC>9>BBI~m7s};@JC8$v)%y!%uQGTdwziOONE&;eCWOX9R`Yo<9OhUrOM8148#DZL>vv&b_D<9`Q>xALDPJxT$Vt?bkX z4s%qrFmOtDNU~&e;mCd}oa)vsBordxp6n?qk<=Ns&?GWnP8*m@v;zu%)*PM;>1jy40`2<-5d`LZ*kTzsCZg-91qFE*xBW2r5! zZRVB^&4JyTKJjhB=0L#T%#-m--Yi_l6nrU;7=w>M`y|l7FG1TP6-}I4sHc4;nA5_C>7I<${4N3R9GwoILp4m(%kaa07p%E*d z@|luOFwUlLE0!G3JWlv9v#|Y1(RM!3W*KT?X%TukyIkk3h#bT2z^7RllxOy!9)fW= zO{i z9QyhckFLl}HVnKC1*%+>%wG6|bn~v=th&jCz~u*g=5DjHfT#9{q(&E3ymG7pCmLl5 z`a`#klR?7^R9&!2Vg!RBx~dDlm>@7eN-WSpok)>mhsvFYvcVgrWlJaq=mV@56}po>3ev5zS+(JC!|AT#GV!j#Iz3hlZY$?Hjj(D@gQLeCA<~W~ z7(cJTRMZS#%S)feQFl1o;MhLw}I*RoXH)bUB2p$3;b_7~&a zg~f*<-|1_kE<)X^6NfE^&@3eE8J_2YGvdg!X)?9+ri&^Wl9Uo4n(Rckob)*Up+|so z=x5p(@I<3=#?YriDY%y_OWGRzhZO$O~=`H#ouzDi|7^yKnC(w-OwW@|wS;o?1sz_mWTSbbwT1S#A69>!^io(%s zUf9aevNziYNBx&U!0aDM7A8Ul4KCtH_fpVT?Ig8pIiI&QTu27+5CSfAy=ep=k;4qAwQpo1dJQ4@RbFf0)sv5Ep z*BcWKK6-@RM4Je!fEu!@W$j$o(@^{Cm_cI2^jX?LcqbimnWh~5p%q=)eS<9ui#!Y% zdQa3$!z+=_z4q$N)D2>TLPM4YwZ05qJB=Bk*C@0Y@{mf&+(;aH7@LR>%H@07T}e4# zu1r;?a<0tso-P}NG!i8X6?dg)8pbzj?f zQ#<&Q?xg4k@f@W@L8TRc)84d7k-(N|PLWngME+k|mnzd*7_7xyv(lW&Ln)J%%Sef8 zQ4}k3d6M4}Wrnh})5Y|@Md7%!!GMoCWsvJfOG7jUgm8$$VtX+ZN9gYr1Fae~7k!%+ zZIS>EM`bMBl`G$}qLLQukz+HGzJ@s|iu1lK81NQ4p)<%0m3+jUge3rDF?MrpHO?8( zJ{giwZP3%VxVl?79vb9Y^rpsxJ+1MemX<_$rh}Us}v^PKkrBRF{irDShn8n$37x)pf^)BLroA^2@ zwz-6M!H5SAgudnzk@WOQLPTCXJ$VfN=sosK6jgJE!zjl{(-t?sw3m3=n|Bk*fMGl3pA9$s%cOjiHB8rjfCn<=|M3~ zq0gE^#_FS9$uq!7WueZ`q)hQYzL^4EfE3i(7}Z&pQ?y>e+LojvsPub78lYXEzuJoI za#D(8Zw%@;2raSn&qnE$8HBGY2A7MVWKH;y9Z@BQuZ5!7Qz?bVj`Hwi6ug0Th!`fx zZk0i?LoU*|V!}w#uK|FZ=o?055R7B<3H_A#pSC@x;5d+#V69gQZlmdkZ(f#Xi(n z^0l~bm6E0i&j1u_awPh&s$!RRuCMV$>ifhQhYQl2D|&~VKth#ZRNit_AMS+mMFA^qm6$3m57+?Lv@pPIT^??!0f4O^gita5 zlIf`|=O$0ag!y1+xWLn*xOGmeHZaqh#-_nHfiyiEH8fWMwHHAZL%}xGdWiHQE zCS5a2f33R6mw|qGoCGrCUdDuf(Ra zJ8}V_4OOT-dzj3x*dEeg;TDcv(3;Qf#zH6OlL1(QcFZK_QTWe+pqPC5>#) zo0Or5=?m+o6dGv_7!rT8hx4FAqr#r;aC(Q7)}W_P1d$AxJ7SfZkL`5fP-A`71`R#+ z0Wjg!#NHl@X=jP#UiZK5k4W)SAisy)~Yob7#z;)5oXQhR+uY=V^}??Z*pQO zXw==8j?dsrM^_~)LW6_F6U9bcIaWhJcZCLraQZ&J7?alv>W4n`nLO5|SW<)2-VsXi zbVMQ#L#0^2$BP|MXt`3%f*Nd4`{<7K6hK7V5Y#xp#2qoLVOuvMDuIk*z~hyzh!s(= zH~|lPNQ=ux5q6pj%wRn3^v6PuxU!5-BNqiHK#PYcp|HfNA{q{Tn%lkiBE9MiNy@1j z3V50^_-d4E{1`_GmXni*gJlX5iWt?Xq?eGEj*NC@RfiNOK<69eAmU zG5jyFn8s0wuqw$%vIA>X#+p(k2|G5Q`x(=PlV!M*x7mlYJ?($gva5Qv-#Uo!lRd*W z*t0s~IfeWCLx~KN@=2s&aN!1GSZO~JbFttA*N1fzslPeLO< zU%p(-(*&rGwiM@B@W3aX1X0#4*6#I#N#f;M8G`Q>29I>ho@H-sgMPtK|Vd#G;e zABYznc%wj@ z^a)dE7J3t8h4IfU0;&`mEPbR>6|@(NgHYoEl9;ko3`Y;4B%n=S&jje!m{-d))kGYz z$EH==(B0aE2Z#h4N3tm?=ZyLubjsCWy`F@^igSDqYi32KDlmy0kZaMLq7YoDvXZf- ziZ>`j%hTt zLRyN(=#@ZTY9fz3aDco4Gn40a*jNRrZh>AZ<_pHQh&5u2G2_bEhZ@wvuMsbj#*98o z{lxLXax}*XlXmoS7ObC45>j_1YNim-9`T5)Q;)(z;K(Nz5GNj%izBERl{PLTCY{Jt z9}ZG5iqA1dBt|>_rAIIF=)uKS1pwARQ%+Dr~ez}6g zW5;m%NIKdXDsP`3=#y4qCzl3#bb68>3!jcy;|3oxbE5G3o2RE|j)gEC^;<&8C{B$_ ze*Zld+Q^mcmL%=C^&}mLS?`hJ#458;&a-4TQUo+l4oP`7MiZa(kin63=B%R*6ujmc zm+}zIhO>~xv^vON(<=L$2Zd=ugqIbAgRr4xgd;^bV`!y(2%ju%;oQgV&76n}Rr)q7 zDyf4)xTWL_GQ0kK^a+GUap)KqlA0B3=OBNIQqK0;@5->~n~X6nI4f z&|CoNQ>j*AYsPjHOfYIvxTZPZg!m_)v&d~QQFtDv;OISha#q@&J{+Z`5=`>zI8mQ5 z7d)#tCa`pnfJ!bUy!nP_qM}xMPp-&{Jy|_SRqVmd>G3Qggu=o}BJlrf?OcBR&eF49 z;ids37^Dyd2xL%%6r|9y-Pf>++jjSu?zTO)yUBz_rOH)hm%8k#sdBk{BBTf*AvQ#i z1^fXlU={KQAe04c$O_mH2_aY@X2Al92(cnOpXa@tbG}s_STNG`&-MF#FXz1Hy*%&b zyr*HoNZwAlq7mCfZ^o#Y z9HAfj{mpkc{mT1a9X{WqvGfRsx&9>J37j4Ck9Pf)&Lk>q`TYj9rU%PLB3iyX5lAPl zvXTKNQ`H>k@@6ZlX)Vy!lLKt_&@yLG2-fq{%^;y@;)_leY50{U@@U2BT_(lcU%#*) zPFPHpSw2N14U@NR?>^Sg_=kF8BAd<1t0;{rM@Q zCUhh&K{H0RjjmkDO~2%%A+Vd6>`An-)eRKVogN+REoZg0amy(UM?p<5`rsI+s^=Xq z?ryZS08T4dJDJc2&s49Ned`Bdx3J1GV-dUk;QLASmY*y$R7ickO>aYyZ!c>CTz(AWF$ib^9C=M%tZnHk&Z?A3DWSR8W+QiIJLv;(Xu1qO# z0iEl&BwHNF)4sVz1&RU+_^l};F@31E`_jNMs5?NXrb zIfkf=Hn^U)CBT_{jhN7j&p1lH(V+XppM^O_7}t1l@uvOQJV9$Dy45TjA>oPXUm0xQ z+Rd{?p0M0e^T85U)#o&jRe+`{o`$mCYw4Af6z&g%WQt-4p-&Q3@~mbgaX^Ge%wotX z@nW>mOf)GZs9tG(MBx;X(uluX(a4zFTmf1Q3}jU3VbWB?Pf{6^e0P(dMMrPz0ZL4% zh7=A+@@P5LKCW}P6|!f93c|SPPgV~=FBveZj}Sks8szLGPVkZ0FV5787k2xn5{ck_ zuf3a%EMsIp`z~eE_`C3xWu|vi#Rfz5KdAw6=5c+`Jrr$!dUz{z1^u(V5S~=6M!x| zmh@i=1cQR%-P`s!py(R=-47j-f6%dp*kaV2#FXhl)Ljb--HPwDe{yZ^D^Cyy232Q8 zP^Ev->mjV*H(2%xg(-cgV>JQ3Q7PHGJCC$O-P;+mCFm+vYA!{DVG=uYI7s`Is=bC+ z5<#49_JPbgJg>L)vODX)REkQ*EfazE-Ll(PkJ2fT==tHf<%5;1;7am|ki1y0{MK!{ zjaBvb1>uV&v@Bs~_mgQEJ02^>%%l9ZOK7ify1Cr2#Q`?gy`x0D`?aF4_KhT@8g5rJ zXrl1b6H?s=cY#;9VCK7W5!YP_Zv=ej%8_n#t72+#BfLAXzRj^URnywK1MDhpR90H5 zCRWlHAY_GwtS8iMUd;#=*MMt6-I1W-eT#!S+uU-2cvQh%IxB70YXqTjxUj4onYf>Y zes=T}7>V?0O{7>4hAMT@2?|D)YZToqVpK~!(uC0Vp>sz;5b`(XrlYtPUCUHQVt%AI zw$=5)g~L1b77d>eF=lz!M4OdGD0nr7d#bV!-)zrT@r-# zLp#!7#Aop|$A+6KipY$-;J9W>GI}O~#+BNrvV9DlY$Y&}Rncof7tIgQ-W4AGjkOnF zdqk$g@LqFTKG;)FzUwso7uJgAQJ-eB4o(UWG4h^{P`BcpE}Y;eZ9RcRc{BsBi1ka) z#P2i*Mbu>4fbG#;T%Mgd;WZZ8{^sb0oi?a+Nw=K>tX2tV&jva6T;M0Jh{c`MWQmvH z0FMlIuKJbhLod)XLNC5rQ(A>oP1Z^p_)SlCko4}oyUt2}{^a(@I{FrMEt{F1M4r2H z0odvY(Ym@;XVmlH>efCtxl%an&1*i_tUdb{nRHL!i{WhKc3eoJb;V%n71khVp{&7y za6$55EfY}vRw7JcW6D=ql<%e)Fox^$w|Zri#Err}6Z7O$>MxGy-E8_Yg%>@+4N*=F zF1;EBR+6lM9hVj$y}B_4q{Wh(g9E(}rV6khWgCiD6ULC9u*cAS+4CG~wVXx2=`m$R zcIeu%?yhZH6$`(mOmcw?h9?~QJfPuX5N8db;AE0)vhTjV%U0r~&Mb>(kPlQCCqL>C z8(|=2@@uqoY*LGW=jfE$i5J##l?wO9Z1F<006RS_SW1<+&5l-m5PGrz?xP|Dt+F$V z=0rG0v9emLJ+NambW0lc+yP=2DdpOs1sSKQJe5oO??Rmg9kAH`VcL9DkU*iouUwU8 zJTjAh_tmBv_2@($0mQYuce3z33_{masO(f-)qpc9|KOCpaBQ!&t6_RmwG`A;R`9SaXV1kqMkeR;k#Rd&eh}LX*!i;X zAx8w{0P7e`XxXgFrun1&4@S_yWI)}yW?6^ZC)bVbFR&SmjN%!QHpkjC&gPZMa@*4I z0)pD&asBRMnGsG2x1?8QNC&s=-1$(UzRy3)P>Os23d$v`vB--)4D-YG5nUIBrdvpXy83K-lGLtcQ+tX6G7`POj5upp0WGhq=r@;0 zgsi~1@X7lgUq_m-!^1z72D%!+)|c~oPt)tXTbA15c4VAux(XW(JH^}W1gV%L(Vy}I z_f^gd%X$sCZz(I9Fbv9ECjxLS&P($^7H$Ukg91lX3a)jxc!Y+NZG56}*L86B zD|>$tvUDa!HN6rc)S9*`y9Q2{A+h!G8_rqata>DF0^IJ6773W4o_&@}TMci?3mdpG zxw(%GWs0H=`Che|Rz(Bq=;MgoC&6Ik2=a}}u4KhbmYJiEj?dLP;QrlvBR$k>#S3a5 zX!h_6mxHO=Y2yo_bru0{Gtg>2%dulRF z-vHEmMsKWT?_?z@<&Zv)%TF7Ip*Gh`7q}8mgD=m9aE1LMRWn7gO)8q8vFFwMRW*jp z=K1@|A1ULbHImGzZ6Qa)>Q>eKQu4coQXzW2I=iRIw;Et2G7AYOU&7 z4iC$`=Hf$-&e?3fQz@i?n7Zn!SEp}DW}nK!-zb;5mV*|4i4g4^Msj-5J4EMi$yjar zJ$n>eZ`o=v*u}1CvT|(08hW_{%0)0IE9e2V2`N=rcaDmv(_z<*8Iky7|#&YNFqdZN`J1pK(xNGd-_^1ElMk5q%x-jYeW637qwSl z&ghtL{Kau?tuTC{y}O6t=1vpp*5vRIdhZ7|1p`tgE!gp#A2uoumw=9wUi5?c&I+W# zj)7KdMh`WvtO7vzsY>>)bm)!XK)xmR$DNXCkl2ozNb@T+hnDx&uK0$wVxlHXPkDYx*-HR{0Jd~%j?GAsw_ zqLZxyRt54WZ=gG*NUlQo*sVHxCEk#MRe??}6wn6k$AVEgNS;Oj5cE!C&voo#QV!qk z!cJ}?+w1U9oVBa7z^)x#o1@KI8g$|UMtF@rGY z{k031>TE}|$3j0Ed(;P{iSN^-jhafXtq3L8AdYp<#M?LCzh&h(S8RI(q25$f5Tyev zplG^_*hTj`1aVeaW$dhgY<1@1TEMq4Ohi1)L~*5NC0!9*^;GB4e)#!QRXaz&b@H)D z2ojm5x?qy|TlFc|lwtF(KxK2*#d0zX;Vj_hJ|ZYpZ==q^$IBj9)@e#jdn#_$;;#I% z1E7l$ck%Qox9a%YsSqS%BKY{_!I5j8iwm)F&q9il6SH{t_|}^xIvq{er`HtWKm`VS zLm99;Uk+%P1BQP!igm^Ii$7B^AbRb-&qg{#Mcf&>wVX9lBa>k_VLdzFl1~OJ^Ee80 z6o@_|Ig(137io;{*upA<(+T@k_+FU{JwXQ?>hJ?K`;@*vI9bXGw3XLQ5H_}QYi8CA z>tq*6BvNafg*X@?J6EF(CNrEdDbpLc)Uq?SQz7GBWFmYw4)v~HevAZWz49nl?=~ z&{W+TMt{KGG1E?kZrWC$FYPX7lx;pnD4MkkPOGYhC$Y%s-Q1@t*94HGt@-y54K`84 z-Sru-lY)qkeBNi${mwQ%#QY&wv#TFI9VC&ELsn#NOxn6XQ|P@HY*?VgFDflaiHOMD zWQ8<%+~e4VWz1r=mT5M-6JqJ#S{NTBzDd0uxRK7vagoYRSCs znEGkyU4#Zp(dugR`-G(Usk{P{kJYR=zwv@ZU0m_Ttket)?n0uv#PL9#$g@*Y206r_ zxtGz;-6*WN>!Cuy7%u_XJKA&e^!`Jit>wF{MxXEvtu5N^97Uv)%XV;b^h`C1>SySp2b~Ch6_@cS z0ZI8lj;`m3uj20ZKDJsaan7e7KU5~d67_r3dKOYJb0GfpPM10 zmM0uP+wa^s<5Ge)+LcA_VsP{B75^!EIj^0AIOH`8bhO z)KN(p2mJy|=3^GSKzL1LWmIi8vb(#_Wq*Ycs7l)!VYLKJ-3$dZac0qoZg&LD= z8I$NKsJT+p2Ca^-hfdnt2oFtxz*XJljNVT0mqj&U_peG+0nY3`BfjMT3ByL#zg!-) z#@u~H_1e<)SE_4tec2=2wXoO#Nbi=Rsuvm-Rpt{pmn}eineJkv&f9=KQ%;Z=#?tgrBC~ZP3KBAGWhO z#L&n~CZ+#MzJXuoo(drV`2|sP92u!fb)k}U@~`u3fr%)k%}Zyy!eF|HM0e&$s@H+n z4VvtqpMI&`9BIo^apSkG^U>2{dy!Q~no2L#U*tAv`U$W z(siPWl;t{~32nwZnM5=j^0AL5Xa+OgP!kU-2pc#Y>!cQOw>q}N91|H3(_mF93!O2j zc#)n{U5z?f%e|8WIC77$==D_)E}(j_ds*3vcsNT%OhoZ<7X3<*ytPQOhoh&nS_x}1 zm;}NiV-&Piw94Tc)+OGT{<7~Bi+u8^Pnn9f?S8m727^a#an#sE$(L7-2UDP~CJT0D z5(2aq$jrORb$q6@hz%*E_MFBZ(rG`B1(crx_+1B|eNh$Tmf_<3(ArVyuV>)g#ey zb3Hy0B*e+rpbrQwDUZhYC^WeU%$@oRGgAZ#q-%ncF=fNLq3IChsIYot?Z?BDVf~K6 ztVHcXo!pbiJ-FkIi&mkF@28h5*-OQcS8#Nn5yn?P4(;Lwtg8r1QkmNd4Lhec4T*W6 zr=L$C0d2n;s?x5$c%lS!SRG=Ya<@e`}GEy9wq81VxC+~GtNq2F%okMcLfwceR@ zs})!n#7S96hy(ST2OLfh0~oFa&-H@>!l#D}QK;D6Y`B%6QVNjy_{he`acr?g$lNs` ze=uY*tr^8(8pzj&NWoh$ne|;qYU6lE79uJUwFQ=LJ44l8xG(3>$*8*dFis@dZ|uxI z+IP)>!QQ#Nlb6C+Y;8k9Rh?GaaW4?G?#{=S!0wIU*wpB9nY~WK zfllf`(IxzZ3C#d3dg!_hy$wMUbKs zY|;TJ8Yv{&#_x_wup@0=oWsGa%M+3{(ZOA7c5|t5kuE>GIJ{H{fEEfiH8cHF8QZ8t zS@k28O+AdVD$QiBuaRY#_te>RA?Z;F_sLVbvTd|3#JkkyBB^5rdOeW9r8XyBVBo2yBo8^FpW@nI?&$rux3VU-lgMQETuMO zy@>c~X*71@qZvKX52G5naNoLd0b?M< z?`@W%9oxj0sTs(0iJuk(Z5KI8MI+vz%@_7jSsw~%5TI04klc)`P!RHCMlA~ziwwMf z_~1zv;(M&lk?0|2r^N($jk|dFmI#rD8SP>stTV>!oq3CT0GAs@Wr&QE!)zfm5quQ; zmeDf{O%X9>uqNN%yZO#Lp3K6qOu7oE=*yD&2IW_MyF7WGSE10M+rN>S{2~*jvUP}x zmf+E-iLBJI+)nX^UT|Z<5-cF2BZFdfgUx3cviVj^hk=tk^EVf-3<{4z_l|>f4Q}LY zOz)j6vfd%U5$xB@vbb7`wG*V2NYv(9&ni6=$RtdRFTm}llx?Vyf&Yw^3R4+AJU107 zMG=qCmol&oj`n;<$*bROr&OZ`W6gsx0ZK9{P?Br@rD~D2sG^*$vbiPW3oM9l@3x^{ zG-$Du;rB%6apWVGi+_>I4zWRko}vyIb2bL90Y3q+E~1Ql=vHs!HCZI?!gvuXGZ7 zDUPP(Mp@xW#G+_5#6`2=@(deighaW}50#sp+tf1)a;4ynV^0Q8UZfpog~L_HnO&8y;_f`LVSkY=>yk-kqhg zh*J8du%kD~31QCJU}#_o&1Q{ekgF+`LiqU$#cA&O1h=w!ioquAqm4@Ncddai4`LVS zC${=U4actT-Z|^K!|cGxBce2aDwJgG9B?4-pl}E&)3I9y+lIMxbxIbFzLvck~l}MD@4QSzaZn;P&ho3p^wRMvyEOCMa7v*A!SD*`2 z5q~()(l~$P@J&`3`1_rt!-*4X+x0>-26 zoCOSZ*5}%azg>W!k@bm<`*`}Z_Iajt3*Fx}7|D?D-AvQQVi*Elsxk~cp(THv#oCke zlm==|6*A$_&wk0$(n!C#5>hd?*wp~5zrV{Snd(CzVzk2&LfcAFue*r|4T~bjw=Bxw zB$lPCb_~80YtUsU&&0;Qth%k{_{)m(q9srYCX$Azoq1MjlTTK5oV*P8rasHsQ-5W( z?5dA_=V$Bv8P3pTb#?+Q)4|VO|drg2$K+ zURuShJBBB{U|VP1s4I2a=gc|QmeKG{lFeDwWZ3)`_qqsn1QckLA8XgGtFSVo=Qk3f zi4AxOSXLKK(@-64T{8_omrYu$R750qNGeRIb&j2(Q-jSPKK%6F?FV51J5A4`6CBFU zpr74-^oVd;%Hl|~nI2K>5h7uMesOyIjGpu-a?7-Z8?QFnpYfK4P^^mbVRMCFwp#Ff zHna6$?S47eEW`XdCZJ(TF_@piySR8IM;E;!rY?sh%5mq=YcLkqS(K5hV{Z}mo;k%`Zu*?$+Rv2|=q>D1#D^6XZp%`vfw$9WDe&mJiHIWa ziJc>1VnTORYl4)}(;lm2WN+!z-}aEJ2VI&bbyR|ds~9>0nY|G9!~NT0p!y)7a3bI< zlukr^rUZK;hp%M?6=dxVaGJl6@QPal#ba0oV>z+s38tw;hCG_Y_LK4>Sz4mUc-Cq! zfSXM6L2Ub;VOO4tT^yo2<^OfHq^|7sEWZT~DG-+ zh4*I&&fwm+>WflJFY2suu{|*D6o~RFS8gz>lz8{9B1|91rE2{c|M_s&t#2# zofxPCy6N7TIOD(wUxvMYv==SG*MO@Cf##~tKU~<6!PJYSE{ZP3n^}BbrO4*l--c#U5_CTOC%pR*LxCHLJJ3n`@7T~*SRVV2bhLVToDkM=C87WzclosUTHb&0H%7@an#%7iNl@I8O9 zi7G5zk}yQWPNM~9Jz39iStKiyDvga!#0*q7tjRo!kiO2vEc>1(D~DtK4X8<*JF&i#Q7fRbw4hQ#PJL&d#qsH1eByuw+r1)RbekqS?4m+% z1XJn2nse0%JXh4*E!sqODo)s2xCmqm2C%aN84NAfY}gMm$4y$bTnigPAi6)d&B8~q z3Pvh^T8Bj!O46buN)hu`gsJOh$6*Ykj?}8Q)R&$dGGgaZa3C^rOz^fe%<(>@7S5k| zfD6;|rtq4t;MpPr?-EM0N%XnFRrHlV0Oz8OGcLlK)QB=iPe&(-yjrpvG3JqmGP$!EC>msV*1SII6HqQ0ERm$u;nO0(-GDs=oZBUuHV?E?%B)f_ z54vu4l91`PEm0xw_q(3^?gS+6J$U-qjbY#>!0mD*7lq~E-J3~e-ba;7kstnDlER>i3N)c`YESrst9p3+?dv{%mWfL?6 z+pg&IQz?ociWvpV!YN{YS2)KlZhLn%CMNkQ7BAct7a^ZtUg&rgQI_+q^|IRi5fPy} zyvIX#Tz3=^!!qoPupa&@qIfb5d)nVQ!=M8r+PFD zJtBhu@TutN23%G}xUXMZA8D%!q!B@7a8LJ6dU)8UoatCZ=xLQ_k9xv@)X z>9KzmA!BUeH|no=g{|hq`>dq-9K~X}DLERPB3(e(VX`-@H-^6JP@uNgPrkq%@cvU- zITOGntOj7`$I4|K+44@AE9j~W+D~)xL&|zF`q!>XcIy#`+iY2k6L&xR z_#^efPwx#I=jBk%Ms87B3=km09I`cN)<|A|FSIoIe9Vt9CbYNR+?Is%$jK=v-MroQ zfx2I$n;?evZ7MwT<;CT;FlAF1=NrplWJer&Rm;?pFxBwbiFc_kKznC4+BOs!J0VI! zL7<#C#ZRsiH?4s-x9sh!BYk z;6#DKDAH4)^zaoq@Q6XCG0Il9R1L~44V^h6?SLsWFg#Pm0EkKJX~-Xf75854`)ao{ z@mSTlc(Bu+a;t`-BJcW!gNvbu<|T@_Xo>j+w(tW-LClTzVBO$H{k>45S%567JHghd z)*j{CN~37?U#Sbr;U;nIchC?a_5wtcTJa9!RSxRp@TKChd){$`4)odywFhS^FqM#* z5cp#82Xw_nfwB=XC}j!nqq>^ofI!;GqEpZv%}lqPtu+@HCt+kp-v(6Pe6~8IR_Kqm z-+}wYy}Y41BRhaMB_ASbL-@%P8jS=EJs54;`f^vBZ!>0+7L<2XH8civT1s%nSV~Ny z`9Y7i*m?x~9>tv+Z|qdmMcHIPIldSjPl}A*Mt2QYUozcg)U7Fj6eFVQHJI{Cld=pO z9p|>9HZ793OmIco06>o78A{dbN;iL zE+J+-wC_#!2f#=eh6F=vOza_tKdnt~jH6$uU-yBlbWsLUN(lN~vzhDsWB~4PqsJ>? zfq9Cl8?}F$7%|b4gTuqKu!006Em9$);~_9mVTM4Z&Qi%|s1R`4`|!WYQ!`2tsniej zPHf?S${Elsz2$=R*?7r-o#Zq(u9Z0}>yR$u?zyaB*nvn2b5<<$@@wEQ=@oL`X-=XZ zYmk23!O=}h%~4_c6n4)|E);%#sN-RB17c<^X7_mlT4t-&Vysn==o4=ZZgdjNE7O;H z`__$jKA@PLDP9#mogz-4hWh^fA4*Wq7jWd78@A7X6V^qM?%wh~s+Ii~BR7IP=$uJ9 zor}0)xJ)+r!5L7}uB4G~+xlSvNV>2ba!du=RBczC_>0%C6~QJLfoQBzj4uU>L;m&J zP@vL`I=-~_(reh1)oPt-*h&gH4!f`-b(TS-n$C1LFT(XQxLTPo#4ClYHnwFXu}xAd z7t!tO6Js%FW}$G*{R3Gpw?%REWCZS=9dM#(M0YpjXMi0Ime%berPdYiZ+OpxZo}Bg zOeH7;4^lf_JF)yt%adVpA$3WH&Ir@~DNETv0Ie!s?p=JD$NMtW^s)=3p+nWg5R;I* zX&3i8^oIKg=UdfXa;-Dsq0tMkOwP83rgY}}igSK^@5$2*a35InmKORV5-lQ+_HCLo zObSy;`d8>xs3fbFSP5Im)~CTKF&oy_F*l980)o3V$5e>!U39JzelL!XdY6M6F)MIE z8)lna^4JIasDLn2ip1MxTE)_m*8(3wenVa_$aj7de^=UOXjUC*#dCjvR+hV5!64GgLu^CVNUM%+Ld1VwHk{zZ=8yh|d&n z@y<$JIY-2j(42JfSnGWTXAAvG)8 zw)_=TsrQP;gYtYH@$d#bX|fz; z%>o6ypQ5f`WRqkT*{J*|&vm1St^t64`+%hp7SIa27(xnuFTl<4l)#m+h8A)383zN56Tq=H zeuYKVg1JUPaQ`97@{Cj$OXJ6~8_8gum-P{bykc{jIUWcP_S^5MxUT3m^~Bo-rhIK} zREMszN73G$CnX@5f??(WE$0i2tB%eb!B9Ub$Xe(dfjSi{X?@w?sR^fEP>BTo#AHKb z%yKMwWyz4gT*{j@LhU6r&xJwHjY^0+JN%5BRD(lGR{GAI>1{uG2y8em3ACm&$@8?+ z?+Q=dd8(aiPoCbtv-|X~J5e_p(Q9StgCcJ$EiSB(6#NjS9^!H}TmV6qv|9!FZO^g{ zUDUd1q+$46`2Q-vR3nl%x8A1kj>nEBDgJZKPdOJtXi_EwjR$=O!+9rDyW^5ma7Z47T`8#s9k!WZI@3@9K zWDA_3>qD7v!_?q`m5zSr2G_6{nxXh7wlZs>);Vxl)j6!act@Nm%xykN($j)mNa6fU zr=gU(=ZT|Wr?ihC@+c#WPUY>7n>i{uj)sjgZKJkPIxAY{*}EUzzxU}~0VYkRL6PCJ z5r+XR;fYCz@W-x4#-V|nd6Z2(@)oBi8DpX15K8y$ipNv8dhf2$SWsoeNzAKR!8CIy zk7AxTtq@;6Ke`!Uyprcokt158t?VXE z7GMMg8v#JHLI8;IluH|o8+8la#zQMig8tO2H0 z;c>88oDwx_7BACaJI~EA%84p-jVt=ptLbWI0k|q1U-5mLUaQ)(xiD?ZEd!t%Q;zMB zA?NlD&JUOy_6=k=9Gn7lo<%0d`IW#deHSlwj(k|nJY(YMc++hJwWRIoP{2lpIl1?H zz*U`bJqkj7Kto`T4Rh^%ZRUz>9S|73V$n_9SVlJ~t1+OCB^MdgUjk84ou48n#ed5_ zP126Vp2#-IrDJCOcgF(i75p-+wG4shIiT9vWvJkMk2nyo#Jm(bT0ZOXfuV+;gdQ0M z3TP!C4;THJEjgjU!V+@zy36C{yKldTODQPMMq(vDVehbW;%krXs-s_FV8`-vd8Fby zt)|-C%k#Zw!srUt**SODpW)airQ{j=&MCg^piY zg@eQAMCKVx+Qy00*0aMTsE815EJBs*#s)#XgP+Stk=J z)nOYY1=B^v+{#c)(!sdO%pk=@RbJ9HC0_B$O&bv~BfDp0i6IsHmr!?})7 z@1PDtJG@Zj66X;ULNSoZF7{b1SQEHNT5O$+ey|@WaxFLRI5i#C7OONeMmHS6D(8-e zXZDZBvmpnDQTp6{pb9$hTkS!P$Xx2__6jXn1()EzE(gHcJ(R}*IlG$O>m$W0w@FJW zL0ihRULHR?Kh3aRa%)Il7-~InoQIR5rW|AIj~Uw!Je&!R?6Rs?PIX2WE-Bk`+6?hD zC71p#8`0ssfqNjUQwY#ejvsVF8-}xCWwxi#oZEXS2yt}e7y15gh^xj-~y!(+xK| z-t&8~TQ$kL{ownvg{GO|%wLZWRYI@meI)j86h>2ULuL>RzGi67rU{n~ z_b*@T%tp^7uxzF_q^Kg9(H3|3B@9N*QE}d+C>uRit~hllSMAGGa7^6%0w9G#VDZ&; z$#MX}S~3DJs7z@U!LhUH!9zvF?mfQuk@ctNjYY~XXi!WAmK@7d63c%b{;Ai$XNzW_UKaFf5IT=&u;lpYCk{xq&P*CWc_+d0hbIg0{f9~ zV<}1^$ToiRvv~=ENHKxQ);(^NMhZ)?6C2H!lOL=pk_QqwbOg^bM5l2X?@QH2LdwY| z@W!ZUNg&4k1Ozp$O@PKd==hlk_1uFlL)#E0q6SvK5pB6@+ebgS^TRJMN*gXg+VqHl zXKcPJM=Yc>7ngb2{O#_ao=yi;8*xdenS9>np*VM7ySAsXs&l#^s)oGkL$_(JYU6D{ z{rZ^*g#>SD7ol1p9O=hZ=}g1U05UZ0;zU<=s#O@>k@>bq3>j|KwsFp+a5pPwqRohUb6Q*4zqm{}Ur?qyT!Z1?Qlbg1> zmmbWA*}x%IT_+=h4*GCM-iS!uUE8PlE%t8+Kx<4E4!gDrxP)&?IMZL}9)>u}Vac`j zUZ7UJQ03YxNmb(%h!~Y&uAM2hI_^?!%&XAFDZ!Hoj==1Pd#s;ImEO zo{9kAW<&^2#o6G&AggP+^-uT&?i~oanmk%5J2_opW~p&ize;;$P}^(mx#TnbMY=;# z2U?+~Da`tfBB{q~-ISIaF=vJ9uQ{cTf~(4pOesmX-<){1K*c76xY4~63>9$CjQBgZ z(lb!^6gl^s1JkV5>2p@HF&4kkDR8ai))C@2rr*Url35btnEd4oy9 z`wx{xwO}?KfXf9!TpJV+lAT}OdWlo`MT{&#DW4GbXgaaQ%wXP(y5=bqk-#;0 zPit=LC!$MrUhOR;ha2Ru0b>%-i@C(D~>&7%`f(jR5XZfFVlj$joOA4 zUu5{_+R!EST9n7%e{}oqU1_T)yASSc>K<@ePuZ4@Qj#rspRBcXTPfh+>Pmn?IHD%_ zL{N5aT%gsmimXkNI;HR8hcDZl>ySR|RcU7ejM98pP+q`_MD`|;AqMJi31{<#)E@j5 zX|VzHxv}_2uV%26|!;6G=3E}juY*tn!pW7RcjzL^9 z7EYUoNP|xWQo(rXJ|itWZ$>a?GR?kY1`V@hsBNPOT@oCZ=3X4duU;IVpPb$Zw@jyW`$)2%2QzyFMoYubf&0=7mQ&RVuyO4%;$lspKMMUX1C za_ETF!-zBmS2!qT6wA{btX4b-G9}1byFCrGoE;1dhVDwkfncK!Lt?`H9X+Oghwz>b zZJ(YSEWj5;t(4&H`ieL5|HgYj<&V16jxjH7f~2doJBF?`LqsIU(O_p_@4yDCC37ML zv6S~%HVLIUZFsxtt@n0BbCsW!t=PvG5k>LNzQ$-evN6;LG?n%mAum{k^M1|xqI5mxZ{&_h-+J`B0IvLOeudGZli* zvG;*#5{0wns^CwKz|&GJ8t{7kqE0N~&H6&alz=M2XeWz;jw zW6!FY!8bA_*1wdH3^>t}Ao5;xZu6Lp!5*u-*fzJ~ovi?MA;94U6J51SnXwa8LU5ZR z0NElmg!Y{%0??U=wgIe!_alc@t<$efjEv2s`&w-KzRv(^<;d=mIEkd@R8*P@MKb3s ztfC)n3Myt(PTUKhS|ZS?vy{{!iqeGF8}RFT_1UE~j6+o^GrliP<-hCbP$8-1KAlsv>8fV z1XwkcEG_F0QIBRAYY!fsX+tgTyQa)Jp$yF8wuX5a{SgB4cW@f|3m6mjG`C6kSN7W|HL2Cv)4|YgzTbM? zLEbhel?+r^QUqL_+pZNuz(+`#IgO2ZI7!i*Zc+m|?Nyya2s3zO+$EM4*9}&+Wa?#8 z(Z7ivH4S=1o?Lz+p)Iai)EcpBi`JcSlG*hh1vkEys= zPkU{V{{c(!XbV7(NR(|;Fn{NbyaalcIuUzuqe@BbGWvj0tNu)AK}D#Lag^Ldn>=~% zL7wWWDZ?K;5Vx1r-AIM`GkvbI*@IH3nxs%yqS*zk%@ENqMnJPMp|mm*zrD+A7}lee zi||wSamW&{$9JYwa@7mm%lJjBSlmjoSoR18O(S-uariiAIh)Z+uY=m6!(79+7G(A1 zj6JkfIJgD?Cj8I@DN(@v)-HJPi>s|*xYwquDxqqM^ekm!q#L1Pr+T0EZz{}XnH^AY zj)z98k!ZT?(=IvUqQxeeIzb(e5i*5&GloV@03iKd;q$vov#@rY!8BvGOttHiFHTR? z_KUtYF=H|*wdE5P?4>7qlYSnKFdr3KBq9t}z($HG&t3O3>sw7C; zQWG19)tzFHo5T~^u_i_!AxrUQ>XPONyNO#>#*$}!ZPMf_&}N=lDYK1PROJ8imA1ce zK6z>i#Y{@OCAyhuM{$|A6S-`**V1M+e5j0?YjYfI(n%=kl31m7Y~_-leks%>eD0!+ zLQI*#j`dJ*je74Z`nXMCeCOwcvx9YcfU%N7G{T#c291Z}RsGAI1Z-9^BB(Nre zNS=<*OxKg3?>yn6wE3H&BHFj~u^18f^V_0sY2gb`ulwZI9yt-`)waT$v-eHh1t$Uh_hoM<9oS2Ptqb6)jTvvE zXk?GtWYv+9cn;K&0R}@C$4;*?Em6y)Gq|tB@I2A#e~BfDC;;A(452DRCSG@b%cI9B znD$Bs-(4xj4jCB5UV1zMlRJASYF_NM-jo7(DVrNx^Q~4v=_-%G@lpU;>ZmhK&kvp5 zf!lX#MyR^zYF6Kv2P4!G(mkSSraD!P=FTer(cg*(cxO9^0)Cfb#qEyz<=QQ=fjwhZ zy5pw8>qtw?!S)!7DaIdS>`h}O#VgZ&J$rMz_n%TA@LZ|#!}F(~-BI_|!>4Y&mMj(> zO4AuCXA?n(Q;+tJPcBt#YCW$X?F%xe1Y!q=?%r(*xXQ$?h^&0N^7jAE;~)mVZz z8HSN=oi=bxxsO~WNI@dihGyD$&F~n5C^Iz=wYf)gPc2L2^vgL51Tl8J1xnOZQ-Ern z2p?z9NGBkh>|_lyDB`8^o~jx8N$d%-G2qzjIU9d1GDj!Dk64&6N22{9F~!y>7AZoG z+s=a;r`HezT_!CmijK8uS3%bJc^o5Jtynccl~ArIXpUFMeG6*{BE}Ny-r@F}{ds+< zVly%}%pB;|Byfj`u)6ia5*&%hSBT)Yvxq3UIKhcdyJRyo7q3mY%eKO7R>i=L+4CNd707QmOoj4qSAyNM5=iUg>KdQ$RK)TqqbtW0HD^AO6!eoKmosDsGPTv zfV$bH3XsVY&fYL8G@TSbc2o$rS7^;qx^T_hWsz}TstMGEZ;q@cmPlu-X;vF^KbPAv z;t8>Um!sc_%aBKFA3@2l9^BT6*xK*aN^Kk_CW`6lYxNR6q4ad;459Ow1Vr$pW4$)+_Jj)hTJIJ!;Imw&LddENDmVb}zot zal~HS)$R>#(fGq!Q^hQff1bTQ&%o)RnJ<7@tXn*nC|+iYsZZivUA{V(t|leFS1nO) zN{D{Y6-1hGH5;__d(4Ub>P~yoV%Y+&fp7^$BAm|gn!{G#8hrv?6`-1G4a}5yT+nOn z`t^%vKk#0Z{o`Go71jzsMv+{A!tMfixi@EX%B00D>Y1<>ywXvV958eOiY(jIQ@_Kn zOT4otU0XKsxr4eHb=T8M0U_m(Kplak$w?obKD#(W#bMp`N=oab-?wbi*7$mF*5JCG zG&APpbPtR_JAZRbZkn1=tQR&wx6eFe$msT{`%NP8McIyMn3ILvlKja=2kacRUgKN| z`Fz^Spk!kkL|mGZBocxXK5%9Z+CSTzA%^aqYb5-H;ZoOG8%V(yk#y@=(QWOqooh$X zUDi~A%e6>n*V7yRxUO~w5p-bmKDoZEolQ;4I4z2HN6)}q5Fk{I(Q}}LL4owMWtvX) zPw}%PilD}J70GH(WIUKL z20vin1t#ur%wjmAIKnFg9EuA_t0XM5ib!FQRw76=cR1sSZtY!k0wQ|7j$o*ByO_1u z<>*PlBG=ion^%JDNMhe>3#%2j_i7=uml-Xyk}5pGrKB(#yGPM{YxS09c%^1~(0as@ zjbO!1c2KJF1NEj57XhQggFDeFz*+RL@7Dy|+!KJ?plpUrx@~w13yX&P)3ZJ|J?cSK7 zGh@kd+wosYE8sKo0aB0Wheull5;b}0Ug@<<>$M1OS1oZfyOD(n#u{%321WIi4+|ze zGe;S-+svJ-y^pjuOnso{^yfnCaa=OCAHIPDVeYfE|4iFpQqlA3p=kxdvnnX*J#FR_ z|FfBo8^r$lCkj&4rq52)cBhS<>P^$OV0?Y`!NrA+E2JNADLO19n+fT7-**a4SyREe zEKWI15KWucI!0A-r-+5Ga%cr>r($OD@Y%992kkq%Qz%`(*MNtGm;P8hoVnkvd0(g1 z3=!C3oiL2y1X*9ead^u)L~%)RiPqX*za} zgR}hpvL7^Gh0@6>y+@vhcA0N$BDAzZsdWX*Y%;pK&x zyRU_FB1@!0&V7Z=KaBtQK?I2XE!IsPROOZElwvwQdKe>r6Y8(MITTvCb7>VG=9G8bBU{{OH7W5fb^dImB7WWH|R^H zv?SQrSf?+2uJp1w`n2c1QK7%)?z;?stg9I~jt4iKj{bSzSi;LEd)izS=`-p?U8)oH zjm${sy87unR4_k6W^U=klEm)2T$d$WCfB0M%U&Em*Pd^old&DR;LPF{O}x^<9_ZGn zUdrj{_-ixKq(WDBuz}Mj8obdNAznG~JUuo2bhDW=1UzDu2yH4-*Gi`;?xQTWKB5+6 zM9cl4)HzvNQ=krBZ-v9s45YQ@W!H%4bVP`0RV9k_BqAAga6NP|_e>%G05DTvJ?Cx0RTihGXY9P=^skUEf_- z%%9P9#jh`&-J%R^3Avoks=6>1=^z|)Y%Y^oQ{^T1V=hA@ePQq(QoPk~jDQ4+JzRLf z8(r4k3ikZ2OjEY#@gN>d4csfMo8#@zyBQ~AQqkw$aT22RlJ ze9^J21t2Rdv1I)^HgJ@-c|(x$)lqP|BU)OFvYM<5>9h6lRd3LrH9MmqQ&)r_jHWkoWb#JR&3hrP(*`2X zPh*=s+tR>Q`ZthNXy$PHdik0o7 zuJKJtrImsuMKp+rSU^$TXW=iN!9BBf{|*vO#5 z)~&KTJ8xg&CIeZD@A&lmNt=dUi`G8BJH1JPwW{!|g?Tl`XVoB!C=Z-Og(T$ukl zQ&IO@MqqEf2J*ipuyd^6PF+g!*5M0Dqv8^~FLb6z{}p$jW%qs&(8lGOa7-tV2({onc9@k4$7?rHqJy+3c?`Aho8AJ_lu{-69G@k@RF=igfD#{V0?86&OFfAO8TvBqETsm~Af z^Z%aiKl?XvWqtla+`hy3d3TLJzux(t{=skcyx+|G`}2>*^XmO|f6f1IRQX+`+s$F|L^|OpjdtW+&_r>>c89f|Gmxq-}$S5#+TOT&)r|& zU+Y)T`$zf*6zZ#f?a#+gzxGr9++JUQ*XKXhRey52|66(gxBegR|7W@v`qlfto%eq` z@Bi7q!>{9iTl)QT{ltpb{U7`|8fjP_+M`q$3RpZbRT|Ls5g8Q<_< LUnLIj+pTL7Q7@U3`Sd%(T3DYg*ZR zayEB7=DgSUjm+b=p7cboepI=8^Yx?3{|Em~gSWZ+-mGP%o*UW6Mf=a?(f39Id9@jN zf;Jafp*HBZ^B@fLu#I5r%|icn*@;3wK>@P}qH^2~N>d|k7t!BDx=aK8hd>PPOV=F{FOOZK&%mwCKsO^W* z4Iu`hsd>y=MVzlQ-_xkWZgdXOZ-t#n$d$)dX^r=9)nCr|-{_9ezM8Yv+x5|bFUW5y zah$@2&~}|q#D`5UYmG}`tE|QvY|M*XYkaN8##HKQ(>vHrAg;FPZ_;`{%zQ@g6sJ~K@%1Ei z%TnETDt8)t^FUMNt`g@m&G&ocV>QnN=4~p4t@?~NM1LJI4+tU-)v;wv-WK^b>gzEh zwyF4PXRPbn_#3Tt68#p~ZmRosrPk(#QKQE+wno@|7QKGN-=A2v8nKF4#KgB+&Yh3rX-bP~l$Eev(eB46*3-CTZH-fEHTiP!Yqfi(= zzRhb|4s>FXFG3!>^?G^8sK1C^poULrTzBXfQ8}4=kC<;sL#YaRcEL|Y>hw1_$-GVF z)&C9r*;EQ&-x#%dSJ$s4`Rym>+UO4lPZDQk>=j10F*?s1F(eS5kO%t>7|%j?u3=N= z-osW=Y_~FUE2K7N!V6)4Fnp2bIUW55*g325h>dK<`V+%7{C!KiH0$so{bY3Fk=+YE z3Ggd=%aCh~{Y%DrSQz>-Iw*17`i@Dase}Y(MBXdk+`jPxh`T;*Tz#GK%4SXPZ3C$qx zgBru9MxGb3d074AN%FaX?Y;OAs;WBD?u6Vh;wVJCzYx5U zuOm|z8-oLUyr%KjBG;OlLr?X!pSka}{^uE+kIlQ>qrSU!h8p!TBe z7|4IE+FgR|DCC6dVP_lilZe}<<=7jcc_rK9wtA0z%{#2Xq zYwh0D{!hv`Q?sA(jhZz@xax|Z5AfZQ+@=|8BjfLC4q@sy13%-i9{~z7_7L+!$aNL6 z^U?CrJN_#a9n4~wVy%^DU7!SXOW#uzlZ9K#P`eiO=fN$ z`Zl#7hPwC;VQw1sjxe8wtWXu?uFzi0`p-hHJ!og-y;N(HCv90XX*|nVoFVfGIc(M# z)}e1xDRLd7ex4%EP52i&ra4u{Mk(-=v1WJCIf2Y$)Mywn|EX)<9o^!pH%|FIW5$;_ za*1OuTVwkT-96Z|Lp^D%-3j7)fVfvM_AxS5jXaBMJY|frj>tcxxrob(w3lMPC^BO; zp4HUgd)YitY3lGfF~5xM+4QH<{vFvU>L3(`Zf0K7`jWX##GZzoOy<8;nP1djJadmB zy8?vT$*8W)RkiLVW#< z^%c7pRL8}*Y=L6zqaq*(T}vK4fdr-wP61hgUT2 z4$N&b;%iTP4LN^>Tz~9-j?He!bkX?QGFHln^+#$rQ}s&{%j-Hecv5`sr zYLduRuoinlhtL&@(730ooh=%77J0;ge%LLgdBz~K5L@qSjYWT@+L88o9Un`3h1!$x zk-Cn(@il^4G$)3~nePVb2q&&D7^_RnJw-uj6n^XIzI`0OPb2#iK7Pl}-`ve z@kL^LKx1+se_h+>scQl33)Mw`x9$}ewo5VglGbe(GUaG@z)pSS3hDSk_zvAe_l)qR z1NnSSu3^Z1kNi2UZ5*~st86XiV>JGURk489@;8<5%lrv)C`7DZV6z5z2z!rejYVxO zaZOkG67avlWc)NjCJ}pIfoYnP$h)!mq1GiHdqNekY0_o<{RGMqf2igu^KI}oS$#== ztJ--3JB2l`-{GCm`3t!-jBf*H=npkw=%Rb~OU?gl_*raKAXb;IMI`#ez!hRJskpA& z4hD~)cTHpX9v`!jb!-2q=2U{cAg-@bkM6|w0dmJQ@28O6#oTHHuA}?D>VARDHDY;J zW3m1JioZvZDGjcZLo#+&(RRZ>Mt?CnImk4jJq%yVwI%`baY~bh^x+a~a2IbIOkF9ga-9_gkP#SrmYR1}aV_aw!^7ZiPfq^)=lQ4 zu+>9~0>v2m(l5z)1AGeohCd&%4%WEqDgT1G71U@RHa%*mB5|L>k4f)g`>e((v+_zT(z(VBdU zjZctSg^e{J6gySOa}@dAhEKPZl~>39N3;hZw-nuHjF{eJ?g682{m}oF^&N|?DE0R< zGD16b56s2RL;5{Y#^*EMivFw8fld*VP-kqlB+mKhN9kBud{?1A1|RQg{?F4ETA*GRQ%q!@n z64L-`Gg@<=$=qky{u6+-6Ms!xZ3L%vFK6Mpnpyy`q5d ztns?P;*B`BGk1tso@G8An?lzaYXgM-pazq%6%M9ryjAk1tRIOt1KpD9ONNt>KSxY6 zn9Ib^`|4BXVzs_+shtOO4QCUx&gb#kTV7=S)Fg)XTg0%OTo-Aqwx3$q z7(gc--6xp)4B3v@tVw&H5zl+*pC_kxk^c+X_3HODv7gqw>oUHHg&LyusYw4Hbbg|L zf$>pV=P+U#sdb2A-lmU{7jhu~8-9L6?oW;P2L9IMP2c+(j_l{OrV!%?I=&m3mx(7u zwaSL|pX&y6)!->pBVp-09D586!9I^kY zHro;JlhjwJG2_?Z-E__0rQKI1l>Sz^P;@p>mk!u_jv5}p&l~u?AFY>tg-iwPrqM1J zAX@;trBR+otU`-*U2bSjGWNFCeG|Df*Z9&kp6R6&{>UhE%wuOJ!O0vvHXO58;zq0xvc^=J*~c$qW2wZQH{Cj=-0>I z9sEz!`8ds~E_K|2Y%|6?W3vbR1Y;-Q*`Nwz?J)i#HcDbE3t6Gn>hp2UsV8yoqul{N z(~LY@=swCZ#zeoA_P;{!AKe=rspA*K9HaTBYJKVvhtS9B^E2IJZ(^goVYeW@MreE= z=sMnK+UqxKM>H66A zeJW%3ms8)7Dl?J6H1h1HYg<#+4u7?Yp+0hV7+*oZ2KFZ!Yi-*SzCFPHUSg=O*U>fd zjv?0fiET4-pQw!j*#FQl(m>k-&1@lYbi^+EYy8Y3Mrf<@>x<3cu?{$sEtNEI8(*D&L zs7*UNz}8E~yxB}uyYJwuI(VH}i;&a9_?fJN4NV2wIn;P5dHf*z#aOF1bZtdELTlBI zI35PSlH){jT!!uiYLQ0!J*|nzHv)UHwOH#aW0i^FN5($XoIk{74Eh^EOG9@!wuGvx z&&8Vi1aiw&xgMHl36(vFpI*dUn>9Pc+z;q9A@BJ6?1?-Ne4oU}emcd#C#>C2VyTUt zs??()eWBuvEu{Ua5u;D-cEv|aWag6B7L7%8UZVCM=7h4ejvuJK@AHPOZJO5}tw%AH zmuZLknhXD3^$TLN3;2ut`V*7Tr^N9C{Sc|5^QZCEvojKQACtOlvtDUjxBP zY>Z=k1aX~0cZ%9(=pK1BZs{ziorBKv*#68|pFh#9qhe1ZDDR0Hci@uotKy&#^5XX^630IVtSEy-`DsrE3cy5 zw6Q|{kJt5(xuZth2Q+3G-%DOSsaad%`6VEhSLsLUnux4W95xSV&4nrt} z37^8)Sk1kd+8swN&!SU=@pkA91o7l`7}>qZRHMBBbTB@D#OE-^gx0YCo2ac*c|%sH zu8(%_u^0JzmmK}n=1=BdCgv0Pvgs;zo>rT^@O=fjy2#%Fy&3X1rs$Q^`gSAEA;kEauG!zT z2NTN@-G^fDCiaiwe?I!RvHQ9)C-du=|DL(ax;`?NEnk#cX|0yy^B3%QWPBhwAIHxm z>_)2Zjk=Cyv}SdfuYgWh?7H#Mnz-L#>=BjgM1HTLzZ(0I*bHLsMdSi$CHCUbol4y0 zk?l=AegI>%1|t8H#?Tv^W3g$|6ExnkJMh|u&NR)dqt^8at;^ zp;w8aFMhMt_Y3qNVtyj|Jt$>dlAEJEic>h(F}#qn8ObNoyB2F8Cv zFBb?MR$tO?K)V(7>!o9#pnnj(gYbcj)xysP+F=qS=tAs|V6Q4N8?-KOGJlEMtY@ql zw$jv(*e|L3@=J6IP@jv8JwjeWey!&d=+s7Myb+hozoT}(mJZ}YJ_gxo!RI%u_nmhAod_|40)I4z6t-2X+Ev-@egsdRJ#u$^B8(Psof(+t+r`C z|1wVFIx;D$cNcqyX}8gsOR=XuLgy`AW6_IH8`+Gd(65dCHt5X7ztA4~1JNJO*lhUQ z@IAyb8gA1fWCtPlt@@GiXBo>eWMr%azUorj`0sYSjP1}^I%#ahmD~CY(SHpb(mnVQKI@_XiN^XKf)5bGHT5HU18DCIh^2wb ze}rsvY)mx#>0c^yo z9U1EkB9UnXzGJ)`{2xO{WS%76Si@&~Vw#~fx`2-tn2Ugy!2V&?Jx{L9(S6W}XD>R3 z81IHmLDsMe-+Ecywz~AEB`-H=n-T zSwE6^J7d46`t~#aF}^Qr-QB8pPuckLtmY&`%g}ucUyC&F<7(??V*gd^7le-^v?pWt z7_kYx1CD84_XhYfQrEB+x)Hk12V%Fr>U^s6B43?6GqGz^S7PYP*hy^GQ@IF@{{i?x zFh%qFlKI=zvY_rc+lKI8nEMr60Z*V)pRxAD(;2(-uy4|F#-@>%2U|kVXubu}9WHjX zCY{LTCb6#6d|$?%Pyww~jLPMW{`+f1wI?GbXlEn;2zF+WM*?fP4j+f8O$~TFb3NfU z)hG5(@z)#M8yNqGi6-c*L2e=OzNEevGyfHHyRkEixZcv(9L%@F#%`_IZECes>lKXM zpNS*a*auvSF8 zWzZ8UgY4UR&3j)n(0`tK&Bph4$PCxqWbz!Sh^ca#Lzp9Y#26MOFf9=UA4cR z`1T|BJT^Zu_F*Zt6QeeYYd(2V@_#=Xw{`9?^%kl?PPG|pqO$)O^|?h(V~ze-(0@tuxuY?CKrD;F81nuI zZqimdA7FE{k#AXIJIh!!b5pQa5RArVD7x<(%1MkpNQ_a8e**uD7(T}53f84EHU`ih zsC(-}jYZU72CoszE66l8#&2m2cI((7{0cSG8s_!b@4D9WG?!24FU3y|IaI{PEbOMj z-)4P}tN()3Xu0amp)J%D`TE#CKn+`v??Uv1_AoyXRMdV~Y&^%jO%cfVVty|A8TY5iVCcNB94klCwtMc(CNbHrU=ZJs8sAiW-T>N*{uPC|{aGhS;g{T~DBBV*^#KZw23=yaqV%h)pAhhy`} z=`m!5z6_XKO>HMK7D9|$k@*9eSmGCYNb8i>VWPC4mjYIY}W24Ep4E?+05~aFd<1Z1!X>1bBxCS9sY};`vZD~ z(SO>gmxX>w>~*+KtDWGZ26hvw#EK82iTGyl8hlBdDn5;W#-h$jTQN7R2;)Gqe0Ii0N91~8;{bde`lX3y1w2yijvT9eTn@U!>`0MQ~NcI9KR#)y|$b&exC7o zuD=E7mEaobfXy_GFCF&)^WIAI~|dquX&1Jp{~SJL$BGT#JZWadWk$* z8`s-lJB~aRD_iZB($9exvH1u7>eKIvZZ&M!^gi}&s)pP}=9;Qrys>su@ck=$E(tC) zU40%$_AAC}lH+dLJJBzw^?gY57WvnZ`CDT?qkDIzk?RUwo0pLL#u)#O+Ww(>TN$s0 zTosKW8T;Mw^)-GEf+6JH311D>elqkQCI2T2G3BVTf|Wc z498A7_DfTn{u;B$2^|D8(O*Tak05hg_r+c8cSCO+{l~#FV&1R1UFomFerNQ~BU4$| zdI`C`M@~oYS^oEzH#GMx%s*nRG3+Otp#P58y@o%gAj)nYW zY$mJ!9q4$7tvh*qK)lb=HmNdpUd8_3n#Z?V!(G^U5<3sWo1@c^yxt+sop2ZN&4>TO z+y%Hv4bk}w2))4EU}R>2zPguW{7+&E#$PP)AJXy4)VdPw-f){nBlnBOdjeaZ)BYB{ zUI_FgmX+{AjDLV!7xX@0>;-ZeLk>lZy;q9dw;&_bDYl&K8pTp$bOE0n|>yaHRSz}+Sr1uOv|F5x+v2W95 za(xK9LetrIPGe5S9{WG|Yhcv+S!xhSHFR$Uj!S>7`YWS;T2qtb)ac3k)W)=NPJO*j zy;F((A-!(uslUUz7ktKgT%eX4jhx;VKh(Me`)VC}p_uGG*G)R5?qU$Z=i?DTEW47glKdd!4X~ZStA7bw}BX$`xX$-N?H3zi) zsoMJzUek!t77foQh8qFCZCT;1wFc(cZuZPxY8eN28##*12kQS6zB92Ktp428_ebON zr#$)9*S+_=k>{(}{Y%$Q?Cr`YwjaoSG=94T?5$$zTl4~{DZXdxwPenX*BCAaYJ zaX{S~s88EPW4oa|QTaOoa<7up3gU~_7;Uv2WB;V-S|l>&MW7QlGIXEV@>3YwOni-X zy-ynU5{UmOs7cOmtF2(orCLB9w!J{!mN-ocG2&Yvu$I+{tun$*@b`ws(~|gpK<659 z)iAE-UPd0BS&wr@jZJ^|Yu_aP%er2r(e01z6mmUqAB8WCxJ{94;`-b0-G_K*8?|Y~ z+$r+hX^f51TAFt3_Lt=D*4*CEwb-aNEM}~YEq{d^J`b=rTIGTapSFB{yu8X?F(&V- z&EDh_NOPEb=9chkiUkHgSwvY zY3y$qd*ofs<8!tB1o7-dZnx@uX&C%QeQsu~0P{=Xk7`XT8gkN%=I5OoMs9zoZ<(uO zZNl?&F-t(bsovM_Omv-kfS zZP0l77@w`psMAaZ(o4ybJ(bgkEr|X z(RTVX>Ox}MrZRVpJ@?=0&{ut338-OyIv*Le%5PrAX5>?!j{gU})d2=GiT^cYAIkKr z0d)yb`B(PP@|-Y*(8zC%t`nLlI1 zW7{+NG2-cC*ldOW*Nr`Pjl5=<3fgXoP6Kq4jM~XmC2E(WGB*2N>luZuN!WH7_C=w2yvq>QUL)gR%JS8sIa^s8t4YZw1VoW+yY(gnX+6 z#4wIp6;;6)=I4-ygd2kGU#QEoy4Ld!QKOAolZN>H9T^9kA=0R^;p$%VZS0RX z2HR1GYR0-6Q&u0Yp_9YoKhAptrG<|OT8;$EWHe>dgj$m5)@Z!@Dl1+~Vx=w&iK)reKhE;D4M zZ__ZK(9(sjJ3w(2OahFl@$qK#VgCEi5PjSh7r%5d}{T(j(x5+zC-6td~Rc1n-kx1{hWzVxp3r?u{9j@ z&=`-YjD)pW)*hKpbV=$Yf}f!d$Q_YSAG(EC&=k11kW?JM038a*M{iNG~yeC&tQ$epfMhy zaaUJ|vvnO;AnP#XboxKoNPJc|_TUJO?LUM9I%5L*((OQOW%F52nOm*-AC?X@iCURd zS@Zr__meqyN9$h$8|SG@5;=WLjBCm3Vm|xzd(9;UnJCtvC$%|Z8r1d(>>R@1N@6~0 z#PdCVg76cf>(^cDEoy@`mL2Ha#qK)depKhH-zRt5b+YK@6K{Fd`GRAEm1B|h+j6L(2#y5kytR|)r`Q-4Z zjy0zqKVq;Y`h7LtmgtNo_fVt8w$E0E9~mo*er!JWZTb9oBjUP=ulBk&rc6)WS2C8X z>vTeWMi}dA>&#*e{?a(78TH<#0@DI?ep6XD>vq8KW!w9nwd`!fRabpKplf^F(8*9+ z!|@xE&$^0D)BSJMDc7i92<;xGfCh1m*o0E_vnsFm@2}CSa~1xRr+P0%G%O&VI%g(4H1hH`|8rzR3Kk^V@YFk5(QNP+wE;@qDi9ml(SpuutDp zx#WEIo*zGBG}l)(W)Ul9?4Kuyp_ba{qdA&!*zE^(E=;f4PKFJUsblCiBHw3>&xW$p zEL7uYP8<$&I}qCfV?Wt`{xAG-qi)X|ajXtld$AQ_#3lV^>NB8>RxO!?>SOz@e6F1f z6z*wsH>r=6T2IjlM(4aV47x-O*6TXAKqu3v#|Eu;QDPfF{Kt@spgu`Ptikwu%kXhl z+b`-~3ODxfVPow}sEwyJ&aSN2*M?mQ@u+i=1sN6 zFA($J*zcm7szu=DLSZd_)>D&LX#auUHX{aaz_w+uNJHynLoWAIgtnudmki zuDuvIEz5pzr(FzvDL}g&t-@y+_-+kZ6PBbBaHuS8ov4v zM@d-&UAtApRG6`Intxwn>0|gTsd8e_flO`Udzp1>VC)go*+ipmRkapx6LSzT6c32? zH~jpiGNui?U6y*(AU2_q|Kl@gXP(%-uUSUSHPq*JLw_ND+w*z8kFnp4ePf$w&is!7 zvD$NI4LdS+NaL$&e1AA$)S#(ezaqOzWlv*c677zL@9C)!l~JmzW~!*O(qc4MQ~l^A;#nTN6aGq$3c?;cQ3 zGd{18(>Cfjo}53@n92my?4^KQ-$3_C)0ojNjL%42cVpOk6#M-(-m*HshW_sw$3!EZ z3dTM$ZP@LhM&9;Vr+mg_Za>%UaLwm6`V$O4bu_O8t#J!vA1Ai9x<@V=vbLZ5@je0T zX3K@>XVD$_QEG4i{<|d;L4=yeJ@NA7erbk$(feO!wiv zLF3CM)r%u9n;tM?eVR2`3r>=QNjvk2b&p}gmVJ<#KcH*hKA-s^*bdXrgKYupZQFQ` z{5NA~PQdz|v;_=aS@TIU>T!#F{xoEySyb1is8N@-L<8pBtu}v=10|mgZA)k-2GHYhHZ&jPK{m z$Zd_TS(*FPpeXUr)Eq9s4-j9!`^5BGJ~0e3@{xFiQj8cL)>{2&tj`s-lSTfWjn9)v z^qjh$d6xe3Yl@L;HLcB5&1(XC?smXh4Aj`tbwBndFGoK1i|8IG!Co7vKKdE8x1)Ge z?e#b2k|cf|KaKt~YAfEz*VexuKaM>=y4N($4O*Wy0qgLMu~%C#*8;y?1J?CZY$d5& zEu*&g^S#@MbC^-z_J;38TGt%nn)6?5Hb?)Cex~&g*efIM^O+!VO-3)l@NLHWwvn?v z-Y+0$dtCTiMn12z_X^^-U4Z;6x?Uom1Wx7SL*`66!TNl`-uczoV;O3vc0T%LOyzvq zsal_{*nAY*9gRJ;ow!dDb7x|I27eulxjKfgx#aqw(a*=tzlL1+JFd0)*|1j~`^m;y z|4V^J1yGpS@}q&Q^A+YU!k=MJJg&CuA^aC>`8}A%+;!u#a=gYG1fNLl_A_@^>yWE{ zx@mpuGu~V0#Qz+lJ)PRDMt)m9xp&YtnM++8{+GR)UruWS25V9OM6FFNa`{Aad@^7^ z1*qlQ^%${68}+WIpOuluo(wclUH$z+JT?tgd;5vYq$jBRo8%8V<&@L>tX9Oe%ESU7HGVes7+En`oq!rMGY-ScLFgS zG~#H%zI$K&chhU{AGI@Vysxnjp$3O_&8y~PZxZtkWB*-b zJ?G)0zt+ySw=5ss`dU|!xq*!V)b9~hsHiziB#uUED_qA$$4KG)}aykp2hDjwYSvBWeV+ov>sy6bss;r&n;RvlaLewmNbv4*-2bG2SFC$z{|^Slwx2tf85BgQw3d_D`<&$iA9t>i z$UT-^ek8y6!>dZQ^-U z*ZE!b_Zc~c2iOz+Uc~h|dfSZ}d`AqQqW>m#{y_gnx2XT4`Q#<`ZQ2~* zyN6CpGVIBam;N^avXOe7^d`m$_>i=ooE3=u;WxkoN^-$XKEc>%!oP1>1 zVMUKmcBT7!`kj`yrOThrPw3GTTzgpOw_uU?P&kf4~R?t<~?`+K3T3HcnFTa%$6Q0S(UcwpvJ&@!5$eNRoo*BV8 zq1(dCxYzQ?u+QawgglIr{*H#4k& zuS~DBVsTCm&i2*M;gt*DWXA^k!m7j-P3sfl_j%KIdwuSi-u5w7N+doQ7Zop6M z?^x^%Su&;N_Ov*U=Rlgn8I$SGWLf+nR+uN#N@`ouF`1LRlH<27D%>cwt+Tm5=!0hd z4*sJKe|i&taPbYk_-wx`B-6^Y5?nD(D<{Ykl>2+CyLc_H<(}7{eeR5}5#dOx=1g>N za9L?dR$|BWPHw-C?ZXx+;PqRsbXT9sUMtvQ!L0&5uP-Qcnmg%0>ehlo9cgW|Hf3g5 z5iV!WBsN}w4DPh=Um@PdT@11Qiac%`InH@$t+mbP@jBui?n#dR*6wDV>t#eXn=;#* z5f_o#%laZXDwkg!y>aezE6M+%yvikKZTOTpkL!RZIHQ!??_w7P$C5Uy?u|_hvOK*; z`n*m@Vploi!QoAd&*ErSe*tc;h%e#Z=Pi}x^gFGnMG4{Y6si!9+=V-Q9%p#Nq|n_K z`^{x#=X$K{$cV&fZ;&%1yoAHYy~-8*MasG@NA(zIbGMfb;Py^rRT8sPyg{>r*Cu+i z3RiMPoYTa)Vc`Oa;{MrZPXfAo0E<#L7<^tBvV+L<*cCb*3+ zx1}d}jz2p+DCafz6pzz#O-^L77FmVjg1T%w;z>BY`ap8H$K%e;Ne}mNHj12nP5cga zl0S*}g*bf+{E6Elk`MK+==S-1*;c2dw5TM!@;9`II5#Iso=QvhI^8a(H6z>Oi0tDo zPS&gZZRBVjXKG9;)?y-(-3NDD{6V78p(x7}>GD`kr!{GA_z`b~)Ci9wxPqS_Z6fY{ zUT1p3T$VG@*WNcFXvf~P?U9b;U4@#2xO0l1;Dys^J0@94me=FAVq9)-_C%|Ke{PPi zsxvp8r<1;LH*r~PM1PF8jxQ&|^L72=d#%ELU#U?G9EtvI=~-2LoeKBwo#o9+@dtTZ zTB%dsk>Gkod%W&c_j+HB)yN;}_PF0(<#oo)#8rqoy>F!^$Ne` zP3`SFc_t>!N^9cpNRQ7=H?<^m{{x`I`hkoRFC8P8#6%TggX@Iff=i zm2g^q{_$aD$5qWP%byYJp5%2@ii&oIgr|;2C@d}8RnFm#j9DIQ z&GflKW8$(LIaRHsxDbyck#C;7KD=O>!wSj@W`7p+JKc`PX%;_Z1bK^i{Lb_gK2E$= zuG7I-gwr3iAYpe_PSTxr{t*ig3~ai`tIa z;jQD{?jFdWDZN2^E#K_qD!FI9ovoM(ey1ynD=^BJli+lwxPm;M2eaz?t)W4?p9%_d z2V0(~PXhohCgLFvi65Qd8I{Hs zo#a~5YrETuOm<8wndo?~Q%zpD?P?RY+&9#b<@E8d+N@Zg&+iMPTv^^sZbZVFUg_s-Z%wc0ox$th*5t~mum(>%Rm zX3(GZgW{R^vpNno!#DR0k{oAExhQ?MHoSeep zRuPfbZp)X(Z!;dB+g-eEXi8j)&kAunmqxOv?%*kWEjoT^=GyYp#zeF4(;R+p){&g1 ziId86zjbfTk~<>=)YzQ_uX^F_t- zHod)*{IOndqE*u8_NR7gk|h6qSmtjTl>7SJ^#`2Jpk4(#`67z(s=c^yE6g#4^!xiP zhtFTm5s@@A+*@dFLe{eI;H|#C&h0r7NfC{FO+MzQG;g}x7#fon8=u(U?;02PlYI83 zx&01n98qU9&dl=h*7C*;diHeX&KjEQ49a$w+U~L@?5$xrt!D9ZdW*;DnbNotKlM41 zb3KcEzO)=GCfstgbU5R=Vj|}&2YG;_@Z`) z*LJ!ycom%AyUP{t@MU-t9M&OEgnvn9(zz%rHf6HIACeO1^ltE2Igth89e#Iqh~?kv zsA$a`U+T1Xoy&KW_`H^t#yfl$^>ikCeKjHz<3pTX9mS$5Qt_CrwFVST>f?0gI&y-M zvn+oNZ_FZR#&W;k5gr-2&5BQzS3y*bjIQc;H{!}p^2>3=bv#wQE2_EOGyMMLC^_RJ zq8soH(w)pFywAe}h^|I{$8=cY>7r3yt8-g-Qsk=1DOp+W%DI-O&)Q0!7%SSBF|1vo zty7Cyk^YQ>>XM}lulau)AfFD5F@jmRQ#ukon z$7fj!ax-1ke7hrKtio)o$5WJhMAGos`-k(PS~-&e*J@;J8o*d>;C zx37xd%9!D=<14T&Cd%^1@+f|+wV_dV`ZSMgb~YDCm58Jai;tkB2!D1Bt3XEmLchf= zbX2ioGE*)^1J7@FlEhyYsBblE-t?*<=P7%qCGJgA$_FWZkO9X&RUo})bcKNh*JkY@c9#4ySG|dvz>na_R~My zKQnAfidASzP&4bYH^Svfk8`?$iu!!MLVPfJc6<9;oic*`Z%|N2vgJzTX9#{$<0sKb ziz_fAt66lLD3?|B;R=!CW@Z;*JLdA^Lr#>-y{)9>b4Gdnt^7$`^(kjup));8ydmk) zj^!T5_D(6j8fn>9nWFKD&BOdwR6Kt=3w1fO-2Gkr7;ME_;g2Tf=C-Z9)z!As30Jsp zJip{5`6oNFcgI;VR(8CnkY`|}W@{ab23e`iLz*YD+FTfX|8N&h+P!_CmF8^ciJxKx zTMjGKA`i<|*zZjAH;Q@E6*Vb-k>zt){Z1B|mhJGnEDn@Tsh2f5o}b&Qa22(%JYgAG zoR(Rzr`6c7qLaXHA8&i5v~|_#cX~KcBCwF zIxURGCAeVT1}(f6W$?s#INIIoa=WYYqkb0GUTT)*E1lyEcC>W%-f0bWw}@%&A@js) zIaYRiPuN0NP;}~PK2-RYy?drrJT|n9%bmR>b*^{#a`{`pKrjdl1;fEeAoshC0?z|E z|6M2@WCDJPv!;M)U^?K+wPu3ZK<+n@|Gmp|y7NH}5LybB-D`0MCVUN83)X@6!3MAi zYz9K|EX^mtzVBc=?Hynj*bVl8FTp-=02~5GzzOgzI0eptAHaF=3%CS+1((4eK z52}C%fKYYiHQ@3LwS4Bu^DuS6LqPt9{Roir$sPxZAQ?0P&45r#cq?r`0Z#?(Kt~{F zjmfimUBFYIE0E`j(?BoK2Mhp%!4NPE3*+9rXQ)dqS*TEa$O)wwifQ4W&SPq0%Dqp2s##U?lJ-FO&x&ds`vCZ%g!4~il zkmuLrKL1>>9qa(R!9K7bd<71GgWwQ20*(Qp54TR3Xf6(@M_)pr-o6WmN z=vT(B==fFmb?_Is32uSg;2&@o$c5|z!9c$C$^GW?|JK5Q&z5`dj*5a82Xg*FDNqK; z{jf107E}OnK&TSDDv5x&=fQWEkG+E)CS%` z+tQc+r*_l6ywfNR^Z|W={B8bOFbK%KEW^M^FbX^mMgw_H=q2z95c0z_wLL-kWcaIK z3YZ3F0HIm%Ibbf3zq`uca2J8aKxip^Iamo+gS9|t9bEngvq}4#;ak8bU@O=Gc7k2t z3$Pam?Nh!VegGTjOEXUY_f22>8p`y=Tsw!sR)lRv;C$0rGwUx!&19wfyhZ3t~ZKPz6*2)q(spP#e?*^?^LE{uq#V5G4YkWO!5160`*!fPLRY zC)%As7tjs#075<$ z3@{ta1#f}3K@L~~mV=dGHIOrp)&hA}Y!lc5J_bT^kIr_m6YSElJ@7BVKCmBr1%wX4 zkAf4x{(sXc+NXigkIH|7Uj&!H74Rpx4sL*(;5N7egzhSL2It-19tJN2JRlMX$^CT2 zfZQ7(=ba15^9f#UOFxEoET~|NRi<49R0Z;$FL_sn{4d-l`DN}Q@Gy|`59Pj*Mj!>q zd9tm6+=I{_$axi=fSfJ!6p-iix&yh7p(haP4VQBa%(Ke|(0>NVSsa7G5FpR&KL_L) zoiX5LAT$=90W!5OW0Pr5(|$Hw&K;kreVLy_Ti)mQ29W!W7JwYE1iS;}9?f@w&`S7f zZA*U*ZTbI}oG<(#*aAKRa&O6};B&AY>;iIc#C~uH9079wjyx;%Jvakw`jPf|@DsS8 z;}_wV!4)9)5c~nIfm`5ja0lF@5UyV40osSaaqumWXRFSDAHjKW5nKY7fzTEBRd5ab1#SSLoABG< zA8=R33b6J--a{P%VUdHNdAXypJnf(E&ppz(YfZz<@wB1&_?^BC->B}2Xa0|7w{D54tju| z;AtSw3=amwzz8rBJO|`iXn7BhyiddrgvP-qf-LYVkn{XzfLUM;u-~mQkM?}900=FF zF9plMN+8e4tO4tR+%vTqd;~rL+rSR62Ydm9_QAgb2f-n56nqW71K)!);4JtF$bBa^ z$$h%Ng5SZP;5zsV+yXY;rhQlX{Qbize**z>AB?=)sUVQ^=H-2({5$X7J8$LLDtQM@ zIUvtBdO-}R0Qh^JRT)$PRlx(G8mJEB-ln>sK9DmKkiWYmfn*@})XTl9ErFaL z+YZPXTJnypE}%O|1HC~X&=))no&om##Y1Qh1;c^d+x7w&4PFFt_S(z94>G`bFab;g zlfkQCDwqc3?_D#2&>Z+&Fb}*1=7WV`F<1iL0YWR_E5UnUEqEVn1e<}-2k?)8{Du1y zkPEhg&%t&ev=hEt+tS}d`wQ*wQ@$T=-~V=q_EB&Qd=0(@-+`0h6!;OG1LwidKA@* ziv7jP|2UUTbyHx`u zfSRBVkmtMW19?|b1JDr2y|zg}?niD6QhDQXuDH zt^o2Z>U&@fSO?^N%JM!gc_#29@F~~|J_ozO9`GgD3-*Dpz(H^bd<{;5GvFMM=R+=n zU%;>63K04oehpj)H^41$8{7eRft;u31OqAipRZwyjEa~*4;T;^NRZVgg_ zJf|nm%FFpY_WKS*rW<`Z|Dp$wbHaLqzCcKxXMRT81L5}l(8F|0WQNn0v-3uQ=YgCl zGX@CBJ;kqpabSXuO@vPduL61gc?Osb*TUC<4PX-bQKo*c^ zm8O7cU^z6RfcGvG&X9$WyIz!mU2kaHofft%nqxC6M!#R>*;K6)q!1M*%|xvyN# z$BhJXF1vk(L`m9mc7vR4A?DyIs+Ufck=dK%Ofb0OahffnW$221Wom z=WYym3HZS{Ae0H8044+bo%7RlZo2Xr@R{0{=Nw-La>kE5k1!v+4Hg5TrSO&7UJYLZ z)`E3lJ&@=3Hi8d;&?oTEz&5ZG><03T?HAxnupb-*hk-m>ejJU_X2EJ?$UB zd2k6_23Noz;7@Q3*mRxtU*IPATgJID+5zlm()stc6$0EqC=^~06w-cScu^qliY^Z1 z-G%aQ1|hHVig0<~fSgez@9vRjgylWUwSc@2P|jm{49K$>$v{ZXn38+9Q1P05}8=gJa+u@GX$%2Zg?e zp8-FDb2@e&egXUfeg&7oRUpqbT?aS7P4G9kcgCfMy#s{g%w!j^&)(&30jnU8_e>TB z@(iz>iC7HCdu+;r7$79)Aqv^=GOa?t8nDl(l4s%M-I9+0`yJULFYhw6&$HuBCW|}T z?ongqDR6n7NzUn$_przrDNlmV;3?1zynL$T8OO2U3cW^u6gvBC{H8Atji~4Q{b;+NL45>G_$dgap-PSJg#EBtUV_pq!_EhO#rmgjy^4I!w zUHfet8g@DISKE0XR_jV>#r!+@o>+v-dV?9S~)Yj)b+=o8M&wJgJb4Z ze*WR*muj_`aji=01J^oKpFe2Y)Sl-mOuTb#)mwx9Zu@)1X@iIF|Eg@szW7uwh6n8J~?(Pl+iWaxx?(Xg`#flbpcZU{tx8m-6>FawxzO`W1N^b7X&OT?(otfk& zH|LCey7IbKKUCNX87V~=kcyoYkjL|kb5Lzy15cHN2O++TdpU_HI^vU3Tu2bqE==5@ zNUD>=AA=ZNG4F%L9tCWV7i!2fm7v8-gyK{T8h1BRc;K1$CizE@_A*|OX3Ngaw7}}f zM-9~dia2cfls%!Oq!afvKq)ysZ8FKk^7)n+^(i=@-xTc5k}$(^1jaeDg#}EAlNQZO zS>%7#{A_QZSgEe$*uaP;^GGrq^cvS2Kw}ZHkXt{#UkcP`b73sYZb&JOFroiN{)|Z=hhZa8pw*5P2a+PFk5>q+d8|d3D{EMuWz7&#RXs+fZsb;22|Q zuvS*i=J8OSncNWag32X5b(f$ue+Q>yZs}rhPaqaeXrip3X*LsJ9Xe!YB^Av^G$D3j zTnD5iP3L#Ke3C_x6Ou`_K@}4IAg3mPt>m`S^k{nnG{{PsY8yfL;lqbl^;FiZP^?#V z70|f|8to$IENSBT($iL4M||P$6Y5@0fFZVX7hLPiFi* z4A7CFSz8Zi&t^nmU`Xq2!#Y}>N1q_u-G=eFuX&qE;ej9rSB6ksV`^{sFfhBiV(LV* zLW6Fbq~Pju6dfmqQ9%ID^A_Ry57VyptEFC1*5Qu6jJ{q{8{QCPdqa`R$xAqkIIRej z4}fMy%(VV^L|aqo`B>Pl2&AxHt z$7!j9_?Dz#Z`)*DA%haQL$^SnHVLfe1<9BD-aYA6p&rYQzymr?suTwTvI6M>vrG%0>sFPm%xLIeMVyOGESem{7}6Qz0|v-C)Q%ig z$Q^0)*(^)gUE#34x1VriR#r2;@a#-@en#;vM`-8GbXqUtTVG|=&Cx#7at=Yo_b8q+ zz(v6)C5{QC)sM#y8)eZCpf`?X<&cUd7shYn^X7ZvART%N1_$JM& zp%#kkd^uHP%!fe)_nlOqKOZfjD3ghKB!H?U)n}cr?`Py|!TD6`%8aQLt;$DC>r_l# zh@aJTMJHr%nbeWKKK|;YIX$J(UMYfC#e_k6M^qHfhl&sQwH`@f6>1)qM?h7%_94FI zZYrJa!0FLL_nk(b4G~4WF25vqac@HPAJd14uX77utwYZ9oZ2y_bNnqoNeKNUWxc-w z^{Zqdie-s~L?!%LnLvz%o@GttWA3-H42~4?>>D{E;S~etlw6JOdhdn(?PGoxV1v&X!X-X-d1nwMw18ckM(th zY8pT2S;nS)viF7zmsnyv$vOh5^{>#6S`9yJ7_K5ET||%9m)f;bV6QX8X*`^MS=g>& zxzgakUP-Emj1WBMfEU@oL~n_Zft6c5BUlE+=J ztqDu+W6Pt$yp0g$p-bE>VhGyBp{7&g&)%n#+0K;O1x|AYQ@hrSxnpYUIqVUR+EA>% zI6?DFoMdN;?e=e`{p1hb9b=J{GT!!q`iF*iMT-efWQFLfh~J(~eujxeMB5rcf0y~$ zJg&qskt(|6xP-X;p+JMx7YSECFIeOmsYGVpRKLK}7O*k$pa=gOmnH%5?i4=}P)H1p z5ELLsI+L=O0FexB*H~L1-r1~r0#FZ=EUvXeA7gAX{kpgHSDt zWT1@-v$QHh9WRE#v4VGNgekbqrUnl%18TeI_asP=)j0Snru^40TDeHRo_o72L0^x!Q4+BQz zT2*4Nd#U!%ugolvDuM3n(1Ik$rW9U~cL9wmr9 z_^v|iY;L)BqvZ~ab}XP(h2NnpR*cPWVB$*cFf{11k;#U3V?bXU1gf_DxuM z_{vq2l7gwh_&^xB#sDuuRkcSgzT7?CMXS+Lk(ncFO|=l^R!Zxuk=~w^N0#Wag=&f`dNwXS}2Nid!^WB{{JjLj$@vb_;SaT?Z&QPWlN5i?4|xJ(O*CXCdAd00U-(u;MM`L!d>5{dI(Ub zccoiey}2rX)Jn7037jspY9=K$J<5X&4rObXb6PVf7aEaSJ&tRjw(mmmalKY;NV*Bu z3nIZRYPy@5Gx%$nR=$CSZ~BBPD4`c?QkvX zAY0&|lwBq*0x*=L<(`zlZ>@b9@^~Itt%0LK-xo#*SDbq_zdQB2BV#EVp`ccb1DdbJ zERry5sb|+6`*{?jm@!G$I9B?C6$fye4ZqwE6%Zfm(U(4txps>}wiY2BligO1LkLcM zf^js}=f~SyXw5=ef}_V!{hqY*q;L?1q7)%%t)pWv7Td)TK~r*C)k{{jf2i`ghG1N( zM6c~g=?arbPo<*+e7Hp>%y(*#9T$0+t3x-JD_?*!!~e6@el<8{2-?+;p4LUZSu2{d z33jOMMjsu0rQMgqYExD^8ugd~4w`nD)9Q(^Mv1`mCz# zo8|hqh56yT&ypG`pC^~CiZ2T&7V2djIYWzfrl2(seY|`mR)1Mv&oD%@%%V6r8m`4~ zA!N)uYIxS8dpqf1S6H=~4Mli24a&ARMG5nZ)|dk0;e3ZG4HT{)RLQ@O(+Xqy2A@jH zJYQ6|2j?+J$f1Z+-vrFx3Av3&8A1wceUt*2KjFtB4a2*Q&eJLa{csp)Mwyx{`6003 zY?>9aNB33irTLUjxXlc*@sEJV4}e>ECTrL;VEY8P*?+n&k1`WY_0ecLdI9V&Mr~|J z=Qvl2NE?&A0``Hb0k8MbwddZY*-%vdd1(Tj}KNqlpeLWD)bmxtoxp3%*ACM;T&>Cjr@E#ZoDAuzd>y zWgHZU%rLO0z~ZgAp?SvnnF@Q9q#Bxv%;IG*eTRV(QrE=8tXU zr(aA3^tfF#X5{p9h9IR&nbNL9h`VFw#9jJpGweex1u?FaIX9Q13iLd&iUW!J5TiOB zv3w`JcA<*YG)r-?wCtqO`NfTP!^#-$^W;6tK-nkM#?04|ZHYK=RYT~2f#y9s{hyD4 z&LFu>liUltW|~1VFj}rs9O>I}zNqQ<%LcggVh8#@L3b!DJ)^}t5S_py#5vLJ?Ll7U z@1)B-ok)U;N?v&--Dd}N#R5&}kkM{irR2)dy)0Ce^J>`UWkNj?HL1!4AQ_>fo9Sqo zZl{D`pn6tekw8gkBHim!T{NaVc9W7K1O?@vJ#o=FD4Hf94)s?ljpf|e+QO{8w3P6p z@`KoAD8jnIta;MXA4BZe69dk{trT2ft~t0cx5(8c6n?IKfo_N|`ph8PDY%;9 zY4uaxoha~XqkM~QY^FL(MOhAhy;n#r`BXqG`)u>9<8-Rnv9t&hGQZK44&lbiPEEwf zSCCCk;{tqS63EY8y+O3Skzpb?CnJh*pj}`_tA`D&auQ6;cv;Gcz_hJ)w>Jg{?B| zmDH6Y2IZX;QvSynNoQ>b31qk}%UHjskQ*M0Q<7$g6W7wN3`FajL)H{mKOcFi7I7-y~q~vcAL9v>%bcpd1Z!df;Swc8JJbuvySRKJSHl zkCyfpRnmPV{+%e5Y`9|78(;WMXfq~DJL+0_(s2U)KJ%rs2eU=fIBkC$c!|tDsBcT8 z_{?7s)Fv9;3@nG@#Za)P^oIokGa|Dfs{0YUXK_s@d4NzuV$sUX z9uq3fbkrur9XyUQ<70T*FqZU{;+UlB@=FIRvsbHd(|QGH*h+dP^`>_V5AY*1uk(1K zdEyei4jeg*AJ0CP`ml<=Z_629oKmO})eeA{=S<*yI43)E&JzoiP(iU!8gPb>^yr;O zd_CR%*e$7tza(FzS~$QjfntkXaS|7WXHkED<6gb239Q0SSlIWCp6m)j+d1cAC|j&s=uqK42zzJJ5g7IttqrCD^vzuDm^*u>&?lS?eQ5LmfzKJ z5-RlYXwK}Fj*xm^XvqEKE3;j%XjUURc8dbD4@H4}R;Nb8p&S{f04wAN(@f>M&GuTv zjVgQ%=m;F11zso62q-Fwd!!(C3I*EjZcy#%_L#eoR`LO%(~Az<-Omf#9~{kOuEEL^2FhCwzr*Z6+#k4}yuNk@ zo~?AsZ8SI(uV1mMakVoi9fwWVG9yI+j#?}ST13eX#OQU_jc|Vi6L!w9>N@~Z9vxN3 z2cZ-;8&m);9G0C|{;9$&`@^fkhakNcln5clE6)3A>$|WLc&Gc!$u6T-+BiQojv?-;g>_09zS~Vr*&%@q8*8 zr~?IyPaLU~Pz{4!3bQReX_QEd4YOd7A4Bg3sr%;;kHRN3;i3~n*gczAGgh_mn&Q5e zIr2_Cm_vfy?ny?#MmOIW{=Sn4;!!_7t*?^Kh<_HXxWDzqns#io(mY!g0tVsZ(5b%8 znF`jR@!OEFo(lJ6a?i{Nnk$VmnKpJ*h6?8VEo$vF?m%1zh-r^wB7LD&$(ALbzL%Tm z7mX?{_&N;M-6eC-5Lgek7hKom19&e@C>fP2@qjWU3D97zx7H2Gz7F7kb{0?w#b4kKqCoVQx4 zfv36#B+0N^rfA6c!Irc^CEdtadgaz%uRg@X9dPjt{)gdpco_Psj#dl~B!XX~lqGm` zpOJ|Pj?d)0I-#sFo;6gjk&9oJYX_wh@I$#0&zi#wa>6$K8TdA!-3dTDxWi&MRuH!L z+`i@ZOFPgie%P9XMDdvkP_85-xfQ?<^___q^3(_@-QABQ!En{dxp%GxLl1bg2tQJh*iyd_fdWXUfIEwD9DF2Rl9qG_{dq)_>42 zLS2P42|lk26}qFIIR?`pE@wIm%QYk6g5EPgVpn1%#TU(~*c|h7UI>UtdbcLP&6InS zcW9|=V(`qsXUCe=Ju)n+Q!?S6(lnX1*fl_%9g-02vb%4ekv}W6r=CD9M5Xw2YWRV& zvz+LR3f@RzN2wLI5k2#Y%A5&_CGLS~B=avozF=KAiR z!LRScr3lP)EpAlTdXFE|JWy(YlygIOT&a^n7M?PYTb{w+6nR?E)RK~dzg|>4ORi_q zwzI7(flvp&fRsQWG#<))4!fGl3#+;N7KHJ-BTVDpTLSu(=yC~@N7r)W5#A={Br#D# zK(cFk30Z36xFlElr_R8(u*ukb9?&(@b2$6nDWaO!2fP)&2Mw5;aiz#Yu`(`vm!lSf z8F{(h5jz+B%+u`Al|sw$M%B_-E{L`=!VaYyy5;rqhvuaRZ~mX$3W`RppJoo5J7KWK zIiQ7mKH_~G;~OPR#oXpBkDX}}A|7sWHm1jQ{DI)fuv^2p3Oew#xBDZhxl5{MtG!VB z%2GskUo7Sk$Q|5{O;bk<1Ltukx@lUEvG0+t3dk@?`n4fB(WPzDL@r)i#5d(s+4N+W zt)5z!QM?O!yz3cVA_s(8d>lceazG_0DOuf^L7-}9YKr$G&riT@I%!a7xAat(ONbarzV;+-@NwB&LU2Yw1Yd5DI1W)Wc}hKgP+~no;E|l4bA{{W#3BIO z`Bcj(wSxIn9D>JB2BtD+tRO<~Oy~vh6X6`GJK(u)?@({;uMRb)l&mb>fHff`j43wP zM!7zNg*>-7I-TgbO?OAcWs=xD>Ud{5Bc|otFbi|#>kkb&Fh!q|>C!!A1b6VCQxkY$ z?w=z1k%{E4L-RlMt4a7A1J()i!LFkPzHFe`hEjQqkXl;=ae*Ik#JkPv4VFM84OJ=P zs`M34_~oXZZ8~w$?Z1JT50^w{zpYnb8bVpMzPG=LaWpk324nCo`k|Cq_ zhG5UC%{8pq3U3n2Y8#ymAAJX5J4lLkc#POQUTbH_s5LFvIDmGKl0ux$Y6kytcDj1m zD!*>*%7BojWTGN~(y4H6ZM|dt;6EUtqaQ8)us2XZw3|Nsdum@4iWGmp*sF5?xt*-C z?CCoOtc+-9PWy*v&cyn0$K6k9-9HNo7zEKqtXx} z-fQpI%Hi7QSg9d^{dGx9vc)E~lyhn&;{;7-YTM`6<<+Yv{mPR$n2VmcvHFiXRs&o# z=4wvrDm?N?8SCMu)5Woe61R#}_?FJoW-K^~h0ZF1n#D@8S*h0LqT`R!h1#{~14;aA zM*KzV=vUY9tDyOlKlk&O&~!kWs}HgWLoX#RA|^gD&dKsTm>%n;3EY5f8))UtV-qSr5}KGXc!+*sF@jLBMX zo9P6nMS8Eh;q!$cUG4Wh!tuT>_%wVmSjOCA3X^DwBGDt}n4K z-tA)AT2!T^k)IqB@877{!T~$AUFm7;XIt;3!iSM86-^^Qdu|^r#>*lzg~BN6Nf&en zqy5}0^o!`*jS%IKLlOI*R2&3T` zY7!8%VUR0-esTj23*E&=9dv*LYZF+fwTCk;zqf8OAK0Wb)A#M-N@cij4@{B}Rr%f; zG=zKxSDQvvZBAUZp^ zWUww?6+oP=7i2_?@46Ov=>n!wLZ_2jejxBv`@w@@b2FxWNUMT!PsUEz32k1OmR7}T+9GqjOLb}xTcYK#Vnph(gtz+(Yvjo1JUM!|GB>Sl?6G!qTZtWYVy7I910 z9@tuZSEPrs#Ea>^>Nm_#of%z%rAE;uoLkn&kFvD%qyoe0%PEcm`mek?Q?9>^OdNmM z&<$g7x>H+2Cs%`_h>ujEBI`@VRnfB1m*b!4Go~oAR-F2OAo0CnVkeTl%w3fZcO_mL zG10ds5tS1CYNNT&=P$c(o`7s~A!dVV4{c1|V%3J@SUmme6mehAI&5KP={&~0hn}eI zmp>}`cs1-NE}KRFfPQD(FTmx}A3gRw6L@=d&sf#pZTO>MV6t<78_PMlAKjCJ#4o2! zCEzIOu3)XvDb#{|`ATNV)}0eE)at|~YlVNpG^ZcC2kLXC$tX(w4bX$E>!+u64^^y_ z#}uH?Du{D;=vZM`>TNJ}o{qBfeGRPBQo|{GmnSh`gyQFb_b??*M<^X?JVsomymbOo z+pm1rySk$;UgM(f&xyNCxLYU%JL)5RhD9;%7^zzD>M+zXhdTvhV@mCNdSD)O| ztWl?D5Tb?c&nd58rJ(8}2*fsTC~|(EPr{Aj5zuj&a*jE{c{nu8_LrN+l1xwS3r1uS{Kjq8-%2!geQ~B182r0y~ z4Rh$@JSZ}CEAKGE3f%&mt61L3=5_LSUt2Y~0+Z-1|MQWXBbv|XO#6(exbs)*9?tED z!Z2$GVQ%MC?FEjrcf;6cJG6}6QXy-EBN0U_bGgMImt9ghsPw|8r(Z`piMZ-VqP^$+ z;K@iygz`P%yi*86ZO^9| zQw;eS#JjIR(4x+w<1@+Rp!HgAH9f2iv&c^-i9pPK)Ri6R{o1fOA{&oG4vZi%I@s$> z#p4RIex#^D)aK27oaJ6xH0qYlC#R?WLY2vMX&_orT`kW<;Q#oAtEEP8+WpGQz*sA~ zgXCAbdFuy~^R19`eGF{{zuU=m;o{Q-xCoCGzkv_W7~|x~!}}+NaU*l1Vs$9ENGr`p zlMPS4ta_4(L|8BuxUGJ4#z)2lQLhTuz}732F3g#lUFsg@=$1)Ht4B}O*UWUGnUzY- zB3oDwrV+4F6+o%h5J4bKv)-R;`lMbwVDyg0V2gmxrxF6ouz?P91cq3px;Sd*m+^za zZAyl2e)gmQ8k&N%?Qu3#y^4%~2f-p#?cFLwAyjy9gp^nKy#t({*2HAH+pi?Nqsq$@Sdg!_2 zsY%w5%vLAgkHKAEZpLxw)fBc z21cVBY&5bf#Rrv#SIC8=2vnpbWCPSa&m6Y%`%%xlVO~|g6c*GuDP3H<38gVIhCNlp zB-}YcrB68=iPR*I8?@-%%qd_>q|p>b>&6^WaS9{T3YF~b1DeGX=gj=hq&J18+KaS^y4~$8MNr^HST%mvD%wJI_g(AK)G)Tlm!cOor>af5 zG%DW)Ht5*n`}$N{P{ZKlrdqMPG{ligp2n*tx((pgYR(5}Nvf0uj?hYW3mjQBjUL_m z;+bsV3+tt1m`&9#$|J+R{w`{Hbp;i-0g{4Ap)x{-K-rVE6zM`tZJ`FKe@Z7>BhOyK z=>$QlNmzBkK5Jrs3|QdmxIzl!{VI`pqiN_9#@MPGcY!thps&C+z?o3Bbi=5T;+YJw z@NEwFIez7%^`RUbA&u|9(R+yT9Q~0r<2pUI?sQ=u?rDFw$HVk)Rf& z%Q40-vInqI+6j-r`V=Zw+z$Z@8fjE1wm_jQ-451Nc~Nw@vHeMW(JK?G={X|{hxB4G zU_`dT;<0pDds%Rsc9+MJ`UujEOhKStcY1PX4auD^!GYU(6O8GnMl_IJUo0|}fPrD% z6S-{lo=_xBJ<*Q8oFo!BHRt5&m7lVm^18#cQjpoH^U6jRV*t>^xh)2k@quIJ>Z|T# z!fccq0pXy~=eb=HFZ(8kWfh$=O{z+FkerO+iHh^Zqe}#u zUU4?Q8)Uk!wf4HSKPUzE2WKdPZ3ys^~UwDKIEuv-yba zymOI5hvq`5hV`?-p&wQgiLcXlU@fr(8cl!f`;a_xYV{wNUA4%zRdRdrX?Rs3jC-TB z6j9%HV_6|4WFr`d@6s^y9h-2qVUzBGnqA{{_^#<|tgcB1!{oa;K3qY|%?9R_A0iD< zRY1TwQG96^GL698Y%X+A$O-hw^h8AVFlA>5WSUzfQ%h`~=cZXnPN53N>|R^W!__f0 zF?eR8EL>=mUui=3o_(N^Yrdg{s$+m7SaD&t^J;xwGmxubaub;VA7Q8amFJF3s9ftL z>Jp7puO2P1Qh$$6?tdaYx%KRw=d(buAZz(_Q5N8We{UWw{;?^z&KF(xcAMKMps=SIfaYKX-Ze3ZT&YzrX!MhOxIDTysiaO~$q$?G zvIiA3wuO=hzVaJ0iTxz#_JO=wE~tp@hA+U-kjLzFl25ntqkG*8f|B@v;yuO5S*RA* zX^elQ%gZ8hr!VecoXP~Pebj!OyscS3A~iz(SwmJUZm9%SE0sGP=HN`~x?3X`;jqOF zVR{z4cO*Rjn)lo_X+-b#9;o~(TPy5qkLmt75^0L$8aL$l3n$^qi)(1sz17xnK_rwx z+Vqgc&Rwc7@N@se;psU^u{tRRp)byz#KDctct8J@o{W#JQiFgZ4O-V2q8iw!V){hY z;h@k;^@iAQ$g3j_&$b3NnF}jIL7CL4Or#2si9m100h5x1i6>fqn(umiszD!Ty}5gu zX$)3@mQLfWSqyq}0(fM{>amf;jRpcQ7%c@z`c4hCtJmj;p;das=NH&#L@S;}aaHrK zJ~igj3XD~B$45rr-P9lORWDPvLJUy&@Gl;}EE%(1HX$tlF5hFzX;Gg#MUGq7a>1`4 zvqNE+^h)1HlOk7~?LU-pGxQnFZ!`2)nZ&giplO$Z+AdFGxaL^-aR1T;i|(e2aQp&6 zaRWrtF``GFQ5a8NZ&xoF-p6hic=WsMnQ4PPhVPi&-&WN{q0H2ng&%z%dwOkS7V`J< z4ohLz{w)t?|7n$jT~8HKmb%L^4No}nN$;;S_lcSM-R9XlRRxR4)Qv(2{uaEI2o%__ zO630B)_xmbaT4$Y3aruCquz zJl6;uwAd~P>%DoIL#n_u>P0?|OX%SDFARbjXHf`OsLz`e1y`+RU#Q8wCxBW2C#Em zmkBdY$x`#}VsIft9=_?s;?rNbj1Na}L;*aG5Z|G&@iE14v6L^v(2iAiTF3UFy6oom z3$g1?g`m4)UX5rm26?I zpg+yaz7AM(J$GV6fY9=MCq7tMEj_@$HT_=4W0*q{!o+rZl^3caA+5k#eq6WfC%x?% z-jGd~B%LjDkb!g79Ua~3-)7GkRdh@+vNA33fI+PDW4RL-sy z_C8Xxu^wPE&tW2Ic+_H7zOV||DOlsG|Cs(IzEfN5+2f53@^$lcx)pZoDUV30%|l$j z{hq|H`zWFaD{smEAQ0;#$S-XCG$Vr?-+XM#RSJBw*|b#LZ}L7lbgRW2=HU1L6vW0(I)h(wz0e)iW7r$2?Oryki*L{`JF zD}I|?EPdCc)LG5SDIc@9v%m~fHp#NYq~2Ls3&c8LTdxcUk*I~At4sUJ+Ty{&ntUXh zr$qISF!!I<2HW5*FPjC#c*Y9k@4-s8aQ?H{tfYVYe7DCmd8>%kT z1^;3gl~SegS>h-pHRQ_(!;VIB>CZ+_xd*7`gt%*QcF)5p2FS2594QjYN55v)Rt}?w zJ;}@433p~pmpEd2jmvO4`N_0J%TdEAD|4iBMiacM$9AZM6v1Pv3-whJ+SRe|eH$U{ zYd&&5D8*!l#w?A_W5}4iPG5VIiwuvQ+a$XpbR>7}d!${e#}@68M%7f8&R}=02^q?bmST>1GP4!jV+LjV3U<3 zHso+}?kS2=yEDb|Tz~j0a@gezNkUz9ZO^TqDE5kqGWPD6nwu2PWiWfdkkU%Z) zYVD9%M>p+ht|JIGfh?cE^Fi#7H<+uZo(&j}IOj7bDXVDv5(x0 z6j5`YO?Acs&Z_uRGLhaSGODr(qGc9-kl4I@xWNO~7V|^bFg}u>ttLmV&(aSuP$7fv zU9A`+pve^BU5G2N$~wqgRY+?%At-{M8(ns>aCF-Y$HviM+}mtrLmEXi_ip;i zrHVRdG`B-QdCjWVzL5`|OWdkeUkd1E3O>{~iT$KOK90VC4|YJ6!`FO5B)A#am4j<8 zmLZAATrlOeCKD*UXAaTTTpzPW*tl~N?fi&O>`2Nn3zLILRb(aMm4PgqQ!OyGYC=ag zzlnjQr_PLcD<~x+lA%@{7HoOv(X;%EzvII7J16-55+#o$^{qOEK~=cbBrfbrF!8Rn zj(4%oF`c+0?n|t~rhn*bS+dW1w#D3MW(G;Y&`!xU>yVL3EmIl5^ImJ3jj>W@ za`Xd?azU)S{PG!g7OxY!>OXy<{dfr~n3rl|2U6sIAR6MUsKFOm#3U}>?Sy+M8q+k&!&A|}Ux_H~IIveJzZ z=*t)8QJn5)9SPDSz?(LEXXFt_g5`24Tqzs}YcwewSd}M$qjs<>?O*z}39}1Uisk8h zFZ7Aj`c9ro^T%T6$<8)oGqr9PMF=$T8q6J=`~jWHOqrbyjGx~({pAH!+o_l?{C2}W*ddi#f63NaI4+yY@@wnD-`|!|gPg;kv^i zRxcT6G1;HTV)d$sZQ*BTNS11`5C(|E3FelKTMatj$3!F|d4vWEd%!XC)A!+Oq1KOI zVxZz5?SS-zYeNHXB~w!tYRMW7A#OPBi;SCWSPYGXwv8CLe{P0ZHU2Og6D`ZTL15RS ziKsl2hTcdC!ERb~(yj>{Mq=H2)c$(Uyx2QpRvf~%+0SGG8~D;&wpamE$CW?RXaMMY zElF~#q@AH=5zVvv_Qzbo2P$C_lRTDw6|3KsP>EMh2{_~8;Va2wlOg2U)}9x!42GsQ zF%ocyQ-FQAIYDY`Y9gTdlTW!pufWZRl8nFS%k;kVonAGPWiRoQ-!x}BmF13LK!ONF zs&YBT`;HJq>}Q$7C$K;(6|%&)2{`fAqd3C1I`-hEGp!Ei*R(w-eg@4l6ii(Vsq~HM z$xqkJsJ7Mggz{t&f=hd@HFC{p;nsF|d32A#JgA%vWlTuGbhKQW^a(pwQG!-?x_0S1 zQ1-!%Tx5X!RbcNWw49A};TtgOeT97H5 z!^fZZ%N`y3g65jFQfSm$t=1PLm%ye% zg!lp4Z3H~BsKos%pZJZbFoDo5cOP|pWWAtx0z3H?hD3Y^RE66FiEk(&)+SdH)@#D> zIFPfwQoK#1LDGZu6TU|#TQ!UY3V(&bqz8oH{m-#*58JZz?tB3@z5;ZYu3F7ed^#kQ zM7TQiCX)QmJ(%zgCC$uKS=_r>fwv*lp!3WKX{fz~M%BqJELuwIv2>psUBFYotwJ!U zgvJ=3H9aKUX9I6wmG0vY;E)6oW)TU}3ynaGQt578VRY=JEKk}_4L&qntg||y925Me zx-@n04-Q1|TxA2MiT5ZBLxEj$!gf2pQn#B-swFCStK?ti&$hrB+>Q(fyN0$7xO)mEiL$3jZn!#jIHVgXG!s+WT6ddW3 zZ@q|&YhY!=_&GsxaW`CDS{BuuwhA%Ka7ZCE=(z~}>?uRTN`Rk^Gsf|JE;1E_#2Z+nNDwpw_0iqGe?ovUa4CeeBb4gm8_tqopeh(r@VohrzqQCEJF*V$o$Car-| zd$$+=Quq-_DR8Gqs%N<4CJ1H?QwPpWBck+Na?=G^Y2%kA1+e4D(=w7&U|EF7MQY&0 zmp`wOl1#j*yj=g{+BrDh=8_>Me@fgVH+;DY6z3h6>JdP^yim3d*DhcY46nSC-RU+7 zwyg7)<{4ZUI!S}!rcC4q!F11=leLpbD>7%_5%l(maJbcV@`Tw>)y-Vm zC|pgyP4dhqKp($-EXZJBFx%c)FXXz}Awqs>MLuhaCbV6F(f2~a7O0+Y6e*q!%KA*q zNM4I5>fDDk*tU$aL6^$vUYVd1(Il^gh-$lWyw%uPatT+E>qA<%pQtTnKr?1r07n;G z#!_J@>hL^a3;lZm{EJIutX(KQ>Z*JQ-qdks$TuP-OgzDwZ$LqL#tkWzX&yM!85FZp zvII3N!1reOiXb;F&4C|Iqfsli0yo!Yr>cHT)MQ=K`r6CoPqo?@lX8TUttV(F0Ok;? z#bc}SF*yt zM{2Pu*Uk;oMuLx2_ZM~uObqBx<6dvv?@T;6dk?u-v$A{b$7$;zE^!P@#r3xNehzjx zCTX}M6o?Ie@Lz@eInfvse?V9Df)Kerahpq~d_jm0iLjN<^beQoKSvO6OfV zz+wMwEj2@3qxi*s=|lYIWhWwZiRlIcao#E2U%2-XtG#k&(_(URzR$@LAq6^FffD(T z%CXR|nfT_fM2r@hmm=<8e8lwwcj=VR%PN$bcT_K_C~6)e7U_H4VrHe(AX!BucP?D> zpf-PiJ)V|prPdqgz^{$6!8ZW5N(LF(jesqcfaaKXqb{RFCbNd}x_m2*0QScr8gqxv zuS3Wr#LC{D{SifH=BL=pN{Q{|(|V(uN{M^O&Ev=@O#{{i0{mRcS>BVY6P!IY2isD) zB8y@IfRg~*ee3=NFz6P^@BRB8t&Mer4~s~wet|99*8SoWv7r@s;ufh~PCun8>Txx% ztUztAAqa_X8*IY)N)+;67Xv-8p~$bvy9TTU%Y^l3^*#f2R-v= zIx@i4Sbx1jVj6}iMzH8%@s)B;$xb2`i(R6a@VT*dq zGS4vw-moe^2H8!wHu&b48Focr2Gfia1u zBGN6hMT+Kmd~WxI7I?h*PTcI@vHK^N+*^Kvyb}iv1mHLMoPa#Y$Zz=bC)e6r`r=>T#wFhAZ(`!xe3p0o z0sMLEO}l^c(Z1!6#5??)cl^NtpSy>;+^sKCl}>g@%&Rm_AMOa z9i8=e)*14Nw{<80v8MJmU+f*b6xMI^bKe=CeD93siyv?607_82xsKhubG$sN z-`1&p$Dg8i<_qjQ>rD4MI)CzPzID7z-iccg+}nJ0(YNvVckBilz0LoV|MV??{^T8f z3lBGc8^3yIJnX$=cm5qei{8Qi(O-oiINzl|Tg|uKk}X9 zrT&h7%sY7MJ32LhqD&}&gr`W5e?Hj&@)G`Y56Ew)`WIjSlK>IWB>u%4?*8IuQ-BY6 zfOhsTE}r`rpOpKnlm9PHgY)No85T${0PP>-KmBSzQK&z7=k?#C@Sn~#-oN~fzkHW} zbx1k?<%`4qpN=y8zqst5gx!FgUVw4`rv(CvF8$G8|5s-k5Z^!TC+=T7r}MA=fBiy) z{;RW&^;bvcFCD0;;V-UW^mkSNkDs&r7Z>sR>%YRkd|~0g_}QQ2a)6fdFMbc8{qaZO z?63ZxS|oqkc)?%XC-iUJ{)-Qwh#BC01O@2M5&s_^$3ORg9G-iB`FfXs?f%DS1QfaY z!!I8C%QyX(j|?bU^~Wv{;@|#4{fm1{{?)PJ{;TsJz6$#@NeA3y&j0|d0c(E#M4v;B*oN&VIT zFaEGZfAJg>z<~p_fPd}*c@zi#;ywViKkdJMH3JHm{n4NNw_pF^ps{~(fj`OP0PRm* zs6UMj@vomYrhonXuU`lZe{m#{5C8D~!ya(Ejs(lkP8{f#)xu@LzpE z4ZVN-S%>+5{Sl|X{+wm}e;iK!9k)Pz|HcjQdGSvZ@%+nQ|C96((EhWVNA?$=-uoLL z_5X2o?Ez9wZ}`Kir7&u{CsS?O?xQwVg{ih|bQx?}geglaTLv5HX4LAUXk_UkjO5+XIi9OSz@! zn-_yF1)i9Q_)@#4#GQ=ZJS{-4?cLxpQlmg-{8F$f}L9h5C5zoj|c`@Qh?RZx|_ zdiP>U!L;7ZR|Ail3wx!g9;V43ntGkC;NO)E=+PB;!d%oX1+~cCm|`YF@2?Mg9dUmv zST^wJJMgQ?#G744KIZafDIW5Fv=i{8xo})c%>60mte-G#8{xQGYm( z`5}5b{6yoZ)wSRsZwGuU7$=-y!|$(8FAi zJ4cwG1Lgu+DQfo`X{O z#yL`*iTAiq5{?v6qg%e0urhptZ=qc!#LXLc29KKuaHJ^zL)(CdE{1+`NZ-8|>Wvkm z-X+AZ>kfLqxtw2$^7*MJ<-8K~Ye+wH2IwQ^a$YG1sLvgw&mRu@V&VnEL7y_0mP?7c zKjkjl&fxEB2zqT-v(tfR`=FUP`HW)T@K|}Hs6Y679uP%IDJTE6j{y&wi(aLu9nJeT zu0G8r(^AUZpK_0_bSr1edg;&(STAK7bKboY^hsV+o=5s`SHeG?(scjavmf+4s&mVRw$M*>C-kFyb_GE1G&tL(8%p}KWFBhrN#YymU;U>>#?`Lg zrhtD#%70kG$KXCb-jqu|uT}x~PX+%dadUUGq0f35?V3h>&wSuz=JIAK>TgpyevWbc ztoR@Fx7;(qCqzCin;{<-J(})6*HivjCFHMQ9?M9g-m2AX7x}y?;~XPrum~2cC4T!8 zz{6STei)!0yyjwZDG|~Sz6$iQa%di2CvT^ufCpx!^EvAQ;Lh0e@z0v)fP3dc9<^iO z6Y@C+@+JK9^$ zxOnn<^5J6zOGsbLJX8KD>Q#Bx-T`{=NcfNDpEkb%Pu>Z7weKdzi=Xk5Oa4s;g5GB? zc9)`Yy(vyUTM>`yKg%nD$1T4)?{eUNE6<;j4LrbpQ~5Oc0(iwh*k!a^yWE?76nOY6 z$gg&9*adjdJbEKV`5a`354E*ARyS^vmMr&TY=2h_VUzncv^2Ch| z|H5_1S9xILG-(6>2|SMWRIPC_2rIXgX%J;VMe#r{bB;m0B1ALaukh#I+nT^erc zjh>mVALo4FzFp9N8Rhx59q^#pfRHkj_`s#;7s7X>%k$P2(ATtp-pqU6rd+cQxc5fr zAqTLtVF2*>R`{pNKQaM4aRK-Q$ft_qpU@SEyGr8A9|67ZH1Jn{YkWKKj4#p8wr0Ic zr8=XB$|sP+Lf#a z4P;WDEuR4|^wEywzbphiHV*BoBQEB3`FQzYq{=y%d;;CT$4mNqMuFaA9)6Lc{xFU4 z9=!nmpG!R-I|h3He`r_G{VRD}KpfS`?|B6Bs2xxH2zZeFLV)x?#gB9Gh!aukfM5c<`C#pvmyT~_qQ@WXZ$9t@#F{e z+xQ;nNBJ*nf&3780QymUxvV=GJ%n!quJvAfGV1kl{-Ssl$3;ubf{YZ+KQD9sQZ*L- z8IZp>f#%as^5Nry6s3N{*Fyu^{2dSjg z572AnGf7^9s1b= zHfq9(L1?9?Oo$Uk9InwVv7damYD&T)KWfS`T_(J@8jQjB>so z=X_uBAG(9S>QltEguh$ba=qmc*IROl$NmDnw*qmhdE<*9@RWJ|3NJ8=K5^mgrvLI2Tv(&abPBE$>)P4#eDHt>XbtWwG} z@*h@5d@u(OAuMw-j2DzLkA##4*8cB1NRg{evQXD zLgvcZ8FI#0Z~hG6vG1X`eDbN1bZ6-O*7~z^A8?;}fJutxx68Xg{?J+Shf)r>Kjm$% zr$HZYmF}O7{(wH0Sn-}+3i{y5;IHj%`V;8G)6@0etSS5|`baw7L>g}7uQHEqNfC9q zW$*yMbLF z!SB##=B#wR-OYJ@=t}fEs{bZ)!N+IqJM8ETJYpW`lu|NLiF1i+~*B&pZAFSTY1xo>t?}! zvA&T@JfD7;pdUip@~)n^tLy(~z;Cs^W_!!vkzv5q&wr727~F3jO_$>3xMBeN)6gjB zzaQmn%KqYr)nDw}Oa8y5xA)2}#I1SC{Pxg8;xP1}di!}C=so5ULMi**pYs0KgTPbm zVK3F^YU-!fJnk-~g!H|7gTCfC{J%`-OnLfa%ER@>0>I950oXltOS;{kPk=sZ?Xw?j z1w6!uuyvnnS{!(M3*^-P?y~Q}-+Ny={|ysBA8wC)sPc~&1G#=;9>tZSc6{D$xNZ;~2Yboz zz%BV4NBLd>e^HlP{^34LfctdP9Jida3;ZK@fIdQblH!)8y*1NdcZc}%YbnoF(5DV) zzW5P(aHgc|p&s`I64v~pE91*!ouhbs2>APsBd=ys&Ti~CgX}jIAJG}~hoZ2{T+**@ zNBQ5!xFVN$XPzJMUjRKTePgksX>XMC#8ph71#bh-pM>_-l21t2b9~^hdj4W0=#wXd zehKwS%xZZsb^bwAqWfC0Oc%y9JtRs z$|og<`KLd}GmfGPs)z=J#oqH?}S{;@&eul4p6 zfsI`})_fuS4ec;=?A=k^y4lEo}3Lzt@jRDCvn#$7N_g2 zaW&|jaq04Zx*xdT+Gk(=IrN{f=Cd{BppSQepXhkzCg!&&_a9qR&iNcy_^k5=*D`*~ z8NWHCAISWZxEgt;i1s@2AnJ`-_-%jQc4EFuZo^N!~O3L;qmBByQ%GOG|-Q zodP~;_sB%xWqp8`kUsw!-~p}!c!?j8^ltbUTJnFub+Fh3*h|}6K{@@C5l1`8r~9+u zbQ#=5;mweWJ1w4E^@J!<6!+@9VgB`Ppx0d}i!zXDTL6)L&Zh0BF*8@Ft z<@j?3^IrTY^11rMIl~dB)p>~bDC6agedK=(@~FRM{{h^w&VP2?L;78yS9!|D15d3) ze)GH1I?mGPfP1Wck{21 z@TG*@pRz9a3F)o#A=|zO9(X<7zW?L{cOUW=9vauZN5Zc*4S-)I$p0wMLk9kWe!3Fx zaxeIVqwsSN@tI<1BfppHx2osTbAU&9PFU$br@uKnptl&~uJbI=d%9tqqx!$>FX9pC zZ8z&($awU|&|VMY=oX%j%J>uVAEJFT2ZB%hC&;gICd6G``FY+cgZ#~B6b27p3rYH& zieHp;10J!?b+6_8G&%)w9VMSJ;!cK7G9UKMBVHm7WAONEkOy8TZ?;bbp0dUX=f6xo zWC*9<$nSmw9YT>{gw11p*IO1x4izPv3pY|Z?;UFr3BocvL8bJf$7kvm-zXV zCt%4lMe@8EhcvgwZ)Y)o#`}X0tl&6*QvcDVuy1SfZ`=!VdiEkteZ=e2Pl8XvPt*@3 z{kwYeTl>`CRkFQSzM6JE@T_maKTQ7jiXL3MTl0eB&!Jt>iHHle*BUXOq0edyduh8$ zdjj{>fxqf`&u75H+<#Yp9x;*lh2SIGvTpfsE%4YV_)iYyJo7*DxAxrz&@MsCF5mO} zj+Awd@Ypi=Ln-mH3h)nG>y5+T1AV|+-)<&x>BbSydl!;VPB!rHdh|zX z$0Fw2#AS%bTI&BPj${4SICk4(kjHDu6FNfv);QwNaEXMjh1 zu&kf*+(Ug26*US_;V)t-`@pzjO*UJnYRaA z2RzyV?NWbx_Z{HQ8{ngPa^qp(kxj^Ns^`(-NJeip)_8l~#lZcyi=w2cJdNm|mBXN) zGRkxE)u0b?eL(4t>;WFO_Aicn3Ovvidg#aY{vm=Hc|6uR_F)f#zLw|c3R!Q)yTFS# zq_=lv8SpsIW28<&1v#7_r7niva#-)!d7yVLM|`Q?eiybz9xwOrG%hm5&;}1~1f|k{ zu?e{6RJ1EX{ufI9hCbX3dQ-c9Mt}2^0WYP04y2v~R{~!`J|z-&CZEKueUlQ7hn@S- zE*UPmWnBU4bq>*v;;*JG;JB(yc#`{v*h*@ztpz$Dh}Mz6flbLmYQGxlLR| zp-0MfXRR7OD1>E5}lG^cy>6C}(=M~>~9C*N5_uID+xaWEJPn7yO?MdL_ zrif70=WU#?C37K3HSP7>2+*fyp~hVDi7o=3{000~o(o?A?qtFLcauKvL*Q{MpNxH+ z{EH!vm-NfIZdqonTXu?r-n$w6hf>ZN^5@2mvDcA5HGVUhmmKD$eDZ%z2weZa8Fmr3 zbjw-H+d(UDFQOhC>LHW#4d0{upQOk8n`=$KbB43Y+uWt>Ncz{Q=jagVxr*|aao$mN z0REu*{NO6^_gm|nKYkB9#Q6ehk#isPlhAI&DYWW1)6Ye`#GfJ=Vl@EVb6h_e z0?nB7YNo7bocdZq4?C%!+3P`{xC!#89**PykA#pnqRjs%i@O^BPAkZB2<)9P4*(Bx zUk0^1PL-&|(8o^zX^8ad%)SSB;0f?ie|T;n@Kmd_T+Yg8o0t6>zc<&osK>k)9|JiP zVCS68@kZc0v{&18<|4|u2mGtpuI2}Tdvf7F9L_ic*q>%t>(x^#K_9io{|7$;o(Mvp zx_{cH1L^xf&T8h>oy&kHo21LxrZwVm)!P!_Qo6c79cQA9w@v@$vA)-&D2clg?Y}Z5EfEV_IoD!aHIl}prhvz6J6JI(K^uZJ0KbLsz1HhA3 zp3J+OIKLaxcJ1PM51%!^erF2lKZYKVJtWS?08bRqZ&`0Mp8Kk>&V4=k8t4Pp!hdo| zU&!^+WIOmnHvQ9~oZiW(w;$>AzD4{d6O23RZRMNbpF1&~|1I+8M*pdb^t`lr1n}$~ z(17|+?+L)Y+^10dim|{w+#ghVe%}S$nFf2QeySv$ntCHv-h1*r;Bn6P)xLwDV7sjE zN#EuCG{pI-@^7X0rSN;n1=P=#+ri&!ohSc}Mao8F(}RKB~9>D38yQXBzkKDo4Q&)$UJ=z{ZZgso>L`{yB^f;I5!^zo_$SY zmvfN(>xsaoANN0&-cR|Zn=|e5^hJCXkp5N96a74Q(Utg^dq5wY1pY&bccEQE=At$! z9_oL?zo3s<>qsZ)hhA%aZ;hUZJR2?AME;VVT{%-{Lr%3zQ^v2S3?7vQw{Tt#fZor1 ztL-{m2Rv@=6W#F+@IV#pa*XzU?S ziC)0Y*IPlK!F?8J&v6F!0DYi8#!*7%mL_a(St<0d{Z0#6;5Gcc*1bCCvRz)@-%>7%>NUqyX(zKKG6x&V63BOG_DO8UFse zpnpH**?a=@jcWa$KcPppS9#Z;L$4hmFn&DY~Y7BBA=9z z&ytShe>V7J5^pjDc*uwLzC-*Z>L(b6o(qYO`5p8T>wEUsIsb}U=VL$TdA6{FxF{!| zPR#!Se&45h-v2-Hx5lwGBA(GhjNd7!{Nwin4_p23><@rD{60(dIqE9lxmEC-Jj%10 z{a3;||28lN`b0bAw@T9YNdS-aMt;+NZQ)(OE4dCJ?&_Ao^5;hW=wkSD2Kn5332@H@ zv9T1jjxgX8+y=n z+5q!#(ps){upZvmcF z1U;x-qU^7O?Dt2LPuG^95Axn5FY$Lr08j8LZUun`}TPlEfxD$o4Bz@tIvEv)>Rw_|1CuYP#)`KUKyt&@Dqyc)9dYCEn2hw6b(Dfwqp z&z>J4XN+>zi5iWZ+19>!4fBtW`DZ!lCoW@qt#y@=9RCEY@y|J#pm(^xFpcuu@Feii z+lW*3t9-66`MN@5}SZSaS`-#oU<18 z6?M7gry%9w_n`^mS(0#!oH2eM3h#29CuReWb6rUN^Q~Oq{=Z?DeEQ+;UBFXQ;Xlf! z?-jt49U%F!3{?DO1i0sIhM21W8{q26)KI8#n#|+-I#Pd|UwB!*jgK|6{R>*^k@#Wm9lwyi^vE zzAf^Y($@!C#&rCDe^bua z;6K@1e|WDO@W58&D|n0J)J*`M)dBLW9cL;357POEx&I!T3rndVzOom564t)tSLXot zeh05_&cbIt9F~&r{*-*V4SeE#;m^>9 z%!3~WUNIxx?sxP69^D3eiTkzkrt#pU!)SqSn1b*XMvfY#s=ZlFf?07xysj zjdR>PlzhJCxYs)$gj?CKoih{kb=Lmi`<*DyLh$#|-}W*OPlc%QY^Rx%{N!90p&6ZD7JxoD4f>RSx~0ooz$160`$POu z;GXY6pH2ElI1ln8bd|MYM0ivTq*a+W%X+JcqugJRBdYeSIx} z2WLS8aq2T611F=O1n2LnpO@tK1`q#^{v}R1L(&j~J0C#K3gSh_fG1BNKLm-F3aOzl z>;wHDAbt`3!7&fSNU31I(~p+&zDMCa7)i0fR|N+Pbu-wx&RNo4?nCXzTgYsPu;Bl_|We{(=6L?|_ z`1^@RWV~VY6S3CEx^Z24r*+T6nOrBSIe~VmyGU@b1AS;B z{704<-O@G&+-IFb_>le|zYp{kjNhWoppQ2~yC$<;O}L+u+X?kXh>ziTCSZ+c9{3jd zHqSc$IVhj);(DyM_gm^Sa0}|yaZXl}?RpWoG{-HA=doQp&!%?Y!taQEeVc%gdf4BE zdTRt+>Cfc(@YDxrm-@qV|4{z&^!`G`boKAE&KozrllVmBv1zE?3CsAz>?5qQzQ6u+ zA?RZ~PgO?x_pSsU4>xp?JmN9xEx_--m3|oY@3-`SALGuk=9MQsOaA=cNBQ4b13X~u zM>pyYJk0Tc+NHhrp2cS>3g8!(V zH%mosz1H`bkFj5KW+AWUQ~wL@2YqlUBy3Ims}YoEHaIK)9$dGKT?IR8f7g=zn!|og z+{rCdrCWE~%X`sFiI3vFaGR|Aav!1JCM~~R`W5(utnb+f9m?!xE$ay^B|Nd^s9Lpmxb*yCPP* z=KqR%gIs_1kxx60|AS4kTtwX7Ex!}5V87g)_>b%_oGr-n9^#EJXM4v%Z;J1Jm+jpI z{pk34?jYd4{os?u_#L?lxW~G8BJv{e@G5Xtf4==8^0D@L-@ONTlKcBA&t=Rf32Q&J zdkpjej^`&+o(qNpPaJ@pL)qS@M}dcTLjOME{VR!E=QFqRT&VX<pn@zv4OhT+%;w1bD=n@1KysG4%PLBJb%r znd9ugd=23bs%NkKkD;#`2RUQ)P{G#S!0TopP6MpBzT_*DZztcDo^OBG^(cO?T0;8X z<=_)I7kp&+?UqAZfIHT{=jeUpZ@tH{axv(=);%)?lrzlp2I>#TxtYto1#I5SeHk8wOH)fo_U)MVhESUR6e zHQvugyEI=NyP9(H`|CWgaSm63kJr*qBc2xi`v+lKM(x5j(Zr8&lqA)Z&)Jo#xW;FVQ~bR9p8pxskeKhkmq=!4eyc>v=&W{peh z9|L{Ocl1w=-yULr;bniJ`mDYk^r;_^e>Sl{o&6MWhu>MKA1?hDc+|>2>kEO0w}G;f ze%|*};GPcfe{nOn9G*cwy#K*R{HpoD6W74*6~q_U0gv+@gXP43rXIXje*38d=pz{z zC!|RKz}vuMlMzQ-iPxjwrmXeAizkCVW$h1MDa|zYExQYHYP))|-wavz&<@=Q`p`wt zgPsHYVH@!5i-CJ7&w%@Y2d(o<#a{xC4F`RQ^bgXG`QN~fMa0W`fj+|T#5EtbqyD`~ z#NAxlYf4Md`}n?FivAPe_$^_L-?nuHy=N2jtno7CbKo`BeITvkz#X<%x-GX9vArRy zz1Mt$c#m#IzS90>EYJ6PkD_1mlFt*vL0{Ad^ac+wi@_xK5T%zCF_1pBE-KlJZ< z4rh(TqmgHowf@#84}3zq8@M&rvfgip0*_nk6(5Sj7=QM2KMvVR-gzhkUON|lBIb5W zea;_)d>_z9yn`R~#n!yC-Yvkx*T6qLr2oAW=2PB!7#9^#&v6-08F^Coz`i23TNW<> zpVVZ;orvw0w_?DP9iZn`%wuJY3qRw6-Hy|Q`ibmqytn~*^4&`YCKh*V*`qD2L zyDzckzh^xPde6Ji&l2k47{>{*H_+Z`Y;Wo+&H6U~5!m3t!x&IU!N$3L9q<6(0VyEfgZeM$`L`V6=gcF2OP~3qPrU|B=9AvD1N8n& zp=b5O?xHB;C;P4Q`2(mo|6y3XANd?*|K;boplZ$wHi-Y4c15|Kta84k;~&m<%E;%+ zzGvgWxrso(OQ#4!1^Pl7&S<;me4fhYOSQ6}kE%l{bp zJzU4$MEt+)z_TsAEtG!8&^zVOr?&T`KEQ*#=TrUj(apeX8-so_`Cpk0JQ_#dt|orX zSHN?5kJc*U-L3*2r+u~F4ikX;_??1;k6YTj3p`}qdvGWUypa1B#iajw1Nrm46^+N2 zsW-26-mK#zpbtNYd?L+p%c){$qn}i{1cDS@Cmg*Rc+$Ghy#6@g&LrfGq3&PF^(mra zmk;k72@-$hTlTZxp`R@w-t#WdN1ldX6%daO10Fpc`Cs{LSq3~|joW*)2kx(Ce@Z?d zFb^btMZ1*G8a%M{Y7~s(?!bYC@aI@Q_Fdc>i>lvzD$$K9~W0YP{!-XT7`N=PCC4S<*nmKW@$MY6k;Pd9JTe^hdfeYS&Rj`HrryHe&@RUVrT zj0coYri_Qpxw3@0pi)Xl(hq%_{5Plj;o(<+N4>y9q#wN%c)7J6mD3pGkPyFr)V#NT zAm|f6As;p*pI|lX<$2Kp;ydV9!3MMx#~Y8I3i=f93sU`WzJq*5!LN4Ge|q(U{)5(d z?+oIJ+;o3#(Gz?EKSKXGD(Bt6YX(Ao9hYtr0gV1*yToCnXuHN=0X)?ih~9hO@qOTh zCUB%=P|g=5%nhG}7yh=B?fpdD)!_a!AWtUge-bi-NA7|Dh#K9}J_5XQ737Q(e}j1` zNpapmn}A28 z6{gUu-G^69yHY>FzSC&;Qpz7c3i)*(=U5T>bH2HX@;Bo57fF79;UWH?1gzm79gn!E zrJQ#?2Rvn+PhR{r<(!c2&u?=5&HE}OFPFSyO8)@mvGVhMQ&_L{UGrh~3xW5bx8-c_ z^>=~3nBO<4{3}bzpZ$e2-z~lV0`6OgI7$+~M-*k+o8b5Un*T4LT@sdE);>!9);`F0 z;&_Hn@<=_GvxwoAoKe8z3B)yiI?fNp#QA-nq!+i8u-=qa?@1#;pWyjtJ>R&-!}zk+ z&z~C)dgn#NyVkq15O@aVsb;q`0;8bO|v z^_|Eyw~@~ykY}jY%Xzw=^K@OOeN6eU0)3G5XRijInDu_j^E|&A<@r^3o#UK72lSpn z$TR)u&uci}2{!=$5b=(@zo@P!S{h@$Q<%pByw6|#t>r7=pK6T$PWAi%{oKR-1*P|} zpG{il(Vh9+|v<~s9id9eKKIJ zPyX5wd}3`+cR6gLftM`?9?XP>%V@{P#N38|Yp3whlwSyyXJ>I;`U~o6Ptl? zPG`!wR^~NkUSD03-tV6@1Nn*{%c9-0#` z6L}1uLkA&$koYBj^5ME)Iq~e1q0fM|KL60mpbuE!ee7?@ zqjDDh3_NbV|9h9}neVyelh2RrFLHTKTlM@u;$f}}i8UVt$|10MS$vgn2{X6d93l<2U9_xw9e7B`xv;xeUK9JKaKAn`K<4|^QMD7u@mwj z8#qoA=^st}M(3x?f0wRzF+Zoszvv0@@mu@gi|KFCk?^;+4`cl@r5AmpW{ACAmKX62!yhHsjaIdwWcxN^6 zsP+BbjOM^S<1*criu<{xj#TfqP$pWtBcGVe9&>_1);RTvrcT`%uyLpijJdn#(yt{@Y4{I}PDK zs?S9mfM;_ZPxbl3h2+y4`7_D<^8?>?4a@>%4*5S+1NxwKp1C3k-1{2zseagKJ#e3O zuWU3QxS#89s)zSWfJb=`iQ*~hEy8#G6yM45L(CdKeDfFhq*g%xm2f+!&vU>N*7*M) z&UaGQd}mjba&lc%^>)_@ ze(1>kpbYK@b!ELvW1vr3Z&DxTPM) zKVhC5QTv9EfIe>Jt4A5vg^X*ZH`k;ayZC>B!&Z?0yRQOIUWoow@5PPN8N8p7*}zyfS9Z zE7vE$CusTMkBp<#I@EZK`oDY;{BxD{PF!=T&WyKxJuu$xNcv{)fPd^&*h|-KiXLXY zGi6{eMfHEvB;Z*KA%6w^@N&-AvaR>m{+0QWiI=eT{q>SQrZm&k>+6TS zR7U*db6~HXyI?QX|0eo*lJ^*dnfJoKf=|sA(0>u-d3+P_q|{=H%HNLbnJKPksy>&T zfFB0uwsGn6+@Fp!gZV9J<+oNpf`7=$+h$wDv@6RRXV!4so}7TZTFmxdk_3JDCCE9N z^`^dsJigtKr-XQgD8$v95BbC=`xd4Qc@21=DBW-S3?xLdDzK?UAmxJXYWhkU;860Ud?uG(*D}=&mpvX{6g4$4e95qet2(*`v1SX9&?Ym+naA$rx{q8$~2Qm;ZTJPLXfft?! zdlge2|1jY3bD{qv@%SO&<@4a5A>zqqz>}7qw~AoKzA3J^yhHj=C2<)%^eOC~PyD85 zfLC>g{5z@7Ud#_(%g_7D_}TD@4hOxLd}c_ZFnDYX@{hQUTe^+_9^`%d_$zs?PMTxr zgJ)#Abka<>+{Eu1!cC#K=EN@zgFccv(?zBcA0T9gkJB7{juG!uNcxSiU@h@mx&NN( z3jS)}&=;T&{bnG47|J z6^`>8<@a(OK9}-ruK<0N>!n+X-!mI{$U3(?wFJ1w98i}c%b{-ZT?V}BYuKw6u=5uE z)7KGl)(}5?7U;d!_h_5-o`=y{E~SX)mfS}{U$zB#UiJLL@4%BhZ=m?KqDEs!58tU& z{d_LtWHXM6Tkkwp@q6dOK9X>xsQeuUgO9Ho?ONjg)^Q&E1$ex7dK`7;yfS31Uk%`T zV8|LjR5D(|*1cQp>sYTf|N8uX;9=gMAEZ2={0iJV67s0O-TVP?|KG?1`d;mm4q$OPi%+& z)t~3?g?_x#)5ilRx}#p_Gvo~!9=N4$Ebt)r!C@VF7nt8~CcDAUCsWR=r-D9Yt!F;c z0(i{&{$(oXP0?4txjE~dH-+@pe(1vMfG4bXh?*?{?z7h4yyB3?uM&LcOS%uY49n&C za}wk)Qanidp~y?B=eOx6;T+&P-w*r-ddK?S_BF}3CO<^1^FMbF1HI>I*h~4G%<-7V z8jtP00rVl>Q>XerEbTS?3#@&aYf3;L3`5Q$+GQ;LD%=zCYu3|EDcA-2;#u$$Ve6Jz zJrOTQI!K2u;|9B_ly)egh_x%Ih$9F=t zT?b?yXWA9B#&5GZKZ<=Si9$+%{M$+38~%s7qrH;u+;Zm*)@z-&{NV}UQEMFaBirT6 zN4s*!=laf|4?l~zSWfx(UI{#SIqHQq9cRx7^0)T)f4>iSU>)*<#^dr;!2QF#Rwx6ns<l0Zq9Z^=L2`H$GAxSq47lE!7k7br)SQ=zQ9vABCd75 zGm_^A4)I-J2`jgl=jTkl;cx4^|ITLse3v9{o%i^o8hF%v2qPuO{pmP2P=1dk|Lxot z3tRhQpU}^PUigEk(JdFf%X)d9xq|pmzUvYF4S8k(@vk_Z%;I@|m1pH!;N$T7{XEkD z7Earnm9fXDcLL;>kPeiL|PBHF9?Hy0DI1N`}6*U!vA1*l_!hsbw-0e&isEW$5&zIE6p1jVrRoYY3<8=!|`GA8pto{!Yx-{ z0{Rrs*=l=ZT!&9s>+l0uuYVi#!!UCE9awKZCkuhA-|pu3 zmxXWh&4_o_a6LcS80QhWWd%eGdK4i_ao^voB3s~QoZr5`Z z&%!R6&nGPfpU9u-dU)_T;Ewej{rT&G`?;T}aWq2eb;nWGdiZs}g1+uH=tuSZ`5@q) z-(g49=V1w0WA`BMrBwgvFXKRi$F2OoW;5`xNsLk|sGru%=K+4du!i_X_G>}2(PIkp zNlq>JME$^_C5gr5z*EiPQ7ZqXv}3@sW}2 zMN5E(t@ZyYqDD6^P9Xp5!sU(ifcv*250sHlrw4$0#-{g2jWU3z%m#{-80r6a1Mq+~ zPJZwe;!TlPOV~d?!t-(w>%83d8KfVEdMn6(Qv>*Ciucm1K4)JF`bY?QzBTDD_#Al3 zy2q*cW5C0_FLXcYhraork$EME>SMC@Jrde&iLvlRQ7Ka<=66=8knw!tWB-uAZ&=<_GtJPni45 z%I6Hq>9O7ixkUO0!>5AxgLS1m?RX9(Y1RAXt)S1p1M#lkp)BTlSDfoz)RHstW6=9f zhabwY#4T@29ya=~z5wHm1o6XMe+yiUen;cI!~ej?Yn@wudI0ds1F)|&(=98u0FSgl zy}862G9Dx511Kq5G5v66vj0u&0pO#35AZuszx5v3{!_s}bV3rK6ff!TI|e*<1b%zS z{jK9%!S$aA*CkXxK zC@1%STa$h&$J;TEx3%8HpP+Xhg#7CNFN^^mw&pt*KMdS|Kk}{m!;^b~$E|ybr!!7H z_IV^P=yQ2rnU8Wl*_nJ^z_>{Dxo8;h0Kdb{CjAbsFL|u>z)X&doI?0jCFxI%fKT>H z$S?nN%YIRy(X+of^t_6AS#RLJ`sgpV((c=sCw)7hvHhes%aw-DA!|S7jibP0*7xA; zy8sXI{cg2O_fp~~BX8uh-v1r}9$oo2&t!thLZg8R=I_8ZmlK@P45KFpsl519*VvPF2pnJ%HCF;8$gor?7PIJhAZ3*jTKdbfb zTLe5{-QPZ&dQSR~&uhr%2=htoCD=VieCH1E$@N2@>Tf?x1MY8$@l__r?JY}zXa58L z*LH1Yzv<=qNqDv6G@zgROM$4LtoV=ppf!J4aS;5S@vzGg@nch(5f54O!5{tvy~oPi ze>?>|b`I>4N59=pdxd!(%FfP`ruixi|$`6VczzQg+G*&PhA-F$yE7q32bk zpT~YDxEk`P{)bk8kIx#fe#dpN&~Wg9_C){e*P_;U#BX##y;0tWtp0gD*Ovm^M*}y< z8O`$^g@e&9m4EDQkSE3Oi~^Lu;Y+|hZ$lE5=d8bg#}~j)WVq{=0n9%c*1q$3(q4Dm zTa0m69{FEJKS^5aqMwKx7=MT@PWSUc4*>UC^SfWU&gSPjo92Nf+!sh$_rVs6Ib46^ zxyK;o_uLOW!T#M#IqS!Phd7?pIL*8Zcr+gxE+GB*#iXwfjj3Jse+oR=1^!S%`g7># zK5Jc~J;&QYYaEy{1$=zm=TbZV^$__7;Gf!GZ+sDWYBl7^VO+l~?;;tyq^x(Y@16?! zh_xS=l>#201iOzWpZ6C6k2XNQlJw=4$IoHCNoYXjeCQVP;X0(Q%O&QLkG1}vI}do0 zxbj&#hq(2w&|DG2*f+9497&4l&rI3(3vdtjp_I?46~Lpjp&!N1=mtE03-W{7aeO=A z{xaY`uy@*b2A=&CagGz-TMaz)9Qc>f-(F;%_ij7W<$&MHHU7;&Uu*ThH~$1Y$$LfA z4^IpRp4x_SLX!0knZSCpz(1dIZf}IV;ki9M&)oem>3Lps0qJ+12RxjCcB!0sb-)8W zC!ltJTPia8_gn(XQubd*dyvnU;8RTgO9-#Oeu(FVa!J2~2~>$d@6^)uX4y|jM&rg4_WKC zXVTvS*87HA7X3N4`7{?Prhl$Yf!<@SyM{Plj^w5HkJILn{&MJ9{j*ZIy8b}@ zsJ(hbfakve`Z(noz8-jh>z1N+w|Kd(8z_e!6z|g+{+!zY@~k3#ubJTEv<82z_wqx) zgVwm^%VWSRtoc!05$XAzR{{B#P6QsygP$~{-mdQpJajeUQO^%N$GjB!9QxP!elMO^ z30mh>dY%tHzTL2InDy>B4%~lQx*is82OhTWCmH!S@VZZtx7Dv+?@vCJ;FC-K|71X) z0j{g4p7+v!{PiHe`t5BTZ-m(IgPY@=&wemv`C;-y*2{5Sfc3^XJ~_nkiTY3H>7b8W z->E&zxQkeEchM}+d%3?L=5xz_>LFGQJ*c0UX1e~_2p*#2nM0gs6>^@Xd}dJ3#g?7} zJm;Cscfd1PZ^0mrfB0@uf_U@8s5kT`$5F&jq2DH(p+8+typ;S4$zSzTv54~;YkXCm zL;lP&>bED0-=6I>b&eFtghh&v{5M|<`WWBAkw16KYa9iP5=K_BLNem})=yEd@IMXp$gzh@?Tm3K0#}I{zD1y8qNpR&!1s`QF$lwzyb3Aoc4`>%zD|ceX@%D zt@9hJp91c+?lq152t305yCCHpI1+ehKQv#!dgq8g82u-HLEcllY!LAbUc3zPJB@r+ z-wHffit)Ce_(=L;d@1-y^WD;J0O@~)2ESev7)lb)41j15a`PB1SwyzlvD<^?P0ey>lJnrGWHXrT^S7DA`?22W4Ah%X z{2T6fB(44Q`>q0i5APvVKC?aseu(n|aT~YnW}FsV>!Q_^Gt7Pb9Mbpc0zP4D{p~Hv z6Qn#!e{nYG0~^p^>$=dke}N}?KF~-0ukoINKqP(s^)=%z|6BN{_EY7m|6S0hw)ds` zz&~c4+gZl`!fW*x^XYHVC*W@yrw3PnPt@A)t6B%V_$Jg_Nco?ZePJ_CDOr*(f76RV z?;YZCDZ7$>&+Ei*1|QX1=StuqYoGVQgTPbVw*@!3Z{#uH3G2Sx@7XRN?^i5fy(ivd zy{#L$h{j!)JAwOoubR>i+L));H;2_m^ckt=T*Lzh8Vo&QuwXfeU3P=!Q(9v zr%Nc$MODCKR$N^82=GeYo0reLvGM@%f$#@JtK%Hyyx8}fG+atC`5)g3dardJY;hj& z)F6z1%1Hm^tH6uU^{BC;aKqojb;xS+>B9SC zlh!=t&laFhn1=|Z=t#+J` zZU7#%_Pd|mkMTpbb-p*nb+91c1rRrL%e_y7kB9dOCy8%Z13d8-A_&%$@8ebhuUi0| z&2^5my`EFj>AR6WMS7LL%}12~82kr+y#rt5z?cFlvdf;L1PYIb@I)s2n#==h~(|@K;BmF19eWag4 zfAHMc#6=2-_u_m!dJ=GL?+Y)0Pih$~5+MB$&WnTAytu_9pbs%GssD`p0JsxFUe!FX zkM)MF_^L<$_gelx|3bEl?;WfB=GeTkSELQ{C!$G&UCVm;{iD(!<2p&WJbipMlm6-O z9!S+g|I5jz9$KV&D7*uB>PqN2O8uPqJMf@2@BXGI@EFhIsa=-;1-$Yx<8&lS} z@j!^}9S{ANg1xinH{gD*bE>~B;rQHRjnB_yy$ODQkx4#Zy#qcTo*z?xzPTCOWv%b^ z=lnY0Ag(ojU)coul<3YBwR<)7;HO>GZ|eqt-rEp*PkK)oJoebOv9nRp4F3Ch?hsNjszz@z+5p^)|N=65u{UWhLtbIZD2 zppV=KKN-sQ&Xzwk{G(q&|9;}HEC3$h`=JsJZkZB8dwte>D+ifpDpn)UB*^EY8^Oov z5C75eWJB&tCam*3PtgzKmLIkm2|m8BAg74umd7sv?wx?~q~dP~y|GK)AlM~A`hNT_ zGSV6PuOM!YDH=V*ry$-@i{tc|0X+H#aMiPCA@It@@`q9~$fwVK;6dx0*mY8o;qT|V zfrs=5PJur}&wxDY58b6ALm%dMohr}L{=h4&@83Ue2R!yP#t*Bg|6jx*4WHO$(2w$Y zdlYaV@9Qg|JY8=Gp8qB66(FC7#P3}B`M$8q*`_`4I?k6>Km9r1^jqJfJ;%6+TXE4~ zG5Ex-^}vNs1CQ{1Mrg@#UhhQuhmi+#AN;Y;fXBMQ&(-dS9s{1V=4;AoY^v{^(pSQ4oujBYrTeyUf!^W!yfM zW8hP4t^Zdt4^&w9)a_bJc}AgK+Frl(Q%25|bzgD&>nW#oPV5zq2jcv0Vmak`S>o6D zL-2VakfQugz7>1|{JsXQcAQV?Z^7p9H`V9CM?mkLhdef#{mWa6fIHSXmYYT4Ca(r> zMPAkZZru5xk6Q01J~08fuPyTDXxe3GH{e0uOQ3SzO}zz%KyOL6b&hi@_rH96f5A(9 zKJAjl^NmZ04`e>^ai3lF6S{|Tu0Xs*DNpNPfrt6Mp8EfJybmO0-7k8cII8P!KS6IQ zf6tx3b9tYS@|nZ_(YFY3q5HhM*Mr_u5Aw98{H^J?VQXD+F~@Z&j&EU2*~eZ0K81Ym zUga^z;mm!`nOm`*pGp2L*;2>P&f|J7TvZg2c5Y@IjAeGl~6ye~SNe1;rhy}ZXp+q;H(^Kd+=d2i8V z&?jGmA1c1F5BXT<3ES-l9D8VAnR z&jJtL4}8=NewY=HQS?7xC*A?GUQ^NGwqQJ$-uOa8l?g!ug{c0gv;$&RXK#R{#%L>$f*^92?>|)=T<5YoLe8);pO0 zyZ}Bv-s3%u^!Ic8;N$pV0r7vnWq$r1d834Q@4n!ZwDRFST$hdxK)aG`?=wB&hfYBg zmxKDlT&{Cga-Fl1{O54K6X1L&oA~pOL7tekPyHGF(>VwBtrkBsWuMe<^qjEv_h-Hd zJerYiuL~$=(E7gMpF+~}{+S%GcgmjyUUe$$+no3Y=7DmK57lp9U>+{XhdvXeU-3Nn z1g!JVzjgs0i>5!oZ%Dhfp!&Bo{j1cw;U8KWOnkK1(b%inx@X{xOTZ__^%?c&S9$|aodJ2& zPkiz}ro9Qq-DL8Q^1N%@I`8@i`+dLV=jJm9!zYXP189D0z&s=l}c)&V$*XmW^No)Q5 z7W#RV-?!#a{+nii-fykf1sO+`?V-=nq(4Ocm+>AU)&GOSmd`o=3R&yw zIh5aT$)EK)_=JM#@%VTn^qWa*{b4P~?T)p+^e*?aQvCi%n&Xz^e}jL}Iw!V+`Js3g z^1}hrU%L?Wp38wtH|>^n*Rs7AAujrnegyNd*UH1IHh|u5eK+@ETi~Gq2q2k0xaFMl zfX9A8yi}3@)f^A_I3CbEFh30Xpa*$R@%q%W&(iZ#C8Xy%mHNZqZvzichyJ6ixBhdK z$J#$F>`D3`A^#fE-^cGMk{;x}An}pILGR@~C*n?Sd6MJF$On)-Oni8f^w#&+z5k>< zR^Dhl26&wNwrZDU>_-yTxUn_!m6z+c*{pZOF!ITP-HT|K^Zx-J-Ge+IB>wg^;6Cg8 z`8~&hJDeYBymb8q{m3foe*Wo{GhQEh2$BD(;LRF(RJHSD`uR$LF%%xz_+s z@_R$AH$M)%(i;DSwgFG|MgGYopPsFe2Z9T;T%?HjX_PN?ZJR|c&7)-6gte&}Dv z?J1t4%dzgCob>|eeM>-}OF6IpmU_0<_lAkWO}kS48n~32XU2aHywVzn)bs=%;<<%> z&e&D4%!4F^oJJ z#qg_DtoNF)S?`KQuH=&`|Cd{Ur&Gm%>x(p0Uloj zJm+Nm!Nd~awY;ZM=OMI5~{rp@;ls+HNNd10e!}5$R8!2#^R8M&;KcV7x*}f>V5nbDpm!JQlvYbZDdkFM{-ulJ0 zlYtMv06#C)!G3ov0AB9((_W%J8@~(rH_@IyC>b$5a2+#GK6%agAHGR{O2>>%V`f)yjOE7@xQzcKDp;%Ck@0qDSvql{D~W1 z{Qh&G4?Ms9t8V}w<+=u}NY=9!0$;=avn$_QvZOx)ep}4Reh0Gulj3*c))IeY(aGSS{|Hi?#By0JFIu@&LBcik8yCz0zMl8Wm&ha}?PnUcl>3<$!`!dS&8Wblu`VXYPFiC&gnMil^Fz9Uq^^;x% zJnyYXY?}&v&6}`?rPRZe{V4zQ$Y~kz)5TG!eg=8Zo@C#CU!=S!ZvX zPX#{4^Ggd~2A<>k;9Tan?nU6E_rPB{|MT^Gfe);PA9nqU4a2~3aKB25%sr8D%Di`>yT;sZc7D~gna^*5p+F{LC!0#bWBK_U;pMCV79mM~S`dPzve**EA0QxES)@^(F9g0a; zC*>JB1?g63!y!LshyVR4@WE!-A+#3+^J)K8+|TLsvug_ZEuWd>f7X5Avz_CS4CS2h z3h;5$P+pseKX@_lEj;(Jj`*3U0WTi|y)PeO^Ur~P?)$+gEffAq zzoi#BdYSw$J{I(&-afZ)b`xKO{$!r?_xA!1E&}fQ=g<6r^xpT#20sbBd_Ngb$Zr$n zx%C?8ZS1n7-dZjKeFgW8J3Bv({gy_r-*Rg?=yznnf4!v=1mBVZ()^CxjrP>}lND2e zR~JyP$5Ebttpq;g-M4l~EATST=Qoo7@*{wk-wZxGh@ZuFt%B#u%Zab%eEWd6&OS{V zdX=;4Ae75e(l7ZQ_>Yc*e{=Qsyvu<1oq>L!%kPdiD33S4_o)+skFecDDl*QZf7o(3 zkS$F2M;w<8?SX#2tM6Z+Jyg&hZXx}t2SWa`pMg)qu827IDx{m@y_zoFRjj8KUOinP zj?v2N`=E5`Zj%9&;yG`gdEK4BGYg>~sc!cB6ZMwaAGm9OPuL3j%~hz^6G*?eB&7Vy z&VW5nq&?jDE8xTY4oe5=FJe1Y{$uc2LwqgAM~$C`-W>gmMQZ1J1fyTw+b9ns{f_gP zt~ZZ2c?|GT_Q%AG?e}w@&n@@XaXxwy=m-A}`Ohc);nGpje5F1F4)+lMhh*IJsT)G% zmy`7Lcjjk-4|(_b|NaW{`7rdE0(o%ALBOl;MZJ5I__4$rPe8qJ=TfJf0Qy23+8tM~ z|0ar3c^dh>%PR8u@;vy5B|1=&-wfiZ13;fY3hCx{K}25~_)rb}p0m%JUIjilZ%-qv zCZCh0Gu@9t9+$79ZUtV>eThes{*qsip7#(=BL1l+;$FM(DC>1<66|?A>D%eYa-JXi z=GVZd%9~gGc{AnVcOPbw&v*Y0eAwGpb}Q|q%(IgnT!$KLg*>~H&$7RQPwo)tC&Ztn zJpAre2k8%`Kg`h|I(?>(1O1TKZ=WR$wR{K0z<#E({c04mRJ`y*_~-k`|1W1VU7jy< z<({D)2EG2tzC1s*k@o@8oP(zx0-q5**d@O~@lOul_k~2lLz)B-IcLC3*c@;+_$-r`Q7~);APjtKRf^b)dt|(y>*I1|AO)gy!Ds0?~;$#pa0tLLBGNKZrZDC zkIGJm{BtS)fjm#T{aV=DB+B_i+W$uHeB7)Gq`P$+49%6-HzvRyQa=WtvE={Bw;<2j zFDCuuu2ONdyhe_Le|v}YPqBQ5Sia7FE_@C2G75jx@L`PZ{TptBJqMdiSPxet&g4=&P=T{U1sCSO4JTf&4CC_dia2W)lDPA;9y0 zMmx2Xd`{n&_^r_JM(S;wR1=l6aTV&Ro1dKd3*h7S2LA@~8B0B9HbKw#(XRgd1<((S z2k!Lw^3QeAW?v zjpMk$JJ0g7iJ%|&DfHvy{5j^k&0&e^w#}X zv0VsQUQVCO&jp`Gp6_$@_sBiKXXwmvmLvQx=V&;uGQfEiS6`aB{xZn*7s;mm9{VTw z2i`q7@2nusdj{?yee-zWW4!$>6Y7Bv-3bk(NPpfDz{lN!@^XB>^BL0fUi7&v_p>+; zP&FR@!RdeFo1kC+IQ+m8@_&3j@KNtO=?BQ`y6+|6K6#pRF!L{<&+VP;SG+t0_|`u| zPRXYIzJ3w#F$YLRke|a>KEib0f;~7rZ>L=qI6vU*q0j^Rp_QmdjmAyRt*~E|ISVD| z%H=t>kB$7kZ8ho7V>>&*a}duG-z;LAKlwEJEgOjckp1TZ`_E3!-oJr<&FS>3)c>hZ z0w2S5y+-nRcPsFXyeDA-@jtO0Df=emclGxsj+;{V1K&paoBstqgAX9xb-N(qkM98A z;+@C&0sEzSuV4BX&P(L?NBwFb|Mfe-XMp3)HsLpDewGU*Av7~M7cOVmy80>-wAwx`I^o7pAmkSS&GkoCmsR% zhCJ$Hp7`Eh2VUWQ*Wh^0GZ%RNw4C%;|B>|1B3-A4XQdfcdl>6|Uwehvqvp4Y^L~xw z^E1}F?H@$BPau91K&hZ0%JbaS5u|CIM#h8=8oa=d?RF6lei?w4`AnIc{| z9emc0NB_j}zcWw%+~>TR^!u>g%zpy1;4_yE%xnCf z!mxJ^`leClYctAmEbD2*Q^3o;`}B@y|8S%X_V4siOFvNN`GJP9l%Mx1_c31|rJam; z=M&%0{z+kfaL$naGhD~aab4KyZQ48FU*NrM?!M?hKFo9{AYZQiYLkLc{RHLEq{H_S zH==lIf9Sc7dT2fqc#h{KU4Hl63Vfgn{3lS(jVaWlN!~pF0p*~dcq;s-``+aZ`;bpH z@a^Pt0Q)(E>md(X2WjVj3Hl1}zN32D)x=LhGmlaJ&3^-Z(2aI&fc!f+50EI?H$Amqu?{h z`!`&=-SVRP!;!P00dc?fyXa}?xoQ>s)ePcGmVnRD1k`so&b@gR@Pc8PCyodEeaf;RuQT(9gUh-Ly^grJ@19%_rS9E$iabM`6@LlLZ zs=57MXF0BS<7npVYPK(V&+pyNb=%+tNaFN1^>awK(L2Z8`#Q>T#zo0;e1`cQ@$&ol z-QY8>HJPtBIbS-C^Y)u4|Lkvpe$bm|yKgD*kv&nrsz|@01NhcmflnfS;BSC8c>B*+ ziyKsXC_4i7;L7n}2`XMS7P#}PSKR|V)t;39!COiHjWSEomE!@o1FwDvxYOsk^aG8a zANX4q^n*)b|1!+C-;Irunzo^mYk5pNxB{B6LiynQm0P6xhaf8@*c=O1_#_&^=}+aR(V z{F;7gh~E>G>Tkcpn6IgyfreeV?D0eJNu8A}m)p62qm29TQ3^p&xE6XVYfI{_TpAS3 zZ~6W3=VE5|+k7MN(X+u}EAft#fmcjM$vQoM<~iVH-ghxJ&IMk0LmZL(oIQ;B0q{m| zKJDSp0uQ|N{(Tn#AMn-6d}$P67W3#82V8`u1kp1Mw5+pYz;rFrN6Iz70O9 zwaI#PWF7g}Ly`f~AMkVFgCB!EJNvn<5_pBTkMtiL9}RFnSO@w1;1JUD9A5+RtNMW# z_?>Pi=XK4%N4$CaIx#b~t0C@xYovmn`7Q9qg^<&IU+?vR^NrrRVeT&SX@Z@*`q=pZ z@VvKA;0CE6nr`Y))aYT#|K$0ke*%8emE$9q15bJPl8uuJt9;772R`@h0!9Zu2>QS~ zcmE^W!w|=Ax#tD?W5B{L+kF z5wZ6y;EkVS{i2+&i(^sxjrYM0H;~WdZvY?Wc){7p^DM8zc=!Qlw`H8~YV`ISpZXB^ zq@F~+^5ow_f0B9#d_*nw+vP~m=XtIZS`C7&OUUOy)C*`szJKlP{4B_yV?7<}0sUYv z%F)^FbB6&hPXlkGewK4xZ2f6S(fPx--eS7j;D;+H=NR${_Frx?KfvFi&mAn6H2Z0T2Pez% zsq4X~{0ML;P;Vdn8q?)>ZCri1ArCzGBIw7H{@E7d^-2DZ=YS8kqg*zS{%z_rb3X8U zC})cO-hy{8`n}u0XG{k5ZZ7F>{wwf`>9CVG$^X?K5${g=rFpxfTn4>+A)2@@7I^0) zW?uw8)%(HDogS_h!&dzVV<7($raR?3z=yqkK~rx7p7Q!3onHc;_vS;+BcBRypZRf3 zpdawoyB|3P_#nUk*g*ZW%Uy>J9Z^P52qbt8nl(UTOTEpY0kIvto&;I#{cV2Qc?Wghk zsE=!zuN!N?f3O#J=46eg(Xo z`(#|Zu!p>;dLBI+`E~91L5<|keUC0*7mQ(h>a`=EUIzLGt}i<~*>EWEivJ*AuTY+! zb6s-FJm_sB@tfZ!{j-q&W#)IEPXZt5fCkpUEQ0y}2Yi_KAq~kG~Ln%0^))j?awm10OjG{;ELw&CS3^*?)88^#c9Ffaf2U@_g>_IY`&> z-))=L-%kW<^@DEmOHuwd>Su`iOz>6^>_a;r;`mFt4fb0@zfr+;gbLziKck$x!9TAh zzTYv-?^5{#0*sa3ZBz+<-7Fjz;oVw$cJABUgh2IG?VS`=mN;;^ttdT^5OTM##5dt?*~5a zt=$ZnOMKOhz_%;_hj&$SQmjV*VU(|Hzf$J|FZa$ZUdVaroVPx5;1@wZZVKcd zNBIxE68JFh!+ebC9{5k-TX`R#EBBO)TUDO2^O4_qq<n|4yr2}AjnLEPZ_?^B)=p#O<%UzTxyc;CCQPgfsvp8$QI zcWz}R{Ye@93C$t+HRsQVyzf^Y%yVrOT)&X&Z@P!fcLRvNPp^7;Q3e3PuocOuf7?6 zqujgi?ys}RpX)yIy8Rx?0w4Y=^tL)eXV0jKPm;P`7P%?>aKsX&H1+#kY|we*Sre)D(+)<{ix0>fCt`q|MCLxQT89k zNIlWtZtH;;y!|BKk%X)seGld0?gM=LG~ff=Z-CMag7-_qs`O>v_bKi;2lT^tQ=dpS z*lQv15pTTkzGG2dL;Q}L)5D$YSB!Z5iq1vgGvuAS{KG}SgCiloE6085PXhXrNtEa7 z6G1;_3+#3+@%Q~0c#ij1xOV^VVrH7((WBwW*O2}!Y339k`6uu(Ea0y%0A6-6Ea6$w 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

{n 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

-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

+ME3Kq^a*JYhwlmu(yDdUj}e<9=bh<)3b}sEgBXd)R{BK`{0wzqnoyg&$0d*ZrXG=Kx)q*t7C{yY7dul zVAEz69GTYoU$)-dZ#9>P&$*??FHiQ?O6v#-&1s>oFBWE`x0#ipY_!Z%*xTZ}bu8Q;*4^RZ&?>;Z>m;IP`-l8(#% zI)Fv8#M6eiiQ2Ub^?2D<%RH8h@5lIQE*tJ4XWi>yW8N_*7^jl#TIytO&AF;a?{s$F zpOUWmpguZYOneo1tz`Gr=mLt5d_D5h=@cWgXTN_?alfjZt$Jkk4BnI2CS(g%JO2~3 zGZ?+X@vGA8d)$}cWX`Z`mi~8OPZG_cvvtl7Vr7Y6Uc#JhWX>i7yG{rDwYt}M5B9pP zFS~iW2fN(s>>~(PKX>*04aP&?WZSE!yymdV!v}Y`HGENaDzNP)&uaXE7Qf^4UJu6% z;PCMN0eFRX!KCjI*+{W_AHzR%yF-2HhPL8Ursl^|r`M1Bj*a+WroyCO(U}1DJB6bM zm;?3LsWfJSd!^a}_kw+H-r5IT%+1jJ(Y$*8nfF(21nws(@8)}H_NSCpf8-bI;bs2q zD8#m4=PqmTP4E$we~R+*H51OUfp+@*+k!OzEscf%Z5`v)AlT ztQ#B5g`1f-tv0{TbPUU0|K34+-qX#CVc7+|gM+I2C4((LoyU8EcVy}g<&S3ur@u;C zGMtthoW4r+U?a3PM9vB|Kr7+-^iTln-qZ27S!{UypL0)JiNJC)k>uXCpW>Fn=YI{uSSXKng9(mj2{ z^Gat=BK`=rjMhLNiY7&mikZ{k>`lu<_9oqhzC3K>dgw3CX5;&(GZCsoF~dAv`?|}i zQ}&jyzex_+D>@PHHJk;L9e^}@cCgCwLl>9U`;cf||4Vq>_Q~*M=2(Z5^V0^yk7j{? z$BJe(?{_Z{SoqO-^N)zUxpG1lk)P`;CvXio&`lK--6 z`1zbeC+OLuC!T|7-w@Ze!fLLMt@kcdX6sd5s@vBW;~l@pHuZ`7Bc|Ja1n@SzS8Ds=+f?2<91Lw9@HLtC7l-;c zrMq-O0yv`GzJC=Ke<{i}2K}pe-}Nuk2M*tcA8(Dv62@aR<6+10MH z7N?EjzQg;}ChIcW_a#B!)$dKY`7giKXphKn7O|Uf{OzulmBvnGx1wkxFQ}r~GYE>ZTuIc$Ttmt>f3qen-NsN6}l4P7fm% z5_KPv*XxwdRvWE!x@EuMY+oT~qx;+Qeeck2o^^;@Uz$qxahq5j~Zc2~Yi?1bgXU{prSYIWvy)L@SeC)bG2ED+HTTo*1 zE28CN=M6IL8}X%te^}eS$Gz9vynf{MH_7F(>_F;kEU>pG zfl+?`Mt3Z9j7Tru%G!6#fP9911>4u-KUlwL?_S#Ycm3HzyNU}RhV3rO>1?p{y$Ef_ zJC3va3G(;5hQ4Ynr!zn1RveSg(C>Mh`=@_PpZi1Ww3mGe_~&lc9Y;m>4m06C)jeQB z3>hW-?dH4im*f8p+Sy27tj=AeHFvL1s6n?1&o4s^mP6i|Q-{10=QI57>HE<~yH{Sw z8TMQ`cLg!`a&y@mA*Lug@%p8S%hW=wL736 zI@>Y!J@`!P1b24f7x?^%|97xA-U43)2YKcr>!)Ga)xW?WkoQ;O==7X{nTKAi@tTMH z^7AL`7r7GLM!6V$iDWY&VnMs|y!rwNJ0}oc{!;MTLp{{rH5by&Gsx`nAU9 zXFTU@4AH=r8p65SJ`{hw{%-24`YF3&#R2xw8=}xG_p8DK)keh**;*t+u`RO~ltNx* z#^`fuN|AG4If$#g& z7n3a!*x(~gr^LC#1{fQ#d#tWB=vl;ZfWOuk5+h>df}L>_&9;*6U~j%paKDjc?eXzL z`z{@!Ie;}G{|#WpKd0T88!Q~MrI#NWZ89U+Qy3C$+Jp|1L7%bTsY|k;i+GN4#q_3} z`l9$LN(0V0mDYF6r7c%%$l_>IjQf&wH)Z*bXj7uh%ut-!@->A`Nz%(F9o^KzH`m63 z`!cklGd<;n__*r(z-UtodoS*Lv;CgqyCJq-`RHgbN70$`)-pD#@8i^wnPBp@ z-2LLeDg8vHpW$%6_2-Vpl>Td;{Tz6S=MHR#zFcci=Wvxh*W`B-U(>@}J3Te6Na>$4 z=rV5p`f^>|i6I~2!F)e(%<^fOI%Ds9%+%qN!(3fM-=C9@Eb>cf*uE;2Ci}POJ;k{P zPhVfb?hz#|LH|?SVJ7-YN)Lg)Of15lKcy*W!)h8CrL1d{Xd}o2VQ4WBqc! z1CLOec*eI#x9uoaOOXDJP~PqE4E1+jfFrfh4;zVW&>9nL-5aDQuhiXY{A=$`c5TsZ z5%l^HYjn-!tMyN;%JSJqHMIb{n_u&S`Gx+=_Z0gYqS+r}^GRak#7D&WELvI~mi+;F zM9bo9f~m$t=g7{fx+EivS#Y213px;Tr=H9Z7w;Rk#_t>=A_ zeLuP99p1wC6M1*@_IlXP5Z2Yg-wZPyJvi76!ZXZdItXvV^X(@r|jc-BlF)- zR&Z+#AiDap`b<1(!T)FStma?eThB=3>&&A2R@0BGz(rWUw^|C2gwovbteVaIA%_9fM; zIuA~rc!0DRXTMcnG4)CBDaU>kuG8y;g7Vu2S#gZM4n?S&mO zuv@RkZoR&Ga&bDbq}bZ6bKEz3D*S9U>ATr`sNUl3)!JV#%hvY?Hugwl&(=PJ_=5I> zP9Xjsq>_zVVy+!UmNw-%S?HOl{aj>q;%GYBi{nuV%hW(6#?EQ-uXkE&l z%ruSvuYgrD8a>GR`nWMI%NC)piLZ51zMdFeDfSs|2mkU-Z#r<0xH==VDe{akBewTr z|4Cz`vnSs|4lB;hZgBj3`M`CTGTvRU*f>0l_i)AJI<^j9#68%={}20seCu`gs{{IK zp^ooR_pCV+CPk=2Z7CkR=5u{iV?H9w{$blK(2vIZTfpwd-}$`hPIisI=7`6=XgR#s z>F;i2ExCTS{2v*6(LsH%RxO7H+<2Dhe$3AJgXiWiq@9ftu}A0~el`L)+!^W(d}TX7`*k@Kes|2|Drd{uj$bJf3 z^o2K0T^&JPOWAJ^xBWNj`W4?Sz5V%|{C@}g;g;TbziL{D-gy81r`@~Si1WU`hyI+; zW85(ArR?tjleaSo|1sXf>#Ha_Ty3yNpcwJit{K>lbe~9!dNls`y{Y|Q?n%I}&2&^O zOWJYwcl5e=#IlR3?mfX-VYT<*4c(>x4842Vu6mvPbMivxJm183E&ViH?f1R}ym^9?q7KC@jKOXO{24${v2JGy4mmRt-CU)`w7+}cAXunTkzZZ zV))d_&lBKMHbLci1Q>)L*&Wn|*CYOaso(sI`p<$M zZTZ6N%36WZ5ZcSI7wn3 zNpL1%HS~6=DOrYYn8zMzzu9pJ?c1I3MYjfNC9iz{E}?7=yUTRs-J0M$=_b}|Ib<5^ zrcU_O^2TII`b8V7=ull%^C&|-B|)3I7a_$vXXN)~ph>~j^^NY8*mX+>^l5h-?Z&V% z31;OJoF4Y@KI2?`hNKULeW0!XA!Q`L7Cb*>q9ggRI@@VLUzw8hQpQ7L`U>ky z^w|6!8@sb8E5AzCAJeWF=f>j|)|LkrmQR;_lkRgJb))+%uO3xIESuu=@yNUm=9&Cj z4-)4>;~=@@{ANon4PP0Iz4|2DJq5c&3vK?i#M!XDKkO{NU5I_*+dp));`1w3s(9Jj zmmEx|@UAwWr9JsJZe*RjkNK-PCY!77jMu;6-H&x&A87dX^2Wlc`DozZ0KZ;d$NT$% z{(ye4-0)s`VGqAv9_RhWfPcTY=-vFh~coGA96^v2Tcx$@0Hugg%rS2r7Gb+fCXr*QvV{N>+!9cp=e z+d27}0lc<9yuWpU*LR%1q1SgtZ*+Q14*x(u$7G)<1NIvO*bVD2dxnSf9Q-~B+!_AU z#KMq`PyADQ#x1;y4j30}L#OQ-to^OtkwGsRf3aaNt}Odq+EgE}?CG03Gd+tl)K|l+ zec!y!;r;KBoy(PG^@%m-=Bp{MIXN4BxG`30&uPTbM-$A~ZsJ!o;M33nT=Hqa$8*OL ze*VtL7M^uymS++AwmWkuPCpdZa0J=^?d zczT0;n&@Y)wAW^C>EmkR!v*xAKE-)|ETDhSYaAbO{yncVrqYEKM;<@tWo55o%4EvV1?xh;D`x{GW+#D;^Xd`s`F zDJ>60cOAS39&hgkE6cL3wS5vzXzmNgejmo$d0e?N>+hDte?~Apb{LrC7jEzemQK@m ztW>wJZz*FXKbqQr*6bK3ho>6?niH*gKN``TXf5nV^CEgHu_sE6&ZxNknB`MM!_={x zI(@y0PxF7|Q~iaCQ^t4EhyQ*q-?hgRrjPD|=pWu&6j}EkdwQ==kK&)MSkwjJ1YgX? zLVV}?t$PQ(PiKPPo!fuiP2fTDK)kgPIP3ZCMZd86Pe&#Ci0+Ut%D(k;Vngz65<1!< zWK7wp5!RnuXFV*x{yXQ)`7U{&cj-dIeju73p8YCqh*w|5o|^YbSDJXm9@aW__+6_^ zEB%xX^ek;jPQ=i46{DVW>NYNYZ=Mn98GO4Gx;eNK|4CvAr;t~x785@n8N+(@)s_5G zjn!$zLa%}jxfi}u{-=U>RSkA{bh%elwvM>!JabQbTC})%;q}CScE0a*LHy?jfXAJ$ zFUqbeH?Kv|N4r?x{)O^7Unsa3<5%Ovu)c@9ZXc|cGqZK95hsK9Dd7E_b??qScOB!C zmaeevc*Qm^%Kl#owrl$R=uq|qawF1@5J#FdbM+SDM{maO`NhGeecK5BiJkU6>Q;@WQaXrazt)_VF4?PE#2m?3UZA^1#-jfg8*FLVCErKdAy7 zI~_HWorN8^gS!Im0nf9rA199CpBUpU#I%Sr4x{-k#tyxh7|R7b$0?iScRA1a56#i} z6=NdjKiUynHtRvg3q7#o)mioqMQ}F*-J>&gMZ=^`{0a&qmz=<_QTJm~))bi;15)PL zyLoS(&0Vv_$Q7P9>X~}te6x3AvX{|8e7YR>A*oNEk1K9^Eq8PoV5wyduK!zKw|?_k zgC8<>+Ug8@sIwl1exOnDy72=O)f<09xuIr875AE|oOJ!Al*?h$kC@`~Ri^e>QR$;li-3I-eT%bBt7B~+=Poqv@#$Q0)#a1Qxzi;%+{~CwKl|}pN`KV9 zRrF~a>6{xpR{i&VG`t($o7G45Sj6Mh&qtw$V%i?ZFU6i|&czLEC&u>ph6?sj`JrFU zx%vR>9QIMQW^CdAf=^zH)g&!{q}aXf?XkTip|4obTSG z^aI^h8XxHT-mZP!GqkRUK6}zykPE(^Hoj?$PJ|~(2hjK&@iO{7Z8fSc=9k(ynl{WE zu8p;%tNc&+XMS4xXnh+VqP00^dqm?uhX-kXsQLfs4@NbWyqhn;_^w4lKyeQhd-_0{WQ<2@3$|wv8oQ< zKSsaxeZ2A#-{F7wUq!wX|Jglb1J9n9dOb?}W1@5EwbFxA@KeQyfp6M)XSV>qRwRkV4NA4CqrmdbhWotIkV-^%?LK3;2R?>AxGkS=kXzBcIl&nh&z|<@(`I z_4v8@U7vJ%3U`;h8s~lN`R?6*Uq3bfyYP43D}(R;{H7ZdAKzQ|BSf;C6SX$!4DtUp ze$qF!R{bHe_;!BPTaHW5EEs9+xLVI7$FNU|Z6L+@v$>Tf{Vx3Kb$tD$7wnQA$yg?_ zD;V&$=PuT8=#tU}MpN(N7ukPc4UQh^? z_wJVcHmGk+P@n2qPCXib!6le{9$)r{L0->e{COG8DgFFjkCBJ=hUQ3@zeOi->?c01=D*hZzFeL5eE*BPkAUy*nqSzHSc6qY zm>0tNddfj(=+rh&Tcu+1wKDg#Km9m(^YcmXe!U@{tatg_?_vHlZkv+toZ;rrZr17{L81@tro8d=TS zUFR}?!rGmD_B^g%yKCLv!FYV1^$+x0`QD<0jZfog3K*@9oeAs`UnWLyE{abN>(z0T z`&VTIKQOP4$4*KA{Z*^WR2s(6Fz;jNGlF?EHo->VUJcCJYiK1+<>K7M@Mp^4D>c4@ zK8ikL#C=gr6X5|m>x?I2)~4J*K7915ly1u=sgLhpAl)1tN>91;OO?)f6!gmU@Bevl z|>LPt`%$W9B+hUXMqpv>BSmkq$j)|!u0 zZiJ`V;6^wyrf}J1;70XntoHJ~mbxTQRlXMdG;fPfYNwtn1q)*ok6>RiXIQ(4WYNrm zSXyzxAHIXTPJmPPlRelnbna&jxQJr2!ndU@YFegAPRRbyew*}*5v=P>}2{O{AnL4LirWZ z=-^`Duh~{LsSDU!tS=b%wcuZ{koJ*L*j>u9YOnKq@2|vR)6OB;Llh(X6v|9z96A^W z;VkoF_l7ChD#ZK!d=@Qe+($6ZMdS(3ZOv)EyYu#$Q__BJuiEkc$|I;-ZMV^`uVX2D zhr*SwyI&vL`LOzyQJ;tTt3ka#rrt)zWoh8c>g#-!*c|@}jPpZv&ZJJkxJGt7`dR@F ze0}Hf?GbRUbNi#A{V;Aeg8Pk(O^t=AIC~;vNF2}XY-3Y7>`|n{le40Q zP3Tdq`KxE?oHcY1K~Id6roB|J3#E{0G4B0yI!{Sf@nKZ&&B(Casmu@7ea*y{wZ49{ z2Q}5BujkmqjvZ+>TuE8Ah5vP%p}j8hM+~x)?-6j&O{@pOonw9_p{H(m7!FOv&^A1C zM0PCqHcBsNZOh&d^MQUy?|K>-yne1d1D_`SH4OVDlE*gIh-CbT>{-+|g!-NA9${_s zlStFKwT3|c$d2dfv#Y`g;FliOBm09G^gfQKr~N{FwkzNj_52dd0mZBd!}(#f|2S}>-&*?ItGGkZ z=k8EFRn+sl;QQ#{dtK=J$$XccL2y{Vbd`sX%8y-XTSo;nFMTh7t(-FLeD}5_zrK1M zI#yq0qmt~4XJR(4s`irS!w0qy-$J_BGi#jU-JWw`hfBuOkEwir=#e~elgJNZe7s%npOi`QO*9x|?@+Np_cBI;CtO#&Bc6Vc zdScL8&)8VKY^&89Rk!U!ES~-a`8b<_&z!Y=*}7#HYw!PFX)M^U?>&QrFDLmDwE1Af ztVjY&if6kvdidOYfu{%7DcaK=^~OPac2D$v=zaIpbEYdR_&mK#CT5mj2UU%#us(6p z4`T52o6#dA;~E%0!y0W8_8Q4c*=tOp`KtJe!9UUZzTB@h&~e#SHyHNT&|Su&U-VC% zg{-xBop-j$e-0g3enBzLx2sRs2;1N#?KSv4vM!r(!Eol>(I($PAC<>{V-DL`-c$6Q z`qYl_Y1=_>m`uHrksb24`D&tl;n~<*iNTQ|jvsqUubPfC(ic9+J8{)A@B`#%zz@o@ zJIUwv8?+Bu#@!XsIhF9ePMbcmGD2VGgLlhIkh!9RX~dEgA1GftxTy;pU_$!dF=oSO zSWD@i4ei@9K06c>@eb9Q~6|Xk2*UU3ggyt~+de zOx9QQNw^Shg^$mYU+>BrhkmE?9)@uiV=fDGeJZa2| z-;y3~vjn`glIG^$!`$^8akAK-&xL-vmT-oOy|?87?$k%h(X(A@Qr8f9j6&`)R-TZ2QKZ=NX*-p9frwE1i|v13bWF_XE4`!d4K#C3yC*Hl5Q4 zCeh_FJuta5>b)?zcMp%}-@R)*x8ERJ%kFaK9{oE2ZAhPx9-w`ErAa?{i*(6*%`f6( z?`vgTlIS#D<&O7$y&rl4@>uYA{_1V^$aiZe>6@P0f3S~CiDp-$YxTm1zcBu)!Fpc& zc}F~1k$#``r(ns!i%Z#uE+1mrKO@|{D@acbb-w8Eu=a32-1^;(_xZ}tT#iAL%A>v^Zx5CEA-SS;YX^CWg_D;~ zzJ$D){vkuR|}Ai{Pj2*Dy$4l9>#2}m>4BiZ}Zsgk|UMk(JKWU18 zcocI$^)S}R&XR0D()}F%Ht}yYPYiw?j9>nn!FvjOXFcz-n>~n*Exg6Rht`;N#*B@! z#;F%>80R6(g&cNo>|WM)NNxO$G_@_?kLrMiWXs%5oxAb#R^4^Bu8~7;VlG&Hg)vk8 zlC^uHiFI{_RgwNC?K1b<@29_-W4ADW-vTc2+Ff;%?Kv*tJwban;HQ z_xY4fGEemU0Arwf#DnK9)|pB(=X`iCX;v+2N&QN>2pVd<|pV_1yvMa#KaS(X8S}H&K6cbOEz6HKI9s?f$&|pTGZY z{?P-P66k>Fj+LeCBd>w(-YqDttfH?o`4urvtJwQ!L5^x~br!zlD~8@ag8L~iS;gID z@>dWZYlsEV1uwd@AaXu+-kT(UdB>Ui?!1dO2bj~7))udLZo{(EfJd|(W$bll>9pX^ zr;|8aAbVu}7{>D8tO?+IDCe0=@f+MRcXtKr4c05f#x>YsuSUO;uYCqt(0meo=3B>A z$4y_&+2Jqo4O?-(nLYdF=E%Bc&U-Si;rYj9$AV)M&`u9s$%caN<6~;8ze(nR`j;A1 zw-CN$ecKqnCf!BC_tSGlt7iIflI~+|8lgJW7W@4U2AzkoW9;2UpIgp9yr>dFaYt=UlGlBDkGKKRbU64eC9KZZ01W%|X6( z9!om1ux%yhn~gE&!=Ca(_2n=J|^xro6Qlr@Q@JR7drD4yj)cQoS_+GwC-%l}j*YPZw+$`Ui&_3Q;(zR!_ z+RktB@ZxL%cuV5DL~KU(q-4J+$xfs`t(P8#ep8&4(b(@LANcQGuO5a*O0j1zh8Jvx zSNOVAPnLRex)TDJ74xhm=*vFN0;JBspQHbI69u>WvXF1x!2MVtFO;tFypD9uF^xlu zxp*Qp2!Bho*AF)nljuqr_WB#(Il$Oi%e?k{eJF4XFZfiqode!QJKD#T|C*y8_N(CU zOU?0PiCx@&H$46Z;7t%uU2SWP_L%@C#b5XRtEDdCO8xt~`o~=$>Pv3K#S=9?#Y--G zyKIU1gK&Hf<%<~ayWt_&M2pdtE@_57V(?*&lk(J(CrV7i3gY~VFV*rKC&of8`ee0T zTf2NJJA4EDkMeQmu0f|sz%wG`kAVLOW#MgY6};C`zJl@}qkK7f(p=G9LD9ZA{SZ%2 zb`ekfTJR4|($=wE&>{SG&d=~wh@h)PE{NYzWoEto@OXe5Pw{BwM#?$f(u>kHCH z(#OQh-BqgNO`d(dbI2oj70bSy`LLb7*T379uNNpe%E> z=@fi>>gm6Qb#SU3yZo|Y^i6VGFm{pe%kUcMAsw7cK0rOvJ9d%o*8J`a(<;{d%fP$p zS;@Ls<&)^DDSIz`S@s`oz+Gyp-nQk-vX358zAUTq-@(V}5z^%==WO!s&f~k7@3Kv3 z&MEy(=FDpF;c0mmbVi&~OSfGGh1hzCW66HR-GhiD4-GRx+rK%`FWo5jV)qQEuMN-M(F3b=wBh*MM(4crx9%CYlWzU7X4$5|6tMv13G;p5)+!^YV z%{Idxv-HaWs)KW&XF@lB2mTc$8WZkI03JV|#*pskQ*y6j5W0Et74o3RS=`NH&5~ox z`p&CH_AGq>wn+@mCxvL z*$c4^oC&<5Q_d|*HV-|LI@B&_t!be^*A{1QQhDZ3 zD?CQ&N;{uE#X6Zo%$Ebq5j+2x!$2k_F1uouw7uj$O z;{rW4(|+YiMyI=1%Z9F)yVA#k{E5-&Jn6H?Ca%LrrBd-fqxj3|yUst( zS#y{&nbGN&RR*1CFMQ*Pi`~5&d*Kzk&$_L1^Q@ol@1I)Mx%i=7`yXAC*}vrAr*>BK z&+Y%xL*Jejffmj=a`o36uitz}>tF*3F$WVuOV^W8vHEdw5u|4 z?ojvz=^x0SIU&84^oGY0)s4SnUkx8x&HHBNc9OWq&D?*$UK(d&f_luD^qu5)cY1}! zE-@zkeYLwd7>nZ_f7N&#!8qt_hG=70Krg5Kqk9Ihy&A^{Tkw60vig2h@co`w{#9J; z-`c$m*BAMI2lS8`lfFhU3=LpFmgt*ccoDjK4qnm--xsa;^xdS(mom}FUXeYkY;;!6 z`8%YJOxIJN?%zmFN0;Vb^CiXn5Ay?SdtiPhm}gzDXq}3!Ft88(?Lg z>;71GpP#pRksbx(LNpWv@-&auVFlHf!Aq1#s`{9O5p`| zzD5(*t?1t|bH&;C&BYvX8y0ar0^bmpli&~ zf~C;%$n$nKvS$;$iRX@J);`~ysBXwavkjydEKgL|r3&2hibVC~WP!``1M(+={CAQ+ z7Ua+HY}|8ndEJ6K{O%KH;`<#tW6nU<7cpbbpL}NGRzuosVsJGynCn{bSJC|;N3d>M zd`07=QA3E)`k1LUL(C=0SAkD=!|zNrw)5-a)K?yhTffXk;#njYo9k9^hrJya#`K*r zi3NUK!sGF=H{2Zz@^cW5MQ5TJ`7@0`Z_rv;lNf3b9DyLSPNPJmXuzX5)V)~~B) zy{`HwBR>S?kuFCh9@tx6@9r2KXZ;(y z@FVI#msiXh&LCNwWhf8*;-{ckArTuZM0I$4_IyX@INW#bZ)gsAeCr&Q;KA3)@*3hU zAF_9&`U+^TaddBN65U&~CPsgOPxZvvj}V-KzcDc`{RQCF`1o_(J#`cxT8H-0eI1*E zzWO@O?^B2GpSSngaowZ)(Ie>n;t55;U8~XmhqQN(kGi=2|KGa_7sYEx2n1|)16Ew` zB^U5gHX&lY)K;Ww^;6j-RH@in#3~gnn}F4dRaVhdZDm2UX05H(P#fzdTx@OCs#veR zun7VEcx#o5ECTsHUo-DX-ig6}evjWDd1Pnab2)S7oHJ+6oH>)hKZ-R)cd6{XVa`vR zI}S5?@f^``JDkCT?Y|a(3-w#wk7iz^f9igwyn7=_c&~#NMNtc5LXz@jdnJ+SxlFOW7-FJ{FC~?;04F`(wEg7`xb$iq?|gjIk_f>UeUNgyBRau4Jc*6$|1i?^0@ccf;FbfL+}eiPRw6XN_d0xk?)1;*TUIJQ&# zaYDUxwM2MOd>ZBnS!8je-~H=4e01Z7<6##!ytWs-%mOc38y#*ouJuw+2XK>A?5=<> z^K{`okXHFeDKFX+ze_e6d%#G^M&1%9_LFE{v|4+#m9Mhh`|{O{DZgh-t3M;ZB+r8~ z@kB$vRt|D*)`xzryy^Qswq&2=&8;ccUtiXlb&L7nj6i2mhR1i_Alh^B%WZs(Mfm!O zw?jVt$`&P>)jYh;dfvbM=kL} zCD^~*y9s|;Y?w)Ges%ouyS0&dv$9~#19xxQRqSZe#iY=FKAUIHE?i!p@w)S2`uXJ} z+MB^Aw5|T{CG8Cz{uig;1lM=RZ&t=w+a)yD8k8x&WA7?nls)Tt;$0M??{}g1sejok zmH!<1npfEkurr?Z$9K_@>3<#nCBxV7AARw-M(k5p8rj90$<#^1n}0B6`ktTt?p=EZ zXzUS;p&Fe>@*3LB%=qn|9)B*`TE>lx?~DVF#^QWS1V={$J|*3umWR>p1N>@atYEkJ zv+-lFi8aS*U-g`K44;Mt#x6mEa^v*((fg3Nx3R|NeRwXs;80Vkd8$yp)e% znsZaPZY)OzX1MI2u6NWVi`Z5Th@`OiFXJUpOw zMXL$3ruuTlr}GH-s{^Lhj3G$Z)S0F_A^G{3eeM1!FL_{U544up*E6^;I@& z)-c;X_PU(&|5-!7+ysH;zTkQw+L2Pd8 z-MnbOEI;$xehnU3)9wJjuQin;Z)JPt{X_Iw`QnuRuidYvnMcjbvW>f%N9r7dGT0?z zO_Uo!8P?)lk}^7P2ovwBk#bpJU9jFmM<1RU1-)s`HIJgzn)dQkMEe0biHU zKFjGOS~tf)lbS0x$Nj$-`rkFSXMtmHWyMdDOOkhEiIY&qUqk%ZR82gR(tM5`>b2;t zO5x1Sqmg3+lyBgz=o;SU+gm;Lr9asgqhl7l;?1g?2R#(1ZO%^$yms#_J2y`onW6a< ze~V9|@k3Lufh)Bglm%)}=Mq}en)Zvg+zT!jQC|EK^(s=kf3c_7{Ek0wRclq zJ@>uL-X>9D^drr&hmGQackJ9IX{(XBig=S>OKZ*d@$F>2(!%fe1Ne2{oXtl3zs1BV zkdJ|lxu>(2&Iz3LEkf3o^1i2h-pv?>XZD9agx@H%B>R@`rT(09vV+Kus&mSn5#nj0 zHyz5EW)?gypOu)WaaHFXTeW)suUCck8(*2=u6_N!UMgh1*Uei!YGhUEv!OXj?vj`O z-v56?XimG*FNNkr*{A4T=n!p2o~@dwv&W0MvoE<7>?gFls&Xc6bMBF9r0o^V;SBHE zj~98TT%G3JZ6kLzHiMTn-gr~)BEMXka*+c@R(Z6qwqL;(lRs*w|`nR{5 z^R{K)klFI7SWf-7^YUYg9dRZ7Z}>1YCyP%hch9G7Sb@#4$eZ5&g$1wZtI9d=(5D^F<{F%pO|0SnOdn^i{BqtKkdJ}zrS)9%-vA7{f6RI?U38#1dz*DoxcmWq zs;tMH39oZVU+mATqp3^DOG6jLS}2b5|A+kFk~cVWH~&4-YD4|FcGZX4#xJS(e)gZ7 z(@v^`2Ja%B1m4nj@H4{>XK=o?yW-Qld~|HR2RI7ZT9ny^9q%}FS@Gc=dETVIVGES3 z`${Kq>^MK2n>YM9q#&N5qksuK5@zK7v2kQ%vdrXV-;8&uupLOA zv{!t3yXOsSniZW0Z>6Byi8Y*es~_ZjYzuu~oY$A9j?_4*Tgu$Yw&kH;#E}VCARjuE zHtlLH8kxC_yvP7FVSQo#WOVp1;+rnpagcU`bkhkwW{mSD-a(v(T|VCh=@$5>-%wxg7bwj+azvKYA$@|oiydLD{DWDJZufKc#s-C-` zf<^0(^aJ@DT3N04QMt==x|iF3A+q2k^c~72!3j?qrLxdtmTzWX%s0_+tNQ1TQOD`T zPUpO!2Kl0V@?cWBN-$8wi{ zZDcWed@K+7f;^d%#E*X_u}hH0FE1F2DC^r7?pI-L)t zD^kzMuFSfv^L*_^@(-%snSgg5-`U+PKUCK2Y4Vd!1F!fwNk3`I>-V+%mOiI4SDW9x z`n}b$o-@2W@$opgG(dF0!nL`0mZYKVy0vJPSYB5#uX=_)&MokWhS5 zXWr0^B$avRU=>YAL_WFaI`rN>|>HOgJ>Y zYKAxFk_c;qU$Kf3xHoec&Tx*5md- z|N5?Pg17XF&>Zhj%6RN$51P6&8(~f79OrG;90QjRv+g7b&%%T7CY-qO3wKku(X zPz*1v?`F-3?#FL7OT9+_+w$(x$^{<&N7T{%e(_7Gm-ilW zd3uO3s(xMfVO1R`K(qPYq!mZmea1WZpXRd{kk0tdEvK|34`nX_e?WKG9)^-Pq~!$f z?z8$#j$P({By&)+3nC|ql7r}2OImRm&{Y!qmhA)PETE+XX z@S8izlOpdp3($2!;6BdxW!^rs)95{sLl(TE_Pg@-iK+d_?#Y!$LmR3y zg?xQizDGNkkjEK)=5+Fom^FLe|HvoI(!-bJC#5xsJiQ~j4H~FD7Ws>g;AHu$#0)X# zgy;(Rs}+k5R`Wkj-{MK>fsGrxr*G7pq3;MzjXx;Y{uj7+4QTj>o_}B`A%SQaJn_Ah4Q>{XUZ+&-dX>(N$XacGUrid88V@BO4zL3 zA@Y9=KHB|tUA*9UU^2Kf>;D>X2fymuMnA88b@wX4v=V!^feH8@VN9aQ>HOC^cwnPl z2PXh;oVDt8_}Ss~0w2~cy{F`lshxW6``LU?(7xs-kMFg|aR$d)`!mV}X=Siauf$9- zWAF0UWzFSJRkk1fNbmntGK9JM6@3VQu1|cRZ5u~em{!n+%CAF?sc+FrGikxJ4*BHr z=K6WAo$lSe=MBzwroDYscb)=gb;}kHd{&o2UO}HR;gEe+>{RJV1DrYC`xJWHkzRr3 z0Uc*fnzc!|oQZwA2Aqd{y+nFIl(`?M4VBm3_ZswHSAGO#6+_G8eJBq*iu6+V+rvJh zbP`z{)G@WkHg{9utL6ALNGBF;HEvL*O*Y(1bjFiB`ji~;1rPob?HC&~HXVB&J0g>yUY0l@ zDsw2`@kxrYN0|*T8b8Dcb~X8#Bo489Z5G;y;PWiIfM6Tx!*&M#wGsO4zt6UNDyxSL z4~?%Bu7n?>S7$3zMLymV+q+kNK&%|sMzEgseI1=C${%ho6#{NRjI3Hi$B3DdGg6J`H8C39P%3(cNYKOM)~Ekp01G1kb4#d*lmTY z2>I7w7Zi?Ph0ha%Z9Br(f->%3ATQWA=Q{9btUG}J(DElO))zR!dp(-xFns1QPrI=f z3GO5|=STfE+i5dRo7&?&$#2on3Urs{wD~l?Ea){KZL&JOxkvDX=f!?bJfM1X;7)X4 zE9;B6gELuvlXG4`-#-z2EUllEO43f+#Q!hKtOq9XGJRLn!2?r(OMESTemZ!s<8IVs z`dTzPesuypM|yRHHU&#P{b^=zr~Mo(k_K%J5l*7CrQ-1oLqLc?U99#+l1!ypbKa=h5mO?$ala9%B4*p)Gi9Os4ZTukDOWnA_Wky}~%VqU@9XG3GHwjit-zS|b!c z{Xa?SHDs$&Hv#`Kwok(!+M5LF`xxqOV@&;N`KQpQ?qReOCvOe-R7~#(ZAvbM>G$uX zB|8Pz@yvtZdW}5kg(jv5W!xP6oj4nUPxy_~#>K$2KV|LMY#WFBZOA9C)Zd@?_|9M( zl{^t$9n2h@368}dA?z$=_`ZlnM1yslN0mi%SA(-;-7ARj-V*I5px1*%E5Lgo|C4;* zCu4n?^;_{frqL#6T)yv*J;UrdU$g#0OZ;^vhR=F)8Xnw1o#E_>XQGRtoLA^AjE&#H zUzam9wYya|eAe@i`MpP+Kqk?s9JA8XD_1yaG?j<*H&Vd|!N%Ah5u1ZPfy^8HlbDHHm zXMvGVg_)lvt;}PrW;|D&A2Mell6_AyHt=WOxh^+6()%`b@c!`;luHA1l5;AZK{FrL zuY_~BU^&so4d6t&uYRlSBGMXr@A&L_hR3|y>g0IG= zxWDy}UCqPGy@NF;j6J3~>70_B_I>6=G#X(}Mp16AiLWGoC*7?m%p{l}_dANrj3y?f zt|CwE^yIfsOkGZ%%8PE?xrfFSJXo4HD==1~hGV9|hU##I7*#~8>oeu0uS5S_-G6T-Nbf8!F99B6VStwmk=O5M3 zeHHm{6OW`2o|N484DSrjlzmQH_d*-n1uroQ)$Yg8#|Xxy-}nsSBV+w-JnjKHzVK~^ zF?_mW)^3YuBB*Fndbmzz+v|FTaAW^bKOn zMe_=uQ`snMl45*$d3J49?5x|s-4)oPZr|Nqej9ZsVDp|!n<3~<^D&pRkI1aK^OCzR ztGw+C@rk!#_f}i#|2n^KwTT`z&6CdKw|xfkqtALaw)f7k>eoYGqp)M#86LH`h`5jE z&{i2XboCpVS3fVY^Ri0yAL+LCuJ-QBs{RVD#9w=BS8F@#+)Fcc1_Qm;v)**@7iYeJ zZCcjg+VbmL-|cR`XukXiRzEQL*`R-DufI#V-f3mtl9!y>hWxC+Z?*aRS8(5o_M}&Z z2U{KQZ1M$H@{$AE`qOiSHllnB%{rh>eCgtMYMw1!^PZMDHx9*qa;;s%BE*9V#gpqF zA{}S0MXPu5d#&#Ji;wh9efIcN!y8j{Pjx-}jP(uR?ND&2vO)Z~c#_&9%%|=Zd6Tfu z6lThZDdVAUU4u%VB{ zd(eY^i#C+Lgmi+nDTgjq2h8G^NplZ5yM%A0yM|0Ej5D9KE1SSIl4e+|NYzm$>WyB!3%R56$-L2vn`Y0SSVO$(yFBiHLVGiAvbO9${C!vR z`Mfc90c|CQcrQ22PE4FJ9-npW+$HeI(y+CqHzNC%GB4Q!z4D0PuYmDDu}n9!FCPbPHxzmkyTkdjS2NZ$wzuRy_8zeM`tj`O4&4zEeIz;e)L1ninuC>$ zS@y$avm+Bb+5blJN``I1PAGjb%l<+-`NBMJF@L#lQ*Q-r*Yk$1`V?=-GWMe}Vn(apkN-Yy2X^Iy z@l`GsE}y%`@{XGe!!OK*=ETj%IRnf`5I<(Fz~%30%h?+a_1k~c&s$2m9Uj$M$C*P+ z^z4a8)lK}Xnwuuw{%`~$Fi%VJEDxYn>!XaVUzqa-^Kg& z{b?zQ44~b^XxHf^J^C>`YSu{X81i+h59{8VH(PN6v{#G2k=T($C;S%r+XD7=K_8bo zV5uXIdGX`&SlzeL&kvS$YnPK{j1wI(H2Zz_Y-(q@ZD*SGKePTwS?12lJl>aMJ} zEZW;hdx=3FHb|QvWxR20B1@4grFn(3vt!30-&bKIe zE7-3^=sU+cR_S@UbLUOi(O1sev8i44KZJff;9M3SIoneoKD^uD9l`718SlfWbVP4B zQm)#^TL*ZGGd|g*BHqRKsNLij_B+#C896ZB)O6xb@jWmF;ShW-PHvQT^j-TqCnmo1p0W>E13$9P{HPAdc`%(vTHOrc**l6fc#vkzstrggJ*k`rLKGd$kd!(B*Xm(uUC@Kgkws@@gY2rea86c4H$ ze)<8jZG$)Jy$E{GX8Nn0e-ZL5FN3YTwFz0nz1ec5C1)c3c~cp6nmC8)MDD8{_r03F zCt!b8y?V}ERAvqGOl5ReBhEMz|0$g)+foN`{Ll+M$C*d$r5{;*l>$cxeT-y0TAyT3 z;BMo4)x1lfIg*T#t<0{m#hIPp9UPQvOu8SVGT`=BmDAX7<-26PXrXsMZ)LmYKrpGi z{yQDp@~rHIHg1yi?aAV^{Y{*t_0qSSp#Ljb=dSwr+E=ue*1#JpkQ@2V)DI1=36*!f?9nMUJwv+H)BeWqukIBSS(!N@K{B&R2huZ%nZ+Ps=K>KCr=l$DH zz|Xe*D|_1iCiJg7_2euLv8ign zRY*KTnWpo@ElKW24OC9NlZ1D+vtNFlm{G5wi-=y4U$I7D60XW-&D~M&aK&$jtM(pT z&FvY>J&a{;nfG!#?QKABdLFn1gJ9WP|Jzw(1VaaNsXe?*^;LTW6=HHYN zf2Yyu-28{wiw5=3YVa=k9mamK651?;pU%GK+S``als&hU`B_@yz06)&9ZKQU{I*SehcRd0qLr^~g8{q3x~Y4=XPcVo*~P7E1+ z`xkf-o-{X3X38(}mJPd#)!+W;7V0}mpC0q}6Y8sP*T?>%CBDUZ%Uk*Cm$QtXv8dl` z>36>0ZwK#9bb|Nbeq49-z@4#8+x>vuk3?9F-oZkil^#o<;PO}Cy%aq*$~qdQzeLaEpB?$=?qKdrM1^ z;|XkF{ohn9J(8I2w5f7+;P%#iP1!km=TW%r+0)|>k_AT^Q=fe4I{cy6Jlrt7HdlX= zrO!2_Ye-*MVbkrTJ<>NGXVa@mM@et~Qs43)SN5i5vyM~dks(HJdbr_<+T3Zu_DN3- zwom%bGy;`~Ateyy4YSpOR0=bzY%-x|`}%Wc}s z59zXCebPS)*55HT_inI0>CM6Vqzi)eNq;X`{~uFxZw2d!yOh#}Ln4-D9COL;RPO5NK>cx{ie{%%7zNfJlE z!@j5f-sL`R>2%6yKjiX}9~0w>A8X5%VoNl4Y4!dBysv!tz16fqS@HIk;$?Sfzm=q) zf#3)O=OW%C&>bVeYsR6yEMs|>_#1nxQ;SVtpgRBDOC8CF36j0Q@h^X^l6(ltGwIEe zX&Qe<<7Zs$$e_}h{0HCbh!L)Hh~++Rg?GW(PM=;s`BMijBH%K?I`tlYqe_=!D-|3; zIc3VRPO2PxPg`#2XUhrJ&%zsuX>HT`{XOoUFQ~_#2%nHML>uP=Gkfd>7utDF9)Ld} zb|kIUY5HOv*4n?mHOzXz+g0ElJ;3^tIoZ14B5RXaa0&Zj&SKTZiGCYN_7bj*duhXi zei|8Ln)n3Zd0IJo_o={?40|T-$%1pdIjcn@w2|cd`3Yk~{YdaA?nwW>RqkNFuL$q3 zs;?;U-aucXGyPWHBEi42U*F(8=J&05EbBO@)4Z+r=S^dEb9a`d7h|J!<5u6dG8cj^ z{z-4&-=QyPB*vJ^HO5xjR@oswoY`%?IJuCr(El8bEkn6JxM9A-K7812i#49B>2DeR zEhFvDfUK=H6tleVWxhd~EOTe~cZD&0Pn*#rjQwsJ-y99vJCgRkp>z@L{Wv>pZfA}h z{RPW>mIo9wJQRDAm~&d|>eh!^Ts?=QUV7}kyDGT6{g71wf7CY^r}!uWO_nBDtKlc% z-uQ>WJ7uz=!pjlM`_n!kW`?5$?LoBHaCb`*;7M~=2yGP~gsed~6b(F0ADlDCv=^(m z*PMlMWJfG;^-U}%?Z;&IJDhL+9zLeD^sAeYZ;$crGByAcm-LCr;1Szo*4XfiVm|{1 zVQf<#cBOmi+s1p~?GKOmV=K&FJC?*AZqEmbGv(yDdEeVOw2!)nK6MvaXVSs(JGy-E zbMT=0H&g$2hE{s*$wB#bwU2k66nv(vB5VwoCm$8k?RR` zF_jl?B=>3$>x~zfyxdD&$NpJmw5R-dxy4O8dlB)9!-Z>G_;2}w@q6yWduq2!aDta0 zoEHxO-&ypL2ot*=JoM7z!1$;f2p=(vkL3g4LouTI!))-803Xo!K=_!6-@_Wlifo#e ztS5d)03W~pKj33j*rTMxFJ$(9N-|q*Tz%z#cFZDP88JK6z7iS52a`;A{Aceo>VoNOTr>3=5vW=*W)QR4AO zkU1|CS0p%Q?cbcd(eEdqEy27FKf-$I>1<8;kNGs`?30q!Tfn20ecVCEKH<(2u}QZc zz}cYI>Ig6kUh9ukoWbv{Ic{V)=ZwHVlybtMn*$5aGsdr5co1*hi>zn;E#F(YjtL=r z0K=Ko8&(!Q#MrZ6i?`haPA9%-?Sn~T$%&U2P0(3ZeyWqP)%iHN37iNP=}E!0C@5d* zk&DuclC)i0W%+2e?DF80b{|%oSJRH>!RkA9JrWOTJu8A<>b`8_Y{!u&(t|X|8dH>S z`YS`m&V&~9Z35{EpC;6%)~`BvKiGC{rR9_UaGV#MURDrIDwrl?EU{=AO$JD+_uvHgq>iEJd*{BDp= zM!yMu_b)H`8}ajdU^VpCtFP_>H>Lk$=R@!nGwe5_yNPPVjLPaV;(WXnr$*t=7rw=2-kbVjV-(ks>G zx*A({4g6E>^Uo99@s&I}oOYRiL#yq6`Py1renp_X?wczHOT_1${%t7DO^*VhY0 ze?Ff8>w3$V_FN~)+%-Up%#nFFPBfHYzOK8m?^t^1M>-@la;i_$p07KG*sqFSi_q^i z|8I8qItI4eR`l?oo)Oe^;CmT(9iTi#`yA!LH)zJoa}V+>$1g#=GXXW$Y6d_Q*hsYw>=g<9*eq4t^!8lGNG#KbF@F&zo;{|E~6f^JTtMPj&0? zVN%@>gLTa}t9MB@t3I)FSK0OAsTL2vIo(~>z4+nnUrKq{J8o2*0>9l8a)QKoab zxRDc94sCQ|t!|S@Tpz z?abs|y9U+@bEev$w~9t(R{HJf9fRxz@wR&Q+B(yl$CyVpjKddXWad+3sLt~QgW8i` zXYc0>&$u>kb#OuZ?aWacT3H@Ww(Y|IN$IE15p$d|au$-)8(`(YtG!`5?6v8hpuVBA z6bRNSj2B)v`wDv=Y2R3}-#?qb5g1o;2V)IwF85{l>HgdtYuYL{zIneedTMWdcka1+ zzHQ&kGjH3O`QlwJ*OvONqP;hnGxa5Vgwf~yzV!VVzPt8b^yk*juOCm2J+;<4?aQ}t z_fNL9l_l|=TFW%w(my4ShJuSLmf158k9Bx1=f&EaZb5HJBPS*6FXnsiKDfy2gD+(t zEc%BI*%$P_In4Q28|M)f{Lg)pdRf*7{e~U_`-HU*oV(1$FX;8h6ujI^#rAK{fdrp_ zE+5+gZ6*C18hJl-}&a*Nrft-6X3#|Mx zM#epyv(zGUM}7)&EmWPHb~yj_=Armpx=#q%;UW7)my6D|blHUb>G0*&t;9G{JN@Ne z?Ro5xWS8*EF^2VOLv(%JUh4FY=Mf{1v=8d$E?@cxueFFZ%@zw_?3y^{jd)8tGNeW{!kWqX>2#&POxm07 zomE;$Jk3&X`rlcX{%{mJyxw~!4(w{m;Y+k$_k!??T>nFCI`S)Gk5Q<0;_8pJcR6=p zwf>D@eJn=SsqMr3z7oKo^w>aOrxKUpAC&(&<4pQ}EvKC8OMTo)U-CJSeM)`@?wjDy zcYWJ2HY^`B!@oLjUkLpw&aCKJ_MR`Z=i`l4__sK772o9FARf{A;1fpQ8MmgmY z1z!2xihur(JxOM~oFP3e7bSC#N;~xWUjm|WY z|0Z`k!HZ(k&v}9Uj`6ABuEWKgB};#P2>**L_d#?g<4|B{9a*pay88GRK8!}kRvZMC zSsPBtx3&Wxj?qu}^*N*0w=UY$9$Re~x~2YKU47Od*MBv5j7HJ@sgnV|^w1qu3FuNj zVji@qJ4Igt$A5o^SOAg(x(m_}PVKrl*(TqT^WWdotQZrU=u2bNy4RpSBX-^E)|iNg z|H}XFY2HM+E_~5cPHSK1EmK>b=KBl8hQ5q;I(Z*f?^kGy`wwRvcgNe#=gv|5b!)e9 zb$2ml)eZ3;a2@sJ-)8F2PA7G;(9`wjOD`XhIplA4PHqE!$!X%l_;Ok?ekG?%W`6*k z?jm37srHN8uD8Cwf-%nBkL)Sz6^H5#l#%#SAOn%c+l%<2G-@*^q6M_c(x-YC%e{s(C3Z}^ldZyWLlKSuHk zGpoo~|G~buQAV=R@qnZMH{l`0ZgBaIHbrUKleTJ*pAMH*v?W|Dr%ZpG{M@gn{_~-$FuFsduNxe$Ie<3qct!t5 zXZC|Oh;>=4yp*3e#L&x_%nzWwq~F%Ks2xuyafBQUqJtvZQyI;#fz{mewECsW?XUir zqsWKds}y%70e!xW9FS~mXJ2tAvL=e0n+)Bb0WE$N9eT?ZR^Lc}*xl;*zZ&@OLH5iy zu-bPf#oN{J+n;t|Yvc`w6m`4&y5;mIAF<#(YrY=m?q*~NK5>-Q8o!l0QMwltEGK$+ zm~uNlfTla!}TGA7| z*3p4A>u%N&tyx;rv}Wm@^-s`Ww06mVY#I1*YZtfY&AJswwh3nm^lafd?CbwJv&=uq z^4D+K`(T&LdE>lR$$m%InkTKf9k(RgPLwYvW%j(rJ7nN~HD|S2vnzcc&mH9dfPC@v zRQT;0^LtEY3cv4WpCg)y`+TVO-Il)47&ffQsR93VZEED`LJ}6{eOhOa&q6w{= zthGvCNZPHxe`c*nQZ@-JA^d$Nv;L+JV_l`(bf1>c3a4uvJ@mr(tD%ed;ewerM3L9{ zcovFxBk$C-RKjE7=dmA<--(=$qf=JX)_1sj-2G>x6PdLo5gw_#XiL@|kNyo_J>;&B z&uOoj{oshqFMsajs@}vHVf0_gRnf$Kd=s7Bh%7z{+BE*fC9Lh}b%)a5SLyF<`ZMdx zXxW*puBH2O9n!6Su&4QUbTzAYYyBw7%!Los&rb&E_a=OYBvUp2UcR^LJlZsSChDo~ zOjGys=VcpxtG~CQYvJp7irI2*pK+8J{JlUNk8^z7b@)2F&IF?HjYt1i zUWYA8Z%^{A(YNo(#yjzwX8nrAcXwCVx1+iHLBD#t=2Yxe$-*5~W8ssa?jkx>e48JG zYx#r^0zT;kLH*;Y-&-ByD81zX&+EJT+wl+N-@!Yol&=1#)pxKXFX_a#6Gi@h{Z;Ez zp5Q%MqkB>A-)*)n@!|g5DM*Y2cjO;O{f=9#KQgp#beVOO<$L+|hrsiJr?v<-!R7Rt zpZRd9t%pXSPr@VO^BR2Fm6s1c>n*o`kZ*Z?Oy&fAV~%$N+pFkx?hfof8UGc`x#r}P zyY0EB_94QfJ&!ER?BHI1{D2)*>je+x-l3e^N1cK0sIzIwh5yF;;%Cv5c(?&Nl5C5E zThWkw{yh2>?P>k)UNFS)Ym~MPFCy=>wrM>KAqOL@J#&F)H8NX$i}uZ0^krL4whmYB zJAxa$Bwz1d^+$V;f5|%R)M{@9{N~E3jSDHO7*VDz&I0=Pc@Ezt-|)jN7TiWQN#|o- z6RrLNok8co9y)=O#qxbr+gkf&-_rko@c$OdR?M~K)9n9xPH|6S?8`q8-^FEYIQ*IkP_a-oGfezJ1UP*y=pq&McbOc8}V7x|1+TBU>(Kc>c0*=y&anUpxel&OZeW`XPo)L{wSH! zjc6EjTm^Xr^l%;fzJ#YFN*%;_1*hwucGqw4`#uVLFLI>qO6K6Tdidi?)(_T+WBvxNs3ZA<{Q}#9 zh5co}p7zEL=5hUCUg^VZ>~W0uePHUOkA&U|0j5jOMGjL(Yy3g1ubTfwSNL=S9o0d5 z;?KpuVl0yP)QKaD{w0`b?+w~hU5_@zOYZ(x|Fqt9uf59ZvaZc5Y4d$EpPxBHFg|Wy zWiGYn4`I`iu7SSUI-K(>E=`~l49~RPCHxl7-XDHtf5F;q^TcNs7Hb0smOkeX(%p{! z)Y(g|eM0)4_eB@;*6yX^5gYIFle}fKRTo4;8nk^sO)+p z*!$u)W7e*7ux&6-we3;1^dK)c64)LmPk8^6>H%LGd&5rlobh3_w@;+}wupxM_GZfh|;Xa1Su{%mK1;U*>=}!di{)0gO|CG0WRD!r>6pE_MUn zA`%TZau@wvoz-zKN%Lgme-vk4hVIZmV{zUN?&Li}_a@$Zyw{=p1aVAM|M%E@Od5RZ ze$dNCrV^husd?tUHS3XJ)_#2>W0fva$M`GfVmFK@r%B&cJO7-cx8c~MX$>PSIe8Ri zgy)V6j0}b6N-`HPU*b3IWhE0-&h72Kz75*@xVx3J$KnKX_s=gd?nj9m!g|{@n|FuS z`*-%<>uzn}yJVa_3&5Y`dHC!g#`>tnIwm8TrSVLrKkbpH5MyHI1y)wA0j7{Is}c{| zb=|~b1a8UL>wO$0w{=&j-lFquJ=xt|y=i{E%lx*xXj|vtGiPwVCSAqfgNt9(hStcF zsU!N53=Gnk@S$@5Lw)_8#(&YBc(;VV^EsmyEf@N<+(Epo{XOsa?1xlNv?%^A z;oLGpS(RCLnT5YzI#B@r_lT7tJPxJYMrdc;rS^QrmD$MmzXH$s*amoi+5F$cf3;cL z5SZ&go3Bx4D`n&pk;%FB;OUk+_)lkO_Yr4DYn|k(yC1Q8{-c5OwUDu`n=_1s^06t- z=p4iP{Dd_&egSlR69dqMxUC#l)ND zEC4&6@UwEE#ZMDBkNW!fE#OA`JdJ4snv&q)4p{}d1x<8@~)qnAG z>US^>mFcDoFvpUdC%poWZqs@N@3#Mp{Sz?-WCNhhf>)6NPc-?yQ}*4@Hto5WvxihW z6X_i)oU{!pEW;Ek0J@=i|mJTphrem-uC7-eBX5sC?IAzdU+zuzZ;E zizx4W;Ko9?hBug>M34Q9JEolbCXh8c^O5b$@{5f%@e<<|uT-NGtYJxazxT9{c(zI|U${&Vsb zwD%Z$>|E%$y3;y{u_U0y2L%)SijUlMLqFH_()%FzRC%JAML)tP5S-LOR}pmPr&_Gc z3byM3o4YStJKwG=uDomKVd|-zsu+l*s@1Nd^`v~ z=P%}P6U^HyyvX)};JuN41XDi$+e`YvTVmn8pKs#^fcHW29lSr|_x~SwJ^Y8OcJ$(# zcLh=t0%?bTjX`&RtZwG+0EA;lVGCNjjxl&1XXln?g1#pBl_FDwYu|^|_g{K9A6-8% zzZOUKtt9!1Y)2MJZ(4#47F&+-6(PQW+Jaw-GHXxiZgzTJ9W*aFbpQ7)PE{s@tqxdY z?Z~Ne;L`UMbIkXib;Ql*O4beOVXOVMS-QC4h4i@82M-KfN8i_>lQmGL44*Amw}bMc z`(Ano`X6XqdC*=MySDHd=6+9p%=+a@=Pk;VBVRn}oWQF+tCQpVqKj!wO<->;A2PJ^ z_VCDptzMiMtAQ97qkDaYl`s6g%za1Jukz`Gzf#${X94AlGZ)jA&g%rD(nFvjyI0VA z(#7UI>3w;NaxnR;;1Bt8EFj)af;TM1f1loA?FvW1AKGuM_V*l7bck!wCllCC+u^wv z@Ew*uoyK-q#(E=|Wb@nrOwdbt`Od4Vl=mz4Chgqc6+FoO_3~wO<9>e&GId9Hh4P;v zf8OmjWCvQCl zzLxZG((IX6B?l3=pY(yMPg*weFf_3oS&Hu3oCc334_Z+k=YWcNVDnh7I`X(@L|($I zwbZ3Ol{<#K_MST#!!!TR^OnX*OLnQf=*p9GKL)3*A1$a<+|k-XV#GpQQGY+7u{(M^ z)zIVK=A1r(qYk_jfaByR-4(76wV{44rJuR4KDa&-&R9rvDxp$y#IAU3*7ga$&6I4PF#KsoWRg zi-_@!Ey@)0&8-3Qzc^=CRb?44shrOD1mDfHFFUcB_kDWjtkKuEAH|0v>woXs*Z;0_ zU;q1qe3yRe?$QgN>4UAkO7cN+!RlH@r;7auJ~B2OY*Cui)3#dtz7PM(CV3R{<+`PI zpO7TRXHnjmg7fksm7M=fdu$)^9|_Cu79#c!GR8FU6UO$Tzihx!+bhdmQOW(jmX=+TYpTsgH7G;PX{Ky5rB_@H^Uar*#mF!|G$`taE?6=%w5NAR2)fKl&V2(QBF zIPCsq%)7&@@OXre+n}!I@agdDbU2r<_G-C{p*GhbUu0`l-Xi3a@}w^Y`zWA~+x;?K zem$+ruFSrCcYQ3TocL$Iqnp-uHyrug?)jeC7t22CK~Ij~x8@Bpwp?R}XT8<>+spU) znZFSaP;?q+zv9NfC~C*Q+^7BbiTi*p(CEXie{2#l^}Tz3+{7*chQ;zBuJ&~er<*+d zAA7H~gL{|A0uw_v;_==NK2EZ43U>?PWyP#dpwEtDuG*0ef<^b^gr|DwTRwU^hsE~J z8cn>cZhJ>CJqnv4w&T0QqYDa&1D*^IFUZdJ+U^P;Qn2*kS(T5E_R4o+Q?oJs zEIBhWvu_WrjHbPjnFV>_+51Av``CP6?Xq;R6T7cD zgE$d74{Z6V(NSn`OlBH&R)9Z^Lo!I?=)$){eEKu+nZR%0o9XW6YQ9S!k7mcE;@~dI z9!_V#!nfpJ#bx5@k(nc)^B~THbm-z!xjE>Huzo^YZvNDko7*4Kcd#ARb@lFmZX~N- zzZ4mjf6yGx5wWu>M%(brhv-c5AB__?PI|89k9Z`RyTV>U`5>?A)3t-JV|s;mpjWu_ z(6HAu?OC;jygP$T*51{-*j7##<+H*%{T1d;rD4T-fX*qqD zxL~H8uVVYvKJ+fiSy?1{7{!@);p|^A562tW;%$-bk_knbCEwfAtUDUlqx&8OEb1#w zoN7m()yU5`zPqRSCCZc#8!kvI9n7bp4f@(RJKm=LlqM!nYyoeb+_=4adc9&SLT{pv zt1V1?m#=`Oon5pcx>0)h{$9DxWOW9AnrXWvbIlEQT=F}R-E*VCqqPTXE*=3kQ~wY6 z`!WXE@Z=j{arYuj!8#)W_2cQ*Q{on3gSx={JmVU`yD8)ecUxG7s|IW8bT9%lH=5@0vr2Dq@hvtZXXE9K&8W>+6#qu)YJ&i1!8e_kl&f zd+0r|N7Q(`v_Rc+pcKqQueu` zojVL3i(~sS2CefwI7Fv(YsSx@FWHJhvUgHPGGF*UjeOaYEqsN@^5HS|&~t7=KiBsv zXy7E(9Y1tVR%ia?UHyOP&(XW??Y+?!S z2HCse))p2_yf#jU#4-d_UF{#GID6@48{*%+qn(g{}W8Q&!_r2FM9VA z_Lb~UL-KKq+k1EU==%2pQ%3`F0^pGb;A!IC)FSe`4#Zz2ra0ccehTjQz~c@3Jj%GS z1@1q@oU6T*&-#+&>`mkLumLr{W8_cl0~2q67$VU9QSiq;$6y;7?Bz7Be8!jsUxi2e zdKJGFU$*=sWNzHpTXLL6U-^eC6Hx75hnS!Q=OGN zIoD*~?*})+*LJ^s#Zh#36qVmWyW*8j%Ic0{qs|0rV=47DkN?7dQ95Fl`!rqfvl%Pv zpY&@-H%|e-fsOhOw!ZYsU0o9!Mf1to&rx>GQUBI%TbMcWOwNnUJ*^SgBZp_8ooRKz zayjqAwPVAJkaj%m=0I?-S6c&o8z|4wn*OhZRu>U_>bEtP@9rCff4lArdEwN3$4L?1+5;@?(506k!bCH0au7Gc#{n$vKr-WmNcN>$z+KQO_hsVi&ld$x^ z9Qsc{6DL3m+Q)0Wx6tnA)z6oGs9$~6jnPJDKYq}duJ_^efU_N2_`kWAn3(1T>@HTm z2)3D=@wv7`K5T`wD?drizdO5=en8ts-njDsYhTLa%q~A>eccDecIFMvT4_i5S7Vi7t zhxJqYM0akcadb(>_&AFCnXnSq$i_i`-vj=X+?}DWkoH$skeOMm@ z7UA5CWq|L$3BbDHJ?W6nhSocmi?9!>-6rPLwY%KMf#%ZAXTMk$=<-)FC-UJ!#!c5a z#Fy?Kw#IVA+5Y_q>6GA5^y_f?6WT|H^oeQl-)KfY5uZROmS*yynL)Ap8IyP`i@moR zyZv9myUs~OGxNat0niM7%g}}PyCpG?^)2)bYs2JG!dAiTAxrf4wLzK}{NebWW}nu| zT6K|`D`F5cKGB!xOk)$BjiB72%%|q>Se=FJ>*Y9G=$SibV+zuo;F`l68yVu}O}2ON z?{s(JsX8!ka{}`=P@BT(Our4$X`N3S$I^!EP5QowH@h6|xbNfnF51=il_mCjCp6%` zNBF*h?{@xs@5>9{I=7Xr*y>H;*j8{|I;%H62s%AD$L0>+B;SN5=`ik0F}Wn(B0Qq> z6&gCw*>ON8(tO-K%$_aU{-16^|5?Jm*{rXMsam&`_>s(0P0~x9H_hxPKT;f$ULTu& zG)q~*{Aa-m-G;E|>)gx0=&!9&+Vt=-xMo^+@uE`rUOI9=+I@?7Nd0M7ur(xz|2aOe zzK}jYV$;yY5|8wc$Jn&`jFRp=#HLOC@>6nW2J4ePEm)uQmBIR?*9Yqto}Bw~us-SI zgY`*Y6s%8rO|bs^r{sVus-SE`t|irv2>p<^bhGj(l3@HSG>5FI_kE8 z=VlYSr~Hgne&Yf!RnPA_);y2-+_b=(RNAMWl~=v;sBeE|?AIFo{toU_Z?*Ax=nr2_ zp!}f!LwU6y<;+Us$=&+d@uZO}L48KH0jopUyXv|>zw#D)2gpOWmW|*r=nz}-Y;^tU z+G8~H-P)6^Ps4(6*t{Rt!yf_Pg(P&lnDY3$4R~+D<9BwfLn@F}^za zEjpJ@&`zoLFWgy6&|aK9`nC)5h&K?9h1t9Cu4!(2-XQdV!HVO%e#_Zm;}5bWFF(^U zmb<&$yZhZ)#s@XiPV9EUl$$-MWfHhepjZF$L*6t%w`k0heQ9`R=fZI61i{VSq$quN zT*W(PFB$tlZXA`;ie-sArna7ck#)n>!QUAh zLvA}hS;2a5vxlh#mh1ew9{#klncoh~Rwt3JU1I#LoPPN02hBaGSZJtpxRT8IugL$M zw?ud&;au~3bZqzhYHSoW_|i<_{IC|Ct$jpVzk8G^H8f-N6?pa|3Y*5)-c~!0s81X z!TKr?gVvtgZyBJ>WLxGXo#kSOm5nORT{7{8=Iphff=jb+^7VAHMp+&G6uwa>m!*!% zK1aHpyJ)Ka5x<`{x~tU_TWR0vUUr?cZ8)9^ju-m(^<~M9Ff?jo8leBgK7n68dd0+p zH~Wy^;nS#h&(ipEisod~-V7de=ftzSH`H?5#h|=j+%+1-I-<(hoO-i%sCc z?6K|MLbh8I3qd$ z-NgAZw6f_GWE6LXIu3*Wcymkjb@yBFeGAyIznGZ$y!V~y^6{ec9(`BY>3*5@23JqD zOvVNp#8aAmNTfYk@=t%Cl{9oqyi9PBmR~31(s_p-h`K4elqEuYvXMrhhJCHO#a@c{xUZYtLw;$A0GJ~=@>%?b@a}h7o zeVNzxDf6oPeGzp0^Evy89OSJUSHyb3`HR+4t)HTYR~Tc^zP=qgN?;4tw?FZXc{DzM z@}JN>70bu6gA}8?^9B&Kmt7l5eV6qwt$PlXS;`%(#&f3RnyKH-+HoiL{?6y(ZC&t_ z%5S2cxg!BABd8~OY{&Oh`hd>tSj!5IgeT4Umd71X@{YCXOrnN2%5H(y*=xA6A?_)es@IWItP=0jD$+>T+9CvwV4DpW3V(;6; zzDf5c1c&S}K|Z>iSo`gMEV$EwPi=^<)SlX^p)KJ!!FZG>dWue;k~>lPwCDIswrzL* zyL{F|JY)f ztIMDb&D9@#JPI$D3r2i3gu}8Abhe7$Gj+dCe)|3H3h|R*{BN*rBo2?x5Lr`~jFSz) zi>1P>c~Slntix*KrF-@?Tidqnql!KfA9q(gW_am0J^ufKaqGPyvwlg2apr*?&-yie zf^5^i*SC{oWGDIb2ru_(-jLWQI)6VP-m;0cz6<(yXG!0HmJ&vfDa@P$eAm7}%$J&2 z%JYhb=^Ue;_4vp?`tR~Wm!I4wKXVV=y$E`jZ-Vu2Ivw9H;d$G|Iy1I;b!#dX7vb|8 zr~SLYYnE?CwEK-bukD+pC!i;Z7gc6J9O9?Hd;ZI2e)audzyXhCWKUWHO?LQuSK%)S z{yqR#(sSy`4}KHg8{)B)V%Ge(e$@UV#_a6KnxF4b?={+1-6tIk%w1Ezer8badCF}@ zR%!it8(Aiq%G>R+Md+Ao(Kk1vS6DmOAY?@-<<1g#+buJMF_^ko^ctS;~9gq4%*1_{rQ)O+knkjc<7S-23$xF ztoG^eIN;XVpJ+>EYOyVwGK|la8BZDQ|D}WUjrW#s?4LSUlg%#47_7}MjIN#+GjZDT z2E}wIVb51A>{(;85)ERHZ3v})J_frs_XK47TgzIE{l(}e(slJl@wYiwfo5Ze(e_Eg z5Axxgk|WglW^nAj?w~kqE*_f7=!{`8IM@pOwIl4@Hu__CwDBL}+4SIWfOZV-s4Kjz z0e7x`r(aJrSioI~&ue25c9+gTUDx-^Y6CdG$XGD%?)yma|iDG(wFFF z^SgVRf56@j9*W(<-PklX!)3&{uVasR1^Jqb<={M7fUOCfOP6%;IlH}Jn5n%%GM4IO zzL)!W`Bh+CS^9VNf_4|xU55=xb;U2P?k}k8-xFA}PIl#f-*4x;d9$I%UijOd_$Qyv z^?m2phEsM=95OzeI%Cf+9^4{%v1uW?5brO)&7JSf4|;7ouqDe+;7Vi{ctQsrol*S7 zMA42a?$Yb6+$EBUquOK0u2Gp4&^P0WZC?l9u!bvdjmaAs`-nWHMbDk&AsY{VpFHUv z4dLQp4ZN@1u-_{s4c81Gefz;)h1R!?*L!X1BSibz>*H-}&}+Kx<=pQ#UfVyZD?hJ> zD|Q<{mOB1t*{kYKCOX$g>l8l^pQB~0U*kr{cSiV)&ht?|>lik|>0S56+ZJ$^w(&Rd zwxi76pZHZ%Y9`e~)2@#f7_1!97Q_ItgAeN8T!EFN9`Y~92t?-qKz z5ytn~N8+0_cJ0{3D!+{KYCE*wt0kTIm_(CBrhMHjTb}Qxy!^L{^#&wyFOs}ZmOWdz zlg?3S_N@ekHnDTL`CT@_1&rXxJj?XA$(X2>MBQ`NOi%j$$0CZ_#8>$FX-iZQX4T>OLxdX7MJg>5icMkm|#Er)Qa8!5})%_d<)M zC(1U}McE0WNy^D?A-ZgAANyQ1FSK|!eVP0%v_F?I(TC>^AEr84+MlfV8?^_cZYOmG zV+HTWsok5Y8{uBBg}nq?D#_$#?QTwfq&MxPbCzT_QN|;!-(O~K@+Nu*6MyHpL_ArN zcTL{#1>wBer-PsObKTRO&)ORr|G#NN@G>TikU@1z$>HiG;9_9b97cBOZaX`1iu zbBR~Q+O9J~N5gxoqxC|%RfErWs{?#@5Pa9=<7D^zHnSdB{g!x*hOUSo%Kp&qCFQ@* zyPC-K9Qy9gdqdb12enMQ(b!RDU!qt7;MLmfMr6(+U+brAnX+r9ImgzSN}MqlqLaz? zEZhEF};ip@SF%V`8>EPJuf^bt@i&XJg1Sftg9%SrCgGDbJo{- zMCMo@j$!z#X|DV8b+26blaULhmxj$7M+tl%Z2Td~yO9}u8O^;Khu5HN=-)=wF8CKX zSgTj5oekVU&0+(H5En*p>3s_2d*}~KHKuvM&s(yC!kuT$ zPy3GU)<=A}^?fRS2pSXZnlUJ5nt0UuLypPZ=))&j@%q|b&9{9@|CHH1|FJ&%C8v*y zMr1qaI&g3c>q_ek51B*VIKSbA+?Mh7P3QTf6TFq29&PP6z^GU(>lFuQP}p0V9^;jt zeS@(lXW9?ZUVV7x`;0+;stJ6BWsgpB&xf}tjU59obKaI4g6>k1X#rQIdEV@Op(Vx- zKiWJ)pPV-xrMcm}DNYPfoslJ>yOF;C^<945)3H~uKYmGdwQs(H{H%C>tk-&#Vrn6S z)&ifwso(>LjPE0jReD7Nx)mJ|x3pFD^gCf5ZPI`5fc(@0;8`7XK!=SFxY?7XFQ+WA*1>XuOAi z<30@HU&Zzk44Q)y^6!DZf@9$QLjxQ0-5L(iZZl`W!e2YGTKxAe^~C2LwAq)>M`zX{ zkCW&=Mt)Gv@o7e|!>85U0al+MLwmwQ1RKl~jIjwmZG=yEFc)#3N2RNXPp{a`JnSPL zm9NRD%rTl*?%S!I_w&1(?VNEB4chGDTacczq&5Fz@oAPnLxXojs)oJ6YW@=Jhwr<~ z`jr&_yL*-BqW$09ty}q@WW2A^wrr1AG7g*#4DH3YS()@WI(e3F5#)@TK4A#bwZ??Ooj!g2VV~0Y_N?j#2Pq6R_yqI>g!%P41r(e`}25*%Ioju6)Cg zgXI@pZ+SLJoJ`ZEKQ`%rZfxJ9y*~>MbRjEe;BD}$eVFv4C)ez1zJhoj@~;%p7adzEi#-rjUP zrS(I6HQ%2T$$iFW^hEKO)e$XkeaOD5gE`RnmtF4LY3X}7{d~%|o%k~6_@8HB?`@-Z zEwSy43Bbo4%~i5<8GNyK6)lvpZaaLHfiK-L*2H$;5G?w8;bq?O!d7t0DhqoY+pS`%NdJ2G&-R_}#GoBj zj0?YSd&ajBo0`>CbvLkxGee!LjEv2s-cPXOv9`u^-nT6;&-jP_;@`4k>HQsN=P1${ z%=)KzSJ8uy8_k}+C=-OO6K>4rGFpw z)N}78N`|<)w+>LZ?>VL&N8d9q-=_q9&e{mV^1ZY75sg27e&zz^QR}E|A-=zt>`gJN z!vt)}qh%{v_rPq%*da~F&|J-Be+56y z;cd&FcMF4M<*U{tKK0LS)t4Jjg~7Sye-}G#CgoNH%Db|$K-pmXvTwTcBJucE>@yzl z`8H|aW+NM5eullJ-V4p0&;JDfJ#=N=tJ=UDqL-rI$VS)(K3F&Ac-%*+fUcGnBujo* zbA;^N%o%oQY;QNV^A64sVgQj|L|T4aX04>(Li~l*e>3ZF6Lt!nZGQN;cw}T|>$AM? zLHnHZ=gRq8_u?*-PKH^FNEh56@*O=ErbGidozQp({&iNJkxcalY(7=7%3r@PQ zBWlg6_UBgR6|<&4Tx!d~ruiJFd)@GB|GJM*_c>runUw>SY2mwI)t*X!yXV_@#nz53 zxvO^}tlaHjuZq1pvoSB9J?G%eX4XR4N3QT`Kg;-yk1YF0dp{a`!CZTuq4?{%Qw=@E zJZwBk@T7U{oYBi8gTSx(&e@iHV6{H>@CrK1?)iT)dgdZ*aH8irA4iU!uQYfH*jWrO z+dBEwSu;SL@ARwV`sid1Hx}=6_^jXK|1sp$!|^@Nbb|ABJ}&c(t^J5pXQ0hZ_mtGK3mnDp{hKMDe|cLHZSa4vw?1>+*#7)MuIuePg!bK$J|i8a8N_iS{ce3~xBR#ntqvH0naOD7t5 zhKr`{J8oWkbg}oJ856U+y303#bIB);G-&0Occr^3v7vnCmtCMQ5Fyo41v>R>>PnI?O$d=y|odx#YR_d+rwSHj!kfhiv%` zGD-WC<={keLwOnHq5p^cJhj>5GfO{`N8kF2y&K^2wI&VJezV$|*|+^$m6zO0`@pRB zPad%ShkInd;$Ua711H!^YELJd%uaB9f^TDruvgBWZP$fga;MVVd1jBia1ruqikI{F z&EDyy?78Su+!NE?B<+{&UOg|>-F@)koMdA|qaXC+H?K4M(b+Mxe=cS%w0Q=P?4Q5I znAl6i`s|^(56`>x2dnI#{rX3se{Kb?+t9UsfFJKN-lR`(PQu#Tx_ydtX!+@n$b1)= zy-{Ap?ZhqILV4MVc+o+giDQj!S%~kj+k+IGME!c&*SfDY$ zo$kAc#-tzI!Z@veplp6cnPu?OY22&3nS4icx^sN6XaHMQ9r!SP0K4Y#PoB4wvlDPI z+Q9rX_UQG%PzzmlVfSnT?*6d9#@$%ikvPL>l|3{`*&OynY=yBT`_y+9du`7EKfZMt z_O9S~OlC8_11B?EVPh-R+Fq-#7;A9ij0y#Wm<_A>VhHwd$pY_9Ify5#uAcwrQWXd;UvieRFgt zo2h7EEHI0{w1-xoZ*Q?{t;IS(or&fX`!8J|muxZeY{QZ@#cZkr@(s< zZ;z9<`um8?WBd-{M)>I6$66ef!VCJ7JZwkC7=0C)JKP(V@)Fg#!Q8!uUqAC6+&j0z zV@*SJ=5Fp`$;WBqt$o&qhdH~~+b1n`N7kZ`hS7NjnYUv?#L?<|KJM2%jX^Q%rxD7$`Kjg41Um9E{Lwt_Aqjqxj3=f*nb`l-h+uU4$YfNj&%yR$+wKGoV%(Nrj*0u8~aV_N6pzry{c5#x?LEQH(eAhX(=mS0FrFvix zjYQ)o`92!R>mkW$mp%+89jMV>c z?XM2B-}t%he}*69Bk?nzk}JDyV1CROKh_u@m>z!YPWAF5uurRHzYxU5ZJe{}ZS{N6 zoy4oeugF9S;}avs|7;MpfZ?%=90bxy zlYT2$pLAug{!ORkRs`#lz9(3p^k0JYNq;d||Ar~KTZ8pU-yEz@`te|W(j$WPzdkkB z6s%ABN5T4}Gr{_#2M6mXPRU&!tWWxT!TO}{3f3pR{h$E;k3Bh8AFNOM!eD*UHwNpI z-W;s|?9|+}V13eO2J4f)I#{3dYr*>C@UINkC;jDMebSc%>y!Rtu>SK?a$gG8Cw+9V zKI!v=^-2FOSpSCFTv@O_=`RH9lRhn2pY;8~`teh81;P5H4+z#LeSEM!={th;_p8l? zgY`-8DG2Zn=~%En=^qE{*PfjFxWtw>{73r3V13dh!TO}H^y_Ocr@LfdY_j!T`m}!O zvVQ4v`lT22OW)creZf6}_7h&}cYa#;d9<#Xe#yU+SjMakeeS<`=<|CT{rdbK>$h#> zAL&p1Z!UdIzwhVuOV9p)oSk`ml-2eBpP7WE2#8roL@P6Z)<$iu1Q3@p3AnV?su7ps zHc6;jk+xJ+1S^w3`)%F6jH0R5mISdi<5H?YO>0X)+kRVX>o;ycyXYifYwOags0;%6 zy+3!!JQ)({@ApSuljnKva_-sgx#ygFZ^3i5gT>U31?m3|Jqx~ocY^U7gTW^JG2gx5 z;d9SB3ZAg4x<1ZDYFCGkky#L%_Fw*{mzJLCI*8OkB%kzB& z;j|}6B@&^<=Z~cL#jcE@UW)SpnAt(HH^_+mN#cmw%~4dlXZ3DR?{EnBzg2=03Op@DbNyX?ixPPVc5 zt?CDO^8Ox|&&oTkMP4JnLblC~oPG5!^R(U#R$jQ$-~Z3}&$Q!zCOrOs%AfonjQ`)q z?K%E0X#DKkE*$^UKiG5p>-IAKd;g!u|BH65Yejp}J@2m#GNJ)z92uXg{?~d;Wj}!* zRx!`|>n5HVTs!g1S>T)8fu#|ADe~PF-fXScm1fGc<)Q`99y8Rd*CVFuuvx^zxsH{SyCE4wqyp z%UIg(uxlx;2jp|AN8%E=+O5U8< zp5WbizlT5BANtMT+Pgy&eSOAnA5XDPr%XUhS}|PW2ocD@9Cv_h3^K7 z6;^<|Bz_{%Qn?0#^CZkbsoO>;uWBmUYXf9t2ZFe-$rg&mCIqWZ>7Z`JOgY$=U@p}&Oq_c{H+;8X; zI#de=@~}22Mxe6*h4UnMmgz#Ot2f&^$UVyaue7ZCof)rToet zblSCZ7F-0uE#1OrENFeFB51C=npgw(8RsszfSd&SzN$IWE`73kbIXLq+;Oyge1P9b z=L(ipHRBt*p0*@Qtl`XA3|Zh5E(ROF-U$c4LhppXt9&6oWLt#STpJ@2#! zLj1cLf0%UQ7~Z#mn|g2)gZ4(&iEDWM7!2}GvUL$K|0)vv+vs>7S72QCBxj~syFRm$ zzVTBT*zOKi+}RXF($_gy-o!@`kA(VkG}o9-f1zjLfb}G2D{!U)Yph=&+Y#g^EZ-I< zQFAwN8oFv+M=-8xc);KRcxo9(JUc#pg1(RBUM2Y{+}ONqtE~KeDc8mrVnOCz#MiG* zPjmI-_^$_yA*6%U?ojkI@iuH8#V>Wn<>zet(VV{{x`{sVuF>fq^FHZvtgH{R)Z}M& zg?v6XK5k=Ep8v@0$@5=`j^X>{qz?mp;F2Yi-^%!2ga_mwtlUza&TX;zt%-e-(__eP2BAwm~V<(n1lB&nV~V7@o}F0S?A>O@g`*yQ}JWJoo_k^ux(qP8Sfp)f@F6h zvDJv)fgj(O`dvnUTyE8AU=rS;fyet|zD2-wiawixX$#|v2hpeM$uqy!^n(m>|C!*8 zb;X`CZLsfGee}?06YcuG;`EiIJ+G5pf$?3bBo_mh-nY8l&#hs@bu8O0)E@B?+HHH}Ejtj7+!mROVK z%{KbzVg8NNUekj5B~A1reZ7@<*45Mxii7`civ~C7zFNhvS}#i;omxhJkxQo=ehq?| zy|mv*do`3*xmx1S4NDr9Orotdv7$vyC!$1jABo;f5N}_Doaj#8P0%VaI?#GAml&CtDLx|yVNn8GKlsa%XJ?NK z(t5Xr@3TiIW+nr2A5{ikh#{AzOj)SRxKJ7T3#6OWPG!DKZ5i}(?KE=_%ETc0`pN9i zAWvbxAc)_f_V)#!l1uq?7ZS%yp&evZI9$DfV8_a1R7+QiPSV6TMMwi&gndX2%DwCbg(e-(ATjKp|u zg4RFUZDa7ysZC@~Z5~RSG4{9wL8|13eE07s@m?~REm|}0d%PE4X?^O~W`4b4_w`0I zS7EmreGCn{m?N22`g4zbZjZ)ca%v`9eWE-X>6?p?QR#1cW@?3rwo|w* zYZuvdb^uRdJJso(EqeS2Gh`f1zKUFO71(G+J0lx4bjXZL_qW`;4|Gg{E&QCk z6Mvs$%n8{cjK7ILUuO1SZOmz~_K}f2+XG)s{Q3IJUh?(B^3J_L@SpG_nK$-dQE>*F zBzF;i%lRvti+&=fLTkzz)>qk|l9$W>G1jxP5jSBk#*^h~^vX=(g#`_YX+=e!Z75|Tq<8j{ww`U-$|Z>Sdjk92ljkl-dDE)LrSz@UWpM`5KTr? zNAIT=vpo*+vW7BxyYQ`ir&5zA5SYXZeixE z0gIPu0sR$@Ir)ts{Um$B8~7IIPqc50?VElL+g9>aSpIiQu|e?fad!*&D9wD4wiD#n zDzMv6T#&!R^MYbWf_lCQz)Nqg?>`^pzZU-)@!J2B{SU-tga(#-AX zr3CY561}#R{*;H^KQ`u4%lr0xsjs@ck1qBMzJR{>x_2~swv~BnKIexd;Y;?EX4q4j z35d~}^~>l)`-}K5vdk0PgJ6397z*0=>t@mN`@qG#H%;?}eb!_Igk37-r5at!LaxaOnMEapH@+kGJx_Rp(*SZxncX98Bi}LxBAF z^720j#`&&nbExbYl-0Sco?lbQL=Z4n5i|V3GIKUxe{P1#guma(ceNd!bF)tVnLif2 z`)KooGTL$b5i&X(=_c^0xm9?tp`TOaSH=d>SxK5}Q}#RlJNfdTuMipkR+=HzcUIf+5$2a>s{Kd-4Wvzlk|erO*` z<}vdws1h%q$r$Q^)x#H-NnjkXhV-`Yz%_%_1=1zj2ZN2Cw)!BNIpQaZrEz!S^XPl* zNOXshm6cVNXB(JP>)o986V4Xf2JS@jM=9T`^P{lobpDLq)dm$$^>PNy_by|6AJh1( z@A9=7I+JDljD9}omwP*>>I|Fhv>}^Uu&iV+{8YxJ^K8CFTi7j&Ze)Mv^qqZ=Zc%@( zTw^f)sV$VbR{ee0Hyz$HI(H>8Ny%Gp2=)}P|1UK2I(h36?w(UOwk3R5eGl``fjPCq zwmJXP?3D?%<=a?5ouS60GHOq7OgW6)?@;{Dg_T#9s?tb@3Z$r z`N3MV$VS##h&%A_=FmF{?9VgZSdzvTWxZS*q@RN4lfeCmfr)*`#H)WTxnXR{Xd?GB z?i!JOdk1Sy%H;yyU&XkdLw3p4T$I3WUNg$-v&HCBKZfJNV{oz|+t9Dy$7xMI96NzN zjC}^JW?#enVea}HxXugLduR#pj-?)ZG^MMAFX^o>F@_I;Rc(qET^}lzXLFBlVLZrE zht6xm=9s&w-0pj7<$k&v&UShFWyZ@sdM`_JG^Zx_O|R8_<<^q-++g>}=JlhCCt+8q zKiO8AyM#-PXB=Z`<*pj9%lg+_vZt622iQ~ewHkX^d@FtE%U;b`Q;apmJ$SO82A&aN z&Ol?WXzy4R4Du=1wN#X|B8FwOKG#_hFEv6t);2n#rGdg7t3_n@Dgn&dx_io;w}e=o!wK&#WA-bJi*| z0Xa;vk5(|R{dceR`oGzdB5%|y~gL@l|9R9?+yCW zd@<)hyDusN4`i*sZIyUpGJNn+eG0!3#xLFW>4o?{KIq$^c6FAT=Nj`y4B)4W3;jQXR_bC)kq zIS8&?a$LGg<&aywYX+VK@!CDgb&X3uqH@sAmzz$xJ^GF9m%d-+&@(FcJU$`)vi4pT zPac-Ohi{&jtqo)2L&CT83h|7$1N^4=(%)u1J{O{#xk7sPcKBVFeJ7gtmm@}~a+c@N z=?-4O(GM4JrwZXp*?I$D>$2|#z{dR^9yYVqMPCRXtqvcp4j%z}b>cY2uV3Lszu*Hn z^Kirlfg@qt9{@+nz8eTfaX%dWWAC!%2H+?tGUW!~C}H0TNBwnE_MQ9#{qMT$JDpXa zxl8Ati@)Xfjd$(W?;n*6c-yT3J#!U&EZubtbl7pai{B8J>4MMSc~SfwWTM2u)Rt_t zc&sEn5}uPyrE{CQ;B)BJ(f_@*B)yh)|L)qli9JD97RoYTSZi{=Y&$`zDfd@b?o{rv zKbk(Y*R-;+G(C=WL>IE5J$~1qn&$}J@KyRw< z#ne+ANN0BG9>dMZkd=AvO~{rSn{y@ool2bqaU7IsN1S_B)ra)RZt^$A07s1Y^tq-j z>3z-@3($$Yldh9)J0tY1{S^D{B=gSd!qIL`8Ktd&cEfhK)uGmoo!IYB_*uWd-upKN zcRW#M@*%V)7Y(mw{Qv9l_jDQi`oK#QzD3#T#2L&Q%#PRE(ec)@^c@#l+MQY&%$)`- z7_E8QCCbyk@bn=5+hcTHS>_qe)iCtdJ(0Y-Ym;5K)>B5h=;WQ&ZfoVP%L@2OG*r2U zLHTEVdWnN!A#vM0-;7WH(DnTQ@#h}K77G%c$}f+7EavZ5_wovL`Cicde*Q%dX=L zkUD&jxo58y4)$Mg#5l&xGqJ%cz3Z|*O7r|jp0z#`eCjJwgiXxa*WeDA%GsmViXZ-0 zytBS%d$wJ*gX1RPXeCCZ@y3vwe%!<=(}#JSA)66+PwoE+{)E<5?1!rk_Qn1U%VBE& z^g*u9)3g=gyXrjc>ZGty{=^(IukkR}P1;XbmYD?HxzjAIk3b%ytj86**Ehi;`HE-v zPdD9W{7O|x;-}%d|8#XvMQ_gJJRA8Tk)v+I5AexD>>(rEL&W{+#-IGj{n=RbD0T+BCL?hpLmtJr!7FVZ3LLj3Q)du(@08S%Wu zqqfgTg7X0R!@s>C#e5jnTmDQ3<+eyqiWd6-pK=$Z6ZI^gj_zk0<;EgCDSHr{cE^DO zzqOHzh31~$vdo89?OFeDr#HR6^!+B0Z4aA0yQn-Pf6YHH(tV4Hi`nxWWn(|m#5x83 zsAoLNEmUktbY5{EF%0|_;j)5nDdp>p?%-Si%B$=W%1VZnPbweIFTr=#*{Q{cvVQ40 zu>Wk+t2jpoT$OB~jLPc&LiqLm{t(S3foJv8%Q?n=Z=a`|bfEk~6HgBo#gQwG^L>0B zGbk@Vr|2!X@9W2(&4<<9y*FXs5a2a)=Q;OUepAk$bhdCai?Pa{m0z@%-;09C>uu1Z z3tUP6&I*Fp<9a48-s5s_+E~-6z8{mu;$>L>OWwoZ{kKb#c^=)hjAPziuCSfoipXcv zUT4lD#6Hpdr8YE1>0q7Nu5%h5foITL8#f=g=4D0Wrf(Y=o3XgGa>k>S zc@cg8taLtQb^coWm7KQ#y!K3ZeDL5~XL(uKuE>0a@2%J)8c!|XuvM@}Dvh7H8hb$N zvE!5Gp3sc+cak-p{CIb>#?$(4ExcHXuhHBI%==UC-`zrdY|-W9G)-Zw8b9|8RB8Nc zoi9qbdG5cMo8U2xV{UNr^wrU8A5uP6N3LRq*6^NxO)QtX+Se%D{hE5hMJu{gV{8C^ zVn{>cO?~}Hyw3Qx-)+v^fL4l0D>hw`Nq-IfRT5O2m^|-h@~m&A_}uK6Dl<=h)$ZHZ z`!DfbBaHJ6-X920 z;fGk1mG6&t%5}M@X#4_jJeM_YmCE)~PPBT#=%)j*?ZgL_ng1eIAw3>2*EI2mzA^FL zdH9>K6{k(0y|T!m(=~Uz^hRF?KB)DAQ)g-2OPl1GRp|Lwwtf2I8+kFm=2`Pf6FI)W z(_RYZ`Urb))sA@YP3j4!5Ae$wNZlHX>OMw2n^(MlWN!_+uAs)Zkv!{ysn zJD0llvmf+Ti^o*ASbiM%C>oN%snpfD@I`}*%FJ}=tgc4Y=>%}EXHSCoO!cSeTs7KgkUiqygdQao)Gu;n=9BNFGQE7S50x3~ zU?Tow+S>YYTW%6%nnLA@UAga4Zr8H=jlPm@lIds+c6mMvq*@|CJd7kL9 z&ROJ6b}`=@ydLTL0PZFyqnbBg|Mo!t#;#@0xxM#A__>NQm9$wjY$RvwS-*CLncp~L zgu9E@M6Z4)g-n-?TYYCoF*+(5o3VOi<@9aL4Sr73JS;uG9=yxXawayPmBX^kIlSvJ zyi=Arm;Y7vQ(v*=^#9eo!zZ*zw&PS&ZlLeS!@{8qadt8)(1%vb{BYo(Hmi3E7@ay}t69Rj70&Bwq(K{a&4X>&v_w%;dQ`2q6 z|E{|wbk<%u@#-KmhkFg9PLBk`%w1d^?{NNxa!=dvdFt#i&JXEmqJ9H8QUP=B!UydB z1;$V^RW>^7n0m%j9}POM9v-qn&(qyPrJ2R-Z8+l!J0JG^ zX3c~kh7F#;^id zw<;$ASlbxeFBy-%|1I==4r7u2)b~f+clDwAl8+}Vk);GBa zyInb*51E9Q-UnAnt&icQHqJ6jvJQJ&@8G3>=@(vllV7dTnDfk@fk=SgBq%p~7yTIq z($yQmTLbYI;W5cPvJbiEVgCK|1Nk!%#E;_lCi0=gJJv?E{374k7T#-aR_??H3vnPiy4>bTOv5qxE8FeKoYc5?U{Z)+xSU(@^|L!MB|J)EA+b zY#iZCw3e?|^v?U?tq*Ac{U^&dx9?|Bzl%PSj^5ZXMqb;%m*`noPd-Rb7t!C-Pc%N> z(M5Ko=qvi`yXOJbtEP<3q!r!1BicB+)$4p(=(a-dpj(rEq1$qPb_blZ<#<)C?* zwGAdCtl^4SGlgYj2Qq?jgPaWKzQKWVa%hNFUQTL0LQa-mY-zOwIT`a&vxm{67HxhSXCb zJP#!+hd7*hnHY*r`xMAZ%*o0^@G}^l6e}5u=RZcD@4D~nv=2hM3>m6H*GY~ee1Dzq zl8LiK2PYFvPM4jochKmI`h`ZP@T)kCw`cwi{{IHAlW$%3*IjwqX)dw;kMJEw*0-;m zam^vpZ8_@W|7JZN$$S#}i9XU%8_c`%%oN_qzV3pakD7NCnTfoUUm^vaN%o>{S!M$7 z6uWMv?%!Ec>I`A!glnCyn6%~^t?zV3(*V4?dE`N07YW26N2L}l--~+rNPNd{Qo=Z`51B!@}@c6+K{aEw1dWhoRRf*T-46%_l0pr zdFAH2Iq8|g`TTQ^c8W2I$M2%9=W+Q1rT1I(4j#Wvzwr32{A!-C^R>;@Z9-pIyvToN zb9TRZvg1wcUg0Wi4?P&d6Fl9KqHozl&HPE%T*lgfNc|OD<972!`7+k4`y@spnUm_5%%pzi7h5NXR~i3 zeq`b?>4@I*g3c)K$lbZ7?Wo|f?5NY3iDc764I*5R7lQt0O^%$YEDkKIksUwiGW53MY7PycfTI;t$w*8gnd zoImi-_|f$J4xaTJo)3LYqcj%mCl~~a<^aKRje{eBFFy>&0^hFj<&|Yt@GSZf!|7J8 zxqO}AB3CogsMG0p+OsGFJ=nP^fKkM7_ zbMTY3R$k>3QM;GAwzO9GJ96|YGV?cNO*q&>eqk>@saNq?$ycFs&(Hix{=AGJ8Kg(7 zANV{g^voJzeeCEFA%4oA&+#nZlE<8+^I8V@70=_&rsOdr`u8JvUiADpiE}mO6A{0a zgO3fhQ%#PM@)sqC!Ek&*_geV{w;dhG1IaJB<-3FS2IqHKUWHGK@ysYr#e^Drh)b}6W?_uYcMD8T?g5US# zeWbPRmS%!a_-7n-HN{T;;bA|90pGoT80!1zz0@DKm+xhJ`Chr__oQG)9|>O3Lcivn z(_#Ld$B+4jp4g+jJ11q(^5~yE$}=a0-wkM=xy5}mx#*_PaRc8CC|>}-(LIby^OoSb z2%jVTGdDH}j4CT$@nvguHYhsfWR))%r~35#5ijDN7vqaIInCyNi%xT9O6dZfnUX?( zOKU44Z7`!|ctUO5TU;k``8O! zg3F0jH&f;!{@;gKoW|J2njRh_$Dll;`!VO9VCX)`n%%iM;=4&`7I*DDNWEdSqjJ*0TN$(V zvES1*HQg9gr{l5ebStn_yEU5kZ~r*d{*#wl7}S2VYhN~$U{$+kEum6en8zk>*nfoQ-F^nI40dZA?R$U53P+;@(uE>2i}fnk4oRo`+Dlfn4c1|*ZDt* z{`#)oHwWnz{Az8_cs|p`co?tEDZw`Lw&Qic&D`A?QMviSqSvrNqn~T-PE6^#Gqrof zbk$cq=3sK7xH}|NHvvroXs5Yf@F}ij-a#Y16I|X#7(I4ncVFY-PwiS3^vCtzdm@s4 z0UYR@^gr{v?1|61oaqBhTyQ(G`vH6f&#mIm)<9R~m(9Qal%=a1qUn@)3wf43{TR5CJ-oab zdlVdikM0!w^jY3_fmh)na(>WR#+-EycXmZb*S1GT4{t9eFFr!w6+Hv+=^9vl_azqVunSp5nXpz>y_aP5EbCOTXC3-hxG|OV-S5LEpYWJ6#vr9M(6{ z$-+xRRd9yxdAMlFLEq3gHO44oy3UPrSz|PI4Bx9T4`4=hg`#oIw`{0*23VoH6kFm0QGJAe#w@S3%wJgyd)^#RMdKfY0 z#=~!rTxyI(j2U~dDr@c>C1-(t?gS3;_B{5rYmV`GPV$|eh74{iidC)VJj<{f$98(Jvu zeMokW&F|-w-sxb!nP`|~eWfugzS_!M6Qd37I}6B9^7!(y`W!N{8vF}aw}bzm&<6T^ zy=>KZFpc-)GiwDC-_GS%<3f?}BjV~X{7<^$W^MEO1^Z(=<|5NCB z0_|X@m_4mcANEyi-%~I1CGyZ6(07oSmY(MNJeJ>pKC}juT#HxK{jLq3aDzs??5`buZhR zb7d>Yp78VUZ03%}uGzVgV*9R^=USe}?zA~HW**`BnC+}5WaQ)Ly%Dqz*>YwMg!u5Hc5U$VjRpI(&Cz0PAs?YPw;rcv}3fJfP z;&Awo>k+%4hyJl`Cy&-2g1^?4p2 zu7Ap$TywZS&)0?P^PCCS=XrRz{^HrWZ-ndf{MB%Mp6?9T=lOj{PlLbK6LSsW`aEA4 zuFv!J;rcxP&DB2ven!qRck`}%ANf=4y4uT!U$6G(&+z^GK7aoX-`qdz0)toyFamN#%p7Of0}|x#%&IGl>n*#d-rfe*GNf zW^z|blzYzNn}?`%)k3PitDWY4qu(z@j)U{h06AOy)Z< z>3jcsd==q({qI@-hTjV({=EC2p?8>f@Y|3}%lbb;8?#dEFT}=?zb_)+0sVEIw7cSQ z{JnZtU%R_vG%+##eG<8Mqg{BG66sHtvhRk9Du+DlqA4Z+Q z;8PpxD;NhcSmipXjOtCV-QDtgo_7s$o}KV?HgIzHHphEFYjD_r&6-z!PiqXD80&7%E(s`?pTq5( zXzD_T1bDp&p2Y4NvW+)g8~-w6WB+lAT+ul$znl2QmdW{ZJGI~ATeEE}Ka!BmG(K}U zc)*V6mJMBlTHW^1& zzl@^>ep7pjzidFJwI`try&>HHk@Nf2Ru6&n3{?)0UE@K|FuJopK2jh;oahEf0$(ia8R>!~$4xV-RCb5`)pcUDK&%zGun8KShs z+^T(ORbEd@?lm91=*|ihOqx5)K5c!&w?p6E*}LtTm=W^qvlXn*IDhs<+FNux`U@SS zIc8Mb?v`I9Y(7z7VqxZ9y>991OVKf{jLG-w*L@ymTaUn3z&y~zpYZt@XOVe5{d?Lh ztXEjxx07-8qg_0Xr*Meh>N%FiqIo2Rc|^LQCK zma&+*OR|iPiJ@cE&pPc}0B_QR5vK=*x6=o~^I~+-YGQFI^i2%<%icJPeFqyZoNeIQ zz0HjmSri|t+=ffYk0h4s=^OUJC23DSsny^>eflz<2F05}fSF!h0 zd~Ej2={^AACB<1e;+x{*;9c5^^Y^vWX`}pK{g%Dfm+G>$~U8F#le4F**906_u=P48sP8PlLpA5Xz=80;(Lw;Um1i3ULLH@v+^KWm|lSY1a@tq95Bas zdpY=m!T)$`@8i4iXTJ&mlC=%MQvq*$PJ%vAa+WY8^dfJnX`Xlh0U@xp_BL0$pYU_!X--53P=}$3MwX-DD_9@0Mn1|8s zH@31miuM#!3!tms3qJKzs6*9Xxp)9uLF0M~y5hqjZ)ZGb1mZtr&*ri88Lk`dXDEFC z2|tsuJ-yxm-{N)Y9na@seE*9xLBf6Pfp2(zD11*1;UtXjqdo%Pp9eq50({RW=Rv%s zoRRJyT6`ZEYWt(`{ot4Xb9{T5%d(~v&Xq$u0OwE6$-NAGVSEh4dEUkjuZLwT-3E`m zewsbQO7mvr>F7*%)^b>$R~x=7&AirM*5z@zwe6>$u>L2>ChHz^zPPs|)TjDVEb*_L zTT?$hpa10b;fuevXJ`6n<8Ltb*yH_iCC#Ug?4IrNw(PzYQv8B(nfQh3#R9u_ zOd-fCPO8T~56>6cpJ?DY(yoc`m(6#mvv&>;7S;1? zb!=It6TiIt``H)m-De(m6S)foSu{8a<6rY-5?|P#?Y-y3H?;;~e?4X8KQMDHZ6=2Y z<}8IQ_vnS|3x|g9M-Iffhd&M;!GC8LYdZN4r=o|G4sR2nfpW`*!&iFvpZts@{BtAt z)ZD4~mf}(gjTagO{92k>e$fBnIkvxj+KfT#dipt7IjubZow-G2m5W@+A0AdyA9$0K zEKKiwAD9lZ|351DK5OMAIVqC<<8_YKp>>_%JtO}=Z=XY6-QS2?$Zl`^`p3^~o^xW( z8&exH?nKqYefe=BpW8n`ee%iLFa1~(e}QHMeTnho};r%-@=CRaTMRSe&yqw zbxD5xt>=pho{uhgUQqCSZRpwDkI8%>Sa0HNeE4U;-JRj@cV7C@-=E*h_x;#oUf90i zzvL^S@erRL5rQw^`4a`tLBaFXg6BD*X9Iti9p70)jn92=7z%#({Reyb{?Z`d1^=f* zj95R1 zcqzFXUk7)U8(#-@NSB`{vL8?Xk@H6a$xKN97Cwu=h$j%o)!avW#00Ycv%8}3UFx@X z?o@g4y7oV(jyr+<{kj8e7;(oU@>aPoQFjN#qUn8($BXL z*M>6&-CeP3S)_f}Y;!+ocd~MJuCIu_xS>AJKC%z_scENve{5Co{{Oaj;%5eLk9gtw zTJTio?&HR-D~Ed`R$5V|Gk)a9*F19)eT&}VwdUV};m-~> z;lsoKzPs;u^r+?m`7wU2Eg!pb+GM|M$1YOb8Q;0t*Qs;TzQ-Q&ZL=fX*BX@l{W$ql zxVs9!gyxuN(5&@o<__L#e$_kKK;$b_Dc*b|^NqgWqU={TM_I=}uiXOEs!gMK~M+O)oG4eQf( z%07ba@=CPg^&In^)(bitNbp`^qz{-R9p6G2)q zUoawAy=@EkzOw$2AIj3bEc5UM=o9=j$lt#;hsTqLr!Tv(ujMvl?^%EU?(^-rAHwga z&$V{Lo7g)le>L@mXU{vkmOX21Fk^E9|4Q~ru4T+|bd2b!aX-o!RQJ*$>gwAD`t)s( zt5EeM=d>t?Pwl9UAJIlD`!_E68u#)5m)6)l$WDU)br#I0ShH#$-@tg8y|ci|QnczB z@(QkCU$Wv{UDyojZwh`y;k_4_+d_E1-oP9lr?u@QZ^F4?*q=Kpw9f2eEkmvkyes>? zEHmA$;l&rR&sx6BmGh<`V@oae_8tsLwGMSQ#nT z8nte_&6UU`;7i4LltU_7v!)en;6IqQn3$jVN3iQ&vme37&<0q`Gnc@J$l2Q~OU~S( zb2xyxpSI!kg37L>FYM=z0Da_QeyfV{Z5sUXTMxZNE5UUP_*0y33U+uD9B*(&Dek+)rU~7~$LwzhAZ(oiwcK3}D~J z{#(V8>WRUuCaxg4P>z0IKIvXQlCM(>2@R)^o1!EYt_)fsZ7nP1@F7fj^-ba=d; z9>VK>1$d33`!x2U@mrcXJcQqvjj0Za-`>R*zv~WQP6xkn@b7W&@%s{GKB~WKfY+a` zVD(F9|N2zAg!=`m>^W=24)I9kuyD&PbS<;7R0k(9~P|E9aOSiIIF5| zbfa`VIviQMi}8=)S^0~~>y;jpo{}sbHJq64)Pz|_d@#Iaf@Ek{!=C50=I^{=&%08G_65eOcxogS7VmbzbBBhrs(8^05RPG7OCm z$kgxdo54PK!w>40w#>P5qV-|mP3=C4Ea1CXFP@OEXgzH`Hr~Ih%*63!+{e4Y&Pmhx zSN{AJoz2DEOurK{E5P9gW*=Kw=5gw3tju0US4qy+5wEJ1u5x-Y35|8;81`ECF!3LA zy5v@UYW^!c>*YPOhps%+c?@kAk6V=F{89BQAG_Mw>dvPpUw(tex{bd(?c9ueI0eYUP%7SHAfDM+WgRmU2}>-&}m-ro97Mk18KmdPg$wr1pMGw=;K>3uelQ z-|ll`R8D|$>xFyC^#8yEIv*|j@4o6|fptgG0adsEyJCjqb_B3pK)*T6X>XOF2@_#j-l>kGp>9;?3XwF1l;}i$nbH~RpuVx+d}Rp{-*AFo{i0e z4l(@5**?=|Sw0QWTgsUg{;qN3*cd(F^$&@sruY^f5Ahb$545RPA1~x8rf-CH^AAWY zjlbPD_f&_cDW9=;TFdT0LfU*e&}6s}BGslM{&y$2eO_Ys~|W)Y&SPMh@D^dy#Kj zI$k-(Db6GoO4QM9XmeYwicI69{fUPZ!PyM*fwJhoCi*2-jr>dirw3*(Dk@s= zdCrze@qV5;HxnFkPS+LW|D=c?c>FEnxfl8HW4)W_Fb-8-_}hWsYj3a#4<|8(_u_SN_jz922yg0a^`m$%o_vM!!mH?;KmU(2CGejq&to~f z!2DO$N}R0Mkxl^jUknKSp~%fpl-_iM90@ccCb zxU8PcpGT{>#c&7j!w%jsEFRW5A(+nMf5~PTrsH_`iq?$qjrw~Id~4tAlyfZ4#vRW} z_B}mUQD$$j&p8_#mb$*auiNw=)D7pP$sWn;CE52u#^-1+baWM8NDhCI^zvZ+!poWK zZURq_^ImhKY^+PEBcEjxbd*hH_Z^gF4#AGKIo!J%%d*&b-dE>w>Eo2_ z?+1_8e$rS@XDqFuv7AXizOK#+Reg=)P598aud~W^Zl!SV+xK<)`+;B99c1}sv*vxr zZ>lo_p0W1}=k=M!woT(UbG9A3owJKFRf37{DR4A760A-j3zhiot&T3`K0d7xtRIqn zRI8KdBFzoji!2$MeUa7i)}Mr*2Rk4CL$$um;2XA%S^M0N-XA~A;t_p*nes^SX*hgY z-YW)QDPnADTQZ^iBiSXg-J8%s@)`V*b2kJJxkBB2@5;ZI-{Tba0jX}do|nUou6}qP z@px5RqQ`fkhkQ1wGljk9f}sJq^e{X~8?ue0pDrTKG^H}J!{@e54Vp_<2Bo7)E5B2B zYf!5DCFX7g2Nw6@y@**i(2wyccs>kxzLoJy&%t9IDb8VS{ISiQ6fVnvDFJTu|0c#Q zp1=-cf40`oHYdQ3!_PJ9SKp)qkA!yUx=hmOxQfiU{j6<f3zf zRXP0ndS_Gi*G4|dGPf{R%UhM1X+e;?n7+I`=$w?nMQP=lQq?eNf29b>ODUoUI$;%|d-Y z$MH7)ksddBAca^k;Jl0^+UX(8GzozG`w+I%Ck) z!ju1gy!15pxBD}zw+hGT0dPF6S^5Wj^Q^pv+!NrviD$JF=a+b$IkQB$C2jEkCdxPS zev*4HKC(G0_E-F;Jkz!45sgQ60?I%8KKr!zeMGnA*4(0&p+0eeS4o`0D43h8F}8Jx~^{2VSD=0U&aWe}zu$ot5YO{sTL|n>clca$q&4DaTu0X%Nl$8+jW!B$F&o7T&79$}*>)gnd2< zo_6^mpMGg~%i@E;=OF$n(dp`tzSZ*$p=W>Ri~L!h9^PJ;KWhj4taAx|i7ZKWH*uGV z=04?ior`ZXAirOJ_<2PKmT1kpKX*NS0{qFREL`e4b5fP``XRg*P6F`SijMvO9P9f5 zuDooGy{(hWDXV!x>r>%f_8u`(w=Nr>8Oe9M_SYOLn%euFTfvpft*x84Q+De9nO)E* zUv_^}b|LHfoxGRc@qJ7}2AZLHHMmoMKcT;XXZ=83IDDU)bCGT`j zav}eMs}j${-{Fj%@VNb%0N$^mvh4RWb7noVF)U{9#ckk!@n{Y5tMl<9=s~{c=1YD! zD=6jV8d>r(81@wydQ(UGqK|m`3D9`qJv&=QTu-hnv=yGQhf8G7HgTqw_~J_PkBZPi zUAm`juP4|0csrNpz@Yv}VywN`0E&kyhB*g6&F0V;|ID}F@NL(!hfF+A`ortm_nz=~ zbn89?{7ubuAFS&p5hu?hAAku~|c-{j66=|^P8$n62V7k>)&8H}ev(e&yo(ec$aAfeAR_+oM?#7rq zdrC830GF-N?bDai&OG>j=Za{$_g3APd!Xt6H}oGHE}OYL^KbrFT%`F&gZQWV{p5cz zv@OEtzk{}PPhBr@7u9b>-j*S652;P;gslriTit7Wj&vG z8#*6zvwd}8%b5A&bC!;4v2QlPkBgv_>S|pi{QTm-*}sXr$&VNPB6aY0zrK2>iBEPh z_N|vlmUQkP@j?SLF*GL^W4Kqh7kCvLl1ylhJQA7ExH1ke$AK5o^+)Gfy52|(C;}d0 zz#uzq7WSFqHiG3&U=bV*r?KAy7>FO3Gou^%CK!6bo!V}>8Cy{IwcoA2Cz!rVT)%?h z2Ktr{c8iHw89h|8nf_|P<#yIzMh9`{o^Xthq9uXu&Zs;*DcM~a!(N8BYghvbk5j;z z`n}TOeQl_0F=dU<-j&_omA%ZB)p;j6Z(<6*`3BYqqJi4n*OZ%(nJ@iB+ZVd>nu}F_ z4z!T$`SL}SpYOh{13%$!JF&sl#;LB2rIZt|=r8Phll;hTF2@E7m^1p&)6(lnWJo&y zx16=~HfN6A@Etp+#yG!B?Vd;c!RwFuUdy-A9}jTOqM%Jif z<^c4OnFCIlojdDw=#L(XqvQM>@EUzH?^H=Y?GLWj$p4QWt$bR+M*HTzx{Dt$`oZiY zItBeFT5e4`UCbIO;?_w&1y@mYHTDO(vpf@kGx)&95lk+=-Or)=;sfzRm={#9l{RE= ztBmNcGGQK2nHI`u|E~VmuW9cB2M@C7;nDXSDeGf2h4d0#G|x6b8`)bm<-y!5u(h7$ zu2e%e&JhgAw@LC&`c`Ysr{+nH+nz# z2{%U^P=nHx- z7zK3`XWnUQ$a@U6Hs%R5!GZs| z`%3;U3$xMJ&he=#zwjGLUj!c>W?ySQdav?lzZS| zxRE{cs&_Ro$R_k-`u+R%y~dG2RO{;o<_y723C|CmE2eJhNbMKC$|$BcBg6Tjvy#Pv_Pm>i1|9 z|0>Ni;4=w^ZJ&`ur{BQ&SS!H2=7?J4NqYTezRO-slz1D#p7&D@|7W>>7ymJ5Bx_E$ z@4IPNdPyQR4EanKN`3v~d@16SC3E+DCKQRPpl7oWEuKc;%UYS(y4`k-L`t z-pu##L$_>wKkk*6VKbqJYMd^*89X5WbsE>pL$sl9l9xNbZ_iyYdX{#tTW57N`m|&A zj~(pj)K`n-x90w7+MUc_lzUjPAxoCtW6PWh4|!d^__N$GQ(zkv>gyPOPvPZh+Lq3h z?Y9-Ys1L7uPo{t77NdJFx4QS4;)QwL>&L6Hp23*&`nN1o%{at2;zj*ZrsO`0vuAW> zqWC2$-?+n>z9(qI&B4#C!?&d}4a}?IGBYT1hihjjJ^m@mNbf?QXNJ<_2UAA2lFH1- z@20+L@$-fII*>BgQO5GGi{ChZhS|4ucaX+2k{k91OM|C{Bi6b2YO136rF!tQif8{9 z`&D?%^6kP~Wfw3nnLQoW7iM{7;JdJI!^DeBY#?Cm8Z1)&to%>!ZnNv`E@)j(K5OY? z=z46;=byGVbr+V8-#pql9!jsRnb}ss2k2X8cG5fi5UF;hWK7L9cgY{kLGfGZN)jdJ~U-~wB zr8w9S`*NyoqkG1exuKQkpYwbM-@ACuR+Ash^Qk-s!-EY;o*(AylFhAc-B~z%cU_1H}$}K3x0qu z?msi*3+>zSW#Ygr|3QH7&&N|$w~hCTttGe*RBJI`zK1b4?I1L{UWuW>#N@E+o4aD z{}S(|JG4(rYeOp^kM`?#>2}!?iUCWnO3&N;DU*ln@=%Jaeq2kxv7ovY9h@Quv=x3j z2%T?y#|IF%=Y4e*IaTa$45plvdv~kl>m<5gI8)o&J9+bJbU$)D0U6dBYb*KQwfH9D z&?lH2q(8Gt_vcN>6i>Md&5UaKtYqZa(}%h8>=v8m}zz>$2kG)?U+Eb;snWS@#}D`PjeuS|n>J$~Pbz{_G5`Dbd^A z)yP2hB<3FYNjWph`~2_@`Y#F=WSOh)!mp&dU!*SUQ*`iw3+^ZOsCS>^ot~56C{{GK zBztwxc}MB0>BkmTmfW#VV){!JBd2Gt#-Bl)?^xoa$w{o2>GSVv(GQF-g&kh)=8Yrd zqh~#=`K54f*>bnlYh%ziDdva-W0kC*iaZDV2i3|IlYb;TLpsmqS85%hHAJG_);$GV zOXWnv2s9M`qVKx1ugX?%acgW!pMSP%*>BApYiLe<;3{a|I^6n@6P3VC-Nn$P75#bz z>ziiILTm#kT62n4;vvNbrr-zaqRdjhxAI=Rv=Cm6Q6Ju^Q`wt%UU!sRb2(p#<^#C zqxH0-hx+t1IeITN@iyND$X@VT-!%Fy>p>L%YR9ycD(B~Pz75v`bX_heaT}9^5x6obil>8LmJsV!zB3w?$?0AZPSeL0i z@s`>%YkJq-2shT_Xfq3JeJ2IET6`5TVzqId7l2NPuR9@kB)p-#iGQAj%#KB7i39Kd z=4mtD<(=?R7^~_+H~;(6-7Sal{jbzXvFDe46&+nS#Fod^Eua>f=TF5UobLGP18!CcIAmgDX?y%B&l2%gDa+?flA> z*}>VQcK*oc$7o%w`Q!E1U2Y6(TB8p-PRe~_i?xpvddD2q%${4F4V$bB+NBd%8|J>r zJLHX=i9~KQ&&r*7{7w0<^7_WdZ}d+1d5*qxR*YcLU%+}!f1BU*@NMXy-vk@$4Auqa zZZ-BOM40DFGb4ymZ7@8cctL4qE&uu;W8Ie=6P_T_{N_~y#JZJE9QIM$21uHg|=IO zzB&vUQx0C6*3;l39J_lG{n7wW)dQzsGcq3RpPohE0rUu$wfr$Ko<{qfvWt`K-&5NG zu@9q<3f4W%x~GS6d!KNU`A&G%oEGD~=+K}0E&qXoRqZ9QpMS}mnP5*JFbyc{Vcsen z0=M*8J-)(yE&O#lYsi1mor~>?_@7Y0{#-1z}h`|E#4g-80Ykx|%XOKEX7Tjc;@af@ym|H~KD`~s8wCI!B#vt9mbIZcsr)wTAs1%HNKT6*#0+bo^tawI4OmkWS ze5Im6=heuf%0!8&^s+Vyo;xx3FlDtrL2;JENca=JY=u9&nExcJm&~Ot_JerX&6rNL zW0D-acJc0(Cg9LmG_F2mc5mZS-qIxI5Z|Wid0u#q_V!jk0M;hz^pew$&dx>HKR@9d z-7UU<=KK3`p1a1!em#w4QgL9@<18M&FrrUwLNzZ};B! zO2%&VhNGp2TW3V=4enbT%v!$US$c?Ht)P{QXEM#B;6D*&#n?KFE2gRw!!3d(BS5qMtyiTRXk1h(_vz!t*pID)-j0dd(!qtW)MjL+tW zj?Xk5M1JY_oNur{&SJ-_@lB(RR>r|vfO~oDdR{P{!+78RA#3CbtbJM6zmC14ejb31 z;_*0r{1kgX#rmR^vu{%9n5QYPem7D_@tk|%Vd*yJdHCYFdw)5?u9_JnBi z0%vro-ksEwjE421r;+;NUI61$n5|rqg!NbdVU30FCVcOAgDc@&Wrg$k#QcOe;VbLL zv5@;XvgBrL2ltz~lPUuKXM%6V0FuNp)rRy!xDC~R#??Q97*iJ7N>BEHzhi`Bo_Eql z_7jPmXs``hbV{b7=ahP@GyHhJ&sc>k6YrJGYaak})LP~UUq)jPudbr3d=WfDRMZ}IJ$A&LocV~MeUy3JbO{RHQJoMVWT3=c@ zZfhAR$D+4jmM%5APVo=X6aI)}+X}y;RRB)CJo)k(!wklyvC3|I51fx@JntzVi@t%Y zu9G`CTDdDn@+RND@#9J6Vpis)AB;|5ZhE4mwtYJ|(*6OJ)wphIb27>I?0MvY9+|2$ zd&$7jOz5t;`h16*6t;`nkj(iuzUk^~|6VWkg_A6}5nk3Byf9z?!0HThehR!Ioczl1 z<&&Sz^JSakyca2T9LKglLUT+ZW z;3>u2J;veajd%Ly>I@daG#}oRed7B{(a+cT=G&8hQ8^>UpRwiI+}N(7oMLG{r$D@+ ze#9T*mkRhpx@HFZMP&CTS&xYxF@9UM4re~rxXQ3Qw3p*&b@}{yjZf!&h+j@s4jr_7 zfbYlx`wQ%T1)po#L0hS4B1bIW#IU7T`^K`4aJu#t<;3x>4IK4xucc&KGUCVQ^9aQM z!hi9V7XQuAu?_p>IL4{=)P`^KcdpGFU7KoeJh(o&O8k;Pm(%iy&H1>`2kLZ?LZHtfBp$qNY1HLCaqJa>B#0;Qs|;&0XZs?Vz7|=x)Wm$m6S; z!`_4j(TBL#!tdI6nBFHR1!?VDP`vCC-oN<8XnSSxDzgt!I&9uu__oo#F>K4fV7q&lwC@>{jvA!(P8m1^vB#VE7S**ynj zHp4F;r;M4$v3-PV;ra2e+VQJR_S?_R@=fiEUqxS?iE<*$_ zz2Da%*mU1OmigtvJ9oBx8@@X5I>`@vqV}_N9ag}X=Q@5^2>yGZvtYW_@!vw-NyxK! zRpWVy_u@g>9ajaxhU8I+PIR!=-K*x5SzK+F?F3xH;e`%1=86rsy`86r@`uGQ4}cHR zRrI~g(fZqNti||Ug?nSyxb{9zd*mLN95dl|Hn^QbOvuwmeb!J$xxESUFoZ+>Z|DgP zim`iqdovttfh(un*()#RtPAo#7Vu3nr}~HRJ~_O${g=RO@C?i<*FYJ`nPf{i5?;NG zDHm5f{WNP%)tSz>*0=gLi02wm&z(O6z4hg2{rH}+^(CrTZ`vd+OGzVfvDSN-mmwEI5A$w4#z zng-sfzczjao5psvgKZ|T39hrY+OZx=8E;#9{VM;BwKMU#lD8Ha9pu)cgS1~eOAM+9 zczQWMEDr6@U>?EeYW52yD5H5mXQTam1vD5R6b+r#rgO$3nR>+rHIEjbn7jBd$Qd+g#hyqIFTBe2 zCwwQ78?$%9*^S`Y_(SBE4wy$af(Put+%?Ff&U%Z`r|PI~xSr-VU*{p}Y~@Zdt<~!t z|9c(q9cU9UcJKH0@3mK4{O!wM=gN5<9490;E2n>-@c(9l`>Vj}Szc)KouCwzM^;{#6e{H|c;o8<+?R`YQ= zVnQwYwuA9fzl294-1{G~r!z0R{fcMnOl}Z12xl(6 z2ENp{c+2-|cn(-z8-@;|1WWG9v^je{r|sb5*EP)2@t?2GXWQ(;KmXVWU>GP zikQUKu9?XsKm-CL!GijcA*5FyIYW;jHwsx;!ap^~G zOTi@;%=h`a_x+xEXN;fr_t%fdBfRJC=bm%!x#ymH?!A%)LuX3hizS?xKFYpp&Lmj9O25Z|yB2IgCCta-58=n7)ypz<^1S9$~FO4;J zT27z5<$0qQN;ld%-`sJl`^{E{C?|NvAlF3q7Wx!$`!yT*-hu|g(WWDeYj8d4lAM+3 z#>Uog+hN+k#w|Lu@s%Blb>iL9HH>}_Uc&dz>UxR0W3*>RTRRb|L%u@$>Q{hssoMK) zX8e&hLFYBao41l~Z5X=OG!H-8{3Z4rL|$qYY36Q3U|{S*BXnZogcAoE{so(Z=Vw)F zveE39ryFFwnv{9=tf%KouvNewBQ}r*!&%{y{P!Ltn`?*|a=5i>60h znr`vY^g#7Tn{I-pN|%qNXnx3-E?wt2@<^vso_(6bl!rOY%{S%(w>@7z!TnY8ZY9rN&Pm9}OmJ_>%Cn9bM?82#-(&3HffkhlNlq~xnU*yRhIOA%jP)(c-vba}f2*>?o_9Nh2IZfo3m{_y5teY=waRxcnn*wkt425KgPb3#+seWpE0sRupb$h>0cPU zyYlWp1lW(d{Tp*}22Wm|V$!unv+~>e1DSnG_V@zm$9h`<{o`mJvOa?RilKwPz&g7I zoihX-{60mJe;2N^eq!?bI)W@MWK9wPpMpnl#ydtN&!SDMv)Q{D)V6K^QJ*|TAIa%! z}Js-gXMA3jcev9~$e z-jV$>`yH}l{C+oUZTtu&`#OfoW;P-<4u1vt>FT%Nmhr}ob}ez*V9DAMsh96Ea>|_V zcv1K}97u{@CHON+c09_yD0kGDdUBw-=q}yn*KR#`VYArt7wf-Z@GAEO@Am_O2xDKGxoepmeAasoD5L-fC=c1*u!O-$48mjOaVusuYxZ~_+I&fuHGu$p%6V{J#B%{!IF`Ob8?Hohtc)=Fc+au zc6DN-wDw4Q@8PG>liHXYxE~W6OH$g-_KxiSpU731;uEcj3XS zFT3y4-1?rPKJ67LUn{l%jTNry$uhJI)0jY2UYOoUYHr<2i-9a?JIIjA2a@-b}eD|{S)W{#(oz;zTrod11ty2 zg1VFEKn;84g7GkL{IbKn7YhD!kjpR9_Pea@H>|OGNGJD5zsB8Xg5NI>ehxlDr#lm@ z&ND1^FJb8t%I7dv+fM&rat$!3Y|Pk9hNU8>Mz+-yMRu*m&KMc`!Q`EkKh7MWGMm4K zti;Z=?sO-)`J&w=*hW*g+ zo9a2fuyotk+`2}e;UvFAJ?{_bcp(4Q{0FhGytN)5iW%KGN3Y_$E9gwo+D&(SwheZY z>w}RghjT_3J=E8kvc9kTdjP)&xW7+#rhIGdiB0VBCcE*^`U~^J!QhB_Z9!*4c#v~l z5Z`IZzGd8Hef;uZ@<@)}x){PadEG%G-F{f=DEqXEQ<^{iE#jl-c@vuVkFjv>Z|AD$@n{gwLE2aWyT(Y9pww7nzXIqmBfq_$j^sQ6v0rCA$ic4FjJ+fzxG zoIHrU{Tyr70_fKlUO3LY_{^cfd2kuO|~~rB8q#*}44vxrp*QJ8Q<@C2pU=l|RpD z@@OB!%7u|dE!b|_>7SX0uoWNNG;7-%@WF|ke(+eoRO`*7Dg{qnPM;Ulr_oNI4Y6RK z4c8$DUOQ_xJ`M%&h3;$Ayg4kjm-KirXTu!Q4>SLi=M0&rJYISk@%}NX`Bmi{=EWo2 zU#v3~{``~4kNt8=6yC0Zr)!5rrZ`T{T<9<*J~A?;)XAOeIKcs7;v6S1z$tJBk2;aF zvR!y*Yy{x(wR^*F9TMNW_b9CThFN>3CWF`SfQu0Yk$cdc@DZ^4125ioVv~5<%U|#2 zzmWW*&%4-FMGwx4AwvsNxzJIv*pKJuxaY%@wbzsH*Ougw?2w|`f#uIF6{jr zJ0GxPd>m!*nE=PSm&2TYO6xcY_$`FLsOpw3p|c$qnttb}uSo0L&P9n`qRk)Br)1wnj&=PC{Ob2F`FgOQ;9N6z52c<`-K71Op%v>}#;w-u zF>tYtxvQ2j+{(N*2AydO;TYjCI#&r{*;Vu>A7T0LZ(*!zt~}`1nd!rPXw4ke!^hCf zW3)pX=58@(5Obzm*Aey%yt>w9)pdof>p-@@;_KkYgMBx4*=K=Mf91fu8CbFV?0A~5 zXCDH7W1B4HTTT4W>Gy1GN%&;%*sVS?ZvtD_OzeRsOk6u*!PpJlQPxY{_;(&ePbS}v zy`;w}GnzcYlUIgzdf-WWQC{ELv-*~sg(u-m?TtqFQhl8{{fc64ee(UT299>&G$vtX&<{A7Ts$M;&UDIP}-9 zFMDC)+6dF<9=IKi{!D!pYhBpIUnMTyeomP;sONmrTC(uA-U}NY-$~Q*Vd6zg^~J-H z>Q`8Ei2ekd@Uh3m$8L|$h!49s$?bs?Yu_~YrT~-OO9-Ue7}rtSYu$)X8)N%&+S$lB zls+rjj80o|A8BU2MZSKV*<`LLau|!s%Vr*QbA2L>jnDeHtNe1x^_C|1z41ZYRrK+I z>8o&#Y_v4A_HFroS~(d&P9h_ak73%Cy!;gX?`Ci2dh$%b4rHaO91#xLe@VA* z_AK_9HF+&M-d@hhXphF+BgHyj`(m506*!znPLMtXnUFvSgx)*WfulF^^HVrQod^eyPcH$F# zSsQ|@HrAEq?$krz3_m)}zoNBlqa!_9ljlunJqq1W_m;`VCYla#=aRedM^X4a-Q6d9 z8|4SOWjoPt{^NdIR`)b0y%|0cO&ZtYgF?SL@WWt_t!OKD5BXxCv%C~XmIkp=Xg+y- zz{lqq&mTqY3jR^8&XYIO2Z!_LD%0D%=r8kv3u^*6766CJ=zL*slInYS_ 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%0Dco;6X~Mw078u4kH+DaV$JsB84@ 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�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

+p1l&*A9?c%S$o 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�=Zd13bTmbI*t!+<6Vp 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�W%*G*3Qx5r=5@!D~@t-s>=sw*$) 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

tS6^D)=k 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
Yd{uvw`EV&e4lO@dIG?0Z{eSG8 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
g5I{awx+KA{g{uJw2QPtV;Bz*3x=M5ye-C&! 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 z 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 gh#v6CUINs^}^Tykb=j<8Z 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 j{r~X}?MIP*58r)RyM`S{9~#|%$#r`FV@8Pg + + +/////////////////////////////////////////////////////////////////////////////// +// 编码相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// + +#define NR__VENC_CHN 4 + +typedef +enum VENC_CODEC_type +{ + CODEC_H264 = 0, + CODEC_H265 = 1, + CODEC_MJPEG = 2 +} VENC_CODEC_t; + + +typedef +enum VENC_PROFILE +{ + H264_baseline = 0, + H264_main = 1, + H264_high = 2, + H265_main = 0, + MJPEG_baseline = 0 +} VENC_PROFILE_t; + +typedef +enum VENC_RC +{ + RC_FIXQP = 0, + RC_VBR = 1, +} VENC_RC_t; + +/* + * 最早我们只需要支持H.264/H.265编码,所以数据结构都是根据这两个定的, + * 现在支持MJPEG之后我们还是用这个数据结构,不过图像质量只取IQp,并且 + * 取决范围为[1, 99]。 + * + * ***注意:H.264/H.265的质量参数是值越小图像质量越好;而MJPEG则是值 + * 越大图像质量越好。 + */ +typedef +struct venc_rc_fixQp +{ + int IQp; /* RW; Range:[0, 51]; qp of the I frame (H.264/H.265) */ + /* RW; Range:[1, 99]; image quality. (MJPEG) */ + int PQp; /* RW; Range:[0, 51]; qp of the P frame (H.264/H.265) */ + int BQp; /* RW; Range:[0, 51]; qp of the B frame (H.264/H.265) */ +} S_venc_rc_fixQp; + +/* + * 最早我们只需要支持H.264/H.265编码,所以数据结构都是根据这两个定的, + * 现在支持MJPEG之后我们还是用这个数据结构,不过图像质量只取minIQp/maxIQp, + * 并且取决范围为[1, 99]。 + * + * ***注意:H.264/H.265的质量参数是值越小图像质量越好;而MJPEG则是值 + * 越大图像质量越好。 + */ +typedef +struct venc_rc_vbr +{ + // max_bitrate单位是Kbps。 + int max_bitrate; /* RW; Range:[2, (160 * 1024)],编码器输出最大码率,单位是kbps。 */ + int stats_time; /* RW; Range:[1, 60],单位是秒。 */ + // 这些高级属性不再支持配置。 +#if 0 + // 下面的参数在海思里面是单独配置的,可以不配置而使用系统 + // 缺省值(或者是根据码流以及图像大小、帧率自动计算的)。int src_img_spec, int dst_img_spec + // 如果全部设置为-1表示使用缺省缺省值,不自己进行配置。 + int minIQp; /* RW; Range:[0, 51]; the min I qp (H.264/H.265) */ + /* RW; Range:[1, 99]; min image quality allowed (MJPEG)*/ + int maxIQp; /* RW; Range:(MinIQp, 51]; the max I qp (H.264/H.265) */ + /* RW; Range:[MinIQp, 99]; max image quailty allowed (MJPEG) */ + int minQp; /* RW; Range:[0, 51]; the min P B qp (H.264/H.265) */ + int maxQp; /* RW; Range:(MinQp, 51]; the max P B qp (H.264/H.265) */ +#endif +} S_venc_rc_vbr; + + +typedef +struct venc_config +{ + /* + * 编码器属性 + */ + // H.264 or H.265 or MJPEG + VENC_CODEC_t codec; + VENC_PROFILE_t profile; + // 输入图像不严格要求,但限制它的最大值有助于节省存储,通常我们直接设置为进入 + // 图像的分辨率。 + int raw_max_width; + int raw_max_height; + // 编码输出的图像大小。 + int width; + int height; + + /* Group of Picture + * 严格来说H.264/H.265的GOP除了帧间隔之前还有其它一些属性,至少海思的是这样的, + * 不过我们不留这些配置了,只配置关键帧的间隔。 + * 在海思平台上,这个值实际上是在每种RC类型的配置里面;而GOP则是配置了其它一些 + * 属性。 + */ + // 关键帧间隔。对MJPEG编码无意义。 + int gop; + + /* + * 码率控制属性 + * rate control + * 在海思的平台上,这一块相关的控制分在两个部分,分别在不同的接口中使用,输出 + * 帧率虽然每个都支持,但出现在每个类型的配置中;源帧率也可配置,但这个配置会 + * 导致一些奇怪的问题,所以我们自动内部使用发送给VENC的帧率。 + * 这两部分,有一部分还不是所有的类型有,用起来比较麻烦,我们统一到一个接口。 + */ + VENC_RC_t rc_type; + // 编码输出的帧率。 + int framerate; + // 这个是指向一个S_venc_rc_fixQp或者S_venc_rc_vbr的结构,根据前面的 + // rc_type来确定。如果这个指针为NULL,表示使用库里面的缺省配置。 + void *rc_param; +} S_venc_config; + +/* + * 编码帧 + */ +typedef +struct mpp_venc_frame +{ + uint8_t *data; + uint32_t len; + int is_key_frame; + + void *priv; +} S_mpp_venc_frame; + +/////////////////////////////////////////////////////////////////////////////// +// 编码相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// + + + +/////////////////////////////////////////////////////////////////////////////// +// 解码相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// +#define NR__VDEC_CHN 4 + +/* + * 两种发送模式。配置为FRAME模式,每次发送要求是一个完整的编码帧,而STREAM + * 模式则直接一直发送即可,应用中可以不去解析帧结构。 + * + * 注意: FRAME模式输出的解码图像帧的PTS保留了发送时的PTS,而STREAM模式固定 + * 是0,这个是海思的MPP导致的。不过目前我们解码基本上只用于验证算法, + * 所以PTS影响不大。 + */ +#define VDEC_SEND__FRAME 0 +#define VDEC_SEND__STREAM 1 + +typedef +struct vdec_config +{ + // H.264 or H.265 or MJPEG + VENC_CODEC_t codec; + // 编码图像的大小。 + int raw_max_width; + int raw_max_height; + // 输出图像大小。 + int width; + int height; + + int send_mode; +} S_vdec_config; + +typedef +struct mpp_vdec_frame +{ + uint8_t *data; + uint32_t len; + + // 如果输出一个非0值,发送接口就使用这里输入的值;如果输出0,则发送接口 + // 内部自动生成一个PTS(对于STREAM模式PTS无效)。 + uint64_t pts; +} S_mpp_vdec_frame; +/////////////////////////////////////////////////////////////////////////////// +// 解码相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// + + + +/////////////////////////////////////////////////////////////////////////////// +// JPEG相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// +/* + * JPEG图像 + */ +typedef +struct jpeg_img +{ + uint8_t *data; + int size; +} S_jpeg_img; +/////////////////////////////////////////////////////////////////////////////// +// JPEG相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// + + + +/////////////////////////////////////////////////////////////////////////////// +// 收流相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// +#define NR__VIDEO_CHN 1 + +#define PIX_FMT__NV21 0 +#define PIX_FMT__GRAY 1 + + +/* + * 海思平台上图像均采用NV12(YVU420SP),所以这里不设置图像格式参数。 + */ +typedef +struct mpp_img +{ + // 我们同时传物理地址,这样如果能直接使用物理地址就可以少一此处理, + // 而不能使用物理地址就忽略它。 + uint64_t phy_addr; + // 数据格式有可能是NV21或GRAY,具体由后面的pix_fmt来确定。对于灰度 + // 也确保了指向的空间大小是NV21,只是灰度数据后面是随机数据。 + // 这个实际上比较理想的是直接在收流部分把它封装掉,但因为这个项目 + // 追求极致性能,而有些算法能直接用灰度处理,所以这里只保留空间和 + // 给出图像格式,具体是否需要用memset()来处理后面VU部分由实际应用sample_vio_sys_init + // 根据算法来确定。 + union + { + uint8_t *nv21; + uint8_t *gray; + }; + int width; + int height; + // 图像一行的实际长度,如果不等于width说明有padding。这个是图像处理中 + // 常用的手段。 + int linesize; + int pix_fmt; + + // 这个或者增加接口通过priv来获取也可以?但使用起来不太方便。严格来说 + // 在图像信息中增加这个时间信息有些怪异,不过目前我们先这样用起来。 + uint64_t pts; + void *priv; +} S_mpp_img; + + +typedef +struct video_cfg +{ + // 这两个配置sensor的属性,配置为-1表示使用缺省值;如果有多种属性可以 + // 选择的话就配置为最相近的。 + // 具体内部的旋转等,我们具体的产品上做不同实现,目前在这个库中封装死。 + int sns_w; + int sns_h; + + // 输出图像大小。 + int img_w; + int img_h; +} S_video_cfg; +/////////////////////////////////////////////////////////////////////////////// +// 收流相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////////////// +// 缩放相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// +#define NR__VSCALE_CHN 4 +typedef +struct vscale_cfg +{ + int src_max_width; + int src_max_height; + int width; + int height; +} S_vscale_cfg; +/////////////////////////////////////////////////////////////////////////////// +// 缩放相关的一些数据结构 // +/////////////////////////////////////////////////////////////////////////////// + + + +/* + * 初始化平台的MPP功能,分配内存。 + * 或者增加一个VB配置的参数,可以由外部来做一些控制?不过这部分目前还没有完成 + * 摸透,具体什么样的buffer参数还没太想明白。也可以考虑用做一个缺省初始化, + * 后面同时又实现另一个带参数的初始化? + * + * 参数说明: + * 无。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__init(void); + +/* + * 结束收流,释放相关的资源。 + * + * 参数说明: + * 无。()获取到的视频图像, + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__finalize(void); + + +/* + * 配置调试级别。0只打印错误信息,值越大测试信息越多。初始化之后 + * 缺省是0。 + * + * 参数说明: + * level - 调试级别。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__set_debug(int level); + + + +/* + * 打开一路视频。 + * + * 参数说明: + * vid - 视频编号。取值范围[0, NR__VIDEO_CHN]。 + * vcfg - 视频配置。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__video_start(int vid, S_video_cfg *vcfg); + +/* + * 关闭一路视频。 + * + * 参数说明: + * vid - 视频编号。取值范围[0, NR__VIDEO_CHN]。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__video_stop(int vid); + +/* + * 对于创建的不用回调的一种视频,主动获取一帧视频。这个获取的帧必须调用rw_mpp_free() + * 释放之后才会再次调用获取下一帧,否则获取帧会直接返回失败。 + * + * 参数说明: + * vid - 视频编号。取值范围[0, NR__VIDEO_CHN]。 + * ori_img - [输出]原始图像。这个是直接旋转好的图像。 + * tmout_ms - 最大等待时间,单位是ms。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__video_recv(int vid, S_mpp_img *img, int tmout_ms); +/* + * 释放rw_mpp_recv获取的帧,参数使用rw_mpp_recv()的输出。 + * + * 参数说明: + * vid - 视频编号。取值范围[0, NR__VIDEO_CHN]。 + * img - 视频图像。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__video_free(int vid, S_mpp_img *img); + + + +/* + * 打开一路视频图像缩放。注意目前只能缩小,不能放大。 + * + * 参数说明: + * sid - 缩放通道编号,取值范围[0, NR__SCALER_CHN)。 + * cfg - 缩放通道配置。 + * + * 返回值: + * 0表示成功,小于0表示失败。 + */ +int rw_mpp__vscale_start(int sid, S_vscale_cfg *cfg); + +/* + * 打开一路视频图像缩放。 + * + * 参数说明: + * sid - 缩放通道编号,取值范围[0, NR__SCALER_CHN)。 + * + * 返回值: + * 0表示成功,小于0表示失败。 + */ +int rw_mpp__vscale_stop(int sid); + +/* + * 执行图像缩放,获取缩放后的图像。 + * + * 参数说明: + * sid - 缩放通道编号,取值范围[0, NR__SCALER_CHN)。 + * src_img - 原始图像。 + * scaled_img - 缩放后的图像。会分配底层资源,需要用户及时释放。 + * + * 返回值: + * 0表示成功,小于0表示失败。 + */ +int rw_mpp__vscale_exec(int sid, S_mpp_img *src_img, S_mpp_img *scaled_img); + +/* + * 执行图像缩放,获取缩放后的图像。 + * + * 参数说明: + * sid - 缩放通道编号,取值范围[0, NR__SCALER_CHN)。 + * scaled_img - 缩放后的图像。 + * + * + * 返回值: + * 0表示成功,小于0表示失败。 + */ +int rw_mpp__vscale_free(int sid, S_mpp_img *scaled_img); + + + + + +/* + * 打开一路视频编码。 + * + * 参数说明: + * chn - 编码通道,取值范围[0, NR__VENC_CHN)。 + * cfg - 编码配置。 + * vid - 是否绑定video,传-1的话需要每次调用rw_mpp_vend_send() + * 发送一帧编码一帧;而传入视频通道则自动绑定获取数据, + * 用户直接接收编码帧。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__venc_start(int chn, S_venc_config *cfg, int vid); + + +/* + * 关闭一路视频编码。 + * + * 参数说明: + * chn - 编码通道,取值范围[0, NR__VENC_CHN)。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__venc_stop(int chn); + +/* + * 发送一帧数据做编码。如果编码通道绑定了vid发送会失败。这个没有封装为直接获取 + * 编码后的数据,这样更灵活一些,对于绑定了vid的视频编码,直接一直调用 + * rw_mpp_venc_recv()收帧即可。 + * + * 参数说明: + * chn - 编码通道,取值范围[0, 4)。 + * img - rw_mpp__video_recv()获取到的视频图像,只能修改图像内容, + * 不能修改其它值。 + */ +int rw_mpp__venc_send(int chn, S_mpp_img *img); + +/* + * 接收一帧编码后的数据结果。编码没有设计是直接给原始帧编码出一帧来,分开有时候 + * 更灵活一些。 + + * 参数说明: + * chn - 编码通道,取值范围[0, 4)。 + * frame - 编码后的视频帧。对于H.264/H.265是NAL格式;对于MJPEG是 + * JPEG图像数据。 + */ +int rw_mpp__venc_recv(int chn, S_mpp_venc_frame *frame, int tmout_ms); + +/* + * 释放rw_mpp__venc_recv()获取到的编码帧。 + */ +int rw_mpp__venc_free(int chn, S_mpp_venc_frame *frame); + + + +/* + * 初始化编码器的整体配置。编码器不能使用公共VB,所以需要单独初始化一下。 + */ +int rw_mpp__vdec_init(void); + +/* + * 反初始化编码器的整体配置。 + */ +int rw_mpp__vdec_finalize(void); + +/* + * 打开一路视频解码。 + * + * 参数说明: + * chn - 解码通道,取值范围[0, NR__VDEC_CHN)。 + * cfg - 编码配置。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__vdec_start(int chn, S_vdec_config *cfg); + + +/* + * 关闭一路视频解码。 + * + * 参数说明: + * chn - 解码通道,取值范围[0, NR__VDEC_CHN)。 + * + * 返回值: + * 成功返回0,失败返回错误码。 + * + */ +int rw_mpp__vdec_stop(int chn); + +/* + * 发送一帧数据做解码。 + * + * 参数说明: + * chn - 解码通道,取值范围[0, NR__VDEC_CHN)。 + * frame - 编码后的图像帧。 + */ +int rw_mpp__vdec_send(int chn, S_mpp_vdec_frame *frame); + +/* + * 发送结束。因为解码一般是用文件,有可能多个文件顺序解码,或者同一个文件循环 + * 解码。为了避免前后数据混到一起用,所以发送完一个文件之后调用这个接口发送结 + * 束通知解码器。 + */ +int rw_mpp__vdec_send_end(int chn); + +/* + * 接收一帧解码后的数据图像。 + + * 参数说明: + * chn - 解码通道,取值范围[0, NR__VDEC_CHN)。 + * img - 编码后的视频图像。 + */ +int rw_mpp__vdec_recv(int chn, S_mpp_img *img, int tmout_ms); + +/* + * 释放rw_mpp__vdec_recv()获取到的解码。 + */ +int rw_mpp__vdec_free(int chn, S_mpp_img *img); + + + + +/* + * 初始化JPEG编码。 + * + * 参数说明: + * max_width - 图像最大宽度。 + * max_height - 图像最大高度。 + * + * 返回值: + * 0表示成功,小于0表示失败。 + */ +int rw_mpp__jpeg_init(int max_width, int max_height); + +/* + * 关闭JPEG编码。 + * + * 参数说明: + * 无。 + * + * 返回值: + * 0表示成功,小于0表示失败。 + */ +int rw_mpp__jpeg_finalize(void); + +/* + * 图像编码。 + * + * 参数说明: + * img - 原始图像,一般是Gray或NV21。这里可以是前面vscale或者video的 + * 图像,也可以是用户自己构造的buffer。用户自己构造的buffer这 + * 一结构中priv传NULL;物理地址如果是特殊申请的连续的空间并且 + * 获取到了就填写,如果没有就直接填0。 + * jpeg - JPEG图像。成功后输入JPEG图像的信息,使用完之后需要释放。 + * + * 返回值: + * 0表示成功,小于0表示出错。 + */ +int rw_mpp__jpeg_enc(S_mpp_img *img, int quality, S_jpeg_img *jpeg); + +/* + * 释放图像编码。 + * + * 参数说明: + * jpeg - 要释放的JPEG图像。 + * + * 返回值: + * 0表示成功,小于0表示出错。 + */ +int rw_mpp__jpeg_free(S_jpeg_img *jpeg); + + +#ifdef __cplusplus +} +#endif + +#endif /* __RW_MPP_API_H__ */ + diff --git a/3rdparty/rw_mpp/lib/librw_mpp.so b/3rdparty/rw_mpp/lib/librw_mpp.so new file mode 100644 index 0000000000000000000000000000000000000000..0ea6126b4a98b0b8f4437908f9a846ea1874266a GIT binary patch literal 2905928 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�Cw1#l!i2Hut4AG14zUFR)Zg3vz27eqoq35l! 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 (!of7{ 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›lf%lvQS4NN`9jP&36nA0)FU}~LG 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≶eyM^`f0t< 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%0DMF4$dWO?3i@iHEOTt7|4EFk+>tdd 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

OApn!<;>#zenL$ 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

89W&um$5*2N!c+I&O}?|v6C}yoU~fSCb5EBX zot*OZ(W{#4S0d+pDdL z3}=xYjtDza_k3@JdD^*g5&e9uLD$NZ;)ahf*(c7JJU^CEcUemUNfURv6w!;O(wo4bx6X zww?bg`q8bKaY6>?<722DscYb^(?efn%+^uI$)aRH=P#X|Vc+J}3hG+h1WzKI#SPZ~BK0-CcW2r? z&$b&<%t1b*ZFgSk=m&D^Jxsk@0`2~ccCY1kt52I`UU*gJ>G!{pKW5|GL4QoTA}N22 ze01!>@mB62)?8;iUc2vu*LLgdo6f??{+e^}mnQt%EcDXCAAN4-?4`(D9Q_yL&aKE< zX0eIzZsT^-ZSc3{-^E)>Q|U_NoAYhT!B2CZP5MuIPP#8S{?BawVERg)U6p&5t%NzF zxuX0#r-KF!KL2gNwv*>@l)Qz?n9b)G4RfRu(Iq?3F|*;p+b6H@oPdtmiCs!x$r?8T zJ;3es&rz(v4?E47wK-qQG7m&wiH*=J<%>-a1ZpNOBdq9*gFp;6V{jfWS%d{`U+i`voq_AU zIzRAb^2NwZ?k$Yi_N+{*E#&hk^-4R&q=I!{@$1UJbaO!Kp9{w%O_Z4Qmb zw#4EbE1c}(EBCj8Jvrf4oWZqecwT|M)p*%HSUR!mlgdwPkL~BQT}@fv&e+#?PpUXw z_vgelEIpx<4fJ6y?arZ}5x%RReb^E8@h14fJk7*7$U8i_8=AwwlgobcNuN&M@owMm z?)azuEyqLa=Z!Z5j+bMJd5e$YpZo>!W)EfUluf0rl1bN{#y>?y*|QoizsB3MdI3Ji z2L~;mUx2^j^>fgd54XnhC%3Np)61OuJNTrvhxoPzehJ6dz!BWbQ6EG<@3+^z=&w2Y z`(#yzvM1qlEFD+LfYS z3|izP=fnR3{%X(Tot;m2a!=LMCnHJwKHCNF@D7yO$!mVOhcml#lGnU4F*)Vul_u3! zmb|9_!sIn4E>2$a;s=t~ymV#qnwOXHd&W8RXKdF?b0&7q53zSeKFuif?=Q)jc#*ST zFYb?Yp1gS6f|m|dcD^(x)cMkZYdc53FVuMxK3IZw?fpdLu#_>!S!bQZo*qvi2k-1W zW@9~*=z|-3kAHvT(OdG~=>oX&peeesEjoiAf6=0UUW11a%oK2cecI`ODS^NIbH zohN35I#2AswzFhV@J^V$&xS)Mp981LcGJg$l(kb<#`o%^dF?4%#(QJNn(wa~8+*Nnob&4Y z%xgDbi}~C#md~jC*A9G)yK3%31|~(HitaUL&X0P~PtWqM;~-7yxAHke>oWK)UY)XZ zPVY*b+p|2xJ8;!kJumh<4lFrV%k$y>|8kFih4>KUr+c0V_pHzu9Aun6?~em(VdQ3d z*RTCg=^_1gpX^20-?}?NB$uD zYtNIZ_~=+?$7s`;AZBrpxPxd<)Rdn(SQ9!WKe*uYDxOz`PJL{+=dAx&gLYfryAb}C z@^2k%34M!PyTbSv#daKAWOiIX-1C~)ii0&~#Rv1ATfWnW<-zjTW2bES>*my=V0oWk z-e*o-5-dONmmfE$E(n&h_ON)Sa5qG-{PozkeEi><6)c|{+hNP+njOjsk2^k)_+!f} z%!+d;uQ?~ysozhYV>-tPj+jzM*dK?M*r|gp=2S_3c@5Rmnj_V`1rE3pW? zi_EuvlwUp$yyMJ{WBKJ%z&pjP_?Nu$?|8pGK8DQ>WON1fR}eo?dztco;CF_`pyCsO%2q*6yV7 zQQCc5cGQ?>#1Ho@W0SCJ@^j+YHpL%%z!k%;Jy2p^TgREgZ{t7Wb6Fc#_s-xmF>IK_ z;b`;h{Xce!MrY3yyL$t_Q}#?YRk6JT(DD?1-U0SVWmj1vt*xO>HRbY8!u zI~I>;r>1p%w(|6T*)j1;@jltqH?du!g;@W|UFa+EL2Ws|QTxg5jK|Bq-~0ytZV7#q zjko*1^wq5=WY-_$_p|mAY0IIyvs(@^>cXcXi<##ot@TSeE8(3 z_vSD5O+1G+%h;|HGbX~bNu6c*i~abE@>AvG_Tw-1KUCOXY-DT`{yE&ff}CDmv1{6^;85%b~Gk>v|($MmeYm$phxbo^Vy zDei8cv!=J-bibz9>P+xP!F4|8DY*-_{WGC0=?|N=-=m%ObZE<0keT+5(3VE-1*rLp z(1)XpOX=9%$4&IPFR-S3<;d;q-%fh?xV|SU@G-Bwec6&_X0dDc720)e{*dhA7Jo`WGH;1;A z(`K*VMwB*IQ7>e6%{m-EwXEiYUY^Ao+Axf98SUs?sB6Q*eu(+o&K}~+vF=seePgzP zkG+-uyq0w=^gPD9AUP*8tvw#v5<0~l4YXy@?ZjT#-#RYOhvt_fE3OQKkN=&)pDRZqR?|(~Z4rc=szfO3n1Wt6rV6T;m)4`0Y!3+ldu_;?%NQcwYO< zk3VvM%%px%_R$4%%%8sA2hDNQb4^9b?z>e#y*@UupxrEf>T_lZK7(?N7mC+=8cr=s zb6>_B6WMra19@BQr_$z@Uf@5w)2v<4Q?~akWGy;|+?HuQ%fr~!RpzXd`YrmRW07EF! zVcrp;GtcGByUg4Pz@^*cUzffZ+=xCw?$f%D44F~Cubs`^H~)oC9^(6XAG*H-J)yX+ z`a*2&VH-<)s5~eCBlJ1NX=W1Vign7i24j@yNPAat`_rKw{Y=bm&C-EZJzcjS!3`F~Xf(u>sS@cNz&zX3`3w`50EbR)`^3P0O)CsGAhKzjTwwL(w3-(s$n!uFKIi zdLK-H-cWM4)lck~Efk#KMROPM>Qnny%ode*aA&jLx!iu3apx>`dk^wPnQ&=5MVs0) z=6#D){|jm_35|mN3^``>eJJdC7WN@vgR&TXeQ=p%btWfJMYLFn41ggr85w(XPpr?FTD>`>mn-}3(Qg3spI zXA5}d+Lm0nw#!uK1?D~a>XqM%H)gf)mzr^_d%3q~PRaXQ=5Zg@rmL~5%*lVf2);Ly zlN91!$&!yff=)h}z7*XNxqHEBbXNQvvpDvA*1j*d!4#&?}$ zALIx+Xb#UW?Hycul0A=p$~PT}?iJiz;408%bJ1mU(}T-Ok)IlL-(2LT-Ap*C-=*lj zQgq)z?Cs2m8GrXw#`r_Af$E4kdE{-+1}Dv=rM+)p<7np+d$Sn9vIl>nK4bTLvHOGak=}@`_~F+FmuP>``c;(0myt7sJquye4;k}}?5N~MYdqGP zYs2>?zO|cmWx6%?b;kE(>B9$R$sc>{>A@ws2VJu92)xr6XnZ;tD}7p@4;_7kewLb9 ziz1xkkREsA9AgaKIQKDEj5&V1+L%|Q`^#rUm-chF)DJ4q9loz7y)+JAEgc!h75(^3 zUkYuBk?$fI&>E@z2ca#ye&hYteRw~ZcWT+a&d+--TlXk;>4d_^kN2AN>(%(M@iF)} zZ;ZD*il1ek5ibVmpKNUMe~wFgG&@EF&~dT zqW!lwm*P*M>*bTR2Kai@?+3qGYGzt{D;~k?=QTEtR|Y-ec-8k4?qss7C?hB=Ud(6Y{6k<)9Ic@##*{b>kFrwUVfYV%Ftbm-JGQ{1n|VVnXs+EpVs&qLJZqjAF=9A#dhiXn)9usn zQ5_mz+*3eSQ^l zb;cr%of|X7AwMly!$&xq_bhG9$lADtt>~y9^SmREr(@x%^4Z1bS9spTr|enc;X9Wm zn|4>_jNik9Yaa$)>m$uQH+J7;{KKoraU;$sU&NrprH^i-T>Aulf=wS?}^`pPWkBvRD3H|j;^v#^}&1>fE$`@8|*tmQn zx(wQ_J{0ZJ3CQyEYPa@>gG&`l)!we~NDoFP#2z_W8yg_E+{1OXa9#UCZA1U^N^mI- zWpnzFhdIZ%TM1on?ft}_75@VMofAz;a{4XktObU>SU0MhAYK@?Gf1(&#nJ z?@*WYa|JYbu+ws2zwBU57WNOkqf7Cer+6mWtzn+%jaPMp*w%n>l3O@Ax9mfAwyFpIgx0@){PEY3 z)oH(kPuw%v75Vu0p4dCeeE+0)KF_>X3(q%>jqEig)sK56lbJa& zZs7uGj>kh@>>_Ele78?}(tJHM=}WIi=kg14?fHKD68*7R^Pu2ed1YZ%=2eIi_H-4dfQF6`1iEW)68?) z5e_|f@r~~yD^51eeUqj**_5107AMm0wTy}EOrQ@t)Q5kk{V$V0>iB;IT!#X`|B>H8 z`mG&@53*;zEno4EIpgE?du)I=jgB|e%kn0IU0=Z#dblaaUabyWq;oY)G=OqBW;a;!|?P{}J3h;(=%P zV&5G+JdwE_gMZoj7Iw!s0`z?rzcpW$*5u%~ZSMFaWrxEao#Y1ibdrC~_=!%*0PkoF zv=v&2k8ktg4_?E2Bz*anuc^MOpWorReK7!8{e;9>o{<2Y&bazgzj;$8X*5 za-Dx3<1dJXpJ10sLF%ZuM1gl@&9-r4ybo2Qbde$o&d zKxb$lM0?z=;c0uL`u+Nx<=O-PDEyd%52-vT?Ps|hE))3I+FISXxuLpsM{9LWLsQ*F zciedC9k(qYVsOvpS6z8Uxa9(dtmTU#xH zyywD@eF(&jYi^%kS6%gyTmAO<9lf@Gn<#GC+SJt0v_4uYQg2&Zear1PR`a;JYHO40 zWTsPoZ;ZLFsja>x8f>+pb#rxVeN$_5OLa^A`UW0X*CsY?s!7ytyl6r6vdb>>=(G@O zwyC)-T7O?dYnyGixve@;U%jcJ#-|US&aYe9+SbxkyLm^oZ1MU%cak2bxTASL|Fhn+s)x>`1l$7;<&SL#c?_~ zWT7a+09;XowJr6Dw)!Z-otYgmsg_=WAd- zYvwq(T&M#0>?9e2ZfLt6Tn1e}UD?T#i>nA+2A6t}50@jS!3pPecR2X`d1CIF-}=!@ znfXz_-nIrSo^`0IL|a>~;9Y*-{QIo(02a9VrbNxA`lvvC-E7rX5X!;jQgIm|QwYssnE=Xc7 zV&MILJJf~y4qT?In(tTEHMLX+sBj(6fop5t90jctbtzxbr{WB;@@3vZ@tQl5y*?uKZhQ-mUUm1wjHdV-F z&zi;8f-JO>4OmmNwZ8T0zrdp{_hrE{&z*ERh}uofwHt@P zZH=~AJihAB3bT)AYeq_ah&(jLp%*b5@O_Xu*GMkCzO*^`Vt8;?YMO)77OUdwsh#@! z+M;!dwnQFCZhO+s1vzBFOs0Q6UBh%Q3+M0+;gpAOs9%G(We2(%HJx>2uDh=RqZv@* z`CuM8lQBYmdu`28xnB4`-WWNDCLhik@4D#xt$A>=6^*TJo+B7g;!ZjH;3fyo^QTBDgHT9?<*B_@x z0)FHz^^G?+!L5SxGyu1zzU}s{HRZ*$e2#xQJW~24Cg(e_8D-4#T>f~TV<83=k%w&! zS#dC)E^yNA&p+Dn%8^pXO3L(4B^d)0c;@S^?RA*Ct*s5sP0{r&n+r@3O$j{-IC$1) z^V+jRnk9nvymAe0PO;U~zWvG)nQLM!y)*e=f5rYyY54Ya8nXkk>xq;jtSXTP+=1-L_+My*2n=gTujFojn3L-$o2+ zS0*ty(E07y=i3?zte>=$twsaEm34`&o7(L1wYqlQ`oJtRCehN8*b!}QxF45j>w;+W zI@#Z9U->6cL;7j`nx^{ty66YdYg?t0E*{xGw@$ajc#ej~8NcolEn&wE_Z%43s|#{; zoO4;c@$=#d7Oy9Kn!Q1l2sm{5>kc<_qe7ehC&AE@LiBX zfKJ`#;FW_YuH|DDa1P#j>mUvXYWr7oyuBgzM|g-_H#d1AByxgsnk|>C(tFhm$Z5`V z4{I*nIdYLZ=9rkvm&;QP_A@iyLzV|w5y^oMjJuUQU;1*J8Y(Z@@$_pIs1R%?Fs{Q@ zC_27Hx|7rYy6iX)TO~*rYOk((T}z@-%brW3Lwb=fM^YM^C)p~)F)Y&^N1x(*jg1L8 zcD`No9kL)jE%-T!R)TLs+Hke9Q9r+W4*so8!4`61D>o#Xn(8;n`;yjbsM*?9-@0;~ ziQ1o+Noz+7|C7g-fwTVl2;eq1)K+hAs3Sx<n+s(q&Hsv*)1GlZAuD;po`O8}B*Lfpv*No9zd;z$&`bMH%iA~jw z+csk`tjC+_ZxF5#)6ELh^~Y=1$wOUzZM8rD5r^UBbDIFOF+_cUqPR~;2(wBYamrLJ@@XUkjy;~1-p%#vqihOf=SkbWTJ}{oH*O{@(3&?W7tU|J&X2&c9{l{54)T%}t4>Xmmw%(dCO4N3XbI z<&xzqFTX;MgtcLlwo}>~8taj(t(VTfe3AEGRNq!+{<8vC?)6#~0{w=b#fvWAoGJ2{ zWW$+$FT@$`c35ua(LO(`CQJbTO}Ah7p}XiQ6Ddv#lLwVEl2 z-Ho%9*1M5=!M~e%CHRr(+aNue#a$s4>f(q(Y*%Pj^%vGoKCH%7#`!Xs z$pX)P`{@A$=^KgOwM{woDPwmA3WNBqo-U@;=}!)PF@Gyp-R9KOxUcg9KiTw*b z8$l>5YPah&(QaWyN$8f%NIza)7e&7Sp^Y%&T=F(AiPmmyL3`J3tZ!?zGa;*Yg8Wjy zM`)gc^A9~zvjgwW={`IEgLs|&vcwdS-QZB%nP}0b?aF9tQ)~71=mqw3L$qOiQ*#UJ z-WKb+H8pQ{J%~mFD;(`0d$R8g^W~RV4RHB_t1MNa`OgzWN-Cd!#MQ1ml@423xxR0(RB7e`# z4NdiYtBc-qBT<}>uEZ0s+hkR?MW@Gs(-o9o3?J+RH)pmrze&bo0``*Zr*GG#h*+$R@oNv zpXFQNcMP~w`|Mo$2d+GX)nJ%EXYnJ_90s9qjb;~ z8RPw4^G9p^-$n2?Hr^j?V)|X)}m{`(_;D?*6J#28jb}PEM zkxt)uZI*OzJn+H%d=se`yFItLxz%VZDNwG^j!aE{dF_Sm2J+16xD9eR4-KP3& z^_%kX7JDxIjrEQ4rE~fzdJ6H)x*-MNg~#F$jd}elR4%!6a0npFkVIYZxA57{WU*%O z3SM*!_gwz6>bIf?>bAlfH&A(W6??AwZChn6U@XCg+P2(&>ABoJZ|%)$!n)SpD#rCg zbcoK8zzHACVZE(Hii?^4y8d_*0eXC~^YqiU8c+W)soVrCGOuU{_0vr3WNUQu1_(^l zv1=0C5CO><>LV|~8ka$`3h6g= zw6kB-lUb_Sw9#uWQ0_+;BrRDxl}D%NZ&O&;Z1D)#`WhJryAb_qO3quhUVvoZHfHPj zbZEoYr$zO%&#k+n=%U)rbTIo|{j<@>VV)O?^ZDxn1#8t9|E&M7-|}qH*Y;~|qUl2N zJd`h2OOLf*vCfZ|dVaP7mVrlh!g?0mIs5x~*|@bmja_o7lZ5YS&yhEkla5zmAnD3)4#qt|vWiy8hg8 z-K|-Evx4=bFaQ<7ul15$cxeVXo!Zbue6^|G3t|=ThojGqox&z^ba%igi-Co-Xte80 zwZeD(D?(2OA8UNt7pI#tBUhvz;52rLjgVRKQxFOhfucu}deQR#n;WNM~{4>|X zRrG{Q8-=b~vG&N$vPo2pD;pa&Z6b?|Nk#j@x&)`#pJcyKjd-_n}3TWZCr|;}EvIRx>ossWW_Kwk=_4h?xpL`kc zx)kiunl;zC9*OHk`?WSBU#(Xzxk$577NC>GAaK`rP>4w)L&3xor)#WM&ed5?vW#9LBobBLFWhDtq9?MYWdx z=*nxGW&P#d>97d6iAH3iG>S(Ms$OtOw7F>$iCI1rQD}DHqI&A7$|Cp?1@DXxv^IOI zROEhmdNS~BiB_WdflBmqB=w+FCNHO^8#j7~e?sP;K&sV(xR)I_|9Ne5OA`(Vo8iP( z1e90b<50G`5!?UTaG=(Iti9mO)KMb)&$l-oO5e@XgChOc5rqxjv5R4dIAi_1^y9)^vGkpR4yBeCtexqX zoWDT7GUZ+hv$wlgoL*1EvW;S+PFa3iU*in)!6y+=ki-%6Z}_^!+x4c4m%v?6OguZ* z;HwOOc9Bwr5Va<+sOfr58-;z@q{!9t|Y|kt}wX;g_Bb+KI0L-xuv1GrJ-$y-{0KIfxhW^ zZhaeFfNKrwcKEsQ+2<1ZV$bCzZz4CzCK1}bx?KFKU+lT+Z)f5Zly#A{miX^4;nbl^~aX6t3?_p_oc_w78%l^gv+8)f0WtZN@UP%gUcF%6GkA0S)L zj*m{n4D(#|Yv`IC)&O4BD^xD{mi5F}3&=sXd?c}w<%qu1(3FHK}Y0awVI z&3+n*{GB{+sfZoKoSo6lE9U2T^%aWSx=DG1O`M+`;wu(uKj?2ccgwd2^hX_0Tw(Zi zh}{^6h#}5{kokU$5M@H9#EpXG>sy*RM5kyH@MmgARMc5Z3}0I-!q=|b+ukZZ77N&e8|$VuAy~9{SK`0 zI?^)>bf)+?cz8C6hUV6&O-{S0uC+~=T3c#KPa=_Y2!qZ@S1vvf2_Ib0U*uzxt5BcdxaV}`>r zLb^6Lt{aY!5z(=(*}pYmsIZTyzSi7BtB#znny>ehSXBVWh}!p;NyBq-gnabza61G$ zScS0_p$E;y0#Qc|6<0$GSZ(U>iMgGVG08C<`a6riasKxSe4g!pch8G`&IH!3f3O<9 zi>ojSElPWOez@}=1cK<=hyL==b}!#w2*NSlGJb^0z5H6CXQ0?uY^_G`DC-+7WCxl5 zg6(DD{RvZ`PGNXjwy+=;ewrzc-@zBB$MxS)qfOCZ`|i2zo##e*>&q;Eeaqx8PV@S! z`eM9{mZLXsd`2)XUd_CELsr`PbPKUlBf^kZpMCSJOcZ!dUK!!O40S{5XBO2Nyy|T3 zBEEVXCmJ%(y(O1~#jeHk$}?Veem_(J6;N6&jyfz@9^_L&e4g3215xO? zXGZMfV)i1@ApS%XTTy3;I)5P&^`ZfOc2!Y*>WTBM#ImQ@e} znO1aHM~*~bW=z_)*Vi|B*=ry5>1y!$FXvz18f(|tf~`#($+mAYnpi48?rnLI_F1rz zynx5Z8bKQ+{*JUiZo~JNoxb|@Y_2HIOKY-C_aHcDte3|p((td&(Xo`(j-43#}(Q51>uCLc{5k2!3X>fXE^t<+9 znLqj-*IYc%PmUiMKD+ew*UL7KCAdp4a(arQ8BxEG1L@T-B-OWew)*tG|`qmBEDH-fs5qk3G<%rOYh~JF6R(9*Qd+I{N?p-c9vU!Dq z&^*<+4~u3bbf~gam47+NyVX+#tBKw1oUpbXJdrg9vJeX2$~$e*&hjh zpFbdZ@68lzr(j%c1ahPS%jzKp-Pr~i!V%ODjQdbDBd9L{7H11i@)6W`?H5Bcl75JW zZHo$%F_QY(@f{w`i11{Tou?iMdSx~6$oY|FX8|-Lp@S?ZE9^`LoibctCnbdqjfwU3 z7ulq)?cC*aiT$=gxBA$V0+O0{BRB7@nGx_II8!|aX0+M6p|3ESk+v`9iFW~uQ7GBof8PSe}PG8?DS;?&oiOts6N9F5|oL@!J zj0BHMh!P>TeXKn9lRBEtxZj&+pGSmlBy>3fJfgDGn-rI=Ej9y}Wzf4@7sy_}E41&P z&W!RYNajfJ`ST!`&NHAL30~Q~Yy?>jW?&^Za(OF?rWhTWe7LN3ACa7AY0gBwbqgiI zZyibYP9$emNh9yayFy#6UrzqT7}VZod}VtlPq3RKsqgH1F*GB=GtBz)-Ol5pXhuQ@ zGZyz!OK|Rj*H)ItkatT*Q8Xi=L;jW zmYh4e->du;MK=<=1(2Rr*S2?@pd{=%@!Rqg(-N5dpugC47 z0~>2-tv@Upe<2dZPKxjrnhxD8Df4~;msv}*$N%0fP%}yH~up`#2 zonyb8?XKqS1W(v`VV_Ft9(yUcw{NMPJsU2v`(0XrNGNRU+~4J{+d)!>c~OfE0T03F zHvjVQ4S_?9Y`cDR&ow;+&fz-~oWti&FTWc@`|I$X3C`hjZm*AUSo+Qc=kUplxXyxe zSbS%KbNICBR}9Z^&s}|OG8U^}__@8atw6m+D$~Ca%ws69ac)1(sQaqCy_^xwL(4jg z!P^;>4#`ZQ5wx!vp*fUOyGT7hUBGHiyAO=J&q3C$xv_OiOr1(R#yFY@DQ@d>Z8~ zd+yf=+I9Yp-*!QFr&zm=e&4?s5xSA!6F(FNQg#k^1_pw9Ba>H>D*WiP($BLy5cZ^& zx35n|2x`sC_wXjUE6?VDh^<3&MjV_|PkGbd&nM8EqP#3%i^b2)&`<{JYh%`}mWG4N z(>s~^dF7e;?C|G3&*%a7T>WR@Z0OWV{_1jlB8G2lQ8MI)v%yZWs zYK~nhw;<1g=HovToWn;pvr7q5H!|%xI){56tdES?+i-*RgU2RHJ>7RS<EZg7=l16FSKSYaU-r59Mq4g8_5Ts~CU9~V#sBa#_dO3FilFF#1QJNX z?h->gww1>gww5DnEY0OKni}i}6PiLFXX6{DuDa zm7^H}M}3CiQkRGo9>wogbgS_oafojzmUIFmiCwDr~{=gBU+mZpw&mk~r@8hU2N zJW}@@7MPM#%2E>za1*6wa3ba{0H^Y@awgX|W5uFM+ zYx9*y1dW*^mF^nS9HK9LK-$Y)^on#g5Es<t-3Oo)4OYgBFjaS#S@g%(lNHdvdSA z(Wlc+Xj={@dWj$3d;U&q4eoe%0P^!L%%5}=j&_mCG{CCkxP*+dBh}%Np)TBAZNNu! zwivu_r#GwD_g3KX)F&c?=yW-FJmrQfgY9$L8p`oF>OcU@5k%6iRVeL&qhSaUHhqxU zpfWs6;ZD_D>o0_I#4mq+JIrpZ&!8XIjZmC0@R5%c${1m|BtmML^0u&gGr)HtI4A`e z>*;~BfeW$5Q?HywOVNUzb9WZyOu#A-7tn{2Yyjj78segxS z;~nVV@v>+fG%>wG{C#O3sdWiYr8DM;l6OJGn@M8E1TLf+!!ydeq4Cvr}kT2)tsaiB1pR(ON&e?M}M`5gXd?!P^Iu4OfpGs&&IEs3NJPXPmiW8JdqhFij{&$Y3vqsM}^gKPMyi z?_(Zz2oMJVcG$7QnN>?-zLrz4uOL?KPC>y?13z2PC+r*5AqIF_&G33yEG7g*i+LB~ zZA9+zJR z1MK5=r{#h26Plkhc4*UC%7_hoMIHe-`=F9wrO>j4R&4CbZKGA05GS{8@oLvLxfVCz zWj6|Zj6F14cGpzo13IPOIRyU$G%WT?heoIf?nF||N2M3V;<1;y89}TDOW;xo^SKCQ zg$tC5WV*juq9qwoU+Wa_#YQ#qI22r{$q-EmcOw#_Lfr+s$qBhru z5&iVw_8q3fDdbK82E3~Q-Gh{K{X`+DX_ym)k?DoJQZAS}<&k57X;r0cf}tK=bmh1( zk2kE4rt`7}2A>DmucVuf);V(|aM1YYwj&f3{K>8gX^K)@+yFH$h;AGy`&YB)aJ7`~ zdW7l+T86{@+*j)v4W?uaXxR|ffC6a|KtcQ>I)QyCuD7e@hk^=%e!qwLR68PlkgHCk8P5o0F+#XXuY=vHxuN-T* zX`)4Q_m|ArOa8BJG8^b2f4pygHA|ANM?AnEtR7*eiby4q}Xb5i$t< zTOtPj2p>1!Ud&oMC$_)rk1u|6x3?dB=r3nJdHQaroxjiTw>|oIy9vMarn~?8e)@T1 zx7T-m`+o~&zO>sJ2++LmzLs_CBAjL0#j-Y^ZCOWPbK#*Gmi5B6mNfzY@8H&!b>&u; zwbiFA>%J{4>nx1VFMSez=ucSIWt$6qz&>j6XVZVfzNd+P0C9kE5C?&VWe`1Jq~~;* zNcg{Kd)f_%NEOn1wFeHDt#WlS8!2Fc_MWy*dHb~yPLxx|rd|WrFXCx%^kdq+tiYQr zj{#V!Lb4|0J2rJyO)cQvWqb$pS(!XCM3roBV|~8z(xU`V0DFXda9Au1kuRBuRP<5f zo%X@?P^JZ&!wtzN7HYlqh@&lOA$VGUDj5Aa5l1M8M~_smJ#fO)!bQa5$SLK;Ps&rh z()p%$oc`RIhh_WKISO?xL-A8>-0Ll?bRUi*;^j4nD}v46(LQm=N$`OTPE3q?aSLXX zJO{<4J1IVFWu!|+t#sjZT2=joPYH~aUzHb(vr={<>8FZ7)Z#tV8DVqc6A`?~mMR{r zI5G5`aGLZq*ev6J!01zsN_7C!pl=+wsZ;74=ULtuq#Zh#LIQ&Up7W{TL<8;Q;fR42 zDSA4^B*C=Fp;Bo2RMZ&l0mcW$O$A{DEO7uezD;9ucAzpi5l9!nVYgGj;F24_{I)x6RFMyvHwUu7*aKLd;`-nrl?ECssos#;(G z1pzd$ae>YVC;88uB*y}>PO517M!BKg6gpVb1y=$XLSN~`3w@QN!Ax%xevVdfaE}>e zXr~ZU(eu<&MRSSFD>EF)C%4lJ2bU4)8#U;mlAwhtjgb3%Y*1ChdZDWB2`D(uF2!)v zRiuY-&S}7fN06od{t2N|NYyAfE={MRIMh4Cjdo%VYw@1?xJ(7qdvOkmv4HtrIK3XG z50h)PMjp_vQI%Ih;b8%z-Cf)blqoP+BdYgK`y{k_uES~5phKUZYYL8<%v3{ZQ=_;t zjW0?m`^%$xUCoPl+{i%4p@|`l3J*ueY4V)5cIkYSxDx8x!Ei=Q#d@c0d@=oCp*BtU z=Ts7=A=%*$yeFEsQSKmCl*d&h0itAyN{i^BE(~%j;rS|fD{zzCvtNxA3MbHlhnjM7 zRZDH$KtsI)1IXIgKSmK^C=+Gq^Wu9#kt1Ih7IEGrnNvkB1i@HCy|TR+FGD!rwBGz0 zsZyFSf**vl#@~S8`dxUD?Jjitl_}uKIBBSl)-WP<50+A&LG(~ z;30PF86X4oC<~1m^luYaT#6W2I-dB%Ed&Z@G^;8g;l#|WYl1&4SP(CKmBONB%52Kin_`E^%_d=TVHpHjz| zFqCJf`WEbJMg(vQTuwKoa0#muCbI~;fU|~9a=7-{G{h#04`w@^i=uqn%DKzdB)PW{ zZ;*pT2E=J;N+<9V&wDFqsGM~h@V1T5YHJJD3$5_iMzA^F1FO=9U*pM=RV&I%RxVjp zUR++byxd+^wXGkYWPOz1NOGl!u)(Q(M5`II}BBNz0#FOYp_&h=lO;Qh&p;zGzJ4D|H{>uNwIMwKHieDS2 zZR0zz94YRvFQ2;qkK54{|NlWdYW3lA)4Cj;taRsk$SKKFEBv0eKs&FGe%AVZ{Z;gO zwkuFYuOD8VZL49y&W9*k%xWIaDdqTn=0>itg*>rp>;z=Ed+6&QOx z@yn@!D{4A5Y!9Eq_B?!q?}7ae_)eZ!nMacogBj|FQ9@1Oz@1O1B-muUVXgz!X6Y53PL@v|ix z2)9I}Hze53iQx*Y%i17Lg^M;D>eJwm2n`3e5I6zJH)$Ut9KU3}6*@)5N2?Oj1>$x4e6wZy446uoFCO@r`i zV%dd*KN^?A!FR8%40d7X5a)%R4hlgp+6`B&q%~Z5oP5NVW$%OwXn;dM@H&N#_4^f& zGcUS@YJ&m&i=g$yCKEPQMBpL`H_)dFSH`zje`0L-7AFp&Y62I-#)P*!m`+tB6rHLt z=v04xAap_tDtv|x(n`718u_Y0fMo4k7^)5ZrC|!f>zUkjv&htMY87XcFt<>kyt+j} zuKOhn7mWO6n|ZVkkuLg%`bFUBI>IPHa>quY!gy>3im`#uN}p8*M{95}*SgjKsR)9j zw5gH4rtnJBgs2yKsXo@(qGAKQ2E^%>yK6l?em-~vWA>~`wTJX&We}GpIC=+WrD2+u z#sc@loPy0~meBL?;#K=ETuD>aAnw2^4Q$|t>IcwG30Ywhcdc<690E>jES;YdKBx7N z109c0w3;+ck`AG;)*s%{AsPzq00SLO=ntMGLgJI{`M~hG?F&X3)NUm|)c1UDk8eLp z%hk}n1~|U|H)V`v&j9DvgDD=1UOpnoE<2igY449Tc?iFqL+?Os@Poob4qT0;x_RiK z8|8x9srWNG)Q=Nju-p_3b%=pK3JwRNt2oIKx}LsTZy$W1y?vC@9{y)6J_KyY`lx+$ z01#PEv2>82A?PHyJ}934wVL2e3eKs`$QP}iV8Joeuj2_6oX~jC29w}O29Z(AtTo_O z{jbrvu1ejiu_=`N4B(PAt?G1L9->~HnHO+NRtg(qec*Z8q=i|q9^v}9yb!!rY}Cpr zE*j;<3b_~9kD5P09O=}foyrw`i2j(rME0Pz>GVJbK>(E8$WDQVvM zZVh0MfgUeEjMNy%y%!I=l3Q4kjU}B9G|;K$A?iBiDs^Pg0H@2Jv`xPhU+>;NjNl=V5@MAU3c`aGByj1BSFN(MdNe8~M**t_p znLX@d5oZNaOd>SkQ~d%zerdtbP=9H)YxbDrPQmq5aDKX{g7pD;M97J*+Ze&;(3|6t ziwAY|JOuq7I*6WTbjWiySbuT|Sc1XT3-(I8!A>DSS~)sT)Uq5Qa=ib%`9a}MM{#pU z{4~B7&o%rM`p?-zpum6_9sc@Rcj*KIp5WZ)vRWTr_r0V?dr$4^?&6W)gd?qZdG7CRB>A?J>d z(;)^tT7QrSrn^&Rx(eWP<+BIRUvy|`Kau`*E&|}y z5jJ7LSPdI+t8o_h;Jwk39okAAZ5;?y(LQ_bjRLoy|faCj@rjQoGyfei8_#zv%~x zkN>X?c8v@Sj*?#EgAn`>|Dc{R)YIg5M?9O&zgb8hY=4130ur6{r`q?Fk0sq2?H$yH z4o84ReOjFzqHd~#e#FIE{6B)bxNEBx?zeT;Ds>ANqqrf0FNEL!+sG?IxlS0fR;T=* z?tztihQVp^qy8jkJw0LPJN|d+Z12Y3^b1}v-T1q0W=D_CHAOw{e_>J6-8;(vSLFZ1 zD|Nw&-YecweFGJm3%f-ycJZCR;CY1};(snqn^a{4+9vqA#9O0^n)@ z@q;hqth6d)-siGDo%i%N(V(8ysU47Sv3VtDKIgl%1Dx-O`At7!?5Hucqb8Rm@BG`} zPk-TG!q2BZ0mmn1@xM9~PPpiYjxOUCasys}JyS3ah(81Uqc}zlyz9V|-U(|A>nZwQ z817(%{2}{5)lH8iZHh+yfAC|+Zr~@11-<2ZkHW)rYu^?9>XD#FeRJq?9!UC}?}|?K zz@bw6=IM&HnVc|>f$0|dkowirL< z`;oWY_S+}_aMbU1mH*%N-g~0nR{tXuHUG5wU#<%<4T`F8g9**UjiUa3ii)k)o9=th zTVZ$i&{@1P_U6hXbV(VPk}8h=r17A=C+RJdA*BX307)gnFe-QULJQ(MAEFdHedV!X zV5G8mPGt!7gjgSlc8TZCIs{)`0iqIkK=`pXamv%(MnQx0xR7>0IsbD8@II$mKwNV3 zK1cjgSW2=!4G&#k9%9|@El*PzqK%L;=2N`>`jr(UUy63Pc*S>C3GBAu1sRh|?WiMi zG#UOigep5y<8x(flpLnW7gFu5t4^ZwShu0`#f@To?;0KHFLw=yF2r|qA=BYOD$7xQ zwC>U51lU=oU3!3@*86T_1pP##fR`jWoh{x=Cb2lc^cg{xb&^XgI>mcpQuCMe-Z>=7 zK7!WeAa4qfw6UCuU?TNY#`;-u(9YK7aJgRW4Rb#_<>2+ktw$oc+%Y=T&IY=Uryp^* zeXsp=lOvYJL>x$QnooQq6Sg`4Ey0qD9TaAa{!b(t*S<#ZHR*iEw^%%xR^P?9Y@WYI zqWmtKFK&SE^eT}|XY&Pn1AG_XGP!&aUpKI#c$doHC4b$(iYHTP^^)Ev)0u2ezNGKz zY)+NM*9|NOlD^@)Kr6n`_oDMB|6zH*Zs7lJ(7$|Py`Pq$)q&yB39>%8zl7VByf4me zQ|&q24f?Bd&!L~2c4N7ho@ag%?OV zfLhci{IYH_L%nE-R&{fH-0o)dXpl^Ht9m5e%4^jUpO+Y*ByCg1FH#~{2w!C_#xKHG zSqN9<>iSu z(f6EmGmk)n{4K|RFFOx>S236#102M!gne*zv)1d$;rkwV%SiAK9lYJXs~@))w#QTY z?dq!yw{5T9^V}=LM8hDG4jG9Ph4lCENTCRxV}+#L^{kuQzr@E z;9Jceyn3%iOP5d9MKv2PD*iFl-{7aBAd9k5?5iRKog;j}P`P0&GEUi%gd@`QehBA> zX&o}}cGEMzS_pxN1@=n$k)8Wr8^&rd$ z-O&;eU{pYPQBwAjQBInyPaW|z(SvoSBu9-2tu+QdxNz>QqCpBq7~ofiU#ANC)LNA= z8}K$+SFTbn{D$?aAG4e<#p4!hK&roKIq=UvVM;_84g{sfjjIs7cw9z`(*Al>2RV3n zt)by{*F^FthgxMwI^6fN0{NWQIQ+z=*Soef@LQcTfC5^%ba|7zf`m8(Jh>AQ(JpZO ztrq$eEX8;=-Pxmhz5H#u#ZARjIa;2Rc`MoA?$|0m(KXC+lRZJtd*7a*4?ii42K;Oc z$-AmzKZwaP@vW)=eYmbJyOB~ymwI0rT`7})%&r^h3^zZB4RM9$k9?8DP0^%;v5`Ew1Ee-Nr)$d zbSNI?8Sj;r6s)So#7D9xi4VLlC=EcG*E~%$&`I!c@EO5_>aVQpG$SCvB(c&0>aZ9J zDG`1rdhZ0(k#AX4*|Q)@@^`tP>|7?sEA2VUl^?IFm&(yQMUSXYJ;lBOgj+D5U0Z6q zhRbu%Bd!ShkFo;(IwH2&C~A_bm!CV@%_x^EFlmy^Q$NsYFvMoAkMiCsauY!8=q#mU zY8m=bxl5POCh>wrrBxGyU8NP2!@9JXL&1rV{D?+Br9037}}xwSL*@I43`xf;B`KTHgq^tc;#%0BOWGtbbNxZt?-pxga-Ol`@Fb_zlyrX z=9=hJ_`Gd>|M-Y$Eh!3a-`qVh&YO-Wg;W=bV0^gSh_OUtQ}!mIamHp?cqRyga}wi9 z@t5=#*TYU-JW9u5od*G-C-euN?LbyM74aj?Y?9cp}Xe@G;LcADf> zjVG=YLMy^%6DbNyxN#JW2PUe44+@^!@j=i5+eB;y(5%$FIbrCbaRYML?c0DQM0;q; zM|_HMXSEFQGDlt&Lv3<=m2`BD)h8NTW1vHg7uCP876km_mb0@_-e}yB-M4ONWR1Ac zCR)P_kPvjB9Se|IO5Vp_iq%UACbe90o8V=96SQZ>;zcDA7YSsZzi^RoTe?j+HVk(l z+)2o^r&8O<@M|^77%YAa^`p&X#+Um$u@QsWyu1#Ij}3IO3n*34^b+zE&`D^vt`uSe zUZ;P=7AFkFI-NyE7FCInT4{oJ`QkFgP@dK=#6t`UESy5{U2cby{GsFa=;@tLnqEkc z>H$N2s(l2%wni)ICO8c6itpXSCbkFLA&L$fk7Rz+wW-$K7>rNRMe|4?q7d!tufM z@Tm4+PS8z8uw#Nj}yi5U&q-f#qkwm;xz3)aU5JU}h4m`gOK z@w2wZlQ$itr>-JcGT(?YU2teO$2blZe`q`b5j+?*9KA=lV7Nz|o;L7zSo&w!Zeybj z89_9oJg9yTymUY`z*7q`xJcPlhC4L{O^w43y~j&hVXFepa~cdt?ZXUWnUdvUAR@y& zv@~&&4oSg*#debZex%y$HP^@Rcn|yzB+=pE)n70*f=&fDgzL~$J(QnAyMxGA9;j6F zJVjJ}f;Zg!R_~iWS5kwQ!ba5UCBC^vo_Im^p^r(@kfBGc6sY4R81sdsP`;uy62DS( zQafm3LRjw05gx~U_u*IQG%^{V z94G3vi%ilh>7uT{a8kuYP7;l7yvMOjI{!y^6O^R#m*#K*0K`!bEsB4V5Yu~7Mq;Z= zu!Y;HDA(A+&t?03Y;fC0K2pCxP`jPy8bW#w`Y7EkK}pmeRYJ|+dQpyE;K;O?XSC-M zp2sJZ8LVR8n-sRLkBARmqtQ8Lr||pUJN0^vR!I*L>{pgrdzhylA|#wLJoR_XAMiqd zrrL+$<$uid;sgpdZ*Yo8d+YF7d#3QPh=B>TZtb2Jq=U5%hX{_OvBhh}9|A?XS(%m8 z4^PTgBA|N;Fp0GiM1|mI9jVc}`uLq3<>I+ke=BgNgKtpyP!s*Lx^eK=ZIV-8lgFYx zg9xsKKGb0dPiJKUOvOv>1wEGrIkT=AoP4iAiFT2G^gNV&kas}F5G(>qP;rWx>fy4` z@y@2QR=ydYfv#>kf9v!mHJtFsg`4M%eC~PXl*hu;|ANZ93rYW5QIB}SOOq;(oE=Te z^Ze7a*9G1Desp-G+|v(*Ko?NmCNLk!F(4({Ppk9ZM<_k-8Kwj3o^BO#TkmU76jYuS z4o%X|s1o!wEKqTh+s`zDcgks%GG6H<@%N?Tn{uLPU`%JFr-6L&d|jh~N%i1tnT~?c zD?DJhv>gYIq2WfbuoP(|%g9+IpJH1kao1m$*N%jAIM$B|r=*5N15^fSqN1>G8gVE8Uv%Np#R=>z~5HHU`d8Wpu+=#};He&b}|YJ87do!JehkIHj^ zE3PD5c@mq0+eq9eQ677rlNldGSG}*+!*;rAPKf&Yn~bI~{05veib9sxMo%ywfWO`k zqf(5OQ01M`F&TO^p$<1L1YHu$K$p^wwE;|GIFr{ss+6R;9xt4jSfzF~w#y55fHr%WLsqX-`C?z7?KzsZ}OHpW;WbKJvE9;fDYW(LU@`P@JBo-C!CYs$LJgQ@vC% zA?oj;Oe=Id1gAfHlx7M6$Lftl*V@~Bkl8b!iz<_ztr@nPDL5e(rF^$|SDGL+;j%vIHmeHE@>=9ZS>K)@=Tg2Dw$x-l21hhxC!kgblM!SiJ^d`_I^DPvQYE?I^Pp3_S@R)y9i2aLB1@nLmufxAp5 z%<~VJ+KIdHYiRR-x-fYJ)$5DD8QsEV!OU>bn&@^ItJcIW((b8Fqi|$VM95>cYr^NO z^IPJh&J2%_#<#ph=?o`R{c0Rjv|Zle0p$*$L0&nQMtx0fxZIHDOiMR3JJ7Cj@k}UD zaJ)6HIE2I_F5Va^YA1?<+9mOLDALC?BQfLY8N!LV;rf^s1#RE&f67JnAD46DQBRA{6_F|SA+5l zQaM#u7``~=p`OB)AFfu`u&gM60J`f(jCqQi#tG5GyLC9I)m5k6AXE~7Uu=Q8>CA%4 z(>4>#q?rOv_#fy%x@t~Xc(GO8GcnZ0rrrK1_`_$=_+DID>7(@NkfAHrHR$v*g!)E><%|aSHM=o3|@nLbq__Xi* zJ^+7@EI+f-)g`@K6Jhx8!1dvX7a}dOV~hYNUteF?yzs;ir(T!dwPE3%bqk#*pTzn~ z*#jjO@)C~FV5KEbaWbz0`ca-17SNniql6o}Ln9Ns*peri4SZAeYY5y-Y6dvX?!kr= zRup_oo`Ug%Y6G0AudCjLOP&LjAbHTs#qQWc6Wz~M}* z*hi62q2QcQH(M4eeNSYy%bXh99`5kDK(QZM+>G1Nt@NmHG%L zG2o8FDTQ%t`?XR_Ci=)OqjL##`D~y%(n~SG7p^EVs;PonftDgOP-FPpH1cieD~I5H zP$}DJMmbke?c8ENPLr`F<{=JcB^In z^pa;+gE&XSlonjWh>Ie2A1H$X9{}Op2^1`a%5ctjQNpZ0wE8Cgzo^gC2c_+twl+8r zoRc+9kD2wW>|5!la}axc9PBLgAQr`iH^Dfbh)+TXV5Y_16a?J;Dsn&rJ2J>1&xSk_ zG)GE#AYNK`;rue2p=#@j#Kfczi5?*xWV}kK0C|PVol1K*3#Li7D}@jeZqH61U|6`3 z^@CgK12geM>3JNNZBXxF;Fy;de|2V4t^`T zLrU8^!fEA(QwakPC0d8A*uMrh`v!*KBhe`^@k7negQGQ6+>dBgVwMiu|H|H%_jC1X zL($!^*fr}3M^2lVTNd_BONh56v#S{Ojgl{Ib4j>GHFrAW6N%MHT8;R+hj`Lb0TCCk zSms~CsGWK9{DruRv@`}fKMLMGWneC^K5)gN^5T{AmoDP4^Ee&@Xy<$VTY$NKZjW8zxmg4E_*iYU!*XrG|dh>wbd#;5p2=S?|(x@19+e&sZ)G;Pr~-^_6s_@u79PbcUp zIbfVUdd?hY9QR%f2E5hrE(G7K^J)@3R~x_~1=_?^M-dS>W4!FFdd|gfcrLh58 z!!{v-oJ!uuPBl&FP|FsRers7DGp(^cxo!k%gpO-yxvbI9zEMPsg6j>(mbk;@R~&G| zg;vUTAiD}X1=wz&3nP-Ja^=S2U}{fu{J3mOX)JpJup8)B_My7A8`>UK_7T}7C2U6` z6$=b3Wet7;ISUT5#;wz=%dI=D-&=24nMf%zJF<7=bCHqA36XOnKaBi5@_6Kx$bTZa z=*Ocoqq{{v8|{o95j`e)O7w#0Rnc3c_eGzIz7qXsG#=Y1R*KDx?GoENwtuWUc0}w8 zv9HC>id_=BCU#rwSFy)q&&A$|{V$e}Zx-J=-X7mIzE^xz{Lpw`d?bEU{Dk*tk_(edlFO6(CJ#;?mh4IPCr6U&l1C@Mlsqx{jpP~0bCMS%FG>C& z`NQOO$(xe5Cx4OrRr0~)W639ze@MQN{8RF^q_$3N zmugGRO6{DQm)aw>S88c$WorM_!KuSi)zsms!Bjmpo;o^pZ0dy6*HWjZzL`2FbwTR8 zsmoGVq^?O_m%1r+Tk7YjU#9L$J(zkd^+f9F)U&AeMkDv^xf(E(hsH|Nk5)` zD*a6Q+4PI)Kc)Ygek1+&^uN>pO~03pWm1`3rkL3%^O4MEnawj>WTs@MW~OJh&+L%d zDKj@SFS8)CD6=H9Pi94CRc8OpL7C5GDw%4gFVmkH%G5J!Ge>5Q&K#RLK67H`Ynf9r zr)SR0oRj%>=Az8SnaeVlXRgZpD05xr#>_35+cQ7U+?BZ}bART+%%hpdGf!ro&ipa+ zeCDOhpEG~Wypee;^RLX?nRhc*Hl9sov)Mv+!|cY{O|qM1Kat%cyH$3Z>~`6i+4k(L z>`vLa*7hr%3hrPUiJssE3;Q;f1JHOdt>&N?Csf~Wq*;qJ9}^T z{_KOcykll*4+kLN#` z-y*+Ne(U_S{C4@7`L_HH`5p6f@^kaM=6B04$S=(AnO~CMC%-KJ+5D>fe)$9P2j>sX zAC~XTSM$C3!}I<5q5Ki~dVXzwJbz^V==>M+$K{XDeam}Q~9U!f5<eYLK3a$uQiV(bNr4I* z6gDbsT-cP~nh5xlk!|6{>~4!r_Jf!eHTuLcK6nSXVf*a8%(7g<}d| zDtx){mBLAduNA&tIHhn};hTjs3uhP3EquFhVc|Q4iwoZ?e7|sc;mX1f3)d8WT)3|A zlfq4fTMD-o?kN1MaA)DJ!aaq13-=cuC_Genr0`hb@xqgZ-xZ!N{Gsq{;rYUgg_jF| zF8rnNTH%etn}xp@{#p2U;hn;}h4%`PVyu`briz(jzE~`7P~51vaq%O?j}|v8e!TdJ zVyU=gajW9i#i_+@i!+Mb7u$Ef=%-HP*zdlVNH_be_cex|szxV-q; z;;Q0)#RG~56%Q$Xu6S6nv)EniDfSf)FZLG)i^Ii{;%ISgalCkB@u=b#ipLa>D;{4w zp?G5PtHqOx-zc71JiYkM;+e&>i{}>4FJ4f*sQBIDCB^R*zhAt(cxCa2#cPT`E?!r> zq4<;HO~qS^w-xUw{;YUs@vh?C#a|WgEB?CpVDaJNqs8A8e_MRA_`BlM#b=6tEIwC! zq4-kqmExa^e<{9Je53eg@$bcd7XMv*yZGPYyT$j45j$ol?3A6cb9TYD?G5b@*&Ev* zu|H~WW`ErNgk7??v_EA}vA40O+1uGO?CtG#yThJk&$j2-bM0O1dG_x1e0vXjk-ewA z#Qu!E)Lw3{uvglv?fvWn?1St>?9bU{yJC0QRlC=&*=y_pd(a-XN9<91%wA_t*q^tL zw!df}Yk$c;-af%T(f+FaHT&!KDfVgh8TPmAv+Q&1bM5o(3+#*R@7NdHm)e)v-?uNf zue5(?Ut|B+zRteE{)v5)eT#jYeY^cr`{(vA?7Qr{?O)mV+4tKI*bmu{*pJzd+fUd} z*}t=&w*O#1Yd>edV83L)V*km0)&8sfy8VXzru}#OpZ34(|Jd)?|F!>Tzh?`3##IebxH9b*goS^)2gc>pbfM>pRvZ z)@86auC%VUer#QD-Durn-ERF1_Qx-+Us?BC4_c2{zp5lY94v!2(h9mXJ+Q>xYsK^&1$3?yz z`AX!gk*`NijhqoVGjdMk{K$oo??x_-d_Qt|yBKJie zh&&v5Eb`mPQ<0}5e~dgIc`5Rz$X_C_N8XJ5Bl7RaJCXlUuCr(=nvE8s8$>@8{YZ3E zSW=&iZW)~tof_Q^HdT9cR&-AE)6sd+`O$^ZJ)?U^mqu4aS4H=W9vD3|dRVk8+7qos z`=dkAk?7j!MD(cW7o%T_o)A4LdNQoA)1%*to*g|udSUdt(MzL0h+Y}JI{M@24bhum zo81w;Gy2QuucG%yABsL2eH@nB)6r+6FGOFCz8ZZk`nTvmqW_NmH~Jn@tR-WaSU$Ev z>_f3lVw=S_k8Kg#Dz;5*JJ@p_u^nSO!>ZdownuC+Y`dkg6|vQ@@D7fBF4h^V#%i(t z*l?^KTNgVL7T>Y4FUL-dog6zQc1G;X*txN9$G!s#@cXeVVpqq09J?WQGi<@1#qNsT z6T3h5VC+#?g-^wvjy)TDG4@LAFR%~aiv270Hmt;GJQ2^t3-Jx&8^#E=FN?2??-xH1mgHgaZdj9R;zRLzd|mv=_!r{G!LB?h z{`L52@o&Y?j-MaD2o~mL@hjq2$FGgw5WhKoJ8aFn;=hXjI{q*$&L`r(kN+|LeEjA3 ztMS+4Z^r)#+w*_%NFo9Ivj7Y9!--83nePF$9_B5`%%+Qd&_ zt=^HiGjVs~-oyimM-q=Go=Q9etM#SCpA)Yo-c0;6@t?%Iuw4_$46N4;lOIlQn%q3O zMRH1VT5?9RJ-K6Y=j5)*`N>7FW0xjB3rqHZ+w8`LpC*uxx*wd^q_V*tSn6pH039>-Mk7za{^X z{15EgNGg%az{1@y_2JZ}smcrH^Z0nw#IzM$$>XOtCQdgyZl)9d+-JhlIO5K}!AoWP<@zhhPXHw6l zUP`^1dOh_P?A`xLdpDonAiZ(=qv_4lTcoF?rv=)(N2JHn6X~PV$E8n5e>MG$^cm^1 z(&wcwbgbR$(>JAWOaCnW%k;hJ2hxwGf1Cb&`j6=s*wX!5`XA}H)Bj6HGfCLFcIHEw zO)?+Plrmdore$ViIx@3icl8^MbG zShfTkc3O5uwj(<``|0d%uwM6q?fO|*t_Nkyuv`0JwH^VR^+;H(U&?+Zdvf;F?6EXKC{to+XTdHFr^d*zqrSLXMJeRvpb!^2@0j^-!wU&wzce`5aY`P1`f<^h7q(it&|Rp(LaP_X3r81@gH?7i?6I>7=fe*BUf~MZU)L9I zhTZjx!mnU&Jz97IcGh!+R|N4i#ga*ABGk6$>J2)PTLn}!DgBVYiTdo zNh^!{!#?UP_QEPU0`}17VF`U1Hqa@se$Ij2b1^KQtBThaZ-kBWb67X`!>)N87R?`v zFT##_qxcV4FYguOuvv<*Rz7NP4jW|~dpazW+4iSlk1VqHh842fJ`lD?7i^9}yKaxe z$~eycihVNdiZku=U`<>KE8=R{4>!SXxYNGJ{xvLx-`c;2eee?Of;a4c*l%lgz(&?q z)@*Ap_yqbff1hf77dZ}piMjaC)_<)cJOdq(g^~RueV8r33g5uxmmgd8{G*r*b2;Awdh#%Sjd9{mqI1;yA$V_U|iV`kYc zwj{O^b4fKeh#BOV*h#U|W9P*#j$IkM9y7%+V-LiB8~a1-<=E?(7p!ZrSW~^hd}SIffwP(__6U5 z#ovHVe>WaaWTDMBNqhpDeA`4jwD_)xh43k?fc`!t(FNT-1kL^V#IcF5B)*FP)!~VojjI2GWkVlEC11UrwKt{<_cKa7FrR>2J6_{d1{< zA5Q-!{bc%S*21r(UroQBek=VisfQDpOs0_8AhU7iqnVFoKAG7vvvp=$=;HRwtjwIu zF073gXZFr4&3rbqZ{~o^A(?Wfi#75<=7`K_W<2xx%oj7qWlmtNd}`*5%vqUpGZ$pO zlerX{`HIZdnIC6vfNs7u^V7_onY%OhW`3P{82b6QncroeVGaFC=GDyWnKv{4$owbs z-^_cNST+egozHHN{ZRHJ*-f*XLsx$)yLEP3XzRA@4vxQJ56$1OKeV>;HyoZF$PQ=g z*|ph;>`~ccpuJDXo&^1UO7?VU@Uye$XD`ftH+yOJ``Ih9KZG8?F8dQ`^4qdMWnF%6 z_Sewnk7ggwKAHV}_7B`A{j=4F|^SkDD&+U<03|+rZZaK6)c^VGN9qM=*`lY8~UG7L|{$rr~znnV}+W#B5 z({g9z&h+^iu3|sK^|>1{7u<%~;LhAHbNA%#%RP{L7<0noj+fzu+{^GX{3Z8#?#yyf^6tU?qsPzrMp(i9gq#60v7_9}dWy$Vwb z+Z47fOovaQoqY;Bvrl37!h*u0!k+Lb>{D2#c@z%CJk^Prsuy$B8q8M19)H5I@F$#5 zII-|m_9mRp-h^`s=fRtBQQ^CVOA412ejt4b*J3vN3Ffm~3%7eb2@e(?#@zNeX1Avt zKf+6x<^GI$?)Adod|re&=Daj!J>*a>Zs_UT812_mWDt!b!cAtH?-S2n^)?(g1 z(mu-mf_)5TZ{;62+2b8J&;GW3q2n9)fqjL273TFH+1J|FJD!0%?4MzdSAKzC+Yj0g z+mG76!F>Ou;}v+`e$jr}@d^CRehU_W@CdxC*#RH6wzYQ0>i%%+7_8f`uzqSiZoO(n zu+pB6_4EOe!N~Dg8()nT@b4mTM3Pv~c3|ClXtW+Z5xWA{M(>F}6MZY1#yYYiwrA`R z>;;^FwcypUJ7Z5^m1kj1Hx(NWk@!$zi$q&uUSc1t zruq_Vv3fc^aZ%zbtdxF*_0bE7za`#Fd7~fBjkb)!#{_;Y;5#y?uID zc+L-m$9w?Z^3P-Ka8mj-c*!qHt{Cn8wufW&)R_;I0zX|Bx4e}q!e@xov?fKdHPv>{fFV24^zXJO8An4Zad@Vl+ zpY1sOwZ}o5el34${+s!8phdsS_W9ND%-)#44Vv?={JqeckH8!IJ9uKBhmHO!e6Vlj z{{<`ky?hKhG6&D=M$nI&!RNX~VG3;Z?VuTVfVDoiFpqWO5@^Kb>|s3+{?)_aUG0G` z9AHhj7Jk*E*{ga2e5xnIqk4MbTkxlzSGWLHJn6s73s=FCzqW8g;YRpTh3@+$EPC>x zJ`4})Z{b1xJ^ZK76<(0uQ>FF(1K;WY3YPSoW~Jx!L$LQZDQ?=}H=W+#Io$;-f!*Od zT~J(DT#OZg@SZL!u3!zg8XnaB*@t>CRtbl)AGIPqslDt=U4wPQ0CeIIJgP^qPj!sF zsuS?5ejc9Hqv2a64S8JgOVE;EhKKbl@UfnR6~@=t&w2_xt*61)dIr`T--5sOEO=bc zDV_(P>$kD`xDbBV@380fQutmk!&>AA@V{Qc9@wkd2YW5Nu-C&2dn5d?H^UQqE7mEu z7k>(G?9btk{RKR-zhs~6z3|H355MdK@XS7hHOwRM&OQeJ?BnpzJ^>%?Q_#7;XFu&9 zu(o*?zS`&Et$h*x+Lz(6{S$QXtMJEdBz8}YW>J!lBCFpbV{ceTN6nkr|u(q+M!VA1DKHFinH3OfS@CUcyLq6dh z@R?=rh&9-3dnb5@cgANf)?@V9#oiU4dG>DXEuL>LfXA3V3$a#PjL)8!73i}BE4Ri}2z*AcVx$lGsMq4N4)YLwCNLX) z9-pJInxxMc;JH2qpJOpQ(T9B4U&iMItTgF!qJ0uR`&1DH)8grEH(%&8A!4gCma)<@xU ze+={MZ{T@<9J4Hao{*m>G3Sym{&!ew)8}dVdB%PQ-uXY`^DKX!gP)#0&*Sp~=H?f% zE~n4S@aNR_TTvPCcOOgc?-UN`uszF$nQ^|f6LE* zunX`u_5o-ofIjca&;PW20hzy-!gV5UOnGpqhGeqZ4K}rV;46nq>f*Se%HXTL$62*9 zooVC4xGF!g_MYnDSUemHSyrIECwS9)f|sGRRqdYq!d$<|jnni!!z1K2zx35hp}76e zsXT{pcCj_oXL`@=9azVQj;c-g$?Y|~XL_5R5hPq1{ZtMoG$~xT8yTEBmMXwy1N={c zq67sR9KCLU)7}%_;jvD^7s59{0k_uCT`IchMqH6Ww}G18Q{fh`o%dcSPdkVnr#_7i zkzBfl!#&~v7jhRP-nVFupAWu1gV?O^)c zKt~PjBzT0H7p(EMtJ!lZ?}Qo`Pz~~7dQb2b+zBZ2odBtZn&6>w>a3NduA!c=c$_;7 z3X#8^>W)K`_e6&Zk*>((aiSjLa)pccDI73BSO)ekJ~9Sn23}CA3Wj5<$4wMUSRRjXL>K;p^@Q4)@VY4ovTfPA@R(CO*3_>d=E_%25DO6NEK+PZ^vl zs)+YJ`p66J!%y!$;ClP0-3|0gwZ=~w2bdp?R7iO7o+HP3 zsr0<}zG4Pyd?mg&tcM7mI*bBZ3L3OFz?7_uZV+}r%W{;`-0iO>`1Jmz*Rrmr{ZDiv zxDurRaRr3vln*(7y6PpZeT26GPJ2&yRWo&Z=s8llFiHOBJwsh%b@_@L7~J){Uz>D(rxXKMHTvQv@ED|gZP1}OWW9T>XZ+*lgD5<`xMGTM%_X`F>yS+1 zYwBN^1~nvD;-u#s(Gg*sgb-G{O6p2`h<5Wh=CFy{2o3?~#%v~z3$oR4G10wB#EGZq zBZJ!@G1wUDX@b6V6LgnblPOL0r7A_@R+=UR zJi(wdRnlayK!ku7^NA1+2RH+dv z+xV1m^Zj*IKlPWK191sXj@U5m1)P*KM|>y6FBe|K0rGN=)lL|Bm$XY#TrJOoFho1Z z#$>yLuH91SBaI)zh~Zx9V2Lk{cbWT9%@-^;Sin%SR2D#o8D{;d;7M+2u4Fu#Ar#aO z8ZX_r(F>WUC6zl?1N62M7WU0@gb4G!eWH)cI*miDNM!(o;4{N_^+;LM8b~-o!t>^d z50nMP0I%engGzzFSm{>~RDrSdRao~E%bCq4I{bJ<&=ij6*aDfkU8=ufh*98>uCabf zBhd|CqBe;c+6B3hmK+p`2&FtaBBB(yl4pi*1r@qK5Sxu`9MJ7n8Pp$2-o-qF1bR9w z39~;hGzEa`oFHF50?{#cvCiex(?WWy|t1Fa3WE>Nb3pQ z{D$hKzv+Mdy`qJm4_2^vr~LpgKCz=mVQ0P1WjxrCcS!6ZNQky;!s|e(_x| zuhI+hd*TBHKS4%rGTt4!^?FE>F>6u=oTl%k)$gy5zcXxa|4=8=m@<*T;OB?Luh=Qx z^BMynTGa%nayV0PWVJG;=gQKe?9}>tT|*%GCF)mo%64(k9&VhX4+~M)D zpKC@0(+MMu+eKD|4$tnDGIfojOw>CuwwCMCx|Q*um&=H$UdL^54KErm1&=z7+9?+v zaJCLm5>Bp?`AG{Y&r?yKR-WN`xkTk;dlY)!b6~yWbd#uWxEmvpBoz8hzG6DWb0Ma( zW3}h5Jc_)awfYc`4ToM?FN_1169&CPaowiWOC0`j6ay2p1csD|^FmQ$=$E1qh&W+$ z4@TUWS#3M-7#JT+$6M|0odi;}BqY5YihErzLRK`TlTx%XTf*W~?e7_>9`S*-I}lm; z_6|Xgv57V`#4YyqN_)pns<~m?JH~m_Lm&*@3eEnHT^Oz+et$XzuPwqGUwNvoSl z;#c$skL=0uMTmQl?jemfIlQ6O#w78ERv#hoiYR_1#adl7ykkm}iZFbTcpF5*i&RZ% z!F-kY^qI$p${DPo`pMUB5-A@(y}_aBb3~~*ve0;3(eWV?vrT9`ny55IL_&?9(D*zv zjUS_$WhQ}7@JpX*d`QJC6Pi93pPXTQ=%kQ@#wTW&=13;PH!;J!e>~0%<3q)>%Ov>j zond^))a)`De642~FLHfUO&)(pbrN2leKTW#8kjWR0Cg~Fd;w}<()fbZL%=v;8wLB3 z{9I9plZq1#J%{7sziXjx##>vaLLdaYrx9XhQam8Fu4*WxI7=xBk$czWeVz)t`9tg164TI z556`S8h$Q2RM`FKG=Srga-dHY))}$W;R2G;`x{%#*-P~>q9OE|uqVA0E2_iHb23ki zIP6H-b6nt1^3ec~rF(T)AqnO?r>${o=WJ^VIt=}O_^!T@p@E9R5M2N8*a&ilz_r*t z#u2<7&x1k%E`*^2qj+?Lg5uK|eFrwU{yH*>V@In@UJp2XD6^9T9j0E6=HCK36nt&K z(D-2bM?COO@Ne0MV0bwn!+(U(=lA)Wg<^8>6EZCr z%)`*_*XwsvB89KN1^;>La58*gJdOP@X*^B(L&GsSe!Bgkp&)e}LN2|0b@Y-C(d6iH z`^SeS1U;2niy;!SJ#t)1%QBd5^aEXEquomHLb%is${#G}#W5s;!l7<93}F1JO`#cB zs?V8Tau)2t^hkXDL+d_Jd|vw0(g5e1Jf>Fj%0ub5wK&u6NRN+`u1_I!`(?MVp7LXB zmq~a+$@d6}6ZNn|oXMjeOkeK@jIZ+p#@Ag%Cn6QJqoSKMcaB=Uu1sGC~$)Q;3AMUF(Ax&=X z1=Gdt3&0X)o*>h)46XD*jU&d#MyY9Fw$I*S4sBxwx3eXED$$5f)fws!rSF)p9@3li zlB4*7>G$DlQ|Aj>knbzru8N1A_ZR`my>HyOGEagUOt(+&eb|)D2jkJ@-G@Zm$PUKC z?P7Uvh9wxjQI33goIVZ5pC)qVL#SkY68Jph5a?P6NsGGIQ@(vaBZHmrt2$fG(AI@$FZ`$s(ExwNZVU4$72YJ;{pieS0()z6J?Wv2PcGB3rz53Z+? zPGeP##kJbP@C8d=HM?pI4W<)Ito4Fp-ZVf4*GD@y&Ve6?(qK5=p=kgNh67)8i;5-> zr`9lh1%KWbJoBj~hEVhqmqV}LWq*b)@ARWP2t&2}?kYGB1XSN4{B7wv)1pffP)BA*P$0-`*THH2rPLgM`!6d?3`RK1BO_a6SM1)Q^xpG@j()TUB##yCodtN2DoRkA80= zKTroOJHhpP*ci`4FJNa2~msM18J2I6$Gsp{nec_87w{rlQh%)rS3g?}pfCs&i9SC^;IaJn1}V4F+GP%wXVI9-0iwv**XQWk=g~LNP#XR%4fBP*YJ&F{sDY@SC==P+JBs70qdRn0h<`2d{ zv&XSYJ(PrkS7bCn5e(m38LQXJ{li$c*LrdA245}*+~WS=@KX3TI;!F)ux+$V_ss^n5$6&1G99R5=b*YC6)L;W0yZ@F9s{IussFXHOnaSH&^9 zy+%TC{S(6arVy5r5t^L=`ylK-9L|7MAgM+yVfuxx@oPrCZuL0Sguz3TK$(;?kMv+Z zaCv886tcXtFbXa&;tHq%$cBv~E|k16yu0pz;iiFykau;zQc)nrZZO>vPSq@jya7(e zNts((hWj?Fa1IUgWJyN5MWn(m*Z{bpG&qD%T^y$_sDA?S(ajeThN^Q6hs9^$JDu(e z!Yl8Yc#otgo*LRG;XGUN3M@oFjJrxRRKHJ5vV32aVn-{2g4?mK);&rFg_sb7%gdgm zj>HLl9L>j;pqd53j7trEsHca532ERV_*X%MGz7X*5=C@q2qs1UDDD>Fz+o2-MynP~ z3SM4K@C^<0>LmFf@vtc*2??e{3(-%?gcXYFMPvO<#}j#>S`JQgd(8MugVT&x-2>|% zLV#A)vS7ZDDyWs~9w;L}R6Pu*n-nx6Le%GY2e6^9$P57|JDoI@ns-ChH#l4t<3@uD zL#NZSNy3Sc>lku;Tv}KIVd^8l9?z*{60{vU)4jM&ID+}=hwt?uSPyvj#&;+_`|J0B zPnQ1n_t}2HzpwTayr%(^7Q6nI5D`&BXnF%{@v^O(y6_nzeBcz#}RpVc)hV6aJ@QUaQmJ5dU=;e zRyYYb9n8e<<%9hbj-4mtuB!YW6pON@Z3Z=9!YlQ1Cjyk=>^JT()drc>1U4zSp)naG zF%;aI!76!4YY2;naKfs_V7_T^T|+}7*h%a@bfyykcRk@JLe#&yuUhg~UQ!op2ZnI# zeQ2--{f%CtHDJLd2(d97;Bp?4v&qL$hQ_5<9_nVaE0Y@^g{YseukHIh*s2 z%8R6KxL*$;gg1JilTO;W1YtZQwHLQWv?rjv({4{W7oYDvb+T4lLp@$VqSuoYM&pN* z?9FMNpcfm0$F^#it-eS%0spYk&DAnst!lqO0rHk3rl&U7>no`xQoLu&K zs1oJ)M2EIKM>JoDIHFsBwYJhfhA6Xr)vh&;{Hx4RUj0ppmPR|oC=m7N<%W>25mUQ^ z$uN(B1Q`!oMhPk*nzRg<-!0!zY}FvU*2Tl-nc9%@+%IhlVQ08_hWjS!I7*7(|FwE) z*}nViW3=-L4k;V9sY{wY&~4IiGVq~-SpOQhXap)|Py-y*OHqdsW^$-%~tgAqU>)>qcs$RSSnwJ#tp*8inar z7UCvAS(GSxur80S%87PWy4IBYt81(MyHD}e(WFjQp6tY{uYp|1VugF{y0*+ZN zLM#*2B4?d0%OUBe`1IWDhM@G}`ipy4Z}@ah9wL@bA=U5nk}{vI4~f4N^~it z2OfIW?P27`#e?|XSX)4`aI;jR6`T;Q)%&Vq$r6Gtw?8#Gn(_bBkJ7``>7uuBY8{KP z+Gu~3`q_Cd1IN>MutAii9s-9|ITcsi5gHv{8|PdPjV8P|@vDxg!#JEJ`~*1mGY<9I zk8mwCj)q1iJR)hpvnR$q$YxwP&s!PmA1$%I6PZ|qC>Y>}doWE8;CK}2MD9FH27}o7 zCrILlBv3YA#$6|-;HU9DY5T7J%D}LUXx>ncIitZ*cyR+>#Mb=~3`UCH?x~O9 zWP2N)gNTNDseDb(N8oK2SYJj2c>&g>T_Pg9Mjz$xAooHiW(U1IIucFi-uKXj>8w0l z8^355Y(%{S-|z(e;llF7rX^e-&nA?w4)YFb?wdI^?J9Wl*n<19qI zm42G%$q5AmMLB*#z;QiPsbG!JWFg@8U${~vkx~j=ezqlCz@*@o}+jdnvX$J*1mv|bqRV3U5d80#^6f1)hw9c**R^xbe>08$s zNT7i~e)RC&LJ z4pP_l7#hC(#Gaf&M6dRq>`U`|%2I_a zNf^7X;Y&#Hqv5F_2{JmFk~6u*$j)RRPnm`>t*|hZQ3PQ+*-@m!w1}A=>0PK5I#<;$PvoeWN+N^eD0b^hZR3jS7c|6z@ zzqD%;P$0zo#_LHM>6pc9U3EQ2vFKyeVv-wWKd_tP1Hi-f_WQsyg3$RDSm25-LPd>| z3nNY+?@uGm`oXQUJdBeH0FnMBhc}e(ujzB1n}|=;pBf%V?-}|5lQdn*3tZ1E8HCpn zmKmy`RT%lE9W%z%KeV187;$ipQkgraNsaxww#Jia3B*n3qxIA_S+TgQ!zb?;Egfl6 z8+Ej3Jc7>iz%&liuJx^lmffhUpZpT6o}9|e@`^sx__5di!WrXR;2HW$%GF%q_ai%3 zW3BQf8Q|T%XtJ_2z*-skCOa3e5cw(fxh&9A=8Q3DXJvxIqER+ySZh#QIGV)MjYKS?dRa2c znVzgM68*NJ_r zsl4Mrd}+PwU|BSiQbh*5v}|D=EfFJIAnv(ngqO%EHYxdSf=_Gs2ZGPTxMmocy)FMK z{U86dtXRI-!1ohGj<0yb*P#0R?;8;K9>je=QQwarpZ`0bm7+tNNRaF4D%$cvVg0=( z8uG2s1H8(Vi~q8cdRdVUuZgM$UX;OZ4y_jDOsUY&;8D*ACF>WdLue9`)p(za)H%F8 zsJ8YUe4eL1d=wEtB8*t(Pt-DhVwU+cJ!1YGW0^mvM$8|B9zllWfeMX8shCRDf#Feg z5ZC~x^cuqlY@?d=m{fxfni=!NpC0XHpra9WHya?RBKsvc&WM$KHFuM{R8V-y?0WGGM^;h0v>QIst5Y2Zv5*HZIr% zY~w-;Wdj6AAOr%05<(n0gceGu0n>XYv_LR55Sl{^E%^PNk+i!uusHWV|Ibt2EBR}! zG@8-OXf!&Sa?abN`Zqj3+=J>*eiQRfV?NkKJx&ja$HxKEDPPC^u+VcNACn&v_rBV- zDO>w?AD0WidtVi03$xnnLpF#_W=q*lc7Z))Ccz<86PgP>gal!XFiTh=><~^1H-%?{ zMJy;*6obSM#9m^5(J6i@&JmZ3Tf~FndGV(BMAT|>Y8;x1n%bJ?nogPsO@GaB&3Mgp z&3w%&&CiAuuW z*Uix_&@I=k)os@8(CyP5)%~Kopu3{GrMs_ttb3so^aj06@2k(Rcj!y%%j*O6HS~4$ z4fW0RZS)=VUG<^*D1Bdjf_|WWn0}OgoPMHyihibkj()y=iGGECt$w3^tA3Y$zy7HH zl>VIllKz_hmj0gpq5i4V6jYgX>hcUM?pRus9n6ad>tg)go&{)k_%NS&A zU~FP+VGJ?0H+D95Glm)?jM2uv#&~0ragcGS(PHO*c$`nC_a=O%F|fnVy^eHZil-Y%rV6HggWMuQ{(dzqzov zsJXbgl)0R_qB+1^#a!K7%Us7CY;I_7Vs373Wezd7Gj}w1F?TnIn#0Xe<`{EdbDTNB zoNOLs{@6U+JktEBd7OE?d7^o;d8&E3d6xNGbBcMMd7*iUd6{{od9`_+d4qYgd8>K5 zd6#*w`GEP5`KbAX`4{t9^RMRL%$LpA%)gueFyA%bH$N~xHa|7LFuyVj7Oh2ZFhEFqS5mJXKA zmadi_mQYK$CCU2FE046qEg47H4~d}0}G8Eg66GQsktyw05?3wRX3LT6j3K@>k#WO>j>*e>uBp(>u1&p)``~1)+yGntuw5%tlwI{vwm-#Z(V3z zV*SCo+`7uT+Pc=d-n!Ac#k$p+YTaqwZQW}=@--S)ff58EBvJzKi%f$fp)iS4QFh3#)!hE1?*>^i%_ zZn9hLcDs)~r`^|{$L?p(Z!c&sYg?5*r=>>t?M**n@h+ds5-v-hxv+I!g}>{0e;dmnpWd#pX)o?uV1 z53moi53vum54St*BkiN@W9;MXpW7$cC)y|3zp_uYe{G*(pJktIpJPw4&$Z9DFSIYV zFSReTuduJOuePtX|72fp-)P@#|JlCHzTLjlzT3XnzTbY(e%OB0e%yZ2{)_#L{ha+* z`$hY2_B8ty`!)Lw`%U{F_B-}__H_FL`y=}k`&0XK`%C-Z_6)lqX(XLwkW7+AvPqJZ zL&_!jN_iwdDZf-uDl9pqV$yq338|D+Mk*&&kSa+5QlL~tswUNtYDu-Fx>B%IPii1F zlA1`(q!v;usf`pOwUydS9i`6Fhf+7GhtyLFlftD)skam(eI)ghVx@Q~K}wR6rGe65 z>0@b_G(!4B8YPXE#z^C&&!zFw7t)u~WNC^tO`0yvlx9h@r8!cH^u07sS|BZw7E4Q| zWzq_1m9$z~EBz#`mo`e9rJtp(QmV8=+9mCl_DcJugVG`Ch;&RkA)S&=OJ}9?(y!7* z>5_C=x*}bZZb&z!TheXmu5@2YmmWxuq$ko}(lhCW^ip~yWk|9>?1ScHe-_L_Sqe*I zOb|s4eR=2@@W75 z{f(Gw1ifGsEP`FgA@~Y;h5SMxp@>jSC?S*<$_W*P0HF$`o0>vxAxNk%G!mK$EreD= zh|o^xD0C6J2|a~gLWIy;=p*zK;)O(EfG}7XDvS_D3ZDvNh0ldAAem1Qz7}Q*vxV=3 zxxxZrv9MHFF02yP2tNrMg)PE1$V5rhB#aNPMj+) z5SNI{#FgS|@h5R3WVUVMPH~U8Upyop6Hkh#A;Db~FN@d2-^JVFJ@HTRvG`PcDQ2J` z=rtydRpX<{rOB(wuPLM{swu81r6~tFFHloeQxno&u%>~gF=W10nh;HUNPb;4Jv6;E zk(wAyUroFwQ8Q381d`wnx8bAAR}(q z?AGkl9MT-soP@M^UUN}%S#w=;Q*#G$<3r6~n&*%nMXgS2(%Q5>T3>BmZ2@f&Z81ob zWwjL`QC88`(AL%lX&Y#pXj^DoYujo&YP&$f4An+J%KS(hr%luj)DF=O*N%j|`I+_$ z?PTpV?F{W~Z3-mMMcN;S-)Ms8xrqf{c-&-ka;iaFYB*E>b2jSd~+Cb8}bDF^pACL0GEhZ#p2#~431PBcz2PB(sI{LUo>uQP5m{%qWC++#doJYqa) zJY&3IOfz2N67ZkK$HwQzS4PpKhx{vSF3{>Sc;D_2E+QAk$Ej)AXt7Gt(Db;{C?-9pv4`re&s8rgf%`T-M!dI%qm(I%PTw zIrp;ZI;7ltT*iF~30G$}neFDBkZuc@9guCym@AkA&DG5Bn}Z8At{SngZCdjTkA-NthAA{6-9y04y^G)*| z^PiAbpPMtx8jI0lv*fVkvE;WDu@r}VTEP-%sb+Z}l4(OrGf1UvEuAdgAdf~``dH#D ziIzc@VV04WF_!U`NtS7lKId5GSr$X?{L%80WwRyKvK!LoQOiloS<6Ms708&kE$NoW zmgklXi`Hs_RGAYJWkE=jB_T=rTdP=WTI*UHSesf~S=(AWL2e9%%-9F=Vv=>Rb+~nu zb)5AJ>sQw4*4dB@7eXprWnE|8WZh=nW!-N*0vYfurA7e?sPaVP!U*&1{n( z<>j*#w!LR74aqLhR^3(`@?2wE3tNb-17x_Kwg_7cB)3G{Aloq8NJwiFAg4{Y&4zro z(Dno5vURpikjHk}_CpRkX*&z~>x%8B?Ji`lzicldYw7J4$XK}{T@|sHfJ{}%UInsL zT}V+)AwRXXcY@s1%ibH(Qh&%vA45X=6tdBmkcwtP9-0S9Xt{ljeFJ2l9gunsLEbqH zNhi&I9r8`O{V}AP47(Pxj2%*ppHv94ODU;5B$jH@`;b!_NzEahw3oU-CJBcu5-TN2 zgCKp3l*UREAa8sveFG_D0i=tSkSjJqp4chvlMX|II3rzv+;9W(Lb~)=dhU`B&~8AZ zmXua~YOfDKd;Qx{+ucbUS0e9Uquv0yJtP8Cn5gZM7HW@(z{~)Ih4%ZmV^#u`Cmr;Q z>{_|I?4M6UzkQna_UdPyfezWixaBj-6p19|6}^AYOv;4M7Lw|7Ozi+`T)|Av3L z>c~bMD2Kho1LJJahKf!I41&dj@uuAI&y+bRmfpjoe120fSu*(@;dH9kwso`CO^OzE zjc`CT)uE#pV9ZAn2>(@!(y!zWF6#kT$CG->yAR+ik}s+ceC=dC;CA|#elgrU>ZX2e zyd@QmO#N12az%>s>3PDKRZQ=4&30xKPNri@p+HTPFqp~@_EB5$g2Ef^=@>2iIv9mW zbJ=)b6vk}DM#8i$Ce?b5czgXkiiZ0nFXgkD(%*~$t=v$C*9mUk!f6*m{U5dJ@wsuW zXhIAoF*KG#bu6@IO%w}Lry;#VM_#GSB?tjV=2+CVKf*Fdc9t!)rbPix*r}U=RCd1GRbMxA-V**#5h)> zIz*E|*K5pMecenc58=>$;C1dOB@8D)=*aq1@Z)MOyV8$yT{(u|nR4j0^oNIWe-ppa zu@NhDEYBc4+x*VNhj+dQZ%d-Aj!`)gMZHZ!#+vp)`H_j-o0!v}h? z&O+4V>k9nzaM-Q1f^?iR!P@9o2W__z!#9rQ9TCU= zx)smFf{Cp5u>@A|{Ur8cK{ET*X8_yu@jy1~#vnHM(;=+fGd+=o7Z=k5O!2 z`7vxrjj^nJ!_U}nZ6>gb>nE}=cTQrQH;?vl|8(*^>rDw9_D&Mfl1HNSqMy9aG zU(98X9?xep(iX5K>5JH`>PuLgS4&yd(cXchCV^CK(PV-4G1eJ$HG{3jOI zXgwPiwUJF6u$ko^yM`l&MiN)$uoXtQ^#&*JL+s^eXed~i^gnVZOU(8p~m&B#JHc> z9^Gd5(tHP_8=EvnM?(`2V@6e^}<)lT-)^8#6={BGFmzc`}eN))&X>-`6 z>9g3wUSBgq#VIUx_7rJ zKu+Kb@&G@O9~1;p%@Dex<}3~qvZ;1PHZ1P#&)Y#EKfpdaWDlE6SP1PlWsz(_C}i~-}o=U_be0!##7f=OU9 z_zFx>n2IeiEt{z4(^d_G!Xqebg04f*H3_;tL2*%;fZv`_T(jcouKIghTGTX5M>sRU zEbtBZ7R&)DU@n*s7Jx-y3HSjl2P?skU=3IY)`N{;Gx!;#f*oKN*aP-~1K4P}wJ9zXuL__ds00E) zWl#msvr+@l^HK){f%>2kXbM_@)}Sru0J1(meQ+!eB!WR;7@%inETD2m<(JCNw}8sY zVz2_N0aOmQf!*LBpnFaC_#&WtO84?Ucm(KP(Y?_FE654_Kq2rRC<7{j%Ah8w3mSl? zpcQBfI)Sbr6hwe%&=*>nGq}2lOuo4eQW~yFR;=7(HeFx9+}-0dj=sk-`-vJz*MI#x z4VS@jsDD(O0O&Lp83DsK)F8_DlzlV~bXD5@xjXH<+WlXj??7#?q*gMam&>Rh+TW|; zLpJl=20D+27uGjETK;Tg@yQACeW4vyJpx-Q$z&fXn#>O2e7-N6oS((Csp zES$nIzhezVd3LY0SqRGcAojIuy@@dg>N;988lze}i=JynkoQ&f`?hTauJ`Y(`!HM3 z+nT|=uky9s>CO7+N0#}2-Ge3;DEpmXx^d^@CAOr0ZIdZPy+-* z=FhSOG4Cs0k{D~@UJy#A#Y;V*mS38~j2SiF%dm2i>)BR4MJf+=-{gK_WPM7#c!|W) zC6X&ZRgOFjiaF2?m5j+yum5%DU4}^*DvoAW_XDm3#GhwXQz?$|`A(Py4i%^T44Uuc zu`56SXhiL=_*cVK4^d-SW~jaiOmrw6J5Zg424Ccb(jq6TErnJEiW$Phx#-vPgzBI` zSHGt`mloedN~Oo+PbMia3u+M56~rs?avxX2t&&(G&_A(64fRiMwM+a6&1xR?r#wfQ z;!!0T=X>O*90`6t?gj6p#I@+E{9Y-6c%+Zi4KR25!Xon7?@0p(Ln8*Sd{ExMY1gFao$gYA$U5SUXS)r zgL-@rErW-A{PECX!)Z~EXYD;vkNaj>)Z+yT6)9SxbXorZSQ4d0JsuEPxk|MfHR=Qf z*Ka_JdYmGUL6bSv;MC(;`gf={;7dJPs^_DHdr^Mfz$gTtD8#*$l|W{Te#16HCMkb2Ph}0@%Ow=re`_R+beT? z)Mr+G>^)EQ3{S0dJl)kedcGSeF6wcpE9MhGywr=Bx6h|cEAwq=t_x}=*$ksMxvRB@ z8mu94vCxZ^+^-iDe7Ps+R&fk+RC%X8N0Jvi)#s|7Xga!kt_`Jw(oY?GeaRSAuQ=J{ zGL9#NMd0?4>SoszQ#zd=PsSjJaP-)rri5)xepuZ{?J4h59VkEZvizk~hf00tmb293 zP-&ehiz!|>=BhVoKT|(r0vA8L)|19;ryAC7&h^&XS%=a@rYV!SZiEVWLYx%|# ztUOY$2UG#pG3;g;xz@erXL>*5;VsM5~wQ zL%mNf^~m1tRyM++B)h`mA3YvL{xwIXl5%;-l-u(2;c`=jW#n0=aHxx!h7ie9!FY~l za(9(t*G~88iVww$;gLI#f24#7lSJ7U|WizFoZ5ZF+?cKT&@tMElF-cUlO~XIc)pxV{ z9q-zAeaAzVb&V$^d9nuYg!T-FngB`!K!$aVl_NQ^1`Yr5`kqjpE3RfF97+PCpzQ&= z2BG;DJ4v+Tdd$3qqrBfKrFi0Edhu>^=)>en6QTTslyk~85h8^9(v#npo(1t@nzZ?$rnEO}3g6gq?1v4ZA582P}&A;?ox-PlO zzkGc&B%OwiW&Wjg9g~0g_+&_!euDGlUm8*Vg-J4*ep#&mgD@H@|_&;`WLgD*I_Ze$fS>JoUrUKQ1KrC|NPULY9Cjl z1bsoPcd9}K`B#Y=5p=1yUdLNKD~~JV+D}mo9h9Vjq}P#Rl|`)gR!^zz!4Ywux)&Yp z6gu$fo}8E@+yC{*IA}C?V7PD`nRok_dEXCK%XCfYtvQvC@}uROM0Pa z4(efPoFj4!Dzl-wqc0h&tO{10c8oNZy1coC&;Rxw_3wm_#w{g$WQ}J65CJq@$#JI}n!WsS$Dh=L{=baB68_uc z-z#(cQJx)?QnfClCcVl?7i|NTZGf_+=3sX_Aa4+K)l1=VNl;sYreiJ&Rvz@WEowDh zmGY7p;LrHhKTz2QC|g%O$}jS!YjS^qioZa`U!W3RfO0$l_33*x2E7Z4keB<|Op!|| zo9K1z#ae~eaNaUL9HBzUBYnE`0fvikSpi?~QE~he9+{4Xj%OP1EFb3e8F#~oc&G_X z3RhYPcs)galztg?KhsA(!r;d}$8{nw3R<-prWOpSL63+*J53ZxNpM&8Wfem1ec6%w z@0r*SHauZ&o3|8X?GvMYDm-$H6dMbQ?RJJ zic&bYI4wK7-4*K>Q3-L-P8+L=xo-C?1%bxxdM?y{?71kxyEboYzjojZe6D6_vCXgi z#-w!KtwhJE%PEg?oEph}mET5ea{^lEw-5hCW!=|kc?W{$tuW#~SfK-gYZ_CsCCf$>G2R~MS?vqizqhLGbN}i# zYro__-M3n;W}}`;kGvp%)St>$qoe*6b#eG*R=}3!b_A1+PqhxC09+QHmC%%Zs?zw9 zwY^zwdsgcW<$PX8k_RV|+Ab-a*XnKZh2z|_$Foi6 zDFO19T-Ux*7jd_@tHYAR%cMrjvo}V$-s@_yWPctl&`KO!y5o5L2YF8I&wMRCG|3c; zm;55L1O4J)@+8ye2U-&7UcJ*Fy%|waXPH9=m7$(`kYAfd_U>>Uo^#1E2M2-MbI#to z+LP4ug{$&3Wb(|@3CrUYSCF#lD=x_+1H7dF&2orxH4jmQ=f8aTbBaBW!?Al^UD;$tot~>La;{!vhGuS zJ)ASL#`j&(r?-#@=*^_cCl34$2DGT|8vG_1#{#ImUTu0CBFbw%%{gsheOW^;XlPqt z>ID5_-&g{m3#%zKL^X%Tq}rI_U&Lp;&l8{SId23vK|ab<|bzY!Mg>W6bWROQ^_zVWhyew zNg0RCby5aHV04nuh>UbnW>*aE0* zVotzHVGC$XmJ>jc6LSJq7F)o|VGA%6lsN%I8=;fh2`gd?p!A730gdN!0)`KIC%}L@ z<^&8M{7yg}OHKdF(<&FQ|1J$4z>U)rkE38 zs2Fns{;<@;wmxV88iGckF=zssf@YvOXaQP+R-iR#146(Dpe<+z+Jg?DBj^M=gD&7h z&=qt8-9Zn~6NG{=&;{hJz8n2}Xj^UME9(*k@0xR$V)G_G?3IYe9PRi1tJn#oqKn+kE1cQd4 zDQF2oKzq;`bOWIv0z`wpARZ)vL0~9wg3(|cm;fe$sbB_}4N|~-uox@@tH4^Y0c-)O zU>Dd24uNCf6gUemfHZIo+yr+(I(P)0f|r1aNIUQWH2KK^N&|mT0|bMnAOz5arce+K z;sH%$a)NPS5|{x}z+$ipYyhcXA2fhu1N?vklm`BQCSL@DrXU1# z2B9Dt!~>dC;RNHrBrpS{fW=@H*Z@+&K5z`21!>?WNC!^=)8g8|0sKKQ2mzrW9yq}y zkOEeLRB#NWfpoxh@DCio9|VIC5DMaf6HEdrU=>IO$3PlL2TTwDzybV0FbDymARaiu zB#;7DfmCn|q=9t64Db&ez#jyI5D*IDffGyuDPR>y1;;=dNC)%+bAVtF3Y;JXq=Ga+ zFE$4V2BE+SQa~z51N6dkfM5^`oFE0Hf;2!cLI(&2p}+}JKq^QB^n!GNU=RwNAO)m? zG{9_d2f-i|I6(?X1!;g@s16VeLV**cfK-qM=tb)Q!5|bkK?+C(X%fpohZ;ePlm01> z1fyF^*-KeK$)KoEa6Za+Zj_hr#IPuw==FPt>@&cY1s{Tjt{>TQnKEq7+jkO;cWVfv zSoOnTUz4m>g|b|aOhi)j8@#_Oz5USf{>D4>j(no_PgwbI+o|V$m>vd4 z_zAE{2)iegecY~tBP=;7j_)b^WPo1TN4s_;{Zvm;y+#a<4eJ*Z&gyq)-=5ri_l-mM z97GAaHil9Tz#tD8Q6=*#yeoyi+(X z>Aj*bdr@StsQbN@1Fn4~0_wgRA2oiee|2B=@7h;9#Kt9H>;goeNDKlatx)o1X`Bqj z8Q;h}&a{0iRDe;ic^Of>(>_T|v>ilSvpXX^Gr^_si_+|AWgGtFGE1JZz&m}ng8)K_ zi_1Izj^<&!Va^Nrr*zZ3md~Nii=MayJ&QDIC5fbDzNq=5excKTrtv8VfKGfzc!6?g z5L=XM#>A3|BbtWeq3q_};gB@Xm$zTf?M`W<@+}X>kxQVO9x~qMX@SOd+@l|f{AX^p zK-g4=Q~ixPn>j!*aDq&gJe}}nBH*$QkVxi$s1S_zfs@_?`2gk8J5KOYPap}rKc_DZ zVSM|@GF$@-okZi9sV#`cI%R3*;qI>H(0=HvkI8%n<(GURdEhMVXDSzPRIlR-ClOuS zm<;CGqNGHYAEWctaMczha(`2^E%*0^vQ5XchA$gkr%_s}RSsN8WP+35Ji4ma_YF)5 zIa)Sr-KZ9gB;fWuV8*?-qmrX{LQDjVmn4Nb&>GpkVb9hbTDEk=%T{aE_ijHPQ5tOV z&g&@S;h=mdE@5z{K_A}Z*B5&AViJ^?@Nridf`y?cG;BnEnR@r1DSdowJMxexD=x~> z))5ZNd$FkXDY$Hn!}l6q?}Rr8=%rkH53kpMZFu$H9GtiJIyDbRI#6{w665+Q24fTP zc67*j$+NO_8RbqWjncK`(!l2jIp`U5z?NAQUL2S#Nw(ui8iMXbh!|*bj+8B#ak+>F zW$^P+44Ewmm(rB`Tf@PP*Lt385@a#ni#A@g`Y$K zIcZ+PQ%pxD4o>XZuip@~`bP3hk~74!yx~p2iyGyPN8a(Qdh@mA`hqfwCeuXlku&b0 zq}*d_Mi5IK5zJCEz=(P*4f|<9!7S}NAl35{Z`IzN-1S9f=n&;>oX>AhtrG7Iq7-K1 zd}V4#cwAgUMec{<{SW=AW^}USkEW_5E9Nu3p0A9b*Q(E z${1dZ`0$=@9^>@*wK7eZ<~PxMeklH3*ZrsdmGR8{Rj8O7_m)1jT=4UID;biF`^C@i z_3rZ%g)`2RV4^82fhxc;T z9-V9<(SsfJFp8LL8shsbE}>{qIl^AjNB)}i3+qk2cJx)0<;rph+48S^mAxr|clhVI zgGyJ zai1j9y&*k3ouqp}ZcgCWcb%W*IOPlGl<`m~K6IYvKDl!<*AX!^Sl{zNI10{zYv3WEIU_kiF;EHA0WClm5DEH&;eeV^sri(eO{uw*nn|g7l$u4;05yaD z1xRNU>4GA?PelRgcB%^Mf@YutApK2IAPx)yPC(6_lff+TJy-&M1RKFNup1l#Cjm8i z{syjtJK#_71iSJ75D&OkRQ;u2I;sd4a$K^AP|r~nwo%g(bNN^ho%W=23mp; z&<=D2oxz8oI|v0dS11BRg5IDHhy`(=KcG29$zUKD0%)GmFfamq0!D(-;8QRbi~}?$ zX*?i3NfW^&Fd0k%Q^D6@I-ogBv%qZdEg;=UG`Hz{Fc-`N^8w9yS_Bq@C15G|0g$ew z6<{S;1%3oHPihTV3)X?30L`BwsM&WT*aS8Mnp^cV*b26R?Fu`v-3fL9(z8QzvG#&} z3j47o4k#SN_7FI%Ky$c`f@2EDu{{A!DxAWW_ywE>XB4OznmDI$9@}35%@HFmD$u+! z;*vrdw!~#{1zc6QhAnYj;Rd$E?+Q1uC2oN~z#WCV*b?^??qiz{{#1B?E%8v{5w?%P z6Yv*!s_+ck=ir6HOKkrJuRsQ1+IK_oqkA}7!GUd7=vg4jX9M+I+Lra841TMW#&4pO z2PN@ar38Mf6vyxEqWV$8QNyQe(X}Z)6t4=PBB%rcKxI$`R0B1@`=Aa80`);7&=j-) ztwCGR0dxV~K^TYveLx&Y1cSgZFcORf6TnwsI`|gM1&hH7um;d`L(j-=a1c*nTD5NT zLECm6I(F*ZrEB*dp}oQ*qoQN_^z9cL7vDcIDS5!afu!ML=&)hKM>w6Ij2ty;^rvIS zjvM#c=i|Sa_~oR@Urm|z_4FAtznT5*obSG$J8%Aig^Lz1{bAYi6)RW$xO&anbw6#` zxM}m2pSNyH-M)Rt&Rx5A@7c3w?_T`dvwPRBojbOtZrl3v=1m(ntY5cw&FUXlu2{Zo z>5|2Z7R;abead&=&i-cRjOo*+el>a0#4pBwK5p!%qep%+V))RH2M-*Ol$g*zE;hDb zUs`x%6B3gK3>-XU=&%vak)u8xGw!qT6DEE+`KzhZrq7u5&9`$>zMnUL;i4r=mn~np z>gKh}zx{gl^vPp~5A55$BlYJ^8`iB^wc>{*3+H`5XZFnLQ@{H1i}B;ej2`J6hD#+U z#>e*UgI2e&p4~p|+_BvUZCbTx)}&E`dck$;)PBEK%^KCKSF2X7YSk)Ls#LCwiFN@2 z0T@DDsZyni6)R$(Qu*@b%atov7E2i{r9Bqf$Ki72a7u*=IJ;6Me}DK646IzaN|mZr zt5vIBy+)0iHEY#+zjp09b?Vj)3J$IZMIa3uHEz4~sWX-?e4$^RXzADy$KlZB!>--B_vlF%j-)GpgqslGANK$k zrvgL81*L@-7L=6VzYya&7Qsc z_U%7#@X+BSM~@vle&Xb*UrwJnbN1Z1^XGq+m-FY(ojr5r^e?AQo;ZH&=#j&R4j$OQ zZ!ZejPNk4-;ic>+DrO|gav2&M78v5F9fE;D^0q>VPlXU?*~Se2OVfY$USsChlsST# z6@PxrSdAHdnZ7vFqx~AK-S|UeHvS-n;twIe<Wl>G@+U|2m>0?}L0_?>$hlYh>u)OA8&4N~Vguxx|^#q2FY{j?2*W41^Fy_P% zma!PJGL@xZ0Logp?ZcoEb=`;kjj#r{0Ipx*YhxtNABHcFL0GrqcfA(>Gh$&dIoHFe;#R~kBfe0`xS$F=-d?B{TWCP@^YZ%+48q)6Vpd2_p$B1O2~9oN4iMG9tGUb~V1 z=7EA){OA4u`Tk5c6Qy-B$||if%Gv=#%j9(#Y#h=PFqyAZl4*5ogWH5bR~Oh$lzA%k z6R?iOs-8CpmJm~+-R%sXm9=;>Qn1pj2s($(oq+G|qb!$jgX@Q*XUBaGotpxiiI-R* z;W3`EGdM?n8kh2`QHX2V3s_Y2!*hEX8XwNE!&vF)My#^NIh&Ay@J&KG258+tOfT>- z$W4A~3kyEH26&FaTImSmGWSR4$!mGR0pE7vIR1U+)Z&ci%#JHP z#!CKZE4$YaD#Kk1_gwt{bAFuk-O27XQ47)DW2C~we^J;b{FdFT3)SJ5;#LT;pff2Y zxdh5HS_9!uS4&50MJ}8v$H7nVQ{2nIf+YD!XQgl~9U;+L2zDlA|AmAK0$uSocfZYD zGZ0oW#XX1cp7N_050iXrg;H2${{|r+&-=>=GZ%h6hP#Q|lc&7AjQB`6N_mnC@t580 z++EJ!XJ~D?fID{v`DcQAIzq_B-R1l95CiEh@I0qnynuL8P6c3<@9!TNd?(*`%9{(w zk#xnK%F0%jhE^RaIs4#`?hUyY;@WlO@xcl<)oUOJQAr-xK`5>@JsI3Ry1Khv9aZhfs*8Pj=se0g5YmNIQ8v zsGR$8cX{^EI#?E6%AbU_@Vyh9P~7DwQhs8-fkn~N5=+8%o3=^C`o7Y+#p#hjVe9(dEMZ+O|g zAgq?U*JvRc`uQBA0> zvU^_9bETS8U1j&ot?aIr ze0eL^Lh}DK9=`k8pA^(@%J)geog8UYh|I6-axJ&MJ7$i`2mEBLH6u4KCVd?!& zE4{y+e09IyogVLc^=K$_ueIye#q5$ARRRMG^C`3Pel_gMa^-*Ii~q~Q$tRxDMN#oT^2LAT3suJWk9;9Z7;fnzl)X#7kS*}(bZSeW$wWu=XmOMmKG&81 zJ>sZ6H z={JH#CN`e>M87iV`S3nllBNs_dY00A%^!&if<~nt_`cCkCxaR_Nq8pR`ZXxJSl>ZI z7Mu-=?`b%a?}Ht04d=nCkdI~!oDj6e+JD*jUpEBZ`>=l9o9Au>U25~i^w^xH;P>N? zj63n$vu&F`GT~B}w!JU38f|NHf7`dtk~_vMdKGjcjxO+h(EHrO>Yzd&M&Re+ZDt;U zCqdcBzsNzb+mVD(Pc#TKD$XMZ9VN0ezD~UlG~6vqII1>icR<;Q55J#$8hh6G;Erb3 zKL+81g=1`0<^(B&$^JpP;(CZMf|Qiuz9}#&PdxAB5{1%-;ny)qd_0e=!-)HRt-O&x zIgXi~=r~V%=EFR^EZ3p@&USt%23Fpb1bWPP_=;*EItN!r;8?umH_bqO z=SR}45Y^yrHqK9sk5nor@A<2yn{>0g3T`&S=i?@6UJm9F{S$w3Q73h6G-8>CuJe(Q zauC_Lt~@2mAzPAAFPwdUy)$|I2mWLe6Uqhufj^8QS7Yh5oU8XiR>}I$)2I0R$LUl3 z{nPZR{{CtDpo3;WB%hGjwQ~2Os&W|`P1`HdF(fh}j&ds-`Rfr*mF{W|XTu+=H<%lO z8rF|=#3NpQPDRBK$SL@Y~&l6qi{sWKoP4)4fc=xxoXL5U5_qB zs(3K_faEs$R%GLPRF6{~*mGdgKPnfoREd#|i7;GOtqQYoy~OC4C^A^lFUIXHJNen5 zy+=l7<2pFs{YuN;`CJ`QLT@>8|L**F04D2ee#knXGf92_z+Wb*C|myIS-DDVU`yWI9aEr4YkMN|Py-4=Ji_{&Er_du`&f_#*fc{DN z1Cu<1=aH=9@1O1Ww){O%5f&@m#VI@KgQCQqP?;cm%0_&tc5r);tNZL+Cp^4gPZ-bW z34;x;$HbdIdK58hNB*kkRgzoHIBFqJ1(B$QvYshFzTU#;+AA!#W_3m0zcW1QPyazR=uzT}GMSc|Rq)iw)A!Nvz{?EJ@OPj0S~z?fJxQfB(+kZ# z@*DiM>(TTtkF#ELr|DcuAebwFsa;TY!sE%qSA!4l8xs$&Z*}Lnhk143@|3W*o`=+{ zCSxcjZ$B@tU%$9mPj^a(E1r}fS*_~;QVD^kf_^cHiI_ewCy(nRm)$WhpSL3Qj7p9T z_YALpa%93_3XvL`6mOpHlrLoFR<>`W%#!nnFU7~3JNc()o6p1Z@Fz#h};dR};sN z8~w@fAp?{8$M)$R5!Rz?myYd1TDNH0xIw+3+O=v_s}ks6v3%JwrAibpRxL9ZyXb7bhe<`2akd97zuym=+R@x zkDtI`c*<&?(=;4j&1NN&o7h6JU-JgHGEh_36FLO2;Rdbiw*8{@eYyfr%Q=ETHq3skVhY)$s_Tt zHYL2o!xc_qQhSI-|9&{h0oA%RMIJYZeY=ed@9}Zv3w6~+MD|MV?a|A`^VW<12z-@O zT~0=DpejMhQ1ms>JKl>wd5URjbtssDTDLWkDwM{vdUq8mQM8YrEFYRHe zggm>gH@(wt99=>wPbipjuEj?WCZlBzOx%|RaWCnAlmCdwcv<6sBF1~mKfD4d2-owK zsU&;3uHr8__Dw#$_-l)*pi$elMIEXEDdqW$4nwoF8dhWkJ?FT0N)w`&@H)i47NV=_ zaFBiuHO$N*%6C+G|04r1ji0KCo;*Enh34{Us@&pn9zyjviyS<4V$r^;8;pXWecoaC zdU$H|xQj=8+!?F*=Z&LEhaH8d_T7<3+NTEyg&!?zv3#F&MXAT}MDg%n8q>|oY^gbi z=AP}>xj>boc(G+(wLZ?eAw&oj;svKLNk|b^xz-RI&+L*a z9K#sQbY=C2@?m)`&&ooPaYiuaILQ&%Su^{Q0w|Pyc%I!L$Am@To6kM5b z^2D(thYs$iJlKYEfa%OXu3Y}Zl0{SskOfn}nnV+tM}0DUD3t-^K<`K@0-ZXvZPT*3 zoB`D;2UILqx|L*jwMNcgblnwMu&?CWf0S^Q(3Tc<9B%J=`BnkpO z47)I+dow)>R16j^;92nX)X86>5R4uXPXHAFJODYR z|2gUR$Ooz%csB57g69IN1*#QLDO|jOOgKda!JP+dSECp#rfKcp%=~)F`V{tOl5Lo_hnrCdN!Knvrk<3|oc%>~Z`JPHfu z&Y3lR%9j(yjYc6z?%xkN(7j8C4_Y;ARIg5rD*ok57k3o&^YyVB|97Qd$t}4!JjZ+D z5grNT!i{T}FI_ly2AMzw;pa_1ty%fQqWLMaXH1hYe1O>k}2$ty9}pO&ip$S=GN>$)W}G=CYe~|EtQsn(!=JIUAll#v^h2=JhL= zE}TUs?BAWbWy6{kOBbYk^Y!EjV?P->uz%mEu&y0LS~Lo-Rn@<2i6Z%POXmL*>32UC zC=E{@{YklS`Qo`>jvv~$bL+;nE0)ZgGvliXW1K^hVxxO??a-!a{o2+1%e+@8Zw`z8 z|HA!$y*NC7`uO4fJ2$VT{d(rap}pHTuUolz?l;pWj&%;|-zU6l`&NzXR`)MctbniW z|6=;p?0EGO+3@GxTi1R&ckL({2m@G6Vf3mc3|)o5 zxK(=?wCW5aR^4E@Dip@5B4D5@8b+!5!VpzFj87%O;M5=(nHmbiQlyP%G>l1&gCVI2 zFd{VxT6d;G+rbPNj+zZEpD8dHH6O;J7GrMnG8l(Kmg6Q-W-K+{AzOgue;d8enCE&h_s zIte254(J7=U>2-`B;>$c^gNiUo*%Q>i(uY+am;=%3vCXSgg~JxGR>*81EI0d zOlXOj|80d1LT8~XbQFXMk`z5#|aD zgeAfrrH5l&!E_c`IBa9Ox6+!F2ze+rL4Pc5#z)}agaDn{6rihju$71 z)5MwL9C4nwSX?fy7T1eg#O>l9@t}B2oFq&YW(waTRttrt!b)L{D^7cbgThhaq;Lkh zBz_aF2se0~(uIe@6X7{x#V~_j4?PYR#LP#`CFU0W5W9k6VbLKL6N^K`LMgEf;#pp- zC{_{!#6Yn!^bS-LtBWLG@Ty~GGHN{mM8`iik)yqF*+i37yJ;>Sqm2yvu18fpCushx=QeuWfI7iWpH z#qY$q;(T$DxI|ngt`vV1*CO?skp6Ar4so}*4|#9|xo}cEEuIrEh?m4G;&t(sct^Z1 zJ`f*^PsJBv2JAQMG)9e8BWZGK@@VpD3TYgg4_!-FW$DJ3?pS(Y>4_yYG&BrLuU@^v z!^0yYA|j!kw|6x9Q@JWJD4*lH#N-}TQYFSUiOGt@pma`EBnGW>=tw24bLc~b(m8aW za+Pz?IG4H|J*Ip2p|AAFQFKV7hxFX}UoZT2DedyrYu9i5e)EspckbRpPbl?+KBi7k z^nuDm3TD@+=rk}TM-?eAo!NW(7pZw*_xnD2-mUiXZb&BQPdlbh9xOvzY0I8 z^SJw?VGrj#Nd5Clx<0+k{WkZK?tXJ;`|VqQ2Zg@+Z74v z+;UMmg}Dx{amSu(w7Xpx%*KhNLLFL$07xt`=`kmFaM-afab zXerI!(SFbtZ2QSt!Mey&+%n%>+PunC+jPhnW_)ItW~gTPRXPqhHKcso z^SIjQM(1Vj7f1-F^C*0DpCn`4A@4q;eb2`JjM6&x520kgpjFcnM!6Tmny8aTmlFcb^{gTMfg1QI|zhy{H? z9}o?qKm_OoLO~DE4SWbXgN~p*XbVC>YtRxj2Teg^&=AxI!G1ax1nPo1pf-3P)B-g@ z4Nx6a164s4P#FY*0N@WQfr_94C=bekvY-qo4N8HMpadum-UG!zQQ!bYKw(e_6a)o8 zevl9NfxI9O$PIi!E|3%C06sthc3=ZmU;$=e0!Cl}dY}VZpaCKf03(`0xnd1a8u$UD ztap*R{@_aHTp>d-u5USGgxn=aV}o!enNVf9apFRpSZxMZ_{jZ8I8G)?e}LOd3?LHL z$*P)3f-C?g5qJoi!c1SCGx8WCGNt4X(g|E39fACbzF9JhR0xpi(=QPoKEv22d7z`% zUm#PptSXoerXswCxIii*d?ZGI1d4uQV1b|dTIhDRL-%`m=t5s1K=y>rZ$Nt6X@JxB zxe@muBtJvoCQ57KxIf~MjQIWTfKKwxFwN8xU8^`=4%Zot^v=x*-P^E43e0b?j_pNy8X~RG&B+d|hW_ji1=bpI z?9>Yvf>h28{X#w$U;tQvq^?1aq8>846}^jj@xLOoK;||>Ha4;Tf)VC34Q!K6&$?T5 z?C>GvC+^F{tGEXgPYNZ6z`iOjuw3s8tX&6zbxIQ0_?ZHGx<_F1k#AL-imcdTk-Z`X z)Xc$xSt#W76qd@;;N5|`F%OGN<=);sm7u=E{la2ir!?>pG&G^WDpcd*H6g2700u-R!&g$3|n zi_-!FkX9#>=|nfG6CJ5ebfr3dSPoc0&gsm_a>4qsuhW<1hSlRduy~vo){gyPc`HAP zW3pc~ zV%TbU&p5_-%hb%{#!a36Apo_h$(lyhS&x_-o=6UcZ z@Qr+-+XT1MZtm`5-MNAc!2pkPk99)-dZv2uo(}bQ)DLNJt-%B+qX7QhsBqhK5X{hThO9q%Rrx=tp>JMwVCKUwe6gC3)?UETP<1NVQawlPTK>w zbXgy=Qnmok=&I_`wRe+#uNAw8_EVL`tx~s5j$X8Bea^0cb6f6^@+W`>{DL|~`G9@> ziZzNpLpNtHWZ!3p+Ue~o?S|MJ>>W8O&QT86LFMqBgPr4G$32cO9eX&fbuv4(7T%o#g@{l<{t&nWp^iAwf0ryDxucMvRIF=94 z@>;gsuGnt5eQVBn&Txk(4l^A&PH9da+>P9N&TE}rTo$^#b(!pHc8%bjnUQ(oscfnHq#gB2lTrOC2I%o@B^{#DnnyX^_x-F;V&En!Q0 zCxj2~*C~Sk#lrzV3>-f6>4=$1D*D~{$C}H@`{vAB*lO(seayF;f4)>i%D;?y#p=sm zVRzjAI_I84kz>BoS?&(!=`OuodAwZSQohvfk=t7L&VuU#jfcH(v#?dYBlV=7XFNme zpQ|r#aH7GUhReO;8c7>FHZe6>E$Szxn;vNz)y&EJTkrnOA2(mv!mH)CEwN9I&yZH; zR4)#5urqBd>_x7mwUj_vdSDE40G(SbJtBVd_qui%PcQ^*dfS{B4qGAHqLxqsJ( zT{m~@9r_|Py?f6dk9(}_*)Hs2SX?iv_vYR|_9+Q>=-0G=r-<%~h%W{Y7#2AUmb~si zxciWxp{<8`4u3M@hf(vCp;7O~d>0cP%O5v-V*2FkQ|PJTGw00RvG~-=+_ewWpYMNt z?0qgOCgp#~{slV0=Uv;nDFia%yLy}J3mZ=JI@9P?V=s|J+_|ZwnaG=Ne!F=_i|H+; zKCgTZwi?;mzRmtN;l2-j=d^W$<-dddq>_LRB7ZvIcEF*IvpaR`Oa=ZBs19n<<>xNy zV7HKrkUmngG)ZR1tYI4CuW=jsL3#VG2fDWIwzHd8sD1ZG-Lre>dnSb8UYy<+doSzL zBm7Ry}kBYEYe52_7#e*;A4e*LQ9NBB&q(RFE?;3J+=(%ARhv$yCJo1-O zXGb4Z?oq9e(vBGy-9N@XHaBkm_zn~E<7Z6v)MQM_OM0CAYR2o?59gm=x*!d&w`}RQ zd(ok@CneW5myq&zcX;D6%>BObPW@?KCmWv^ZEf1yJFj_Y%S}G{t?b$~_4RApzFo8S zT)#(tS(23<2Kc)LWCItr>~yJ)pZLC ztq9%Ky>E}Q9%((>gq;l=+^e|PwBA&orG0qeYr@_8uI}s7Z*f0szmonr5qlMLzK9sm zFwz{kW1w9QGsK+MfZy7 zHMV=KG|q2alkrXyo=?c1_(S}bNy(GjX!52^OLUw1^|XMLQ`5W7l+E#->%8FJqLdZo zt4D7Q>LY98t{tMv@uUhST?Pm~mNXcsW9 z3Zs#ZtgF^|TqiS8VeA2V&Nd+dSO(761#3FF?3TRL7p z!7%Z7{K-itCV!{it=TYTZo;_4@Fd@<4%6;VJD$8UrTvT_XAYWud(LR>&AActjSJQ- z9=43X@>JT}bxpRkO>eWS@i&hSe|56oPpfZUEG6YXE^u$$-MhqRhwrKO<2qyo*oVy3d4gx4wt_M)aH6e`Cbg zirrsq8?ZQX{J?I51cPr6)(;suR50xPFwJn!5hq3r9r=9Z(ou~@9~d2^Jge-b%2D-; z%8BYV=Iod*(HYU}VE3-xu?^$y$L$+8VSLL8w2tW zerfFTpI5Y8bxo&PYh6EY)5PtacRbp?a=*8s!*QRp&KI)^#ylnE|Hi9tOZ#>&IuvyB z?2;cMXQJi(ySa4V-9sFf+Ur8^w|yG*ZQswof9nXL;-%selrlQ9*}z)^R}KmuY#uys zh-hf|uyMnujYu9DKWYe+&rNklwJ$1uj8F9K=#?=+V}Bo;8rvxD`?&CN1>+`;e>r~6 z1bX7aiFWbx;w$0%|HqS*le?-LX)KykQx+zKC9;!FCaI@3nfA-HDapc=qbZTopG;pk zqruGmGec%&&x)K~FgtqA#MFt}v2%yb3!Cq^K(O%H!kk4r7f)T%V<~^x&1LD!qgE8I zj7-bYHCr=hZQi=(8`K+LY@WF7>X&W5I`?(ZzV+W09&T_fK5NH?^SLF3ugggJ*Ejc+ zG!MkmuJVp|IrZw)aIy)o?k@UKVA9@%%4VDz=o z%ax4k5m2fBnA|aMqw9@r9@{*w{y5h7yW@{fSUOP=?>6b;q}0jn)i>0$G>xWYPKijk zmyno>pqF>TE>*W|^??~@Z!?x&oezI8_Y%+9mk%*vddFsEheuc`C2ZRTE{ zJ9!>={@3$E7UV8aEi79&V-b7t^2PimYnQBBx?$N+w=W5Zx1#;+~TO`iPxt#{K&hM zkmq`D)gPq%{PteK!@I8P`DLFM{eDr%BPR`t8q#vukHbSp?jB_s-BQ&%YSfsh=wUHE z#`?rsV=u?88#i#g^Mupj?BvHEitjfmW%3&JmzwQURwqnP9GcXA>f5Pjr_D_cPAN^< zGQHc3`!nXxY&`3`Sv_Xw%~sBNI43^!Y3d|xi8gxft+|SM=jH{>=PkImz_2iRQPAS& zi@#Yie5w7iZwGl>=7YU8PBTlQv)HxO&BE*EK8GEL@wsE^2*`4b3;c z+i2R9zInnH$=2sv4{w{ay~UTmeYrBdL?5za!Oru$-hVCGGji{|Z?g73I%sEbKkRt4 z;P~oOerHac-+gi1Ro=}u51KqD(_N!e|7!D4b;YU8@)FfHU)1!v$@BX>@8tif85%2 zoB#GkUs}H`NI$G!@ReeR=g!}DZr&C7wbSm?yC?7Q+WX^Pw|$ZOmmfHJu;^PmgZNOV z!x2XYAMKaf>BQYrac6SQH^~0t;+iYFZmho@RPs$ZDgW@U5BhyEXv^@Uqdmry#f*#F zG=Am8$Vty9PtjbP(j+l5Y1-5!(^e$UPf<^gn9*`(`OM?9l4rM{Q#fZ?YJ2Tv?fAK? z=Y2E(@Pcm_ez|DDV$~A=rSFy+m(5!4zvAwS6)PpHOsnG4Si1GP=Bo{>gVvl}!>m2I zHfY_Ub*!QU&7rW{+Ex%T+R6S|X0r+XP)&L;eLF#E#ApDt%y>3ie*f{HsGO5407<^QIS zV#vAC{FwIRR!$r@`L4!2ku&wuw23Jt)5B-3pY_Y^(mC%_S#vAq-kW!J{-ymKUPtX{Kb#M;K|^4G0cAH3o2hK106r#21P zT(o)0mbXwo_O=DvsO>YiKi@tMXthszW_ok|3w_pC^LF5!FL&2K`@Y=QeE**PJ_mLk5FgxhkoWC^Z{sq$89Wc&KXmZ0=DT)B9vs>7eV?N* zkA8WqTV_$_+~bW-^!XwFPN!$-ja$#8ogH_+?N5al=KZ`gXH)KktK#dYZ=5Mu zddKI1W7)P>HvR`k1vqdj0ObJU%qayF1Bw7N z0vG`XfF7U&fa?Nj04jh2AO}bQVgMh202XI>A7BC)0S15`paX#W18D#%fC3-~NC090 zAAkU6a5{mj1nB`%05Jdo%*5FS&;zsp6+jLU0}#Lr z&MR=yAU!|}PyyrsF#rL~;CM3v^Z+eD1&{;800c0DAIk{P1GE4YKn@TC5WozMGb2C` z&;nEdIY10R05drKi~v1A3s3>%05Jdo%;2Xo0`veaKn0Kk!~g^^gQL#~&;zsp6+jLU z0}#Lr4nHG656}Ws069PmKmaqGi~v1A3s3>%05Rah(I3XGOHgNOK8&6=gwfax)@xQM zy@Jl88?j^9``CZ51MOznow2jG?_N21Ctq$1cN;g4%XRMNoZ|eg^F8PKE`426T@JexxzuwFb4_vG>zeP%;dSCg z^K`sZyb|yoVelTUUCAVj8_1wF-k942op6+gRzXP5#k$@45 z6igRv5F8d<5)^}nqLD`@kA5CwJ!W~V@!0Ee%HyiX1CQ4p&cY@_KOq(>gi7IL;Vj`& z;RfLj;Xz@h@T@RLm?ta{76~5<{}8?uz7<-9ta^6!IQ1OrIYMx#XJ3z9kE-`x_*z&l zEE5(B?+9-SuL!e+r-k1M_XxKNR|)3|6NJ&ifx=Lszfdf65x(}g?_u&d;jznOrALy- zNRMtFtvp;j{t)B|jtMpkW(bB0f(7*jFWs-X8{C(>$GXei8@NAn``JzJHq9;EP3-oZ z{}X=`e>}en-;sZV_cbqp$M76^d9K@CV_n<3z5p-OT$dg$jxIUQtDGa8dCs}qmE3Ty z1NWTM9H%Z$&m8wTj&ZE-c-djTL!iSW&Nfaz&O7@9_9N^a?7z2*vg6u)&mPUTXCI^^ z>DR37;P<>sEr59f=V7ix&Cws`LiDqRzA#D@4znXj=nd{g5_+OAKo48!jzS@HgV5C$ zFpw03F!&o8m|;Oe2!vqN1ws&nKnR^7bb`;|4^H;|@0ka#W-oI$d1L3%iW1R#Nf>=BGjAU1Fu4O~S&&w{ZA>w5_AAiTAO*Vfn8 z3J9;PFRd@E;tYy}x)+g3d2#>9gAe2}iT8pg@Al$bWS?@u(YrSJNL--xS zZ3wp@{ARrg;Rb|Xt=A!3gK*V)#cG0Z8NwxNj`bphpCM#hFF^RwdLF_#>sjj=s}aI! z2&b$+*ursZCWNC9zPBE+erG*wJ!CalGawv_LL;{;0udj%H+_XV_v$RpTe zkcZl1iH9D%l9xS-JSu?8#lV5xg@c4+g-OEsLY;8CaG&sdp;7pY@S5+MaGh|maE35mI9eD1Qlvdd6KCNYkB1(49!8J-9veL7 zdQ9+$^pJWq_i*-jCb%g$E!ZVkB8V3#1OWn};FbGL_Y>}0+-JBCa}RQ_=U(o1#qFTm zGPkjAayKux7yMlQUKkG;%9rpt{NH&;c*}T7UPqn-ufR3Kb)M@$*OsoYT(Vs@yNq`U za^blA>b%Q2!5KR{JKyAf&DC&2xb|F=(-x;_r?yTn98WnebnNRWaJ=b|?l9J&jYApd zJ5Dkug!A71jQxE39`^S3*>+3pdfPeLWwRHvd$R4==U|kBq2I#Hl0=y4@(AYls9^R` z9?WJ6t04k31$Ho=3^Sl6+IDA(g&9#XC>lnyR7eT4q(-6Ps96>F6V7iAp_z^E z3D1*tjcfRwaJ#3C+pG3)BkLOzPA7a$xZI_h%N;-PIN|dD#N(B~<8L4kE`J4F{?f+f zgwF|=KZEdx)dE~@0X`?3PItCMSmjJI5Zhr{e{s8!$1j6woRB?TwwXmA=3#xga za6jSyd|RlJ0aa2U&ze^)35YBp!DP*~g({hF>4RLjX#E8Okq$&YR7r@RtR(zcEh&hs zAku=!i?bjvh}6ic4n%SgoV0~18FIo(!f{)uAq74%{mw&{Q#>?uJJ_VNdB{8xhO=Zm zq;1SYlJ~AiTA*n_W=K zY!|d7$^~Wja6!G=zbh#MhnBxV=tDGs_7{zHmaDS~?*^r6bZ_b3~SX(E9ToQT7N&)T$GJ z=ZK6YVE6s#fJ}M^B$@4iS`BwVhCm0DEp$LJ#f869=%A58V_;M8!le}Az-HlD zuyOd)Pzue0&BO;bqEM6*g;u_XaoQ5FJa55R^d%TOH-Z%o1M7SD!kF)N*zL*W|3d$93&$3Pfs4}fuG z7+aRNgE8keum`UX^kP~-PqZ0A6UDGMI*dsVg-?&QFwXpAeS}(iR*idigrVX>ci1=E z4aS}M&~pbe8vxyt5zxg*f^NcA=n9yeU=LmZG4V5@2^#^Ha)3qwsbGrR1J;Ad?F+a7 zru77X0C0w`+WVXANBjt?Y(IePcOC>_1IYOMZoo`HB%nQjjMqPcs4oJ(1wggH>`&Nd z91sqGqJlMoK;C?EIPmK?YTj1TF-R)!-m9--;Lwq(m~ru%q?B3O1xr@w)@|CR-?jIE z;YjAm)5f#5-7{@3S8qNlA$xsR9a2g2`lNsK=R;m~^im9kS$fsSP(`om+iJ=oZzDrIu(ZbBd7}iwQd>9?w0y7Q|vW~J&!3@J3)>W8USO~KUAF(Vjqwo#PCuGBH zLKoT%<`Oofo6ybZmUJ7sJ>7xsM0cU3Flru3htYlLezbxfNDrZh)1zPC-SCf0jN^|3qigztB1KW!gkvh2F`pbUytXT|oa1Bb;~XBKki4kS?Jg z(@*H9w1s{~m(wrlSM+Q8E&YzR(tOYjwSzP01~yoHnjFIK>vqd6#l4}xC>ZC_SZETis@LC>SN~T1y$xnI?C<5%$i8uLigt=u zH(k_hmiP4L(_oxR>$AMo=GOb#oc6um_GvpOzxI+r9cKIQ3HY_6BaAF21Rd(~GC9#$y@Q*3 zwkT=weanSD{ad-WzS??2o4&pdZH;Y{+WEA<)qXK-g!{W>eup;x7yTy%@H!su*soJb zr$wC`1%4OUC#WE38cdSi7~C@CXh>J-CFuy+J(({vi8&18nhkIW9*Jk;FL4$w`j8J$ z^KCY_yX~j#@W5Z#(Y=$U)9}ujof`%w2IdBO2C0L-4? z>+xZH7XN~;;#>G0euSUnHy`r>y&E0Mhc0s*%y5211;d=%20*Vl^jNTYqwTKPb+%t` z|HNL-(Q$6Ue28%l`y3uQ_&7#8Zg;%y$c0%SiB4ZT{pw`T?Zh3!P2>K+eZb{AcX1x$ zyv+HK^9|>B&dprHTqe4tLGSmv%PW`quESloy8h!+=LKN<^r$gYNY>_4C);zAk56I)YEY3u@$JeN;0P*p({V)D}IsGR(kla+t#d$_{$5 zT9~lb!LZJWQ`8qZEh>wXL|8aE)gyN#6CMGK5HL=RX@o|%)P>aCC7F`lsbO^Mq zngi?51Ws+yWhz`xC95ld>u;=bGAvw@9G66{Y}XofqH@yMsL7vRS4H;m_Ycpv=+FUT z?^un1PyX*D6SeX0ev4YYo{FAt7o~_3xidK>epZ zpdm^k<&hR(1c1D^x!AOD1}X#t2(AIC03!f_oq+*b08pjP&4O?kZoD9AfaOj^oeqlXY&qK@Iil3YNfo zum>vXH((jOqF>O@=|AW)x)dyj2lPF#ByQ6;!LqmtR>sftk1%KKBz=rN3^vJLdMDT^ zo9H!QyDS2UGXt!e$#fi8I>W)M)|c)9J?cPOLbsxu!Yplf+KHy2hy9%On01eJiif-<5QMZ)94*yu|wOeToB2^{jxk ze2QVN;!Wxb^)t-!K0zIZnch38Z7|z=C48ro3g7HZp(em?pd+cl@MTXgsvGRA*$KY< zX${{2HG;2#_!O72gB^U|z!yYi;N>lX?~8tenPDcdZGVE<;iq8kCD|i+KkT@?6Q#qB zt{cJHO+(8;7cD?@VHd|4@a3*YgQTBN z{D7o~Pker)Z|@HV5%KN$+WPdwn@4)|#EbWF9U|hptLn>F`RzV>?P_}St{?n%A3b+Y zzy?)4`zj9}2f6|F)q(i(s)DV_NwWh}5?1`5JjO&#ADb{477VLiYcnx+k^~l{j7mr( zA6X>$*Q8bJKFrpwI+7;C3a7RWPO7e3bm#=K9pEqd6M&sVUXF zwgdbne?pa3f_@gsFHGkLQE1alw#BVKS?4HPodAnye$-o#-T1`lk6EsrPjXH2TK(Q6 zSXaxo&gh5y)XE3R7s(6cBk2IPV2eAYB8xsIBgG+r4SKb}+@BJ~f5sXl+8k(&I)jJ35tX~$2ff~-?zyHD!i z@9tM^Ljmc3c&>WotVAFn8_mVSE+p_KxCv~>hx_CM6S!YPz_st!Fi!3Je~G6${+j2Z z+<&_B@w)0wxUNpQ>Wz=rRlk$;Y!6h^X-&Mf?|+()>gR2A{5Q|r?tl8cErWj(|EKr= z=J~(GU;X@_;wQ93j_SqsU=8r9>ksk)`a>{yFqQwPBZXa%6DsMso6LBsDf0xlio7Y8eY`VxzfFthPV@ zPGsqyeysIAX{*2e9qy9_tJP#Tli2a`ur4E6c-r=b)2HbZ6ZF&TPwj1T|4-jN)f9*n z0**hwSG73WhsDfl{cbZ+t1IEt_aT?hbFgcfI-zOPrqzP;GxRekajbZ7SR`2;GBheaTHG^geEf$O zVL9z+BBY`xk|o&5#n@?NS!@4zvim~f)Je8l1wHfWbCYa2QNkv1u}ZT04q3rJs_Mbd zKNm9|-bk9H`KS2EbN?bfc;rv%k!=jB^ZS|lh#08sr|7MO)j5@6W0Qt-izMr|+g2VI zS1s2^s+7>f_ynbGc|xE^r5e_+CsBVU-rm*w8cl+YfvWaK5Vx56FWRT(y|9m~#{ZY; zKq8;Xmjd>+vk4Gb09;Hm2TROH#elV8Tc=(e4;!!~C#WaKHFXk?g{|-;DIa%B{A@lx z#7kDQ{cq!qimuwFvAVesQ1--+)(%3`|E%slS3YPeTk#;u&x%G{Qq>QA5PhVb$-SDj zMs5F3ii!gZW-LSpd(6by+P&tv8d+q!h7I;=7B?l4kOXY;!#e3>6F|B_ytYm3lGHY1 zj{IL!-m2%Ip9~g5^?LsPG1DhUO&T9fw#2FFKHK7}-p`QOgX$!*t)hAoS!CZ9RrPwR zBs;b>DTy@wkQgv$m5i;TXOd=h_udxor!vfzAKQZcB$?<*;4`W2!B^$@L-}pb{PlO@ zgsnU3YM`zL{{LA6(CG)~koI$Ox_TMxkIO!bL3zi+obZWavb9DMtY2QOfIqL#{!Kh& z4Sm=<5mxv8umW$D9Q%x({I~JKTH=3=_%reLuGUYHlM_ReQvTyg`2RM4H5%u0wf9-Q zU0u%4#Pc_`_nGqjyZHXL*1$guW@c1^*ybZ3HQ=A5?f}(0d8~Ly_W|OL6K%h=>MV)X zB(`G$$f>ohqCS%!vLt%qR1I`9U>j%HtkD+5zp%sl!w#X)4O0#6U`rGvs!GXHEb*uPYj?B@z=yPDJn%t8VfcJ znhX#8-R~r!s`$n#V-rcQ>0^JdifEK^@#-;P{?u4spTrY2mbhzbicu90v29=>6)?^| z(2Fg8a-T&1;qE8#5X0q@h(6{M?vIHF;iHU)9#6cjQfl%`>XE!>8|;aXf^E5K+>Rgf zp&6etHXdS58XHY2`a`^lP@}+F#G)j-0#%n2y6jbjtiG;czE4)zugZZf9-#7?bw8?~ z|0pzTy;1$Ut!Btp*H!gFb`P}ez70OXswG5h_iNg&#-OzE-Y4nS`u&sUCBrZ<7Q?bV zY_)pAY)&$}i-NyaGKBJ9tdmv`o+Y!%UBO4}YI~mrv&U*L=JTJgA?+JGPjxwx4L%Ko zT8~U)$dmxcOkJp}fw~%~tAV;2sH=gx8mOy*x*Djffw~%~tAV;2sH=gx8mOy*|MP1A zX~}$#I@Hxc9SzjcKphR#(Lfyy)X_j44b;&<9SzjcKphR#(Lfyy)X_j44b;&<9Szjc zKphR#(Lfyy)X_j44b;&<9SzjcKphR#(Lfyy)X_j44b;&<9SzjcKphR#(Lfyy)X_j4 z4b;&<9SzjcKphR#(Lfyy)X_j44b;&<9SzjcKphR#(Lfyy)X_j44b;&<9SzjcKphR# z(Lfyy)X_j44b;&<9S!_%K?An!^K5IjIyiXnoSmHZeJh=Si+V)u0IwqO{KO0!J4%lJ%vqwy=gY0?x>ERE%!F?`Nwcf|SHTA`Z9Tr(~d5jj`CI?mP5dXu` zu-4&H>!|&D?R9=_iT*$Mr;6hK^WR#{#;;YJhPCrw`*%t#Zs;PmR+nHn;x`mGtcg<& z|9pxM_mTYbp%x|7y!W5Z5E~!b(RS4EWz8A=>s^ZK`14bat;L?eBA-8Mv1iPuyh;B5 z9B-1}Y9Dp{S;e!pX}&i9{eO`^kDvnBySHsMi&m8Y_A?iYZCuRfvtfC2qOpla{HLRK z`TwV{|0(_2?ekCR*M7eC^*^Oo`}f-K*S>}w<^Ocl=Ih$=)xL&pX8&~5e!rHwgdI`- z*8(AmI{K*HiXX3Qx6eOae|+=r|N9ehz(wu${ipczEY`~ClE`XKo+us z4?is!>_hEgyUv8&tpDZlZ{z=`=OFC`WZ!K#K3^&W+xE~u#b8@V27&zT6yIEziuX7o6A1-bN{Yhi|PN<>$RBveE1LbO7^?2b+GL|J*w(e3(wSm zJpO_wL3R~9^b*eZMJkjRphFMfd=1XVa3lIA8c|tr-W!J~U8;hbny#Z(&6iV&=~`-7 zmWh%TidjRmjBvJ4P2Z|m9Ir#HmaoJtH{KVlC!PObgm32PEI+pMiy=j9R zyP(e<)=y)a(#a?0vPrt%&Y42L)FDoVAG!)>lAk?s7F6V|Lc8P4=yZe; zCGJ#Fry>k!TDqKCIbT9`y=8>_@TuO{NPcuwWBLzj^babk?QKRXk%zdI*S0G)k*Idd3XS)gvd=^TTAa36j;8N7Gw~TJ^w7(Iv|ACnCo-bwEWRz> zls$S((jRlqfR9Hi;9W7!ijbg~b8@^}Ek-l;>zTvRX8fFIL>uRuaH+tI_Nq1bmah(_ zrK#{uUp?A6)6AR?)1Z}WO-y#E3hhW$Fd5Nuv}&WA$sEE*J5vp^FOx0!cW)y)5NE)@ z`54if#X5W?P=mfsmf))aDtK3ne+m<$9W(XJCGbM7+^AztMe6a6RK)xorow3(5tFIp zUA*hb~6SWf!p=9iJ$c<%USmT5v1gc|Twc;>_i6}}drK-uAZoEIQRN286*wLmkz5TRmz3ozoNabhMfM2vrq z)XNG3EX=Wq8riQ{#axOsOYi&fnG+L@(%-O7W{MO`OZ~*Md>=C^#75~AKLdL1E0^Z^ zX;Bfjgk1Aep*KFNkZXZrbQ#KdBY=;736!8~AzJ*apBNPcDDVwGKDv&LjM-O@@A_$( zhu&J8j}i08$H0{M>18jxG|X)*k(G-KvNB(Tl*L!c?qZeny_Zq?%GVUab5KYhVr>Y= z!x-}3#~kd1N@1O5<*(S08= zej-xgry_)}!n8$vQiXOlE#tBzuM$fe@)vJfHL7}E2a zghlg>!G5K=!Q#rS;3ifB3pp#gNX_Y8PZ#FLKof1gqB$UY zgYTKBN{#}Z856~R3h6d~i&zgua#XK43txhAyIOe21Z_r+J#j|#nkz<`L*(cVu&`FSwaoe0+}IXWLEM}~<;W-Z9ag#CQ< zZL|a(R4bT-onq=0SB17G^HH&<4vqdnLfscB(CWoze8*dkB68)_)j$bax>gUgX~FVB z1!aujqXk=mKLRzFTkeMrfgE~6>rfuHFhrN^PSoMYo}j-%Rm^Rum-Lx(T;L156=srU zg{#n(`DW%a$dYT}64@@b20anz(AfwBzU`$!s}^f)w3Z2SpwL?aa#4Zufj1AwA$-rr zh^Orlqg-sj->P-Y10OzCXIOA{xEvoy6f=)~6b!0NMdu?;OexQR%6xRPrveo^Gep4@ zLEPm&CMl^GqtYn*-B*m>c=M&%p<;B;ON(v>81OYnFLQ(io1xs-LnQdNHy`bvXvBrS zW_&Hwz&sLx+)LKrLO(ga8YX65cp8{(seD`*pl7ayX=RkNQMPHZk+~Cqn7nX{)Y-u# zea_$Lvydm)lS;`SAZ8A3pLfP~&SMW{}5XROF+< zu9jSUF-(IWcpGpr$edR|b3a8OkOgMuiH}A0n=jPc5FPW;R(cykBF-6E_XP&TaAHdBXQjAdd?Dboi;47F)c;_!-C}B6HvIG|XFpgdz5UIY7ZUvo$h%XSq!t-3`>s z8iEXPV=JUf7i+2efk@_KQHOX{riM(|Z=s3<71DrWbucPQ59)V8#rjpGK`rx@xV;JE zdd0c;7UYX>$-+bq*i~BbUC0NaaT@-A>M2H#yye&oy7rNm0$mAIp=TluV;G^Jehf9E zBO~N&IZuo{O0)1|FFtwz*VhAdAeRvO6=e1cPlOLB z#T4Pyv*8lNcCg6ir5V9qGoeFD2@+IVr6Z52SX&b1)Q&_kBChpACQ5b8ND&!! zOo{Nw?~E)rkSV(P7W9&%LTw)FX$oZAtc_x@izKMB;c9lNml%!DP*9IV7ThLJiLV7J zKtA(8H|e0wGVl+P8k_xU_7h_YS-{rOf=vr_6kuc?0Bx^J1v>E&qu)Xl%$YDVTCi4+ zaxl<6Hp@07YbXbhA;*VEPzlH(^-ezP4VRC;nJ7jjQ10-HdXR^Fv~8vsJ@zu;)@2g< zCg`ZN#eDQcB*)DP((uor7VJ>2L>7^raVyQmCx@7DB`rbEMTjBt+7NAkI^?65B8`m5 z>)mP{$Px>FEiy@s;RaMmE6|NVBQAjQ>eYyP4)vZBs>4N)?t(N0RRZNc7ooyWybL&g zkDj{YYrsE@5aXAgW@g|y3w0CZ;E^~pW95mN21SMVDi-6{)-)LNQ^=gkt@u)yk$KLQ zBR8a#RzTUZBQ(qt$PZnV8f^BFpfV`;LvJJQmRZRB6sAI@kdM2*D%{qj#0I4nJr_`J@ew@KST=VC0Butjxgd1PZd)xGRkiFnL%Fa@q2+mRv{A0 zjznrHA}`r|i}bBXE7i>uv#5$xM6pdFH$hKKPB*e%aX{93B2)-zwlS%J$NA`v7eXZf z!WZ|wO(1{t_?f2y6FcEH$fLIcBgh{u^Bn5wdWalz*d`g<*&xdY`!P4v!VsQwVOyl9 z!!78Sa6Ka`7fI_Ov2<6Qg8C^^&iIz%5LA%cW!Zcq^#`p*VMnr@(1r-eR2ZE1@2H8qn_`%Zq*V%pRqL zbv9H>{eo4{7Gh@VS~biDFWn?89#!0c@6bW>gEqmGcNN|ft`vd8f+(0S41ae z3^7sK+h%-@VBlMUBHmU^5o4Q=XVwZzb z1{+lbWgV5lr{B|jbVY!W3$%McHpUe^Grk3FRStF36!`9$ryduBOuFG`ggoZj?9_5k z3C@g=Q&xEQA=s{zvx3=@XrxGg_O73qaX~8CthI91MQlXB2k4jv6=~8I`Dysj2r>1- z8i86^GD3*WwJ}*sm4m)RCq+T_AP;A+wNT{(6CSWv%@94*GA|v!5U4PzyIa00)SxH} z%5Gs=0?nQeGuUkDm!2BNwUh__Hw$_T^0C4TF;77MZAz9v{fN_l$wn3_@0oB7dIU0T)P564dNasaJ^I7bh}#vK*?)Li@b*L_dLG+#yE%n?}i|_j)EG))o`FzCs z18f6xfPtytn9!u1T2`6J#M}zhfIQMu?SQABcx#v!Z`J6#2o5VK2y$-ptM9e z%>zC5gq8zMA=Evy%qFkPpx(;`I@~ck0zUv7{5iDy3r{ij&dL4mjxdO zKH(Spp-C&OGR=}gS@Zl1%qbV4fxEJpVfs|2A<#7G|Ad@O1>N9>d0-EcwrEm-QEO8n zW`jH;I_WJfp`3~{fTk?C$VZD!ehSt@PaWtjKJ;T%c*h7WeJWJPD)1AdJg{pM(hTf1 zY6E>4`ZGCUU;}JZGO=5YAb)^{UnxNzTA9(?A{b}j1Be@S$WFuIhFr$JvJh7QAJs3y zDDb=zTR8^cK?8oxv7n~;W%xBuXOq*{eNB|TB@I0TI)-wxd z8t5NG5Ua>nj!S*yOy2`p%vaGS76SS6*w-uzHu~Y&i}mz-s|b}^l^_o@a6fqF9mj;9 z0FSzXPLl$iS8}!Z4`{1b90O`=O2uz^5@;tazUiX^o-V_01ZJiJ+Ui6&pG8A|>5Tw% zra;4No@it}@-(B@o^t3*n?e4H@Z~@i_2exGQU|fDU5*+bjJdAPt;B_J=?oU-J~$40QXFt3mDIo%cKwL*#Rzw;72+m(UIhrrcA7FJJ{lY%E96 zQ}20t=GzfQFtNl?0clbPwprE=@?PqxLCfM(W$u-JGNNnpL8eYw5WzGqS4%xW@1G0h zQ-k#wqfB)dd(aEtj?hqDPWqt~ZMy6g*ek7pHyafAQBj+eHk*s+vT|C^>SYjNVy_Az zjvQYN-7cpPp9?eEZ2KKU3~cA3EY!$ch~I;5nYy4%_Q2Cf5uUIB{i`;mGsi>CEaI2A z=fg+64=C}nL_Ww2Bg6@GabARm?~#M+(ugmFDv;1@MRDtR%oDH|>J^F53)(~t*qgzS zejC5kim&+?S+bKD6TRdJx;!J?NVmu<#E!tnG{mWbygQVpL*JH%D!F>xe{UJ{&{GAw zWCQ<0yGnr%&R_-WJx32Vfd>1ScxX$UoPNVo;fLM|%rDMDQ`Sn@F9i~8_LJb390fIK zS1R)iXpkz6K)-qOS)rL$rc7jHtkBk{v60mwTa917#fbPj`X0z-8k@`TD`@w3TmvR~ zWtXc#-loMd0I)T2p_m+pAg1!tqAAyNpD*+yR26RPe zT3B2LZDGc*fVY}Ln^Kh#pm*f9^vQ3JJ@v@S)icOJ2lj#=_>B3K0~;~+Y(DcE?D-Sn zT8dw(mN|nwdIZnzh_ir?CRd6IMABP6X5^o(#OqX8wn4=My32xoPa2*+%a56zQYdQ( z^3Drn(5Ov*I7XMn5FJnY9n29w)ayV7CVnF@7?4+f1l1-d1F=Cq5Z_5Tt!3F2Wl?XT z-fsJ9P`0m$HhY>`&jn_j6QW03M~Ll?VLtn@mj(Y2VMf}N4B3i_ayxFR2>7NDkJF_x z+LSaIk*}Vhn-zN_@Pri+jD1BR$iPC}$>@g$?Xog7GGO~k@LidClq@p~e{>{2DPlNjt3BmO2r!Y=ZZv)(|v{SJC|;tD_JOrV@DhYmwt zpb-zz=Q7)sKu6Ff+)|9X9Z}=)IuS#30g=ybb3|x}K7)D7)qxDQV)vp#)Z>UBe$SO) z#5Mrk=_vnf&@&DuhRCQJ-YQn30wuCz15F4N_-L4%rY%-Pm8Q$eJ^6U>u5_kEV4x0l z&yZTY%uLTCJe(7tVXaf;%ASC{>~ua2XGDnUU_0pX?;-=$G7s!C+DyOY$?=aN3YHLL_<0|>-8+z3 zT{C%@s>nbafew(f3er>JCjvf|n&bzxYL*fCd&5^p#jX%Rd&^}Fimbqgd{*CGJap$3 z4`fLM$YVb&G4iMfARj9@de9k4>}D3Ro`8IQ;AH__3VuCWOcTAH=cl5GO?}y0&VI|Y zFoe#De{FV3u8hb`@BDO(Dlri6UMKV6fC*mu|M}SE(bAyRI z%mdNgDkm517?>p`{l^wyE4UVAP>VGgvNBJ(t^fR-*03fn0eR%DLZmNsL!_Yl@5%sK zWyO5ZtugDAOuOtXn~%)_Xl>xGLdL$RjB)|_2Oe4+3Uu(hrD3d^l7C z(@FGTBbc!$KMgHNG}*lax_Ibq!Q4_mYI%Hwtb(V-E}-XM(ncz2frxqLsllZGVD?h6 zMs6x(5Xe6cl%bEIkO@5kIv@0&9nduc@~5RK9efRD%tAWspA9~d;xx(%^3Tdq;TCyi z_^zjpW#uUFJFXmi7Db?wA$l4)@NM$J!IFj6M;qCM4qt;Vd=2(t(t<)60y-=&gMOeu z3;H6JDSlre3b0N^gazcED!T;7-+Z3bQw6|WzTrv zZv@-pRFGPl733!+?Lcha^nvNJ9SSTXzE0+31lDQ_nMLtRu=fga+niiHS|>u|mZXC3 zu@E;fN1zacn(DPT1L`mrv&wUkM_w+gWp)`wbjo9aih69tY*dPAVy|5FL#!-cgI&Hr z$F2k!pBbiS?NV5!h7dEjQbb_;lrc-kS!Fv1=1MC;E)zYkUSMUGkIRz1gF0!SlZprE zc_>kv&b$X%(-iET^Pahbq` ze)cg!ell28c{+33M?x)&Pm>i24D^jgWiURVqmr~r=4610of#A%lR$bz{w~(2Wt#@3 zGp#^A_c#FQFYsfMldPEN`L@|*NV%zu8KhHFM9=fhg;bvd>A1s@LeSl1_z&8|>S$CW zZoZODjNiT29JRFSpNj*LBOmhgZEd935oG-(O=)s&mEnEO04>&t-|vfI8|(2Gj^ zv#*h!A72Rm4J+<)(u(6(@R+y-R_p;fsJSTvjog;b^wIlKq>WsP)l}aDe%SY?(Uy@|_6B&Tw}FRYe1ck_ z5ivyX6Z`iukI$OCfCu)Z257*FuX`I=gEv_*0$b3lK#df8vlzxuhODnd&^Iqb-9a9< z02&~Ex>vM@3NorO*IWj?V#N17EmT`mF1A?9fF`t{=lwvJi_olDgf}G6*HwePl7=RL z{6P*DrnM;pqlz*#bQ=cwu49@MK%H{sRL=vDK9Vy6;O#qJ2Fl- zBrg?ckB8pSMw>2oEXJ%d5Lr(_wh~*v+{y!aXoP-E25toMaP+oR<_*Z_#$ay}Uw~q- z71B2{o}h=Fz(*E(Bo%xe3h;4(JOVqQlhKM@D+^_$jbCxKsHG_tq4OdsyAtdP=;so> znA55-g!nP*L%VTG)2VN}^JK)2Oxg`}2P;j58AqU5VxP)Sim+M>X@K4(GOsh}fqwcd zu*a-0HUvJ1oDAIRyog2gJdsb{`B47iG@1taM{GjEi`P9ZAPl6%!)99; zR;3ah4OH1VAr*s4mCSougVw7=vWL#;ArGA+LTIRm)RZ#WkF9vJ>{jVg79>1=MHaKO zS1Pl&dzp+FdIR+7ICY#AFNukOwzuFenW<>RiZm)#n*p3Qc^v74MvhY}g^U4eqWV^!K$JQmrZ$~1h=Pr=S^i=`%k-u}I%eaLiemTZ6bRM}4w zp0t3UB^{?zGOJWs%z<7a*>On(Gf2RDF2S{1=;=nM66Bm*lpMNm^y)HpFdm1>`@ zMC~)vS;N+)p$MHHUB7@war3Qoh#{A1W5{Kr@?7enRcYsyV`b5KsrJP@Eo)!jGU?m0 z2==Y|Wg)pfa(cC@O!ga3Yj;|LWuv#LnG~=)b}O=^`o3w5Vs9a%)LC&_OonV;Od0e` zBXIYv#z4FE*p|U+o`(_F96^WgN<}R*MQlM)26|#uv;9x1 zDf_%sJ5)h*WSXpgo|=^@O_x698K~r0O6Faenod__$!>`xtZ1DdzRT6H7mq7sx`D0I zf0q?6OiGna)>?7U`3M}8S!k1ogVu?t_Bm;|8PG)3x-ur@0A@AM2i_@4XGQEv$IZ?w z=?37Zd1g(erI||Pke|kOu_&Sc?Z>pr7E$X}N*St5N25Ugc@z{mi~PDe58FwtgwlB_Qk@15Lp!Zvu3Lzg^3=Q&`^d*}V_<;=dv)LWZ zpbkBXQc*DEgJNsI?_>r0B^UW+1HXZe6M!EGRfwqOd1-Jh!CdGEz2s=91_f61^dS$i z!L}sw&b26&Dg#@ik~Sd`)Dzgi)HBejgpV77o!{1^#xKCG;(_ms$R|>_#HZj4*F5m! zi9zlXJIApc(g%6izzoWqZH9gU_}XCXL{O|o9He82{6m#$Hq;ZLyV0=1PG9@FUd>?0YMfM76ndVSxqAhw95#9n0n7^>&efll}KuqgMg zuv8c2UrY8V%j1fbRdG(-19SAb>1^7lbpGbBY|1iaRWTnp+oK!tYCP-@WA%2#>mt`i z8DcZY6C!q8l&KedvZ+Q+rh)SNWQXyhJ~gJ~j0Ziz*f(*W*x$nZvFFW*k>mJyV3O<0 z*d+JvhN-cXe{+12d+uP&-D8W@`iy@gMHxReiIbe@eE+4Xtk=R~VbbJu%Chzw(|MDP zN&3gr{L~Gswl7;SAE(FHQbV| z8!;QYiK9hsJU1Qi>w9Kos`aUHAWHZQ_%CWxo+_`qS7cqmy!}d5^3VrCxrvnrAmsc;_uLlM0j6 z`du*5$?}d6%p2oEPf=5s`Y5hZ3$_?DnHn%{n zPblI>?J##Gd`O3kxJ?USekbf99j4M$)-d16sue0)eQsw1|D`a?1+9J*izNGZ_j;6C zziPlyR?NeqcYDrK!9ra5R-iaeA7IhQr2D-Ui!3IHN8F_HfV|OjX#P8kk$r zL2J?y=4&$WAsqs24b6Wou!n)ecq4`BN;UbB76~`f*&TnpTHjLGL%%lh-A?L<@|Qa$>(p@{`0juMJ~8On5G`vrF8^-c z!0e#2jE$L`qRKt+W!#c@RZj!?8aYmNTnF+O&lIb6Cy>8Wx<|Exf&3ANqK>mbervR* z=YjmkeWEJW=hd;9fm7=H(AkfV1-@K*b!a$C(=e(&E8GMRglBely`M0fs6@!0JW4AU(3w(F;jAo|;c@;kg zGI;-Ja7v~Ad2@V9rTP$_5BfP9yf7s=%N|~pQmHYmuTuT)7N=LL-_`_ zy5REqu2L%9KW?Ko?gPJRlj8||RNou#F0PcXb)d4mY$xT)^#M){zTjctu;6^BocK!j zZ-tmn@cAab;!63j1M$J9F{jI{l$Xx>E9H$Po=Wn%Tb5lZPiq;$7tq>gaK1Y1WpLhs zIZ^OoC+HJ&m`f}7pZ-Q_&{^On*yrHmj=vx{3p^rM%HM!33_h*{F9siE3xf~M_Emgy zf1Ye%#aV{Ac;$TXIr=OienHqydq*4|Yt6*%`5Wu-#DOHv6LGPLqr5df2OLDk7lHez zakJz2^u=E80r&AGaI=SO&f#(UqlJdo(}XVjnGks;POyX?6G~cl(bY7)E*Qbn-uKvY z-S-o?zO?0Kq41Gbx@B)qRL9rOr(W058amAnjzuJ54IbP8yi+|kiPMpWQ7%w=6 z(Oi3X@K3?X9GsoOSB@)Wp3TX8;)-P6_Dl(XF+C1E?KIwPzYqNEhlIy=d3o#N4Bq&< zL(n@Xf}fqi8~C$$h}=cEtHT`QN(L`8VePf`e4!Bct!ev_AH};37m6KD9fhAv6L0j%Jh$t8S%mAz2jiCUNZ5EX!aNG`{v>th2F<+ zC;=Zjj(O7)m7QIq*|XnfC>uNuT+5WL1HgkcWw4c#d z9N=yxutl>R;PS??)sxcPTLwh4h3}-fxAk_gRa2Pzi!mk2={gzg+o4&?F=qx_HZ22O z?nJh3OdQ@5!1a#98n}b4ndEclcK|+q$LHSOJ40DDCBf}el9h$2iSC>M(aNf6Ij%iD zz=K4*aqG|w_o+}H`>l7hy8!jr;&CAE=w*5FX|DV>(QNBTaH#SAdwgN+&aQ>Z;qVN$ z7hJOa_|3NXWZXB7?dckZ_D8cH27znTrVyMaubb9Rws;cU2RlS7dwLhTPJk1zWn_-) zPzSHu7a#398yW51Iws6@G{)!J8}E(16q)Ecin#r;7>8>=?ok?%7W-F3GCLKM5PJZ+ zbt@t(<{;Ln|3G^WM>^OZ-0xtUG~71~eCR~*(;e)u4ux1x%mV))&3!gJO*tGB=DrY~ z<1UKK0UtZfT@aJ(y6P-+U5+S;<&HGhiI^<#u}fmFM})Q{!&t`%T$=D(MKaT&j7JoJ(T3vfAb~?aK zNC4+7!F^XwaF>NT+&_2C0jDI{C1H)kWOuk0PQ%(|HE(Ra8&R<#dPnTj8?X*-kB*7F z;Ebt%+ZofLAV*+kU#E^I<<9Ja+|gkhq04QIOx~-EM_$4xIUbe%-4Aw{JoSgUgLIl>~Qc8Us;?3Tj1pl z!LNw`hpx}AWZ?rP!6F}l^Ph7{_^}o{DfrT3$z`C{x^GNVE zZrU6wSDfsj89a%jkkwVJJ(E2oj^YpTG)BGPA0}Y$hLt7?M~cW0*;PD!Fa%+e=;2L*lmDc%b{WVFi9 zK8CUI{m^Kvarv;HB@z7WEamHw;68+hDKCBwUapd$WR3H>FNS;FCh#(M^(b*)F{QD~ z;Xc<58+fVls7FWwyBZ$mA|6)mpfL9-a8+)Cv%If^1M5=B81FgCe%vp&H`&8z@L1wt z4;`?JK5zmHm4h*`ZQ$aq9S5Ff1i0u5_=ur7?v+y#m6MS+f_5^*Msir*W^=yQ7rDQH9EJ ze0MfH8FRu^B|pXs4p5d-6z)@Fbz~Pyz>O>phaCck$6NC$Ue(f;|}qyVtd?M+rLx z?kCv*S)UP`J}#M`X_MdzFU^DP%ZZr|e)zdIS+P-P^E$J_s7}K-fFl%=$lC9a!K*8F zhk=Ju0NE2iI^uvwU3;f`(0T)LBgryda3&}v=&v&HxdfYpIFC`_rO1xacu0PDJbbXXCpC$!Jne=a%4tHz{)H zYamwoTOGtCPNrk+GfJVk_yOFX;(KAR0|X7vAWy!YINK+~9pGa-z;AJIii`SUqQT7y zQ~8JaZL(mWz%6Idt`|N^7QPx9&A%L(!0O#lV*73j)6GlC;mf8ZvZfc}V~F?q{E7s@ ziZRV{QaXgd9`^mkClDU%vL(+=bNVLvDc}~AD3ST`%877VPtL}8C!jxj?z#OjGUkE+vu4 zz>Q}j;?zF-dQcjAsswwOO2CnehF#8K#Iq&-<)2YmY##92U+}w!V&cF}O5_gMkY9jt zicQ!{G7CNn@+Q1g3|sHX%)x#=#y%aF2%GOyV)iHN$R{mINo1GnBq%L>9%UbJi396$ zSL)=r>lUUfzw{_Ud=`8laP)}7``w^I_!7i5>SVbH&we=uyskR<4ttqs@1y>P!j47y zltQ%k>p=`S6g>P6S<0CZ2U|QPk<)tgt{!PBFK^mnA9!wA%8vsQmFwVoC2oiojzxNv zO`bT#55G)nYX>{TVLcJCVRM>G^{EQ@I=W~k>wU4buV6REEUhu=PWn3+qo1zn64)hh zmtcvy>UUV|$2>6f0 z6?!9;@uKiF@UtE6oUTj=#ri{0M3}qSpTrg>F`X4RJ|BtwW9XN$=}>L>+B3l2#i0zG zjskG07%PHLD+#6b|9J3eXkS*2%E6|&+#aPwDFrvOw2oI@Z_kMbuRWCZgfREnIzITo zLh!K*!N*Q^ZCAYf^CX|5bHurBISXSy0sqll5)bx^;nc;B{U#hs9 z;eMr%#lzri_1u^TUCIO(fw4%ePY`d3=4i#>hD>S#7LIkUgS30p~-*_-$Q=>bEYy zPH*iRC+v&#@;}>vOCOQwo;xK`w`QnU*w!NpvM+HB``oL4ZI)M;IkbeGkMg?uWM#Vh zf9uuP!I(M&T_8C;wl-Z|cRdHY(%?Y05|bmt*V7&~#0VinT9+?FY>v1c=Ry&KM4a&w zbov_h%WYF~FsJbXuN8tf8t49KT!ye8obmh)n2Q3VPFmpAZHzDEJ1|bTIV;w^#qUm= zk|Eg0{@l)sp>>hxKT6cm9^ri$H?*dt;5U8~_*IaH4&x;X@y(lZhC;mgvvsn7lQPjq zUg$=gvNI-*(;5odYCrbwtnn1`t8yYc9TBEj;Va%r@d}3`ee4+QLyg-7;DdXVoE~xf z7I<+FmCCUV;0IQY%;Cff2H&P*RjfbHnHh(551;Z3_SIN%?^X#@|C z;xC7zqOp$;d|Buv#iMsC397%affH8)@s2G6k{O3}7Ea2sH%)2k-j>pkLS>3K&-G_y zA}4=$)>)`{z=zBnggup5|2_m<@JN`>~sWIe5Y=`gpxjWVCXnj&#a zNxs*>o1(Q>><#6&A@`Cxi7GGR``&3-s!CJNg-0vl`BCh{q-gL|fOtOvwAM!{<8qOskk8xe-WZS!fYcGR$8|roIO4C^;_GaCc6TyFU zxX)wlbn&DN@UaVBH(~pKYg33gJk}H$a3J`YUk&hrAD*og!oLZ?c=46Jd`$;Pb^Xt3JnN!hhoa=k`cs z)xaT>fCCOhhVhLMq7$ORU{?%E<#CvRLIqTTUvx_Tfx2N8t5i?{H|Ma9sy~4PSRWGEMoW zYlbc_GD{%baIj6XGHX(y{?kE)I^ya2ltg6$xHYfLWQN*UhcLjl48~e=(%fSBt^(lt zC>FOVNg0xn>K4JRxeMK=HJnGVR!dw+;#rt3_^~!i=dd;a-a7GJs-H{+Zz4nW71>G& z?YrS*J1^JqxfhQq(d~-}6V6~heF?s5=+Y$j`rb@ug#96YHmxbWJE=schyA&H9lVp= zRAp#JlACzBe*@n*!JQ%Q8n`i7zXd)k$z~mMJm5pZCqp;Sh9>jI`2`B`FK^=ijt_u=p~ei@t)jxpLfM^Uo7MhjQS{@l)sZRX2V zK7m~z4&G731IecnZ;N=jC*VH?%zZlHn!7dzek}SRl<`PkD)zdhxrxXBN0gTn=h>tW zbKeI4@w?s(JSnUtpOsxkd`C9xy3NZz9_)0!jPo}h`r>1kC>?( z3C++EZ*_N!gOg3&pp@wA9mrPK%E>;yl?-k-IMj78CTPEL(rm25f+|heoAy5vA1Qrk zoZbRIbQnBa_eLj6ekTp<&4|yyUN-Rgu`ZbDDg|C5Ub6rm!pMal_c>tZP}sxcAtgee zwKC?>4(z!sP_jEPecN2{#}MJ&+v%=}^+1XP2rLWx1hU=4r841uq-Q;0|Mo^E z3&g{{g1ta(a%J|#fMnfWaH>e}>!K|)rzPuef}e8&dj*A(6#fkMxLk!#GJ#inCL~Vi z58f8-E!D#w?u>Hilr4%PSTkP%_8>T5pR-h6SjgEF%&iMmu3e{`6mYe} z_#JR;i5JkshxtK-j}s3UkQKbn6h{0$zs(0ec8;5af3##=qK=!r;6r+`M>vi5gNv{nX$*6 zh=p#6QdalLi(S(vJ(g@^EBNBMV~bsBqf)`o&Vc`&30z5Y$Tj`eN zWFyn^FdxnXCd*SA?RN6stFX=s&I579gtJjXtK3u=1~2p&dl|uj3MouMKP4kRQlfkp zldLChZW;W@iEsyd1w1@oM6&J%_}B;9gt2GRQr%zn@ak`(PpX2qk+3penF`-rW}`U0 z%sOq6*)t21z_rd$_Z2wv3t0b^vTA>brzT)+*o|?<^@xYSMx6}F5SsXsm|mZQYm$|p z+jw;j_-bC_bYBNQo5sjhT_Mknj*q<(8m;sP5BQ)nL-?#us_PQseqCUHwxkCnL(&HZchRn*!oa!2S!m2#?BP%_4rU2GJN)_G(JgEjdvIXLto)0PHt#)K9 z;G632z()Ea(*)-Mh2@8M4P>+WfCFp4kjGYmm&ME(ZW_20t;*O>0KS>iGEN zSN(2GP+i2s+tnr!oGaA9DzMaN2AsVBf~Y$5K42Im)PgAdi1E*yFk?d%@36 zSNvD9h3S)%Fi*)+`PnDr4Bb-;Q!$PT)VW16?2l_>Hn@ug=;vbKuWWbC1Af@bJaupQ zW2-z$u`U7g<2>ayd_(Lezmgl7r8hzkX>VxL-Qctj3Nu1Rs=cgU=;6x-7l0q0qmUk9 zfkAjPInPD=dWc_i-j*edpPlJ8!2XdhAGi|pfDG*Wgx@0@+at@VwA+#n+XTOSJ6q|z zB~__@I1~F*vS1(6z>oC9ALa<~S*m?<9!O%lBMNm~pP=%k9cK&JXYmdL>ESKtI=kWF z#A9Q6pBsEYR$}w<$~9dYFDpvX%LkIs zD#ngD;{;y_GoJMq=!vJgtwV|M4S0Y#5phO8_}BwrpFbR&?fN<{Db^2PPx~BROUAy) z!AUNP!w|1`#9SG^ISKQjLZz86PwBE&;bUf}pbxUZ?TBJwJ5q$+D>eILEddv!I8WCy zCzBH|^#*PyY{Lqr54+USXb6H(wT>SemNDW%vc+x)H}n z*_gy?=cen4=TRs-^btEe{7O-ju?#Wi*RT)5eo_&3f){luB!i6u5Bah`N=Lk?<4&LI z_xIIt=;sg1MvSgN>6+zN?cs})H6C5d+-yde6R89Q50p+!CpQMTjtF7v(>Oaw4a9fK-gc%-vcl72C#p(jo|6& z62P%4#$E;=xI2EOAk?9IdM1W7xhsL*34<$`z7$=iPswq`)4k3a^i&o zY`Poe!_Psl;?WNbTwmfLpAB&cu^aPP5!RQ*3z_Qvl!zVa*y9HScthsI&ki}9B9y?d zU$G?uAEv_|#_PxyG=r^baDet9DejxVlr$eD-sqFSZe*XSPl=b*du@`U$2h8iwFtwF zRMq}iSv2-3zz^trti_IW#&+k$(pu@?vV+&pSNL&0rpRTP1J)IwLLt`U}QONR$A=#`}5eR;2D>dx?{?2 z9PMm^9OjM9bRDRc7yDPW_*etvI_1@L_r|s!_jhfxU1XO%@E2(Vi4{KA{ zxT&f9rQ}S^6=c>dH-&dws_6Qs!9?Q_3sZ$UImP-GS$SArhcEP}>n;~%8cq2g1D*Fd zGxUFf2VGd^hu>g~_FZggtGEu-MT`o^WN(!F>vu9FP2GoasZ8T*(!OBgLB9ulNaazCpzGRV@aW-FaL}Ih<~ap?{Omln zK9R7`)v-V4$tCHkd}!`S_Bg-;B78s9TkLAR1z`akrqTj7HZ9#<&!_Qh5Vz%nmc}dQ zlf`QNE&{{TK8!16*=qf0&Q3h&q}kg2$sULAPQpH?RQ3LZU#k>G3H?_()%z3wHHmCBBOba@j{eZpKDmpY3##X zyA1vWhm0{%3mkmf<4k#a#*7_%xE_X_C{OWU|8-gDh`9{qX;b1!~@au}prS zc=U9TeU8Y_!(NMYHBZ>Xd03|VsP$pM+@U8uu)9fW-fzlK_hH=fYx;H>!4y+zF`l)d z-S2PAb^K+Dx*vrKyaFi_o+JB2`D-wjv=^o3Nxz!EiFprUCED{s2jOSJd&Hwx57=jV zo(u6b>7acVv=2$^nL+rXER zn^MZ}tbJn!7ddc_-cOb#sdgvu9qj`Ne5Us=yE!Y}f59+C)vLg7UIq>ee5UuO=B5T` z!S~B9*AwmQ#yQ$J3jD}&*jcGQMP>1--3gqheQ|-$^ga*!;)3(E4KBvatWoH8!wCEweCROO3_kd6PjHsep0D8J zIt7=5j%%2E1s~T4F9sd|;1>c51t0XRmf$?a@q_cUZ!I`a`#>t?0~w20rFyM;4>fAm zvUU5;?yfz0#}61Z)H8DQa}!>8@#R;&GvAu?ZrXxHA1qD(? z?LTk(G3SRZo4@<^>y7KP)~#K$`twg$EKmRVqYoCpzhHjq+_z`H^~MbE^l2|onfyZX zgmKS~8TEAH@S#sWF|c2J-(Eetca3w$bZXzWRaEn45sex+>(#DVy{bdBnSog8@OsTG zPW^-!3f@)4e;^k&>OQ%Uh`cO1j)6_at!^y$+@MMWhgCAYNW{%UFM_|N|S{!;!=<-@IJfZwqCh{gZ^OlD?g*ze3Rf5kdX zN7jY)#^31iu;qnn}Ith=sjuYXyeqqiA`7}gm~#%GK>jIB%=rt0SR%+)Q+Ep4rN*2%U8 z_P^{Oi{qs3a&t#mm4~Xf4(VTQX7%kg>eQTBi`Q9L*Il279eHS9__;=Pn-FNjA`mFBzWPH_r`Taj0_}mkn2a7{a4b2&z;dygJ(#WTt z889aP*?!}OK0iL`t%<8A?R(KaweKq*y?XVvVXyCAdTYrKU*$~ssY|ZB z{n#(x{yKkG@^1t3Vt;S)N6mfGe)B=oA?p$8Xh=b=!mwjaj<-JHI{E0SL8nKbdFkw| zb03`lvS{0dgBLGfvXwNt+~sf2mFcA)U(LRD{JQaG^IHSUUcLR<%s#6O22WtOrsL57>)D zSd6LsP5vHF=d1Y!SdJb14_J@0{0hIzEkZTHDMSkGg@=WBVTkaIFj06_m@O<2(uFUC zZ-rdpcj2gTLAWJYbTxHNb**%rb=`D*b%S&xbmMd{;&~x&>)zL8=)TZ>qx(^}Ten|# zTz64-6RuI#*U>lDx6-@xJ@o_hPwAi4Pu8dC=ja#em+4pQH|V$Of6?#NAJ(7Nm*{W7 zlgfr#hHyg*Lr25IhQ5YDhNlhB8>Sj&8s-^3FnnsrGHfyIFzhoNG8{9UFFu6_LO}$P1O;4Hq|W%8T!W~*5? zS2Nc(JIxKvP0cOMZOom_ZgW?2Pjg>$fAb*oF!KoWX!CRCB=cnR%jVb2GtINibItS3 zi_9OI)6FZ*tIc1U*PFjJZ#L(cbIre+_n7yZ_nQx!3(cp@=ggPPf19tH%goH8x0o%W zrHZAxrM9KMrGcffCDIaQX=CYNiLu04x>n&efzO!t#{AkIw?6B;%_$+@|_FE2F z3M|Jhr!D6#7cG}9rIs6(+ZMk?XEg#>N!BXX>eiapx>l#Pfwi%b9D;I=1?@hinaP5w>Qw7Pe?x8(Vu@ zCtIvdu{~_-ZtG#|W$SB8unn+1VSCax%=VORgl&{1|ZskT>a(`{bc z4BMNw*|xWB@7mIA@7dnBEw+7VTWU+UePUZ_``otLw$`@J_LXge?Hk)B+xNDuwrtx^ zwp`mUwqI?#YL*S6QQJM9nI!|jdjP3+C=&FxY4R`xdbcJ_|;&h}Wl z+a71{YVU6EVSm)#+uqlnVDE1qXn(>!*gnKQ-0rcDu#dDqV;^IG);`WY!Jce?!9Lmk zl6|WE75l69*X*y`XWHMi&$7?4zhi&bo@$?OUtoXVzS#bO{UiG_dxrfJ`%3#~_Eq*Z z_OmmN?K|u{?Yr%J>^}Qm`ycjw_WkyQ_Cxj~ z_5%Ac`w9Cg`x*N=dy)O3z1Uu2|Jz<_zh=K-zh%E|ziVfrAnHYbF>x%WoFtLHyP;4wV5u1sTVhb@!Y$di4+llSPj$&sqR&y;%xD4ajrN|OcUP|7l`kRi^UJbkHlqShWLrNQv6I@C9VPq#cFsXsmP--kS zk(x=(rIu2()LLpQwU;_doh6r~NL{3^Qg^9`^r+NZ>MO-d{iFfX<7y(irJkX`J-Dlq5}*CP^9m=SEbh^uQWq?LwZY^Exj$xmF7ul(tFZEX_2%< z`cPUbEt4{&Po$O7XVNNZjkH!;CuK?NrH#@z(znug(q?I^lr8-zZIgbMevy8ac1gcU zdD8FF9}+;CbWl1Z9hQzth0<~9q;y(3E1j1vNSCA%>2Il2x+dL_Zb`SLJCa}GvQ9S0 zCfOp}WKovoDsol1np{J!Dc6?k%Jt+*yv5 z-Ey4VMeZthmwU*M%Dv^ja=e@%_m>CCPsoGiA@VT!DcK{BkVneT$YbPZ<#F=!@&q|q zenFljzbH?UUzVrI)8!QTb$O=zhWwU1Tb?7oBfl%B%Jby~^84~)`2+bwd8xci&XAYO zE96h*&*W9|8hNd}PR^3o%Nyly+(&xOujAOl@U&6fgqlS zCk@QXWb6;A#p<(gAcN+t70^Kpq7mI$FBZ=RvM1S7Y$O{4tS}MtifNdCzscTa^VkBm zgni6DVV|=vSQh)5eb2I4F8&JBZ@>}z@plOe*(r9O6|+)yligtgH*q_!!fWt4+zE8i zl(*zLM*UJ523HnAAkL7 zxG+)}D@+h33oi>P!kfa|LYlBh_()hTd@g(`Y!JQ^egJ0KDfomxg~P&e;jC~;C`+$9p>(A+n_1E;b^*VzE2&jgk zE-+A2L$sm2!DZ-bc+`+!c)~E;Fw*d>A=&Vf;Z@+FIfhijBEwR{Cx%sqOvBfP&4wQh zzZmuy@(q8f*ytj#(Jccrnv9|`#8}%HW{fblFt#yvHpT%R^)(JO4lyPg#~7bCPBy** zd^F2A&$!U|p>etKbK^Q7q|L@3F=O0g+-E$bVx&vPtHv^;U^1H|Q*{+3H8Hg`wKK(- zx|n*J9y1Lz4K_A2}fQ+1$hL$Fl7M9kQ z_P|Aoii`SM`dOZ^46!_A8EF|~8CQ;qrdwXOylI(ZnP+*=vdHqGWtnA#<#WpymQ2eA z%eR)zmTb#5%P*E)mb`n2=!E5rrN~ljxnj9)DYM+Q2<3RFsS&FzD%P&n9@bvg$AE>N02Uf<9bp}19SbCs1SB-YI?ei;bp~+I9N?h&)`iw3)}_|; zaul@Ay59P=^*a><^9*^y5+i2Ufz&y#eNw$~D5zia8S-?B< zZ1Zgkfp$K!Ewe4ReQH}}`vOR3z3pq@oXxf$fO3Ae?EuEfQxVPq+acha<0`r-vRwkU zxe8=cX1fbqqqm!YY9tlYgsO-pOvN)zRW#EYSf&$@jADNnIHo61%wzU`z%YYU1d|B- zG8*V*ygkW25!hu4kjr$t7r5mupq9D7EbjraECF8m7d<&ei6)0t! zicxj}q5N*oSJBB~V3Xr2GC2=iQewYizY0uJrXms@@Ccz130S0>SOZ9;uILmW0t$%$ z25Ali(pqdQc2LoWB0em31M=u4_7&rSItX(N5r+YB5Z)LAv@sr7;{|atkjBfv87boH zD$1CnVvPAf7>n-VixuLhD!TYm#TH+S-vU`|QISQixLw5+dw?tc5cjF5;)qxv9v4rl znBszXNxUpxQ4vL%ct>QCAn8>+VV5KoP1I1)L_Nt_jwPB(k>yCDozww1B35#%IN}kh zr_`$)MGTalD8~?q($mtYas)9!N|s&#ewZS?d=EdoDb14Rl%t0Q()-e4>4S3YutNG& z`dnIl4>^2YjvIcEa-^T6+)PgE!?_<>(+yeotN~FOrws z!v>$oEB^&D*d%`+gbTLIJN^YKI4mCx!UX44Oi(OemaoWH%Mrnyf8YU&r8)P)!&7>_ zJk3BXkns@Kf(I~O?KrEBX#F}P~LDpmcPVj^JV;7{wKf59})%t z^W`Ao?G?HSHHBjC<6rR)_#6BMK9Uc@_1%C;I{}#zHhq{s$_Jv{38=*a{w3eZi+FXQ z$(Mw+!b;%iXjN@MZArSB% zK)Mak{#i%^gnGi?{CB<%^_$M01BULy72XzOv@vhM!}vpZZ33*_3Gx_#T1?^d_!mIW z7kN#g4`lE%q)=Tri+)(e--V<`q6XdY>lQo$SJy!#5aE1$YJz&WQ1&pM3~4S$f1KiW z!3{}_1Hv{5$I%aXHXqIogA840K~r2+i&x_zyehBGYojKSuo&IZN6+#UwBuX!ola;c zJg@2k7xwdS&<|d;;Yq|DsRrS=b2Tm_9%<(iKGo%oP>VRs6-M!w5s%D-B+7Ub=)~hf z6QKQ>Y_cgk)D^ z&N2x)(+l@$3F+5F4a~S2HFFbApw*|tRu2cbvb#LVU=#8OGC9)UidLr;9h-&W<= z6H-{JMqE!xkGfENHe8iNe?A5h`xvr6#T`Nn`lAL)*v40&kCMve*bFtU1{oN* zw*09_St4o`4h?moozFmTKIEJEF~oA)p@ixv;V0DU4QTyf^jCYdw;tMU#l7hePzwWU zR0C~mi4x+`8`Jq>^yd+7f@a5{gwxRT47BZel+X>MAp(6@6(!&gZXxkXCB$OPPzg)W z|9@d@v??#*$Dlg2Q|nMs0xK^e6k0`fcno^`DoXeoV@WSWp%o#}X_CX6YAYT=9h%;2 z1=WE{2*@Eyl|yhHs05NjE=rh#5=bLEU@TH!kR$^on9;Y?7tzp`{;DKDfE*4%4y~XM zHH9L+9pmb4J`tn0m)e_Q&`1$|sP%;bGN}rEXasxlFiIGMk?{fg;;7mey)d>*_-<&_ zyL>V(Vi;MhKDdNI>XvMiPpY}@%(=JcdbWFaQO(tU<;QOs*Y3W?AOop2DnyOh5Ujd&9FJqEvxK&@-4 z)`9E;jm&0f!^5cKNLZ;<)L9#wePAJCU}uj(%a z(Cpk3sONM<4c7C0SfOYP8~GB(me!xEVgIJ0rv{=&V=#uAL7ri#Nj*Q2;!N7SPQu8qW+OKWJ!!zg(OtmJf9v$g2|VqQb& zg@^@toEX7@(X}0xYd+48gB?piOWe4s9c*rEymp3#>;>C068-Qd+VBmea1;JwfG`7I zZw9P>9pMUW6S17`+#ZC>S%tDpknyAx2xQ1nVa^ldz@9)$akLCIdU^HcQvLDlEQqaU^*8nab+4HBsd-To8j zK38io8J=SV?m7siJdXN2g%T(5SD-N;LYKB9PNawYpG5t4BgQjRcnmS3D?DGV!Q0S@ zXL0QSc!q9>NX4m9sYg`|@{B4+YDFH$Ulf5RO~<;{T6oSlM4F2DF8JQX<@kZ{M>j|? z7X1;UO0pN~GF+A90`%E-XoG~dC!sHw3S$K9uoennD?h;qe+4xdf}SV*(LwD?>djd6 zOK<22>C+tO4QZsGw-7wgr@6oY4TNiG1N9{#m_*dL2d-}mO==FC&@K`Sj%7*%zU>SJ^?MHw!XJrovTCi-$#GsgTc@o*AIaA zzopu!_n}E+AT7cVEm8A&@KRNP9VEQgKrRBca6`r;&{Cat*$n z0$KNi)X8In;r>-%kR#ts-k&f~E7*m) zsK1D-$yS@oZ8hPCZqU>5swA@EyQ`odVg*?^1vxIqn0X#@dK7JF0U6YSkFnxv9ejo! zB{^X68loLtpsi!jqaQ(X1*(ndfY_&o!)Bnb2LVY2e3q!<2hDqv*9(O-TS5}#yQjfY zZiH4D5G`#3J6nLhAxr%nt%dm)FVI=y2#i9iR zEW>6M$vuma*abZqf!?cvnq$k0ny?)SUZ)x?b|gkgFG%a9ax{0FH^Laz3y09AC9tw% z(8exkYeUuNS#a-)60GGVbcCdy!swU>TlqUIU6@+JU+}|AARVoQR%!`^!-Vn@NS0KG z`p|AFVR(57c_^X2&=TYFh+4vQSh4L>5~vPQg1Njeys!)d@AX9p>K%}zpkf$8K`kK3 zzKEZbUay69zX@(nd-P@@u)s3t**NrOcj!YCw3sx~NS%oTe=_ABh9Mj^0+vui*3=g< zf+(CU$8r;3oq9r6&2hJyKo6wT8XmQ&7^bnRlZ4Husa9q`NN!DmAgTh1ZHEn?1N$@_ zV>=eMfiMi!!VCmrMoBV8rxW9iQ1L)WoX{Z64@{6_5BRHMSSa$`FT%dW!#cN7+Yzdc zO*>>L0Y}tEsVyMK9?<-8uq4aS@)H;r?Sai760X8}XF*S=K_ecABs$`^G`}GGPz4gG zhBnoQrnbVUAPh4Req%XiIb`QzVIgRqwjaKNY!r=7vQe$eZB!`wum;9yJ(SoSGVTid zF;eY`)tE6}0t)H^Ti>C)Hd2i>sZup6p~Sr{!{e-aaE2Zh51-LAq;aE zUUwzVy^LB6MURlr>WE%xjno#O+$gmlwDEcP@Au(-cfm?lL;aKB`zH!6_|0?Z(M9B7hz9n?!J%T0*2{_Hf+Lwve!59-DdRByXe#BAGLYi5q#apmI;~;lUPyox zMxl&1(PLlXUUiS!gOCLTqNtMG1qm-wCHXX@&<8Sb0|indEY}M)84h1VSZ)p4 zdkTHoNk|q}0fCGbT0;tj=;0MA0vU_D-H$+GR0Q%kBs>|jND z3ADNaw3-k|D~#-JkPeM2nqB;iky!-@WP4P@tkeofak4tHy5iSS7|k@YGz8K> z9a(OaJq&&N20Ywm%vTLUTks#BhTkIuvI(PmCe8*U5V8=})$vUTBoeya4e}hVj!l|h zlwo9fFt#FqK=PqW8Ui8TO9-S9Ms*EXNBJHCX@rqR2t>2gUjU0;fu(*N8tnuE*$vx` z9ewu@NHh2b&B|F|B{c-1d5cHUQ%TU<73fhyAn}kzEokG9TFaok?;uQrOlej;|Qw9q3D4KsZjL54gDU8@w*sfh-U7Q&_@%z z-WC;s5Qgc7nl@3}K=W?x5b&u2f%L(+oq{n=y+H`1wP1wrroPnt=ELQlw<_A8`Av#p z=z*z1U~y^I+Y7xx2xOfaS!;;-o~Oqi7L z1EE?%AXI_@c6t+fhj0|Nq7CYxA+h@r2(^Ob5I{jx2PY&+_#uD>AIBJ`zNiO%u0SBX z5(4R?>UFA$#L6Itwt^M&b`61yM{g1Wp{QK-N(h87Ek#kHpbzmFzf)idvQ%^*p&}3s z6~6_2AA(kPLZ4|-HPT5vk`eWxC<-BvI9Of{fvg82oxSq84Ny2!jL=2+dIXpeK?s3O|A0A_US|opV#{ zfb8u3Hi~9RHIQn<+BJl92!W8Ld`ZQlI}tw!g{K$;t8YhdWW#5YoqQUY`@?2;@=p)^nI z{-FMQkkKwx! z>N?Cq^!pCrC_6N1ys!pn@M)nLJm(RNaKaDdy@z1@^}uy8&IOhwF@D~#}MPZjuvcy3@C!}G;01RuIYq+B#nr|dk6GwPqfE_TD*?mZNNw( z`$Q3~B#duaonfqoPEJP+o`me;pbM>_OHF_QB2@Iy4&OZrbTk@xZXOWy4#eDL_{{OB zM+bO}qo`K~FuxYTcm(xsjq4g>uH%FcrZto(v?fmV+=Q#s@%y9jSRI5>U==kHZo*z| zMBTjTuOaHFXor#5P(}8&Fg_{1*cdJ94Cy=pr1zRS>&}NxHNyHuZ%CmSI{KxGfyh2+ z(a8why(X+>Rd^bjVT56vQA;QiLn}FJaLr|`J|v(eA;NjI>NCh#n_W-@gDhn&Tu=Bz zvr!aljzZs(t*7-1ieQ|@$aoYjv8%rO6JX6GoFzNi3eu~OJIk~vwy+q!h;=Ija6>7n{(F#Vz8VcF!HW*`sq*5R?!Vh|ARU>HA z0ci6g$cLox2xLwes0Qk9f~6r!X5O)1{H_VI*>M3 zqzFa;fspT~7)T9u)=Uv=!VmK?8`+EA2*+IUraD7<51K-epg2f@X6}wk_<=lcHPlS= zn;zBk(%k<#aBV%5Kr3?df$5)y#*n{h2q{qXfFc-l5DKE$KgA!~tG;_8dTurPvlM8q zjyfhXq0uj4>}e&C&m$>lzFRB7f;v#_pVp&>qCek(X77T%uMRAD9d*bAnxxe%ibl08 zpSPQEcP)yd#gnKGO)Lk^Wo&@fD(4)3TX6r%)9lIvleURL`;!3ZLs85~X0 z)^Tc}FSHd5n!8hs@>k3;LREdB`R-!ahS9Jg0e#Tc)TkEJ2GS^s?NLOF(BO-(X4Dtg z&=;hWv^GicsIkz=?&Xm|8Wq~Qp0+Yr1t^u)C$;$E6v*vM=+RA#&gS>V#SHj~K^PaE z)sacDMH*K|+@E3~)gi|w>bU3+4D%{5?FLxvJ6NA=2RluXy$tw?iSTN@%f}|oE*vNW zgede&2y~2ASvz9fJdV23$f7kh0rn{doXGR=L1Z7u_a|WVwZm^|9j6+~knz7NWKdsi zg9}oim7tlhbKmnqL~5h4PFzo*84AtQrm3To#y44rFdz@YAJuU^#Xy?D18bIY5-iM0 zV3<=}L>nH5ENPWivy&80B1_#KQYSk{^E8Tr&`hlrO74L+Py`|kJ+TAp?xBbqcu)$( z)waUx&O$GZ!f$#)7HuF;n(aM=yVE*M3zXUgT0a~XDg}MNLG6ipu(RYZs+9YS_h4nl zLz*NDT63oe2*u249i|;h?TON##>jpPa^H+qJqB+#7(PeyS=0`i^G-r72B9Snqt3MM z-wLS>?jMU@=!a1`9z98`DBD#lN&ey;w4)g|eI5lC`wS!WHAtFpP%o6>LMfe)X!YO` zv|un~KsERfI-G}bSqpYHNyxx|7c71e`h#LQ6u+S8!2r~QR&u%^(K^gy@HHbaCTZ@! z5>lf*f8na%+^Dw02}^YdZTk!(%nR>38WMXPweF3&^g>zv&@vBZ?Ne|Eia+c?Pg;5&nO;+K%IBTP9{~Z^B|e4~ad6t0)3OF_0&4{bo^a1AP;yT z4|pICcpwjWAP;yT4|pICcpw@V599$4 z599$4E8FXdbCEEV~ zpMO-~-+ZCTSa;NE*_ z2lC&sO!g_xzQ<+Ui8PtgsC(&qwjNK^+y|7u98rdN(R@BP+vm zJZoay9%ILFm*0@++wYL5#2rlJew1(FC9DMF`Y;leL1(maTOaIFvH-W(E&PH?p>y;* zEj8z1xSG!EQHvrZx{ls8J3-I-p#4_2n1nlBMWXBIT{};EPiZI6E!2WuZ>it=ArtL< zCs-lMT}3M_>L)6jVyW8s4&Xm)b*qP3&@ZVaAz;*M=Ud}E-K~T*z<0OQlBlej<>zVV zGF?%^BJdslzPFm_sUq6-^}tA_I~J+ui`27zl+~d8d=>CkwOUphy zuCN=pmOhgd52K#cI%2YF{d=BWD(`oa&0$Ejr2IVf^AC8|>q(ra-)enB=j%b{?YX8u z2iRXIdmB;_&g@4!iptMtLSHkP4@uLz(>Oy06EdNhhw-0EsHe71JHLf(!8t04o^ntB_oMzKKN=^C@bucRagKhw5m#@+|Gnks zwGl}rXRwcuKE>H>sOxX#@|&TK=`ZjMT&*PSm42bge-fia*91};b~}`UbsL;W@|vV~ zFzx&)Fl{RmX^z&Dhs)0wg9}`dsMj?8IbD9f6!)k|q)D27mXx2riznk$Bzl6Mrn9%o z&zrI8T#*KX$xHX3v=W@-y4XJzoSuTG4|sU(d|m9Bt4L$PPNva9Njv`#_E}VMIyE{$%xWA?DT4k zT~@(~o@!J1d^hmnD-y{saGrLG-G6-y_}rDxSKOOE(MSoL{|S8iZb5aYR?tWYoTnWk z-GbUqQlN8z_G#xMv6r?Y1!PC>+W89E(x*V*(7SfNqVMPvS;9cl&WB<@K}8}<8c5pt zVC|?X1aynuweuCaMV|t?N$-EE?bG2292F^``}D4zuh3ok6c{`7uAQ&Yefp$XA?>wL zEx%&y&?n7GXs_D&im^wZG%u>XYUc~lOBHE45NIH2=l_HjR3yT%nolJwGZ!e8QiXpH z{v7x=kyWHvw;Pjyj%{1FuCM+LDlOk0Sq)b{z!wkj#RGgn9`*sgcz`bmpHyHA`t$%_ zJir$LjPU?pXb7VMT_m!9hcC=#{8>t)!4QZ9S}fW(fxH@#R9~j5$Ht7xM{H-@A?T=x zRB4~=j%oo|!ER&)*mD34EDG<5&irt?sGD;K=rL^fE=^CT- zXL-_MWx=m^@poD8vV!uYwI=wLo|s|aXPA~K3RXGMvk&cDtHnjNty+r%uMWgr9sFr6}e?Ea)(ueI{pKd%0RRmC#}s`4vLOaHvT z7Bjkp=pv;+tt;NOn8I16rJd~lghvq~X_3)m?B{p4Wm z&#_<1Q*acaJeGjSXQ4W`r(Rw6k3chL|3Z=y=t-G;MdJ8IQ_GKDvy@nk*9su`X}&uzjp1!UoZOq+6+DTReOGV;59IgD&Fa@FH|Ioy;n|wn4k7;#FIoSr)GGXMMcuA zMeu7&JQb!QY1Sh6H5$)bsYw5ez4w7`qq^2d_sq!u|BM_baS|tyz)1{sKmv!@mS*M% z97w>47isRscqW&wl2~w?!|3gq!zbzi;Glni(3rRZA~%7MFLDQ z#En#9z>p9LVn|3r^!vt%o7kcB-uvEL@2$5yvyMII%#7yDnZ3Wg&pzLoQQuNFbv58k z8K>7X&pf$(`r7K&HlZOB~OkSO-9jA{+~qFlmGY7^mP)sPyRm}-%gIMO#VHo&1e3didgC>#ne@`N~hPy zFbX(zor*ZWpy}(s(yys#a#~X-x6VeCsU-swV=^a4PEK0>>2b}IkD8Msc3R`?rcPv zS~3+)&d!}il26~7iY900rsK)<{Mm>ywd71J`Lyk+XmWOLDw>>~n~o>b^Ha6y?A#=d z{Ima4(d6vhq@Mq?|I_t-dj9MhO)dE}ojM$#eak z;o7=sX~T{B`Ynx(dbG)Ht{wIrJ6-l|Tbu0lO?NihU0d$la@*w3p+-%5S#NA!+PqwU z$6Y(>Z?*4i+Hz-;{g%cp+w`|M@2uad--$z-oOE!ca#_|-R^j3mSJyY*s;|Df(s+w&=XqCOX}j`#{YA!`(U^DFUvN*u zohKW1=Uw&nTX*g}M=#5##N~hVdl##}*9fWH^3Q+oGoF`qow52-wAa?=Y0p@_w^Mgw zS9hM7KY2NO^=*|#`$cL6?5c>IKE7e=EnDttY_db#PVG6_Qj@=TcfB3AZ@;+dqEo-2 zHp&@CP9CSq%ygkRvmPg}diuIIH`d$h8@Jr%I(fN&)PF)4)Y?o4|LNmZeVzOb^^_|n zv_ik7NxyWbNx$~WYc4nGq3ZYSXxgq{TGspz0lf0+jg>2^PU-Es%dc5yz0SVkYI~*e z3fnrndfKJe*{`;)y8Ki%sQxzR&ItwBa?j27Q;nnU`$zeX+nbtp+_u$z+m_~klyBK; zzh$S|Ok0|o?zBS*h<0wheW&wI`?f~s&08AJsQJY2;0XJU+qP`OuQ(gFPF(sQ$!F`Z*9acH*Kv~1?M04 ziF-QZa;M98-o8_PJUdVQ)T#TdZ)!eylc(~N574e+%gw0WWW7%9zw7pYa>S|q6D_0) z>O_5@lP6pCRQ+}~I`6UH0&LoP=a#0e6T2pkn|wBRxf;~+ld^yE%Ad0TbUSR@vIBQ@ z@~l%8oj87rxj0+M<@5952r0smqX*M9Zkr)qizWc60g-|SWJ>RLi&X4aV&m}!BT7MN*) znHHF7ftePVX@Qv*m}!BT7MN*)nHHF7fteQg|9=aRhtW)$X@eOVn2~`Q8JLlQ85x+7 zff*T?k%1W*n2~`Q8JLlQ85x+7ff*T?k%1W*n2~`Q8JLlQ85x+7ff*T?k%1W*n2~`Q z8JLlQ85x+7ff*T?k%1W*n2~`Q8JLlQ85x+7ff*T?k%1W*n2~`Q8JLlQ85x+7ff*T? zk%1W*n2~`Q8JLlQ85x+7ff*T?k%1W*n2~`Q8JLlQ85x+7ff*T?k%1W*`2UCuoc=Ck zc6M&=$*)>wW@cyvo}>Kysd@Ens;7^i{GKGy_5XwQ22xl1#CrNWI37B^-j4lO{|{HS zUXA}Rui9w~UOD@jD?e?)2hKlpIrR$ufBZZB&C!!v7vm-IpS7xObmlVIUU+>y&s!`F zo{5*tG+^#8>6Ns0UCf2Tb*?ezPZUjOO)IlX>C zfj)hz>Nk*ffquc{Z(6W%X8K1tSw4H6CJB@0{j>l0HLdy?0(DXKvWG@!fR>+9(UW(8 z4;AS36Gv&a8oUl!)o@ko{?#)5{{QdJ|Eudyzvq8-{prU~&;P6IP2WHL{OS3LZ)lwH zXPR20r9XQSrY+OYpQeu7X{7w$ZK<^hX+C>ZkI@UCy{gAdE_!?nK>b8UE~V8kVtnS3 zJMqDc|NifPb}g_M*FK(c@{*r@S0Rmh)W7<@Gb?}I|KPqR&-?HG{=Ym9E$PB{Nha+q zN8h9u(z(#;G}@VAZJ;zeX+x)eHRjCRIH#@~`G2-f{oc{pxm;Z9vsSep|5w)2KES7M zrP*h%5^!!LV+7Ct0dd^7d3H)&@WsmzQClw?C+iE^HrRKeq z7L0T}OHWzjZqgjF(?_D7k|lbaWuc>4MtVzUq&*cDI#g_=cSwhZVSwstH^ zv$0*05V0>#`3L+|GNR+=j7CX35S*yT+(eQJ54b4@_4+8!LbJyFs5_$*f`#5JGosv1 zABtK!SYkmvPTs>?Wid8VVWekP>*-)=iVar<*k72Q77jVNctwPj4Fsa=9n(Z&sqdd$`h#}=fR)|$Z(p=WKm8}R_`S(k0?83ev z$7vGE%21qpvx3-#5yl-UaVb?jcJ6Z#9sjujKUId@d}W`PE{Mdrb7FCJNl4^B*YC%% zZf?$qj#c&exy7-dvb;Y@xd)s|RWI6dBrGo*WO%+w*$~l@W-KX{4!fD$>E)LU=-B1$ zL0%k8Gs>^%wX@6H zL_zLO<6Oosi|CXq+U@*>Jzkl01-ZF{X=!ywm@AFwBulr*Wez9JR|Z5bXE182=}EF{ zTEhHQod&voSCGG;FRWbCD)K8sR^{`aG`D!bD_`rgb4z=p(ie6!u5idHt#9+wtbV8Y zrWP+z!fC#?!^$YeObtFSeoH5;>`F?X-<9T-4klgG>g3M}G4u5vE5EFhnXJArm)Ga7 z*|6Ks<#*ewuWL)wW|y7c)DoxqhBUXK-9R@sg}Iwsb=0uk$+6C;yro&kZD=znI~tR; zyjzrZ>~hk@0cOS*HfV0I)8z6v+59eR&Am;iMwv~9sl?9EQ@i<_O?EsX}wWs6e7t|)zRv&h}n=%+i@d+BzM zj_z;->EB!;eQCX&?${kxzTCj*%gtV;WxbAS+U%xpZa1(m?2ek+Hl~$D9lGl8G`eNI zFTU~z4klBlxN`k2e>JsxSM1)NthsfgpPSWUSaF9fPQ|-|7w_22xVu-0NrE$V(?&G9TP@X1LXYoqL) z(f}RKa{w2d^sp@{|E*lly;mFocDd-0^`aCr1h{=VEq5f(M;?c>>KU`1f34iby8&ut;xrrcsSnOi_ar*?m%uP6f zF)4Oj@BlCERGctSve-d~#1Qb(Nd=>EwojL!{Ur(Fj=L#q%+LN>;o#oT>A7QB9^wx; z+4EHiPIH9OINEOBu#<~02cLhyOYfBgXmN~jAC?%IcFc?4^HNzX3EYK8JLV*DEKExV zozP_+aK;Mk4AVISVWwhWW{Ocs!cPkZM3xpD#2+zWzm>EDcI8Nx5AC8SZ6eJw27+?3 zI7YKZMd){!E$vHlZ~2yK6Uf12_J(z4W&YFcoj4DC~zPgW*X?GB~7iPwgpIaUZDy)TZ+F{04hVYx+PI+}}n6ieWiX3uN zQ5ORaSz&aSnGEba z*-E8-I%RE#ohsVW=6Ya5VXr~{e8A00TAAq%kB(8VRkF5wWoq$P-|O+p=ZBp9(%lAA zjVH-{#S=AO0Gm>x#;dm19keyR0=$e`6lGCKRUHT}isy=caedJ<6pa z16{q_OPku#>?6p2WfxO6wHT@ZBNZR63y5@UlSqxb<4o0?F9edxzcr_oyFGR#13F@CVdk$l zTV;T{K$-TBZB@M48`A|uK zUD_;iZyNNz`zR|xsy>UOj2c_L z%Au?PcTCW7g~JBAt5qkbvK;)!=`fcInb$QWS02bR3Ww8nUehlUZFaBNSE*G#JeKB< z3qD%2UZj*RrMyvTR5EctS8f*RXkLgVb;LyI(zV;g37<^Gr@7E+2kZiOJUD>^^M;b_ zuI4D51p}7>y)5Z>GIz61q46M>kqVQxC#ig^*)63H8+Z-$CbQG7cpCjR2X%VJkJ>rS zn3W@o^CI>+)5vdF?P<7o%WZ76!;gwM+2SP z?`Gq`>YPz8@X$)SkXJdJ=bHO$Kb~$7-hG3rT4RlKb)tf{2>G7 z4f?r*SutMqKeGmOG<(p%y({>HJYXyJiL`hiOn);6DC^4ePjbq4$g1oRke5FO7w1VV9^>1gw-X6sDzv!16XxR=Rb-!8jQQ zq6{Bpl&rR63fM zVmY{Hsn5%1H#4&^j<)R9u~j{8g&M*&S&2Az?3l>ub}@5dmzT>N2=W=JB;`4rHFLTR zoDlK~g|K7A?KmbBrI%N`$qR&zoh|AY^8I*Yq)|%X5=sWc9%2uzL)>x}@`@)3jm0ZZUuEQPI@x2C3MxRc|YKFa7@2!qmV-f|@!ryfsDrz%u31Hvz>rzrmbWll0l2WBw zw#S^3Po%AMPNyHfR|k&@M&JB#o;F;*rINxT-_CA zc|8X7uOQdE)6%8@>_nTJD;RN7&PK2Ki|`RfDz!|E`01^<$ThdQ&HHs8mfI1eL;J!| zCTpdN_0$|D9{yg$nKES@(b20_9)>W2utqrG=Mv?5ng#40dji-r9OMt8e_h-YWaEFd zlcql?sQvH!Rx8sCGU!)OlY@JqhNLnd820QYiv(<8ub25~dCba&YhCi(J~taHagp55 zl(BN3GOInQ9L}=QHSiTag0Gw9VoC;VXMT0CiaQQHgAZ6drlY=XdUF!r4OjwwRLynSC_E?%;sPoASdVTe*K$=bX+!U>C<+Lq}uck zl2MvBn#MDC$$5z&alpiK^i$u2e^Agbag%B5V!(sB=gBtjJ}RvJODM(676A zFs+a!ZqoL-xgm2xneVYme~-hL+s*iW&u3a=%^4M1Ld? zep1bVTPb$*6*!`0dr1NWLiPkEML^}ffwl(ojry{*&J*ux^d7j{zE z>QO#Kd}aJ`k&ZoYr5CGG6MYX&M5Mx)fkw+*tZ+>AwM8l$j^p|M}o4ppHbm%zj7V?-CD?XQ7i1l=A>+CcGr;JxiWiAl#P_6=*e4srpNBF znVw!3V(;cf=*2pl^rsC8^NZ#fJCgR&TNR}2sdCAq^=$6?1(Nw%P0$F#j}z98o3iV%;OA22AQCn^*L!hBI{TG2L%a@Hy_BflXkWUpZg ztxcMrst=iINmSEU>!SD}EB9ipR_?hqWR4nawEs|=-Yj=01J;D}24YP|lfenB*#n>H zBS3+QxmjaT#B(55N2070{Tgjw9Q_m{6%C}7&kb3bc6S&!uj6L5CgnwKI$Yl?6m`bA z>@`7Y)^@k~=}ieKzroA@UKhf5hNCqvv4l+L>4d=&554icdi|L4+j^4Y#TI%m8ipMR zv4Ogn{2~07W3Rd?3%N3zXbusg%kU<(P3$TLiX|}h* zC(}H3$w#X5cAlRd5iKm_4%K9(MC!2zn07Qxf7;|SYx|Sz+0_v?9~i#Jte1;gz3g>E zjLkDfg;Z%w$zCI}_ev8icc3tXKjNgPtVZ~>Db@x2DTqb6Se2d%MxrcI=aY&$48p!L zEzRn-vtdI@&UZL9s@xSe29@{GKcFT4jO-&x)F&?I!pD7lCz*=|tnBeRAI%9wxo6io zq*<+QieFT)=x3Rw9MA$P^yZe>4wz5E7)kaHxA`dDS*h#U4IEi4?hqCTQj z1iSN_Z8lurEf!J*=qH$>khzv+|Ls@`+%fg6&Ce z(O6Uw8O#uF5)XU*ut;yC-~DWr9`OV%9fIGL&WfmN44IOO{X+`fjbxK2OJfvmv28daI`< zaIe1Rfv?5bK&_EITjw(OZc3RR*%o83SGd^UD;)BR=8*Kqx)^(}B*Kp6S=jzkm!is) zD#)`FI>b;6^g&6C6^sBMcSrfzJz*|$EC@Lcv-wNxngtGnP|y)q@SIp)-`1ir>h$!wL5o<8 zjSZSD@=#TZ9l*EE3((JeQx{MUlm^f~DOS?1<4+*gt|15N<7Xuj6SM=2%R@Y*xI3xj z4k?pApdMz$XqmAC$yL?cwR~A>AI9ep%;V>vymRJiqIyVc2cY@iyk(J%e3E+A`{N4Z{>GSL#9IacXY zXrPe)Yk5j~EH6Z3@U_0@Oi1`m<-hVg7>IJxBO3zn-IFwwXCtvMN&m$h$|c=#ek>2Z z&34$may`=zU87OuI47HN?*l^$rKdBBQwH{<`iPtb8~?zjRLyxKZsqYhRnLO-Xl=kO zHZt>{D^p70DnC76VUuYIt9b)*M~Rzge=)INzl{Dd{3GwJS|#s5n4aDzQeMnXKi%L_ z&X3sn*dgGbhtZQPrIeCEcq4m5if-tSB!&hi| z0KPl0?Dv~orouKW^WPI=bBzXm$n21^S2&d?HpN(8=l%S_Qk&wt*GMn082gGnVa|qc z*Hy14b*$nC=mV5=r@1i9z$a+8-@q>~-RKuytxT}I0XusMzEp8)aYnKXkRjB1))|C<58{vjAdFM9<^;d(a8}eTAMC#6)hi z+`$eZPC5+zo8yUdpNIh^|F|DMFXEhfCtot2l$VZ*N_KCYQQtw{IAV~g+F;6*lFEZl zi}d3So@(zlsrZm;m4?`?HW7XKgPO91UO|(vGqD03R(Y{pFaOvYGkyDB zEj^7kcwZ#;RFy~Sx;4fAT5e%QqjB1!Gb+#2`PjkY7&G+v`D5t+yis9c8pIbC9e7$; zfOu^h`YLu=sbJ$?&B9fFUem6V3vD8KA)|A89}>P(nW~}#_p@Krl0@g-r|B-&n_6!T zD1WN($oFltn4%>%=_kPJHzD^AS_9_8SplUNc%1?KdCW}m;-MtPfY)UMA|EYtD7Ebd zVGMdTZ(fj3!dJZtvI@ASyq0Uw?>BHooi}FY_XXM4;WNy2#W{CXtU4e48vp8mH0!`k z{EsRkCeozkCoAEPZGM^$mxiRTf73#*!PmQMo5MVs7g9Q$dODKjpzo}6N%_$K$2Vzd zF8ZH8M=bNAo*@5xZHmoa736@M%H^6xz5~VxL zftuWy$i7!+k+q0J-d|xe=QYRWP?b>;7c%Zq9l`%`N`r_CkZ&>fQgKA_Y;e(jQA@XO zb4f?hxBH&ehViyEeGPK7cu>c8uQrm{6sI56resT7Q0RwVWvA|^UIT3Tstbj`!G_&w zx5%%+me-qIrjHQ6`j#~zkE6flHpI+@N0LgX*`wq{g7i?CMb3o}8G+vAueDO7B&5*t zxM?rinED@OZ{`{4%cX=dP#0~v6@8~MKX-pQeB^+Enl~im3wz>xr-3MIiIaVIwL{5m z-^)E!MYOG6uXI-?lV4bff zbG=i!Etq22V|!`P5HjEJh@Sr4n_#P1%6yf4GVMV2!XZ zR|MqceLDWp`UHH@286>e_(xhf1Tg1NkqzwRCNjUjBQj zR@sgG_mLWb|2!qwPn<-*-2{74W>fToVJ^JR!(KMK*dyo@>5QT9~&=ETZ#4{NEzYBcwh#cDbX zRCC!Lq9@P>!zFs@DV@=LGw|sZ9pWGwkFrm6$zT0pjD3ia4}t4`py8A|uQF!Z)fM)nr+e z^<^Qo@=M!drp|Jg=?<2t3JA8E@2(^1*;0@69YdsMK!})s1;6KDUO@R(S;%}?uqe+V z{yHZSrx%Mu^3uU1jfoLv>Pqq-XNB0cEp8zzm8LcGf*OoPbN5-q%;Mc{PCM}BjM{d; zU}^nwR*@#kHCI_`7OcNebE^=lqUOEa_bSLtzC{_WLZZgCEn)s`X+mmXvFgVJt<K+#x^zwQp-FYqpbaHyCB5BPs--SFF||wU%p@ za|NTRZ(W3ap(-VHLziU1VScUB$C@faat!#h3D^G!I{pA`%V8l#Ulw9=M#QP~!1iY$ ze%mPkmo0wjHTb$Tb{~u4d0cT1Zs2&7E`Trh$+0MRBd(`u2(wizAuZ_-^7kNrQEf`P zsnR7E2?5gs(CsVDHu+w}JkA$<=3m!GSc4%V{{a5|6=?q#YAx(5h=cW^y>1a)@_zUy zKgPZ{;0Jt5a49*!$NplBrwkkDalyw3V^8~`3sfCc5<-Z+Zg#BXG5%026j1@%^x=v? z^}<()F5Ztm6|XfvQ<^fFo+Y{tcsW-HnfHq}`3p}F-T6q0T?F}?Jr-qOdN{?t`^^Zm z3M8Al8UF)!fIV&xu{(s2>}U*Xp4{MIuT=TigMvrVkKUHKx6+8dx{v))a4?#EK{l67 zj9NuyT(D6yQ1%;wZ{_Vm>=N}^f6w5k`K3TL_Y3-JHUAr(%RGd3cwF$9)cotkK3PLX zC5~&Wd7dKdqDY#=l%J{j^8Pq?Q*&4_cN=&$zqTbUe0#Y&b6Z1nf`_(n`Cg61c6GKV zc43yfpSBldHVHQ9ecwd>i_B5|pMtMuvk+LR?*2xl-t?4^GT$piChGIkvXuER6NZ1CLu6UpP%VSkvfvX_XWp9eV&7VVHvt#^9R8=Q6IDy$+(yI z1^q;Qih*4>plwSB!xPW1aGsmH7jnO7^SRrgmCuccfQJ@ z!D4oM*Y=slkjC$5*%5Jg+3iKKU0V!vc@djY2n!lyeCSMd{LLFpE&3_HJGhc9-8c)g3!@7u4DY(o&=(4*1PsKiF z!}WhB#3tJ70I>cJAt1jc7$>f$>9Nv-LQE+dVH5Qut;qgMt=aIS>glv>bwo-52Qz?e zYF=h~dEStYUnJ-!uK)QepPVfuOjQDWZY+0Jq+~sw-St9hBL5#{F2yXkqi)+{ z63PvNMSe(t4r6&0cI3-~UU^Q?tJ#U=r-GJ!ELbM$M-HpO3OdgN9QYrwPo z8tR~){}a?s!2q}9`wIB6FU!;F^%@$^0))$ONH2!`rLF%&n7S7hVD#mtN(v`N=_!rqJnKoeNG&+PpMCNpE#vH z*LuQJu1|prrtCKgzA4YAPS8)0moLJGPF`F6fB&@l{1&=$=Kg)~E6!XB6I11>s&i_4 z(ZYjM>aP8#5`@E2tQlERKJ+BVv%9+PMdxl=C} zY^ocDz}7PhmYuSjlVz8l((}o@L(oo!D;e#=00`%!(t13H5d4fp^0`rim^7e zZ>u({%Jn;n{@%y%HPyJBIyRt=fxVBI?+NfcR6gdrr8at_%mrSe4cuo3y;c#RSXB%> zZ4Wrv0X442MOIt5R}B%AC+K%p7x&n@0QVdt?vJ&4?vYI~P8}QWtFv&qDKGpx#4E;~ zh%q}SxYsIwBpa#VfFB%0|HM84WBpoe=cSyKiS3VJBUNs;TAqe)asXq|>N!UdpF9Lk zL84scAX>m9SNY=}8p8O?xM;)}x*A{i;di6-F2?#wMhx5wW|bEnr+5W;+8D!A`*{0Y*%Lc9BGcfkKh?jdGahhd=B6!d# z<${QgTR7zBmJGUSNx#T1?|0KVF()|UNp@a;kXtqoWJ|$enmue~%OiGf;b0s*$SCEF zhLsEZlcXIIm2+Z@5KB?c@7Gbrh*h3H1P(XG&CeNN?2;}!FOH-Y#Id-!F(>+wQH*K0 zl}maJT<&mCmby{pln8FOA3W$ZxYd5}X284dbFvj(esHLD4Epyt_>KtvL2m$Rhy109EeI+c6zC(H*UVR-L3MG%vW`~AwWUX#tuI-cZB(iI+=V~ zYml#Q_ex5Kj@Nbh&8vJmeo1@KbZNlL<#y>zYruKT??_f(5s1^39s_?(Ta>I#QEn{) zR%}T~Ru}(<$B1YNrd^{oq4dX--$%RPS@Mc^%=J z+jd(qsOhX(@5A^zc+opslJb=vH-BDhu*T{V`3pS3>Z^7qxq?=Im95FofuFGQniea! zzQN9|Z`N@)Yz))&twGw*n5G*&UfS&NlEWvG-Q}k*?oP9<4R+e49XI=F44j`E8l!acdXXFsCw+ie+}0*1HEsm|aXSMCFT|Rf zlk7f+NcT0ynaan!cb8N74q~X^0LSAneEYBLic0_4pp)-+`K9;s^xQd3Y^A@!Zmw%g zuG}vMIC2FmEt}a2YS3N$X0e`ktPyD+#z;pIb3KGUt{w5=1K=O2NyVpIaP31F_f-4g z>X=*8X7F>MyT{Py&V-J)IHD{iMt}h>=$D)Rqd`>0N*vsHUJ5+qApNj`Nr_V84~hsj-zzoLex0dnwj(h{JILV%FIhn;$I+ zaqs5^I5qw&42Ri>&c>_lnoffgjX3TrWhAKFM!*7iCrNsz0&!Es)K%`={E;x831YDa zz|%Qm1uxo8DsJZ?pAW9mqQNLI9QX;$DH?OqJm|E_Kh%IPISU*{ZN!f;+X!*E4-r_E z*(-vdtp#@zSUQqqvk@~pl;r~E1%VAwaEq;6GB3u>9)-SxYlS{7IQuT}GVS1ei(JKk z6WEqwCBxv0jHT)PK07#KRw|AK!4-{C8Rk@|T*~}GE9Rs4XL0 z#9F{p2k)b3D9&994pUAFb7cCW%DkAHyP%!PMPosl9ZJeNV5qLuZ=MUjUsjh+E*}U| z-mY}bJn#_a19uGr;C8inxj92|rti0N( z<+h0C^Lk)g9R8|vV}3ffGs;~IOueAVPh|rt|Io_Gy&_e5fbS8;F7A#}ZI6zz7Awu~ zu`5c*O66@%$=0T$!fv;GWw)2j*&Q}H+6;_3gTP0O^E4T1Zfy(8b73dW^@L4JzuL1?eF8(JCiW#iPsGF~16Y2$hqga{Sf>l9-P{oXWE+fR5eR;a5%^PIBBh z`1a7x?d^8?#Gxq99}xLG$j!pd{;Kr;u)rmvd`1`KcMZGbHSo@8*ekqOq9-G;b*#dr zyjts%KL);D+$c`)(%(c`26SF(7U6q=69KHmm==&oN2_eMu zPaF=@bM*nUIu|Bxh=F(QreTZ`t2q3g&c^1BGT@_4$$`$Qeqt%cUB)r@EDt!Pfxo!0 zC#oFH0`Fu%ofF1rPCNL)$K0F-vR?=c$!<&o{RDA0XrRj+s>UxT7|=iy=M1d z-bNx#>9-9U9?zLNfDnUZ{AZ9bd z-#Zt4WR>q%*b~KE9xE-_?FQcloJaTxvv5wXLo{oEV<{2bomi9|dzNt-qe1St;G$yi zj5C3E!Vu%L;b-P|q?OqNUg&$2FCK&5d%Vh$K?ChE8A=dj~Q*uaB{h z({Z{C^FlsCdlUz}iblnyrZoB@DVDW6E~|cF-r97vikBZAX57LN9i{!?u>)(l14&v4 zz0c`#Qf@2?x$@F{aOX>U7-dC7ZUHb$Y;npJ&`p9*whWj>+uf3k>+UNDFSQ$E^ZUKr z+8$9!VXO{wHRMm;HgKCUALbK8BXSzk<{aR2L3MPcD#J%#wR3ZaozxFruqsm-z^J9* z{JmNWF4d3@Tv0z=H0Z>=c@%9ViMckIL(|5<$HdrXSCAR-+-Eg~%^9#?1Ybys#1*nx zO?iW9?%fg}IJ9B&;Xm5Byv{WLQI?1DHe!ATc$FEuk^&D7(JS)NUeMv>-KwsV)RI*X` zg&k4(I@D!-$SsSwr=nec>E@-^%oYl0%dr4-a$bI;#m;1vut@%mt ze4|Xu(yto0R}jN{0X(vJg@fh6_KlU>ltg7rPJ%l+f5-_wWMl%1RXjQ$eD#c!4)d0r zlsBfMm9Y7_gLXb=#Ldm>7wOzqzm(hM7V^Q7ENY9g+1ukLjmNLa@nNjY;bgSNQ1d5n zdTF~;qw?U621V{QjAcjaZIa3p=6ldLf`9bVYKQ!Ou~y~oPw4tS;1T*Sw7B0&nFpen zBj;d+qfvIzK%C_d2Eos?((H(xS>Vs-ce?q!ku+?BU%3YHxQu2d6!r$W?2S>mWW8AP zXDh~eTNxiKivWM3D@VXlqs>u1QS6};UjtVayp#TQ0r`E5QD?v(K8ALG#cTstRYyeu z@DYJaZ4t8d z{FhpvqQ!m2(iocyM8S*Kf=>cFaLiA%kgZ69lSVd?d;gf7dhfBARG;ThbqPf?uEQLL zlsOl8@M@)nm5g~=9Pw3cza9AGW9JVimG=>E*1~3}m{#I3Ow0$#YGCjWb>L&#P1%Vs z7iHiEfV&oZ8PBjU$*bI#S=~vtH*TfuHc^u*!JLv^ewKP0xYKCJP@g;I7qHBfj-J{U zFz182JW#8r1*3Krt4m15ks!E>db(iPsl0)?MYDVia~Abv8F0$#oQCYpLFHrEuw09` zTIJEk3?9s@1E&(a++5g&gwCPrJbS**A{F%N`1j#&&*@4lZ&W1YoYpwz%fRnwVv6b~ zlfy5}I*?=}Il-My(;qew_~2=b(x2eW0ET$HZWS@HqQzLxo4~vW$x~%^k?|j#oOKdU#ntD&RS+3 zPKUuqGzf2(*;s6Un8uE|=`rw;K0^OHo`j4aW&}29kNnkDv7z=A*FB_{dlyy zKEc@g@DGYYcA7utW*5i2m=6X!fj(iya8M~~u$r~%{Kd5fQU>DS{W)u9H95Iw>wGL1 zoQ3D3ZpvN~^wvI5ENVT9I`<+O7wPDJ17a&$_#CRd zi&O+zKL|X4-^&(`GPWcUR}eE$xp>S7{$*7xDU1D1Dr`Fxp+?bm@BW&167yen4Qh(2=YaUM-*UQ)Z9+5GJCyFGslzUwJqQy zxx8|Y#+e}+b((C9QBt*2>e;3@Q$oq;syEVe#l-!&E+G8^ysf9KdKyOGE>WRXp5EY) zUPdH%4E95vQ!s>iSz|iPn@uzD!K3sJ`fDm@tpLxd7#udWFPA@TWs4I|R_sXg;Im`? zvs0OeIa=A;qyU-ZvsW=$yIqtXtG7s^CCYc!dVoJ}(*UrJ4%{d7g2Vggx8wA;3Xk&h zTW!)`3`Tl&zn?z9bMISclfloYx08rLrM%$ItMg?7?C2r%1JQ4J3z$_j&X_h8XR{iU zn14$ob~xp86C%rA=mZ}d^0zi>UJ+x;uk8+bRy*SYXzN)Hx9OQ$y;8W=%RN?V1i#l= z{dz@00pE`s(CO*;>i^jhS2IrN<6EzaBu2vY0_0pg5>}4B z4OwZ9(>~0nTb2MH6mpY&UUFhiPxgAdY1v3nd2|!TkrQ_Ckv%mvgMRrBwFw10UwV4A z!+dqbExlR+KH^3zy|3d4^1CTrLq}bs+J^O`QTci5nKdFx?v!VYHa2g8-bo5)R zmMv=b^RJpCl6H3-^Nww7p+?jsOMMFXh%5n4WB%@&GE|@Tm$ydPhrq{&>V2kJktFzs zF>rO#?1|M{Y3?qkFjN&|TFiNU$uPka)w~NGDQFPEJu@;IUYvOX_JFij^pnH%i+dcV zd|=m)oQUW7@LQNyphe8&u?>2fwSno5d z_wr<|`hJN73!y(G4mi13rJl0E_5U;YkaJqx{99;uu{Q}`ng#qix1jdH3mW6#F2X+? zyGc`&ax@)p;+=XqJ@Hly8ti^^C-R6fbxgcWd8LAm+8TEF=eny%l4LQ<-sbO6oP;B_c9M+)mqpyqw*a5 zBb8@7Z$#uWkBEfW3g&_uNWVSFpM&{`Djs2;11%bVRI}J(7xKF7tZ;LX6*MWCbNZjw zWJz{#mJRI3^<<(|Co=ASz)1dkBJ9c45%YJQks9BkZY@RRTsFJ++7F1KVJtf5ynpRVe>PX z8%%9C@h|HF()SHMO27~Px>FB6c0_rk!a<)14(iyTl^2X8DN+s@gx%|@O=14LDEzey z{P2xV?ge02S?B$lgQehOkKWI{QygJpsvuKC7S>v?l{3b}^zU_!8kM`-X^qKR_{u-6 zGMWo^iPBS;Cn*|}^h_DSj*6yNVY8|CX>h+1%7cdyAH*2`mz@?_udgPi?TJ z7r^KJJ!Deb?4|Bnm$G=|cHzZR0uLB-P2l4dthhq$v~JNsp;&BSXGN{7{@ z9EZ>GeRIsb0P*e~b4tnYwbB#i7|REj_XY5O3)aWka7ju*f4TY{!~iLA;lz6xez=pW z5iX>=oHoR`(p=95GUd02S?i{NGH7F;uvg(fwlasb4Dp*s>tpN#JilK6|IWdjmVwnVhW7%n=fGJi>A5fCjdJwE znv%)^@G)t{iOl2Rn3EW%F{6Zb+Ci*GA>9eN#`lz4vni zW}mdvZJ{6S)Y2{B-i_*P%C~`?Pi#stH+V{_68+S!C3S9A2j&_s913y~E9PUO&;EP# zbr;&={OgqgmU-OG_CWS$4;N}aEU~fdwlwB%CgG12W@yJnMoa8cerue(PKPPO6_gsb zS%9gx)6X|V%(t#4`Zvh_7l4fs%-{Kn75wZ?db)G9OWuP%=MNy~zuKUs`>XVbSEkr+ zksnwcVULu@&_A*cpMJFss$dE!%xz z#^u}7kW9#;-i?^zdzqzcugTCf!~f~JpYzs%%hK^wru0WGeZ?7)x~meVUF$s6UkGZc z9diT+%VN@lwKmh;Kg2u5!1qH;R{0G$d*6ec{JA2fsAE!pEmis90rn<*vK65ye-yru z$`MsJKgo?w35DUJL^ z^Rtpr&6k`p`RQ__e8&b~&7eq<4}8BwaYFfatrmQ2m(sO5q-c%=sS6ywb7Gi>QK@H3 z`x*bNPOn_$vkQA5C#6UB^6$b%?zDw74#S@1uYX7=7(;y9_N&aC0THiAh?p+u4f1#C zEY*1pcJ_c-FU=l!ly57snJ9Ii5&|EbmJ|xTqC>hZm|!nL?ze96nf{*TQNH;=f{kPR z&%HWkR>$goyfeY(jD)!#R*|f>!;>2@XK_WE`&}8hi>|oll`71GXupsLuM9rLdzvKL zs}bCCRaP7DdYg<uB;BBuZ{MaTvC+VN$Lx|X_lcUvHmUe@f_{m( zeu4IO;V-ojW(Sx2&!rBwzARGncA1NPsn#gJmj~WYsm-j;ZTKGi4!qBR`)+YU%I@^b zkCi9D<;L79(F6ZEY<^kw$GR6&9Pz@Np-Uej=63ZakCZbOnLU+GBM{eo|*-j?$1hZqT!Dnk~u*blY7* zvdS&)tbh(+%;U$RLz#=Y4u6C_$j1280OArDPcgj-Uyf1-l@GvKYF(FFDZnOQ3Lkeq z=7j%(X=^ezi|h;VJFX2mdg_4&vIs7Aia%t?oIA~=Mn@#EK^)Cdrv+w z!cx%mV)49!jx=7D4%-y_UPf@~Gi1a*AWe{U_9i{GOibzkH^J{5W z|D?wCGlNBXj8*;Vdw!;fX#5W!qn}Lso_yish$PEai{^E@}s*Cal-u{b!@8op$KVhP3zR=x}Iw7%J4?k8QmNY7QwTel7{ zg+E~LBEaH}=hxrzvqw}oIF@7E+Fo&Fif?YDE&YhtJ~=o>SjDH}Iq14#c}$nw$P!QY+4nTvNzeKKlMor;2;ab) zM0$?n`Sk?TPZ{cK!rZDPKktmS!fYR#HE8oCv3+7nv~JUZwDe;D5S9Ma7%U8Luuso6s9fcS_}z8NBaR`zuW zulZXd=fjp*h3tPVdcyAZV6K;KvwH>OeTX&3$uI7_Abf@YPbz&{iuXx;O4K184$L;P z!%3~L@xNpEzmRf)HnII?3-CO4Y9g@&5V8HF*_h%B%#LW~4;f<_GaVsRfIadp*cRKK zHxkc1!|!~6KC|s@2}#00-^{4hxCUU`?0+w&`y^RUiq?bMkv^H$Z*g5LzUPGt- z&nD92i@C1eTeF2UJcrDxw_%QL^2|(OmQTD$-`hz!%9Z`oh3&dral2K87v5R$_BT}- zV*6y(G&Os#5?O|r49lQ^tWcKA%QQd4A}-5XAI#0TEI;ew#dhUg3gWESxdZQ$67^Uv zZ*LEl?8vzzX5t#j&gBD4-JE_%+L0KLDf%6`c%)x?q36lI^g(Rmvh3m|Imx^3sM4i= zI(L*gzn~C3Q5j<;J93sczw><|`pA&cg|_1Y3P11H-`^tIx!m4|zS)K7S;J=(;?K`2 z@Y-dekK+o_6X-Z1*^%>@rd|0$?UVBt3YFUelM3vcy9CBF#Q7M874lFh5%Q#~0#9AH>eC4NP*QXF0CnT+6dm zX4g&fEPrgF_RRYe3(-ebjVW||<-puR{Ae8DC`3oV-?tU~9{8C%%?x3?>7f4EOn z=y-BIrx5)w>(&@blrC4XaxYJ0qhn&@+9h;JOz!jcput1m9c7;|>4T5bXU>}Q z<$^_DEnBfVbKSR_zuUfJ=bpX$4;(sj^!UkBXU<)?n0@8ywHr5oy?yt$+~4or&wKdj z@slS{pFRKMj~6f8--nLv7cc(!DvwKGS{qHvHa_=7B5^d?~6IJ zKbtvY`m_(HOqw{}K6>Q4!-ot`9n`;H-(EeFx^?N?vHcryZCbTx9&NKmG!AW0FSvHC zz-m?eE0!-?x}?dVQ+r7!X1A+}&B+j1Dt2PA;h{)1)mki;(9lpzjT%^COWRh>B17xf zu7L$F9A~c_r<~GT{c_9-nH7112m5B0xn$$#%XRpcMDjKnM#hur z!YC`F~W&FxcC`bK1tzfN0%@-=447gRTLXDJKS8Kl$tggSZL6@+y;lD)g5LP$M zY<{2x*Lr!I&T%E*IMH@q`?ouWcQU+rt&5{uM&kQDQj)v(Zr3-i-y8kA3>=U$>7C_i zCx_}sw0ZA~Q4hv+9d~R(!lYlOyf?Mt$3LY{nAu`h**OosxHSLd!ZS+}m;U9K&}t*~9O>yl>NwGY+I4YIh{^XpQ4# zPa03DC6FBmWSTq>7szFgx<{a>Q4w!D^bz0ZwdHz(hk^Xux{yYHO2`}=RY+-ko! zxtDlpW&~@Qfhgy!Y2wA?-5|KT?B)l4j%$NO}Ny7jF-rMV8{r z0K3UCa)sO@3TmL`XjK|aBWMidodk)GpzqU9=mNT&u7~9J)8ml-O?sccpc<|e=g$Rk zpk>@~;h zE3ZtiZC?AmPI{g5y6kns>o>1FuV-G=TkXwzm+`LP9pGKdyPkI=Z^1jp`*rUQ-d(+u zz59C)_I}rUoc9#(>E5%w=X)>pUhTcXdz<%e@1MMnd7tsV?0wTa$NQ1@3vVx#Uge|m zQ&mybR9RGEDyyowDpu82)mfFK>Z2N{N>jb3va2Skrm1GC=BO5^mZ(;!GF2N@+f=($ z`&5Ti$5p3Q7gbkPw^TW*Jk?WGzDlXqs(E!Ob$PYFx~jUSx~@7z-B@i^N2^B z6VzSRJ=A^FZ>v+(L)7o8$EYW$C#$EaXQ*eX=c*T|m#CMkSF6{lH>tO(9qK*mAJvD| z$JD3P=hfNjYwBC--_-ZikJQi9M5ENGH3m%yO=(SeO(jhgO?6F>CRh`q3DZPqY?@}8 z7Mj+YcujjvCrwvPlBSpDEzJN;s%D60gl3e+u9>KrteL8ru9>Nst@%Q;K(k1*RI@^} zMzc=yt!9g6yJn|mk7mE-pe9RmTysiuPIF0fMRQ&AtLCoecTJw=vF5oZU!%}^!*3h4 zCA6irWwjNw{@Ne`yxI$Ddifi_GVuC;2LXq#(WXk)c;+P2yb+Roap+C*)#wvV=- zc7Qfjo2DJ6eOEhLYu8TDPSSp;{YaaxovEFrovWRv&Co8^eyv@hU9HX3uGenTey828 zb!c~M_iBIA9@1uMk86L{p3z>=W@~@ZUf15z-qGf2?`t1wpJ<)Po$>N@MX>bmQC z=z8h;>fY83(52`G>xSw^=-$(f*4cIAb?@t@=swhaq)XR*qWerYTQ^ttrEY<4k#33Z zYu$3)D%~30H@fw@jk?Xc?{wRBJ9N8rdvyDBKk5$X4(qaX$8;xkr*vm^=XDo#mvz7B zuIX;-e%0O4<>-Fb-Pb+TJ=Q(d{h`a(QN2R%tyk-{dV`+Vm(Z8em(iEim)BR+`|B&~ z1N7DPHT1Rgwe`XJdioH3LwzHCxIR*E)!X#Z`sVr=eM^0;zKuR!-&WsV-%;O5|E9j1 zK2hI8pRDh#@2l^p@2?-EPt_0B577_PkI=uTAEh6oAE%$7e_uaY|ABt0{v-W#{S5s~ z{b%~w`Z@Y9^z-!@`bGLB`lb41`W5y{YL#}{df9p`tS7){Vx3;{a*ck z{ZIOX`osDx{W1M<{Ym{P{Tcl^{RRCc{bl_x`fK_d`dj+j`n&oZeXjnVK2QHp|5*Q2 z|6Knt$D-<;tMB@8}>(gt5cIfI{}f}xVZY^Y+WYN&3gVW?#YGSo2y z8|oQC3=IvThDL^PL!`lKuo;>dq7BUrF@~0gSVL>W>xOtkTSI$82Sb9Pv!RQjn<3GV zWaw$=W$0sg%kZ|LzhR&u#qf?H%`nt3+%UrMo?(<>jKOXgZH8GEOmmXq;yJ*qCno#Q3Rkmhp4rT;rF<`Nj<6 zBI6R{QsXk?3gar{8e^t$opFP4qj8gQi*c)QyK#qcr*XIO2jf2DkH!PWL&hVE#&gE=#*4;m;}zpo<8|Xr#mSc*$oaQVu_+O6t5seZgUGTvT_NO_%j zQ=NEwt=9;CYp`Du@ER%Gf|zYYkH4}+9f~KQh<8=ujgQK(C>XPk;vX)s@rRoK&0i@Z zrAp-0i4n@^LO4t*sr47hmq@8BV&_+-Tiik}iL1w{xT|yzT}3~q6KERkO}o&x^mW=o zOs(k~v@7jJQ|K5v9dXr8dWkByI$Sqy4tIn*$bHHsaMiiz^ep17B{*Uf?N7VYj%7VMR~;AdTPX4 z1zHVM*l0ZZ@h;-+wcx}vS_3-KfvdqiqsJi0nRFyHsU38n0VwdNzSKl@6fdlxTGUhy zG}T7j9t*ulLw{G$!-&!=8>G$X%Xk$7gm4r5|Xsa41@ImV;>V@QuH6L0Lya)w_ zozd41pnLo19qNbkTX25dU2t|eorb!*!}=q@_bRk3C{W{U1y$l#Lrb8}Ku{MAZR-z? zWzb!?R$yB78ualNB(ao!DDtrdxDbRslt#PWIG-gYXkphM0U{^b(!Su>Jn;S+HE|J; zM;X+xn=XcoQk;CO1&T|72VPW~K2V}A1E>mshDM>Ey`eXA=~j9f*D4KBLuu5o3sg;n z)^~!uLebxf=(iSavxNf{UZAK9`c@Y;#6cRP>1@dJ0#!k?BT&P2=y?YEHV`#5gEa&~ zb|p~*rlyc+p&BA#GpvTsA^)?mje5=+cDm5eP^6)t2I8#27h1(=cpZ8>3N?HSTT*ht z=!Fk-n(^U%u@|p_hMF&X!DwJL$b1ME`QS z3k$TRt;oqa;KMoap&s<1EO(pkgG2#xxP4uM9shG(##werv*EvRQYse&X*p=UMG!)BswjfXGUPOnlU z`1l4_nR^Tmw;EbK0z8U`Z>TRy!w1%&#o1c)rv$X2GVCH8-mWux`#$V@7rh0Yw8Ap# zz_O0hb@Wrns4r+_8c_?!mjmSnF_i!Xez+oL`oug$8a&-n*hLO44=yA@CluTnNcT%R z4jR!J{yhT627>CcqIY2afmvoP^r0zeOoo@54w@y~Yz+?)0Y7^gTE37@hM(>ZoofmU z3W5e!05{4a`9U^Soqnz(=p0RFf##FA0$6ZRA61X*!o3epNWA<8oEVF1{;trvXlR86byPfqcU%qi4|mNZ4pZ^BEC zhBsRU`RC9wTq|yfIO0TbCRo>Ac&-^J?+-r~kDgd@RzvvQ`uGiphinDkk_UL54G8*?SwxiR2K zS?Ko9DEnHZVhBc#9%wZIwR8YI-BIHp`W`f9E_7)xy#mirhwBXb4|3mg6S&v83gE*D zk%AAQ6a8>*JB$p?XcKU-3C7`;Vhqw-WOL6b&f-ewg>P8(MO7JdL@?`&uM zz~YZ);9w-=5g~H26=>-ua&jhQwinu9MBh^&%P+aUoCSQm1Yfxb7XBV6coULm@kf{_ zOD4@o$R!qf!u06_=nd1zd|HP~gg#9}3{Zu8h(0h`vIrvyEF2GFG1@Cmh`S4^X# zK^Kc3#?a4bCPuk?v=V&7cy1&Y11{dBKZ^P^5*+M=)&y91UD#(;*jE+&))MPzhPrz~ zqSIj8yXg&D5+l}7ZUB0t<9-qQ@F6(W6GyT5AsE(B1y<#UR0-Bm6LmzP?k?~E6CiWu z1O~A)H*kWTh8~s@f zR1bck0_Zp3Z04)gPG8O9hi1^z0U{@MVC*gdIYe?icMW`82%8xQKD9(2>VOC3Fve(c zwgO{@5;d9N@v5R9O`xrPA<-|uxl5vt3FGw6IBYy*od6A%$1H;wKS-lD8})p_&AQ+O z8@orsQ*MA(d2zMjsWs5Yt)i!X8+>F@6!X(k{J_p<-ZSH@+dr=S*+nK#^KMw9jS(TVht<~ z!^d02#CXYQs08h1HFR^knx*hd$ImkC{e#Ght#;f+une!{VqO z@Ptxi&14b58Mv#?SZ)x!Qw#8_Hd-r-=z;096p!k}7^b?YlPoqLDSDYxl;dh5f+&ed zY%hHH2k=kb-~l4x8(0j(s8AyUQKKdv*69y>V^MK?aGXVh?D{|jKE`0Y%7KSsBll4F zmpFLm5V0S=qHXHILnGpd@~E{A_!tAt?+;HhA3gsCb`gr$yfXIy-a8X|IuaVu0i0-r zW7+iu^A9D!fl}yGC1`3rSOtq=-od!B5LY?O&qcyRuvEmy$V{y3lc$w=@y z0Wu#2K7IpPK7dZQ;nHv~sTB7s;;Lncj@W3?89HMXeRWOfcK}i~oNqy`(HPOY;~HWj z#(&1gd>X`c#F*EXGjn;UaUJY)Jj#<`Uu?Vx#aXps2|@T}*P8-r?uhtgIK2H=kpC5t zkICE&E*YGl+h*bFd#{RI2A zLPj4!rUSvxjyR(wD2YaDjPK+M@UEaegBBlLiVt0k^h7f1bcIu=rsew-b>}EHpb0qu54B=|k}HE$CfawA~#2 zw_yZ&4N`~)7kZ(N_aU)w&{i(usOE@%)^nMNKm?JK2f*Q3A}4!-3$4KeE22P_SS;5H zlyt*b!(zD==#R%jrwB{axM2Hbc2XJ@@t}0msa)uI& z6+LhdYYHqQ08tq0gEWUy5P{T%Hq}I85lA@bXbpa_i1IVUONSAGROI5(4>SppHrAnt809OEAIQj5XGA);kP zmGqWry0;wWemKAk(g-j=6gxiYiRWGgq?$7qbxW^)p&9LqXDD5g*w-kXe4^djQ zZx(?BLARTMpM6BzWY-tZU|ETl8OGqjOdb=1BWf4dmcu@}8 z_yeM0*9fGVGXh~V5K;u~k>BGfwwTxbQku?U1w zz`Q-X@|VYps*s2c^5_G-p99WapjvpiMi?)CL46Cr;Q_FO*T667s+o;AoH*jJ*#iT( z!e$Sw(C=i}?`+r*yK)bLKB_S4Z4)C97Q-|Hr8UGpuS zKIe_Go5@ldH=8;~-je8pG;Xpv3>H85z~i#3-d2zXi$K5eSPPyx^xdLpm&uV!a3f4N@fL9)Yl4 zFh0mp5Tn5#oMiEX91V7W4KrC(ggzHUAhb{f(puE(>0%`I418$7X>r{yMIZwpO%{Q$ zS-H}MA`lkSvRRa1=tCUrcQ`yjrWoA^iV=tu6;Fb`zlmNphRmc{HKvnFByZ5eW>HuK zVuR&K5y(13q!bZ|4Og1C#0ca=j5TZ)B?>JuPO$k4jTnJwL4g#3G(<1kgI{A1fo!Db z;UR(%fmFae%un#1(hO<5GXi0=i>wYkz$1c?Bajx*d?~iyE{>e_F>Y0bmptn94}D%n zAXPyH^A9Wrks}axh0+?5NQD(H!nnmEkZ|#uo6Q|CKkM$J*i}*)r1J1~Rlyw=fiO=w zOpHf=!u)|RMvA`h`g%xX2gXe1Cwt-;cBNJiGL<5b3XqH(fwY9Q-WI)FCUlxbAg#FJ z7`sZr$Lt3u*nBsesbyD-VX)+y;HVUV)B<dPYNOKsy5siL?2xKSbv$VKc>@AMm(pB>g=a|(Wo+=)i zWreS401XJiZ(~pugZ_1gH)j#Z8hF;b;6k)GdcOm1u&DF^%H$$74Mz_UP^A_|Y9{qTVer)5{TMp?4m39rt#$xc+v2w~YJ3~A9tVqB3R+Ln$M6iT zxv|{0+&o;nhrvFtL7pq&{l-D#df*%ui8TQSA^{tC@;dhQ5bwi$3c2q`9HoaQ4d7NF z8tlo{!pM067S7@aHhRAa`-{PO5zq>DKP&?4EwJxR_`zX_q!#1Y3%D|D+Tt=i&q%Sp_8LQ zL1*yJ23@EJU8;c?AW)1R8e(5dL`QuP&wY#tdOzmed5oC@Kt~ux41C7`Ql1Q5U^5u6 zf$sV^uPUx}{4oZzdnm!^jZGZ6SzNsU$6v&V6~^`AI${3d3H;Rt&}N6c-W08(AuO?~ z7}=MDeX{w*>gZ88xYH4l-Wc(!`vi2V8tz}jf(tp&(bZxM#QcLaI~j=9%fefh#7M)g zFwC$s))O`p!|vp)z&XF;?n69!;=}!lUM&TWrK<}zgTXvyIh@bp56MTdx#nQVmic;i z|ANh6+=OMcL{IeM*u4m`W(rD~pR5P&RYJ==d>p%0WA{)bKN$udC7`ctF6VpbgccN7 zFzT_9cOIm~Mt?TXTN_@X9K0L5gHdn~h570b*cgkX#)4}seo#WIszIAhLz`!b<7Nl6 z!RDIHXw!(+l^Au|*slT=YzBi}tHps6?0Rz@qH7kF25^5s66?h{jNJ#4t`*q~h8%&g zv7gO>lo79**^D)dA7-&=eMj+0YKVayJ!;ap>U<-?a*xWyxe+U)F?sp)$<&b9{qB%d& zCe}iuhr#xw8rYb}xFC()QVkl=z~=th{irUG=TvC+0r>mUhy@>khP8+$+1)HQ8&%hN z-L69G1#=)8k%pSEu^8xWDlA|rw20NfXkax+G_V?ip-sLb4RQ@q1j1%fBpTQ~u@B*| z+5JTyv4+DUA4Z71u%dxKjIq0SJVe~y*nGep$~kBtPj#XHP#PC0n;dU4}{HVv1o88ycv_l zL&$>ZB)d1s=A+(%Wj1%t3^J>b?(0c+21_7HW%nng`NiSj+iK|16If^Mmv%88<3s}N zB3!ggHn+&^${X#oIgrxeV-3+R+9HM-g_w3dJoX>BKiLp|n%!Z|z&P;^MzvU{ZL+Hi z6Y9W&OpuEYbd23)Z3MgN09u)4v3qJ9{8I$y3;*zg=pWeF9}nwmh-2A(oKmQR2TFnm zmBch=!d=m52q2N06bL={e&4REiwR-RzF=&C!K%_$w`*Gjh z7xM;*sD;g|ZO5oP8B*#cQo-&v*G3&x&>QJKOdZtP1X|w>9%?LPzh0C?Mfh1ZUX*Z- z7oWh(3;;J7FW5bIHUq-u%-MaIhTw1u)ZP=8Jqdi@io1FQqg^MAIntQL`oXSw(?CT6 zdeRg$v-|$_kV4RYB&6^Lta1P($?l@;6}==IFQ%d&wKxv_*a3M=2Ni>0qwT?Sb`K^3 zW1n>Q;5GE16L`QVmNUm&4{S*z7?&(82EHG(lqbVP3~r z(*riiuKkyQYwVfi0CC*hAojx_p6VR>wiFg-$LQM!9P0q8V?j$R)b$2>mWZqN;b?)) zKkSDjwa|rLm_^x%@xPnck1OcgT3oTc505zz9P5s=*bE4p1L=tK`+$P6u&4}h>?k}# zX=q~#;s?)jAfD$yJkNo6o&%BQf;`WGc%B3CJO|==4#e{ui03&F&vPIS%;HseZ&#Mq8J{`4J%-R;lkKzEmbCc) z#qyLa!IMIAVo%$*!jn){@N8N^V(*d2BiCKhG4egq3cP1;1Q|(2<9$2h@z%X*=-HiNE{@eoPw=vfMsML%|c?wuw$o@Gvo;Iq1RzY`$gL+IEEdYL2lt2P8I0`*w`r? zAz9-Ju{BoX2J(#Lkg~Ab%j7bSIE2LZZb4!-?k5I{Z$V;iGMD7SuFoT}I#`KhwUzL6 zDf0kN$x|G`YGGyUI4RYpW}MB+m7wA_5<8FOlAmDj`e6TW^^_RV(gP%R9?PY2_P?j> zKY^Zt3ikU{+>dX~I?Efw3$d*S=!HgHV|BB+RO$RMJpU}wRuNRNBUw*;@IeEoqJVyN|$l%GV1if+5;S+!SkxMoqO{Mk2S^X4fqxp5=b{E5v0ReReexLRvUSGA^PrRUjy=gL$@f?Cn^W$LH|N3CTxU6x^YBuVeCqvVv>LPfFt6&M#* z;2pa^;#^kOd7OJp{FTZj{be zzC~IgTEYgLy&E{@ESD^j)to`TK>7-$yFu$AC;!HaHocOp6zh>{nW-0K9^s|(3izM7g7g-i zPG;7^l2l$9|7TH<{#NH`W zxI7&HQ&*7K)6R@XEUm$RdR51NS-B?mR-3}*&G0;YL1O%q%h`X5xt||_r@9N57qrdR zn5D?&yYReyGZ)%fFPJ6D{v|4cy(5ONE`jy0YxJ%oi*p%W*PkiBt zFFf%D8(}^1g(tpX@kv2!!PY$Sg(tp{V+>DxA;lO4(M1yZtN22##^+|dy}aakK#fM) zBX5f{lH$(@aoLbjc!>;03oc8+OqH~zHd=s*< z0={uok&r!=&<}rn@6Sw#xeCq?AY?{WLe5qrq;4P~(`(?{b~VxGAmp`CRu|vNvk-E< z9(WK!$nb{v)Gxl=)~YcfuSXD)jIUTt#g~8fH6g^e86hKIBjiB~d>=8EkUFp9`{DRZ z)er5^en&!fbwl z$+ycWS-6Rk()(~eUM8^c1|@qQQ!-A=kqZ?#aw(W2)1o=@YXV2|2XN%rc#ia&!;u4- zxJ~gRM~qiE^5PjsPL)xRMfDY=Z=8bE9f*(1OjD5CD;4D4K?MoOQIIJml_V%kNy>Ip zk~b$R$senf#BfSUKIgp1%3v?juDcgm@Ua(}@9-ks^SnrIO>dIi!<+mx*PAr_*_&+g zQIVeQRHWr+Dl-0zikQu665dZuu5D10#tIF2y}gD+F4K^T`5L0{tR+=9YRR}VI@0t# z9hq=hNBXqZ6YW+#`J|44n3ovH=}Ja&d7hEH<5_M5@h1D5~TIK zl4MsiAL4hy*YsFteHxVmLEbA zf=7@~-WnykhX2V=R8&;UHl0Emgqhn7=rOFfxj`Fqh^0?znz>&6p8bZHTep0@xw+*a zti{Dv#<8T!YeNSmcMGqUX719u-=N-D>t*iJa!{X?ZsE>)dXK=-eR}j8(7RV52fyo0?(h~ck_dSO9Omy;()gbQgH)zO^egk_a z4o&UVV@PkYV(IuE{RXAE?sXmyzNIE6_ZW~obU@+bQNLW*z#bzK>kmn(m&kNa@*QfXrOEpQt&p-@qPydnbxKe%U_T&zgU^*OlJ1RM!Sx^06QG_Z-jz#0}^@ ztoHzsX>vPaKgDvVHi3{nDdHjG`K-Ovej|DhK+QvXCo_e5S#KIR4vk53p5p9J@{kcy zXT;-RZxR=X++SJ8m{bPz1XVIU&hv*3`Zq^7%SFyGOOogtkTN{6&)^;ddk=YHd`+{&SwjCTiiaC z@GqO?-4=t};(mhrTZ6?$|G^(gB_%9w@%oE+u|mYf7x_1&t4w; zbSmUuWdGhWr4m<}v2}O*`@hjX*>^_w6MQ&CT%;ZlVltaWD>j*wc)d9rvDv8jSBrc9 z|I^!l)xNuY{;GZV&t;zt&iIkDGcZ+|U0{>j!H+Q~Bpfr0}o4k5IT9&aHfW zA?j}~f4Ba>IL?mmSLJ$1ZT@+$GL_;{e^KA7so#vRWBtwL@7Dhp$I1PYU5qxfn z;B!;tb6^RO32X!Q11ErN;12KzP{8x)figg4pf=DDumUZC4nQ}c50C7{KSQ zNGQ-4hyt1b&4C!8CD0m(2igH0flk1iKsO)>=n3=!dINodw}C-G3h)k)1`Gv;1MdMN zfziNNU>qkARPXbYKQB6ZjOE1aaN;I%hFid|z#S*< zB4_x`i5%p)!0%4nL(XvDi9F;FfQP^%;IR`=kUs^UIq@9%AHWMBA0W(Y{RJ3(OokJk zU^d_mW(y3p{|4k^SzgNpHL)(E2G$t@T~HnCGOA%+Mpdl;UC8Ii^~m+JwpiPY9!6Ik zpe_&$)B{3*20$p#2#5fp00C$UGzVG$vB2v&0RwNfwhZ3@>zr7R ze1j9;B4^m>#3tkno1NH#oZ&kswjyWP=EQd7-#f7bIfDaW-^|?Q#BSt!fFFRpz&>C< z@FVb(69`QpoY^A{{!w0Ox^OTS*W zV&$sUYu09dvu^!{Z#Qn<^4->L+rQu8*tv7p?ma*Juy^m?ef#jU_lG@ucJJEh*zx`L zt>10gyy@Ew>(_m=cFpQlE0!<&`l}_27iKJ&_vIIJKA-*Br=QG7|M;V+A5NM4{>1U) z#*P^^^4;OXhNKOCCuPu}fdkkg5<56;$gtt>zBg+0So`=1?@yZY!PIFVPoMG0r=QLK zeC`+X=4UKiykzOu%U7&gy*Bga)yo&po&NcF)}f#F|FFxk{kzTIuFqVva{1E53+I11 zXZEL`O#f)=lt~lE+ef3Rp=qgu2E6@N@8lkdUEl1~vE3VSZDL!-G>>j#vqnWmgg0&! z78V*B+OT1R1`R?&>esJduUi1T{S!ViMV~AY&1@(6vkFP6-`5 zv~Sn;jrh3N+q902ZPl^`mX@trLmlFw5A8cZBN94c=`1d6ErBf^J7PZyI=|VaYq#!+ ztl{3Q<^B*t>N}7D8fOZ_)CJliDhqUFny4%@KNXc_uBa^;lDa@&mP27gjgeI5+l`wx zZ;`Zysm(5?HhcH&-~Z!J2M!)Od?YLD=&|D`PX2uA)af&4&YnFdEoaZ3IeqHX&nHhD zKXx?h$l*f=5B&7w{(Vrg-A*OjCTiJ6re-XZ6&Fe-lf(I1%%0@qn{onDFOn}v_Y!82 zf0yzoOP#oXm-5Mc@rKUp&RUxK|8%i(NMdGU+B{IZ={+IpO2*t=k2+NBCa$9ol z+NQiu&Rxs?Q|ofwa{g!a%E!q0pB?*m%jCM`{O_K}j+4)k^Z&}Z^0D%{axU-x@8ohF za{hPfkdKw~zjMytJw~om&R=z&TqftQI_5vMPi{lbS-tYQoXc$$#Wrihb#ZN*?JtUL z*Y@RgcfPpqFY0ZX9=YA(%4Is_ytwF)+m-2%b9sMpxxBx)a+wY} zFD^Rdc3(w@`@VmATc(BOa$9olT2`FvGCguG(^6d9?(NF-6m>4sA?HQizI%Hz9dhno zUewz%9dcgO?Yp-p(;?^XyDmvWv{nOj7eU{sjbJw!sSeNOL^Wvc4Rc*@j$hmw> zac#S|E7McdxlD(g7j^sY?a6e=xqEq0Z_9MZc~Q6T-rlR|aNqY&Z@bbYw4sA?HQizI%Hz9dhnoUew#KqQiaP zKfUeRXSppocP%T9b(s!1FAf@9+mz{$bJw!sSeNOL^Wvc4Rc*@j$hmw>ac#S|E7Mcd zxlD(g7j^sY?Y)W)_kI8Lwku6?TXODNRvhax9dceAG`O}Y(;?@sWyP^B(;?@@L4#|X zG97a6T2`FvGCguG(^6d9?(NF-6m|Y8I^6gD)7!3nmfMnZ*RtYRm+6r6;-JB`O_>fk zcP%T9b(s!1FAf@9+mz{$bJw!sSeNOL^Wvc4Rc*@j$hmw>ac?s^ikb$w@2+jT)8Kkc zQLf8$$azt={i?QPI^_IS#}ws0nGQKG%C=wCmQ077zv`Hx+$Yl^=SA7}tJ;$3kn>j^ zQ=I$U=_>B+;^YNu+r9rDdJ1#E!=J+ZaNqLq$DJdExBs{Cr!aM%Ee{7g9Pn_Ucsbzi zBme2`SM^qIQ_kgMifh}wU74Pu&Sg5}yr|oEZ%?K}&fUw4dRwML&WpNz_x5Bu`ibhz*Pr?*{clG~DV*RtYVm+6snnU><(c5hdvr>Jw84mmIC_TAf) z>5y~x@}l0B>5%iHZr{B<(c5hdvr>Jw84mmIC_TAf)>5y~x@}k~; z6&>#T{^@PkKFe*%xocT*tjl!Bd2!I-+NMm0oV%74$GS|1oEHZTuWD1KN6zJAifh}w zU74Pu&Sg5}yr|oEZ|_xfxbOR?w_RzH+mdtFvf@~m>5%i{pux3GnGQL3Eh~<7nGQKG z4jNqBl<(c5hdvr>OH+(c!-DpWb%uv)q=PyOtHlx=e?h7Y7Zl zZOU}WxocT*tjl!Bd2!I-+NMm0oV%74$GS|1oEHZTuWD1KN6zJAihEn8qquVS{udV= za=RXSWKO&~_weV{e3AEh_#<=T)j4~gvE2pis0X}-cs=IHL*&=|lgNpXbaEZ}apaCz z2U(s>=nmw|`VyKxHl7Y$kWN3IV54aZ?6mWaEE;vm%yrt~K%Pr0KTG0Ne&2A_ADOul z{2Sce(BHWeZJQ|atBm7vLcifQ4PL1Dd{znN`Bs;?y*(={hJQCs$=Y2r<{iaD-bTD1 z`;+5g=|uH7m>fgS==r*DF1Z?zM3(l=Cf~<7NZR5gx;-wF3|nBMA5E~(Cg&WW$3$Bm zXY{1gii+Q9_pM2^_Wg8P=YBTT_?6%q-AJcq#W-5RhjPD%HsPw}r_<6t_j^gD|vo+pwO$(iJrfK)Q_3lqJ9eB$(M!szI* z&qBYC%OJfrWs^_F<`U~KW;%Oh7HNAVlk{D0rlGfUN!r)hr1hy(5_8Hz>)&^f&bzZn z>^U=Oe8WU@eC*`)9fg3cE;Mt$i-R0{Im?xb4RwYw0|lYzA{M| zH#?p5+-(=8PqvYFS7uuWtW6>}{4$CC3w&$9-$9ahn8bERe4Qb%_IvKm6t=XB$GK)< zN1TQ9+HDh-rkKflD>JO?lCy>Tyo1c1kR{yl$tKHEQiXFt>16u!B;ia@23b5Z+qx$v zm3%Za%ep^0i7Xl$Z(W;gBOlMUSvMz`$l|e?QS*oA3Ks($WL4ix;cTFTd@?y*I2x8p zz8Y>3j)f%QT(ht@#!MEC%&;C3@ZFQy>DKM-GK58AiS@^rBw_k&V%?l*622On6tyqT zVZG*;OE&gRwO$O!CHvbE>#5)jY-dIN9Gp%Lw6jGW5Nu>ie{!~KXY;s9jInM~n7MA)F)DUFVzk9#BV?Sc?9(dAtd&Y{gSLHOTBjj%a+xBJYUc zdvmRzd7LjC36a`;fp=Z!_*!81_?AnEom>fsCx;{K*`hC~k((Hy=bI?%-ALt{oyw#QZwldOU!zLB4^>!l zaw*AP&`_I~BV4u4P$-}Kld@MA2)Sst)Xhu6UF7+ST+t5xP?^Y~h*a2rJoyTKFgq}w ztW3@zKSXDe!HezmyLOpm+GGb=kYb^)AIOGZGSgv;9VBs+iK};U$W?PRXo|*vxo9Gv|IHV;cocbNST{EghS}JF_$M< zkQrOP?&}~=bY`+S!A35Fj&U5xz-Gg`Z9&`(m<%XW+}{BU8ye9~;@8kS<&TJ(Ff8k@G<|@@=w3 z_^w?B8M(kl_QcpoW`BouCj8^zl_s(#*+N#Q#9Ie1Hq%GCBre^6Pfr0>?15y(B%b_Z{UZXD$>abA=k>r zlBH?s!fjuSU(rd{3*gIwkv8Fc5NspNy~w7XnOVWq*foDJWYw9-V3Z)gOLuc&czI*d`o{ zFQW{?XUruBFa-fL>oKF#sM`Xhvo5|I{RKb{gL^u$WDqIi96mG)j zJc7>cjU(^{+19&(xlw0>z_)~S>q9@2^;(qo|CDl(S3U#vtq0G%A!a2}o z%H1I_Kj8H|U$_D~n2sy3{+q9v{2E{rvN6{F>K9Lrh9!}E{;Af?F7fn-=xnl~O9pxB zmk~95wvGF2cm`}Po6u5@$mk;$MemhK+@$G*a{BZLA4O$l#5uEK@L~%kN?W-3{8+(9 zaam!2jqe99^yqisi4=kPoRerjk2jN2cXkN3{Y>OKwoitni{E(q89w`gFA-KHnklo@ zU9lFTROd#GpYA}smPNivv=E=?`H@{WC2@1pY;;kYnK0iRelC}LcXlTIY=Vi@xswxK z{_0wx%T_bTJ&wbNZZ3tY9_I+csdVlk+O2=kAO6rxDrN5wZut}9cXhhx4-L7OgbTsh z;8BjSHZhw#)#1BE5t%}cFKlpI4h;{6UX`x3U4(oO3_NQZ^CxK>iHX`1-GbWo% zoS8um3ebBYJ8IVORH}v#*^*!(x8R3T7Mr-IIulvm-%M_y-?0ZW;15mY%aLYs+b>I~ znPX9$!5B4tvWeXFw+U6wPZxfS&K1;oi6qxQ!&>6b5n)?GmhfC*A@}`>mHF$;~I5MlpZAG$kFrBv*LipB3qd%_Pqi@#IvPLpYEAW~2~$AACO;oi1EOyA!9!(_85G z?zkl3u3x4w;Oh)}IVe-u+Qlq9^v$-m-t}|Ryc~-I&HH5^5h|ZwAShsKYz)YU zzG!p(5uahq3@{6)gDmv6Zzj12Uw$(%!}@iih1(Tvr#}fvkcHVgbf!)5Sz0Q$Il&HD zWJERJ7q5J4agt(b|4ec##1s|j$hSrvu_=9S<_njh3pL<-Y}<0IYQ$q#(MO*M?Y)o34;Gj4B(=nzwglE3QI(dSf`ytvw z4&%Uv76Vy@Z4?KBVL9ogpJ z$Q%A}^vqnE=aVJ0U6x{H<52Yz3xo$gNdn{Dxu7Ic?&=QoJ=aLQ<=%f!yO#!@6Om%@+*8; zx0UQmhuQG48RU0ghfwEIw(@u1Twz|CgFNyv3$HE%99to-C7@fIvQa@yqGU| zsk5RgWv>->#hS(O%b+wzsc?P0p^KS30xuO;r$^lK%OLvPVAyz;(CgD+>+a}y$dV_Q zf*iu@t1el;NHN17BL0YQ2%&q%3Td;mIY!6+m<+)$TOe(AWGZe2qzf$ed#W(e#twfW zJ1A99<;Ia?K_-sr(&;dp!0dimf?44U-eyIc5jVoePqrv2F_Gub;>ZIZhtPh>bogsK zu5C>u2V;Jd&HloEfzXG1mcYi{+F1*P<;iw>-`6f&3nD`4n*y0SfpEVgHpmXiv_4j4 zk%5ctT#kR1^;}pg{80w21Dn1ZkZOJKEQPF(OX4bmAGZTd);yJkOi!~Zc#LCr6*lM; zA?ps3#pRJN0QSy;agxQrklZJ z;I#ax)G3#us-9jesPgas&D=ExHcrWYb^*)Wgwvo~gi#4pDc3N?;Q zQUzXnZ$U)!Tp%L;jQLE(1aN>2KIQgTqQD>c@F^egFs0nQ!K;`t4sdQVw7h^#ic~7P z)>_t#anz%Zkx^wnmeNNs1|#gWK1nXBPO#H*p^DQxa$;1MEFj0=C&`SY^8U1_P@fKr zj>^7@>ZK!86DIdS*csDnMcGAy1;*-2x{2Rtlh zQ*g{#eT*H(80~_X=7OKMN+EU>eRWD7A%kN1tVMRBpF-^SY(K_yf}Kf=E6wPu&nMXg z5%Z-pX^5F=LFJ_dQQ@!jI60l}!CX2H{I#>6NBQaD767Rs(>=H%z&@Ooq)Che(&}|_ z?)Ac=kZ=Ni$p3Ds8Q7nTHlCLASR8(PQVNnG_|7>wrf__&&5Dyu#1hevr!=Me*>^0D za*kz0oH{3ml@De`L9sGnfC8666L$|r+Z)q^dz!W(Db(5(iltDsrC!U%3QhvuBNi-m>1OaxNarnnaHA_9%!qL;;+%f8-OyNsxvflEr7*i@Q$jhI z?xzC5_(#9GFb=+EdBQn;7@Q!;vSTuNd7ei+Bm3FGtUP9`FD3Up@6?=3bF#R@$xiC? z=ye#tZ;7+M}+CtDcd`Hsn3DwPZ433dwoepZSw z-d0Uh0P!})S|mRkQc=VXrQ7HkIS5~~VH~E|52GR!a1CFJV!Q;%=2?Crg+4w5KWo;< z$?At}B1OLDbb6+;&z?s)#!*e7yYaY#R1A;NOA#;jx5)T=v^I<>FXM6T5XRUs_!al* zZuJTDMVy_&*t!UPN?W~%J0A7={IiDiFiA;ag%}FK7aYhL+o(Z96rIMVoCcr&d{T(o zS_5t~@aQib`^LN^ax|4LQe$`R%8rv^L}6S((~TnN8D>kz`+Z<0Q1S*u7?fM=LejF>Y$v{K9-Cw6ws@ z@iiT>Id7Af-MPlA=$dPRfwkedwo5@Rcar>~(7D(mlc%^xGc9*#&DH%GaYjViP6|RimP8Mz~UW z)dxR9pGb|2T)s8H?kKb?JQi?#9#ml`Gs4A6i&O{YRMH_9qgRsWJD8z-xbnf z<%lzen8Gn?XO>^+UE?EK4SXUkk9{)1BZ|osp^ZiErgR&-eq)hxC@n(&F}~Q9%!n&j zZk1WZ@Sw2PU+F#!yu7rmfE9Z)#U)D<%E{x5WL3*#+NL69=6X9hm2wbkV*#!&vr*f; zl;iU$J#yY<0hU%>0PYZGd+ZU~zY6?JjEgO@hy61*Pv`~=FU$65&jPb9+a@#GTuj!% z4~W^1>-pH>G#kxd?0~Pv-5h^+<`mM~*VxhD9(T{W6vm-Vn7mOYdr!&05-;%B!JJW< z9soWz>%)i{KGr2}7Y+lT4`d_}OOe+TGesWPs~mpHIrYz39!-m!RJfn>{My4yE8QG3 zv#N_2X=UV&H3f>9MBs;|jOWI#1O9buwYzP=C!Q;3TQNwsRgUF&SOw@FP*F+Vm|p7Q z^T&(96|8l|bY-yEok;hn^XKDYP*|`Ec$DQQd@i-qo+n`BiQ4b7z(k8w7vEX6(?7t{zO42}?I_UZz%Vo^+c z7JhLsE6Jor2YqUx*WE0Km<4hEq!^`(SJ;(f=|RTl5Ah7YFnfKiLV$mI+{4w8T4mf; z#C*g(E&N&m{`8L(A=eOR0x4v}%8?VPFQ6&lUrO(17gr_NzVt#NrO#t$B@aul^OBO> zut*Fx6(0=AQu4x_sD}IDX~e?Q;D?J>)Vc}$uqlCgU|ID_ zvD}C7ccRf}qoc5WT9TcSqAU~mkXfA%o)JRq^&>}N?h?+u0 z)PxnjcJtk+m|!9{MX&K-zKS)Z84JlCm|cv&b|t30vL2fkO!231tDn+xq^{;GWB9&1_8xR>Nc0(9c0V%V^f2~Cxx zYgMJtzdS*COle5-(}on&kVYnQzVeHM2&Fj@ZFO3qrWF{!Z9-Vsn3r-za^py)*ui}g z%If(k_nXrzU9G@n9_IrqQp!{FOWkK-lOYxPY-(60i$X=pIbh92;FH5k9Q20u1?ZCy z=8Sf7L5)vPwie*;MCSpo1Hkr>m>DaeqQ=G&X)*GBb`v8;D84S4BPcKpi0H3eeg6pqvC`%Tn7?1OV$`i!5 zKA~J!7@$1P+v2tK>MccV=+;`q?gTq3#)J{k0FkPF8jjb$*kfWwHKTQ@S}k9D46c&l zgR=0MtH5;#c{ShqQsqxMF1$9q*u6U^gt+Kq-{(ZdPVYKlZ{YbmSAhzplgc*$QW z{3T>f7g4fX^3#Z}MC~-li0;A63#3hfTt(W^Ju? z^FBT$g-HKcKK^jF-KA*-pTInq$Hj^PwYfZx*#rHiZ!Dr8jF;U!kIefGu|p{EGsOs> z<^0rBVrPL6u7SAAF>fT|z?5()_*e>SL&!l?6te+kc7exvj!#+Dxc~YBQ3U>RPRPgN zj`Sq(kjLQ&lfmUSv!IS@{J@V0(>A5ZKgQ>~kaK0N4R+EZdg!{@`R)Xa(u#iL{AStG zd?g8+wW8m+O>QYHU}z5ExsP<<&A2T^z@I4iY8YcJ#j+~EGr<1{u3-VDl1B8gWCIs) zVlKx>ONoxVy?#R=W4`QxZT3B~3 zIVAUiP^tU9@%ip=owBROR_dBx=u@8YmnvH(+TEWyy~=fAnFW@m*t34G^5SIJV{0+X zTkoa!Ee)_m3-jraavvG8tw^|GZ2|EXI>a6|GL@=RVs5084vgThq&HR4gDIajqar1U zRr$JlIV8M0IpJzacs09vByuaWJ>s+eg!>OUr2Wdt+&6CsC`-XR-p(s^g(nv%d7Ek# zUtx+B%q@05HaCHJsh5r4B-00$7AbQ>UOK$26h7h*ZbiRcv7uP#SH*}F_llD?=9B*0 z?3%Q?VsbbY&Wzb6%e+$id;wJ2wk$wr<_d$#G<@X_b$6rm{aIr z`=p>|<@{RZa&VPvHm2C)i}T%ghf-{GnU{^;R;%LSb!+W(NJRnb3!k`UZ9>W2!i0X+ z7&~=Ef_GyP>s#g%dm>MBER`?1w)u#mx}0A)Z~+hX@gmWRIkp$`j=@N@+`B?nI1d;HF4?EL zlFV6Ks^&vRM~j$T=cUuaK8&MG@Xr)WovNkdBQo+PPLf$2AW6MnxU{5{n2?Z510Ut{ zjEgIL)PR_*OL{5NN346bEbz6?)2UMM(*mZeuN3(D!BE8g0kK-Nqf`-r&wMV~r^W#c zb*Q|fFKpPgE}x7=JE$gzyi*GNrII+xG2Rg4(vSxt&34+assME-lQ0iDsSnbgH7RoB zpiDI2mK^V_b@?;_uF)#Sh#htU2d2jmQ~5aV1)e`B7GNj9t7PQPI6iUP@|=Phbs2fQ zOyDl(ImRYjA9&a^j$p2dV_tw<8`e(J>H|bi3Kfojq%}ayjTn>F`EE?MNvl3YbWI6z zs`bcN9s@P76ZgH}diY#Tz#jp2GJ)G~9bM^eLfogY6Q55#JCh-P5yH=*Mg6X&rKA~o z7C!bxaMXz#yuxX4BhC*g>Y34m*oqj&$9_umkdqAsTF%udF!CJo#uaH!y+|-mXw63* zx`W=uxwgGOkG1W+S#8(nqibCaB;R$Iq;h#XH%zxH-)1_LA2SQwy#7eg$6og&*d~u1 z*T5WoO%Zu$ZV`Qab}6qCwkbiUukwkvEb{_?2)VG_E9Pu*XkB3*36VQ)DAouuS>HWc ztmX9`vQ2kbQ;?fH=tEBs@`=ai`YAKz`pbYEIm)Zk1Mc@-0i~i}fs5B4Ul>r<%*5Q? zl~CKWa78{_xHLeyo%rWdHx!Vo*CvETi;H-bjNDp82W$;!t}9G&6OvxBQbAjl(vIBX zQ`^&;s1?5-z+BzSflVlTq@?BpPrm!)L8jw%j?d4}ELF;YhrIsi;)Hu?Fu~rN=uoeJ z*Q!!w_8JF$ezsQ~E1ZXUHU@+T7YEe#jN1|*{Ypy3TUNn0Q3jWJslGa;nHVls+ta<; zA-oO#=h#-M+UwkLSuC8Ja(9ch+3SE57av@jQd$lIuTky;f1bN0#a^44P}_4G=BiV| zDe~0(O0_*4pGR&@0mF*b_FNGuX7+MfoU^7tZO^4qFEP}}8ZQ=_c*%+-$nwR-?%aq^ zZBLhY5xsXszS6%8Lk}f&iV6O;j9pOeQ0>*Ij|0n6>}-Qwwbyja9o<_i36C56_^To* zC8w;2-nqu7USBEkv7S{vVb%s&y*{6p>gychOcjx78xzXl zGFfeprBS96BKhpXs#3L1n)B({5}8=z0kwU{^>NDa@7!^_+CHAMwO2VP&n5Ho@!Zx0 z@k)9%+QsX9Olul_0^8QsKb%V`;2k5%YSs3nBX4vm=B}I{@**Q|GZ>uT4m{*V-&8>Q zRoO|`IBRQ9Ybp3&J~1}7wU6f_IsTnHd6=`pr=GtHutsPqpqGG0^YigM zJ)eta0poaG0=96T(VHjsQ1}|m1;C!}m|O9}*QBkOugTztya>P=KL0fW58I2bIiHA4 zZT90{Bs3S1vnj9I-X`E-Dpg4&&Q(yFjsuT@KStmgFDJl#n(-dj-|=#i&*y3bJP8j8kG;oq}tfMxA4iT9UO&E9z%Ozgo@u>D(Cg z#rYp+lOL$#zWu#w8)9OI@{v<+yYTt#t6BbZXDC`Ni!Ysn4@kwfRB&n`1T> ztJZ3-cQ0e=xNff>KUmqReH@?LKjY6OBWgRf=k>{U)vw!+c|zrd?KMK~3>Eylf>+-4 zm2G}|{@r2ViX9K=UePv3Yk%+b!8V+3udDpIy@KagX6AS5pT`&GcWMvk^BoQ+GuP&K ztdh$&<#%dNPDw$h{!6PW=+wT}hN4dWxd!=-jwgI@S!a9Pv8J|DduDDZ>eQYqfzKVw z2+XBB*85hZI@N78m7UsmE>YB}ee>3KzW$BK({()GlufMD^*vkL#(n!S!=t|Tm+Eu> zibSV+&+5+hlIrBn?Ez2h_=U^C!#dW-M7^D^KNLBgj-L;RB|6nJtGyjR#+QvVyeVy!euBEh7ov&qd`~qM5>{#yxyzE%FVNTSsm^t<7Pz+6-`%lwc(BV_?Cg5|& zayC`lu?jvScd9o73p#}}BD9Zf+H4PfcwLD4pnbd_+Uy&@h*Hl^ zr_k?Ip>WwwBIF$R2*&iiLUPz;Vh{bJf(|iGKM z=0`=ohR){)d$avmgNHT%&%7O9;JQcg%r%ddxglr_owV)QM&E)ab7pCnZd?#2zAu9G zo;QPZ#K9!JugC+Pb|D?VGX{P3MZz^dhUlAUkH&}T=_{bbUw znaE-15w6W_l7r;(S{vPs_5B&&g`jEllTi%>TJIpV-5%(z{Fqz#NO(~QF*ToTo|gxW zke{q9fX)IsyBG4I?L|B8e=`qu@H?3F_H-0~2)^V2AMZHb5E zzv*NTzY-)|5B|(kHp16S?s?Bi{=jt~Ul(QkdErM%=%GC%RODwrjB}DZJ`J;vd^UWS zurH@U2dNK}jf-N8>;68RgLQJ~+g{EOLdO;&TLLy{xAMq~D{av7ddTKQg-XdZCt3Sc zp|X9Fjci&%l=tQ(*@28O`E*ug=6Ud(2d%dUYv4BW?xL7dH46Or zshINZq%hmGBu|O4AX{7DSEAFLY|}$g_sc zq|#gHt{UznU(SJs8qfdo#$7**i?f=nF!=>qvYj|)yElmIddSb?GI9S-^3@DzjfTge zX$mQP?WDw)r~E$3$$p*`ckhQLpkz+ey=zoRiFuvw`W&b7<-APyp4^!G7jMXQB**XG zgS`FTT$_6*uF;fT==vi&NdC;tb5+B)&SXb&f5#g2uejfu92@x=*ZX~VA+DPVJ+vSC zbQ}3&R2=Jx5$F#JmHMngR+F2lG-gGWhMXw$*o8`MZqR+g9(NzjPP(YA(7iu50zG!p zbt*g4Wib@G4(29vbzN<)v)OsMJxF2hzj8uEFo(we;P4PlGBNr$-0KexLaK1hZuP~` zLlUwJ|M%fPUyHBLcB*TS3A+v2ggj`@@|1IOp3;(TQ~o(F3QbASZN(ai-fVNPeF$rp zT|=%5n;ot+jm>rIM_7k8J9Bdy?YVtg?YX0BqXIF+#*D6$$C5^Qv`xB2EE`Tpk9y=P zYM@DMtYp9Ba8$xtg1QDlpz-0_D6WafRJF$^p+Wm8Hv$a~`qdjDIz!a`@}eO9z-Ob+ zziO;&>oJdnZsW9MQ?=q84-L>s?18OLVC|XXA=fB=<>g~E1pQ$i_HKm8 z>wyUQbQ+=a--|(Sm?W#8ijfD`#p#4fkMQX8dC-f;$z{LBgzV!{Va`Vp=(CeVmR=Wa zz~HMZF|`K=j*q=Z!}Xs-8}hJzn2EeWfvR!lYoAW(-LSuiK~B{$A^F5=yJLF5}Up})jB zHQMoFevllp^Rbi1I3BGm2qKO+RsH3=b7IhE`^lHUfe+_Jl+{n!D9`P_H!qVUfPeSA z<56{(uP!0LG$*+Un9jA!&#jEB8pf-B4buultkus)*d9lSb-`SP;}F-`{V~dhPi)X< zN3c%>I_lg)r2*%7ClG?~W|H5SO^M~^kudbxzYkBc-^LZXKb{pNC!lAj7#C&x(}JXE z5p+=Sw{N^5=pmh|K6@|5!soM`SmTOeKZ_sw>EV3Y^9L@?U zdgwBLoRCzG>kG-zteCr5f-cpIcBJKz6Iq#VuEQ#uk*WL%t;%U=mUoP@VO=VS@g8M6 zalNuh91oq)v3P)oHsE3mn!q^wJr~#pE#8&|&}n8vi_V}&OphuXm-ty-PE`4ATnuZO zN%yPJXV*EL%5M{(#WdL5T&I3uc-XyP4w0_J=}Mp-^}~sKKjN3BJ~ie~v}ZS7AHcPS zRXA9UBhL2Wz51*m=7a^TDmMfTP=qyP#nfCK$HgSHk%=te5HuX$Pl`f|=L0tP6J0Ue0 z&~#M!5I=0B7WD)8&-ZB5WpnLAAv>DkWSrR5<=9wjS{QmrKWrEzb=aq3#GVYTIpp3x zAxZv(_LF0PtO>h{76j?R;d$xUU zbqOUCI+R-2p6jEtt9|O)J8uVHZ{XTUj!cdAJeEX%wLs6s`O$G;@IS|S=N>u6B)em zV75o?vyW#KqNkGB!<2+Z&Iw$O60Wo5`pe%O5%LW9+aHL#yK+6yCi$ri81fxBPC}2p zBr6fKU~kTs62N+2aTNRY2zhIPADACwxjTa*k4Z1)`^nLaJT^GyV>`f0Y*?2&o)J}g z$BWo^6Ozc!LJtIu9@p@GHY1K$g1kmX#LfBa`}3gd%D{Wr%f$CSYML3@n-gPk-0#OT z2zV%T_@g51V497rTjHmDJ^IH9g{m&^p>;9n+#>AjX?}JJS}*@cPGN6Oh;8$ESPF5O zudV$)%7gVpZ$C2;<+4JXLg3NWJg6oJ=)8{ob4ijtxR@6jdbTs`$Rc!*;@UL;uLNLMsXgZOAHw zKHH{5#}OeN>kkdtnMxuRAZr6eG~vR3V>X7o$m=DN_|EQF)$82b{u-_p!-`E zqVEJ^Otg92XY6s;8_+)*l3w7C$F&FJH~%Rjrcw^_J8ZEZ_dKf1p^mZrXiEdykqw_e zk`aUE81W?CukP3Q6L`dRb}hglt})&1@I&`%Q$%2IeMTYl*_q4+J|t{xS~)JR zWHbj{Y0$!dI3q;A_lA}J$s*{nePh=xLaGcr{)VtmxoHDa2I6{6u*K!jY)#x+312FP z7J-l)tWR*=5}%_bpbfXydr2>>NpL*kdjkGS&!nwlSdCka!09i?d4wG~A^O{JXz8>4 z%9m7 zVBGLEC5B^Cdg!ZQ4-wYuJ3c)u#?1x+r>qJ%kVKa2PJm34dH;smja4}j%Ev69a~^^(zU7MvT&wd_ZkQYf|6E*<#F(kYp4gbG z3m(7Srft3_$iNf_4YXPK@V9x1A8j5{=Eyl;L3=P zt<1NHTpPp3;lK(9@x7B2lj#xclfa&odOMu}zde}6ebhnf(lZ6F_uCDgX23l9bLJ8I z!A@1VK_&o)3Kj%4eCsr|JO*B23#@OCBnS3CA*^a~mFmmNG&|!KNB? zJNb4TwDvM|x9K58Y$_tf*qe1u_Cx<@Q~tu*>AFQ>=&|GO)4=|phR2bI$C@Gm4}>1` zAJan6hnKQA;%ftZ%~K+S&sH*|%t;b{&c{68gTdnt*M+DW3cTM89X{8Q@jXd(S((uA z1{G@X1CM;r^LdC#6LstHpKJfiCiqELXvnPK0o6H~bnC1T=>v@|)(LaJ8COWTjz6@t z$h~}V06O4&buDsUVL;&;LGIH$u20_LWz(QP>;YSy!x$Wbwc9b#O6VaIsvg={$7rvb zVh%^p^<(dFx?eaYB3>ib?aL`-pNtEOl{pcC^M>Dt2ieL+am`yZ;v(1S#+aYo4QZZk04gf+7M7aoJ2$& z@Q3TO`I^$xi;|)S_;d6WbSGs6Y*sj+a9!>(@Ebd{GhDj{Z4B0L!OxPVWOURAJtSf> ze6v11Nc&gSGOoWojsNANoPw>7giwsp zu~EiK$2o=L9DiCXT?1pq>P)*^CP8-&Fk`cM{+l}G2Tk)g-7kLB9tZQdxoYLlHjz0iStxD&pLHT7}^y`8Kiz>j%+ z5b6WMjT>r_dx=7iSj={(hefVit;n@ej;SB9q~^lvQgyAIjis^ zYkkTgaOQO2;l8w_FnNoNd9)3CE^AroD54or2K^XvzD8*20;}vw53C3BJb*wV*e6h` za4nS{*W-RR5%~8@PEg=F+~e2_G`vhE?@bGe=b)+Le%~ASvizZ-<}~y<`>|J0NaoYq zu*c;DVv-)Z+Jk8xVJdW6d~c}+c=&_ECbAO7T2A36frm4p3mX`##U2D3@HwLD!qV#V zF}IGZTDvjPd}y^Z=~-xOxh`Np4D*BR809)#P*&(V^9k4YrKA}2*inT-f3$vqU!;Z* z^pGL!5iX?H0^;u{Z_|rU!V(`>_E&bpm+Eb+H#Au5jMnEJvV| zD2C>U>#_aNLvr0#0_}+sz7K%wwq)F6ZI*{>p?%asw?$hEu-89IEhOqTL05ZBj*<6g zK#SYV+$3J?+Gj^Dw8X(SPp)*mJGsckv2iG3@tXMwcj4Ru=(CG~c}47Q=n?M=6<~h| zw9m-jU$fB;Uns(ytX7RHIb}XNW?M0GBPs0H$OEq}7P?p0QjSLlkW>64ooJ4V7<2Hc zDo31rFwU@tpv@C_a zjkWl_0i|qw#7^cER$@L}2~JkYF0QcCNt>|F3(W)9iV5`&VQ5(afFT4w#$HBfpwi;` z=%*m^BT4pIZcxLuxh;qz`?GB1LFn*e*+H=xdhF`qndG*@0_FV)Ae9l(fLMTN zG*Nsf$o@GzB-#+GY0|EofNd`xh>er9e0`b3Yy*NpaN z#OUH>DFqW$H`n3)INT4-7xv_0{Uoj4hj@@s+z~si$67IMu7r-2u|A+UM}W@>*-0IU zZRen|YD&YLG%F0wRmp1PLd_ZA^QDNheE-H8>_?%%Opcuf*D#WK{!XR>Pq^`OrQIN9D+W( zh^3B~3J)(1V4f0D_1XL7uz2&@0*s?tb#4&^{=yUY*Jjp2A0B1gkFdZX zJRYoc^L;&BU-Xw05f-j0RSX9AhU$?CjE#B488Za%(9YTT;Nf z)f8iYN(A^=2z_J<@h~bNW~umOuMUuk?6^oZd8%I8R$oir_S&@E56{5YNwbe~9UIZa z6zBm-Qi{>wDu>dD_5WtXzR_ij&DxMq65vB;;77dAxSr%VI1k@jkzG{^?HSi&hk<_~ zXtolp3v^~6)SX&HT1hf+M3DU1DAzZpuhSn^_PKt%Jr6FG2bQN0)*gdm8Zh<(Z}Kk39ib3bCH=b9f|(eUUQ*Zk~tXy53vX z$cW7W%!lG^V62i|wuRAotMbtY5okLcB(pqUn6$ACe@sbeF%p&HkZ3XGy3}Ueb9I_c zYvt?8&35D(gOux#52sRM19VZp=EUi8=#YQ3JGDRbOSw3&Sg=ZFFG82J*^{sEdC$~v zig8`iN`C@iY$aKX>KT=UKp=ry{ly5`V9rl6HW&7)kY-@n@Dl5`(okv`@ zX|l_G^mv0q*Mgk$BiILFu4BRv&_x|d3zG%VAsF9=(l@iWbu_Y9GaA0&z0rZG68@;7K;Cl#D$9)3#qn;JDB9HS2rA%>n znU^#-IJ6@0@>XD(y(&dE1Aq8_8mi};I=POrlOc5T}FQ~IquIqPhlhs@jX)0FnuzSoQat?V|@(3f!I36*iXm~tANlFvuEZuAClH;&J|Pq{8>(v|?zU>tSFT70WkxX$rucv&$U9dSU@nZUdx1wJAZTU9B3k4`P-NiyO1a{yh! z_d)Qn(zULVe328=aW2JkYQ{!}7$-xI9fpqEPEsvJbkk&q`zT^a3bB{(1zR)Ms~m&P zQivmbe^?-dzK6~DT3817&b1r39-H&ADE6w!Waze9$~FA_oHpc?&w@mL?^)rFqX-J?!wz{9<=?*GktPUA-`ZWF(p3Y+Egjrz5>30 zk`;5%UgZq>!!|x9)u-smhGOj{B@VO(zL=^MJ|A7=;@V_h|0BIn4CfWQ>sxBo_VIma zPk?uDJmjCx+EA=42&EX;Y4SSXcagW=PM?5Ilh?V(}S= zkD;BbBxf2*HSR41DnB$f2Ixz`zpSz%)n2E>B=%uA6k|=X+P=E9LUkX;k(M^SCf^s# zb>C5Gd6gcp)R4e?=Uz#--mI$rBrPnpR;ovbYNB6 z^*J7ARRpllsX)Cx=dWGj4q@s>yLx@De>r!&Ru~^CRqGs|`F<3x)8vKc;3i>?)UE^4 zKxfRh6|nBWRQ~x{(NFliN7v|3+jA1@IsIdpYqubtpvV{#J)yzpdz^Wl|Be|m_HbPe zJMlWt|E5mK!f4E8c%84SjzZiYQcu7N+h;;U_!}D{?-^@rl<@ z0xtPplpb{{wSF4&9?q5co)=y?f98CT>*&=2eCEH;h3hnV;rlN5J}{xVRIOuyO5KOi zD#q2i<PawXMAF++xRiNle8*Ue{GsYWdz2KK6O3Nfqe%oS?0S>z~&>x7U9> zuX}EngoNf8%uiW;I0b1nt&-im)OF+e) z_V@TckoMR7`TgTeQQ&l>U_Uv$K%^|&+YFGI2 zzUGv-Q~PqG_D<&?4&Kx8ggLR!_Q{$37jgCbJ{@k&Mm}_<{wAI(KO8B0yj^z|jE_Wy=G56|NPIA83 zq5L;}A-GV-!hcsw$2!mBcdYY$YaQ!+A4sQqd&Ow!(yix(7hODX$gq)Pm2nd$d8f^o z<(qT+op;}R-vi4+%b!^Nbm8+azOP-x!$*=wj~#D1d8+yJ=`$^@XV0EHm-_GJ+_|%7TU%ProIc%r>eR^- zO-;v-9Ze>V9BynlRDbZmpZoXit=+SG*B{k8cU1lIuh`E&{rG+PxBuM!b@Z!}FFyP9 z^zcIuELnVS@a_e7%$s|w|E5_t zTtEF<@06=2UNO$2ZeFNauh7c)`omtH--W4jVK8CDVoiI|>?|;qM{{^n4Mu zdX)19|NH6h1JA!`Kf3+-?*lu%Xa}i(w~Jr9W68|S%*x8_-MdHEu3h>2_(=3X>uc1qUM>HAf0$bQ|9O1=`>_8bum1ae%$+;; z#jOYaU3jxhux)#3yN`e0cl(jeXW9xszWrGK{QvKLXPFG>(#$@{#s9y27>I#jzca!7 z73(mg$z@~`xsLeAo#cM<7%3nd$h+h-@;&*3G>~)T0@|Ot=rp>JK0#lnU(wz4EVT>c zggb=igfE4^gkIug@iFlW@sv1H^MEF*k+e5zKhWxRx9Q4tL-k>OH^Xy=ZpPP*BTSX1 z#Zq7MALdsr3#?bjgKU{yF1lb?+SIPgyM5a|qsQ`|G-GXVr4P;AebJ7rLl^fR5ExiD z=pKh**n1;pjp{LWzpIqJe|hAJA14ZvH&402d%?9;Q(v8a=k;S}T5kMvR`jN@@9|p# zb8fzE+C1+a*DjcK*TTRP_iSFY<397!DG$D~?8GCpAN^(dj3@T5dhn?WpZTG1`STNB z?D5ixS889|@%rx@eQ*Eu&XUcB_g>v{=?Agm;6E<-=(DYJKIyV;`)3b)G3?9aSO17E z`R1}R`P;qUefs^gKL&rAR_XfJfM0v;u$cQ zTsi@G;Rj+YrH|9+Xc65^KLT=;(_eue_4GJBM~y;P!7k(oBZbQauW+Mqn{bb?Ojsp6 zFBA#y37-mO!oP$)LZfg-Fp53IOT?k#SaG~KMVuktA}$c`!|w}uQhY%Si|>h_h+m5p z;!bg&cvw6wYBaJYL(^X~RO8l6)J)Udthqz8Sd*_=ty!yiO|x0^k>*RycbZ=`HJSsO zq~?r9qm{KiwOQK1+R@s}wNtb+w6|*S(k|65*FK|tN&A*IqAk&uYjUmYL94} zv@KeyGw5VpcU^B?mTsVKsBW~5=_cr|(OsvTt(&7;pu1Q1fbLP>LdD3^d`X>DueM+w} zm<+O^tD%>{Zs=#Y#4yA#+%U$V7{(bU8m1Vg8fF+~8*VY&Zn)DBFf2AaV0gr^+_2KH z#_+7+MZ?R6BEv?*X2bi24-KChzA!`$Wrpt!KO25A>@?IE;)XvBhYUvy#|)rv6r!rv9GbeF~{gI4mXZ6<{CZ5@y3b9$;Le6bmL6pY@^>e*Erv}&=@o> zHZC#84HZh8`l|MF%}u$FurYk*Z6_)L*vKB&x~Ihzc!W`%Z(MrnDJNR zPU9|Pt#P06fblQmVdGI_ld;*@YD^hLlMejFYU*O@X6j+;ZL*vCn);hAF%333O(RUB zOk+)o=`zz5rirFWCa-C#={nO5rr9Q+X^!c3(;cRTrl4t&>3-7#riV=-({j@jrYB8L zn+i?On_e`%YL+DO1Es-|QyMOf zl*ULdiAk4BS4b12tEDMYo-|FmUb;b=E!`~LBF&ZNNq0&MrGRv=bf2_TdQf^;3Q3Pi zk4vkhC#9#QLg_i_1!b=rUuqt09&2`)6|=`Y&U}S= zg83@*B=Zz=o_VTyy7_wZO!JNAo6J7*E#^7q+syOKcbFHL?=}a`_nH@*?>8?sKWJWN ze#HE!dAa#<^Gfq-^Hb)h%?0LX&Ci=(Ft0PeWPZi`nmKHK!@SY_wt18JUGo<62j+NH|8?)x8`#559SK<&*qr<7xS;?9p;_p-_5(syUn%cz2^Pq zKg|cths+J;!{&rJX+CCdGM_Xzo6neA&F9R-B3LvQokedkS|p3bB3rsx(k$I9>6V_B z3`=iIA4{gCuce=*zh!`Bpe4sL*y6AZwG6jhY8h!6Z5eBESrm)Ma+zhE6FIir(yk-eo-mq-6ylvTJdDpVV z@_{8{`Ovb}@`+`e<#WrImQu^tmhF~*TE4S$oEGI3^mNS-C%Q*|RidL;vZ#7yatHml?yI9k#-K;&Vy{x^h zeXN<*zSe%${?-B3f!0CRAy%h#n0178q;<4)tkrF0*2}EptXEhkSg*29vQDvjt=C$o zS+BFsu-;&uWxdJjv)*EzW4+Bf&w7V-f%PtHzlW(=)`;~(>sIS0)=#aU zS--G;X)U#WZQXADr}aDQ_tqb+KUpiS|FZsS1xd61Zrx?AvF@?Pt^2HX)&tgh>tEJJ z>k(_xdd%8nJ!x&Wp0T!C&stMfDvPpK*2_j&k}a|e>AU%FaZjcYl zN3b||Om31-%BSSha*Nz5pOcYJChbYQHa@8(CL&{hNKev-WPuqBB16Fra*>U=f?Q3! zWIDNl+)U<>dEg57U|#VM=HHK#C&@G9d9t3oO5PyvkoQQ0d`vzkrKF6Mlb^sNc9I$r zCx4Q^NP;wx)8s4>sGgc>7uua>P&?SgC3FZKPDfKWy^LN-CsF+VN_r#p(Yf>vdN*AJ z#_=$HjIN|>=(F@i`U(xxx9GdHm~N$?fq`rX2lo;&O4dSSY?IzAC;cZWbfpHD8L`#UI3&_?x&}+%NtmCNal43x;FTbkU@1 z`e^!Tax}v*&C}pKFKb@cyrcO*vsLqj=4(y4 z=4Z_gaG!meLz;xq(-L<{JfiBTHwIj7|?KtgK+C1&`+MBdthi;e3 zk&ft2=vs7w-k`VYyQwT`fPRSnQhl!eGW|sTHTvoLS^8V_^YnM?7ppvJrT%G^Cx!KI z>$m7X)Nj*&r7zR}sQ;IKr+&A7zsizM=v(yEpf{Ke7Z`dN`hX)1G&l^G8gdPn8Ll); zRvFSwhB=1$hPw@mRDQI=u-fp9VXfgM!)q!#`oQp!VVmJA!*)Zt;ivQ5Xs_Xbp}~+a zG#O4C&KX27BQuy$cQ7Nnv7d2(aj=Ea(H%ho+BBpQ#+E%v5fwP#Mrp(=O8< z(>~Lm=lM^Q>6EF(bWUYIM#(JMq%ZNj@i=_e5Ajxr_`M4#IG##N$-K_d?U@i}vL*Ok>fVHdvXL$~c zWj*-HtKchdf~{-@S1DGR%BSEdUxKAhmmOy7l_=9KvtC)jIb)gSguo zwB8H;u*CYn-~8cm>q_hD^X%by>kHO()|bw6hc~TnS>Lg4{+l^`e4aOaWsO?Dv6lVK z8e-O8tX0c+eL5;kp11I=P! z8>nNuYHTySeT{xff1{`AMZz?2z9=%@ zAz{4GLrBmV{Re%CuAukQIdlfTKOUTP445hBrkB&J=yaU-ZnWZg`ab=EHqdThllKc- zgpI3+L$XbQ|4(4BH~)+NPrYE_`n=9Y_b@F%V}Ng?3Dabr#SNeHje+S1{ea zxc`-SOcO2?j?sV75754c>7C%vlPRMkFh={+zBH3wgr5Vzwa367)6j|~^cngd*z;l9 zLzoO3JOC?n6Y9|qo9NT9)Eu;6JdPerv+?Z=WCD@S$EyKoha2afO@pxJ>*$X^saa59 zi3MQTdSM^>0l%9MpU#F2-ME8G@U5P-D@~&p&~CIBT9O0AxB`822hGQQe2Tskg-eCI zR9~RNPWlP@A%uIl0eMH>f-GFQE0vLtG*c^H^`;l26&}nL=F$g{k1U2ITIc}y#C5^| zp#}4Sf4~Y4!IP%J2S%U;cA8FYRH6nvOgK|dv}q9Xnv>uci*Ud1(w~vVya?a-B8zzp zbBZnK$@|a`c~rr*E=CK|aCJS^;-SNPqx3sSnO5U{!eNXa?u~%afa>mP4rRVyd4Lk#a&?o zEp1!=)Zknev?>c8>c)NE2ETckenIylmwPGB&<$t!2CZ5Fub+wj8j1V85ch4uwRsWH z3N2dH9rrc_XYiso9;WNipS!6Zo}G&`9DtvPac_6w4C65xve9=J;0*YKTX@h;XK-Q6 z@H4DO|NnupG4%WyzV6V5OVu{~`wZm#8PefZybagDZS?+d9yJ-r;KbE>!G}y}J@-jItL}sg_pmMjKICHgcrw+z}V;u zzv_jv^uYCbR-p~&u17l`M%Lg%x&tc|{ehA9V{Enc=VsvFQuNex^k^=|&_LKT6D_$A zKQG1^N5DcHYwt!(dKEpvF>0tV3z>rJ&fD@IutYxAL}tV5#=$F`I7fe+r5}7W2iDDn zg{I;j7Q+f}!Uqpf3GH8ih{e&K!V)Dw$|r#`x1qnT!u3X@9fR@R9IUwvgO^;6Gv5f5 zd>Cl91^u6(-G!@>vEUIWSFmApeGBAz7N0Kwj^*J_6nyJaVD2#d91DcJ8rU)i{qQ*M z;S*TlG~&fH;W0$L$AJ17!f{~bR*d@9u=G4!i=X3i^qvb31$T87?%-ye{bBgcCiuc$ zbzI(xi1iEp&%y{3g*|wGGf?b1D)1l;=-_&EjNpN+_SA6oDV`r&89n{I*! z{jeEpL7RmDax!T`BRunCMCLUZyLaOpv(PKoqHn$U_6%Hq9?l%XeZGaB|6PrFUi8Cu zWMjS*9)U%Az_)+HXYZ)3Sd7SV3$8i?XSojTxfy4?n?4ASc^SU+E%HPf*#8E!zXCa) z<-#?{5gn&hY73r(Puzj;PD5lEkBpQ@%}QORa**3pJMz1zr1*;>@T7;auC)b`(}PS? z1N{-PcinmZ!1>2`SkQ(3$W<+QHQI8MYRTu(XWzmbtho08`f`IXPrwdqp%z&A21fXU zXu*x>dCosZseQ?N(}jMS1V7>av>JZHJu*cH3qJVM8gPKV!b#i%?@P{L{Alq6e18Ny zX%H}BApDAZ)Ht+@^M^<13p9c#cZ~J{HasRgguGY}M6K^te|iWOoQbP3jPM~CpZzet z`r_w6^&I1I?px8LYcRIABj{svMNm%Mu9L4#A1EZlYMpXtLeK0yM z!8zPG_bed5a`ZXJI3426e2faGK!iV#*LwvSKR&J|!E&5G@X_4^*wPJ{nSpZ*!blkp zd)^Med;$GY1qH((e196E{}~mdUVtafgS9w+7=o5xh$z(s+`)>U-BHU%D-_uH7TgEt zK^2JpnXuwyp^tDBJ^3!)T>@KQ3#;>pk%{Yf0mhjSw|Vxm4JXH7e9Q)>ug3WP7M|S` zzH}Mv*oYdB-8}kp4m1?F&>QWy;M*Ll4d=0%^M~>9(}k)fN)fxepdVaP!1wU0!85wwNX(}(MCbx z@zf}&C}^XgqN0t8S_Nr@Dn$+rTBJxZQOdcJ|6Vf*P5S`8-~0dH^?mR4XV$f5W@j=p zd#}Atd+jwduRvz*0-c7U4Lw1FPOvfO;A|Cah8kDWLgRHsI|hMUC!I0!wNgWfwIHOC__ zGT?C}Se^FJ*tw9B>p-o0V%}Vna2aG&EpA7fmO{%;MjHpAtzBiC*ADk?zQQ@NEA$7Y zZijR{1zq_AG@V|)!q2e7OF^xXl{ja1+sfjfrB;)hlS3#f*N%A7`>y^p#XH~7NbMF4gz|WC`mr) z0MJ44Nmt?uR0o5Y8tV%WG{eYKeUX8B$0;ewJ`8z5JweIq5kDusUIp!b47ol1(3>In z0xyHlrlL2m0Y7v{i-{xKQfFepCsR)OFyu##gCUX}rmC<(uK3%!amq4gLR%OvfVeY0RFG53>VScR7yz3$+-79wD36 zAHC8W&U4dsQ(ho?JS1_r%ZP$rOUK8)3yhKrcNGTHXP^8;*NlgZ5itfv!a_*g=H}xW*&sv3GGVyx&5+ z2HwwV(GL%V%aq&z3O^@Pay+Oo3^b771rm@icO7an7Pf|bxwp{XJ?P5;qFY=64`h{d@PH`aY9%-p%pyDi9vI_8T1EiTGOYuN1l_g8UwQob8&Vz;f z1mo2|vc2SiTn4G`0PUzb<$+uVNh1$L(bOy9iyeffz6l(yg9ow^x*JdQo$^4gfNfB; zTsvq<#RE~S#ZdH=3w*l_JxU&k4YcS4Zu|<~aH0otS1p82 zmj&`bw2)3SxM?qR-mAFobWq_s^c#5~R0GoXH1dzzi>~MqEBa#+`2OFZ+)m*fXt@5c z7r)|qWuWjhNW!(CmojQ5izCVwhoT4Pf+`d}kig$Xkl!VcAsV^of*(_0_14KA2>CEq zqo&>EHqf|RSw!qLdmzIgx3eMR)Enf1^cLH~c2i#}cJr#3<-GuHQ0ykfFx2p=GN5s3 z)O#IzgFKLT+;LB1GWAs0POK8#{{gOG7O zY&ZEZYh@2)lI+7!Ea^Y}2c-@zJ&;Y9$tLTcc!iM(b!hfs$bU!!Z|Xo}@=3{mAg`7@ z5V}Ge=;^iS9rB~76?v$G;)%8PK&TZ&hqxC+b&&?i)(82>5 zCi8Wv?1`NK9r}ppVBD^FAk)yBG-WMKORMY>?mC&;)+jyU&q55XCEg z6#RZGS~&oHrbN||fzSwL7<$4DDSQ=ni#(8l@|c@q z2c&0P>nIu}bpTuhZPyjlArFK!7Ka!^$9K&}9FX~bzq z8)iTckO#6&_CRie%^L|lcNiYXYPlUVAiE>s?T{B^gsveEq^InGC^3wQ@J63R&wY+~ z);Sn0PLwUTGHR}f*{rG1RCaKd1YOey9FT|g0Mu$Q+IKs&Ie8%OK(ihI6$)hQJp! z7Slmby2f>=$<=^suxAIqPLw^6Mesnr0xz_|_=xQ0X3SzZuun4}-=KC&We;Q;s4*Ja z!Vdc|4C~>bZxLEB7Zy+PK*I2%xZH+c#n%xRqd4aQcqSj9PoI)Kkjaq1Tftu=aW+Lk zoam)l7|lHmo4F1e@+dUJFl4^GFTRAadp_iI5BhT@wBLi^xN$g#Jh4HbfEj27O>V$% zd8VKs#3{UR?dDLAEp1KV47loig7(Dv6>;sX0 zP@XoR7MoKZ_C5<@dNZ{eIjG5cUgOESdY(W=)$V`X$f5e(9lop3(+ zABv8mShE3rOS+!sFDQah56KvcmZZzJ`&IawE*vF2*$dR`f;(%V<7li#b0~_Q%m-(T zLR%@8^BH*J9Mr%Fn?;uQCG-+me~R<=fL7=P?M5>g&2uQEtMedZ@7Didd8X@H9pvo6#HD7%Lu=M@Y|rQz#N-1r=!Iu5IBzkmYTU znkjbEAzNM=`yYW{+Zk7&8M&w7(~k$okiF>&Dp2%*A{exg7eujtia+#|ZTAfH+?(jn zMtE~svP_hNqwj(2DOVtyM^sR3w{nGcr~}3RX+CNU`tu2J_6F$t3*ieMK^@BBP10-@ zMWe2ajoVXjcO{CV#FMBFmqW$|gKyoCfY-rAbOovdT|ub>UBLiu%9QI6zk=d{P!vU} z1I>v&4t-7Yiy872Hpz6DBez1r6|&I^4d~GF3W^UCufr4a6~efJLdo}_o&F{F1&0KY z%}k6YDf2iT&=<-K294b*M)@tq7@0CZ(0F$Vbi*X*kT^dmb81uzY6Ec;#r7zoMc&}u z&}P&ZhtU_rlQcI;@u)k%lh?!|gCrHoyq+>Mcs{&Tnx9nSi?czux4}opAe}u<$;Csk z6Qdv(17*pi*dobQTil;wAQys;-DSBL4j<+|__V8`vH!;WWMAlMitPDdCuYE^6~<(f zMi*LK0|`;+mkjV2&9e4~+}wn^l4Q}Gnh5=5LQdrGutB6B$oAVIeSPs?n#XC6YiNKM zfCgRUHdsIfnhAOsdhTN(gh;Is^TeG+8lliQZLTbxB;TYV^zb~$|F{t6Qw-z^SYSm{ z7DK}4l`_*z!bcUWKdvSiu zUOWRWGY!-vTF{(3ML;NKPV+E*an&KX`gln8qoDgInAKyjcB5f)6q`lupfPVTYB35e zxe9frdH-I3Jlx-mUbqobISoBYvnXH7T9WL=6KKa3c;<5#e6iOdp$~x4h(&;pIWAN@hG9Ex91^k4+)K{Gjn05lJC18mJW z$Rv&ZmxF5b%wM)_H`mDR&_PpeN84V9gn3|nCxK!&q1J_{%XPTcjcAzzqxRXj1H~UI z(Ua$Z7bYNz@;U7PSh*d)pl#(Cu{{Efc^4>lJI$vlu`9!N3|B$)@2%mYd0fh6-l zl6fG>Jdk7_$p3^q5alH-^xhM~fF_Ve+eTp>UZf(wSw;T6{Yfe@X0`V0+0*LuG{4rr zb-825jxGMsx{Uw#w6;9IMcInQlW^QaOY`lbt%?aplwCSMv3{+~t?S#m-1`5m%dPA4 z9~JnA9~3&PnMSh~@7-F9?>Z2@&y%UE?9;CL9DMtV6+K$=T2#etcka>!D`nB?y0lp2a>9?T*`!OCmcQWj=q;9uaEHXDQ&wV0r~98?9?b}b%TS27 z^cUj&+lk=7ySN?le?~Jq-r;{E8`=WyU<6JXM&qBi;9rR_ixEtfVLaZ{IT8Ozgc3$@ zj|}wA@0o0T3wVMNDDVBcN0uq&TJiOBkj>}t)=z>GwuC*+id(>o_}0LS%qzn@whZqD zC24F1A7s@Bc_x^T_k}Kpye7gjoU=^62i@ge_9i4c5nh9|zlQgX5-h~KMpw%1QCdao z*JXH~5j@F0WN*jXqO{1<>iF9KINtL5AK-ZNwP|m;3`@}RC7{z9-2Z_V@CqY%R)z(5 z8|n&nUki8%6nP0$BX|U7zlJ_Ygm}vqqID1A=&S7R7O)6!TU~^HA-Io~;aW3V0G+o` zeoNa!Y&Pn+6g-d!kKnG4uzO{2#Lp|#SdcjBLq#duBOIA^Rb$`y;ya}Tmx zTY!rZDA&9lHJbw-PK3#Lf9zzL#~o}G_FQe=vf!$XQPW<*u|oC_@@D(i34Pi^E|?ph3QQ zB82d^Uk~4xN6va8G}G&EylePxM%n0zum|rVR^TMQgmRK);yH#y zh#%b}AN^lH{!jP+r~1cRABy!#V%upyPQ9Hn_5PE7|3v?-cq6j{VZ4z!%u?{gK_YBn zarhnYZ2q0$p@{{4W(;X6jKs}-z- z&QyRr#m`Q0Yn*G#pc55%7uMrle9NLGD4Lnpil&d>ExuLkAFUM|@+K@$B0Ln+tq;X) z+{>&bG~2SrpgSLv?Sx`2lyxOM*w0`$*1*g4!OlIzCbY2MWT(hlP6tdl4JhAd>fMt* zZAFV2OMZUrS8STwcltf0RcBr+_Up{+w@~l10k!OGp!C|A*GjLSdHo|hJ2cDB>G$^I z3rJ@JMJt_o-C7^EE+^{3)9uqcO3nsaJbiOEpyz|n24_2$jw$bHJM)^}k9am{p$tw_ zNVFxV+mEobL*i)gboTfW1n=NU@@{yFI}zxuc`c7$jpyx}f#?@MPEVq@KHr4r#abS3zBldB zli2a&U*LJZs}t%@t)OSt;>YO;)T{@%AalbMdZ@W{A^{w#xBl+R|RUZ)mF= zZ|*zV%fPdXaZrwD;(5hppsbfTD901I;{q|xTeMYCay*1yYKFwIuyXt- za6vPWcR>*}0v|?#%DA`Llkl9zr-+a3Xgg?-gdk)8KD~Q)k-sIWl>4FBzCAvkqDe_< z+qO*`wOSPm1-5IKnkxSmE6Wi{tmecPU#n#x7Pu_9zOq~(FYPbT(#5ePel3&s^{tlH z$6J@1M_Q-fqiRx&lNJ%L>Sn@(`JVqlam`Bf=>Pe+rcw)vYxa)CH9Kn4sVmau&z54< z>HPHbv7EVlK|1yPspA)Aq*FMwx!gXT;-TqnV#`Gro=f4+bKAz2tPbZ<`18E@7g4i1 zXsN7Ck1ZExW>EMugDOGG#T`3P{FDA8FP&on(0JUl^F?wDG%FtH?3^XXKrcQO+|24i zA<G+|MP#uo}#gghtB(NvQh z!KWzxQ!-2f_bCxhWt}fa8!6(bv}!E)D^3yG_Krm&2gPFCBiXQ16er5}Jk|e7M0Oai z6z?(GUM@!)DdMPb?bXcMLOw3T6%?a!KPOtsdrOJkt? zpYBwU0G;s<1rnw9bo+5WJkxdrV!3C7I3J#ATZAu@oel0n&z}uugR{;CiClNO{Y0rc z-TvvLG0nfWj3WJKNzpH7UMuo*=JnY}t?ywb>Gl(~&gu4NLNlEW60OeZ_Q^Lt8z}RNXI|fknZ&a} zqE=jD3ju{~6b89)X-Su8BbbMK!y2rMM<7O1XRYW=T2y-kBqs%8`GH zyPPeiNyie$b*I}ub3{`)a^{Gpa^&n$%^y$Aikv>G89HlBlVUn&j%X@JTE{V4mrobV zO#JO^F-{Vws7*CB_v_w;zw0ooRdeXlC=T zXNqUWe?NOv^Xq?zYOec-sOEbu=0N^W#5GSZ_07K~<^OE68cF$2%K!iDd5!60f+n9wS$=~KLw=Cu;nY+mbh9Xlq*DqDp$^{tP0>eN2* z@7mKxGn;><7|WPz@19;XcHm{j`Z2?%OrMCo3HmWZr%!T?9q1}H_8Hg9sGmJ^%B+d{ znG+{ZDV{ZPrhd}6DbprSxCHr~wA?er;hy52h|_vlEc*B^;lXOFv~g3dMI96-_KIzC>@a{CBT64YeLO^GugJTl;Jy zjC}^7eG})PCM{dVSga)uI!Nt|mzCQ&`rMUgbjS^IP(zxJPnbAq+}+b=IY6%15jwm1 zIGXRE_W$PL{KyZsshT8tRFjjPztJp!688>^p zBi1-NcIx*j(`U_^a@R!1UE}7Q`hDC)$E0Fv>9|?5W;%)|f{79I7R{QYG%{9> zcZ{QG+_Y)qQM-7(V#n{EeujU{AxMw9CUnNp}4t6%Xn*KEh6nd9!7ICC7hfCw)C zFWxtIyC=}^3hyd+KF#rFI!qon1+7xfidB^6KmNN&myqXA1UV(2MWdOBz_wv({MrU3 zeEJmY|LW2K|7AG;JVb%dlg}5~x&I62Fx3;FYsy1+mqF4=kQ_!Ry6aEU|ZwpW5`sccab*M5DwdP9rTo zc_><~6FfMZme$|AX#Gy|*5&xO^5WZbTP>~s-})`U@=gCYt`v?t^SX7v#oH0zwyuBt z_xM)O>n}Q2AC0x(R;Im3e^LCJR_r9=so(KMuCqcbPKcj(rY)`ohEo=j%Qg7!P9^IR z6H%oFjN!AH^1rlNHC~5I5>7JrPfP3e|9@Tnr~9{V^FQ6c_5WL!|LK0MkGDR*bvgcR zfcUnRScB4MUsSD@*5|jD$GD#S?{29!e)ZWwuJJ#;FFT=Gdc52JJh>dzB>a5#-T&(K z|KWcg+&j{y*)Da(T?Ybh1UiBA_V>BK1;9nXmw|5qKLCCKtO9NW)&UO!RgjtsfR_Rd zKnt)CcnfeMa0c)J;6mV1;BufJxDHqetOkaF4ZtHn6*wRr*a3J6um`X&Py!AG-UJ*A zoCI_M=Kwvx1;D3)&jVipz6pF6_z|!I_!V#?a0{>oxC^)k*Z}+!co^6ORH+zC0j2}B z!1ln4fO=q8V0U0H&;aZW><1hGv;YSIuK^AQ4h0Sa+JPg0Hv>llZv~D8I)USX6Mz$e zlYw^vrvqKU8Ng!T-N4zvdx3L-_XA6S4+0+o&I3LIoDW<8d>r@$@JZlPKrirV;3D8+ z;B&wwz<&du2fhe=3HUOw4EPH0Rp2t z!`;~a0{k_Gb=VT_iQ#Y967G#*J+_4VfWHG9Vt4>s!argd#x?@{GlqX*OL#Dbjo2On z9tIu(9*yBKY>xv^#IOn5zkw%#Q6N+QGgAGi59h^@WS}*YED-kiFJSz?w7nt$FUNiy zyJMd)Cjq-*KaQ7SKaO3o|6j%UIq~bnuTS@)dsBU=UOjd91a`>90PO$CjjpNP6N7u#lYFXdx7@@J-~;7j{+Y9J^_3R=mkClTnu~;xD@z2 z@I~Ouz%t+~z*m9Gfv*8y2d)6V349B<61WQZHt-!_InW=&cd>mhhO4n%6T|nhCHx?U zA7V?mHijQzOZagNKf#u8T?{|P_OlpPU`rSPeh&O1hF@a49{3gTYv4D)O5nG^?_#(C z+l|2Qft!F;z+eo2z;-im3$QwdKVth6a4WDThTE|H8Mr-$JFwju!(G_c0z)y}jqNWn z{1w|e;GP)%hV9-M)?>R5_gsC-54o=J`WtLF4j*yT&7(%&GG^@U&hbSPC*3jS&S`f|ce!U2&$|1b*|X>T>)yHd z-GBcBB_7X%4?X*k3aF`Q>EUgpIP+mb4!-~`-K-@db#YCSC=h+?e#ZS zytQ)G+wYY7-+gcOn)g3g`_adrto!t{iooZefAQt|ufF>F>#x802CJ{XTEG6wFFp@c zeD>)lAAhv=!}r&$e(&A#civw0)|)Hdcy0NzSA1nJz4*evmo9mB@iR|*pL+6%#}~|h zWZpv$mOOCZ+<(o!XIAmd8LsKm@0v!7T-lk$v+kMwuY2#izr^#Hvh?{EUV7R0%ChCJzwzcRo;~qzgTZLT*}Z$`<@M>)w{O3G`T70(4;V0Tpvi2uSR{#Ct%I&AD7gBX zYX=V*S~!e4Zsg6QZW(ji?apyU6DCcjZgaV37NgT-Iz0H$yhr9QKu48&(M>WL%6zYa z3b&29W%Q_Fek4c8AVEWB>$5G+Hl8wPf;gC9oT1dbRr8p|#6LVKfVx%p=N zjsv&cI_9>qw>#*@6Y0)V(FyJu=mXrG7>3vd+#)jzcx9o?EQ=P)%<{ax{$SA(W z!vPamlq)eC<-6;rTQ>>>qs22p>o175F2}#zex@ze^Pw9m*!wOCpW>TsOs>PbNQ`yq{ywK=L`hq2wGbF%6@FZ&JKE!YMM1MJNrCRAX% zVlorFC3fNNGOzH|!&afV%p=@V5fm)7dU13`0NaRg$qA>JlJ&0G?TB7HUvr~)px>Wj z_3%Ne=%o*e;ePLmAI^M5we-33)jO`+Eq*=z64mUFA5_zQ-+5q$>afPj+8))hE%{!S za@4>!V@vgUV{(MmWjopHlSAw?TYwcWa|)l@{Oq1GtMKH*Mq$wQ0P3R^hHjzyc!kcY zKZV;raSA;SdWD_`LqfZ(^Tqyqy@Fo#pm2VMApY5Jka$_tD_od?QB=+);vtQlU7RvQ z_)Fttq3gzpKj6M;Sq}<9Y}*{=Xm^mQnjGw{B0u{z+s)>_pcQ_>c3x?SQ9W+@#wdJd z^RWpZhS)PD5hner7naNovf)*JHhHyP=(j(@ir)yaVO!m7@K&SH`(S|G@@0?}Zr8H` zd$mG1!^3Xa;${0Yy{vCI#OS_-Tdml7*p)~8>>UTn+arAS7&m-OH!Gd*W5-f_?D@H< zZ;prEz0AXQ<#^eni}b9b(90%$Xl0)ldf41$LH=^FkBzSg@z$; zm(I7cf2|Bj)5@J}ZRffBctz{?Q0K&eih@n~_cU(#l_V z>Dj$2ebReHA%0L3U`rkj@`j8MTj6r^?YUl7TI%H6a(!&s+>o?>u$w)(C@57HIN7Tu zcB#C`%AQ(cmDY~ZvSlTH%geJPd{=gWt(xrTKj#G4GxNRthkQ4CZMKnb&U4~iJ^y;J zp1nHPCw-4-^^;4y(x)SQ{M8aBeLL96OP4TdtwYOSD{)%Bu?3_(SrPWZWVf^{JHjeQ zFlnp7hjP&Jlflb2jIdfZa4Y+0s@_s%GO|r0Jm$}BA^uaYpM6*0=bQ1LkH_V60cq~CM=(msRFawy9!?c_#F zqt0&$=lac})@k{LJIyDv0_G#RL6aucZr;m1rj+&p)5)CBz$|7pZ9t!jTJ6BEOjhu= ztN#yZzB8G5oU8oM2uH9l3RocKnLqpX-eN)B2E>XY8((MDx zp|Sz2u_XU!w;NRz1@NaEt9WL8Id69~%B%8}`<_gJzm#c&++$3c=V8BO+u0_QhaJfb zN^3?%WWBU}YJ{b#eU_3%K4I}(t1!FFE_6CtVji^BE#CfNNY(}2BMwu#W{|4aUblGl zR=?1T+ea~qO^E&BimAXmCI@Xo(2=3dyzLp=rHmZuqa`1PG zmVIw>L;mgTHR!=mj-9P6^0BW9{A}hjkMQvbKU+9Iz{*@k;f4(%=q0^y&$0k>e5e(B z?Kg^(%H6^ps{`z^gF*4aw5P@Et9-)k72t_0UQwk$_YV9uC^V(m+2`ZOssF%zyPja; zUY(V7sITDPquu94G%Scdqvegs0d_1+&(@BzvfZf1gNwAnu3S4??lQ7<(2tW>8-;Z? z4}0!mjDhA`g`2;z3NOs|vnNXf-0`7b7_!wWc$Ng%qf0zo+O9=(#>iYN1MDx22lsV~ zzh_xl(I=$q?5s`J58@`1la2ny$9@E_UeFNc?>gMj(+>8{;1E9nx-6aRW`AW^*{7qt zycYF&bdi(o$hETfi;Vo^5k5Az%*xgewle?JfV2quapp=bd#A|A-geognalLTku)cJ zX||TtXL{M~pBRNbIy-xMeu(eRwlZ6lRoI+wWRETKfj1-ET5A^qHZ7a?0^}p#&C?nU z>|N-g<0>z!<`Ic($?L^lzCRQ8tH3Gk1YOGJTKSG#$kyPXrJ~Tuo_{zbZGtY@QfRa+ zce&Yt3@`h_=I1-J-0Z3OZkgBCLJ!nt8=)8NtOm0A-eksq%?a>(-q5ou?&t5gywYzu zTJ9>3@XA6fUsbG^_UG6o)>OjQj|fT)8b1r?crAZqIN9f;>{1=B-IxKH@}1dQwsLBK*XD-!mIA-@yAFD9wwu=) ztbFrey>uwkFTGfz<+XV}Y0F@bMMw`=md+1IyYrY-T^KQ^rv}Xj)BLP1-)`BNvOZhl^*ifC&w)OwHF)_S zSsotA((}Kdk4WeKt#L~yGK>=W2cbN>l&*GL+NN7&ee_Gd&vFrT!1-#s`LX#PVNX7@ zdN|G|BX}pN#|zWY8?E^Am<(GtN3=*OB<=+qzBqG zMfoqN2l2QH`+sEW+3(p_9)hj?JAy4RGUx%bb#D6XE3(r2RWj!0h123v8=VLz6i{eom z2Hds%QjUf>-|7_)YxwxtV^hZ@6$1sRaYwO!*e6Ge5WA<8ijeeBgBrUA%0@= z^Kd3)x5NnjXl36Ny7>lEh|PJyBYXjWq+*nnFP!E`o(n7jU&jNV7JQT!kbVPiFD?O};xaQ9<6MGO~j@CXv4O7x_U$Ejz4pTS#BO?(#yHMEEgX&>SfA zvnG|DZOsqx9cZu5#e{>P`^Ew?2C+`t-aKFRD_Ul5>F%c;f^6}DaFWZ;x zl{@)9_H|RXPYfTCN0lrB?R)B|f5lI^f z^Dp49{gtKVf9mYg;WRt@U`&7?&2&nQx`1V?Aq0Kt<0muxmZLhoWz7hWK>AXxjhIj9 zJZA4)y(kWKNX!U+4W&?o5{b>#_=i{0YdQ6BV#&vMN-cJ&?0oT}HS`q{obt;HOON|q|CI-@?ycY_zYL-$zMg{4&Z zV|8d_Mnf&{8MHwkh4}BF%Q4WMX!B=gh=;SB@Kc$fg6~AMBAZk`Dj@9Dd12E6{6r>` z=0EHazbY^a-^0fiw04VgrCs&v0{&BsOfs7AE6WkE%mk$ChhVCskVZ zLk45#qTll>IX|ii@$KlVM$qUI$lYI=K3)%KXMW0ytBP2_Vene7o8 zVei;FUH`Vwhxadv2#py*K755sB0JQrx{M#naB`yE_FO0HR9AtvN2G4x+4Y0{vM+r& z(=DCXpuzYp!cIUx9?fFX0ocE#vyGsSo*m2bS^@=rfn>HCI&Dvio;@`?AX0ljFLblt zp~J?mq#2hGbgYm4nHk_cYeVWkGb8+^;s866q373vcSvSB)@j&DjYsMYI{jeM!e5N? zHmN~NmryzXqEIi}uXELUOA5x7ftdf0zQi-}(|>yd)%2Jt_zLcvgtB>nr@Kec4`4zTa_`Ru~Y_@ldXt zr$lUQbFNk-UaHBra+3QMqx7mw&^B10hu;VtKi{Ypn3gr2u(3lK0X}khDfG1mV_Pi? z!{!fKtK*fN35PX7PIk9Pu#CT1Ldib7P#xJbr?1_h&_$PdWP@Z2pni6DpE%S(B zT~OMd?}k3|2|Xdx2eRGLp%X5)+U68HgC6^Hv{GY=k(Cx(RT|i_11c+cim|KLhGl&n z2HhJoyu44PjsFH8{2==MP^O+|*HrK-lb0RNutN9xB@O8I(TE^Bo&nz|%L@O<%a%>m z3MVu4($TDdWk-%4;{ZF^e9Q4HyWH2h9aUUV`^~>bIa^+26-l;sf);zBm;2&=WPA63 z=MR9-bE-@Ev9t(mYJfLpxOu0#D%l1f%V5w!L8%=oy)6%VJk=_Rsd`x-epjHySE@ah zc5091muxTlWQ3k&9<4H;&w}RfO%e8Xk&#^*(U@6Hc;H8n6K%bL-L)`kaWAN~bge1p zDUCWda(RVxi?2kw2s};WAJe)L*aidFz#pW(=(2;e%Y(IC4Shs5>4eHCoKs&8o{I3g z91jl~?Bd=`FYJ~U<5(wub&N;#X@OVVVbHT`__Z@j{px32e$^(7XEqLo5AdQxn)E^d z`UgCG!~uO6m2Q90CZ$6TaBbGBvXmG4tE9F~wfrdLsAC;x`Rg4#n&O8H`uVYx2)m>v z%#UfjvY!4iHz>4?l(N6TCy}g(^!A8=Sf2?UN#odTpY+IFzv?R!6YFxVydlRb4O>+q zy;2ku8T8No+>m8pz`*aH?^B(O>R3b60ex7`ug8D>P6_e@kkRvD)6C%WrZf-#6Mc0g z#m{;KOZW+m5&h)h+j5+c=`cT@5t5FguRbo+iYknkj%UDTX1Jw)PYsB_XNK6ZOe@CH zA?RNn-<0nZ4xE4@P1Rd^ZglbYMnr@N0wJ$sdlL`)5*W#c7c4XcCb??H9qN`F#)((dJv%0oT?64 zdZO+PnQr#@v=Yk&O$H0uni}ZT8S`vX=SG*gJ?#FM1zO=|ALneXYd~Arg?Gldg#qgf zY>ubQas>X$<&e!zI}F0Or4HHWB3ss|vWi3eI!^xTg}BDXT(_#{##;X6;DGGgzdFjV zPOqzA7l&&3N!XUV=Y=i5Wd;P2i3s@LxwK6Bs30U#T;kUpEgQPZ!5=TyLT3bUP4LBf z9lP}nD?*n6{!M|MT^Ne8$%{480r(3Y>U5aD4GP0oluI;j(>6r;mYjfSS;slqrFO98 z<%I#&W!1I39pqSrYdTT))P^#QZ8fYZ&Bt$85tjC5I`K7m$Upkk3_19m+r^V9KKKM~ zo)grt=OjF{~ef=2^h`lOZ{O}3RDBdw_Rh85^6y`_J?|-NHIn`C&=z_fs@)K!Je&xn8zAsZN z9M`zPYg))*lz*4+7oe`eYXQiMi@iCE7Zm!!Ui^AOgL!c+WXi_LuI+=2{RO@vp1!a?jJ^o*Bap32(5FI^4R*&W z-=B`{&-AfqnonY>Uib?J#Ei8E4IMjadFE0<2Bd7*=&{DQh#cFh_CKbdCaOzj8Xd4=AUursMaiFDM~Y^Qkf z4hL(a22W(z`3HloDpe%PgoZLpW2Tnhyu3`>m*E%Qy}H~S$qGr=uF>#~d2VsBv&wP+ z`m*o(QeJM;t7gv$ONS3~mR+M^BUY42qnGN~k*I;4*HDW4Yk2-zn?U;cND5-!>s>sf zrWC$|kMGj?g>KdG&r~7R35}J1WwMJGLWi%OdWA^~b?9%arBhuLa;O!DE!VK!M>NnSHt1smHwHAqZ_tlNQ+%)) z4t{<}Cmw)){w*s4TZ*`zO0OcjUTts++W0_dY`C!?{{R-IjS!}4^x|&-w>I`-})bo)+MG=m&jG3H%HXY_AhBnlM*I48q@#BbLe_n;Q081`}0kucT7@ zB$~VVCO;^i!?aS0+KTZi=8#7DRp&RASrCM`{G~y>5x&Q#{axmY{suGk1NppVBg-tW z+PQ^dozglR_qc1NN2fX9@73}i8>{&3ULCt*K?!1ywY*cv#!P;fFl0qJXjsL?#wymn zx=QR;85YQqMYn}kIFD} zEDcLHd0hh8d2OgxxNcP$@3p2DwmZ!KR0YL80T)ZFai~dOZ`K7>Sv6d!i`KTGxkvW` z4R}x^eq=5+??YV8v9v zw}%bt8Z2kGy;vq)=Q9Y@N9WeNgkh@;Ja?T#JO?)7kV-F_)>ZJd9c8LEO%;4cR!F>j zqmBI@MMj3&2Yp*6bqLk6=WpYdBTEdPIk@d6-=deRvsofO5i)sN6#TfQzSv!jP2!-;)^; zdIYO@BpL=!cwpxZu;n^--+d$-MvQe`@K;LNozOolH6mReEa&WKn2mmsL%(~aE;~Te zG^=p!D%_u0r3}dS?kvC1J5a&u_iI>6V+rd6{nw?s1iYs~?ovRu3IF1G<%b z{l=&U`Y?cTO*y|9`tbG_OQhq_&z<3KQY^r}B8vM5q)gc1a}XmdSW|*nhaE94=p*<6 zeFIT`UQ?}w`uIqihjj~PZ^CW>QrM8BmplnL)#t+7xXnfeX3 zLo9W2sU3Kh{8Q^X9d~(f57=GOdHrAquJ={IAB$pc2r-C_<-GfPok(_`^iy^X+FxI) zQbGTbPe`)(V`c>UknFIZYv9Yh$=z)QwG;Zo&)YOc*}GSlm=Sa3P5X7o;j;=$ZY!~b zL6j!+8~Hc)%_)&0pc&=$5lzN+#3l#(Am7>M9Ojf*gF`y0aARCX^ji@5QWg%#4WAtlm^tHTy@^oIM&c*z}6zF>k4eIMZi)|Rj_ z3rmGbo^nW52z~An`uKIKg5^4qfhH{C5YwtF)Lqt>p+$cFONL#wJL+hAbib|*Ybxbm z8tm%I9^4$v@U=Y|xzhA6PlaXW)g_j%jT-X~ZH4&`uS0suSs|?&qO*Ktv`IJlG~9Jx zlt1mXNzV-fJ=Tn4US?OR`t}PR9SzO9&UW2OR4vmmj6IGe~Rl*g1 zWNS56345cCHdz~^qN=*2ZN0`LzBMdtJ`uL5w|5Mis&cHVr=4NT&l*pg&y3u1`-?7V z4*ZVS?GQvqr7xNx#gh=VT?;{{OT1N;a_vgqzN9Ikhi`9JYo>Xqu;K1 zv0Ut0%~@K=rYc-s!n&>1sWa-z*@37_-Fux&Xj@&o_|NJbQOG+8+n%f4z+<{%gOZR(Nn0mm1ST?D`cL>mDo@@0zFMG>)~bjq-gdPSq{YKi%LP z^{6ak6BcvnniaM1Un@BI!=ro^Qm=JY0{PIX4PoeG&M)3rA-1ot<%gqXq8a)yB~+$5 z4`XZ_#vMHoXqh=rBat6a0AI38O%*FzTp`Cp`UlFmrp_je@HrqydibAF9z9YkTe!Ma3{qXevP&c?TDlo3y((4b<+wU9Q*1{cFwpS&8`o zi<+pOFOJknU+WFh27Rf8$`805{1t1MudwQH4~)?lma(}L%7jO5tDqv|E5gFa1rF7? z`)trZ$d9eGsd85t+L(Q02@yNqU#=E|nv@QK@-|fdQKM~pKwWBz>~)|gkY8$bn7`LY z&A+E2MvmpBkuJ;IW|y?FYpI#ak4$q(3rAz@ZVt=!nKrM4Pn+Wsh)#5T_=~0Ny2W9! zcvcw|S-&-9LiaT;^-bO=bpyL7SRuBlj<)Hy$|2XMDO{`iwmUa>sH99%y79$`8&8TjsdKeB}^>eE+)^R7kfiGzg1sv&phTewcN+OT2fM zORi7BDi`azu0l0#0eBNj&-FGTr6#H#;wzWy)1k&7z7GG-u(nF3*U5t#m3Knaa$!)R z*KcVd)xC3~(uuv$*I4d`|2$z~l)pSWEZ1iu#;Vu*qU?z~s^t2Re(tv>3LRE1*XJ64 zIoDNcR7DF*<@)pu*jVZgjoOBZCR(zCVfOH>a*N6Dkn3}Ps7#nSuSDv$9-@aOdW4J4 z#hhPILz&w!Zz&<@vMB$1zfPvtNQ@mVYpNL84LUy5AC+>~mkD<+bjbIY);V~mYKJ)H zMU8xa8keTj8C1hol*{FAK?CAEE?mPwr$eU7*ofs}spoo)T%U6rG{Rti3GZB8A(z?F z5@Fyv4LdJHPpKexHYFsG{yTY4C)bZ+wz_JAK(S;xPO+^ELRG?bs27z5}*I^^r04_zZRmI{}{kEZKUoSw#_+0b!RPJ?bCKjUHw z>|vofmTx(L(2*H zRrGuW{7_mU=Hcc?5i^del(GO{>ln(Ud*mfjD>b3~x5_COv%fz%K;DV1{*JsO%YFQ} z8ZB&M!m`?^QEnXj?WvI!2}kj~&#V%e?(rY3OKmcr#>*W7I$5sc%n+=rJydtXa>Oj%glqCTTvENfApYoVVLmp&LvCzdbW7;RD3?x<=} zzmwsz7WJFFxaIwCMVv12de^VuE$(k!qsV>yKY0O1d{^Ff+Zb+9?o`u~UTJljmi2+3 zn0Uff@WT?z0|K@d_wR+6PU7+I!ElSRzQ&e#7-PEf7UlEmqbKGH&&2YD(3gp2EyhHNOFFqe2}^2Y%l=azEloHIzX|#|arrx1n^=TDqG?e+3SF4E z9D%=>xR5SPTom2c{7dUH>B8ot3}f+@<-}vOe;(o&GgJM0s>9np$v-3;Vs`-DrQej!6MNIa>+7~`N%IFW+6*WOQyA>6lP z+ULS9Y}4Q)e=@?yQZZMz&gMmqsFgj9+@S-RcH|)jS^uS~eBJjh0FaI(TJdc?5pjB+y@HEwoQ ztyb8H`TbGfc#zZRWcm9Ua=qQi?Y1J{%89XsgZYX*u&E{N&B=D;2szpOQsh}6&+ge0 zEtWQvb1FAj3b z`+Khl^W?~Hd%nbtJT?zo<FTXva(md!Sg`Hx(uWf$W1yG>flR@|d8$7}vM z$IbSb?B*Kq*6|#_X&dIKx1hZ{a8^J}>0h4tmghs1Mgz+Zqg7hj)al;+=}vSdUo64&)>@RPoKZq?It2AkRVI z*|%)UjiQ_gy_|b|7&&O)oBYVZLBHDktZiz*@_eydc*mg?o+;4_9hxf4W08M&?~(v? zfk)_y{F)r(&<)$*7H`J0BfaWN2OhapP-h>}s-*3D5lOuLDA%#6%e$&{_`+RlFt440 zaU}9Kj-_ekTyfHesmPPq1zH`#+%xGz%2E8xMl$L_{-GVuZg|)$E~YPa)~2y%3^a^4Z?p>r`N*lY@MibcFN*^PLE9{HD;r$#-VD{-@ZI+7hb zCw(-()D1ggl=Cm&DheV$+sQtK9(ZrEUwZ5btw6Eem6P=>4E;Cb4Xd1o`O<6#on~ZX zq0=dM`I-44IfrrR7N4*Y7VEJ^e!k1#;pbzlLVAeu?0(MI;)oXc*?v4Hf;?)ISK5zj zyy5bIclGQiu9bo&JM$qwds|+F|5V_$yg$ax4k4dmV?lubn&D<;#mIvKzkOlzARp2w z=V$MREPOo1h&iqxo@a3)KikjWFGB7^ww~Yp2J&*bo%^SHqyyO=DFu0%8wN+DgDGD2 zXLitXG!1#FHq;}-&JJbkEtH3~ew1F?gItwk$XWg|UyFGuH{?CQx8i>53rQauk;h_% zKGZ@l29XmO;@eEnZOFx2H5GZ9Imkul$Vbc!NXutCd0lQm`l%p@xy*>=CFEz<8I00T zgOQ7ws&=tj2#WiWvxNA#sTy|Fvc;#`i+gX@F}5QMIUUsw*bgnM zMfo=%J)=>VL%9!L{%4kvlVewxtL04@KIB6>K|?pI!*eR_@JvRVbdTlB!4b9xxu2v1 zG-{u@Y^qz>n`gIVH&#LS1x)uNKYU-F-)yL_8puM10b^GqM<~O|`c-O>R~MG_$U~_G z?I}Mxr^X@Ay;D7CzJYQhNi#L*>^y@0I)QvH@{bNe2Y*#y6}IIDAdfzFJTqwV&b5lG z#(0Id9mvPlYAs{St*Qq~o#L}|jRJDfO+9}#s)twLw?%F=DKPL#nUfuE?bLyY%TIzv;xINgC-+#v-EQQVRfD# z`U$z^%xIbUf?Irdj8S;I$j&++<>u?Z{D0Vc6S%61_kaAHbN6$XgW`?~xhpETFTlOH z`?5}fKJLyQIoItxK&9!`F}RsE1`UU$mdMkP45I*ULUZ9aT4st zD>Z}VHv77F0$M5udzfspJ3x; z>#&z(Hgp!~P4-eYWW7B(4g2-5uYFV)WPXM%;CQr(bkfJMVcZ?BP+PqWyX_e45)Z7) z-SbMbR?JGY{nS1O^Rw^=f{z~g@b2iH1zm!94X>0SvS&9AhhLW$u3;||?R``~vT^5q zGi+I?@7KLK*rD*lZxq~f)+YqXI@Jb$9hE;PsWSp;U%^52Sz2RKUCL{jjdpsV z3gvFYhpGG8c-;AzzR8v1__=Bd&;$I11+%imQtCqavgsB^QuesUkX2wZLekDB25+g=&)Ifgzd8z%49xD0tjes;N#LF8k4)-Mcx zuO3zvWbak41o&tB*gRkl8P)zlhnjJGdYde(*Q2OFPx!)b?j6Vf9FkPs;j`6YYdUx-8NLYko(0w?$Zv_pXxZ=$w_FY3Dqu~5 zD_IDg=4;P{O^t6OJ6h0I&V^#YJLAWVNd%M&^{+9gZh$^CP<>wa-TT~d;*-M)!ad!bKV0WT08UfYl;ue)A@T&Z#*)fSK@LD$nBHOvu$ zhO{o9i@7=S?YLGJbC8&4ybYdyfckB_AzA!>^b=m65@_9(XHA%tBp6BlJWUUvb&=7ZhN)XiaJDH&}P2i^#_{Spw&(;5oN>OAb-S#Qtc|CGYGKWh5eMCgk5 zW8;L=z8Tzk$cHjdGvN1$F ztr`wrZ}8h=>}fpeo5E9{r7`C<@Z#t841s)g4h1A}w_tyckIzA$$;6)64B0QZ?H&)! zQ(cbj^Wh%+BhO&?Qbk#BdU-%Uz^4&@cr^cV#?K%7_~0)KzNGo+gSJpvUl`#NR|fMP zyShhnJfyR5NeX!cNm;9Q~~= zSXB*lIvNmd6Cj7;M@6e??MsER^;6^-fi*?)EhYLsfZr6Yy<%@D{}go3@d}guBEIdM zfTgMg+qJ6xwyH<{xKE<|;ino58;G-MZf0_C#b*e2z2N88CRW;1|1hh`FN2@A8_uN5OBKb_do3z$;4|IP7-Xec+^8F_tWTLen{2|ZQ zOu)TRq|vXlyt#dC;A=0z@3w55Rdqj+OUB-;=TaE_A3dzsv39yRCJFx7SwW8>`wunB z!aO|I6gk*|@W=eBdmQ}3Q*Bw$uQ$MJ!Mh~bv*|WWnR7YdbL#W72ZQtu`Gv?n6uABf ze)!}^MthPjRrP@nZ?u)yhe00M;m;S$iR!c<9e{lQ_qGq?O2LQB0z2S@uMfYqe;ijC zKDJmV4EUi<0#APYag!5+W{!`7A8@R^7CAg2%1SUux)FTq)PWq5y);h*(lmJ zJ0?s0dG9P0`RQiZ!fa#UTl3~jPE!Hv5E{sqK3GeRnwJgTl?l7vj|<)&W$Tv|Z#BcW z<~ewu)^J|MS}plPlAnd{W**jN=^oYw;I~fxE~PKU!*3!<))lF?9NKrolkB|Xm0?{x zJV$k`rjKw1cI-@#OQYQ~Ow-!vAqc zXAXW+SWCVt1!-}OWY$At9JjoWcaX$I2l+x~T=dT2W<*QauaYYJgCA-Z$`79>!5`bZ zCHXdQ4@u)YuJz_Vi1fpJxIcImYwG)L@VAq!*|3jEKL}T&gnr91G53-Nf5c?l*|JG0 z@>@L^;K7qj-D1m8S2~d@ua%R0oD~h>jOp4xcLG`--T`%(tS|kKvzl5qkxNoLD{rdtCm6PSU}z_KIh) z&<%cDw6|0ZdH9Q;hsw6gX3KquNq$n`v(RVcj1E>40%WGcmq83C*&dd#l8Z)LU#8fDFuEK$?!QM zf9x>$Lz3TCHtX~@!0F1#+$jcAQ67Gcclz&V{iE4 zKC%UIS;>JHyfGKL%g?s1OM2k?E{TC88yi3u&l`~)lrS_N{@KZpd5N|$@JE~w7mxiR z@O{So{cEee!3&8PlV!?!#doirZ?QcYb0c}!uMrBnHd!chB9kY1^ath?PnG4=cU0(e z;Hjg2S=^>JVVeEEp=z4T-GhB%9}cw#t>~Vhp}7R|{hcz^W?eAUFNoGk$-l+E$j|oH z)I98M%*1yCQf+Nhyt(j%bc~17VUwlXsvq>`JFmq$FMJ-zS4_C-Cp6d_55W)zKE_@~ z_&|AP#iE^}F+Y-H+Yu10Cg0p#=#h(6J-9dFhnG<^TJ;G2*e4qKa1jad){X7s)Q{07 zCE>Rbx;n%*8M-;wNb~d(*J78%MJ$SfuXU2VufY3gCf9AXB+DQ2QxmW@Y(+og)tC=~ zjJo8RB-F}?;?(Liyc2Evu~D4L1G<{e@wPsMe>U}zKUG=$UjLB5du9D?-QWj&(mP35 z(ENmbdODv;0Vbr%ME;DZuRV}oeD{5oW8=d~~#(qaQ>f6Qs@!D+NB zllvw(B#`E_>LQN{C(`*(``Cm2l;Yr@ooLIumnuvfABAyBitL|#QA$z`S`?3dlqrub zq9K2Rwx+^&F%#{a4f`wATJA(1WM#U%H~h7=c3ZY86yxJ`+f(RQMBN!a%Zy+<;(eTuiO$*x4mCg|m-skWB8;%%kRBx8R{3glw~{3G+A57PwbELlEz zpNQfP*344z>QLEV+T&^_w%T19nhksC3HXTGjQmON!RDd86*Z5h!uO2)v6CSG;^4EDZ7Tskv8R$h_}m{p zRDRftfjzhI|0X{vF(-;UTGd0Pga4xzeyrTnWNvF4PHldg7sOpn4%i#bBwH8v@xy+QY+JLmRQMxG+~o05avN1U8p3s6 z7R&culnlQJ_)1*O=Bn+@7Mg68;A@s=d!S0-b8p0|r4v!86~6oC9V}#ca@wnTnQHP= z-P0^b*aknqw3@-%JosaGhkX8|PioND!BK&E(Dk&>VR|(7MfQmbqInqd>m58#f^Lq& zcqq$OCnMd~YJ-g*J|`A!kOJQhKh9@=tk8M2B7ejj_+n(ItLmpE^W>NM2z5T;>7lXE zy7D7$%r!>yzoemYv3#YhbX&!vlF(~eye&8>Pat16@-eb)jp8coO;nSg zN0#KFuDRdN-@DPnL%h#w&hw_4lT7WV2#RDEz@8qtC>{A5pS3-w-d*9>TnPc7gb){J~5W z>G>;0A628hA>5-Iei{|z;Z|PecAd*k8zh2*1!ru>IR^g`b`(6h2nj z*vpUs-<>>LW?2u_ka_UK1J98kV85hTYp2zD9O?Cvm%MrM>-XO-$#Y5E{bX4lmdWtL zXK^w2V+)PoLw>lV2!| zO>6a|&~xCc5VQjaUtjV=zUt{A1a3{|ZeV@cd^1_zpHg#wBKG(}06vm<^3V1>6D#CE zuirCLJ%3v)* z^C(`HKO*OkeG1S6stm5){zQ&Dm>x)LrFSI{zVcBUf5F2Zz&*8dmCry|UdrTu@J|kW zqKm_rJ`+BjvBGCv@`7m3GPN7ov~iJkto=x`e|FHW5Zl0csj^-t`P67{vaNZFAACBq zF)qo2JtA=)M^o_~olK0AB#z|IA7~QV2SI(M)TMN8r*DRqY$=*kGu*U6$4T(VPJ$n| zH2$gl0<7jy?YBoDfm_JYkD8e+W*n&m-{(EhNfIJ7-zMr&bSuyUqU`?h~-92j^`&vCu6K2adq~_@@<#dRNWFFqH&nB;svj?Y<0bqbgZvK7v?3Z z?%YV$>WI{_`!04hwgsK2h&d`8{b%nxYrqD<@b z$UIw8s5f*mzLmN*(Kcv~ou4_vZliRIU3M;TZMrb*9qq0NHbLGqC9_g|K59Tk^n zBR@?_)4q$)CEolj_-Rs_{EQoK4H3pT{DA5nv~gt*#;STPiKW}{olEDQ+(=aiZHSlc zL&MD|ektT%)xC)_y&kG^un)t}YB-ZD<9Eq3LEeXPJ6G}7q@jkH+le2OTv>DWBwV)q_#k=M*oO zPxfnxEI*;!YHzuG@_%`LFH>lnk}9W3KGS{_^3$Y)=HNPGjKuta)bKO5ZI8E=flQ_Q z&s1R?jeE2={bYO|U_GZs2FBXC&?h(~^ojED!KXdWl%{XYn6QVdHRwcXn*YsvC<)Cm zmZ3DQt2Tq)uYWL8PHWJYN$-;%Jsl*UYaUIMgc zdAcNdAI6hBh2QRAGDUYk8{gVc%DaoPPF}7}-j6~V()X9io+J50=?4&(v=^n^r93(P z7~>wYm1xfk9b`X~y+?lZ@&Wlw-*X{9O*&}b1?>Y99;M1@EKte&FrKQiA0@W3wQweqXnJl*jFt+=mBt4gHCjO*4EGVfcziP_vx5EB30h2Mtz@-K69cl zFPS6bN@@QM-dHcmkmVnxwMWx6v^RzNJ{@QB;&n78P*N!0;rGna2ONISEWI%pHn`LA z!GMq#@6zQllarn9;@iVZ6uxB_eYeLtN>;Au;fu`fQG6*kN|rn98tnsN=M-;j>s_Gy zg#&CdU$JMVzz$>Q6c3sg@0^6cU#f#ol*={Jlzzk>GMw=)fX|KG5Lxc9`?N2Pol`s? z`{JC_v=78NJ=Ed%%&xuW@Ox(IW?StA@bNilm-`L7Z@}IWc24n~TnsCn4w|cTN@6ct zNP+V0i}DJjX}_oQ^UUv=U90QxduC}Gv#@iDbywpH;P+>)tpI)lv7gcT`PVUL>zr=4 zwIIK=*p*%YpSt@)oFC_Wj;0q#duD|cz(q+qCZ-(!FxvUG9E?>EN{l=}^Id|^fyZ_+fqsNb* z*kGXSFikW`QnB1ndi=) zK6T>wv7?87%lP%sfuHy9`*F|rY2WSIxdY#(-kh=tAEy4|^HnPomw&o+@ka|6#Lt`i z;uF#1$3>4BHFEgSAz=gi_wCgKUx@D1p;*%ib~&dA3S`N+SHFJI#bE4;n) zA1l_gs-hl7h)-qAiT+;(J+_2n-zkT21m?q=bFH|}_>C|-_XanSo596%%kcXvJGh^@ zQ``;iIeu%U1|P_G=Og)9{7U{i{w)8D_ZHd+BZUuz-NJRDf~t#ZhH9tkp{l8RiaJeg z)b!JA(&)4i+Wp!Fx+Gm`{fGL}hLwiKV!AlqSjBY8wA?(((oU-D;Zx$3k_|n(m6}<4 zUm34*Gt2W{iz-?x^FC)^Iac*r^@_Ek>RhTj)=%H?%f|him1}u1Fx9rPbxOMf9fU6H zy7mnz`TEgr%X_@ht7RW^zsvp81}53x9UK)tD5CrDkdd#C>OVR%YS!3wF~=sDCU<@F z)2V+>AMp0!nZ0LSob%@UmFEAFFmqvtkIOCn^V7@~$5x(PZC`W!i%IMBUoPL!WK%|R z^j9Uf?ARK&uhJ&{&}y%=@BB~S{Jh{m^r7zQfxp!{Qtp`Lxc;Q> zw0PEX&NH)ome2WG7aCp+y43M~lJnRs>fwWZfL-q>^Vr*em=doD*&ePXvRioT|2}fvTmdt*Wc4w`#CzlxhO@ z-Op8hq)JkKsoJLcUUg7)Ty;TpOZ8Z#R!eFxbq#d`b&$G)y1ROidZc>1I#&IjdXajC zdYyWUdbj!~^CTnJD=4+N}KG&pZ zc4_u&j%iM7&TFn{Zfovqay7hGua&fAv=y~gwRN-&w9U0PZF}u&+Me10+HmbC?Ktfe z?c3Tp+Ia0^?F#K0?MCfZ?Jn&e?JwHH+LPMz+N;`Z?L+Nztwv|kdFs4$Rdls={<>y5 ztFE1{v#y)2uP#hCOgCB=qkB^qr<3-1tq&uWLqC25G zr@N%Prpwmd*FDkY>C}2rFX>C^E9kxT)%3OX_4SSPE%a7>8+`|TSA92qZ~XxMVEr)t z8~P~yc>NUpbp1^IZ2dg_0{zGOPxOiU)%tb%jrz^{Z}dC$Y5KkTpY^}$59^QX&*-!C zm-W~5xAk}R5B0fv&Y(8v4Q4|LLuo?=LuEr1Lk)wk!Ozgh(995E2sX4ebTD)=gc^Dn z`WOZn!VE(VBMgy-Xv28JWW!WLoZ%hAY{UD8c*8=&V#B9~M8ju>HHP(uO@_^euMIm4 zyA9tP_8RsZ4jM8HM-0aerwy5g3x+=o*A2G}cMSIpj|@)@c?OlJ6-Ch^mJmye<;04j zw^&82A=Vb_iT+|^v6SxqBgIHDT8t4Vic`dC zVw^ZroF&c`KM)hdh2qEJC*pE3Nn9moAB#`LJW()ejC!NdC>cu{OB>4>y^NKOuNbQtYZ~hq z>lyuxjf_o=EsTLio3XXAow2>Kld-EY)Y#qF%h=aAz&OY_*f`WU-1vqu(imkNXPjW1 zY<$x=%@}8#VSLv($2iycfic1Oq46W*V&f;qWyVC~XU5gWFO2Jq8;qNbUm3R;w;8t^ zzcubQrW$`R?lt~o{MmTG_^UC)c-VN%c-(l(c*c0nc;0x?c-eT>c-?r@m~Fgcyk~r1 zd}MrLd}hou@+Or@YtoxUli4JhN|;KS%9zTTDwrynyiKo|s+ww;YMJVo>YDsa4NQ$p zO-#*AElq(Yt0~yj#?;Q#-qg|5+0@k(YU*a{Vd`b-W9nxbXtJ9Io5D>Irs1ZMrctIb zrfAbR(|FTF(`3_|rm3dsrngNqP4Aj!o8B|MZ~DL#Z(3klX!^*s*tFF2scD5N$@H0N zwP}rMt!ce!gK3i~#kAS9)wIpD-Sn+#m+3oGn&}7AUei9)e$y|egQj0i8K%RgBc@}f z&ynT z5x;RLnM;^G&85v{&E?Hr=8ERZW*>7Eb2W1fb1icnv#+_H+0Wd-+{oO-+|=CM+|nFq zwwi;@t;}uA?ab}X9nGE1UCghUL(SdHJNX5A2Mf{51Wsg ze>a~npE92@pEI8~Uo>AfUol@Z-!R`Y=a}!B@0%Z(ADN$+pPHYWd5g-TvFI!Yi_v1X zNR|>7PfKY_IZFjgMN4IikEM#Gnx%%NmZgrRuBE=k-_p?1*wWO}+|tq#WU*OVS=w0I zS=w7VS~^?0T0$(ZTe@3%T6$ahTKZcCTI`m=mT*giWw>ReWt3&KCCW0^5@VTQnQVE} zGSxEO5@(rVdB-x#GRHF4GS4#Kl3@AJvdHqWWr^hz%QDLfOOoX?%WBIS%Ua8N%LdCP zONwQ)WvgYIcCzhv{XO=t*FR3Jrq>~JiQ8G)CR6;5#m6FOx z<)jKyMX9pnBfTP3m8wfMrP`9OR8R7g{H2CcW2vdsTxux=N>(XYY9+Oi+DYxDj#6i- zs}v%IO5LO$QZK2G)K3~94U+8AU@2URkcLYmrBTvoX^a#tjgw-e3DP8Kiu9H=O^TJ? zmS#%tNVB9l(tFbT(g#w!v_M)YeIzZGmP(&U%cK=jlC)Amq{Grt>38XbbV@ocos}}BEa`%D zN%{lROxL6v(ku~6R(877{iKHO2%cOfy%Asc&TBiPhe;qyu9VOUZ_XC(6~CUa`<11 z{&Q93|31N7xelDE9A^sV^rbj`Q%-B*w8(=DVN4jwe;8Ba51AMCR|=lw6e|BsAVdi- zn8Q5J)%k}|mQzAG*v^H8Yr;w)OlTnJgiHKhegnURpUKDY5qy8X8~+;LK@MH`*ZBeb zP(F&E&d0;9`kv3^RYE;sps-X(7Y+)Ggx*38;VFL#_SR}VF_j<158`|AUHMn}HhgP@ zc6=A)H;^B}PvqzDEBJ5t-}%SXjt}R1UNw~}Z#%}_C)A%>|et6Qx zHwI7E;H&UH{44lhi?0tn+QC*G%1`3w^IyV3y~URkx_|~#K!wu6RkXue{sT}d92m64 z)Ajh8c-sq>E`}R8s|7rQkoN#S8q{2g_PETO1S=>pN@#|bynuGVHym(x0B9J58q~&H z<@r*)Cts2;%~t>>zUU$C&_*NqSk&Viw4F+5B8--KfftVR+t3bis6$`a)r3J+lw69J zU~ijv3(hL?)qzDYABuWRfxVp!O62mjz!N=%T0$;=7%jPwe+!({9X!w&7k&lcR313hh27p6d=Z2CuIGP+mHrCe4}q0_mp=qms+%^gnOX7dPSb@0eRq*3Aw8R>Iu1v=cpn@;zP#WcG@jeALaG~)>Rhbgq_~D?~ za?t)V?;!-BJ<1@5J^U)PQIvy@b%1dx&_Kg0(+6tgWd>GN!J$E@X9W1>6MiRu9%Gdz z$e}cH_yJhG1Fr9b_G*gyRzkf+lud^KEHuEV4C+=NIfS4!rtyo>o@aR-I6DA2`~f~s zLfu9qhqmYqHPLn@kpn)=j=&elArO6ra#(`)KZU;0z>&lEPB=7?amdesbL3DKTtzs% z2ELt&9KJ?hQVV{lg(rBL=tGWDG^xjT#Yx;mA&1gfVEi|A> zN$^8;$cxs}Fz~{NnD~h#L<}U|8uW{7 zz5=Ka2A)s}C(*jg__x6keIefi@N7+BT~3w`Bp;|})k-mS2Gqu^96Y0N1qv zSNJ238px#@c+?lv4FH9@p$_9gg;n6eKX@bX9|es?(w+w;c0p3kg_Mavdv!#4&4EWf zyz7fOg@)jg*2uXZq~tV6vkhqfY`%=pNf<9{oB+WCy=xyN*8x|vJ+%WINIS|)L|Q_@EH1{yD$S8M(YJ4SW&Bv zsKFrQJ`H@c7QAp??w3QLu?_?Jqlc-4bGW_^QuuAO$WXNE>nOE7>fR3jyW;%;(7Y3X z!KY}4U!iYG3&CiIb(rf|CqxN>=%F{knO{RQ&qLoGgFO19RbEHihT!eqD1SI|jzc{^ zN6Vj-bzTVCVGrg?b_>%%k#gYe-*N8?8H@4I9D`A6Z{*Sw_zXghWB510F`s~!_VE`W z8R`jrf&W3_J7K2qnotpRI4WZ>7d$Z%?{;>bL{o?r(*&4Ue4MRnCkN6a5xx0L2$c7ohTS9wK@fQEH%ujEDf_+e$ z4L!U*`e!xtuPXRoN6w=y@*aW~ork`?hrhy?gvOd6M4~oE;i6oJxuDb#JVo|{A9_O- z^eQie%IF=nkw*~n?hgqt6Kzg1P78fA0=>dt;Dl5B4sgm0xnFe#<;Z@Z-dzr|r8H!w z7xJi!p3)Zd90tDp2<>qcGpu#-es^g9C$fzC2%Iz=)FS(#J}|EYEmZ=xg9ZP~AXO7s zSV7~#s0Z0W2ci9aK*cUXW#JB5ay_n204ltZ0nQiznf@O7 z_dalTdGJyz(D5cxq`OJ`lMU1Wa-kydH{)%R)q01lCi|f+_%u?cL@IQ53A96?APJX2 z$Cct)df?8k;JGP~h+m;6=D`;87c`IzJ7r65Bzj^iv}8@RUI}0h*C;u_Z4Fwd6ePAU zdPyfxYof!Nd&*ZwA5{ydQKu!4vcplwR;X(=S?3v0c76_`BZuao)FAYZ`H+>rLDKoi zIh=wXUIOYUIW&-SAUjNO*wWE`pk2j?8} zYoX*odT%~B=vV#$UkN#=L5FYAItmVLK!+L*Ixrk~v?@`OY|<8>gJP3@i5v(AKSA$k zi#SMz9xvL$6L>R93bGADR!}`qvMX!4_BnJ{yJBYzKa*g&Gq_ zYN;`C;M2M2F;ITr{CLF2UJ&=n-3 zsCSZ#YUq$rWzmLZ&`&EN$GV_#8_17vxh2+N#CRK4P%Fs#W{%ca2};C(&Lk(B%W}2~ zO0I~vz41QD$w1J#H`;tE==c@d@=x$|S0M&#Nu`AAu&dU>IwEb+7d&H?Wp!=vcU6Sy zc;6qnwt+?;gfYZB(EmioJl&LjZ6K(VX+H^GN*$Z!U1SV||+Tkn&^cjkFoPkzf2V3PLBwT&qzgWnC z?zGE2^b)9<0xV`h0*wMSdV?Mz=trILzdPO^f}Gz(Jy$?NlJ@rmKaWEl&SM5+6ncjQ zng1)eA_-VbM_D64^*-RQZm4|^yl)46Vt~Pipw>?C&tpgivL7}J-@}sW49>m}Ew&A< zG#9iS0lw>ovfH8l!O%djq7_0xg`vpfU9{L&C=2_bgm$ogwg@S(Kx{H44}iiS%aj}f zDs%x2tgr$pkS*5U$Y&*+PgG*1`fACNzYc%0dgTk}Z%CD9zOZ36L$2 zo}ln}j4H_jImvU-6@#&cH3vPTDy%T7gEEJbZ-LYYH`PWU3#29R=mL6>MfnlzrC(uz zR1!i_4`zY<0&Tni96u6m&AdX^o1t0pXvqu?dQ0wLW?7D#pU>N1dy z(hCcuI(iyeAc~~^61LbqNa~*8Xm3~`2cg5@`T4>EsRP}hNI3(fq+)?6+M**`DhhnN z3N1<&NC;?A9^CjNtYK#hq`Jcbp&1Cp0`bI^TIi+iK_6WWa|5W;|@J&pXCzNm&42}XMi1K%$N<<9aVBwTaoi;KuF5fqL@Pk0sdQbx_B zaRgc8(CmR3RH4}eEBHGc{dY0?5RKe@!H+sdi%|}~Xlb%x$fDeU5e-=&ezFa-UA91m$uWY zP;e+{f&9upl(j!uK`e(JPB`S-Fl0X%!JFQoG1;VKKaf>R76{o78p!GGXdSYns1}WY zgJOxfS|C&lq64#n2nTOalI#a&4faGIrnaaAe$KZ*_yQJ47n!f)WlJmA)A(FQT)IUA?Ux8APG`r>%OLJfhbn-Ebx0j)UpNIOqo?9o>U`f zfe+21kOdM9$*Wi(n_-diut4w&NzgWAfy{-jp;?q5lth%E`3r+=fr!9Bu|S%jmOVhP z>1exc{253HKUg3YF%R<#q^B}N8tSk>Xm*kEFaac35X=JU0M1uz``xnUYzVzo4N~$q zhkO|J!UCxVEJ!|(4Z~s|MTO%)5IB3g!7ARWyU<4SL5neH&zTv3BThMrl1(FRb z$|l$0qOb<@Vl>Zr3zo??wCQ}=0vV1T*bn^G18>tTNEljaJmzQ?KxgiPgnR_a&_#$9 zz802a?A{Fh^D^4=OGv-B!EuA}4q0NYK!HF2ejxy9(*3j!vk2|JA9j=poD?anhc!4v zr~}P;7CoHo2h!gC(Er-wy#R0pt%n8RyaTTFgQl1WOKKIKJ&Tb+eZ0E}bbJkSoDWfh zEuaC-UJv?FnZAL3?c+YYFY9ay}L=eD3Hk$j>Vttj+wNgiRW15Zu^27N)h zVDLf%@KP<<05xUnp$V>agmp9w_S}3}(EBmxE{YAbMyLwog;dqorU#A>o-UmpFF z<`-+AMlC^|Ua<70%cJh2;Hm0Zzvv7qWP?XH$~F+m2W57$CQ2^{X;~7QhDI1Z=x0$$I%>5BG*(6zG=o8svOL}=`$LgYG}r8hwk26l>lZYGaTPtI zBWhxjb@ykmHKTBs|U5-{F z?N9T(bs-hXL%PulM*bQK$?8VvV`NFif@)+xsKHg$!A&Q?%^!n4M1@yDbFzWT0Dm1M zJ!x*5^Oocp3>vG2fD$y`+zjiQtkSB&Gql7O*$$(1AZ4sbGZ@SQA>B`NAZ6rHGtF3& z{jdO|k;7<>su(LimPbe*f>UTFC>T_rk-J9$`++oXDPX4PO}nglY3%f3)ZO;OqmC_oZPAJ_HWQuqJ6Wi)N$hJI3ugl&;L8DDz2#Lv8f2 z_TbxS^nf+sBFceqpd1t&CmTO@} z4pmVL33Mo!gJQ!l9Nw36$VLtdB{xGlO_AHeh8{#Z(|I;YS;r}Zwoq0uXzWgNls{vP zQC8*$8t*QKY#0U^!uUa1QzI;>4#ZKk20}AhWDQP$G^4h7fVLo>q_s(!j~W4nSUPC19n}`lK?yI0ctJ9ulA=Xi!d0_jZkQu_Lkf`sehA%@PXw)_D5;FPjeu3pn(-h83PHk8aB*j-i$i*1TATmR*{o5 zpG1c&;3qm8c2FSTR>OeCP322G^Sa&arc>_Cgp?S64(7LnHN<;BX2hgGs z=t-l!S5P{w!_-5rt-$pIA)#W?_FLqZs02An`l5tGUwjBD6A5Y(EojZ1W0;YS0HXAPhbM52vGFmWP~; z5|RKxkoY&y9yFIj^A|LG&>eWtN=_>TT8DWJx@Iu?B#r%7gKFfHTvgVaTjhFqLsFea z-PWLo#X(0QX6Y_c;HM3*XJ_#kz{KI~^De;(%{A@*bi<$5Vs$Q+YiL;2cpacx&1)g zejsi?5Vs$Q+YiL;2jcbvNyChu+YiL;2jcbvar=R|{XpD)AZ|Ypw;u?3qPqP++w{KEx>&T3AQw&VL*+wuKRqPIn+ zu5wPNY7yT^=fY>je(bn`$on6TC){dy3b8=m_MPAfRRz9j`GLM8ai9CcDIDg$Ls*aR z>`mt0;-=wyJ2UXry?NXsE{R)zGSlEyB4lbGd9CttD=HS^lyz>^`os2ti zT&vFi9a!iLaa#jRmhvf8z82_K(aWoR`LZ}X>2OMyqT?m$(sVf8FGI)Qq`~OrsEo3X z`;?XsIbESbd3MNYFRu#hK$;FOcF5^UmE?=`&)d6FrAn16EE?o&!$ z?ElB;n;&y?~hl(c3@gmdIfq_cd}*YQ+Ap!52E$aG%KG1MVAcqoXeD+g%0k zZ~x2vg86U5eU`HluLj1eQEv+GLn3|2O)n5uauhz2!yGOJQfq2~upAUw4ysXj7jJ)# zHgFECX7eER-p1X}xCsTqLXN^5IZWjek=NJ)f!>=Zf0b+oHwic{0S`EbcTwuQ+?#TU z=H>&7VFiLhYo$%!z?1JecunEBFb6J5j^Svzx4C`=LKH_q$#W1en+zUy4#PPL3YYiB zSriviAQa^Pfyk*K|M%u7C>-C3>&^}2+7t+{aTGepp*7y^!37owuW}Sx$sqv$JK_tk z&cVu2Xeoy#_|mTx-}`kAEjS8IamCjzXqO z_?BZKouhEcC8TmJ9OWona|u6kES%;j+;Is?sr3JX93FE8!*3i5S2+rKF5!2Mh1(nj zEqvCUgHkH}zb6MHJkp)RS&oGV90dvf=FTCDV?n{IBz)1GgMu~v&y_L)Jk9 zIfoez**e3a<5qA5L%uG153=(;ho(^U1^wTT@E!EVR#>@7&~r1mp#}6e=_%5bV-SWG z5|r<*H>^jWhNmMCN3&**tBCUJSNNGytH1xR=&!&3zaDtMEKto}7L-=|`~OO-|NZ}C z+{;6L|0(?J2ENe#vY<$%zyI$l4_(vFvaqmo`bNpif(Lfrye!cE;FpD$y-W9$@3j5> zfBHV+%R&KRP)MSnHu-BRhkJQ&9t{?Do-f}DKVx#>@8W&j%fl}2PxKW)3d;Rgu#Yo8{Plhfd_6WlgkyIheFKn!^1eTIIpv4G*bP_3 z5tRE)uoEpm&^PM}-fxLL`}u)(QxT0QY{E|R8ra3{9O$cg1@E`Te!KiY^kesFC%WtV z0oXNG@P2;TbVfU|+5I1|pRcVG?oJo*3aXY23*15kBK0hL4OHA2H5n*x-?o5kp_WY^rhu{jVMzH*usrdSrA2 z(5V{~Y#8n+v18XhO&T<@cW?Jv_mFP( z=3VWL{9g_2Ztv3ZwRWw#*}I0cZ6{~Xg^!Mku@6V#gC`BKJE})_UR)nJX8ib(qa*C2 z2Ty)+eQ<<*Sj?oMWk%PlW*&`z+MnuY)6~I@%A8rqi96UN2hzyG=SYGtV z$q|vrd3;1THSvpjqE1fL&%YisCWZ(ebActwL2szsRUb_F>}&kB%5OczlF>OMZ^E&4lQobY0;-rQ|~H=hI>M z;E|}6@|FWp`T4!;8aPxqh2i!d1<^eYkxOu?M18yF0^MIQN+&tjs0XGl0dBDvB zZXR&+fSU*0JmBU5HxIaZz|8}09&q!3n+M!H;N}5054d^2%>!;8aPxqh2i!d1<^eYk zxOu?M18yF0^MIQN+&tjs0XGl0dBDvBZXR&+fSU*0JmBVm{|+9=|D8L%UKHtT*7(G= zR-;x4JZCZ$Ov|5km473T&gAdC%9osf;pm^vmETKJe&@*fyWDXveyM5+I`*gVe ztcA-b$p4aLzn#Zov&-T7g42h7EYDz^IKzwUT=2_-3nQ@i{w_vt9%#oGM~eF8fgVg#y*#|g3@33q`W`bu zp5%P}W#=!?J&k=r{~z(7vRkY3c<1OYk&`T`;VV*%3v^8iZ#s{tv1U4Z?7qkt^HO~6BdO5ivXpbX#@ zKwUr+fECaY&=W8aFbog{m<)&m%mFL_d;(YrSO@qDumg|^_z`dra0GAya1L-8a1(F` z@Br`>paLaz029CiPzq21-~*@zs0Hu^_yHOMngUt?f&i@m?Evio9RXbcp@8myUVuJ; zet?01Fu)MNP(TD=IN%My7(f(YEFcCj0Wb;hCg3f=G(ariZNLn`JAiiqvjKAea{=!I zJ^;)IBmfow76KLlJ_alXECqZ5SO!=QSOG``tOR@pSOr)OSOfS1uokcmupaOwU?X4? zAQ_MX_zJKYum!Lc@HJo?;2Q^QN4x{@Enp{L7hpHwJ3uPndk6f0cn@GN;77ndz)yhv z4)_@{!7mOtfcPNbkOO{2oDRrvz;B2T1CBW0C}M(RfZqYf9dH6M!AS?4LVOx<#sOy$ z6P$BECSrmt2b@QI0dUa)mk<+NcEBHq39dNcDq@0bfa`#p4!DJw;I;#@5$6EzIN&Z~ zf_o0QkN8i(1HePTBL_T2`~;BefTxI`0iFZ$032k%KLO!KZTOA@s1LXT^#y{u{{gUP zDX!xLwQp8|V_<-_u)vZ!prhw!Qgs1NW1GypULGzK&U zGzSC#f&ex^Yd||d2S8`QYk+Qmo`Al9fq=n)VSqOPQGgi0WWY4Q48Ux_Jivzl>X*v_ zp8?haHUYK(sNbXlegqr<5Kj}|o&^xU5f2fc5HC=hQ@d&bCO}C*IY1>qRX}Y(eLy2X z3xE~S2G9Y}70?aP8_*vR1{ew$0f+=d17ZM^0B-`O0pb8N0kZ(_0p1792P6PK1S|r4 z3|IpA1h5RS0+0w;3HS`K8t^$_4PY%`9bi4+OTY%eM!+UOG9bkPUm@P?fGvo(I^b)> z1lt_&4Pt`r4%mU1;9CdmL`<;D0lN`@=YUki1ZjZp0Y5lk58}Om9|8LSKLPdweg^#F zfCGpR0uBLw1*8Kq9Pk_B!+;}zqYgNR_;CB2b@QI z!2uT$Ujkfqz#oXOIN&PcYk=zxxPkbl18yO{4ajyt4&plwxQqB6;JyR?MEn5Iyk(#@ zxOLlh?K^bp-1W7P*SmG^*{gS-zWoOd3L6q0F>J)hHzG%miHaT@Gk(IvNs}f|dGoEQ z)22<2jf;DG#>|=TygO_5oH_5!egA{`@d*n)T=>z)ib;q?M~yulZu#`VAYCQ?6b*f9~{&-;ZP*`epx*KcwyccKg>`QZ{|LZq2HdE0!%? zyy(OD58j_M>zx^K(@@lenCLN)Z;XftA8a4cuTQV;uZMK)+_8PTHm!oKL4g4+TQqOh ztZCDxO`0@r+_+IA{H9TZ1`YiE{r&v>>esK2pL4HUx2~_RZyg-9amYW}==euzT=w*?)oKe4Zq>R?o3`ygGQ6-@b-*%-km)M4Hch&W|GN}nDiN_Fra_m zKD~SO?9sj3>!Bg9b?wr*bEl3SaCGd{1?&(Ce(2E?9MQWEj=u6iXT9m@)eF~gqi?_d z0|pMVQ^65b@+dSy^jNe33MYmkb^*7@%mQASCo{{!MKZH|B6CZU!Y<&Kbzm5oV-%M8 zdfPYKcPLy#Z1V%L&Ay-Z@BjIi0|yWNnx2vI+uH(Gr~h?FFvp{(ava4)0jw+* zJD16>vDo?E|JFIno5e57mp#Mcmp%KR-eY;O_&>mJ;0lmGdx&a)aARDR~R0y*Z%FaGfu257CYZ7j&p_wi;DvX=Q0@{ zEOx$EoaYQ57BgImEA3h?!>6cYh6js_x_sC27#=Kky&(hxvGcv+ zIA?gUxHxcdE|cNGV&{9sanA5yadF^KSeXnT7PDuHEA3h?!>6cYh6js_x_sC23d6(o z+P|H4#)*~1V&{9sanA5yadF__TqeVV#m@JN2od*{=0><5Q3V zZu%6Yhil4BA6JSLO#iphryzFjl$!!>3b-jyycBSik^gqOu-dXRShfL7V|cLG^?p&O86GSy>hfL7V|cLG^?p&O86GSy>hfL7D+~|UYyWoI87Ed2 zi=FQk=Q+cN#SE9?O1qZJ@G0t;;lbjfF5k60h6jsX?-zBN;lbjfF5k60h6jsX?-zBt zFg#qZ{o85hINt?@Nm8M zZ>OE>%*tZ1^S$CYXLzu zG8sNBX3rFNn&DAgv1|Q{3lCPV8y`lA!ecjm3a1OZ>ZT8)#6QFabBWUBE4@;^PW^^W zTUy(+?;O&-cYk~Mus6nxn=oZ++{{_;eUPy5w-Mn$_>Xkn(U%YTW^W53fr%oI{b`&4F{q@j+pZD+k zanJW@-|gDD1K&{IoU#cYQ2yfcRVx#hf4X$>M++Ck&zt+=Q^w=RMUNRZa`@08VFUa3 z?bQQcGVau&U7KKQK#Qi08~D|&Q?q&%?@ATQl`iRFHtIF>QF44IH%<@#YvrKt=F$-a)5jxbyPmH)o8s-m9b^gfk2_5W?q zb9&B$E5~_rH93E-IoFEo%=P5#+#B3PZUz_6EyM4G?BIUpPH{K5=lD&K8hjw%osZ;a z@hkc7__O>o-dkuRj1)c;b_>^q3aT!u8LFMChpMLPDe5$}QPWSeNu$$7X!mOy=#q4$ z^&jd>8&(<`i|OKcV-?dW({l4DOFOBqhfj%DN;dTDR%&MHePz7L%`DG*Evjg(%=?^u z)JP@!}s;jEEYOrdQYJw_GHCOeKDoORFYMbhN)j`#9 z)dkfp)nk=fEvdcKHPj8%LFx|b?&?A6k?Qg4SoM4AMd}smb?PnZ-Rhszht+4)f2ecR zPtZ)@jh_>zi1C@PioI=uWGZk54F#=8l6e!sq@lR(bd-Z>ze7Tx^}wGx^B9@x-i`^-Dq8m z?oC~sZkBGIZlP|eE>X8yw_cZ`+os#4`$6}U?vU& zq%Wnfp!e2S)7RG5*EiC)&|CFw^d0nF_1*Nn^#k;S^~3aU=%e)G^;7iI^)vOe_4D)# z^dIX#(I@Ix>(}Ww>No4Z(eKo!>G$e?*8i$MtUs#Yiz)j1eb_Q^aXvoH$dQCC(K;5EI0O;>Y4A z;&L%bTqS-Xt`|3oDdHCK8}VClx0ojG5%-C|h=;@s@rd}lcv3toW{DTYKg4U|O)*Ej zCq57#i%-QoQ7~$ZdZW=O8A}>V8_OBJjFpYA7^@j;8tWMA8UH`_-UKj;qHENy?u2!g z9taR5Vg>=D1WX|8$xIK1Jzyd`A|&i0OCkY55gBno5hV(WI}s335h9|ZqKu$`iVy*1 z6$S+b0TTg{?IriAo@o>2YnPZI(6#QsnZM7iIyZwOG_I|ibc2F zWa(h(Wa(<@ZppCpwDhs`x7=nKWEpH3W*KR@!!pK_Z5eNwXqjxe$1>I8wM@4>WO>9g z)AG0_&+?SzY0Esz^OhGa^DPT3i!85MUbif@EVI0AdB^geWtHVa%g2^AmbI48EE_Ce zSiZ7swiH^nTE4aHu5E_WI1g4#d6G2Wckf<(sJ5z#&XW`FH4Cpbgo))%ZVTl1|8tc$FRtxK$LSeIIt zSqrQytShbWSyx#fxFU2B@Hnk~v! z(-v*J$`)h0+IEf2X}i|ez;>POdRrq~yse2X!PeB4WNTq-X=`n3YfG`YZ5~@YTdJ*t zt&^>bEzQ==cC#(R*2C7z*4x(C*55Y3Hqe%7%d!oz4YQ4~-EO{r{bu{-V8+8fxfvtMs-WN&Q0(Vl2;W^Zn9X>VTK`%L>R`xEv&`&0J0_Gj$R+Ml<-Xn)zBZ(m?vWM6DwVt>QF)V|DKU|(Th zX@AfDzWoFHNA{2HYwVxe*V#X}Z?J!1|H}TgeT)4Y`!+k1tbLb#kA1IwpWSc&!G6&G zll`#$7yB{$ul8d53HvGgY5N)bIr|0szw9M;MT^iXXqB`onnkl|npRD#uGP?LX|=UF z+SS@Mnp3N%)z=zoaoP=9yw*fZ&=R#~T63+X)>><;rD$%=qqWmgwGLV*t&5hXb=T6h z46TROOY5Wc({9yn(*|jo+F)&{He4I2jnYPIW3_Qwjy7J))h23_w7az_+Ei_tcE9$3 z_MrB#_K5bV_L%m#Hd}jAo1;Cg&C{OKp4VQ~Ue@xpSG0xNtJ-31iS~xJR9mJMXe+dp z+I!mj+6UT4+G_0+&8Mx^KGQzeHfUdHUuv7Q&03+hRokw8r|r~sYkRcswf&l3`$0RX z{iGe%j%Y`<VRSP3jGmB8Xr0!vpVu>6+@IS`l1;PSGIj6)g(4{Da-Ov&)p5P`HwhNDS_w^2vI z-|OXHQNN?8-B~z2!pgteqH;@7xrV6NKvc960vrD-@?s=j&}jUlGjmtT&kuc%pSQ?-(MQ29(*sywSapyVpUl>tf*%537QPnG>jgxW+Ms6MA|Q8%e`)xPR=>IG#t@zx^txK|mi3{v_i-Ib0? zs&W%c2c;Y34ODJd?ou96URK^$zEjRB_0*o~Ow~t3?p52Xwbde}P0WFkfN}|$KNuneVa`d7l6P3p}FYqb*l!|JSIzoL>ore~hs27!8$|~hWBFJ1~ z$sWj`!f{QMM#}XpjVPrRa&$vGqZP06yt0z$@`7?L?VrKYQ?09>P`*)?A>UNx4&_$% z)RpGgM&)J@`Umx5$bWJw%QFH+>I7$s)y-^CCcMyYA6!4 zXYVFT97o3x>2kWk+V#lcqU_t09JKig{c%XKs%|tfT5Uy7{y;y>rwuvm(Vab$lp8qe zDy4=JrBqjHDs_+~o)OZ4J{qM=qaE+lcM)m}b*y0vin>F2kACpdhW^CWQiA%_Ttm@_ zx2=kuwX2neNa0a3Xvf{e+so0!dF6U+qPKdzdS2N|PtH-MU`ai(f#ygMt3)df#iCSZ zsY*##AyZ@G_B8Awm-fD)Y$i&t$MNYz=_i!0vBo@lDvLVY)YT9PqNu%+Qh}u+Yf(yF zbkPzC`_tA(vAqq-F(roMJF7A3aWwn7GK;bYG5V9y`?X4KB&f{M5lSR~t0>hdGY;ue zv9{4@EMHm6xq`H+j@aW7dSbCM)6ipQv=C1lYEo}Sj+aX$vdHs~`i3TYC?nC>OX&WP z;!u<6k6M(lPFYAFWe4@x2#IT;g9=LE@if}OEopCE+Fg~pGZ}_Wgh+cy;2FwPNsyPu=9M{HkK0F zGaBOPyXus{yE9poOG-##%*Ya+rT=#`Hkt-Y__T}+Eesh-OAx^lqOmF|!_C<3y_E1S zV<}QipcPTrwA8~xMk_iZ!wrA7LdqaZF!hjN=%K6(vIMDz&nV$hN{|-Wim@pBLTb`1 zp)!3d`yvr*>0xN{IrOjxJv7B0YO6<;^^B{T%AJhfu10S@)hJD`UG@*@Q(su1vt9y5SiTsjUt+R2Au^O;(~OYS6M9XkmL}Y)!|P ze5@Q)?C9|pwVrwg5BC;UJsBNk;2WA5y%EJ|sLIh*X-_q*p&sL+E#9s_t$m2`y;eDb zO}ZHwO&D3*loiTc`e-CFN{eX3{#PNn%~+}-K@4Za(w?M;$i>qwW?U30be2rIy-NonXv3$*P0VwI0v)B>AK9V;Qu>%~37zxy|_777y7K-!hbbc!)N< zhZfE&K`k@s%qX^^c$S`{K7HaK8+dJ^LJICL~%sUYYUZ5W~GvCxyJ@mutTuNhKIVCEQ1t$it_H}VXk#Bs_!Sj_X-(t70wJVO(;Kk{!`GcxDssvA z;XdVQrGQ!PgmMkOVY)g+?SvMOD_ z?RCn}N_A$eiRu_yV^M!J+AtGM4Ph@CKO`_3u4Pokuw29FxPdZUlsy0s@Bn=-eOyK6 zo7))`iM;20xAFm>j(gX=qNy4{~(Z#<$eOXU0%QV@67Q^f>~%e475)&K1_i9N&}K z|D55Yp2m_!qAeLe+=%3LnWd@`JJ|VKi>)}MaHHeFv_r;0o0$EbXtA4mjrtos`3B!k zLf5yTbva`=slOUNt}64k^-n+92Fth&pZ+N0dp(wY6}Hq4Jsx9A&fRkMmoZRN{KD19 zZ{uj`t1Ab6wTvIyW2a*bO{`(=u0}tksG52RJ-))28H=8}(1s@H;40>rsvI4`oDoS$ z4m@51+R+Yc9Z8SAfadlaKBkpw4aQ;9>Fd5&usLVhjQAlid&^lb8g1T)Cgj{b1y8vW ztE!+j##2|p9zQZX^&RL@Mp4pF2jT~Lyqq^9X-7?FfF@XHcWmx%JmTAo#1dk$M708* z;UgoG8^uU$M^DDld)1IUGB|H4tXU{C7LS*V*BC_H8HnaCC=D5-k?J1W^ekR>ByDU* zTN@a2UKQ#N%)GLMs=*Rkqp3lRjwkSy-{9$-MhUx_ho40|ffAY;CCE5T4VEBvDP_0@ z>y{-943@Bk60T8iWL$o4lrR-9*29pYAu^OLp|ll&66C!11QxVeIjz*Cgh=%8A-xlj zAr(Db7u16(gF>%LP0EqxLQ~Ic8K_3-OAJ$@=)}_S8=r|SsG1TaZ z*EwVSl_;nkzP?qkH(o&#x#(H?$<~ISy_TA<=IB_Cmwqw@J@=*0??sPq)0e+v)7{lv z?j_Ywe<7|~LUbf&i~iV*+wj#lVBhsw8ghIhrKU2Y58@o+LFRv{#}Xx8?ZcecLv^aB zC~*bjb2|B1j4wG~wB)G9jD&dp%JWT~lKT*!Ov2m0O8@_0=y9m}q&gH$DC%Bj-9_Zx zjT8gu5jkhIrdOJ=G-u6CskdN_W0}97X7>FGFIfZmvzhzvR9(!QN9fVz%$pAw(L-M> zuM@Qf=1mvltrMjVpsyz4PvyD$x5_zUm|JMWDv#q~5{D_CU5&7q-h0L9q#t1!#HVcsAVLZ@iw9yxRq%)4v_}i1?hfwl8 zwDV;=q@4Yuu;=l#;Q&`KMibR(`25XSMLts8M_sq0^?uk_4_e=g<1^7uE)qP2wm!ms z&f*zl{IEj(lt?BG%Ra>{_8z@76J6ep-SwdE4z%CH4AhZc$UqCjDB~e|>}~2QCXVVr z^z)8dKm?*2n*0h4KVxWe2wLcd4%|e6a*?rIS0ow8Tq9$-H)!u6`m&9hqb?x=8KE}A zPxH&JGF&IAjw7q(i;s=;H*+cAiEU7Trrq?SdTC=>Jx>@HUzGrltv&oVof)& z$Oxn@a&$u!m(0dbV)3KsgRWRY3y!-UtG*VimJvu(Ms|C& zBgd6IyZD@uS&ax}oO*}amU&NlsfB29f-$mE**k&JEJs!#0=d>0S#HX{jXr&l8SW#_ zS1YK^xj#FEc~3?ls~Fu6kb9dkx&sl2^bj?T@hu~ecx<~p`W#`5O?iHCo{^Qw*oq?p z*^Vs*A`m(E$_S((qq-K}QTsCjX~;;E5lFyOzey~15>MS5i;g7%*~A<++qeo7h(H=K zHw3&~6})610tw6(UFfN7>~4FcFgjDPrl0Y73n+ISTIfo@$p}PBAicdj^Ec;<2K0!B{uqJXKZoYNSE}OS zS~Fk#NO|+o@EAryNAwjqYnC&PYRowD>VXZd$g2l#?0YEVcOGL%p1H?kkCmA9RvQtB zjA7a%>Geh%+MQ!$OvSaab>Lm=X({@J(TdgF?aXC{+rR0@~pc`Fn*A7$XHC45Km9b7)C~v zOF5&F5lDg&!>lqQkP$`*Z3hI!=(|(X5|lK_LotRSwgQeGL*(JGJddNo3ZFv z#-uWSkWsCSKxF(-0YANp-jQ*XY()|>1R}A}2t>9*>cNbHqztiWQpOKvG}xOlEc>D^ z_FNi)D3?Sa-3+^)ZA4<{(L-~!D(CHi2xJVsDI*YhRj%eG5r~Xw>-`;I|)xv zU_|$E_*h#oDt;Jyzm-kMj)NB{6K8~u`zQtW8P|jm;5H^A4dEcfiyr0=^tbaVn!hH45b@Ak;5ol zz`P|RkhaD-x4d>B{cNa@l4nV^SnA;I8lW8+fk;nzml2PC$@PP1W{Qz`eJj1OhB;IE z$sz0`&(xaIr-2CMYI??uK)TRdcNku-0GpN(NLO_db5{*~%tkaJuXoEUweoDS6(jiu zG#ZFN8lhcz#+gAI?hHmCyNn2=H*;Pu{M>0GkavuB+{xJOMYJQMm_&Syj6j+g5lG+~ z#&Dw1$B95b<$6|C&K8FoGk4&uc};N68jYvQz_Q%~**ify^NS`5arQ!1od-UlOMg%gF z5qK;1)r+I$Rgf%tX#&@1o@CBkjfXsgXXvI*Q{Poz;@rIz)7N}Bk`O&pkl| zy^(9~8gu3ti=u@AZOiTMLpFghZ4GmdM(xlSx|u)K$oKx;h4%q`>U`Ru=s8LO2# zOzp?@hqL&rmB{9$ziu@~MGHn^10%A(it#D0FJ4EB+M=C4M0)obXWiSesfOIYNJ9%n z*yvkE3?%(S;Ob-?wb#a5R%fP>XBbY#nQV!?5+m>AyumTQarYsEmPDz)(5l7gIB<3$ zuV6?|c@@XY_#@z>U zHF*yu;3r#Q8GUK1yq5C`Hc=G`5}Ebn%=;3(BxiqlowqSw;VQhFyn|7C4@LUwB*vJG zq^6-Y89zi~RSmJGomlfT=tpXyBRZEcP%Y%Igr}D?x4h=98CNjmxmr4!kms8#h^}Q+ zT3`JaJ@JkahspaufpbN91;dO$fz&e2n&lO189zM9*~nIUqdw<~XN@zYr?3=x zCCGyo;+1YbDq>fVD1i-Pz4#}wSRd(Y5@KD z7?%AN{=O!$;2+4aoM=+s&5~E6ZVaBcSEBa7Rg}Q>Bq_rUjImDGZ4M(~F;*l?kTS>; z0y4-F60oLdLk6>iKm;PMq6B1+_rzx6ujT#4D5HeUh8`vxt#DI9eOjTRhf7Nc#4x4| zj~OKtQ9?kIEAUQt8-1ZOg5;c8_G(h#K29zAB5(&op1aFylwWX;5pCFmJl~y%Zy13O zG3_C6Pfbc8+aN7U-UE?Wv}80m5pO2@;xv6BZBpKwl-Hwf$0j=juMEmj5xB1xxHDLd zC{^B{3|wEFgx=o5j?OYV8~-^jrZZ3UWn8p1My9;BD92Sr>X+9*YNE&Mjd9U~80KDL z+IR5S|Kk2+3;eXa!vUkmn?_i<`ah6dHq!8Jx3Txdbw33>oO_o3qFN^K(diR-HJ3`L%& zO)*BN9N*GIIEg%D{85wRubKM}5Qsi~DkC}C6&`ZPEr!%@pLZ9+%uO79_ z`!G!?wH;PJ5DzttzJJH)iMse%IbT!@&KFPNWyYXQsSA0}U0wl^*UaU8m==`UnbLE?=%92F=DfGfEjLI?eq`Zr=-tdxg zzIcpwG*VUCv4;MbjTGY;qrK3%ya$ua+!wfe(2*AOLkCiV=ds}}jLWO=v)O7sxbXN# z=?{4=M_#{>R}Xq3hrE;1jz!*wxtY0UFk@1l`!7Ok@|ooN#=N=GXh$rbY7cE&%n0)` z`;I_ky^%T%S-MizEwn6?v-U~UAg@1cq$jIl3&XgI@+tHGK%*T$(6;5Au|0&x9E-*V zag@9QBCmn;;rJ0qFpUwFkH)^iGt|Tyvxy(V&w+%W0|`F|5`GROa4jhO97y;%knnRL z;pafY&w+%W0|`F|;^T^5_&Jd9b0Fd8K*G;~gr5TmKL-+i4kY{>h`Igs#kAmQgg!q0((p92X$2NHe`B>Wsm_&Jd9b0GgWJO>i^u@mF> zMOgJ|K8svGrL5*>ON<{e;c+z~YFw0CywBd#q)8J`mbdixA49im*RFlZ4x!uZ-^6q2 z@t16S_;}0Yd*!FJx{{F1GC6@&d3;&QGf*B;SfAcvf7V)HzxyYyOyYeK|wLF_vy2#&=I3<26 zvuqWgu)M+V>`fL^#8iH3XF9*SH%rVF`C@X;`wf=3##>ABq)XFTX(fs$uoB7#lNKx>S0AbK)F($WmmU+%K>+<{8o|Mt&qx z9A%Nm$u!_6i~LoQ!0~l?B30IS)W|<-Arx?B{p1nll7a&{Os)HUjVgL&Z%eq;9wj+JHY<=Cyp-#~uAer3sW zPFRj*?gd#wU88-0{MBMLd9oz=E3T3q$S?IL$H_C|U6wbDk+71Z*TL3ceqcn(lJmt2 zEU%Kg4q3kr>TkL+rr#8A8s!8^d&bx!p#NMU7kP}iVz|_FBMxehTKFqK?u3f&6;>Ka0}kzvf@Z zue+5lLwWjNjwZPTj!)z%hom`Wi&|Cuf(fogc z(nWewa|z^^wT|klX@=I-B zt_8eM;IH2(zjW-#wSboh{0-!njy<^+m_-AB1NnY>sdSl21ZpmU{O_=W(nZFwGQyQh zKJ#(l7bQ#QckiDwed%{uqI5}dyEzGH-Mm?|YmDD;4{Wz&GZ0sX75sok93>%Iw z!tsTSPfBA8xfYHu!tsR}V}#?2K#WluU1W*Bi!Uly=5;d_D^xJA1XigM_{Q8eu1Fex zCL5oX`ImlD+EPQAPwADaz?#)jgNw9v{=97D4Ea=-*|kbP*IaYy1*Otot*&GIl67@) z>0-zkDMWqf0@*MRK82%Do0fHeiLe-UfsNnIZV&gu`*0GP@y?y`@GhK(o47{$IP8WS zs<1D712mrtr=mM>Qc{htAc7 zI1clogy>X5h>P%HO(E{9MP9TJb!sCMY`aQ`kLn1qG)9P5uNLC9x; z2+OrXxatdWPXi&=H58&&oDg?iFT@WwP=CA-2O87v8-<8Y6kiLafdZ;;EiOOz$Jato}l*xQ*-g znL_j&Dn#K3A;#VzMEp1*s*V@JdKY@UM~JES36Zcsh(~7#(S4Q>$xjN=n`_N4zkrOd z2(f0d5HBpHT`OqkDj{;$2yx?jAsT)y#I4)W^By5){>br1spBL%yuiHyewufjT@gjm zidbJy5x>VPVp>Z@jB2NdmE9CEyq_Yx!xT~JPDPYVRm7Ob6miRQ5>MR54?;D!SdTitpyBqS10yWNc7Hx?dFu z=Tvc~Mub?A7$Jstj}S4VBgEcEBgEUUM~GLyj1Zq5ix3V+qY5dQ}rI6;~7LQ`JRO zniSVaiaQFH;BzM8;M7%G#2kZ-9&6j zND#N|OcZNoHxn=SX)f+=(o!6#(OQhMwG~UFQ$&~MZeth^=s0oQ(1C3m<~j#-8#Qh? zYr~uax{MoV@A)+ zrp<2Z(koMHvt5tO?&kw+N&5BoRY%X-Z^ z#txpGDV1h)eek%D{6FOyJUnwm?xbPkGY3zYFg`PPIQ^G9d|Yn!_{@=GvWE;FV;YTF zKYL`38asI8@XSB^r?lO}%Qib8uiRf2|L5Li<;l${d%&ONjN-1rKWK#rI3l|=U)Gm1YVzsgOxxb+?Ir5DB+%egcGDnObJa+ha?7-O7_}=WhfPDl9 zZJ_4M<(KJRA&47r=fVkz;DHRtf*kNd9^^v-_@EH{Pz<61$Ac3R!2=nP1v%h_JjjOv z@IfK?p%_F(jt3_sf(J4n3v$2A7Y8^Y5j>CqS&#!>$b)<+03Q^B zABsV~V8jU?$O13qgAe>5h=ZKqfh_PsKKQ^70)OBH4`hKC^1%mw5Ek;m16kmOeDHxE zgq3{oKo)o*AAH~kL44%|4`hKC^1%mw5X49;2f>u+1P^3^7xKXee&E%B z!UJCLfgon{fERo~2r4|_1s@3FI1hNi2L!6Z177ffAhz>>7knUy^E}`M9|&ST4|u@` zyqHjUzzaSQ#DO00f)4~Sp$EL+172(=Jm3W%2x3JKc)p2NZAn2S zlL9Zf5nd23QV?!Z5IQM%B7|rMH$f`2hYrvYIzeaX0$m{ux&dLKxEazR18#vH&=Yz= zZ|DPkp&#^zTVVj)1_NObWI`4Uh9NK%hQV+c0VCmd7zK9#p{N)GV__U*Lk`>t;~^I& zz(lwUCc$L58}5NAa4$@S`(PS)@B!`MCP;<$&;dF^C+G}apev+7H|P$8uOb~X;1=is zJ)sx$hCa|2`ayrV6$Zd;U1U*_rg@T52k?!AJ7hNf>dY^9iSt0g3izdxFb2lLILL+^ zxD&=hE=+)la2HI1$#6H^15@B$mlKKN9Y8dp$l|{H0TE1;busO z47de)Ku_oey`c~Eg?`W2-57zV>(1dN2+VHDf}qhSn;g>jG# zIdCV8hg_Hd6X7nH1e4)zxCf@dy)YH-gK41P3jTNDP~nB?@E|-4kHAcr1y4X8JOy*% z8F&_+hZo^x$OlfJ#UfY?OW+My3d^7XR=`Sl4_3j4uo^xAAFPGXU_ESvFJTjGhC;pgi00-eGI1InQG58gV;RKw5({KjP!3DSoUX(W-9)ySC5ts?H;0efs zr(iBT1JA-;Srb# zv)~EHgQs9FJOj_d^Y9|P4EeAC7Qtdz0&l=lSOx{K0#?F%unIne)$j@UU@d$G>tQ2& z37cRu6v9^64&T8}*bRGOANb)1I0!$%VfY1(!LLvZC*TyEhBI&uF2F_b;zOsygYYms z0yAM2JOO#|6wHNZ;8}PcUWAt+9~QtOSPV%Bh0kC; zY=kdi6KsY;*b3X>JJ<=kVK3|hKl}g(;U_o@zrZp06^h{moPyJE2F}3+xCod4e^mKb zl$1n^s-l93gl!;f17RBo+d$X`!Zr}Lfv^pPZ6Is|VH*hBK-dPtHW0RfunmN5 zAZ!C+8wlG#*apHj5VnD^4TNnVYy)8%2-`r|2EsNFwt=t>gl!;f17RBo+d$X`!Zr}L zfv^pPZ6Is|VH*hBK-dPtHW0RfunmN5AZ!C+8wlG#*apHj5VnD^4TNnVYy)8%2-`r| z2Fl+Cg1_6!@1$0)T%&5>Em##RR)~yH6;a!I>9+he)w26n4cWgkANgJ_^Y}~mH+~=1 z_{w}s__&tc*588pbhN&fxF4CI8`eCYW5zj1u7FZLd_s>8nJ$&mNalZUO&UemK0n{)od&wpC}-|Xk5Zu!1AGhS&x z^=;u6$bxK`0`mPcb3ndZ<_(bVj9Cj?U>6*OlMq2c)!|x502ib|e;5wDT27Sw~r&;s1h1$x6k7y;QZ8NBcaJPFUk zEATqJ4IjW7_#8IDHrNUK;1C>x-{3S{fC%12QVFc!fErK-oX`NShj>VUX3!GafD7dN zzvMf=c1mwY!FbC$sGcXUHgXclMKjtNn?~s`f zufPIW2#Y|zOXf9L0=&A`c&E&pq;J78SPlj7HputOyaOxYU3d@P4gkngDZI>=_yEl?Qb8&dh+nr%V0 zlS;mY?_fs|`92%Tt{}Tf_keuAjpX|v@?AHQ{XzVsk^}Gq{21gQspL=)`A!_k&p{58 zN{+xUAm5WCIUeL!Qb`dM!*4<4J9H!`gPbD$9Ztg^a3;uE(sOV=$OY1W!9^$m5&8E> z`D7nH7{o~$iX01)#{U84zA|l8h8tKnxt?`NTp6xo-J~JwCJk8sPce@%%Q4HBb;-J= zJW{SEa3dr@Q%Hj5&=OihGPpp8o1g=9hBUYtdO&aJ4+CK^jDR~J8**VXOoiz%17^Wf zAjjoPumG08GI$5%xRGPzbNC9RO-sA|9;CfV8VkaV`3-O* zBtaW+Ln?HJ?$87J!T`vEVQ@Q)fgH$%NpKHL1ur}R55uGI7(4-a@D$92XW&_Q9$ti( zVLrS93t$nv3X5S0ybinyTf7NN;VoDO%b_61+oUUkyhFM&$h)MH_kz4nDp?ie15(L{ zK|UgttPb)q=_f(fkV<^;DXa~$j`TD59M;1I*a%<1mqETF-2`95X4nFSLB1i~3fq9! zeH(mB`W@_mok4by?uI=<_L6=dWFP5%@CP|S`a_T(Ne{xIAU~1*9ON+R5%?vDeBb@C zAje66g`yzEq`w6@L3$ES1^J!yG_-D;;`ZFszC)+ZUDLYXoPJA>p1u3@?bm<6z(H9< zh7KQb`=~p{j2)Mqb7$^^iFZw!H2Lm(rrbMq>V4C^-utIN@W6u)Jv`%)M;@K|*yB&k z&U^ByIZr<`@7d>Gc=4r|=fARG;i6X;zqaI!H`u{>p%bOvvq4f^{x5j`oPPhb`|h1`_oTZf;BKlaGO4^H<^rK*X! zIpfCMar^M0gEMctwO^l}x1@JZ>(Z%1YCDhHm6F`HP3u;zTDEN2qDAxO&6ARvHEY(i zY172S#Ds)|8*jX^Ns}gx8#j)Rk8i~120qu9`N(a)j*n-TCQaBoAt5o5qnkBLN^0J` zMT?d#TeWK4x=ow5ZIe?{TrRg;_juafl$zSUL&r{?yQFoK9oMT*-~Iz`8~Tv*`pw^O_g8%ouo`JLYo*z&->`Ax z7hit0>Fdo~3Jbs4x^4Tn-|g73bJwojyY~b>yLa!}xnsw7-)`Tw^_#*io4?-l)t6sv z+<=j-3mVyK!^+;1W+p>fMH?lqldm?+T$*W91sjg6OIPAPKfr~bR8 zMEvzqmAd|Fk#hWhSxWC2Tz;)Y|LY}%>n?jM?B#qT@V7*h>q5>^mwZCc>PpW~E~nSS z5&y62^>D;rFaJibyhkwf6Ir3`C!kj^JDG&;|9`@^M<~oJLdf(=VAf@(W$QG*Gt;tp z|5NK`*=G7z<(m7L>0j;ppXQlmndyIeoZQbm#!UY^$C~?^$C|16{r^sCmSLv5A)64DiKlPnihndQ9&2=+1>$(!#vW~K!vUSVvuf%rQ`pxxF zy@Y;$rMFFa%zDc!HRUkV@{+@>*ObFd&F{-AHRUkV@{+@>*ObFd&F{-AHRUkV@{+@> z_i}QCe)msro3hB%tjkQx=9TBVDUX?&vXs|$XuYO9S2{K2Fw-kte`tNC9A+Atf2Frg zIn4A**B@G+DTkSc=3nXU%gGV?-9Nouw#{Z;W?D9{Jl0J)%(OgYxLlp4JZ5U{Q(oJl z^_ucr>C}|NOs{nPq4k+^m}zMKmEJbxFw-kte`tM|lOy!Ie|o#DOlDnXS~jmd)=fFg zv^-=eTc;_9nU>8f&vjECGc{!?ukFx!O?j?#YRX}zSGxYt`b;^@G&KK8Z(mN1(C_}~ z?Xqn)>oU`_dF8Qg%3-GEAw$_ZO*zc8Y+iY+n{t?GdB||NI!$@Z)ZC}MwnOVR<+;+S zDTkR}>H0(KyPO=M-~H3uWo0t!GSjko<*{zcVW#CFL)kh_In1bTne5Y|BX zY9Q1{{?pr+Ypq$QnVS2Q*LG;VraV_VHRUkVD_wtReWn~{8k&Elw@o?B^h(zsTAwM0 znTF1|UEGriLFht_vFIYPhtr?<<>WY%S-W%J5&-IT{nOSVL-Vin_T}UV{qCRMF570aE;B8gS03x89A;V` zGF+}sQyw!l_bIRK(0WaIu5@b3VWwBQ{?PhNIm|RP|4MJ0a+v9ru0OQC%gGV?-9Nou zRwlD9GcB7}9_ywYW?CLHl&#a0!%WNOmFK!CkC~dXl-G7>y{0@@IyL1m(<@znXnm#} zW*VA*rME99N9cF|^mf@cn{}CK*}U>tH{~$X@{plyou(XSS~jmd)=fFgv^-?ET%D#o zW@_$JUfZGdn(|!f)Reezh~?%gWT(PEm2fBqlwd`hhnqD z_M|-V6X`ZmUz$(6K2#`cNSBNhO5U^#W#ari<%tJ8O748G(tk~%;@a<2`>pYj7Ay76 zXQ`E9-d3;s!>Lx&Zc&f7{7v27qg_PFwfCzt~6@BmLr&bf3swn5BH2ULfw8 z?@=CqAW>%)rOP%cPo7dY;x}c`M_EealX*&$lYXU2Of|Lj&v}Y7;(n!Cl%oFD zvYpznBu}Xs#oJ5b>Z!kL8RF_ncPb~eEaC4uSp9~2Eiv~ig`^eE=(M{~L|n)eZwxIE zKi1C?Q(kZ=Kaf5++b^UXy*DH(pQPuDVek9JQ`3rt`$wlTZ%U!)v86zae8;J@JX$Pr zU-OG@J90#)9f?Y_lRnXZU7<+Z;}mUvb|^(rUUBobJaIHSPqZlV3t4a44iBkU-1tX< zSeD85o?`u-0Xe+eAxF%fkuT0x$`{X1LEbp8n7Gg@_QmCihvzuOnzTGI;(d?!G|elf zEG*Pt&dnD?*7)_sqjSWhH?#En=jDkZ>%98x86I)>n|}A0RXetIM%7J@8lERDn3R7yETz$~OrG;$*xhWqX2G9Mp@GwgpZhw5f{zHP-{d0Yu+e|`efc+kmMAWQ~UKj)VV93_YS~sQBH9v&Z!@d&C-9375Y|=EvldB7S=@fg=oKP zX{J!l#wNO|@yd)U*20v@FXSm|4Nr>mR8exxNMCZtZHa1x!`C+9*p{}=3v1e5Q&OM` zYet(C|NJ)M)U;M-uDc~-O)BrPIJHHOKD=D7a;8Mzk`$=-BENNA6rISp=UpyIUhzZy z46!-cEB=Tsbg%4NZ1|-`ql-o5$b8qdIr+-mDIR6g{0!x)Gt*Mq?Z{CFz3(@C!S%(N z$yTjhMAM&h)b=|Hlop5ew!1qjk=7_BBC)7g5&rots-7y+54xX>h`bOhY9E}h7gKMI z!~6B)q$Lr>#yI#_C5QMrIfwC|AzsA~`r|Uhn?v)(=cxr^{6eqtVb20FYlctE&rVcs z{>qPEaw>N%^oh*(9ct5~iRy^uIm+$t_(a2#g=$U9lWO-Z`O2U**hHgOA}Zl~+x}Rn zT&R>GJ{>YR@>l9@a9*fC$9hDq!)x@fX}7&t6NU7d{Jb{OC(c@&VpU&{IDj1Y&v7XG z;xoje>_o8||2XoUL}hilS3L6o?;e@qQTlA~C@)MZ5RcFH>6z~rD4lnB6z@ErczB*y zckgkiLL`dpH+|xS=B3^&^_Lir82XX)bs3^U%s1-hVs^aB0+m>luMj2y$(R^bQs*H6SR zW{91P%@res{$rd^zw0%p*rFHc%d+#_KgBup?B&J!#x#$D|T+hz%xep`>_x7~n6l>+el#`YMaj;c}>-(5IQA_xfe@2dyP?5DfiA1sxQ;)s^G{b%>C0udE*~u{%rX}C; zX0dX(RYpqE;q12J;QZFzH)N^b#pa0Xc4q1~7V3Jf!&~${$mJ+rqf0+f;X;Z219C_k zk6``RXs7t4zDM^n*ZvZdA--vqB~HZVxC;hkD4(bL#mWKs;#^F=YtlTA`t+oH#++X$ zHGCD?Y?QfIvjCVYJhtK{!TIfqNor)Z*Yts@%WaVPl^w~b* zwL?0;qRFwMwsj6J*9Uy$RMj)- zyy#|s%Sva8bbUvjdYXEhZHmPoI>j~qHTscQAz}{BHvFNjc)$LAf*&0f>B}?y;+%!| z79|(xMbV7iX^HqpkJylwqkom`7n5J`Dr<>H*7Wu0b0-xlS?~K4>BHX76#8xN_|$6n zl)MLu#py~}qS4WO`N}zQ?>r}QQKGm|=gG)pF-|dRd4}>!Y_Z;Gd#1jvRR;c9V{Xc$ z&z9>S^~^EiSAT+2S41(fj+dAgJ4*7of5NusPQy;(oMLx!hWpb_e(~U(e6dN#?sdQG znMpZHWqim7eG|nI{808nhkDN95U-DRiX*f;?W=tJp+mel#VL-)6zVq=B}VLGj+#Bg zA&$p-^lSId*1t$C)+?XN6veUm?rO)j=&Sn{>K7ss#mQLVmj1e6XaPEOh|{q-F6plq zXXoKdiuJRxg(<$Y0&yWCL+ohf)A!Qe{A{6|MDLqY^Ynw%`{3*h&M3wyQ3K&FHOo5N9t$kdt2qX<$N{kv3zkj&hOr(JKa0t9m>5g6o|v|S?(RF z1+F&-2vs|lAPy(^T}LYAi2EM%tICB0aU>zjb%gn%=lg{bC!!qU2jYIIIbm@ zpV9lVSg+n-=QRBrVv}PrKD{Wm*zG7T($^BNorrPhzr|*_Pg^p?djov>ndmI{saT(D zM}i-JnXg}rDsY{Nb-Gse^eWO{Mmma9&c}LF@}@Xd<;*mG5x+2b7xTop`9AfJO8DAn z-nB%XjS90F;|_5khIc4|92bY`7vg{N^%Kz0+hmVkDYDQN zX)SQ=B!1kITI`l%&K6mm@=02;_%bcu9eXM^rIv7}EE<`itncY@#~;&^#ojG#W7F>p6Y+Fzj=HL^m%hk%b=Z&* zdHcewh{dA|#E~S2E5%phc5U%QMjbBE4`2(|<9j@-i`nbs7BJG{_SdJQbib&e{6g1Dwk5CF!DJ@$zIDbIqINRZcPAiPf>KE8-8Q z&M8(-MHT8jmSnr-Japam`TFlsS-RBSp7<yyjY@Fs9fl} z#=l%&o8~m;FI%M3Rf+TKl>?mO4|ExEaCY*Mn0#R^PGF1|>ci$HxYwm-(3hInAMev| zUb^4?LbelsNc@rP(_4NvP0yX@SEU>qJLT&!eqD55QxI{aex5F4zjF}|rHwCE_s8ex zm5S5F)_8|1ZE0sKk1ogklD^J}Xmnec>LhN&$InQNRD?rZIG-+lkMilg7R|l!4 z`&C7Tzb-=Wr=s%o<{Q)XpNPRv((k`VJN5cI*XUc4^Tg>W55Bj+t)aIMdKQXvQN%_u z9^#`sv2e6QxftbipNa9g_Qp9m56F;nzUy2}hSArtd$;IHWI@W0CAwHN)T7F=^*y@y z8Nb|u`sCbu2%A5SoyTpTt)I0NGpG9WQ&BnkRR^~ibMVz(QDBfcmMop?mF1CJpV~vJ&m~`LDz@}WnWygR~I)F?$;yn zM{-U&ACah3J-i&7D%KCidG*4C4E5*eJmxJ2=doG(f&t!$k5lv1y$MdSow#=V?1IRr zvI`#N-^U= zTu4umvDeeNUiEkEP`M~xfNg12sb0V5-+OMzcf7~nOVqQ z`Ph8UZ8dShlCR&qq{#hqbe5tD#y|ao9E#2a->o3y(px^&xDbS^?k*BhmZwvMFmMs0oP4o35(GKODmV>Q17>6bL zm#qpE+%>l5W4vUG*9T;&CG_z*?CeY>zj$0dB3X;{w@X|H1OF3eOTTax18hUd53#tg6O<- zxh}685ip3Do#{%WP0K|j{y|EiPIz^pnhMTjHD% zk;gLWCnxcWPk%iSw7}@68kyBC(064E?=Mo`{Iz5}_QM?>ZIj(EBW!?>-V$puF9Fc}j7N-`#Pg zrf*8hQRilDaUI8Bw)kwezC7I-F==v<`}E2G#ooKeH&L{2<1@QCC%YRgP@q661qu{M zImoHWZV?dVU@D-XfT@Clg0u<>D%vP0plGY2pdzh`3Wzo;Dr&V+s-hsxqeZG5TA)a= zKnfHnw2Ae4C>2+I+SKe!v{*xSn4-8RO(x3*GS5axdZU-lQCU*D4qKJJs91B8qY76vl5* z*r5vwu*3&Ec5BHYh5reBtTpE$X85&Ms<+bIPwhy13X&n3+(TtFd~G-MuPXb+91(uu!Ai*iFE{HuWyA6Zk~Aa&0RH$+qHQ zgoh=7?jE~}*_)FKJv4vp2Cg7i3{v31sJzuIRO%I?%#eZn@FHU2MexIg%gVeAepnO1JTNAJ zc#)+ZM<1T6bFpN^unAjSh_U2D_&d?)vmqhaKBii`WDjZaz=!zKEbxo~VsAQfG!ad# zcJs>^N6f-7HWl_~3=>2{jw%}RR9d_FVQ^TmF{f%aq+-5`HKZv)u~mJp7fE>U83p-9 zaF4HsWOxdPxINSl#CdZk=X&2v)4Y`HR117sAhS$;YMvi_uT1N`t5~}&$HnHX$U^S1 zOlx26V=2K5K4xP+Y*?%bHN~uTNwLsDryjUWaXw>NRDEVnq4zRu(sx&uHZf0O z3j(?76=2QP;FALi-29fc+31r1=8P_O)qcOAZq3HuiB1DvX8_v+VthE8iw36_i3zhG z6GLcEzQAj8)dPvi{ONhw-m;jWxVK{j>jOD_VZg5z3C{OTX6klZgtVZs77(V_l^kjuZ^fT^Lw+Nw4K0Xj^HwS9>}64{HDXZLa6X&9E>|6!=jPN$Qe_4ozs0R375D`kV#GNy zUPvh@)a?6nMPq%Twm+_1=()?s{)*x+Ash05x4CND@-p`7bj^DSW9RyyqG5f4FUxeP z6!(e$Rw+(l{xSu8G7~-!)%GNWgqzn!H3lviw?BiWZ7fvPV1z|4xG*=5u#v#SZtwy6 zTkIFaOgo@ zYPDxLUt_fqHg%l_e9uuk?}tt8srxa}> z#9;cw2oP|G}?eZAv!6z`!rMS4OM_CHx zG25Zv%qMdB2O||P<&ml15IcnIbWOFwXNjMt7Pz#G0Iq?!OPDtZabQATA^2DnYeUFE z?8?`A6uAV7^Mp?crMUmfY*7UM5htXvxF@z6ct~+Ls43ubo3u<5H>3kUf|{`=%03*K ztFLmgIx&^6nV#j1z$o?TH{v%-7H6r|uvtC&jcjszPPT^TFv@+z0&hla$p!v| zz*qAy)}mU%F7OQSKZa{az*KeueQbAv3nXJMr?LGp@dkq-s2U8_s!;D|pAJqp+E}{E zPWaU;VkUbj-Q_*z$W1xs@TG{bL)PMm_q!g7cSnz0kAMr`y{b@sYfP59ab(0xL~mkV zu9h_?s;!viL*G|xL$_tIX{)mNU4eXzta9{u1|Jx7i6b_+1O}V1YQJDFDKvC0%EcW8 zwZk!K;-RSDR9odTvifXoyF1OWqqpV>$K;u=RQFAJC{XBqZ)BGD`((wl-&yFHljB#P zOD|NnjB$BCPxh%dJ8B!Y!+_ znJ>pJw%f08dudcm2^RBSLHw2Unqqz|>Nm#iiV9*$mZ?$+2%E=8JarMDVPCsQN^xSU z_oT zTy<8!#|IP@!bjY~9q6}F>+*%JB^tAr`^0e@vRLMh7D2e$%R?o z`GKf5q{ycY*;c0G;Z3Vuyzj1TtqXkO_SF$JWs4?sEydWW$Q67WakBdu+z zBG6jr#b_b;X|`snEEZ_}pdaFXk8l~>s1vYG5k;R6g9o&$K zyi*kXrI@*QV7wv5#UKyFYF)f*NjA#KnjQ0?^X5$6et(pmI;JoKxFzA8T#>~i;2QN} zn7LplaA1B0F_p$~2k`vf;SB8@c$I?O8Q~MzmU0RXlojOh;(@!wbF4MEKJc)8IfA*N z9PyTn^4dOnBooGJw{8SC`i!rLhi1NLQ3t27lEHw5-aMUsDe8NR=BjSe~ z<@iuUtVax^u^$yv+4-t$BXKnjjJ$%p@vfL;v&b+{sLw(fx`U4SDb7Q?hdB@3rnl>h zA!VK_mgPCgqAAqQb(3A{_wjCZXMDDo%8zCGwKq~D+Qw8Du7NrFs$BNStX%%&^g=2! zZDWK_Uf~ySU*ZG)FxF{@PfXh4HhS_X5+Zk8m2VKjin(nl-$>;>iqmw`keyO}%#WU6 z?9)`g=jZsS=PwI#Todv!%YMb+!$K1s3E>D^x-j3H67=isX;q%f?_ZXsb}z!v z!x6op3F)gf?W$6@Zm$#Oa$s3hyIkec?KK&5NAK2RMsb6_e|<2jCKcuKdsg}N>#GHR zt$m4Kn6^&QuTS$*bA?+RzcF7gcMrRf=gB}FemWgvDwj>#5K;RSDSCUP6AB+4%+flQ z6zXMGo5hC}C`>NT(A#&`T+RvquAFu0?W3HntHjMImrV6hZtJS@Vm=n_qB4zX!wJ8j zZENTs;!-Mj$H1a8y*;tW8(o9BEAc}*6y$CCfb+Y6hjf^0vRT&>7i(RvHMFO`5d1HT zSx+>yk8+WOe^)NJ_4c&}kFsGNmb}Za*WU_QBh+N`p5W0`ALZ$3E}8(0qp}^?LOi1* zCH8R88q8I|p0=1<(Lrm{GUjUv_#qtvu!iQpR^VaNVXDnyVoihn$cu#9Ty{C?)7x7E zJd8$*nVq-_j+(Q;W8jY!ct*!LaGzSdNBTQD&eMDzcx0$=DA!^w-~zrQ0Bh)|1FyQE zTRv4UU$JLuwa6Jq#fCBm*Sd%@VUK=Pm#OtAUl!B#V#3c?hUzaGe_XEqKp*!_@0B_c z6Pq0$Co2sXZhY^#$%V~6Wo-7sEZy!+Z>FyG>3-T&ZX0sxoR2ou=~Tn%z1M zHkA)JHGP~lmA^`E@bjkf>*L)m+OuR%e$z+#^RyKWe$e#h&<**zwVKLpi!^;)HCm9=Qk)OEQn+H)Q7x%n{=bLr;gF1w;F%Fg}8 zE!uY_lG~zvvsbsg{;kNF{{>d)PGMOu{Gm$tN*y+Uc( z9`MBGCtM32*1SA4TCWn=5+Zj%5r72McGvCZ(*-1b%ia; zw3gBQ1X}xSUTy=tY+iO^PSpHx5cO$xSZZ4KpP@Fp*{9%5z~|=25N_`9jbjGX65Oj}6-FRQ~9i0QW=t_#m{|w|*Jose6-!t`~BI;d_~obT(D6 z#vT%?`wth}nI9KS&}r|v;SKSN`P@*`_q0%cT|aUC)A#A)>!;fu7ikTh<_Cuo)3F8* zZ2+FB9be+Qr}0dh$KsR#G=|B%;n~UGh9+}rVIJQwx19OE%;fjImB|MltL6{nrb4Hk z!$JlnyMznqlEELf{6@Z~@wn#!JscIaem8gz&uT_ZX-Kc4SS$z+Rj!_bUFhrKhI zZ=M~5K0Cx7UE}1}?Q`4X$F)dS^o0oeI5GI_4IBmbV~)n3}~l%}#?xD4i|OhRy;yyO*+{ z?L|8td@BuhN{5D#*6{;ue!i1^GA)fg@mh}d!qNb{=d+Nueo-pRdMjCb^tDVzdhq9- zaWYyjx$nJX_6M%}3GG%IdwIDNTHaK)X+e%!Fe#a>ekMoVKF-NDE@J9? zv#Yf~Fk5qsd!F<);kqz;7+!AL0Byr41WAfSp9xnp0;sO zni|$Jwbj|_YG_ijw(*gWclT)MAdzqUYFeIpG&anB9+#|^p&bQ&C-RN~R_x31mJCQ{ zU(JMu8qfdom3w{~QLgPz$YZ}iOSTu^+3w54byL~y5%IYHWcKwGXpIJxL(>#cY3-!I zpQipkI9c00uH1VBnt+0tA@9Dy0X6JP_Esh(t6$BI_a00Mdw=l-Jg1VLeOL9sAVac-gB;U@9D&94|nExkE8^l$FBBVNR0PL zmK@KqlW&mXq?YqyQ5ffnh(nQ<rZaRN^s3KmHE&^GPV!@ z592?r#aAXK>uZk@mlN8AG-%G!)GJDwS{Lh7zZ(&PrXDV^(GDTB*G0<(mN4yjOvu@lM=r~P)ZXaHmFDv_($4^85U zV(phCLM5yv=xY!R8XwX|ktQNu*B+mT2JPpRAT&7WS6`5sEFtf!3o`i!ekXq+E1tKl zFZ9fS{_x>7Az(p(cZI$t5gNMjJ2Qowv3I0jW%jTOUAQ6Pf>TuY#S0Me4kE2%ediBF z2e@$8Qmkv6F^`09TvQXp9D+KTN~kjR1QiBgj6R z#Q2=|!q6L5vz5<;*~4qf`RL+Q;qe#KpcgM^!+#A6iDyH?%#VZ6XIC@D{)XrT29GVq z)E*qTeAs;k(tq}=O2hhLJn{zFy2hE-K1pw7g<5fT(#)@2M0k|UKK4U% zJRkrqV>0k4oxPQTF*ei5XXmGL((|mzs@5J^lfx(d5a6q`LKyR5ZAzh2pmoQrHPBR= zfj372x(+kry>h+ISdoi#-|1ggL!;x=bw`9l66OTIq?Buvi`YCn6ZwXC=r6HOjdr}8 zmC25~XzZkEgh$J>GZ9CUb^Yb$nPKR&)7e+RfsbYf)s@dUIpucWn;p+0z`y(6P1SXn zuPW|7nYan8pi8?&EvZeu~xnq)DF4>S}V*|2!}{#_s3u-K5;^y9mGBn z=%`b2)GE~RZbksU8_#~zoN72Fjpad~{riAw?Y9v*-cP1wvUAWg>>3f$j>KfL+y&4< z!Qa011)zsa*7ezkFc!X;mW(y7F!r;gL!TYgKA8#aLqfdvz`M}pYH3<=4=R3F+Alg7>^#Cu7HRWv1DJqoSLMQE1y40d8&Dih;9r0vD^ zipCKhCPT-P3OsZI7sJp5mTSMK0NbF&+cFnA%|vL?HRuszL+XY_=~_inNd0X@7;Bl; z-q)eeu5c%-zm0|#)8h1!PW{gTdEO&RfVF1Ho(S4eIe>YOAbuGtqeG9PJqPgmPh6}2 zF1NPdU9KI*dzA^9m=k7eB`E=DfPz|8LRin$5iV9k8yQIe4nf25MXcuEQ4sQ1@A@ffcCi;J=S zanN*>_z^#xtPJHp@t^i+R3wu2AxAqMm#h)7t4MNc^)Y$SL#D%qnXCf)RIJ#OVRQt% z+ecTkqtJd51}KI+Pww1Ier!ORH=(8&*cVE96#DSv1A-oRW$`dp?jAbhV`zk8(%GOL z3UqZ5H6A*YGT5H<(TSygeeIpvLF)~qjU;3`;Y!o0(O-4Ya}hr}3k?2lL@NJ1DTMKu z$1cT&y*ZDh3R|Y-@b~@DV>_MR8TqN=W7+A#OOGUTXwg&p97#4zEW~>+X5yAY!}>xC z-lNKCXp3Cw&vD2}RODjq)2-25ycE}`{9Zh8fT-aylquGeX1gN62|czG`W7dryl6Nj z8QQFPU4K|IAP9Vdwwxte}85g>r|_GCTx!vpUVpI^^4M3&lA2B(!JjM zR+?bLm}a4@!7;$Y2|t7d;$y=LidCA^_bADNwxC)|D)DJY5@C?N1D|mCN(^o&lNc`*E4td;TE5_bn!TF)4)o8)@2uYeE8P zF5bv+^2<>_8@V$G9FAx!m#1N$24YfO&_G)6``^mrr2iaTq~Q9=z~?gUgeynK>z!IU zQ@|UKC8p|q_Q{kS^i(zWFjYe%mkeAEG1A$R{_;0>kUaC+Ltucue(P0tv(|IwCoq~pG z(#C9c?*RBT?)x~#zZZF`(71qp-xW#mdVc!7nL&Iv6MCbNYDcb$_8p#dG3@~KkE9h^ zmd$uoLJsuVPBk=w39(pzs7j1iBhd`DI)jNeT==gf>>oqF%*lmoBi0@R?~cSWXgbQE zrDCiKF|9h5*8hFb)6l-Gkgma|x!i88TC0IJvL-H|ueXPM(6z_Xo)D&1#)T0B%b~|E zhaNlA`@I(6?`DKG(V6PKtpN) z+ERsfB*N!U#f70cMm&j4*Y|521s;*kt_~PP8q)*rbm(54stD|@jLU&OJ6>~w57`aL z-k%3EUOb{)jjPS@#6S!G(UbuH(U+%oug--Y+dpj00;I~o<8R6Ht25SVYA;-`2DZ2s znyoQgi{VT8&>}FFg!Kv1Ezuk;0&Tcl>0=$RCP8>adjkH7jpy}Zo*uVO0H?nikt*y- z3h>_sKue#PuC7{?E^eL{5VnsF!uHkP>F)*%k1Y>~`O~V|U+#c+d@x^~_*uXZhcR^w zzCd=kVN0&Q?s^=!(xtReO9?56^|VI~IYQWw*5&JvnafpNkuL62GxRdW{Q33kGt`r;H? z7rFPfbdmN5@4>jCH6;z-iJGCWf;~ix7dP^o7nMAXbn}&QLGYw}^icr5k*fWalFDff zg|Iq`y*r!z<@}tI&i+h{*KCLt&twIJeMw<<2>8&pz6^SBzZM#u$}d3|cXf^8>4G@0 zVP=SvE*N^7Ay;AjdF9entb2sDJE8X@TqNyCt&#~l<*Ubm$E4w@jd22>e3o*MQjvypX=4$Qj*-l;?lL{?WhI%5-iTD6bBXoF_f7$O&#y&piW#N~U zkKU!F>G8r2O_{o|J`b_IyQ)X64;Yc>Eff|x5pC5N8PLf`uwDu)pZe5Q$@5GuSX-mnz=b@XTwO8y7<@K<8 zbzHixi}+$(4wkBNwBrfMT0)7Ny_%5>ooXsL5Yvn&%Ge{>Vc|?1bZ!H}&{78Z5cqPn zE2!38@UxX;jyO3zyqPj{BTkL`tU-n9PzaZzLr{`fX^0dNSU*0_&JSv+JixHhjbyjh63-` zLWfT}GTM_=kq{3JZ>GvE>A)jD^n9tzW(axB_)psZqS5KBH8f;0ctB}VJl{Gkz&b-? zi*>@3Z%5>C((wlt=X#ee%zzF!OJ9qeos*%GMv#1(;`;b4K5Y{8hwWgiD;R@)v35H& zR17_2MAt)GD>U9=e?Gwxbp6;n9Gfm&5D~8t>kcR7XrGSA6N{6A0`Z352V`o?7nB>` zo>DH7PB*NjYxAM4d3Y%^cECD>5!f;nYsnd_B8XjO;Pq~nx-CPyH7{G0psl$A-={U4 z>#$Z!T1e7am`_BpHcOvjZ2-D;(z~>&$cAnrPmdLaS~cyv;e?&1SL=*6b^x3qg^z4Fa(E$88eF3_YqHJwiUWQ7#+%w=eE@)>+y9R9x z)^EYjstehWkRN(T#ANtpWo#zzUQ(u!{_-OJ?--mcI8XR>Ke>!Cx^W5=i?Z3Qdmo_RJFeb$Jz*=}iJ=9C1~%Co&c6S1Hu>;6D#e#b0Z&~ z3}3~X`VI|xJ4KCvA5(k~Dl>#z*Oejn5`rEvUpo++Cz5V;SBjGprhcqd8#TBhM zk56Sn+YJqM9L5CgH_ljrby!HHiF?!jN75tZPD?dd5r_6eXRB^?vCL<3u-=UP4Dhl` zIEr<_d~Xf-66u-+=n!VE_N&LinPY*6hhwUR@mmzkqn+4uS*8^ZW`==9(2pVKYlW6B zV}(m?hxI_p0|+dLeFB9lX{pS(9{JfA;NLGvnF8r>&tfmofFgyxHz`xR0!FS7^{f03>TG&4^u{Z+_W-9QG`mqW= zbq;t)y4b4`SBQ7lDnaNZ@}W5*J$5?ukfhs+pgkc*`v6F{rQjaR5>mMl+D9XFTf9CS zd;LRPVj-^$y4o{Jn7uy*THIRA%gXaThh4~p7Pz%d1gy zCp`KSImJI>nc=jEF$bS2ahJ0XMx+~eB&8WBm%APN#9o-?_pYCmW29UHX@4JDqN&f% za(ij5l=LnB)o$&PB~k2cEW_^&DAYy}7-oDyBRO{gjFPNVWEPN~VFdxpjymM-rUuVd(I}iJ4+8^w^~X;@O=! z+3NeF1BQ#}ldGWHNZa7k79%#-*(p!2u%QJCyK{90wAOk0z5-WC8JoC4(ea0LY68}V zRg5!kKt2Q*RS}aX^ay7#gCT@-GPUmp1VkrdHLrH57og9kF>+2U=S9gr&)L{yZ6b8Q zzq|5;cgAOXPa*F&9Qa$HWr{226svU+jrHB3Kr`uA=PXlLU7br`Lr>dStX{XlkKZYP zHIN#O4~I^w%Z@^UG^c;Xl=FT&3N`3W4VQtD;iMeFRjRR)n1GQmYdkctjuXXfBXn8J zlBd#`AiREVRs{OQRF&3@4#kD}!X;4^6I3th@OBPJhvo}=a++86b{TJ z?6e?{vuKGAxdo#u6M~Bj4{@PT(_nZ=dK08;7o-Gs}U6_G+N>JBlA5rqe+g4{|9F^&Fi%j5;cWWWE zi)HBN2>4f_+O9MTtSr{|hTpK!uSLW(%#Vw;dc+3Lwy0K=6f~INhqO1e=Pqd4r^K6J zBONc>l>7Pmsb$cIhcxmdEHDU9W)^#CUk~Yv{;~&!c`Nc&Bk+%6`Q#0l2jpSjC*mGq z?C79NyQUx)*o3%TU#JZ$$ky8I&&U3hAn-8<`p78aVMsvC((%bvn!$D@mW$kwrt77h zm1XQ5pVLTwcnQAFYW`E5=#o9JtIAK9`G*!%~nKf1)W&Ek_OEH*qy}!gOo?qh&Qz%AGgRb`@kKg-=C*mQj85?wK z&ri=+*GzR|KS)Fy94dq!QDKW0X6Sv?wZzB9t;^z5R_8+(0j)%3gmo>72-j>?pf!tX z=fxaeSCwT@N;7a*j2&>L3gH-Ls*IKyNT<4eaJBF$bbz76R8tgs>`B1qSEm+wKS|B- zL=o$0pTlFB*cUl9!%KM>()HfHNlH56hHugM>=jw)gCMjWZWg~IOBlDI z0e@`O&|*Z2#lE3@PP)`u+;eG+(6#3-8wUDB*T7VlJEtaU6=gqzo8 zYpHorfwXR zj=DwCMICm9^|-$$&S`jldLeRjW!i{fRL8>y7B=YU`W6*3;;h&b3OzV5dVeA93 zOSV9J2%~5H0{Kz|61sY9blysxFfV&YsQ=gJ9Y220!&46*# z7Hbj4+H4(vY%Cf36c7i*Fzd4;m$6;N9$G6sqd0lz5{(~r`cqiFpLO1kSXoiVzfI2f zTrvkRr!Rx1GfQ}LeAG*OmZ{%}(+1}GvG$|r`fP83Pn)r-P><_`PXmhbwIM+_G@TL5 zOQPT-3Uihe;`iv3VV++%6Wa z%jFx#yS=9oL!yYiv=?mEET4J?Hj5&T(EhND0Qw#_qqVR&@SPjiksh1)SO|O76xMHB z87B=t)#(KPQTDq;+J{BDQNo|9Xof)m{t3WD19VZ}Cj^Zq7E)PFM2$v^+1t<=*VU*g zb+reFnPG?L=Hz=zTNiu&XzlYDVb?`Va@DN^{p#lf3%!KPe#DEM$q{XBng;zP@L@|9 zo4YuhKbV=1xq`xa6=m^}>ojp<4j>wbRGuxwg(8MN!D6hhBNj$;#nV;!CUc43NS}vY zd4@lrgD$U&B5p87`z{IwYTnY0$Wh@~7;vkvr{$_mI-uKEm#L4Evb#5T4kxrA!wC^Hqt&2YeohFq@ zXFPDLPnh4R1M0m?W3juk#GBV<(Z|rv6|+lKg$D1IY@HukPh{{{fPV=^xw^eBh}GDK z;a08t^Y!*s#N_DvFizDq=rw6yFzKLQ06(PqC`T}2O9VQ4#1tH~XT5i*jL%z9thXl# z_}m8jb8cCitJ{a>j)cceIw0crivtmF{{o~1aF}b#*qoePwNto3XM?;gpR&%USt=rW z`%Z$x(>{!|b%lESXwFVL=!_K&*C#wq*p-2OPTBhPiNCfgcMB6Yxb*9j{^iQqGGSz} zP%jfc(|#1vY0^PCxN(>xHR*s1&>3snvbDCrRQmj~n9gY4V>;p1+jAc4Io-pUYu6#3 z;7~9o+Czg+dz`6EzhlOMJzUqqPE@A+Z}fs948dH6%CxRJ7;(Svt}?xB#8{@dPda)! z2%i&6im}%sS1%LyaP3#@P z%ypu5n!X=}Dm)7-5}zY{qVjpbCGACNR}t0A7cuW4u0(rY=pg<~e2;YW`T=~V-{(R) zO*&}b1?>Y9Y76x;7O3=n81-VgUY3r|9~KqUnFV#y@s}Z*avu0&f}QC2zH7GkJlbf0 zo#=RTq+2^r`bUg?Iv$%-sP9#yu}{a;6&c7&R_kr0a`F}z)=R=V{!!UfQf#EXDKz%! z*dNU{)1088gzGozo}0=$8+Ff3<@Zy;!J8e=PWSzNF13D^ZO%REw2CKbWQiGrtdri9@g}lo^M-~-Mk3B zUty!4G`!tC)G&^kzGU6+YSEsmI-ia^O`p@gxTe?i{2cbhH80aXkmluCjk@Qi_ikv^ zJvWsHZ}qomPy8;wK5m*mw_@)|(`$M@U59C9vx9PV&5GE|=4)|%|LSOqGVS+l{{1H1 zbJKgh8+Ff3Wty`zy{2b#Wp<19ovYJYv~LFXGdBPJjmX(HFOS;V(qD!a6t`$k?;XD8 zUuW?p#VyJ)<-Qi}F;=&1Uv1RaqJ1eLSBv@wfcG@7Fe%*99tow97M~M;ZhjCxH$Uvn zbkFpDlkU0cJ9W{P{rjJK!;27(jP`sr zKQ2&mx!G|ZbFb#ddE$%Bj{ndXf(tc2=y$a=FH;`Bd71XDH80aXkQU{pf>mnOrhTWY zyY=eZf6y>>#OQIpNmHizXWn(s{QDnxXh~q{Q!Ag%dGX~}*5$tW_QuWc2S55`+ZSII zepB@Qj-5Xj|LfO1dw<_|;9&XTilfIW|EfB9s`~Vqvo+^0)Ly)JsjmL=V7=bwGD^`qbiTQ+Zc_wBdd$bJ2_SJu4r;`7<7o?h|PvL^zMKJw6_ zh4*L9pL_T0S$Cw*n0Cv}lW+7*7&~Uvh*ULY=%9i9+`W4xcI)Em)S+FQtDKVE0>(;5 zAYfss`YYs6@T@!j|FsL7^>20|69rguDubGg+me%$2MrpO+@l9x&@plBNY9}Dy?fw@ zcjAB@1%t`*_aO+p@eqw>9E}G5`|0m5Hoj>3cGL6UUu^NB38emM7hSvg5g#9)kPzRo zW4qR^ThseEy`d?M^$33-*uaUSMfE8BPwle(+tF}-Q@c!Un$@>6^8e8V>q?(|76l|KIyguvyTh z@tu*2|9|_PSf%Vz7?X7)Mzk^RA{*cEma@6J7Z z5}(JP;&1S;`2l{JyMz(K-NFmPSHfRH2XVakg!rX+K^$aw$PhBvjkg*c*0ZuTQ?` z=3!H%TaQi)&B*gVd3(mp+wPn++jsYkbEn-qFXO5EHZ9omfMfB5hhJNA?y>2Q|FU$- zQ%6=j{7k3ke#%+;;+U7)y>jlgvh{o3_szk*Ae^81;Z+}hzIEoO zt+s9d{Gl)Ve^veUhoME^4lh!^KlHaM)+AXn1ucSVGllu+0X3&tKDPC1e{hz-; z-r3~y;O@|3F~PK>$L6N@{;&W1U;p{vIoSW+eBsiMQunxtpi((ZGvzAjV?;B!7YD@=g3>Ajb~=E6}5opXFD$RcI}^gd|~* zaIN4IZWZnn?h}>>D})z?T;V<8GoeWMmvB%xAzTuyVmq;?*iRfLjua<|Q^ecFx#9!( zeIZYaFNt~Ld*Y|!H{vdFuXtEIDP9x}2E`C(=x*p|@EXP#CK+xs+-+EB$TF-ntTwDS zY%+Xo_{#8u;TOYx!=Hv~!zF{ks2JND6O4U~LyXrNCm5#~?=aqLTx?uwe9ria@oi(! zSYX^?++*BlJY+m(JY}pg))~3UVp2?PO&v`Mre3CgrXeQHG}?57=_b>3(@fJ`)BUE0 zOplvZn6gc4OzTbWnBF&SH5Hh)n|?C=V*1^5$W&>Hm@b&En2ctJImR4k?qcp~PBsrV ztL9PWapsBUTg>U^yUh2R7nmP52h2~ISD9ZlzhcfcZ!m8*2hE?F3(Vh|e=z@S{?%M+ zK4`8mA2&zLHRem^sM%n#SrkiaO9zX~($&(_($_M;GSs44Mp(vJCRip~rdXz1ZnxZJ zxyO=WS!j94@|b0*Ww~XQ<$24?mRBvgmJOComiH|mSw6FTX$e`1EI(RyTYjqvgSE4@i?zEo$?CQaunxASSW~Sdtz)d?t!dWD z)~VL%)^zJE>m2JmYo>Lfb+L7cHDFz4U2c8Gnr(g2y2kpNHP`y4^&RVG>j&14te;pv zw|-^)##&_EVclg7TYt6gweGW)Sr1$PwEks1X+3SNvDRAatx>CJGl9RzwpO+_wsy9T zHkYl7t-GzKt&c6)HqbWMHq55lhTBHj#@NQ$e71?Un{2n(rrZ3snYO!ZciZOKGHnZN z5858GJ!%WsmfD`OJ#Bl|mScO-_Ok6&+v~PG+grAGZJTZH+k&=_ZJ*h`uzh6<*|yuh zxBX=M*%r3_YWvOhyX}Cj+;+tFr|r1ygss|k)^^@@(N=GZ+624NZn4|#iv22k8+$u@ zoV~OCYI|3EqP>^Bk3HEwz&^-6)b6os_G|5|fZwvKQLFwHMicu>WY^Y2R%R+kdg|vG2A2Vc%~*Xg_2>Vn1rH zwEty4VUO5P+t1q1+iUHY?3e9PJ9mfPU5raEx+{c3kfm=a}F~b4+whcHHck>bTW0!{K+_ z?wIMg(=pp|w_~njz9Z9dzhj}}LC0dp!;U46#~hD4mO7qvEO)GQJmYxQk?nZi@uK4; z#~Q~gj@KOP9eIv79UC0)I5s*qJGMAJa0DG6Ikq}Jb!>Bd;V5u??Fc!(brdNw^&?x=E{bVMB0jx&xL$9YGsLn#feI&QkPZ}Uy zBMp*dX|uFN`alXwA4yxKPo-_r7t&W!q4bTkUHVS?LHbeJDg7*krC+2H z={KoV`a{|;9h449N2H_DG3mHeC7qP2r882EbY7~JE=l#$6^YBDY?RHiRkq8LtjMk8 z7`ctyPVOLglsn7uau>O)++FS=_mX?dedT1izdTSLBoC2?$zEBLhsz`6QSxZ{dU>2Y zLH5Zv%9G@qbKyjA{G{!IQ{ z{!;!*E|kBKx69wjKgd7IJLR9{V)|R}Q6)=xTv@6tQ=U>*C@Ym`lxLM} z<$2{r{50sVdWR4MEOlARsK-+DF>7?rCd3zR49KUJ$_uNQcfzTusC-{ zsZq`=7nF-iol>t{QIJk%O-Z~4K51k&reJ?ad)ApHfEn~={lE@Vkc}9{#xft9%x+<~ zv6*Z(xWavyS3H9G_mk{t_8fbWt!1yXH`%-FJr-o2urF94D`Gp?&)^Yz*?v~ej@pL$nLBtZ-j>I47uZEl-j@&HL%5d@=hyLZ9KXMk-^%@b7QdU%=L^6%9_3H) z<$M)?p1;gr<9YmTzM1Fqt^9K^knP|gKl5LBDR{_XevF^sXZQtP&$(b096~E0R_G{P zEhGxPg?_?d!2@nGT9_bA6s8I@gqgw|VZN|Xcu2?+o)n%Ia)g(K*Mv8OcZK(bkA=^L zufbV<62ii7!hYefP$`@eYQSEg5fmL_jM!duiQU8`@R%W@3MMmFyb)YxhB#BaN6Zu- z6dx6riYvt&@n!LK@hx$a7zD5RO585~B!J6gN3I^2H*byA4r!m<$$mlhWFkWv=Gu~{RVVr5a+n8y5(6|JAXr(dR z__A@G@lE4KW4`edn6mLp2^)U@F4Kt;J z9ZfJzHr;AUH_bNPYg%Y}82o6t={eJC)2pU8Oz)aL07LrH^bKZ=yG?sc`*ep0ljBykc3ev!f3zA6vFrzP4<)?6CaY$c+wJ{*4wNzt+TCj8(Gn#*2k?+T31@1 zv%X+`+4`z=z4a~YyVm!t`PPrEpIN`O7FxGkf3WVf7XQtNj#!UbtE>_0S?dLBo%M=U zXyijz+1lFL+dA2aDY(A+{8oW*cD}Z5wO50bJ;2aG@Et+ikOKbHIc$z=Rgr z9+odz0y|#U}gSNxAqmBHh z#&*G0XS<@aAFJJAciLm@vGxu+_vvQuVef5sH!>fuJ=H!Eyl0&K2K$Zno9t7;di?e~ z?04Dk2ItANFR(w@$at37mxJ#-XMf(l8f@n^`+EBu_P6aD?eBr`~B6zdG9)V>e==CICgs_du0ZO(z&)Y-3q*BBgTuo_wCG_g9PiP!l|Po2&52bUQN zCZjp71&35fve=}Oyx81l&`>2w(A^aCm71V93?tC*$-}VSZ5}GftOS}&N|M4lho;q zL%+i`!1~HR^nNSBMbg|&B|HGOj{-N^!_OCUV7Ck!uFCJu|=IwH(wT@5Q+M2~D z2jbIq{D1eesa^l8=caZc-OM@b^*=mfS;M0pa?}6qaU5(b9n8!uRPZ9cg|FpH!T9dv z)A&Sw10SP5#`7Ebbg;n;{us|j-su}&#zmnI_}eQ&v9L>6Eld%*3-$aDu)z)Z#u7f4 z-^Op|6Tl`%@N4lH#mA$*8GH_ZkgwqD`Dgq$evw}-OakW%A>$noMhfkO2oLiQ`73-G zzn{IJ<=6AcsCPbE@gjep|HP|!8?ea-g)PDc;eKJLU=@ynjc(*Q zXu;k57PNmPvh3IJ{ydrY1H&DP(J>x%%;FF5XOMRf@q^qX3=r-T)(LB1g+9U+{yX2s z*CE5U0J*k_Xuk*N_2IpE4?KFImceMpcvxpH5AavPfPV$k?SlJXj>jaSlW>Ori+_Oj zJ<9I^haS&0J`iKHJMY5d`PKN@16+G3>@f+gSj3;>?}0s^3qEEfp&ON_jH~KYrcX0ILaM@3QNod!!`?t(GU3DeE4)a zZ0N-u^u$^1d21fSui|ZZ2ec#!h%pL%bT`k!eSC(#6NPJpdv#yn!e0I<`XPXOxCMDf zYC!_7+?p%MM>@ESR~>mbv?3LAg<1R|)KL#V@i;6qs95qQ!h_`pE4 zz{O*^liRrk4;yM~k2dv2UUMA$Vgc@VGvAFY=G8dghb-n9%qg~@Cm%pRq;VD3>V_7? z;Ob^>#KVMFF}xFOF$gWZ1^2oVzV`!WA8|N;j1VWBgk?8j&awbLGZxqB3+uN-3oJMr z;%NM|Vh$7s+YUqvr=Ull#LVVfwA4!*>1_`Y5B(j=j+0*06z*H!Ob|P?v;OCBQ?yxX(M` zH?Q(9`61+TuR#rMP{X%q)iQYfRP@&%+;1n`w++{(LqIExXi;0-TVK@RLvK9F*PuTS za5FqR1vUH$KhMLx-HRGVVl*V8@2)}(_=8(`@D??AFlMNRwdnspFgE%%*6>ZUHe92( z;h!2a3XtJ~@5K=?o-vls5+TC{N{ zP%0a3ZWx>6fe$`mPWagkH4cP@2y5pfCcTcHAdKoKOhcyN zrbb(S2uoyPO=LQ}ZUnp{8Fh3=EnVTGNw97TEHn}Kun<;w3qJTKx1;@Y5wQsEIV@2C zq7K7W99Fw-v@BV?hxoMQ~zteGlY% z9-q$zj-}yFRGf7UFtuE#td`e8e=F<%Lf!6NP8+rQznclA~*MC7;~SDk`d zZbEx*LyhzK!|<3_;Y;5mPh^1oZ$bNaA;+^+xB)q$v%Exa!PD@GyK(L$M23;bNTupo zsq1wPa;I)bx{G3tzbFDvdKBwgTM#)@k!h;pI}v-=H1Y@HA0uHw5BeiTx8zu~Wrl9a z7tv?m!y9DWdj|S)oiJO#4r`$dSotPK_`_(yt>}5;AA|M2q~7$PU&g^t$e&iiZ^$E~ zypQ0AKdk}>=pvlQJy2f~gGon=N8|i~@TA_rgkJC~@~9DL7x9P3_)9#9D0hZ;1~xn) zJc7JfJ4CG?b$@yU7MzN!X&B*sF+RIue09OkUV0rPQTH9_(N!4R+mUm-3K8o8VIJYfG!Sc*O;j58tL%)zKg7MSn{@_Mf! z<45Ca94trtfkt;bU`rcdW*qA1jgc}E_Ph&z`4al01PX@UIDZnN|0NxxUVdausTJIcwD~~ zFwTa!P1(x^oE(brF&&t`665=Ocy@dE(s0=E1WFXUDf$x!>IYoti1tf3o3Pr_h}Fa& zM#4|$>6R!&>~4jA@Cb@<6n13ZBlAK0KhVvG%Ei-;Kp)Z_%>b;W%Qhqul~ zkG=-WmFXBW7`e{|9`*$KdJ33iQ_PZd{?HJ;DeA?-ntfpjirtR@DYwF_jL4P_0M3@7 zZwRUHfgOoO5l%Po2RfhPrUCcS1`(hSymJD4?ja!JhZu=baIs{;2xRzDXL5IABo0SU zCZhLRq2<`}qCc=52~npt5IYH@WGt-pU?ZEW=iM+y4Z=R$(^{bHY~15;+-p}o=2>y= ze`>Hb)-VK?x(%b_Ibh|#fOPSC4SygGuZ49QYUroeKs-!ntbuGvZRiZ|rW$56)=-QZ zItzUsJEdT+R(g)f9|5828w&n!Gm`5^Sl#kFu)F9pm!SDFamby-e`xW zHgNPRS&}&EP}re?lfH)}K~_^4gyFx_>ZByRqQjxu|>AoK)-xC%_{dtmrV;L{9@Z4a=4I1IJI z0tRA1O$tV*3*(Jg@nl$>*dWah%&_BV#H$DpiX!&|z!x9Td4PT&vHI9_z=kq-Lt1mC6k1>r+0SfDlTsWUvaA4Uan znEMbn-oPw}aLxmSpn2L}#0tVF8l8ku{TneV7Jb+j^!XCl@k8|GIr#JhVF9#St%bk9 zt2TliQM9-PKBMYb-4p(ufJZl+pNv{ZAfn%fIm9x=f3jngCkZzr=1mmhg&NfO5ys~e z_&gosi{ix~oYfm6AqhWezNw++o54>O0qx&L{~y-vI8%5Yt0%-^_9Nx8;z?r z#7$Zg8jV_~p|2hQp3>ZX55EKsb0h9y8~zhsU&MP~qK}?MpWX|5-i$M@M@vTFF$%AI zu+J>?;}huhP2eg=fN*`${xw+JS&jHfBeVk645AfJ0fFYi8dG2oAI8x*{G5dI??BBD z<385|Au0ODz@P8OJsd&?V=hLA0?gkHugF6y9>cZf!0J=sUlVcnlX1Qu_E~@yyZ~!` z3IDkWWFY?Vk?;+e%s6;<4Wihm=%uG&%Q^77iMaMC+Ua`8_93o? z-)|v|0{i(`2!erVx+QnQ!Y}KVyaQGk4;!dpf%G6QHx@0KfmlOaZZq!pDEe}!kSS~g z1G!7+4=a?Thu_i}$Q)el-x)}X&OmO0g%@I0Netw7&JZhZhsI|GMn(cy7~Mld4&@&P z(ih&;6Axk_!_bcLum>^9m%x{HgMoAs(r_P54CE(7A^1kA!t-T+!^}JB-X$U?B5_dxT+#dxTPN!HNs@ku?I}c4IWt$ZB99UG$NqqVDPF z(`AToUt+#$6b3^7cn9JhF_3K--AnOla|S{P(MBKN#6XhZ+aqDmyY#V1^NTu+EI-Cp zA{a;se5rwfQ0yfJ(hZ}!EznW0AE zn2~5{5B(l!-raBrc=Znh8IN(h2xFXjgBVDE!GzdNec2E)7R3#J@L~Ke0ulsucAuy-kOo%# z6#V^G+~rX8SwmKheA0l23GJaQ3NesWAa4T$`3Q`ZgMr{L-y+%&19=*;hO#JLT!}0} z`3tMgKx}A10|U7RcR3mMdJKK{Dc=u-aD#z#L>}fRpl3sdG_8?=Pu(0q6|EqAAP&;RKxl?C9zBtXQTQg}7BP@v`kb3` z2ZXc#j#2*)d+!6^M6vGw&nAH)MH4Mju|lF%i&jjaLV+eb!J>c#69EN9O`!ahKZz6t z1#MImj&f*J6t1F;f{KDPDo0V#Mn$cPG(wdse;Tw1LNO646e#5PncWQC=9J>SziWHX z_m!R3JF~O@=Gob2o|$=ev&%+Foe(aBwYwCh!+IdhQr;`|N56*uAQdgeL|FX}xEiHs zGnt(ni*49Qtp~2D+yl7?SBCdM2IFeoC0RK?M(L~va)W9X+OCeUF=Z$T=I>^nS~gnD zMoqo~B`Wtou0-jw5vLvJa5wA#>w)|z^+0Y$n>PY>?l5{F??~ryH|p*P^mbS;#spi# zdLZ4U9*FG27?0lQKXK(gfj_G~MvLR6mRlY*m&V$xDX>&_XqE_Da}6{g3%`9K)j*uz zov`Mt2eJm1^#DpCS8BcQMrp8K={L9@tleby9!5d)u9tcstleau|3OmQI}s8*j`n>W zw25i-FpQet$9dRs9>;KA>v4@1p)97OJlQdBfFuJDuEU%i`Z`|ffjo^K$mh_7HW(kV zc5^fCVmL6*?tpv=>6S`8kf|t*QLq+vv=2k@I}GKUk29Eq7EkVhgwczl(mDL1dKG># z=I1<^?4FJK zxf|DW6|CPw(6}+!hxNqzqXf*riZZzo%f?9eVHV@Mm!Tik0h%;b^#*!_V^vq8<=lZ9 z&iW6m^}Y@DZy@%|fmX2lgE^QVgk`s(rMMS8spZ&q2Sx^0W8cLn#~b0}Jc2WL2W7xK z7-J#%VC>Tu*O6(25pg!I?I4_w15!MM?cPC6V)lu7v|Om)T4{vwI&|^@NN_94&I(=V z0bS~bK0t=ld+3E_gV8&hfd1Sf^q|Y&bJwEHoC-Oz(PHd`Tt4*qWe>*nkh>@LyA)#` zJ=$P)55sJ?J`<-a9vQ^{oR8cq8QP``skj;bZb(>TxdZ8v>D)sC;qkb~~ z;^jD_ekh$=(9?TR8g*Adr!K?&i#(J<7&`i<)CXerLH15&AomMkEzd(s!$uee)H8M_ z%oD@z{=nS_JI*9UwGU_YD#}vP66eZ%IUhqO+Cu^p+AP-c zzJRO5T7Tx}y$V*LGprlCgVAsgh1u#X)G^kRDnzNV{(}Zubs4m&659MM%7>N0^(b@J z2kHd*lVIst%gub=TFHaK#%eZ{1RHO@jovlum8Pps;7YtB^~2bGAbG6FJQ%zO!rFf3 z1L-7YjWA*5+7oyb3L1M_@9rBgitaBN(Agsgex*2yzdEc~N8;*gdhw zVXxW!#T4lXo1}7>EuDpkBc$Ujv?zzhN09q4T!ts4BZP4Txg_6)b-GWw78EszwV6t9 zl6)Vh6Rw4P2ZN2>nUC@-j4@IrePH9=C9n+>U_-b*$oJHk6zm+BMls(W^JuZ&;61Qr z>{=YgwO~5Q?oBd()FkNSburH%s}=HnJ^9Yyx#*>``;)SNaTdz$P3X~4)Xu9;)r*JG zPK-po=qJ@o=38X-sx9(oK9KWKj@_hsF${f}x#-ir1B-nE_a}S7PBYJ*5ADR=Xw~v! zb(4)QbT|ech{APAfsV1etbI^#ZicL^X0dx}D%htSJQKMOZ4k2$tnIg>_VvQH>^@FM z977AvLm70H&cT9GV0VHZft~w62*Fcp!hPZ{DmFr4Xjv2hyng0PWV4;* zU5PHRv#h;1H`ZP}1uHWZrOC>I-E(Ii5au&y_hEYBsDp6yv8dUPq1->jT|I)RT!ouZE2rX0vb!i>NLG@y7f;|kuEc*nccL%$ zDr)G1C~4LYx&g;mz`l}T`C{2z~b-6^LeTcuRy7>|NNy(?dDqPJoKAoo&%A6L5b%;63>Aoo&!ld2aH!^0O$3=RgwA zfi!+rE%6*k;yIASb0CT5KoZY^B%T9FJO`3^4kYm$Na8t=|Agm2UFFqYFZ+tp_`}lOcJpU%Z85YRptRY(MI=pvl9lq;-`QB>A^r3I zZ%C1JmS?T`ypD#Box7pjE=o)5+&L9f3Y!#Z=|%L-q|axQVtpqzohA)MzkubD8e7lO z(j=uXys$H$q;y)^g?vJqO=*0R(p|bp3)zoe-=#~Ju3hmXPkMdVMw66QER0u^u3Z~1 z!Ryf*O&1~u<Z>v=$3DxY zJXkJok=Ie9mEjfC_E+$}Q5F{BU8Ad{^O4Vr{k|%N=Lie`B=3{XIju$h4>k%f5f+}2!UDVvbtReGD7=6Yc>$%y!lT&x60Q|JA2D5%HO?86MLuFauG~Z9wno84Sdfo-CnTE<9ae^kcz^6f zNyi;zB<5Urv#c^S*8e+jq{jL`5_^q|Y5WajIJtx5HVQWq76wV-TI@T5m>Y%b2@CzD zkb~dBc*m_Wh=hfHQs{**X^8lqhBEXeEcB9s32(^F!h3R+;Tpn%yobEJ8{Vbc5Z;4M z%HbQrLRDP&0B_HgLpfogIxdvr-MVt9AT0bA7d|IEY$GiE5f|iK+3(L%IEr`jD#Le# zhrNV_Xk7S#@bEifp)H!S9Av4^!?Wnh zAWO}Dk4vE=o>^ChhVnXrcMYE)>}hmm*o}7)%i$!xgmRLk;(rXvz}N1U*8ca`pDF({ z$w^Gv&Z~iXWfSR<5l>3`++>-4{GKD_`}~|9(%J4-NIF>AC&*0#b89wo0e} zjkkyKX{9Y}YM#BLq`9EOzi*lg?Ek^dh358U>*V*eo&J}-AF;X6$QU${P_`va%|}S{ zK{*<1YQDj~H9g1e!0F;INb_MmX+FG7nh#1_(bW9uYnHs`dD484``@SkRa!eQ{!Lkn zfAuH>8$B}{#DctjH~z`f5Ln&V9t-mNF#c=Q5ZJ%$`E`-k*CLOG!2V^+uduxSB;LH& z5ZD`nj}bY@>)YX}wuUeQ{}f_*u&@IEX}Spi&sK&z;Yr{g1bO{M_)mUAn1p{nv9|!S zAg{j||Kn^3|Gxfmygjxd>YqC$ore{FQ_2OKJ^Kgh0L8hpQef-&`N``u@ve@Bz{`%s^7@9dWpn)6uvlK- zaP8P!3jVvugSDJI8ViOi^cN#2Hj$FTsK+#gLHmsyy2@MaNTFI zyuLwq*&MGsESA?d=sufMwtXS#_ziW3&B^0m`Bz@wQ1{rJJbsgZ<@F(4rG}s!3(M<& zfEF|a*1KRHG!}dq3CiQ%hMt6{i9Q7%+p)NRe-Tc`KG*c@*;V?Mq@3=JWXF#9c#1YD zscqXfZ8REn%oTXnS?$_M%VKHCBZ;5cvB?)V^}~cN3yv>O=Sfq?^K|Usn3P}3Wb=l& zDSmx?x?!Z%^c)kD`8e66!mGN8FmAr*Kgh3HhAZ0oeoa{l=GW{Q^J`w9>%cBW2kEn= z`00FZhjTHVK7C#XcI8j4zc8f(bB8vhJ9c3H&<<^4(}m}s&D@`7w~b9{oz7wI&vW<} zQPVo0rqTqyZK)3~FvOPb^Zz37y4 zGp#FgiJnS!y-0GDo^noh?ZOO8w+xeXE6LRN^j@o_-2tD1DqEmoWOOXZ>zBdb_fJI_9`ocm zq_Or}*#Dup{l}n0SSXRgQkiBYBdJ%k@4=KVB za(gVuqxl8!XDj`!gJPcaQIc2oC7j)~nD1NmfDeFwP!4jhdp7)yN`I>Lly6cVO}ikk z(wmwidGMJRe~}a>K>K75r~I2Oc^jF>Q9i3XpkKU1Sllz_iR>TqagQKFPL((-`R=E# zzwD76f+O)O#^Ng^ZzJsSR2)k%Wwoa$bMA|zUL+1b&!8A!S{mYARo04X^@yn zttXeng1kM;DOVA?U<)}YYi(2WTn|qd4~H+exxn@Cba6huOx9eOhAZD(m<7#hE-1CG zsd;6sYHGe|Z%o6|#$Kd^uKcbIsI?*qt>@^C#Ctoz1F9Tx&Q2Rv1~t1|0~3@}0si}FT)oE&e1}sx^LD}jwHP8Cy%?0_s;^}{H z!kxtCg3>B9H9wFvA0ikp$zvZ@`v30NY#4zw>(|7ffO$19y_ESi*(9gCb!(_8P0yX) zqbaXBli#H|pC((U9M?59e|nFmyyo;CO?gf8Ud``M-4$uts~Kw6r^$Rer}t>eYvTQw z@#&^~naX9&`83(OGx;T(^J%hmXWIYt9!+^ob3RSB?o3ltzD(sZrC*_`dG0eiUEH)c zvtjA!{F!`t^Ipv_&fwKte+IAS+l}slw1!`^=~~~gG*SPXyQ`6?|B3qlpM78B@Ahjl zw-WPf@`?MEcpUR<&Muffefq?4A^i{^WH4X9WJ9qA= z++5eRH?v_W^RbM+{+{Xicl5igz%Y8q*!|+^))PJyJ z=wSO`N6+k`gQvUind!J@>X_-{9oaoiL&v%c96d~9C(m?@95Afsh#rnC(*!K)*}G4l z**$voG#Lg@pFGoG%e&ZMvETt!OlLm-)1JDt|KD)>(sBR#d1v)jp7)tfxS8{f6|Q0Y zY?RTd3oJ=P2v-KSk}cxtsZg3RGaT1U%QD4Eelm)17%|#L;Icbm4mYa7T}x z*A5=x7&7?A>-rCK47CloPL}82w==QrdXBL5aNLsHupz4qj)~)EI>yWz>xi8kJA$-) z^7NTACr=yixW_$i%*^r9f#vPTOrBn#TpHVc%tWkk{PagwEei#ENA)h zJf@AAjZ$;+>D?Q^!nmL%<0xX_Hg(xhKyaKNUxwIX<5$5AcBi2m!eKi2+!F6L^3R z1V9K7{Exu^tiTC8zy|^#1V{(02Ug$&9^eB35CY_EtOr)$1Rmf60T2T04-y7o1y0}r zJ`eyQfLjj40Ia|XJirG6AO!I3Tw(hQN0N@q~u>ubW z0CEx1zykt+;5LsHctC*N^682+@PGh-i@Ms3Go29n286Fbi{ytjM)Ro zWrzW}95H~ans@+ist^x=`Fz(IDiw30b@Zv z7zf6K31A|a1SW&Kz!WeQOas$_3%J4EULJUN8&H2KRyc!5lCbJOCa9g+PEQ z_@9DZi3dCk=7Gn+0`NFk2o?b^cnT~A&w{1kIj{`82z=mWumZdaR)ROcYOn_Q!P{Uh zco(b#AAt4XV-NtJf(_scPzJsR8^I%qq$06qm9z!#tld<`~&O&|z1g9`8is02TO z?O-PefuBJ&_!aC0`#=r&9YnxEPzw%&I&cisgOk7m8~QMq2Oa|pz~f*cSOmP_DX(#K>&OTHh?cc8TcA(1e-t* zYz7tJ2T%!q0^7k(5CT7gYVa%A3-*B;@H>crgP;~126f;Vs0SwjQ~*CJ_DiDCRMMWb zAsQ@ggH&5-*%|)!dunwj?7_Oz=MXhu`>V*=`2DLB^4_}qqrPj)STBcMaeI-7Pb0AL zO(G;pAW;H|5=fLlq688pkSKvf2_#A&Q38n)NR&XL1QI2XD1ra?OF+8Q!|wJZNR&ZB z2NF7v(1C;wBy=F50|^~S=s-dT5;~C3frJhubReMv2^~o2Ktcx+I*`zTgbpNhAfW>Z z9Z2XvLI)B$kkEmI4kUCSp#upWNa#R92NF7v(1C;wBy=F50|^~S=s-dT5;~C3frJhu zbReMv2^~o2Ktcx+I*`zTgbpNhAfW>Z9Z2XvLI)B$kkEmI4kUCSp#upWNa#R92U=eT zV()Fmds5rA>!|I}p?y1iO1*6xjanrTtrkf|n!Qa`xqWBs(7t`c_8re-J2a#lZ!f(c zR$8R|R_vMPZ^O5ZZ;O3zx8ZAz9?}q|WBuvA-+H>`Obq20b6aD+(T9|fz$WL2wG#BKn*YL~BNQY0>9`=C(O!40+jQ@sIe42mToX2O! zP4U~uzx7wj^l$u;HSYAk@z;%?2an_B=gWC47z`JlZNLkTrRg@JyU=hUKc*EkN=_{& z*5*T;F7W+M7vpG9ICL;(Yan%!5r1_~)p{KLOFm;3nV%E-(iy08az%1niqF?E5V2TP*CmE9@I9?0YKg+bQfjDMx@Bwzvc61TF?wfnGoa zgTc+<4ln_@z--_F3&4}$Iq(vA9lQnJ2c_V1un}wlm0%~>4Qjw2;4r8MYJ7_%33LED z&=Fh+4B%4G4P*i%=m~m*zQ6+5_rKUTzu5P_*tfoh06Spc^ST9$0=EJ7-7Y5>3&sKV zoi6r`uDif=z`n=DzQx79!^OVA#lF9FKVaY8V&B|i-`jc!JPhW6N5Oos06Y$!0RIGw zfEPRoo(7A-vtSAMFYp{--;a3#uy4o|gO|X|U^!R;*tcX}11rJn;0>?}yb0ET65t1K z0rq{FcfeZkFYqpSF9!SG%=_R2@F8H|o%sl`Z_kv1PhxzE_%pBpd=A*RXubqxF}^~~ z_&UZnh}k!4zKyX7aXARa_zp4qZq1e$6^I$%gCD@w80>pCj2~nCgm@cZ-?w4xh{3*f z!>Ec8Ld@6&eg?n9s7B1#9fN%nhp{KdUc`*wz&^mflfyU=<9Ec2Fo=LZVz6)MFb>72 zMf@i?432=h7)KEw1IJ_3BR&C6f+!%GGsEO#*Kl481LAmCU0_`G7vS5n_(}y=V4l+r z^Nb7ymt&rD8Rj{cV*anf_uquI}J!U<5rt7PtoV27N#dumB3K1=oQ= zAP?LKhJl;Gt>6wY2222V0T(C$v%v%4VK5&o1Wy50FJAyJgOy+ncn7e0!|KTA;2Xen zn(6Hh!1Rsj5YrQ;3+$S+Yugrd0Ox@VKo^h>t^ikqEYKH-AQub*L%}dG5{w2;Fb+%t zQ-K>4fLY*v@Br|DN5Es?AK(eF2zbF$U@>?WECtVjW#C0n3|;~+gB9Qv@G4jdUI%Z0 zRbVxE6RZIxz#ro+#BaxV2l3h%|3b`oH^zI28S7%akC^d6j1Lhr*2nk=@y9Vr5iL+x4I6&*Eh9(WI{J<~on!OIPnb0MuBp?eyWDpd z%)IB`S+i!}cmJHZ4?OT-p~v&k!;d^N@6pHRFIe!8$DjD;q9X5;Pd)w2vrCr#*YnF> zc(M4UmzS@2<<-|#zOiccn`=t^Z@vA_+JC*f?)?uwT>sI>rGZaA`Si05pMUzZqN_3GU_JG)PxzJ2@k%Q2fR z7Ez>DYyWF=a|c{^{lGzk^M2@SG_kpnY`WzZEXRslZySC49d|ld#^YJeQ*aU7cjFo$bEYs%U7#(JvOrfBO3L!| zVo6z^leEPrs|)nybtsIaF|x}1>)rR(y)SDGQ=3nj+I;b4S=m=#f3xx1P36Jhcbm6V zeE-ANt(8Ci_|s3@~lwqDY*cbS^8 zuB2;)eU%0BmJ@x{ibL#@EVDAnmglr$gOBd_KHljHwSXt-z4 z^jwrSAI$K(Y;Ut2-=~&;qgpmkSR2)7iXYWAj8B>>*S+fh*UNRUy7_RLa>aK9<0nlU z-e#F z{8#s5+wpyP{NLG^Z_D@PF<<^aiTN>j{8x^_x8?C)+2^lr!;i`1ruO6Oc-+)B|69v= z9z15p#Hc)nZ?9`og` z6>~Xw+*)$*e7PJv=F3|v=5p}3wdCOWHYG>=vcEgcWnnSTi^s}!tvS!-;W3w`wbJqV za(P-h=5p}3rSp%^kITX1`1LKF=5p}3rSp%^kITX1`1LKFZc2{$Wq)^CdCoj99xKHOpK<8tsgetk=)xg0!h>HOpKYf6sz zWq)^CDHG3&$I5lBG0)}Tacjt+%#+K(W97QmoagfJn9I^y>G*uPJS`n_Ie6UC`N!wS z<=}Dr`j$>NB}e?SzdNlwXPy_2mFrq#p3A}G){sG&CzpfA%5|+V&*k88Ysk=4o?IRt z^KDuy9iK0kr=?>q2aj7i|M>ixk|TcE-xvn+l zxg0!h4H=YqayfXcT-TcOTpk{CSz0R{pD&lErQ@dLh+p=1r4{krnS>dj+T~zpSv>e zco~%2wB$UOgU2nIcT;(BIe6UEHZ8e~%faK8%)6<)xEwrgYMYi^#^vB~OXl5FUR(|y zH?>V`E{m6|wbQLx7A)`h^H0drxC9dA)3`k1Q;G74FOkOS|7+#bSh_?iQ38n)NR&Y9 zmO#9X{JYaloh{Fk$9$XCO2_BRq2aj7i|M>j4 z96XL+-_mI=2aj7i|M>j496XL+-_q%(=e5>2y$^dGT1et~KVl96W9f8I*Z)Ie4sG*BbL&4j#9L3{B<9<>4{krnS=X`Eq$$I_7fl zxTW)t&#x&t;+Os1X{Ag&FCHt`wZ=S`gU78QgECJp2alEOT4SEe!Qw z2tvLStTT2d}Z$chk5>3a6@@cwU z_|ioA@RDdcX74lhC}3OtsWp){by{*5@ov47RAhO{uZXuG4&(*M>-j_|MZ9t%5xj+V z;htizu;>x1P*CgQ8mMVj4RA~TlM7a34QX1t_c`s}%y?KkXFeKGc8^{fvb(y)BjJb1VIu+~c2*6GQXY%fWwGm_1S znLMvejF9SdCwX;Zhn-;Uk-$+*@oF{`rVW=)Wxhd33_yEleJ-&_(@+aOa0k z;i^Mkq5Gkba8}y6sy=(XfQAkmT$FUTa8TvqiOpcqsGzlNud}Q2v zA@WpVgowWwge7x=WLUYMOnk>6^xhvK1+Rt3kgaYqaH~n^c_=_`{VYiGwi!s@Jvt$r z;vqL~@sjr%@TZFzd+Kq2JxJl7`A32)jBhSr&ycr&H z&vFmhnc*dmJ#8SRd0sN%JuCSn&qL-c57HM4d}M5Ch`u_-O=hif(ubCK$=J_4v}nGS z+_x$uPAzegJ!yX8c^=;y&<99=M@*n$|pT0lbj(rWZ)Mg^%KC{wST?TUh zDxdgveuy5@2FQ{}g0vOH#89S>{%rJ!d(u6$k`i%WhF|>6=(GHp<`#EQlciSg zw}dnOW|huq`I$P+C({DvBbmV*Z9BVp5B20EbqwU3%n0>MBi5X6a7|S@UBAzBtk7*& zpYL#vU*zE11z84?Tw6uAA$&M?pedMEu|Pv~as8%{Tgq=QMUPYqdC zJBV;pZ?c?=PiCCeA!wfcyjM_lw3-dI;hgg|ft>5Nm{e+Apr5g(yq}@Iv|rb#Uqw3D z`n!2}yo>dp6~X6GZ1oGh_R@YoT`y=lqzGzLI3kcxaj*8ZVOlLdsn*o%$pzKLG=h9P?yaH+5J%M! zsUDn2(vfd-+^GL{@(S!=D8o)x<@?CzxqdQZxkvb5xSuSXA0WjplW^lVA=o8@aPRT} zalEHf_1JGxO(<~-limrC%MJxq=O;g@8d~lX?kt5)T=|kZ3AVT2FF~O`$xc2QJ4W+6 z^1bvpQSH%NNvFM~^jnunzL>?8R0$b74C%a>N+`B{GQ&!PZzyyq7NZM6!XB?0o-5)T!(=~RT6h-+1V z9MpP{uT!-z%}Vk=WVX&u+N6D_+LYrYqrUW!@1d*b)r9F=4ma$ygM2wKM319fmd(MT_?f;^8s?IhbXt>j<%Ci=l}ADL5ZB^w4>iGNB!d>Zy~#ws0IlW!t#y6obN zej%Zr8Lh;o_i!D zZh|e@l4r84aJk8W6fgPI=BGQ-++@*wx1?+9UZfa5Uh&rq9d(sNXjz_>t}ZZ$`!nn!sV^iOh6lwOt)GN5yq4cnoaB>{cCi}AuFVLV zS-Aup0n5%z138wiGneHW$S-Lg@?(~tZb5$QMn`A}=ly+-iS9_(kyTRyv??=1x8(Z8 zeR|lvS#DZow9?H34dS1vesNi$j#g#)#4Q6o7NJAHvUGkx+?7SdioA%qL%X2)P_my? zXWK11(!8V-3FYj89KUA!%sWxWni^N%9VnMd%; z&`p0$_tU+wIY*##U)Tt2K}bB15wZM~iEf$~_zjUg8(7Vayl@5A!kkU?j z%jq`ArHhnOW(V5TN9oUygXy>$^S`GW$i8$d4WX^wmu4s5Wjo11y<7B;whN!Ca9lSXy>Weiw+YIU%%S{5&So;~a z7t$2N|t2L00HKlZanvVR6^!Hg_=^IZ!z-IrMO6Y2b zL11xQ=w2N3CE()N(79?*uOeCc~YQFtFr|P)^tMGDxfiTQx;^zCAbUVGj+YYp9g|rY9t=x=6BzXGf~& z4r2&q6s9GP5IL5N?-u3wX*d;ix6lOpXeD3fx#>4KAu{`UkMJq_Bc&s)bn&d9;CwG2 zFdO!sgV5XG38>D6P4PYwA%~Nk6$euN!dJ250iwFa?sbrs!A4fJTV2;VHXTiVw~ z>9+#|;-O?KIhT0MbvU;&n_D~pdDPW~{X!Wg62^J&Ne|F#*HwvM40Mtj$nkTglU@~c zP`|@N_Ul8iF%dBp_2Y$EUh-SIlWx!Uimbg__=Jz_%?ODoKI ze#@%SM5V1UlD)=|<+mg^dGLvlN~kxI-;7SnZ)h)uzZX;=Owo~_(eGzv+dBruZ#&dV^){aF4+3rA8MqAJ==#-Z=)9P*;dI;sP*_w#?XV8yzk?W1cX1-9x`xk zsW`-6Eb6zH(BDxOJvLIBjj}ioy2R>yTBw{}yuFyJQP)@-5QV<9kLb}qLz|gypp}^> zVSlQh?1U}fo8c2*bC^`0=6Zy$sT0@2Al~z|RsBqXTeWVa2iL-9x$aB5X3}z}`qe3Z z@>`b9Vh%(_OSx5(vNuY1K^MBg_E^`4#dheARpT5}YN}}WpbhpYME9Xwj-uRI+5C|j zqTw_r`l&=vqwmDZinU24BLl)7y%%j-fF4gJ;`~QEs?T#x!nf#S3p%^Sxyr77d16rb z)aIiq^ifSX-@+%{DorgKW%N|9r5zO1r{zBSq){28^8%OWK?tk1P%mPe>Xdq>vm`?Q5UeBkMbP@58@!&bUP z)(%}>QB40#aZ*-x+cKS`b9E`sJtAHXo!v0dFZHDlr@F;+YP1-?MaXg3$GS8k9zgrI zbe0L_V<1PY>mN^ zgz@#-(FSq^WvQ+%%K0tLM><4|sN+F8Zn07PEZ2@}sU=mJ0ea)=D)D)j0rn96kDLJQ zy`hj6ED5QY9AyK2G%ZBQ&{Dtpw{$OMeZOOBozOR+r=d(YO^Vpa=1iT6=~893m9l!j za->0>in0yn8qjZqjh}DQ2t-HfkK4$fDFHfSMG@?^2V+|u38T&LzfMofC=m{8gOs(q zR|Sjd>-iqxP^yRS&Ls5wy_7uh2vPlkzCkF6KF7l4esp^9A*q@;jYm-c*sKBb$q8&S+wnC=}8L%!a+3PUMy*9;5uPL+9U(p9Y zgzNris)43gmeTSZFFBlIh3)l=T9n)S!-M2l3i?KAR`id&Wcd`Ga5BXp)};k3+cOLp z2iRGgZ#kA`m#(#bdpQ*}e)BI;N>=1sRjh99Kw0d8UG9baSlhcBI)4Cqo>5Umk0wXZ zrUqzjiko(>E|=QiqbUS7C@7uz!S`Ea;_ zq}G+2&m}?gw>c5=X1HtA7TMDzURV%z#ET8DacK{X}W8yqy6lr^EDEN=U53wfZ1Wr&43QbSwpJW{O+wm%0l9@W}u2zq-s*-fs- zJ}0$7k=f^}^bj$iEm60#i?yjv`X#jstdDgT+NqOTpSWgp09`Bt3ZTf`P7|_phwL?} zZu0olLd$veMhk0eDq&Oao@W!g)Vjv9_#MZB-5O>nZE6o{wW}%yg@}Z>*x94Gc(q`2@0Of+OP(Zfl0;pP>E;z8)3P-7!MrR!9=>!M;< z9}uIs)*sV=sz;fN9zIS9^LGqcT`qPBh3OGo_Y=u}%4F5ly3pPR>G5PIy?SFY{Vi1| z9Mig?YdX}!DE&IyFTh+w*8-?7F7o`TNmS+3iUR$ zJ60)wwr+o_k3^GwB5CJEf58Z!u})~GA!1vNPCSbK{0Dg+L09jxbbvkDhizY;7=e$b z+)TFX&D%0Uq-U9fE_PDOvraAat`y^*B6{Ckqxit=D$9kicWJOecPus1ao$pqwef7+ zA+9x&L90tB^BbYVK+-C0!j&6Khz9n7`A%xp9#xy_QsFqtZAYe?lw}6hq12G-P)dky z%<+-uM;qF_M|GP0X%YINEkr!CODqegSlcAm=uvN~=p=8U=$Tz)VfHl@ZL@u)jo!7; zCbq4sf(@*qy#hvZ^NOgbCVtws9=@xPRx{6%4)<{n#n<&xvp?6-PXBpa=c0rNZ zsIBQv)kWJKq>TnTkz%Ls4z#M(kth*riY>LNI(o~BV)3^Wzwp+85_2RiBwoK(OE+e@ zRg0bFmIJVty*3ol5}QFiYj#*Xe29|tN-Y__vRE9oR8NjXjpUq~BIK{7+3Rcqv(HD8 z;Pc+#qA8U{=sWo6PQ72ayaN3*bx3_&Yo(v(*j4AlhHuEQwmAWt)qkCq3Uwu93G{$; za3VhkJ&>Xk3TGOjt04=szgsiC!i0r-TyLwTb9EH;P^TKQLQ8fX(ZZJ4V2_Q|6wnI4 z!amj|`Os!K=(!=i>HzHXuW1pqrSR*i4Qke|R~VfF>r-z^w`z`SBO=pt=3jeYcDaSw z%=F4)O6n<@ys${@K>X0dQp$W|H^cs&U$3|5V4s+;oUTPBSy$eV*~1E$?rs~)$;%^3 z&20R58Ttz6RF??z-6fWAs#O|4A5yzjQx?D;r8@~5OKsKL)i`XPN+trn#K89$|4N>}bu3MubKJ*bnR9{&{ z<`o3noPb{JNsrLv8l&*URGXzv>!D|(ojUT+KWQ*H(bL% zkL!sEZP?J&dbF`jhwzx(UL!dnh%;crCW!=nOz6g=Pe#lY{KurIW%-D5b3N=bYv*0_qT&;iN-ZZ)CRcAPq{Dn#Qs5~T zPr}w*jQ(WSdZTdb(jr_F55|moa^7}_N?con??l^SuU)Y19O!qJabA>mL>qKzu!P*ctXRCkXB5~qI(x567_!<(GuJy*?a@a3 zsWzx`)|b-c?ZxUg^`&%sT1a)pMjP1|#g~vZKG@r0u~VpuJa;>_97Ek1?AKDsnC=-P7Wm;Q^^FKWi^lg<-OOhizqj{o1G&_Ar2PO$ogS_VCVSh2k;T=Pu}PGGBmw zWfb`b#8kAy?cpQKU0VoWhaEmH*dz1>FWAwHa~H*4zApTIbm zwTm0ORpl^0<^{NJNj1g7ngLo1^CPqChPFdhEI+HHeg#oBphpVBLF{(FnmYS=&4CuDW;`_u^RA!~>IRExgc>(t#= z&^Tc~{IpGNl)N>d&3RF$JJJ0$?b)fFbbs}*NydW=FTn@BPg?aTsKxGW4uKa z;t=NhNQJ%0U0n?O6F`5}hq@M}=^N3{K>v>*kF#M@Ne!-XvJQO#6UK6sY)>(0G#bCC z(L_X5y@R})?QGMYI7L$95KpSzlvZq6F&Yljo95u?JaCX@8c{i=4tXr{Jg^VXJ zEESgzDil`^2wPZ3ZUWd5ISt_m`q_@0pvWYkQwA3{>N}qJv#Ak<~Jl2*_`%;^5&ukYh zm|7@YUFINHuPavFy10ngyhil}+qFV+WmKKxFBh)#<16X4<-(q*qfOezs7hT?*mkeh zqk3aV*nB)}(`>sSoKv1*RX^zrTYl1d+I(!HmOGcZ#M$U~ylO8s`-T*W_LWtl!yBbV z<4PIYK8k|7mMROHX&<6DRjiB8jI_8-LewZr4^JUhivM+6@}#Tb$U%o zbqP5Tb!mF8cL{AP3fqu6)(t-RaQ*KEvDjiE343dEv2kK zJknPx_E=vous(FVnlS7!r59~1Rdw83MGr@dRc6@3q)@T?9E`DT7kFs&bWg8trJG9AdBQ^oJ{evE8_qzqFAV;aF zhJ9vZ$*$Xtu%Sk&-*E}buw!*0=?6IkjT?TaDEcqu#8`&DKFn3B{4X8S==nIRj%qqmo`B%v$A!iWV9^_aOf*dIc= zl-bmotBq~UKGqV#cf7wuqY7%1It5DFu=Mv@UE2eiqMXPc2d)Gm?^+$^Zw*oNzIO1D zV|rnP%krk#C2qX5$js7@PIZY3M`7%44omV(omWVw&UOi`oY?wd%ZkVii^HmdnZ+zg zdao@Ox~+9-ZuUl55t0jorK&a+(KfwTJ0yAP!&U09x>0kdGT0_eJCh@tHP%AQ;XSl1 zOEdfY^r%vC1MDG7KQuFJne7hKRfCLD{?iteinlK`3Qyl|lj;iVhgny+RQJzxN%G{b zc9Bchm#W7sfNo;yzQHCWRYo;~d?k`Rohps0SJD47t}B*OJ=+B+_4IX@_u*RRPT z_5HJ>;_*GO*O=}>|9RZPD1C8MSdwQv#;QYoQS!v3a!DR$pL?&3!iJSd@?7UHq53kd zI)7o2Bu}q^jkMdY)!1;OiB0LjFnMHVi6zJHkmNZxR4mMxS14Y-0aXuE^axcs7gKs( zrBN!cnxqhHS(KjGub0Ye1jde*wdI7h8*KZ*{-~I_p;)+Up+m}FT<@TrD;%oP%d}Gd zY+RaDZB!3gSt6w`4;ta;ap4#awma%nF&VxhEOy_ZmE<|QMk@^T7t$^jrBa&I6$<^< zYsonwmn7ezq>#Yu-^oLINj~PY)mIn==1XSBW4^8PLgm5@kc*{Roz~PiRCJwueOO;g zM8D&j4ONmnsqh>1!q}Dd580%J-=;hI{Ce0!HYL>-kxMJ|q+^K6^3<22|5r%Ps*&Ym zzDQ>OP98Bz@^wT%sy)VGri~8i_~*jbsA`LZE6|T-$76naHWp2XjbrI#*cR5$xQIFS zFtK|u=fU=L!q|#U?4I;F7_Vv3KV*{%wuX&=&w@SVQ`@>iqOO(8k7<#ru9%#N+9Y{v zVGpCxa+1vYDwt{y!5+i@oCSNvra#g5slzh%{2iMPv++Fak)~cw*Wq5k5p1J^tzpw~ z^sA0YC2y6|CzIW@4nE_kT22e-YaKG(<1yHQ(kjsb9!bgxuvRYDi$twzOQ<+t|{c=qoBW=(JHDqw!@& z_sDjdr=|WgPauANRAHm*^XSyVM)I)!ykc`QYH^`5Nv>U4*hrqt^+k=YUrI$$Bl+t0 z7dN_|3*p~T9`OFTjmu;5!m38{j9OOQNS^CqpOw=!7)vYDmu!qSO6#_lHm0De4DI*gU?FwQL34CM~&-lsBs zKJ2A3t;3i|Idx!NAH~$Jw(<4T)D)yw zfAs}P52@PXIqmOnd`bPmbU{;l^&hIx^*z)tK7O}UzrMcnAvL>)&c+A3GMu;vk7olA zGdVs)zJDNQ&pejrc<_v&Nswcm@Cu&E998NQR!j*I$A@m=?&WUbnmrNWo?a}b_6e6n{X&Yizv`qKV~j&S;dm16z4m-k6+*rj zB!438M4XI1@`uBHq#f?nt+#pcjHs17iD!onq}uTuVnBLEbV`Xq*p%ZYvx|dxW*pC9 ze`6BfnCQpz*#Yvv5}k1UHk~lPC`fMm%uDVl#dzu$B1|g@k`doHN!}I%eAsrvp3SV) zy2-UwI$;Oy?~nY_gJ&9@Bzr%>v)*nz+ik`3R!)p99K=`PL7Q4gUY}^kGeS->zX;D+ z;5oZz3h`_&@o%HKm6Pf&;kG|v3VP8T&8jj~6 zlYC@FL6EZN{@%{VeR4eC_FSPG&#`&PYL^brZrRDR^L2QZ*GgV5@QUk)o5gYGvaQ(WGn*UvTFItd1J2(>J|2l@jj}>`rpY6+ zdnfB1cJaq-6Wx>-viyQ)0@mjTEZed@V$f!??9DWZA5An^cIE^vn{6KR@0m`^PWbJ2 z<>)M1kw>xB3}cZhj!xmbRGFA zJB0g*emsBR75Aol>Gm9hSd$(Q_h$z1JhoS?%5hu%)Q2p8WJJt@&TIK4$B*Z+BjzI+ z2J_kNyyiVQk({<2b>ZwzwI(B#aUm{|ezObO}e$@4s2*&o}nHA5a zBOa2m!=Mu&nu|YIKT@50EC>xkY(hL@&f=X9EDM#5IPF4wX3F;gKLyQl_Mo~dW|;PjeA(SjgtSnaf^WlFz&3#0sx0j7Pk9KI^b2SEzqIOBlW} z1M%5~Ot!7i1;GY)&%w|h7&yQEGkS{uY<4jo^M?-j4U*LuXPWz@cq_*rzdcV=UFnNP?@$Qh4=l*%@@tc zg3jkE{WF6Ens=PB1TmE+*qf7XH4ZcJ(|k405FOW1y%V++B1R`jjXNScBw|dkJ1Sox zU&PwcN$@u~5PykzYLsK~j3jnGlyoOvA$v4CISKtpq#A#@c6cu0vlH02umc-LXE^7+ z8N|uA`{`&0D}eob=95@84)cR43^py24S`Lk*yXop=c_S{-S(vMUFfmqF3eDlMYxr6 z7^{#SqBy%h+63WB5aP2luucSV)KMwUi^$`XL^ovD!S*Xb&fKVYmWKH3LoEuG{T)+c zz8IXuZX%vxSH~>nWN;EoorE|j$lDKbZp1@Is`1&!p$p#(j>H^SF4nUoAU-=o`C>R? zAHp2UbDtnCSBY0L#<`uB!`x02;xc!3DRf>prLe1ExiNQah)az_IfCQa%`is{#bIsl z?{J<*tjb-)EbnU*gn6kX=zErO0MFargY01>;#gu~4})MAa}g7muN;bkZ9^>Hx^alp ztdCf91@VX>S=f3iSgr%*0BleSQfUHl8P92xT&$ft< z3A>R4+m{tJ9r5AkTVzB>oXcs?@*~;}*@zgS-~`q>TSi=6fzyFFlsxdB;-l*ybg6Ui zR1TVNpx8*VOqW9Al|r;v5#qTBA6k@`NFIJYnfRmy7L6tUn9E(YlrDE1>|w8; zas|R;9k%8;X-wZ>?+nBi6e{6+~MiHcXmA1X`oLk%Ft7+_p>Y0IK_Xq*)HSxk+9Es%B9d0)n4yZ5||9!c(#75+Gbz$ zPeDr+VhvLvV&o!Wm$Mkf*;4%F{)h}VANcJL^t*?nViB8^z=L2zegeiRFkvmpZ1h>+ zH{qoM*m_rb7S`)A_R+Wm*!)~2>Ohi?`lQ7(64=#h@k*0im$DDIBnb0z*Q;eYtLLXG zKXoaDe-`mTh|!}M-mm-Tqc4G9qgqA`;n~kdBd)6&&S5PRt$ozrQP}bDTqPg%{h~hu z4n-V(n+)Y_a1dKEC4tj?^v*6RYFys5CAo-m%TT`Wo1olAtXIOuNa1+6TiNW2Rf^Fs z)7;vjHnEsbgm2iK5~KF13gUHikxbU-M$@{2UC>#YW73@}ZeM_Qx}}R}R}jP0cXhJ! zKnut;>U|#i9|J#CRu8vY?^EFp)j$2|@C^Jm3Gqf*P8)nxwC?b7C{vCi{*hvZUQK5F zVps~|vxA&j9hne<`G<@39nON{M7AiA>8yD0g>bANL%WPgg=nL%Jqz4j5W*1Ck%w3+ z#x9~yD-5Ce|2V|c(7LQFH3pl;a=$5s$_>Ou-l*nQ=i9U55Z4|;YeJawT(w;Ef%%BX z&PP0UQp^s;%|A)ZRdhkIG513Aqd!Faqq#5+_9r&_81#3>n@m?+9KjBO7bj8YHrpdq z9XpA#TtqqQL*}nk%SFsF`je0Zb-l)E*dvOwD}oK87}KK>35a_Qa_V4v&s9r7e6~Xg z0v@vIBV>!+1`|d}p;giP6D`h2PNM&3}$dbJix^OOmjJhEK{6~ z@Vpz~#UqH>>bfZhvXqWk1jfQKKS6OzG)5~xY`AnTj#b5+1lc266L2BK!SCzR)PCy{ z?DV%CV}*U;Zoa<-V(IHAIOk1C(5)Tp7PfWC0PhQ9p8UkEe|ffBmp-_VU5IeU^vpq}*j;@V5{+qn>Yt2oOCw?eWNaetsIS5Z^+wStZCdEp210HY0P;Z zviOlJSD;v(U!&64W#G@r$%W9FJgkY$RpWv?Z3{BoHx()$jSk{>f@2X&mFT=wEeQPs zVj2;LNB);15s_HOhj>}YCHbRwDe-E5VM9z@CHOnG_D#b4POc)HlB4gMQq;9AH-ht( zDejz@{ox6m`nz+X`HBnikm>!grV{hthk*+o&2TBRX9VdeHiq=D(XI&Q`lL`-7?Oc? z5?GURE|hnH+@1|18I544LL36c`yB;NGh-b6jS{P?13vAIN>T*aq2zH%dYb#vVQhUL zd5*-KBE^;xe{UgfisoLiHk987-wUfHsBsbB^hm)}Rf=*xEK&*E8^PX7j6|GjEHDsL z443lQwB%gjS~bMEwa7&*Wd?5xSuPCCa2DNmvF%YQLPO}-<*)?jJ@7ism87eRzUL}b ziR?4QZqi)ab@2TTWQ*d#DfXXYkcrn3h=)8{KLyv~aSXlA4`n+#BGz6;+-->4sk@QN z(y=z{ft-N&#~|kg%$+Wol!kch{FuA2{lB)zhaVnuiVQdq@tB|Ybt67JQ^`mFdJ(b~ zyHy6B%~9YoXN8b+(s^2gLH!QJg{UzUIDZFm_!LJ*Ym!cdIS|8}`C^$> zpA};QQSATrE(xpxV#p-mfP>)b~q$K zxUEBfjlS+gc#866$246|c!of@;ZTbtW%i_e{YU-tbrh$Yt0X8B5nJ=(EM};Rc?bh+ z%K*$JC(bKC-<1bkAHiZbCn|%|lAR)AYaT%MX%6R6%+*pXB*j^nE)`>LmabuL0CDRS z?^5wpGU6uE)V?B9DWr8boNVXSYPrrOqYHKW>N|w97*Ah8Up07HqH{wJrZd9+P<%Gc zDZMqRP^X9exq2IMC)<;i!D)$3ip#wQd=rY;8H!y)Yz*dafzJvvS=%fZ;vvx|LpINa zB=LHC^Aw7|ybH>16Db5;a;b9iCv2* zg=}V$jP)v+YCQO_ZQ}Xpc{1X$L)%kq^X9lL-feX#dux0I{Na(1Rm`bpD~Pv~odv+h z)ISL45`{s_^5A>PLOf!+ax^4OM{%pWqJlWt)Qw7^zQ(~!b*`N3`d02!>6ZWR{j}(uTIyhEuK|gc^akkD)p)Bdm6wEinKLdMNJGU6~g6T0gfR`w) zSwI}Z@I@}?d0^%c*uxXSg+kADGRDzCSaX@DWVT`YmfI0O2A{75v2=-ZLY$B8$6BBk+hz7?-z41w#8i>oS4UlDO-s_>MSRXl ztQ8arXYi3&<8l*yk_mCOXMi+7A9FVr(fcpg}Ii2laC~#o+?7BCc}=qximJTQ1_U zvz#39M@z>g=(yR9ct|(a2&eGguyG9W(uD;PY(I2>VqwoT)Q%S+Q#WA` zDK54a`W3?6cjOGjNu(p@h~lvm5D!UlTLmaj7Nd0l6t^X#j(K6R+<@3e1LC&${ba25 z&*CD>im@WD_L`i_KI@NI+&fAP%TJF!5ei@E)(B-y&z$JBJyWB}Ha0_FJa0@vOv;F4 z#Am0&=A|kV5s&zsI~nUk5c>@O{bQ>_Aq%M(ljW)XO89mcZ?`!ezL8?A*N6wMO&2O1 z%;RK_&cLVmM+nnj)j{VVQ+p%w+4_zNhV1ZoJ^6CCVV&69BU~}d`=%Jkmq4+WNC&Pl+i-^O^t)Ha3gLv$N zEgWoQO0x5_E^hr@v`KlyZN#sNQ>LPCF0zrIUS{pK%53DKM8sOBsp|?t_vW!at7O&w zP@I~8xnU>tjO*bKfsHy9oF+8LO=Nm~7Vb$>er(~^1);Czg`v*dh|eY+xv9(N+au$m zuZKh`eGmtHC^Sv@xMyrpstCfQCi{5Vryii2-~Icq}(?wT^#P{={K`!ix_zWf4gY>(9d4p}pz zXno9KtifrqHIIE28y8Lftj5Tr>cJfT{s33ZP1%k3>{O-rdZsXaaw5hl8ESm?NjXjT z)S_hQQJy-sNP_)|*_4Uc#XPig0q|F*v+}`W*vcGrZTMrWT}pv29^>O24q@8tk7NFmmmv#*iO|;(CY9 zlhHRPVmy?uG|J6UI;>Op=s7dc1{sL$h+vNF8A6X$n*FgBA{L_{N7pnfol{)u9n|?? zaF9WwdF4By@HHlJibK9!T&%l@xTrnh`Fs}Qkavbg8h)u$98I`l+#Fe1jJTvVu``@B z?&*_OtWaFi?1TceNh;zIi`jU@C5>>;;5G7dlM716Uk=jO&vxC@HxMXbrAMbitr2KqOJs|v2ln)zFHiiqqwLOp}A_mzpq-5 ze!-KO@X_Td9W#nmd-&XBEsn0~_Dn{Y6-z=94-OlBBpLCDveI^4vOsGHi?6!`lA|iS z@^sYCpS3x3Ew;z8I~OAiI@rr$uw|ipi`g33A6idC@jzH#$lpd>=pA7HPMZ*?r;A67 zRRPvA(a%Ay;?NEZvAz_Cd@eXhh~AXLE@FOJyp*o4PpO}siZy;PfOlk0@!7#gW(bAo z*RR_WfDcn)594%X3mU;z)jmk;kQC=#U`iT~Qrzf3U^lYQ)TR`d)MH(uqK6(;!d!&m zPO@r$tSl1i6wnXoa#@q?RK|AYMAKa9H93ga+^g^tL9Qrv-^FSkL0@?)kN*&v9(~W` z#+W`2F`YAn4|^8J(3)jxH^Q{;@h;5$$ZC9c%+@$%$h=IoUnl$2VtcyMHX{Ntodp<| z6a$aQENE{g-lLO;agxl){+vOR&^idxl?tbF*p~2IBVj4>saY;5=;LI>W2YgGJCqd{ zrSjE1BVw+i4=G09OKZXAjfitz1J8=lkI?$CL^s+VJfpd=YQQ_amr*=6;jt{NRg+n> z&3T++_$kjI;2-%&sE*cQQQRompNqwbdI9!NfKAjRE^0?uhQY|Poa{z{v$!~ieS|pU zq8rYrqC3aho4|+pW71;|R>+C|qe5J?0eqeEQmS)POPBNOmYFeRmtE*DQu-ArOXC&9 zU&21Do599SP3F%hrDLohvqsxz@J`DVU7r+~Xl!DBvQRCnK;I-I2lMOb3yV{AS1+a; zO?zDix}F=FrvC$R(D_Bh=rE{EN_n5mChm#pGL%cVsA zF6>{}_EeQ$w{?YBhY{hl97$KpcPcnVU59a{NQ>8`b-@$|{WkC+$KE&~!uM0%1u@OH!YzQ!bR&t`xG-)FrTn~(qym3H!#2G7_la)%asdW8MT>_(V zkMUB3TAo{& M-v33#q6Kpbcq6%X0X^k@-(>rGDSi|)Q_(aF#|1G{P3vDr$p<|j? zZG(Ql>8?EW*Z^IoexKs#X(Rhwe{T-fTBNGSggru!$n+ewJPepSy-ZhMMii;F=Jql%b9b67TM{)G(2K!9!bD=m*+GyPctpgM8WU9xQpi=w7ongQ(db@x=-7HIf?K~7OG{X z+_U$1rzh^&d;D1}Fu2e5){}7$ z@1@fdr>6T{WvtgyO>Vs>!#B_HJXt$qMl7=T8tqRNC8~DEdydwDc)!#BvreIY&tLeY zqRN%`H!lE(dB4;Csd>r1hluyf^vH>Jx?Yy1N8TSlUmX@qVZM)glZleKzvd`5a;` zTb$qXU5kqSj%mH8@9({F&)##5J#o+8V;Zw~zti4yF4?bqH;WX%@(sayM&IA}hR@db zxbr4|d1<#b$FDq%v*Ub!&K!Gl{Emb3 zgdHsKyH5DocO(1kyV-o=p6R?d?%DgBqGJE{EgNs>|2&G%_TEc-vX{Oat>57m>50!i_rgo=S+CE1D`ny0cbBDp z_|fXMpJiE0-@_Jb&)&nbRjv9M3y; z^za`C5A55!`}f@6e%<+V_KqL7eV_H+)-7Lu^~I(Q8SB@rUGvFDD_5j`@cz3?-dVUH zdEOgyUVn9_d-}8&rc8b|Y2vuCqel!&7&3U^6a9L}_3GZWbH`X`RJ+zKn?*EkRKITR z&>B@MS1cbS+RQ+#w7K187OQ@P4+VQw@B@5dBTDgwSmb7ru?*2<+!`4f*}8S>$OaAY zg|v*Jo=s;kVe>Hj;qKuNJzu=P_U^5vHtj~Qkt!({ zJ==GSj&9$kd6Nb;D|k*)xda_Hz1~2ZpdMlIrol+X`Y$e*vEsuDGPd-Hx-C_=lJm{g zE#a^Av*c(0Bj3FIEvd(uGiNSdyjWORcu(6(7fY+hzx(^rx%_t>hgr=4zmA&l#sB|I zW@cts@60fM#XL+~)`9h4k24p0nmx~EvShZ5tz}=cpV=SmB74Bf^Ljj*_vPdH>wE?O zjvwWJ@=&3pFjjb5_*S?eRMqv=&D3qt-PX0%zo5_3+YEyY>kTI3NMp9KnJLXw(fqc# zqGg4pr8UPo*;d>Bhy4R_oYYxv9ONiht9sD`&*yvQ_XClnaKW#aoPBDq7vF#B=F3mMvU^tl*H6xQ@y#0Z ze@U6Ourl{?k`KFW8y%Yu}vc-y7_yyiYn{K4dyqvds1#DAYV{hSj@otV)^E@#yh+o@W-VH^Zrd&@#;L^q^AAYwyfP2$j#w-v z7_%F!^_~mJPe6YDm4N+g`4L$))_}EUomg*Jit+3PHk&PGAG1wt8{5rJuxm`mMP7y1 z;SoHFcY(b~fW?@~U*m7{RKA99gyqQQdtg1z@$38nw+I!4P$67sEj%K`34?@@!ZX54 z!W?0tkScsCd?jobeix1jmxOzQMORtZP}fY?Ue`(2OV?jFR5wod9Nri5hVC6*n(kBG zm%8tDyL1P1Cv=x}chNP<`fB=m`eynVeOG;7{Zsm}`pNnk`nmc=`sMmH`i=T;^*`x% z>yPNq=nM7t(09s)Duysa6GL0WBZgjv{)S!x|8g{F5+sisw?wWbWym!_?zA51@)el_he9W)&?oid#_6_{?A z?wN{Bdb8Cmn=6>BnnTTX%ni*=%`MFB%uaJhb60aOb02em^ONSG=27OS&57p8<`>K_ zn`fD4o9CGqm=~MhGpCwYnb(*+kC)$#GG$FZ9Z?lV!md+ zZ7wo1i{4_kh?a7eik7ODnwHv@dX{iYgr$Y0jU~zwYw2X^YUyc-xAe0Nusmr=u#B*b zv5dDQSteViT3)iaEw5T;Ti&!JTNYZDSl+j!T0XRVY*}krZ`ok^!t%A{Tg&&B?UroI zE=#UukL7^nuqDrO!g9uP!E)Jh)pEmf$8z6NY|&Ybz*Um9oVB90vbDN3)LPqG&)U%1 z#2RUBX>DU|Z*^KbSUX$0T6djp)=AdqtuI)oTiw=K z*4M3XSl_aySQlCsTi>&OU`?~Gw0>e;YyHfcVclr`%KDA5@nzmZDI=1?@ zMz$ulNLveAYg;>8v`w)+V(V<{V(V_}WsA4PqU~AR zbGE6r7j4sRZre=TYqmMIH*9a&QfzPA-mxvQy=PlyOSOGyTV?yiw#K&3w%+!+ZKLf= z+h*H0wr_2jwjXTUZ9mz5w(Ye2X3Mqhw(YYWu>D~>VmoF#ZaZl^Z98YXV7p{1uwAuX zx81VcvE8%%X)CsIyUuR3o9$M+XqWBf>=o>l?3L|R?KSM7_FDEZdp&ytdn0>edxX82 zy@kD%y{)~yJ=*TH$J#sEJKMY1yV-l#d)eddeeC`0PuK_82ib?%UG|~&;r5aC(e|S`W$@b^%Q|&L>U$Vb!f5kq_{+fNZeXjjY`&;&8`vUty`#bg}_IK^?+n3wZ z>>t`!**~_gwy(9Xv#+;j*f-cW*}t@Jwtr*aYX8ojW&gpx-M+(~ZU4o-%l?}^*S_1n z$G*>gz<$Vn*nZTWXFqN~X+Ld0Yd>$lXuoVPuov2|*>Biy+3(oz+3(vQ*qJDZdeJDF zM2lz>MNt;ZiNRt;F+{8)Ruij>HARP5TdX726B~$)#Bi~R7$G(jTZpa1)?!<+y%;Sz z#aOX}*iq~(b`iUYJ;a{kV`9A6N9-p)F7_7(ii5==qDxE=hlwM^QQ{c!X>pu5K}-~% z5hsbyiBrU>;)~)-;>)62oGHF4zAnxY-w@}C^TibLZE>Oaj<`g8SA1VwE~beeimSwr z#ns|kahLFy|_*MQT$2#S==f9D&~s2#l7Nw@u2vJctkuV z9v4rFr^U14dGVrnSu7NKs!G+R znvz4RE!C0gNe!e%Qe&y96e%^AT1u^@wo-d3MpC2>Qb(z?)J5th^^kf=aZ+!ouk^Uo zUm7S4mWD_!X{a<@8YzvI#!BO)2~wi;j5JAlPMRvcD7_@TEV-qb(yP+z(j4gxX`VD+ zN|D}{7DuBu3RMF zmmkP*Co``TPs5W2W@R$ghg4xTSs0K(W7Z7lAPU}y&a69&WBu4b_7oe=MguE6gK@<) zjK5!FZ?O4nAzR8mU>~wi*rzOmeZjtAnQS}DX1@YQ9AHOSK0D1WumX02-DQ6=ft$FU zm*bUqH699d(U3RgEqGfV!#nUtc@K{FSMovJ#Ygb5d?KF(-EIo?=pzgeh6uxjF~US)vhad1LwHSiLr4)83-1dnginOegpI=2!gs(dzX-X)e&L94 zLO3T}5pDpzAVyGU*9GgU=t6aMb>YAe&4Ap^w8X6)Etqn1Tj)rcAc*7HhA%@|Gv4$kW^M;pzhvpiR4T}xS3?CX+ z8`2G57`7O`H~eJy&9K+-hl-6Z0~_5lFr&#R8iS2hjSgddV-sTwV|!yP&`~dAKjR={ zf^oEQf^o9(Mc|{^#`(rY#`laXjGq|S10iiOevc93Z^nJb!zxC)V!UZAG72WMNitPb zQBng_Q&THbl&OQMtLZUQKht2-P}6ABMAKvyC(Sm!rQ)PC)5oTDrVXaerteJKO*>7$ zn+}+cnog=H>87d3#LXtN-CW*W*<2GCsgXIt+{zqf?qGh@+*3tJL(Id?W6TrHlT>{4 zs(G$?zIl=PUGs7k9j!NSG;cP4XWnMcHvj6uM#s%(%ooiC<{Rd_<_BgSkdYn8s1lG- zsHKjjfu)J1xurF5k)qtP|@dhFI#5<2h9Zz zT3}sdU20usP4%Fl_0|p6FRWjy7-+jS+qz3dKnJXct;eh(M`+a9+K0P1nshS^5h#sc#s*(TYZ z_aL5EZL@)Q=Gzw776I+NZ(D9#Vf)Co+V&}s&Ia2Tz&TrN-vQp(5@fLY!KVp$5j@&WM5N}!cBz$)n~ zQuzuvyeXoj6jsTmSP?5<6;F3c7b^A?Vk|Gt6=zvEEjYz;E6~szF zBGtuEu@+EBePEErKp@Sqb(K2x#97vfhy7F$(hv0dDu;)>sZEB1){ zR8(WDb#}{8cN|FB+*K0 z0~`@8IaM6-sMJ;J?m-d#q$fNWB0(A^jqo6diBgjEEbzk=>4k^*;WcTtG}nV37E13( zOQd%_*kPsgk@ShQ<{@(U!h;*Wld_~Ar0ow;L$0)2+AHl>F~d4UiBBqV6*&<4=>Xa5B%I3geO!2}mnOi&Cv*WKaGq+~u3d~rC8SQZ8s(+Zu#vdjm z@rRuM=C1;f7NwehlZZjS?FwV0M_ zv%gN~fwmHW%uK>5zMZe*OZhAyzL9(|@53MCUDec+_vTLm4JPuJc{2P?-}5}K6Pf_O zy({DhyM#qTf1#dmpZ@_gxC*~`iI3w?@h5mMpvjK>5v0z%C-NJ@$MEO*9KM`?#rN~O zyq3@xm@f++Z@17%s4NulT>d$Km%qxN<->V@+}{b9v>lKsVbe!=H{K8VPDCjd^3V7$ z{35RiH2J)+PFN*8E3^|V!fBw<)jS0y7|REu{GH%sZ^fJQNZt$xw;i;jC-NAe7$qzdmVgUQga`Z(-^`c6!!`-Nwmv9-H12D{8}SB6jgU(ll%prOGmg9Y zdqBW@fOKo4{-+B zb~>SzFhP|CE*#)rq8;3*!$9~QsRUtoas@8KA8F?jzE$USQHofM6-MwE;EzlPCyICj z$i(A91EC1xfzQE(X^^D8kb#ycK`0O5LEOg8NLJ)j1!Zaszh)1}#U#{sE&mN(%v!iV z4qnV_7*ni6OFoBoi04i`t1e0qjHjEp0m+DO!Mp}|(HbQjh`P>&?EQq%M>X8vRj4Lh z24~k`%rXfw(;d%g3hq}%3Cy?~!O{4%U<_0ZylsgR_D74phLOz=@THPeJqmd|kCynD zzoGK6E4UDjI#k4SjkuqZ9%Ui_Y?#W4K72Gd_5pZ*ngyhM~L3=$fHdX9wLyvMijeFmwX z3LeG7HZ)gTBN*CX#oboaryQiA7WAS$tldD=_BH7D5Bxl2(h1FI0?pdPH}FMhqtPfM zNkk+3z6we%s;L}GPz_^xk|(kdlVIsShF%o#s^CHbWI`t#LhCN$uRtOO!oEl0xAjr# z%BpoB`#_r62z7V_WgHGGm5efLy4e#JA_{i)IHY_9JOa;x6LI)mOXx;z$W>M3QW?)D zuYzXho z6VWGqfR-Q|)l3)+Pr>6JUVaWv%)p$;laRWOkcvp;Q4hJ)fsBTOyHVg!AJkzoxUdp3 zc!t|h{&DEB$l7yoVk<1=8?Z7X(O%u~ytXJu6Wkk)IhW>;l1Gs9AXv%iux9Jf{sp{} z&>bEN>T#lkAZXVPSgr-QJ`Q#)9yM{|u2!(Q&GFeD7P32R%W$;AYpBDQ;KE(>7k!19 z==Em8>Q@u4!&YvB*3Si}N8?$P$0KOHXe1|U)eSXx3b{{*+^mKy99Q*n7<#PTpux~E zop222*T4$Df)*KpR_%?ac0t`c-&7Q0(GF`c7qmu5gij_| zxCF`k0zLCQ=4_527ee@N}~;?NG;;EnlKco`h24B6g~ zYoDm4n2erdD4yCMxjc^YJcS%5@)sd7??IM!z)z$H{|BP{yWr!QB|HWn(RIF8Ex{X* ziLto1FM5Vf@JPj~Ua4*>1{taHk!q2{@gGGXNz*Z}wGKUJEIdsY`A+n`OFa02@JA zGJl6>pqIPGYr;0n6sEy1RvEq4&#F940|y7-X$myFDfF`r^s6>L8>xA8Lf*sBqVu5J z+u(C6j~?qeVLWPM6HcmicmtdohF=kWh=4ZKhE`QWstN6Ah&*DD_h49nS!i>zaYpnv zW1tn00u%m#U+;Z*{7A2QfOCW&NV_Y;wp4`8tcE-qLsL3|pQ9j`@1Q;QB7&hY?(d7< z|DI~2-hm{I2Db=5G)2j4pqDBK>>%N@5{~Ml6i)DXDC$8tXcu~a2e{Z%s3}}UORmM) zDd2T)aGiP#2cBOJHqMHEo4l8rooomFcoH^!F7$f`B)bY^sRQ_U2}jg-Q}0h0s2S`+ zb(CMk-DIoH9$QWLp%dhEyvm78^xfsq4$*=voCY6PKxZa^Pu)<5Cg4F8^f6Z4twW!o zM@~Vocy&;Z4v^N-Xwmnqwrd}@u+-wR?P~SZb zmU0uM$^dU^3)tB_v<+G6r@==;QDmnz{6P0pzo|z(DxwEy0_p4pnR@{i@pEWmF|b&q zV1Q-Vq9VDm(8LaC$@*x$aws{Lyr>Dwk@ZlS@ zj#h?_;6ptRAG~GYXjS4QVbXTsgN8{zMGjPk2*K=W3pXr7zlUuRjBSf{SwRbxD@GSCCbw1!7*Du$`2$|Pa)X{wbufFQSqKoI4D#CE`j&xL&& z0^N>=Z6FLor7#15n30nV?F@y!5i0HnjuRTB@qr0^?1KKP02YdR?&n}%;$WRysPza@ zb<++WO283Sk!ut1u?r-B94yIl)chp$qBXF2E#W4tcLwBi8YJRzaH1`KOXCZ&59Ppt z3aC>}NNO`^1!0(H&~L23D2MD^G%N&-(+;4oAR9&6Nj9pv$3}&q4J$!UYaqwQ;BiOT zkKt-dtig!!3Q$l7*!nh})>r{fOah z^ZE!5;RbTt0R5ba>j}^=>MvU3uEx-WaD38uQ$fy80G~{Owf_k1e?sNsaA5&vPYA;t zL9e?C*Iqy=2BSr&&uWWSX^zwq-<-&`H>7a_`tNtp`|gC5tbp<-qVIo3h(W)39xa-V zesh+J9{NM_y5Ol=ze#gKU6AWwwAFL4r!;oo$L|5d^hO;vgUDXr#knnLqqoqe6Tr_W za7Q;J2xOx0w9p>?9$BfC;NoOevpV9}5zuDREDeFw zRyE6syq`pyzKR}h3&yJkp(WxUhoRpi1hN_0JquTT5eQj`imHAS0tts~cLG00sk%wy ziy~;23%XSw2xKp0Nkbsi_YwlB3$3mM>nJ}&Aa$W>gg`V){VA~6by(`hA<>~gAiH3@ zv7+xG0%?T4L9=oeSV;|mXuU-@v{WMGb|qSr5J((&Q3cZYBhauf0;%gkAmoA25J)i2 zG=P?N2B*hEHkWfkAVJX1Xh_pp*t`#s??iB+JKBv92$g`WJ&pXm{Y4$LNG#f86y*M0 zaPBC#!osyhe{mA|rGmrbp$U(IU)rdddK^LRamafhf-B@ba6-O^Lw}b*hiK#;4tX@8 z*W0Qh5W+B>P|^l!9cbLGZ34cPAdsHW+bPg-Y7Igl%>^U+ZfZ-d-+aW=^Oi>)w0@I( z7#;V5CU1Rde-V-yk`&&BZv3YzPk_Pzd2fxM%@+0aFW$}Yn27d(d8)mYp_xH`ApHCS|Fbv@b8)P#SJSI#^ z_<>L@ArQ*J06V=ItwT79YS98^(2!VZ1VXhSK6p_Ol_3dn-gO5XpsV!{fzSx0Ct4y2TKFOQEkYpe)iF2u z4#>`ywox=ns)SS()~*h?LkNT{A8vM&ClqeGh+@ z6{E$GYR|2Wnln9p);L(Icu1BLwx%T{pankLp;TQ^zo%f$34yGKWxWh8bX0rqXTS|Y zr906c)Nj(@^UDdvKG)nLW`uEL{CX(nr7&U*5dc>n1_fW5`XruYy z#YFIv^5~9|bVBNkZ}E`VktzaN2n6yYWWj*(5%rt9F^l2CcbWnD38h=AB9QUm#sFB0 zc=QiF@!1Fb9gZ4ILyxB+kOH76MXke0;bZv4$j^Bh$mC13>3kJ|jD`jdf_(ME-Q)#H zKr2ngXl?=e%&oAHcVHQMBJ$-6;RB4_+dw~0qdh-`^?L;pHx%~}66*jCM1x|%lgDsw zs5%d`2<@H?9A$?jjThDe4Gt3;q31jb4JZ6Sz4svKUl-gL1*xF&72jz$5`%?Ex7~Yra6=d)FxK#xd~UN;`hhUW3>@RAgZW=a2NJ! z6UydBdks>xq7^i;j*9H7KtIX9SPwO75AHkxr1!Eq>fQ^Ps*CxH9^gU&Wb`u?1Cf2u zyp#3u^vbZ7<hGufs;-0IReTYX*f`tpH)yLqmHo71W23g7~xS#Nc zW~0d09D%kaTTk;Bow*pG0 z^_woW=cTd#ZQ$A($bn|$768)^gTzpOQwLli?*Vx*Xd@IvzJKyRv{w7>XV7wM(4IGd z=BlYWkq(J|9=fOHKz$x@LF>D<94sgU`Tl7>YB1XKO-S}m*!zmWg11qIbf8I^%_479 zQ_r~Fgr{p>6wRMRWoQT;>jJq=f(CpHDWV*x43vXb2Ff7<(iEbW!JC7IK*)=tm4W8O z-hjQP`Nd#0hu>5_OjT>)L=Iu7g$zFU=b&L2ZyDZHb0|O#8YefvI=!H_g#rztKGWBm zq|M`0LR)Av7&LY#ALY*&V}z*kK;zvdunnVNL%i~!&8bl-s177iRcu|HS-cE7)oB?4_Zfcm};%507rr=pqPt zARr3u5)2umS=P4Do5xXB(kz-&6JVdB5EFR;eGu6P>igrNeXa0Yn#ZYtJY-OL@Svtz zhZt~yW`btH&V9r4;i-+pJaG+yMkq8+o2F_f={H#j2apHhkBYdTd?1a`18bIY5-iLr zV3^ZfL>(RnFKL!mvy3R_Yn9ET*!s| zYTu&QosCu+f!}lmFIs?~G}^0$r_(%46Xeq8^Q~=<^t`*vHV&m%(YmLEVu@4036QM6(Bv zq6P!N11iCLkl`HYWfj=jL?I0n1B-tV?LodA@?VhmpfAcnGdUfQXddP<^fg1FlQi~U z1+LMWzc97m+@#hc6qf2R>h>`-%#Gf66gc)cO5Fox>5ja5qh>CQ+Naw{(oyUW3J)0FFI{yT}7VK9DDH|0tAT1~e)S9Qz%Xp(3O)5%?hx z2NH+_3B-W};y^TCP#_K@5C;;70|~@|1mZvfaUg*>kSuug0&yULI1rl03B-W};y?m% zAb~iLKpaRQ4kQo<5{LuQVo?HdAb~g#|5&v^97rGzBoGG@hyw}4fdt|}0&yULIFLXb zNFWa6e?uII_7WC)?+HYw|u3KOP9Cwap~WeJ}zCJG6ndD z6B?iOOqMs}y<3~{e;tV5lFD7}JAD=KVjIRs%yuvKT)-~$AGUjJ6(WVaiK6YhBND1M zV$(_zy+`5(JL8jfv+t1B;yuJu@qWSSc=ymuyp?z!Tg1}XYP^~FJG@nJ_rsKp-xeBL-EaGcX8pG>S1)x($p7QV@3MCxtqaumXw76}J?U}0 ztzS#)@D@$dfCXwINv1U7Vfuz`z#BEULFP&7=ON8T^8Rir-tnKsit*OXO-SkZMH+Nz zvHBbO?L2mf<*;CW26~jO>Q2dT=(lO?Jj-J>_)YcAoupq>mbL2BD925#2=DQ%481+h zj^io6BGK8ektoM(Ch}tBZ{dZk5PE$CiSnQ;n%>q#bSYVYd+Z*5LAlU1`kj^w1*pA`;z4d(BSJyFO^W)jcNRNjH(`KH6*7Y3(Vk1iFV((C0n%d@*>UU2g{~L`OGK z3yb=V@+M!ZcD)VapS7~pKq=^#RFhyt)N0q8<2pU9kk!VydumRUS7pz2TDeSj6tem_ zhyU-bCVH!gc7F{-q|y^Fs@E^7SBsHXZO`>`h+EZuNm1Ts)a!agwAS~WH6couxON<^ z6pU{-@e2#$RU3QG7Bd;&h$q1)zjj?xuWS6h%XIt*TJ8Y&XTkMCB(0apt>*QuSq!@FKj;X3_RYa6;=13YidHTgNn{y^T_ zkS^lN0o3E7=XyHiHJ#-mX>xZ4SLp4rXKp6CF|Py8c2S&X;Wet~QB+fBH88)&!Zx~7qoa~gXe z=_6d-hO++Z;onSEr$5CzaJ8JYPx^(%|4EDz-Q!IuSnY5FQMbN{IInR!n`zfiBht1c zk>qGCdBk(Q0I|R&iCRsQpEI88H}H&-M3SV*XQAi%1H2ihB+(oEG?~5Uxo*a+b4lul zNM3pdrB#SIu8#FnzUe9S^xhs`yIvh@=1S5SL?@HBP|~i~!a9qRRQ7s3yxpxN4M+4p zX%i*w{zyb2m!yG+Rwr$uq+M@?Nb!SjWor3{RhO`ck(Ga)q*s^d!1H@bn>Y?ae=OR z>!)20$6DHwP^~pU+E|>cx8+B z+Vv9IqHkW=r2T%iemcB?qa=A{pZ41I64|A1UfrR+cD+RQ>6>PSw9kAs{}SDyZ<>|R zKDFy5x<}u%UR3+kuIHnbO44*7P;b(%?}rqWB*L&-pGsC{9#AT!lK$QIyZ3AYD@oB# zCk6p+TQ+ZAQ~e)Q+Hq?fYPd3hF9P@?fG?~g%@K4@P&pj zO3+0D`zL&1Hsjw?8Vv@oC(vTi&UlYikEHrBRoynF`ESwf@dTf(#8ahxvjsR zR+UMI;2Axn`Z39uNnRZPbdpi>dTu^vrPF0biTt6IHkV1a7^VH5r1{ExKOf-#vOZvW zo}|^r_mke3Vc=((mdFd{pXl9(cCMA;vRYTI#@^2$_+5keHT+jcO23y$6|nZdg6i2M zzulfPiQarxk>6%o+RI8O?S8G6x60hThn2@W1(5olgQ(GK=m$?hf&i8-%qWk>zI~Su+nJ{w{fQ{<}SSOiR*xtaS3%$kMf6p?Y++GSH{y z3-)D{m*(moFiB?wl;0F|2|Kj zrH}v4u6WOvwkM^J%UTrwGrqRuufCVHDE?>4S`_~?Wi5*TnbP*8^s&D+DSPB=OaAJ6 zi6!~#Z~oS#?2*6zls)pbC4cq3tVQrY8tVQuZ<8MvM z9+g;p8wsxw7!=M?zUTb4z3h>{wwFEf*Y>hUrS-k^aaoP`Kl4{Q?|bgA zwZ7zRS&jEUQ&!{s&-|6n`<^SSvHoYuYP|m$|6i9q`fIH(Ia^la{m=Mod)cG18t;GR zueHA9Y*~%>KT}%YOCS4dd)cGE(s|!=Wi{UaOj(WhKT}%YOCS4dQ`w`x(|hmvvKsGy zrX&{WKR0jMp@aXtsdij4Z>pyaeogOYgkRHl^Y}F5Ujj<}_7Pgk#Q z@!ed_+w|%-G3mL{bp+%&tnOcCcs7cB7=ZCwdjCj`7d~!3-Z&W5|zwyn-d&Zlu%6ylX z`6c;{Z9d%P{Vm=9FX}UC@d)J~v*i_rvp(CQhQ_O+sl#C8B)l!(78B zPt}U&Ircu<<$W}jnKsY$lERhxh3EPtlt8WS!{=(neOM&V??#VL95!^k4`T@5Sr&f7*ma&KVkDZkCFmv4DcYfG-FwZr9h()sS{pTpWV`yKZ25SV{&grm|D#(a{FdQWIvB&?7G>B1h zsj1}uWVk*5F_`ufalO~SnW$vr|A$jhsSU53{g+87wc#Hi|I5wuitdNIlK)AleQVDC zb<$d|3OBE zm%hLBvHFgEpN~>%4Nm{-O;>6weSc|v^tF}$neSAZ4E?`O^qb8#EwR6QD;E98vpMi4 zd`bOYEPK!WPJyn2bjYYYs5U496a(r38VDK*dIt0|XdY-OXcZ^}v=x*M+6&4DT>{+( z=^z1iP$f_;P-9RlkQ3Am^f+h;XcQgX{y$4zWS_AqV^ff3G^do2&XbI~`v>IUiw ziU;)tJpmd38Uz{wN&pQ5jR1`VjRrjpng~h+Jp-BqdJZ%N^de{)XgX*H=oQdR(5s-= zK(j$}KyQHF1ib~C4@vcq0QKT4f+PO1+*3PE$BN?Cg^(){eb;8 z(00&|pdFx}K-nJp8GE8%JhT)0U7%k*^c(g$pj;3Aj{R=X9uMuso@gIvKj?sm4q{Jq z$U}c%e;9PcLr1YEI_9A~?1}O{bR7E=ppzatg+0+}51qlD=&Xm%VNY}(bOCh9Lzl59 zy5gY%>If&ER;EzoVy9S_~b{vN2vL-(=&6Z8O741%5dN22mk8@}ox z(t*-MxHNbbG`aV<--@Q~9-@Q}^-~XfJy~mr6H-CB-J)6oy zgKyQOcFFyc%2wDwV584PKy~zaq2-*oEnI^eC3L<$U86r6$S)ewjwl#w6 zpz@%~pcJhT)0U7%k`!>;B=)C3r#*BA`?DT8hy8ib1rJ@s{*s3-V}Auy;Gsh7 zuX^Yj_SZo-JaiNLTcEc1U+%Gwbn5*7vG*R}Q5#*`utwghO2>554cNE#4I4!@ZrZGQi_joicgigmGg> zj~X$2=#asK27KDDPw$lEo;{Kh6T2nQO#|CAIi+`>e*Fgw9Gp6I*ocv%$BY|4anh8j z(`U?@J$K%Mg^QOgTfXA+Rjb#o`(nfWySHv!`}Ug)=T4tEcKE=)-Cu40a`T4uYgVmT zwq)V_IkTouoit(G=#j&RrVfOtUdi1P6S{m77aJ4Zrd5k(jT<#=P_Is{h#J+x!>WW< zu2iu?`SKwlA?3=IEnBus8N2{9C@3f}Ffbq>pmgcd{{H@cetxA&l`4s?1U6s8M$6b; zsuT|K_s7uz0fB)yJ2<#ZnX+Zel?w?eU%o)$s6Y)oawK8SzoA z+I8yHrvuldS@V{y+q7#R6Wg&^89IE#sL>dxNs}>5ni>`@UJ5O= zY2C6#^JYz(G>&Q%+3@2A_3PEETc*Io+By!+un> zY}L9=+jh}Za2%D~6@$>d2gU%xsliZlfwgGH0$Ulc8OyZknz78)tYxuoF0hwXFc{5Z zbd&jV>$dGXbgQ9ebAX!7k)y|s9Y1mM)af&4&z<}F{Dq5`zPWt)+bdVDUcIJoSFc|A z_VVR#E?vBE{_AsR&zwGW^2G6DM`2_K9Y(fGv$Cz!%xEa9ZG;=eop~$ZD)KGf#Zwij zBlotde$OWTTg;55XN0B}{NJVY@8A1tNr0^PC5q$!CZ*kT$~gD7>ibhDuB*Q@e~0T0 z{qwC#^Bi5H(rr!`b&mQ}9K$Hx;r}ItaE`zOavbHZASR1(qfEAsabw;8R-U!Z`1{&r z$1wiBWB+X(Ym4!JdmcTGox}M5dmZLnh*|2OCS+hbUpjAwKn zt7AN)WB#}HF&T{0c3GZrCd(CND#N%LWz+qxC>!Ooyt7`M_q)2x@G!aV;tU7l?!v+3 zG8~Mv{qEun2jlL-!Q?U=jI;gj;tU7l?!v+3W`x6e--j+UER-`@j2r9RnP+$yXIR`- zc9zTVxSBH@jJsOCvpj}_ap!thml+PmT`k{P9>c-7bG@s}8R2l=_o2(iJ~LU28|&PW zXE+#l2ZoGfGCYj4W877Cmdo(Cnll`XyIQ`pJcfgD=XzI{84ku>E#FyQMmU`Jedw|g z6O+ZbvCbWNhJ$f;U@*#LI2bq9xiio3FwU^JtL!Y7;c+!*I2d=ed}nzK2jkB5t}bVU z!+GC_E*tyIWHD~6b4Q-xVB8%Tj4~Mx#*KCE$TJ*_y8}Z;G8rDm*)i@aJIiHwT+JB{ z#$7GnSzbmsocDd`vJn%L#kjG~9eIX>ad%)a%49egH`ci$&u}pA4h%+_3y6Kca@#xGCZ#48R2l=_o2(iJ~LU28|&PWXE+#l2L_`|hJ$fqojdXj2jlL*V3f&l zFm9}KN1owe+#MJ)lF9He&W>?+nc{FY2G)0@Y-bF{V_cbMI2d=O?2KeF9E@jlj4Sss z9E`hCc1E%o4#qP&#+CaR4#r(6J0n>P2jdwXs?)DI2d=ed}nzX;c(vfq02^0OcvwDI(Oz79>y6K zca@#xGCZ#43gK<~Ocb3O+Fz#IM>T*UnocDd`va!!h7URY` zcjOrk#@&G-Bbf{jJg(*p2ji}m?<|kuVBERh)n$f*aaYTCmX{F@=Y1c# zY{bN5F>b7LN1owe+#MKc-7bG@s} z8R2l=_o2(iJ~LU28|&PWXE+#l2L_`|hJ$fqojdXj2jlL*kdaJ=hjDg{yUNaT86H=2 zhJ$fe%XgNS5f0~lAG&PB#AGpUtaC@6;b7by7>qI*4#tgj?#MG7jJpGaQ6|H|xUtTi zd4`8^hQ(cFXSocIt9eE^ocDd`va!!h7URY`cjOrk#@&IzD3jq}+*s$1Jj21bJ1`h! zG8~K>>)erNI2d;ahKyt~JdCqr++Aik+{K;y?=Bont_Kg(M8@2spN#dw_ImWgH1QAI zE@#f3D__B)B})f~R0^w6t6sy#&09yucIuMYvsb?Xsl!H&nJ{_U%sKNHE&Xie>UA47 zeYyRs-Fx>RI&$pf>9b#7xODl-wd*%--oAV9$NNA1{OFe_zdrr#+4C2_zkK=XkJo?x z`R0xD`*%=&^XAV#U;pvPtCuf-fAQk^f1W-2?dh*i9{=*_;m;55|MT7E@nhdT zB08mK_r$L8ojZ1D-?nwjW=-&f=(@EdYJ`VXt{74_D8R2|@uGza z<))_E@cZlZTPhbA&hea$2zY`t9x5H^>x&HCqUzQR4GH$6Pmjh6Zs;p+2ye33-fcY3 z-l5`Uwqi@)F2}t)(2-$BGwyu6US`ipwq!Td&;Cx^W@}s8emwaaTYJ3o>%Vs^EZCq5 zpZwh4yl3U#@3(O_E)(a?72t|%C}~U*$Vjq;>>=05pQHd^gOBH@^1Jz;_}pIgy@q=2^m^eHV(MqwXA;e=%y0_}O>Kh_X*5>Q4YS6M_mPQw& z7BuP7tWpcP)xFmH+AfYB5t9_#F0OIshVhNMw(gdYG_uF4(71BePfo*JGR7b z&Ak2Kj($6XcR$&)abKSU)efmgZXMlre9Fo0ryHLQ{o40}_a)`B?TYo9a9z2P_4`~m zeQx>Q4!%?6Zk>D0f9UjM@B5=3%=u~E&j%k~dGzZq;*+AkR(l%#+rVcF{tSHP!Gk)p+YOP2C49T-%mTu6nAm8;<4>HmBH zwOnTNc;5z3$#TqhwZ2d0@^HRf2v-yD-HFDV*!tn=;WN1vcoWq@?mTy!dy4n!$Rrmj zLIOx-QVZkV9wXkDj386VBC?8X#>gKd7clzw$#3KhvGdvZ0(>bxgs;vw5Fw@_OlIGO4CKredZbQx#KfQ)5#*Q@km~G}tu8G~Kk&w92&EwA*yl zbl&ux=?Bvj(<_t7teSI~3!DAT70lJm4b08W9n9U#ea*wn6U}qXpP4t9cbSiwFPX2I zZ<&8I|6+b-{=-ZxHj8S>VaaPLY$<68vQ)5CwbZhFY-ws~V~MqNwe+;~vkb9}woJ0j zvMjW$u&lFevFx%Ow4AV`K953G-^ z&#bSkZ>=VqU{h_`Y`JX(Y(;D(Y^7~wY!z)`wi>qDwg$E+TXS0*Ta2xft&1(mmSXE? z8)O@18)X}Bn_`=3n`>KSTW(urTW8y3+h*Ho+h;puJ8nB;J8!#e`_6XLcF*>}_KWSQ z?S<_R8)rA!ZFbq7*`D2=+n(QE$X?7|${t`ZV=r&7Y!A2BwAZ%Rw@2EW*jw1!*xTDX z+CQ-;*t^?P?0xM6?5XzQ_EGk6_DS|>_F49M_C@xk_7(Qk_VxBn_Al)_?7Qvz?T75g z?5FJK>=*2p?bqzz+i%-{u>WL#WdGIv%>KLmwf(K#ORxxnpa_|T?1HzDS12G95{d~W z1b-n=C@Yi~DhXjiH6cQ%Ez}bl3Q8Q zV}%LAWMP^xQI8jm2hSORjdGV5XS-dKKC*BZmiFd?%;(hTa@uB!w{8ju-d@lYjz7qcw--<-?k}Q%<5+qqt zrOZ+`DTm}O<(BeE1*C#fVX2tpE0vV|qyQ;MDkGJXDoB;2P$^6bmug56QZ1>DR8MLk zMM_ap6RDZhLTV+om7=8>DOQS;I!p0VS1D2IF7=dBq~20rslPNp8YB&ohDjr&QPLP` zoHRk2Bu$Z~Ni(Eb(i~}?v`|_sEtQr_E2NduYH6*sUfLjSlD0@&rR~yJ(k^L_v`;!9 z9g>bn$D|X|Dd~)KPC74LkSALj2bW6G;-IIQl9!Nh+kEF-a6X~h+OnNT; zF1?aoOK&7j=4F#?k*%^_7V(ZlRn9DDm9xt^+eIj@{w_K^$8MdV_#uUt|tCHu<( za*$j`E+>b`734~Cs2nDT%hlu>a)ew&qX@k#dyWL~bfKms`rM<+gIP++OY= zca%HHpU7S0u5vdyN$w#h%e~}2a$mW>JU|{Kr^-X+;qpj%v^-WGFHe*w%TwiP@(g*F zJV%}FS_xEwm9k2RQbDPtR8gub)sz}agi=eX zqtsIxC=HcHN@Jy|(p+h&v{u?G(MpUGtHddtm3XDA(oIQHdML?CFQu>2Um2hbQc{(n z%5Y_*GFlm{j8`Tqla;B;bY-S8TbZlOR~9OZm8HsZWrea*S*@&9)+-y7P0AK!tFlem zq3l$4D|?mw%0cC@a#T64oK#LLXO*v&3knul<%)7m`A)f^+*EEWca!21+|hIs)niIYBjZn8ll!w>!|hA25Lh!QjJoZsLj+CYAdyk z+D?sDW7JqRPVKD5t6kM@YNFa*?WrcKz0^KxKlM{}pgLF`q7GAst0UFX>KJvLIzgSJ zPEn_+Gt^n?9CfZbUtOp!R+p&D)X&rv>PmIBx>jAUZcsO=Thy)UHg$)(Q{AQRQTM3_ z)I;iF^{9GWJ)xdb!r^Xf(Q8}(cDs(MYmu70oHRBx+y)gRRR>I3y>^^y9E`b2%I zK2x8oFVvUnAL?uMjY{A8$6kR!;{m(fkEG&F7c>oVq@jrYXd327end|pL{H&FPj!i& z{t_wcaVZThGfY%&5ywfvkv^f3soA(djr&Jt@{dd{`4NXtU;4=v);@j0Iq%w>5LruRlVK#8#F5q{ihN9JYpFhIMB0#!B#8_nlMq+!C*Kn<-k)#F z&*9JVr}*i7bG{h=np{P^wH!wbAYDm2(u_19ACVfQI#L9wkM`P0R#^JhP zAGtv+d>OtIKcAlkE%@_q$Q81k%tr*7j94-X_(O4?KPgFkkxHVK^1x9a+UZJC$y~Ap z(dBDW2>l<0)R@o5KP6w2^}sifbRn&9WK~iYHd%}mB0i)bK7C1P;D|u1+L81j6UiDx zsE>#@UmrT?2Q6gh?_(TRk_pgMED+Sh(f*`3&d!5K7nd8z`2t53wB3euhc=gBJnj*R z4}&JU^5rp-w=oWj(1-3gq5+O9LrUPRTqGOGO0tmbBsY+h!VHPP7{!yp=*KpUoflt@ z@21%T;V+Y|7>88!p(WyKil8tgXCo@&ZHXwz$-e*sPWL408oO?hAb z4{{zOIgNY@OKJ=oC<_DyNKTT8h{T2@pru^Ece@afn z8Yg3<+CxSdWEBO1tdMRcW+V%8SxG+VA_NFqqOW6Mdq>Gbk_YG4=JW86pxISqJlbxD z*7Tf;~RKNUR`ZH9gjb7D}NH z*&)}0^Jy{x3%&j*tZ5>ObcV(jK==1ZCcZMpBL`YINS0xYk{o(03B=i;12fTYADGaV z3{-_-p;ge&IM~fxvXk7xwMsd(kR2@?0IK1z`W6_k5cD@6`Yk{<-FTod15pn2tu$I_ zh|w5GW??+96DuscGFtcncD@*W>xLF;Vm1`V*kwTrcqb_mN!LOs<_v9NHpc%d=0=dC zh5ZH$A-8hL2&l1JJ^km`f%;0KLcxo2Gggq4nY;U?}mf7Zd|+f$1SY z(}NKMZGr0H5Ly_67N|v*$6TaiK{d%*uwiWJSOmgaqBKp;fgY|w4?(a8Z~kX;1oLVv z>4Di>R~tccYx zLRxOvkO1`5CaoBWZ0K1D^suHjw}!%(>?U`K0zEe33-Z6i!>xl=_l1rk;TwXr(a4I~ zAmD5P{mBe#D2RDc3Er+HdOHI1`v7?Wn+(Iu@W;%$KsJ%-7^BX>NG+lyj?V?;vX(Lf zK^|NYQ+uKwA{m};1?I(Lk{eoR51a7fuV8fNlOeE(mhkVDacps*_SU=u^$&DrmP8+_ z17j?_)Ffcm=VpC)h|2J@w_xQ<$SC;fcCfkXm_emrfq9_~Z=^gJn<5TB*93jVJzMyd%$v@+&UN$ArDNb=#cC|WEF4N+g4h&5>eMuPgNAigy} z0-Dfuxe=NejBEZju(}$sia@kc46PJ_jh2FTD?>w3=tBy$unac%0}+A0D^@J(?Flro z3!ZW;yi6R%s}AH<01khgTMG9Sf?*}q(Q+$z$${`@Ycc+hNe;d)pQ5cemHAAVT}R-# zrl7tn{8%J<5{9$N!RH3!vl2XHUHFz*jKc`@VJo!o66-}{ekfMGq44^7_}}0ww_w(f zfu=h{7Hy+CMlTd8485v@9<)R217SBSVGFmkdD#Ig)_G8C%rGzh2KKLl7aoEU>4;Hn z1gW*q_XvD8!1-;k^7aCPc^HQ?SZ}iP;TVTixYx0YPvS!{Lm$F2zr@Ns9&Qz<3Hx}LJt=;1Y=u?<{ z28q-3NPBUXJR!MYNds};W-V6Ea6U6;_(`n2vmEgQjX!EagP|CY%9lhZI} zM_>&K`ksWboX>aW1EI(7;VYM7hW7`8Rv392f0Wn8l8$C5#-$$Ygxb>>*bTMFx5S^1 zhCPi(3{Z%Fjy}+_q!CPeAg+b;%fgcU;1f#1uBb)T04^Fo3?ehg2CQ;VNq+c-q5P+O zEoku(Ij-5$r_f*vNUMq&UK;bW2VTtY{1AZIPzbXs4^n>2juL323fgWB4=@a4PJNsO>&+*a6@fg*UnM(WDMPh+ zRS%k@@dKUR-taBi;WP7~4L{73n$Tw_*yRk2$3@&>^~3p%vHHK#eAEnBQfFw3#t)@| zJRer6%!nNneC9x@I8cN^$1&&!je|~M_4k1m>+|{fUon!av9}L&-3VHzD~1o`XNHdx zux?B5{A5K~MjQC_F__;+VA;7~OVyyqhbYmto38#e1`2{-$P4^3&ZfTF=J3@tey9mM zP0%#47i)KBj6*1|^7o*}C73hapr<SY$XN>4P zXzqK>$CT$KM;ta3W8EAU%+@Sfiy!pWo345}q0Q3J1YNs7g{RyCt1|O`@YHtL<4(;} zcYz*h6h-~C9zW3Y>AGn`KeA&5@P~CafX(%TN8E^+_!hBPAa90e*r`Qw@tBF#Fp|YF zdYOUT!vNVb+m96E#&7* zV_sg@S{Mi~7Nub*3Jk^;(t4q{K-ayAu%I*KImw3>Owhwu7#$r$4d|hmLk|oC!KhMA z(wMX&^q|M2YtRD45Ww3UW04Ba(B$1%WCd=fNnVR#XcXiRO*SCWnq9AjcYlfR9zrmh zHxUaggq?N8Xhy&ue9>cSkrq0b*i6s~i(zOS6$4M0HWrn6nZN6ZKrd6~Y$_@}n;0HN>=G=`xlY=}T?Xi3HF zEP(k&qv9seIE@DB^??<7tcCUJF+3DqxqHFCG=z69qxB=FHa8{cP(d7#8?E|7kF{X= zUExUK`&g1KH50{IJv@%nBOA^uW5Y z1XnrK&xOK6(Cf6zSSzTHqO+6ws9=YW%84<|fq9w_E&4&nHQ+yDwUJnbE5=_C1yzHu zFYg$QCD24N^i2I^1=vJ@4Dm@Hc>B*V{*g>mdT0*Is|Bh0 zx>*JDtrl8sjj`$le@d_2FOgS>VH%+i+d4j~nh z2t+@d`3;Cbs%n}%2@TKGG}!@Ks1F^4Aqu34#&UImq%GDO8q2LlfA3)|EArj>m54w( z@xky@H!;G?vSNjX){^M}6pnMwBxUFP%XIl8=u>KUf5E0;};9SbRLjpe`(-9M1EFRTqL)(+DI8 zGrK0VL+2H}x;TuPnHdpCBHx9tgmsU4sb$b&iZ-)q;OGF%W;(O<2&9lUv%=7J8;t32 ztZ+MVy=vym;``YSSodfIvK_N~7;4*Svs;fqsE5d|&2Jikl!9&7gg!fIbCX_Q{DGMj zjk#4E5y(Z@k{*H3wU9MYuF_1 zE{q<5l*HPgdpSG2q#l9jt3@4*R1)lV8Ag;wAPu35T(HK&h=z?3NKr=wLhnH65lB|- z@x?5SfTj~*n+pkzKr&%=hQgYDgwI=wb`zn6x)?Vaflvh0+tVw5wq6v$h=gN2I>GMe zKy%lL01sCI>%|?kw+I?ez)biE`qHnO>59W^D-OMTAVVwk?m-yrI~MbI7UmGWaxVpY zv|`oUr9~h#hN%gpzFHsXb+^9p$fZRf^)YYzV2;z#pbtZx$1hQVcvsMJxduIL`T9~V?-BGarV2mWa>b5)L2a1EnVzh-) z7-<^A(1>y^u4rfk5}?H}+qDR!lNQ6!dr5zdA9M`qBak!Xg|_q%N9_6PJ(mKSi{u16pV7)=_1(7STk(?uXOrlogL0$>jf zF@O8O6Kv3;`{MAivLh-U343paURK1I>37wrO`4D_z(en%&z}RHX$M;?Wbhe~=R^MQ3<@ z38S$WYbN!R9dHc2QVYVE>Jdm@j0}rF>R`0GXkKmuY??+Ob@@J6yRyN@9D^q4{cd`v zmR>EE$4o8(jp`9dNobc|aYmvKJsc6p6)gg3iZ!nZ{M>UyAe*&*^uXM0f@p_EF@f+k zGy?J0A`tx^MjWEi35Y=U<9?QatHn5N<<_s7_d3?BuJBZmu&glnnzFEfGWe_rRJG8* zcJSsj0$C5w`UqO6p{?FMpbZ+8p2T?2b(4Pg&;pkCkrsi_b(7xtudS`Uoq=F1*7xnO zCTh`9xN6>keng@lui&$GVT>k17m3g(ZKE!b)I^FvE)w<{r$r#s5P=+qEtqkAMAyyp z_!c7?dHM~=QJ|ZxMIZ^#Mhke0NURU_@fijE#-azGV#U)VkjIFks%m|>!>_=7F?yf# z5h9bV7}JSb1kxEZuodj93C^Z>LE2-KQgDxE3f9bB@Q}a5Gt}n?^I!4{aP3|m^Yb3Y za}B)T5LjFc&Y_W5HE19d6b_wyjD0cM_b}5j?#B>ENwA~@el?=O4tzbEiX(ALAb93-n+!bU^Q5bO7=? zIHw}Uky=CmczKL%ZS*G^D2Cv;&6r8lKhZl{NtoZNc7?GDHaQRoT0(c>u!SJlk}qO_ z;#%}j4*TjLI_iXYZXzP+W4Pz8V$Dndj`CPBZUEO}#QgdljE{gj80QtiwN3%7!Sp+n z0Q4qYTe)dmy$HwOz=~C#@5r~n{fC$ES6hHB730-Pn-%3S6N_k(eJ;#TdVjGPdQ=J8 zX@*E|kapF55jIs6-(S>&79PV!*J&{j^$+^p$>Nai4R4tRD-FHE@WDKzJ)w7E=r=j5 zan7&!_8}5I$;$tPUaf$R^{Wed2ZMUbTsWV`AG(jC_nHGRw$#_t?=R>bjQf}wb z&+7-TkPF_8euI(r9SZf;WiZERBsCaXqw#|YR#g<%^ewD;CiFwK@DX%QW1t+sZ-u9) zD>uF8t!j5L=(SoyXo6mEZbEcTqte3spBRbFS{z2d2hy(<=^YFffzY*|-UG>@T{Y7? z)--;Yf~%497>&ZXR(z>lAx(v)&^tll&;q@3&y+5Hpet`SAk){)Xl>=C*ZwaM*XBbD z^c%S;i0M1PV(5BP1X`eX59l2Xy3r_z-utKbA40UXy9Y*Y6~^-!qPaZUocID3-5YaH zZ-K6PR15mrt+!wY272$Gejn8u<2eqNeG>jYJ7U2X!0-j4N&0OTy&F~9aoui(bp0-h zem{v~D1kXv3wGNbGhhX*h_*m6&=zzIw1ogzQ%(&7YeA1d=v@>Y1N}~HEc`Y7ele@o z!Wm5ueYIYMp@qWeg$g~SZ$Xb?7>03L3y;x)uE|aCPW`m8sEQdx*G%KxB>j7w92g7z z8w`5wPVZ43$2CSy%^v9W?kxC*PVgbj9`x_jC<@vKYEkq%5PC<8MuWZJ&FEM>$5>FC zq~A@_`%$03CL!GXOE|W_avB@%>~u_-XnL>td`EJ+P|PbIeV8b&&~e z;D<~Ym#nZc`Yme(%$ugbN@o`RPK}3us?6tve>kl92fFr0V)m88vGjYKY-mFTWq}Uz zYkjB!Ezoa*hQZH$MQ-9wZ6LlU&d1X$6ndTZsWv<5{H7kl2ayMjKeFR|dJm)|R$$#z zCd0!lM+|e1$ml~;=#qX*tNTfMKZ$zk5NMtHIeMK&?}E@PwIH-y3w@w>ASPoZj^TUv zoVafgjaKM=wcS{CM`4sY;+WddMH%RmUhNfxboxDvKU%E@t8WVrH5g;RSsRIb@UwKi z$n01zrozi4K$}z-^gDNY2ZY`;r{BYrL#wsXdI!wxk9;6HG%rcli*e{jNuEbP_F_CH0YxI_XcOq1 zeg{(-YoGq@!AIyp3+R9%m3Od7)b%P&=Gf0_GA5TtM%hH`t}8`*hau(c7w*+;VgOwgx&*bhVwfC!C=g& z#n9N-@C?~ujY)_fJii0+{0_wPI}p$BK=gY-p5K9Zeh1?D9f;?5AfDfWczy@s`5nkU z+|l#=4#e|25YO*GJii0+{0_wPI}p$BKs>(#p}$1+{0_wPI}rW1D4ySeczy?x{XCLnG?;qYiHSPJ2&Sh_J?{o(^mvOv*c>43xmBX>68tPN&mL~44 zQ_)bPXX*Jye9mQOyv}9kV(5A9m<^HgT%D9na6&F6w1PSFfgPnl%X=_m+zt zIe4a{0<6G4Y_GWG_@xj_^w;)v@k^*e_-$HRqR)|d#{FPO=ea#dtMQz@zTBtWKs;+_ zD4x1Eo}11s=2qg#dwaNJc=jGk$57tEeZhT(+Ns=V9Gi-BKE=6xQIpD5tM}i5!fH?5 z5}GBOPqtjX&|BU-d2;2-i7hML4CQQedrvt#-3;|P==L{d7`iu=k<(F6%i5-ubLY;* zHm#f|Pj0rMOt(C2)5`hsX*=mhfdcvR<;$NRANp3HK>l=_RyOQ(Hk17M)9=CK8`EvM zA;Gxi%3~}QDDeM!xdlg4l$Pq@DWdi8d`V-9#vBd$)m^a)2(do8uV zku7nQF{N-cb=6V_Jhd_oM;Oy!j;7vPqR+JK$#qDV#&I<1&$;TY%_+St_Bj)Cb0#-d zOM|&t+!QW3U7C+)q0Z+fYiT&Qj9Z}1Mmi()v>0=BG3GN(qqsHPa?Dp_T849$X)>sk zjod2CXk+>ev;8w}wwA_oU!n!QN9=P2p3u31o2#V>+%|5Vqc3`oQnlK&`t5(IPv8Dl z)U%d#z8r{`qu(@*gGXA!4N8}ma5T-((r9i2yw-qpX#q5{09vDI1kU~pV_;0IXXD}Z zhM;yS*DGC`#?drdO9Qw?XsbuMM9&+qJ(X-I*9RD9!v>6L1f-7O`fI5>HxVd0rAxZ5 z^)c;&BgZ&wO}DuA4lH_$u^71_T&r{`iK9txvmKE2g$)~1XO1S_%9|sX#5GKp(%XMq zw3Ocdn{zbj7GIZZ%(dleq)Q)jG}YEpb)4J8=?P^YaWqxaQe}MB!4qDMDU743l9tNh zNxxxu-mfuLggm$)Avs4D~_eJ98Gtf z(q4|GiyTc4oYG;ArE45bzd9vdD*e2zrI%d#^fkxQeU7HLPU#ztrC&IjEcng3G3iq2 z=WkjP@r!h0y3VomoTEv_@6C>xfJgNB&mlOZTU`(v`o>u!mum30c|Ae3Q{-$GGjD4qhroHQ$_Wr8Bf71VDj-|&O zO;-HJfiYd+So(>h3I7z4ZadAfr1w-Gg|yG397{S<-3rn^nf30~toN_>yOm?<1V_^i zr?dt>Q%^Kf-1E*_nbj_WPt?;!tR5TjtmgDd_ssND_w-B}c)8tU+^ zLmg|}LN0wuTg%44caCwa6#9BWKaU~p!Md>pQSM@_b3?g~>DF($PSKSz5vgMaNq_Eo zus?k?Jl#UEl`rqu3zpWujB|Rg{{B;6zyAJnHE_Q#(Vo38>7(}dpZci({pTg_{V8q! zWSsjMPiTK%(!J8(e>(d^=d#fkW|XJTD0yGXg#W&IU!wmX{J!+Qb7`IaoVLIJq|Zlu zUrOf;GAN{9P5xSX!o5EkuLd*9r}?*xbIcF?9Y4aoKkee)pEhytPexynQU32|mR>WD zdwvdb`Q^Z^~!*uO4Hf*Ur=j(WKYk!+-LmB|100b0od~G5*&mEz$q7XXB#R zKZA_4ME}c{jj&$-22b8gOZ17juQ)yF^)@`+C@nR?e+p3E{RHzns!iOZ+!n zAxF~d%i%xK(h_}UUHbY;_@Di>ME{$L>WHTG_)qd;_%Ci_qEF3BUtbgdZb9XLY0{ zraQ{@`ZV3r92*52qq(g3-$j=6`keTG#k53!^}>=~Z?ujqJhLsz_4+j1qB&-p zlz*f3&kIlZN=wZ4Dc9@MY?tQP+@V~rPqTfRGp>C%wf58I4$bM;zxtX7^SpiycX8$zkwB`B^q7OJ7_d5#+9Ic-J2Fkq-GFPuxmTYt5plbO~wjkgM;(q zT?2xkmqSp@mJJUFSFKiy#cVd2yd1Xz?RJ|@+vg~2cO>!A*Rd^j+A3i~$b$CuEsM5g z%aVyUj*Y(U#<=-7ZN|Ec@@ZFE8Rsa>faHG30kH`&$;knoyT>O5#P#i-)H8+SbncVf zy=Q!4N~h>#pH4CH32_~L`oyPv;#0I^Y1{_YwmuGCBPKC1Da9wLdt9PV(d2j4oOZqs zZ8|!!S2ss11q&8*oW|tDCL|@t`E=^;6W6n+PtUlNN<};B5}fhTmWuWY=osHKE;c1T zDUr2<9q$F(vqLHE(4=1I95x*nN=}eyJ4P^m>CpUDUk*IIV-kAB(RTavj8BPsFA{nb z#}!Skq-mvSujrz^e5ycaemclCF<;NB`}By*uJ> zAhrIeS7L12N=1`>TGx+Hj6<%YPwP5~os!yC>YSWXHYhmONAFV4xX$s(DRDiS{v8I@ zJ3hL5eD^q<=2xYP4?88eY=hW@u0CZOlnLzAJ=wQGoya;Re1d{I#HaWqKuSzcpZG-N zlY7O+#w8~g^r=#X+2?!k)N0%Wcxw2>^~I^Wc^71-aSqARw32F)m348^WxJILjMe}| zQ^{%ddMT}}bvBxHHf?`=aIE7@eVjCfYX|G)S~bdr1eS?z9Px4EhEdT$Wy=OemkInR zvT=0%Iv+<=i;8a0ux123GPYY%a&+gol<1f~9iltNb&Bbgpy7SDAJaD_zFS;$x0t@~ zj*p3p?v&i8W6$WAl$4&)$#FO%IW93dsb_TOgrp8J2?k_ZJ2)abzFSOZw35_OGjm-o z-A|i&x7UCtKDm3wc(A`iLQHJe=!Cf5aS3{FozCl!5E~7j)U7*!bV||=d55EWeBZbP zw48$ZpRWILMsaC+Nlr|r>Q8nw<>+T@N?*N`jxrmd=-8NqgbqN*a5?IGCH~D3j(SZ) z)DSeBuu)yBj(#O4B=w2z)H9}AT+f)4IIT)Mj*U&P?j7lV-L`be8Puogp>s?;dZnM` z0ID4yLn~+(Vxv=HIwa7M()M@!>weC}af?AdW*mffA#iwaS|na)Fxk#=Pw?FrhcCVs z<6Ub$*|0As$L-6*ap!zEE>kho`@w&fp?_cx=F910Eaj*nr0dJT~C50gnxM zY`|j!9vkr3fX4p?_cx=F910Eaj*nr0dJT~C50gnxMY`|j!9vkr3fX4+jFf z-+N_zPJ623+3l%#6HF_v!T&H(JjVBaxg+oVe0Dr?_PvRB+UVOZ-?w#i+Ss$_84u>( zpQw(E8`BXU0nGE^;T=+!`o9#}yA&Choi^ta3=jI%vYOBj_>umNZGSB} zj~nX;qdZrfmb zf1(FQn%FGM13d)&3VIHD4f4XvDXbs~lnIm#lpEv&DgyEal>!BTfYM=;EEl?d$eNZH*F{l}+1*jFMEvP-H1E?b?4%8Xc1(XO%0`&kTgL;Abfck?z z1q}oZ1`PoX1q}y{0F45T28{)c15E%;1Wg7_0Zju<2h9Y{0?h%<1r}UeHo`L@d^c?g8^t*#zg1-X&;h@*xe}dkC-hwzh z%l@B;;-h0Y+(C2>I1`-Gh$v12JOX`m9wGx9~AQgH(nL!MDl(8r)CP*YG#P+L$8s1v9Q zC<&Ad>I)hO8VVW(8V{NZqVsYAXenqVXgz2%h|Zh6pu?b(AZpXpZm)x=y-^#Yc0z4| zjyWAy3rGTG0eOS+feM34fJ%ePfGUE*Ks7+MK@C7rpyr^~p!T4Spie*vpzfe#P#;i# z&_GZsXc%ZDXbfl^Xd-AbXewwrXeMYjXf9|zXd!43XbEU3XgTOJ&&??Ys&>GNM z&^pk1&=;T$4%!I5$w8aJw>aoaa7tSpv<;lnb_eYMr}UMBc7jvd<)Gc*dmOYEoYFqf ze$W929RxoFIt)4jItn@lIu1JFpp)RIK&L@xKxaYc9P~B#dC&#WMF(91{|0m!^sR%g zfL{e&bI^C-*Bx{N{Cm(%2i*d{?Vvm0cR}|Y^aJ>h4!RHi0Q8fCeg=Q&phw`pfF3*O z3HYxLdJ6s<=$V851O6OTp;BmAc=ehQwQAR`*WlxZjiMSiZPvU+%hqk%weJuc*Xfh^ zE(zTdle+gvPU+RVPoKX1`hPlL;J`tHQ&Wcw9X4$Eh>@d4j~+92+=PjfCQq3^49!ZIb-4f`gf$f=`(z{Q;{sRUMP8~XI z#K_TO#*LpiY0A{;GiJ@6J8!|l#Y>hgU-9{>)oa&%vElyRTQ{zK`^|-Or%xO^d|==1 zueN`=dBgfOt5z&qvT**KS<|OZnlNtk$l*g%2SQY@~w?84GM>yk;!ZrfbGB zSF@JIy1Bq!R>5F2i_uNy%dOkC@6fG=n#}=fHb;&gJ9hlU$y2A#oIQ8$>+=^bUi#+p zsVWi|J(EEaqJw% z|0n0NW7)Zkv;F@koVCIDziERV%lN-J=ieT~+GISV^H?3@86ES#wU5bQoVLsIj5ArT zC{r26%_y7hcSYGKpXHtP;=JG0Wrl~zbr)wi7~H zySmJ9Fz#yk&hi)z#+~b3UCs!H^S%#VHujmxV%%8gjy%J`xH~XpB$MG`oE_t?va?)< z$JLzSVBFR6o#incj62u6y3BAe?rQnY@-o8VyzfJojhL7$#*KCE$TJ*_y90w!Cd0wF zvCf@&hKF&6#a(4*xeSl1Im5xYtK~b(V>lRhu6K1gBOK2AK6KgGXC{krW1Tzl3GHb4Q-xVB8%TGLp&gFwTx~SJ_!E!{chsa4_y_`Ofk(!r{E{Lzj)1m@LMP zb?(SB9E`gIgHa~K!ML%`9eIX>ad%)a%49egH`ci`&+stLu(+%2ESKSNHO~l#^S%#V zHujmxV%%8gjy%J`xH~WyWilL$8|&PWXE+#l2L_`|hJ$fqojdXj2jlL*kdaJ=hjDg{ zyUP@Zt1+;?8)Z9VFdpN|Jj21bD`jUSi{W5AqhnmTkKth4m9jIE#c(j5(J`*v$8a$2 zO4%97VmKJj=ookIbH?TFvO9G_WjpuZgD1TPJo-tm59g9cKh7FSU;b~?PkMBol1Bp` z4R|!*UJW?=$PZo4sJBceJg(*p2ji}m?<|kuVBERh)n$f*aaYTCmd9`~ z?p*KcGQ+{RtK~b(%Ls?_z7JhCVq&rwH`ci`&+stLu(+%2ESKSNHD@>&ceQ+Hc?<{R z&h@S?GaQV&TE4S9hJ$hEdRLb-!r{E{Lzj(xX0jMJ*103ka4_x;3>nE}co=8LxU1|e zm*H_WXE+#lwR~rJ3qI*4#tgj?#wehj593mDm%+%cwEgh!r{E{ zLzj(xX0jMJ*103ka4_x;3`Us@2jj*%cjOrk#@&IzD3jq}+*s$1Jj21bJ1}GmM9ShQs6;E+mT zHEPvs*tmJ?=-5tO5_|UQHz0M`$T1TpPn$Vs{-ULytz5ls!=^8{f3{zFHOojiT^ z>kF4IU%7Vu#?9Mz@BMiHr=K7F^5oa2zdd{Y;`f&?U;Xj=&p+S1aefa7%5UEM`RD6D z{&@BB_hnKXXvyGI$P^z5G4HNJDl4(;2v zZrQ8}o@89Nc0`Tvu*wxf$_54al`LMgP=S28y|ZV@B#Sn)m-fDi)NmVqf30s!FR5H$ zILC7~BH&5Kc=&OkuP-umi>g~QG$h!MKH=DhzNv%b2ye33-fcY3-mT(g#(Q?Gj)vc{ zcLzE$>}bXXr!74$OZImS;o;@qY1?dVOWThpG-GRDHEqv-PmbxguwcW>h&{ijh##m?V&q zWC__ru9H7W0lo$w&rjud^FQ&qz3O`n_1fw6!Yjno&$Q1Znp>IIo2`~O%P~ukb+I+O zZK^H1eTluSa8^hW3rSa{1#(vowuJawF^axo-O0^1U5=r^?+r z_nQCE>BrvpM?IMH)4HDzKD_ei*I&dZMSrdKH2SxJ&ldb=@AKO)EHC|DHTh$}>lJ^V ze?xeinmJ3h96594&YQ1*PoW}3i~E)=w#O z9XZP}-_`m)najiZav@wzydNeS?}X~djpAlK7_B%H{@IKaeNPc06&_a#xLU6 z@Z0!9{MY;q{vrR0w|jYemGBDks^nGEtAST@uNbecUcJ0hy~cXY@LKG(#%rtBey>wr zm%VO#J@R_#WiqLzJf>o%AX61nZBt`YJ5#(V#WdJ7#x&iu(6q|5*|ghq)O6nTo#_YD z6Voe`$*h`lnG2i!%@xem%?-@W%^l3$%ze$n%oELX%%7Pzn0J|vnJ<~InQxhYH2-3L zX8yxWEH;a3$zjQBDQqce39?kMRJGKyd~9iIX=91CbhY%f^s@}HjJ8a&%(5)Btgx)J zY_aUJ9JHLUoVQ%D+_K!aJhr^Bys?@rVZ2Qi3({|7H!1jynsqKaB4;yDU z*==^&p4pz=p4*<^UdUd|UdkR|FJmunuWS#u*R=Wn{k8qA-Ak~*Z!1D(A-mu$wH*ivjGwi9E-j$&uAiMA8l-KCyViqu=`EA^KKNQ0yy(lBX+G)fvHjguxwlcXuq zG--x3OPV9ilNL&grKQqxX@#^>S}m=W)=L|tP0|)=tF&GEO4=puk@iUkq(jmX>6mmv zIwhTv&PnH`3(_U&vUEkdCS8}lmu^XSq5=qUdLliQo=MN8-=$a5Yw3-| z$-HcmEwWX%%Oc*jrplS+ta5far<_a9Bj=U#%RX`;xrkg$_LWP@rDT6OKn{}2$mQe^ zxq@6t4wb{?aJiaXLynMZ$#vvC+WO=GQO`ajolIO_tPs``z^YTUc8~I!L zs{EaNL%t>7k?+Yr$`9n9812l`YQvJK}xDJR2i;}R7NXf zmGR0%WwJ6=nXb%KW-D`*`N~3Nv9eTIuB=d2Dyx;X%6eskvPs#ZY*n@?JCvQuZe_2s zUpc58R*ovim6OV8<*f3xazVi&t6Wj8Dc>nKl$*+J<*xFBa$osLd8quNJW-x1&y?rN z@5(FXweqL(Rw1gFYF4ePT@_VXRn^RD7B!oiL-kg3t9jM@s*hSwEvyz*i>oEnQmVfi zpa!bJYFRZzt)Ny?L)9=fT&KXN%dS1P#exrV?URAHD*VXUUo9b=#uKI&|UwxqdtUgkIQJ<(!)o1E+^@aLU z{X>1NzESDh>FDc(=tkoKyWNkZ;%yf+4RNHQi2Z09=16`-Pa#B4;Y3e$iJr8^j30Vj zN`uP`6O~)UaeQ#3PiSOnHcsdMk(vA>Q%iot;nSCXa)m$QylZnl;hcm&Z_XCN*|Kq# zBAi7+2(10##drAQwLi4{H-FhUJ>};zP86uNWy0$nxzK+|1vxzx;xbMT_$7RMK8UyS zcgZ2Lmdqx@NHU2dtw|L5nAFx%ebR`uAstB)8AK)_uG&w&Ctkci-S)A{Cn zG5$5Vig;@|ju=3?l6IsSX+SxoFG4w?1RH1n)rkG!X}#XzWg8LJVtUF`4pDa z7&cHA2nvv#Boh&d4M{*txq!(JaeF=3MKb!knw&wDUJ&OuM3nxNoQ5?{#z?h?j4;S5 z3Itgp-Ac?z7UZ&$e9%P*5Vk~L$H4ZEl7}P@&achq;U7V>tH^k?-43(AGW1@EcmshA zXL}J7KJ6qk+AI!qHDGOBp|Qo}0In6NRec0|e1MTyLB?u&tPL%cLLah2t_A1QWC9j? z{ZUxcL=@=^jV*xg?~zP=WsFA-v~Z9t!x$ww^jH#zvq1-DqTfC+p)DDx3d2IHpr3KD zo4I5sxrJ+$a%dqtS~vhy!(sI;FkT_(Z$9)}fNZ+)Kw$==9OzqVw9pWvF_6r{cwQ$~ zSaxN!@B{38G5XdGE!4zpD2}nqf)?=ZOeB)7g;2~H+QMv%|5eP5AV&-P4H(L47}8qc z94+L8RZ$Ed!)^zlg)cFeOnd-(krg&g^)N!~#YezU;$1H&2HFDCLx83SBL><6)x#mQ zFa|A9i!6`1NXLR|lC@yN*wV2GgtbIznw$eYT!S8hU=QB>&*TW^)mYL4v$w7`nm({d z8DprAg&8`@0(&S5e^DJRbjHk>gR!`wjYVC|?I+|EENTKtfkoAaX9$F}+^``5=&4Ow zF%sF(vl8fGO>J%sg)iAn?h*xhY{VDje}{)#2dnN29Yw-71Z$&_6|+IW*#i2L8P-q` z^P&>GT}$+K1m^bv@&Gm&hMD1ynRS6|BGWNOoq>^BL`fW<3&>?HWd?#gxFV+ZL_I_@ zJlzV+i^n84w9pB z`tT5y;b(8b%9oH)@YC&JbJa0}O2Gp2LL1&lc`!Cb9Dc4Da1JChf%y`yz>C30_Qu@O z$8#0@Utf$=6O3qO%%PIdrw@?i!)H;nSQZ+hzBUnS(gKVG^-)25YkmYYq3d!ZG%*<0 z{B2-$HDDEiXrmZfDFPcU1?^UbhN94i6lh@?Z14vn0)JPmSk&7SXkr&UzeZdSq;ZfWzf16Hi_pw^gSUi=O0Uj;8b1S8TBquK~kYoYHE_-ugl z+hFDG1qAaj4rj35Waq;%4y$mlV-=sohhm04gk^q-m3choZX()fjZtZYv2BR6n?rtQ zw4925euk01qOExiF%AcDuVgnr2paK*ZGVHh&ovY&SUF-KwK-a83Ow!5Vj}4ei0@Y;=avVteoL|X3X%DSbJwV;s+Xk)Px2@F&>pQP1XgLwwflVVa$%e8Wi+B31c~* z@5~26kKe;rF2xM*4+O0+@-+S^uZ<-g%}|U>J=h7gr!lY_YLRb=KOYTy8jl#D5dR!~ zpkqlRnD#(i3+I=GCHcW8l!RSTi>d)!G=3OFW{?e7<(`uK@C`%xPx)HV;v;fgv!_p? z!4{BK6*Igv=4TPiuR{1NskKoPZFj(kj>p_SNPZ+)uwwP%6VMxxzoYeGEHu>tN748p z0JEVGW>p@f{Fogj&_)%s-5MTX7{;9XI1ARBPcSP2@t*UmWCtu|s5YIptIW> zz9l<+W*)TRhnZ3n`s@U|oPqJUh&!x)IKMGg|5uuingL7d3~kZ)p)`=^!zz^-v4euo z94HkBiZJLn2K}IM&?&6`KG0%)K0p5}MshXw_JOV&LF;tI@PYiy@NojxZRwq#tO(0! z1D`$y^ZN)aI~Q!J8ua)OCAxOg)t|;dLGTNCfnUbi)K}XazM94lHDRX-nkM#Q?aqvG z2<27&9`v{bbEX^gR0nI_T}Vc=gh$SdH?^$2BAj?_od zXVgLIBrIM76pnKgmLsV*(K;T)R(=~xmoXIno__dYq+=;8F%;y7)jA52 zrFb|S?G}YQ9EHDu!r8SK(=PwfPVNc5gy_cqEc82>h~T*gT7Vsi<+~bP=_48 zKyT9wxt)RcAf2}U=xdA*^9G}n^3CrtR_41kwY3-GL7ajo_7~Xj-@rcI zfd#k{+aMoCT+G1(nFFO0X`ScL-sBaxA#r(w8Xp{s9IvCl`Y9GlJ@*jyWi!@!nJLFS z(>9MshOfnscpX$1BFF2{{GC{mKcwV8pj}*wZ+>p=&#~T*qo?rKN!3J4xQPEX-n<6NH{qY`#@c^``v0Fsj-9m+)pjC@ zn%d{+b@vmt7cOq2M$~65r&gBoZRW45p?V|Q*h~NYJM_Naz)IG`f04fb?%J#9H~)ni z{WSgNuNm**W;E|Qa<%>DRkXM3pn4m1HH1CY*!^#7euWQnBV~A!OZNJg-1{PR^qbUa zFY>&J6zkz+HQzP-wHf*3sK@)L^^f7J`~VAgG5o*3_F4MQcGE&9kmloX@eVA|PNZ=& z^4Lr}x`F?F4oh=o+|e=7PsKpDQz48~5px)ZVa-$E-Mfs412S2t4Mj(%;S z^lhYXM?Qma@Lr_#MfB&FSO)nIpRN50p3Dts_9VU7=cuK3AJ4F2zngPYr+Acp%;6R_=jZVLXs+NVvqPQXa^`nt;9{%No}G zw2brd!c+!3hZ1=p7o$xV@|6d&0zNh%4|$ZogTM4GJdm?$TPcV4K)z0I{16&npboA_ z6D}d$0<`)(v|1j>5?Xc((owt8=;CX%%#-mz`fBg0T|vJmEA?TdSTZeZHL(}bn$@zb z2XdZiSyw~*cItGP9`1{bSC6i3W_`AUeor3AleF$%BlLFDx~&Hy3vrrh-||2%LbqFx zXP0T48ejYuEvucjbpam8IJ#s#5cR$CKpJV)r(+#Y3_XxWTADl%YpFkhFZMGm^)@v6 z96XS3(ue()nT4?)$Q$V!td*OKm9!p+?Jd?*Q$_Ul!_=rekj=>AOtkT9c*AiIq|tdG znt`w$$f?{}Kr3B?q$Q4Yvk|yiw0_B zCH2vT-v2I=`^TE&uyD)iFMa^M4|e zc~7AXw%^nohWv+9vA7!bUQcbv1NoGhS!-atcXaJPK;idH-@OI>UrJ4C)IHbv58^|< zm?&ICP0NRoNBI~d8hId#j1Tjq@j$wa52LxH>HdS|A?bm9tL8sV?=LUNQ)r9v5cx3j zA6|oQo`a0#lgfXPS1S)h{=?DO=_jcj`B5sxGI+3_Sh)wHQb-Qo3lb0KAW8WT-W%LT z8&+MMg+50fNKL{6*-(%oMvncXFR$_Ur2l81w(i%LFm5en1 z#dsj^qOZ{`%2nhfNof9JuJJ&Qg9GbqCeornkFJ&<*1zV+?@%=DZ~>9-oNlHYdrp)2%28sI|qK|YB0Kr}+xKuz@1 z3jc_HOCHDyGv?OZf$VI#jnXLTbiS{{+BF~@c_6ZsyNo~jb>K{*Se3?E| zcCv#w8mTRzPOS$rpPKO=$a-q)E@R~$N2le1TwlAJzN;P^^9+*Ee79z5HCnukmV6-+ zwI0YDk*-FZt(4(z=YbqF9>_NOyf*CIFYrK~Fy*+Lw%dlcBQIt#wniSvLgRthIgC8s z=x^eIe1-X};}|XGP0wvd&0ltX)=n%{E1GpRwx$^kSjPXC!_{?^?@d^9c_5#{vi>im zu-f$AcOwmXrQe`F)Ng9-VLO_))_5T5H#PIW&h))I;NV^K?@yvl(&#OWnm4U}t*+C1u z75!=>wPr!?q?Ss|(L6+-`4krNB`m{++PBsIN$npncE61F`9tdS6Ij2uqj6c%$P-(I z1g_*-iA*+eFKgCeMyU5^@S~1LlX_}DjyKp*`$l@sf24)We^BpzEA8(((p`a8Xg%x- z{$9tuTj?ow;Yod%xc|t=;9}B_AjeJ2asDSIcmf${2BQPc*OTUQ>QNf82)vBCT}OG^ z;o|MYdxDlE`=lAIBJKM`Gs5^7I{6kjxCPm*L>HEzOAGJ;E->E1CEQz&chrSH_aGkh zGt9Z4NT1mQAD7W%{1bdVg3oVfFxJBNQqnar);WhhSZgSYD9uXKbIY&(Ao2f+9_zB& zTZa@k@ zMMpnrd?48eJ3Dy+xu1cxJcXV{Ba95~OeN7wj8<|!PMUvb^`VuLoLc*@lDBS7ZPG#IHRI3R;nS2%o+KjZuHofD|-)pcxE(rI>ZG#b5&wr44*&yy5v-)$+(g$K?3Ydz{V>hs-b_BXKir{N3!Cp>%_ zZ&IsSnvJ^HjoXhUcRPz>=aa<4g|xBj(A$1mz(>&{Q4kNJV0jRQMQGDJ!-J<_JrK>J zSRS+{_AczT))!AT6uxETu*a0*YABpfDNaNVNeb47@jSfSQ1~entRz2+b=qs{;u>0z z`po!jl3m9+ow~3q7#h24j`FV=4ALmAfoMic-rx|{ zOm*=K>OwlHwMorKb)%DO+{~a_g@V9skue9t7FJtb0DW7#|5TcY{7@Q7oYYCEcSo1K6wdtS}UxN&`;b=uXclLn;Ko5 z1PwMaQ7@;WV_IchPP^F#uWDIZQ>(>3T~Rv^`|vemAJq4^()unTuGVqtp>ZPDDahb# zQ--UMf>wfl4LkRRn&+9RUCcW1S+yFWXq2qwKrE+M@I|vsyQ<7`pS?m5w z_%0*=E2)JWX_Y!dOZ57w@JVZ>+7Q9ABnBehV)8Xrpb&Tx&2_(D&KZgSC`k zJ2DUlzlRS04ejzw>};|25w5GS_&=sTG?%0K3(X#Eg%7Rdtm3P6m`(IGS=yw={`--d z_9UNg`pr>Oj&rb7|3KM3N(;pNn59G)`kR$s*j_d;pNn z59G)`kR$s*j_d=`PShj&K#uGKv3pUD>;pNn4;pNn59G)`kR$s* zj_dok555yiVqH|C5dHTesU!%V#Yo6lR5_5mf0y%H z{<}PW`R{UmrZF(f4J*gG;KUQ3(!K?jdAfuHHwKXU^t^X8ovea<=O%*5xMbLJ;LvsCLL2hT4{G4KE9 zzkfIQU9|Nfb8ggqLBV~uahj<8J{J73X#o!r=OLrX(&k+F{X+2B;5km9{D{%|2WT7b zchh zLm{@+p3Ux3S%6;!zaoaHC`|F}w~0NZb4_?1T>O}?(h04d&{-dP-s)GuYsu;7e3edU z!}aW`o&@?8TUwQ$z`Q@F}Q$xFOt8$I#tA`KZ_ly%JIi0{KqDA3R>s6@RQlM zYGZ1b_m50?9XnbtaCeVom#(DteQ2J_Uq2_tT=uIrxw})riTov*oC^Oo{Iw?B%J-MS zQ8mv|bKgaNa|wSD3a6TITR%SwULvjjmK2|ZPnAwPS#ACPYw&Nb-X)vokm`#rT=o2= z;Q3&JaK*KCqwuqk`K2{he+~qH5ACn={V^fmr5rzY;h#odKOH>F*XrGm2>Gtb;VhH? z$LSY7&KbLZMOx8%jM_<*N)t?`^@JaHBzS1PC zpD()b|INub(N`zdS)Kir3!lU31JSpQoxI9J-~H@4p3n1B@$Z}H>3t7x!{_tNT=eZ` zcd}ZGzBc?^p0kL))5G7u>2A@tlimMnP5RpOi`j)7eQ#m6x>}RIHvAHHibr3aDU%Fe z!83KySG%1hBYi)`lU{G&DXaKbr`jaLTi6dDeI-91t|!IH(_g`^?qqnBxBgN~@!@~Y ze*2af?<$2_q7T;-A}z79O9~3}<+I@z@holh^|BM%@JP1$%h!$2hDUX$zhnvh*M`sI zd4lLGOX|NiJgyz5)Oy_#+VDuX^q1F7;oq6^9mNS8(bwy~(1u64tG|5P5!&!b_w|>x zLiYdX4gIL?=r3y}?Ef}AYJ2+2_M-NG8~!}C6n)=<2kO5z{O{0$=qn#q9!0q zC8Pd*U)a+}_wEd$@0C|y%^+ZT^U|efn={<)?@Re<{mLW$#S#DFh<~9T_K1IR#J`Y# z68RST>xh4G#J})9#u5L*`WTUSac3}_e=%ncubVmM=%f8i;M}?Pj{j|DB+Y+&%xCnG zw*lJ<4sv{9z)bBcmbk3MIgot#jLPOW~OIm!BzAo=xt3hTH| zbC;iUehUmqnaOR?r_*l<*x%>RMA(`9 zes3)NbpF<*_@0Vw?o%i(q-J$2&(+= zC$BM?m%xxPAeR=-MWo}#F z*Hye@#dWJMxpeWeOny(HlZ;6j*`Dm4y`9B@e8$FUUwZkai}x(y zbyV%k7O!pH+P-A*wd>p3n>VcAw5EN1U!l~#`G#{zNq$Q%TXD&f6-zJWPxHAx+n32) zl3BWVskjXSmuYUGuq!{XA_HHIgVM7donoe4%$RuYcLCz@-@6A2rF{E9en(-jlpl!F z6_$3ko48x|_H`=3J&l74E~Kz;$@CRVnZcp{{^CF>Q|c}ZW)vmUg;+|3VxQOXwgGOe zMF=Lhc=}%5U6<|4_2e^sLp?nYn1Dc#P2vt_XNiTcl-k)hp|gFkG*IZ)6ZSUx&BmpbPXbkR~*<;=*#vPPBMzM zpmFfR4DG1U)05wkb?qU^-{4RO%qhRd!4;YI_Wt5vX2I_6LT9%UHokf2!pzmCF)qA% zu<+*mf(y$+1FPpz%QNNJnlG*O<%{_1>g+4QU1c>zZ%Q#L@$z>S5zUP0B)6ozdh@;L zY^Hyp*txmCBn2%F#Py~xzdLhNremn9D^Il(n8}mu;z;jHTn-ZPMz+%i-d? zY|G3_E|IS8)bx_)Cz``XQ0Rdp7r&V_tUcY*rzr}=Em_ZA2CW}MBYqcF8FG~nxLQ_*UGk8jg^>fNTh zP*|(PoTsnKknd1FQyeN`c`^gpz8!{C+x4xhwyfINzG?H8HLEsk*t}W|#F&8o{+>c- zwuAaF6*IYfXR)_`AU`-LRthxzY+q-7@Z!Lyzj52D4eQ%(ImFc1GnfDMt!u8kd3{UU zy2=!0$bE+NvgiwoeLZ{ObY|9#=;HaWTeJSUb!~^nK;`t+GvL#=ZdtQ>{nquHHyv8` zq5Kl*tIs}6zk2hA&0Ds%u3EiD3{+3R^S^f0*0yb}TUTvt-C!t8SD_iJFi{ViTie!e zTz~5fG-g!8upF&hHea`8&DO2!Z#uMs_;PGry=v12I5(&kMe`vK3wF95Nb?Z%sM8cOpOm75m==>x5wpCl&uEmnvUWWhT_CQ&4(oTB>}?7K zXiH~l?!|kX#_yWm{?cAks6ua+%G+eTZ_j;ZVJ25}EYamMg4|u8y06_BY{GjOD0Ein z)z#- zHkw@4S8HasYgB4Ka7?3EExpbd#pZ_EW5IcV+{O_binRl$`lg(lt*)uuu1RD%vwc!c z+w!T>sLkL<4ixgncO1g6D>1!b{C_BI>l?sz+tFv5cA-!D8>6Z4P$hl+B*IH~t#*#z z+JR#4E!%D~+(rMD?pjtBVR;nDU(>^FEAz1khp4${O;#ecN$)3~!e1YRNMMEbfiMH4HWLRGRD3>&Z2*r}2g6@HBVDYYEL9p!S+-UaO8vadm0V zEshy}>*MeFaQ)7>`+%7{)BKre#V_R-|Ly>+e9Cb`h-LbVt+aKI_AI;PG zzlHj(%YQ^)`TBeQx8nLZLjBf9;r1{4zkbIrPv773zZF|_{KwN!-u`c)mw`uL-f~o2 zPfMuZ`o#bCzje>^A-dvCAKml6<8c-4>q~X-<4N8pb7_7#!=*V?&B019#GiyO-O&80 z=2*|=TEL|_+6%eP<9a<;J(uQuH5V%Vk{)UPT=T)_bG?yE{fTt{a;~LZnkH%B(%kRq zT+%zu8Ef9QkxTQh%eYo>UBT7NwUFx#T<36Iz;!X#C0v@@)*PsGXc5t3HaOu=vNP^^Ha0x~KB%qrX)*{&zgw|E+lXD6T#} zz5h+FHMMnhN7WsBbX{FgQ@h(ni~Y}g2#%_)JL+hK2Q_brh1frj;!IcjnHFSjaNw)? zR1TG%N;jpes^iYGOJUME>FKp)VT!AC3X=|&r`2!Ktdy=&-2WT*q=RagYP0%VQ3 z%e8}RBbWF&pG$eIoIoCAvztmunAKo@*VK;`K}$^g}VkzL%VkG+56`E zer@>I-|^1-f8$;6{q2$8dEfgV{@vgEqYv-@$VdP9(T{!nvrmlv$>;v`$jE?ITVsW)biJ@4-NrEh=eLvzl*_A_5OZOgY`Y*^MYaNpeHP8YL{hTG=q*gY(6 zzaO&u@8$f$Xx-7r96M+3aZ)cMXaD;~YVqU29|eCvt=VrMC$q2O?Kt+=g;>S-cYW=T zIIZ}ztfSsyNUcG;(!M6r4FA2)-M_ZDV`z}++rdFb33z_FJRTrnZoH9YnzfsGK1KwD zF-I>?Q{G~sx4$Q^iAFa>VwUc@P3>*Bw3_LW-2=tG9ZeacWVJR^*b{7AwY}ZU1GcYT zw{6o6A~QV_`C5M5Y%^;CxLQ4#Uf6Q{`thqg;bI^8XV$mKXT_i2x_K+@W_25!=DWHI zodtz1V0CD4?}Zvl4Km5kU^J5}Xev9;JfjU|%*Vuk*#zc#5pn~w4yLkqW;CI%oK*VI zw{`rkV|Kik6~U63*Q5cMfp4+Tm&ZEDW;_HJofO8FQ?8|Tx7}@bzc)LuGdZrjSrW~d z_;is2S>|wE=eQ!{Zy?h~)}0tS_K-Nghaq%Hw}=F z)-Hx>j6M6paV!)2nlJ7zQVo%IB>j8Cl^InrliOJ^J+{p?npa?XVTYOK-IZUYDv{9b z;F~V=Kmi45BZoaJxfsHoBsw1TE#$d_NwSs&Vyy8kNAowf<~Bb zJ+sm*q%dWHG&NvPh#qZY*vwL1npv}PYc$La%sP|mKY2T7DdhStKwnHF!$2`-RAL03!6w-T zBxd=nkA}vYCJYx>;^T0;aAg+WGCUROO;N5eh}Ds~z_DCAK)Yp)1Z7CAB5#RITQw%j z+N2_~@1o8vSNIeKmRv9giTF0EX#-)r?4CmJP;X@M?7Rg=6yt9fZKTDS{=%Mo54vgP z9Zd*$I;{hFS_11#G_jl}D9WO&wv!Mg7LW!F?>QEg5PR=XPpLpZqJ?WEWB#nKRCqI% zob@8huW5r@V~szY+A`F7ncPzwmVt`ez17JCHT5!?PAXAzom;Gm(nPxQhHpDBSm=|+ zlRN8IrfAdRnYo%GnbI?6uqcYJ$rkN*AjP%W&YhC`AV!#d7m2<^1buzjqM`MRm+lFt ze@w@cH}*WVxmcP!3!dsKv#g&%(#eUH4A8RQXdT$uK4XF?x73j+E#txg-<_3dW%nXz@&1m9^Olfx!uVF1#OWm!ptlqz<7$0+P8V#O?OOu%AGHK{GWTjUa z!lk|a`Al3~)$p^vYJS8=N1o}uymB)Yverz{spWK{7xYl2JkmA(f+>BY>p!f$vys)3 z60xA9eJRciV$-IFTf1nd1E)ur(ToMF?DDT|zH02aVgs}kEi+Kj#&+VT-YPQ(+;gZ|7zMXx=-F>38*b&MsklDI^?fSJBHo2t_dH_Y{ z6N?|_Y!eucrln|+uMDHnIHS$@(6-U62pf-!=gnh0lF8SFC(NCVgfU=qOSxa_;%~tX z(elT7`M-D?VL{do6FE z94SRc8nJFUm`*R(sZm;1|C43Lj^LUyW(e10$8dld#1U@xccL|kekQgrN&C{Mg&D(V z&{uW23&p9%mP(&&4GEPqf|-F%Kg+FnY=@nmW!m(#iS@Ejv`k)TfNuY>96dNV)GM92 zWp&5uf%x2o=$okwGg(1NtbI~vG=qIA3kvPB=@+cy6`A{JWWOE<7jwfdWF}9-K{p=2 zpd4b&nW(pk3IOx*>6TFcRj?VDcr4!MDT{D{Qyx7ZkJDwbaxS8vmzIsTab%nTHF zXBOBoi&&M!H?G+jH1^~gH9xMkuVWo*%|^d#9nNuhl*2lQa~*2pSMe)-?myMuU8w~m zKKry7z(;A~YmDZm`OmHxt!~{WeKB(=y1hu_jzyjQLj|6J;P>J^xy8#IYRzErp2bQ{wmLO>5lmO`F$kTf276rqw>2U3eQ>M9-z?_trN3_8;-8k7Q#1vj6M1 zF8>ktl9RvZe=D|+BlI*B?*A6*cl`47{XPF%aYe^}^jjb0ZU3_W>$mF5qyDaRDKtT-}wCyJspoeo<~o|;~k$E_@`};e)}4a zo}T|5)a+Xuzr2pr!iE1^sNcH$N7bz=_4oX5#r1K7`mK+`?O*nP{f=LrzQ5;xE4JwP zkEfx${og|Umbg7uY8$$zxIp;PZ+&#b{$>C75j-EFE8g_cJ^$OMH39l><=3`z@mtUM;MSK1SM|1ad~oX%t5z*MW!|+nbac0M zymkAvH=KLL7Z#vFW$D*1{qmY8R-Jpr`la_>aM|mhKjFjYy=L*Mg{d}V4X zehvR@YASxI-NrBJef&~8jbAs?KH`_!PW<}b*wj?~8h`h3*Tk=(tN!?!_;uP(zj}52 z`dQs2*Tk>4*PL~$s^zt{??4i)dmmK~2ej9^*US;tAALYo8O%H8?@jfddF&7MGnhX| zy%YOT=Gq?d+~c%sfVJ({(75@`J>GVN$DLr32gjdawd1!=e4ELy;iSfE6z>fu|A)4) z1Q(ogZ$`M_)X!rn*b7sCpW)-8(|)Su`e5PdA5u3QTs&`)y6<4|8MhxTTyo|y#)>R^ z-BBi^=GU*3`URKH|BT6S`B^OnFF*U|x*c3`&Yv2*GV?BjSD%Z~;&aV;T5%78%=s8a zKIhIgYy}@_{J!CL(oHq#9ym8q%!nGGYdZut)(;24; z*Du^{%5nY0rPu2B4U7IuE6*ZT=@yuBDfpXv=qL zr!C)QXh5`N9(n98-+KnZdxVW(sJN3;np=TXv;^?w)V;kg*RQd_k7{a>%ONgNWsnPKV~X^ z-SwMHy{)^U0V|JxvEc)@+#7eEsNXkiy3r`c#?7B|3b6aQcCy1>xu+4;|{ir2g2*KZK^^}gTmSKPVT z-2b=YNk*Ugd(SiXUo8IEYy!CZZrcvoJT&K|%*uUAs}Ha3O&v6cchbq3b5A){ zwN!uFdFL-)GBveySwrLL^R#zl&fL@IH8d_=W_wZXWm$0H>t3&#oPX9EFIs-NPvcX( z@uK->z4pYj&uLn?;tJpYF26jw`?}Y&fhUY}@gmdT*7%qa1~n(0TzgdXTYrfcaT&k6 zD3{;0h|TbwPJAiPXPf5}6_uIIU1p7e7M&8mG+1iy)7qT2p75aZ#WDaX@e6Jvw4Mji z?tD8zqOl#%fv2R4;%i=lrx%9U<7^+uHjj{-lBJ|~iy=%yGB{;VzN1H`)$uElv?rKN zPnWYBk(rt4<;ig^TiE3sH%&WhzVY;S3AzG-VyWHm1#h#J-^;xx-&JZi(>s#6*%M%% zm1G>Rr=Xe2++(V6HhR83SXJ!o-`mclNUVIKq7tUmhvz3D(vP}W(dOc)w?Va6y zDl4kyRL3s9QDV0R%FCLy=&r)RV98caI$h6ye|B$Ak?PglymF~l|Jg*ZJC8m*e=~#_@MTlWQ$A$PP3O)*pryvIC@?U-5!h-vT5?) zaoN&K-Sbwihnr3R`a65e6I53(S{Jn2mT0fDwG+4PvAa0Lrh8i0Vr`;a;zXa4pOr>C zHh)1Q2OS6A`OVPpsmLkm z(ehqa5-W6Y>HJ2;DkO90NbJ$47(BR&7X1w{~#Gb~7Ex$d?p>l_t&X1Qv zmsTt}wWh0>9^d#CouxhAuQT=P{S7tMD*LNgyOb+rT$yV6FRjI}nao#oQo~c~E0TLB zJ7!r7>+Ul)((rEzCFa|873qP^{wyp}zH=u9qI~QJvp&`IXza4wYCruJ0mejWa_Byal2tA;I8fwXKs{=NS2Rh@bQYyB~ zm^l81`dNC_aaA#zJ4X?I|~C8%A8#@qqz$f znQ<)(-%egB{Md0VQSoZ+xHcL#rrBK_zCLX>G6P5Z#6&i)8k7;!PV!!v7h_#g`w@3; zQPtyJc8bC*ty)85oy`#+>!y@5#vJ~NZ4@{NdvUAy?MTix@=2lZ`w_KxJAN6mV;)sO z73unmEdCA}-$Q#9dhnKf?{|plXY0S@hdGzc=THTI*&ONG6Qj99Ai-)u92qe zX);~ZdE_-+V8{AwdT=F9$v@tB4`;qA#)qb>b`=Y3?lDs=hsH;Yjxm9rFXt!uo#SS@ zCdd*hyC%O#9bQWL?1;Lzwpy!;g*l)YuV&q*ufsMb7dxifx%s74r-}(RM_Qe%{v;y`+kQN-2jKhdXl~HsqA}#*ljZ?-QiOk0j*w?1j^XX2N(j{$d64O)Ml3w<3o? zN2O&@?)q>gtd9Rsr5ypO=-%1#_5BgU8*N559kljeg<_G(OUXZ;evrYHpQkjNxDrIt z^&?J)lYiRHo?7E;P2(n&AC*H7=rNef4cyi^bcff4N(@z5uBfkW$`nc$Fil$6p>1sD z=@$(&qX@QxNTDnKW^=F8HR4Fq(+!(r}AY7d6?AfJU^G)rpC>jgrREw zlG21T6Dj4et$&u1q@^t_Z@V0G=5Tv~mXPsPxR%=l1UK|5nZ^E;&+M9HWr z_>$0?^w_Z4xiJm1rH>2&V-Y(JlH$aSHxyFxPfZ{7;FgyZI^I6?GN3B759W=(;>4Gh zzgz0@yrXt{Fb^r13Ax$jALct$s&4%yw0Wj|Ms{3TrIe2i!aTX!OD@*uOIST$Qz_|V za+cp{2!)lDk}lt8p6pSV;a71}`HbZw)e7@5EE=V>GmVkjO3Y)I+V2|b?N{8icwwZJcs%{l?xsGO*gIlAD>@M7sFYQdmw+ zCtBe#IT@RuQ%2T*Fq2NMOu3F7hW&{DI8lNe|9w#n#Ao;7;dYkBhlc6Ydl>d@<~Fyu zykzxl@pROBm`=B1Nz8rJxLr1~-JR>;`BQmqU6fD5S$a{p@sY(txtyi7x*y3A#+f?{ z=NpauG&yYMC7B#vrs$sE@P4*;V7E4>xN^krSB{^xGgi~$Yx1E2ogJ4gS<)^K*if6E zk7iL6R7NlUJ278s^^eJJSN^zMB6Ug1D{^9;)RAgDou9w7x@#GYhevwt_%wBzY$VKi z?@)UV+g`i6`5=h3J0E8JhOmJ+x!C!@LYjRwgJ2i0toKT{cLg(X$P+b~NY@!)$?Ye_ zu4W5bf+(1$h^D1XOJ|oF(tX6V^aVFb*`#^O@R38FAL=UX$n3g1Zyt4JXw%#8dzD$r zAE!rUS{hmi_G3aFQd#x>5jbe??AkGN`6S$`%g2M?_Jl**eVQEy_Mmw!Fz(d?sfJR1 z8mM}@#i9QrbU9G}{|Ma*^`hFXy1YtnbRwg=DX-X2QBvrcdbLWH?whOSq|nJG^w%0C zo)?$mTDE5Kqf9Ag*{Befr*Uu*8q`jnEDki99Yg%zIJC39aqwbiTW8@{8mRXaWCr{C zsofH@GElf@F?2KCxvanJy3d z_^=*aws`bi_H9Zm^@o#uUd__v5v$i;9r*1DR$H&GdqS_|dlI(l}t^ZFtk#xZ1RRwu9Cp}y%QOh_w*j$1zp zr*v*xe247+to1!D-IBvhx3s!+)Wh`lVkf!1B@D+oY4uQ%j*Ob7XE+X{Vjr3!KkJNy zOG?fqVme>%m(vDo26CqD85L6V)NLNvM-8-}o0;aS<}H1D)O4D8+~2lnQLV~8R7l4P zVd(3{nZhHTA%}E1=u8%lo71}@+>}t}(&n8DuU@`$(UMDdN~5bupDP+8>fX_(7yIRl zzJ*njK9T>DOIZuDdv<5>r@VZV`e96tx*Xc2rsSQd)A{J_KU7PcLNCdW`WCBku}&({ z)MxY8lJwl{vL#vGj=a=U>uqLwenv?3I^pH+C__)pV<8JhkDlboGcX42+*=ZWJ{;Jct zE}iUSYaX-cccNL)!aKX=l^dhP`6ismTDn7f} z4a-9#Jj>8yJoXtIOqG0g55Bten2GGpw)Y#|t;k!Id^tLU>4ijgRnoI{p<3Y(@O%o@ zD(Q9R`>PY&A<(0Ed$6mSARTQyGy4^ew zVS5k9QI+XRor6`UOZHc`t5cgX$5|yhz3TMlP|QL#dI-Jh%|aFOITUkHC4W_$gDUBT z&2C1;uCAPt+n_ngu-%>;|4QkFYTogx((Nl2c&?#;ceUJBWxuHBuvu#qfcY-6WG)nEBuHKBQzd^n&f+~J%GJ`% zcV_pd@mM9DU2Mvz%27H5dYz>Kqa((#Oi5Qszony<)Vmsa=kK1b-c_bE%{0?g#&~`Os``Z&1uH7h$XE& zmEzO?_4SPS%q*!HRLPea66vANjE`GFrR7E~jt*5Gj0@lrD}Sq`(7(k^G!4{=d-c`#vqKie$% zdi$j%XY)K?$}m1He^1BS6|?jjE;EM$OyNIa)Z>ddnfP*0*%D0(JCyHESbD$d>p7%%n0)E|o*f+LWVTZ9sn8D)d%kC(~f4n^|Ybs-V}G-~Fo4t3)Tc5?zUN*Wy$7td#22pgTLim14}! zZzcW94IKVFsi) z7pSYCrUN>8kUqwINEorsP*|+7c>C3VqgS zW|$_@YE*1|HH(}QGG(i_#;u`$9{0_qx+(nl@=kAmE27PQDd{!GI#YoNsyz3VLeKNl zS$s36ld^KZH}qjE+o&qbmn#nO6jr;2_SLOHR!O&yLq6N_;W(4iYyij)?3j6}w2E>Y zdOD^N50!Od-g}rvP)zcvf^L4GXI6KrDmtCroc5>#3c7i*tu@!lJ$V`SD!C}^Y*379 z+J&$8D6#0XGBSPBUory|#pO_i9C+%xlg%J@BbMEj)x)|@gD%`gnpXy-@S*h!ts%so;i~p|eXkvqQ|YvF6%X?~m*Qcb=aP7?a9T_BVhB$`NGw*Tl_NpdJ&WY2Rnpxm+j&Bg zDfw%e-aI2V{VA%{dQY~uL}?EpoqqV$8lYh3h?0IZbrpPN< zZZp!J`3xO@ev)}+zCGvXy2EpqbO0U)p;fxi`Hno*(PK}NH|JYPQFJmDY`1ItfCQuq z`h?*;ujNj_(xI;5(Q6SOR>6E)3Zo+d9ARbG-o+exzR=$x5v7v^( z(#}BLgoj~D6P@X%gXu8gju3p}5$Unt_T>s$;tulSzT?d?JHGvzi5FWe zeljQ~XU>0!>LZzNNJe}+K}iXs_i`lTdlM8de=Hg0b@{qRM^`Li@qxZ=%c9<)w?@d6 znfoqoBHLKGqF_fy0ymQ~N`cXLluS0Ubctv-Got9OHju{(5z}kZ*$ua6LgBW65#6%nu7+cGH9wsl z!gk3q@JbR3Ph@KEi`Q6|j;8pv`VoaWu^4@_Lj{c#XlEP(nk~fT<=clU-+DO=5~BKW zBwe*kyYJL*+I>yln?+B@NLcTV9^odW{60b{yI-caF1=IVY56*#4Y_W*Qn;a?(2JPZ zqWX(WL`*EP_FK6wR8L;b+IKAt+y7E0hnd2cxbSGRAt!~hN@q`sl9KdOYw>z3r(~5u zcV%287yt@wl7kec0aUXR^l^zmNh$S_yqY;Pi zkF7IFqlzr34R`!GV?kQ021&l7+y1^a9y(yg+3<+Zh*XS?csiN5(Cd!1N0UnwlHgB` zOzFZN!=;NA+A?m>aV@5ew<^9zij}OyyKYm)Yt!F@Rh}5uQ_@d=57wcj=Y?xHNX(&{ z^ShABA|tu@N@Z2^chl%VK?mU2@t!-YE2SLC^wf}9?bO!e3X=>ebX2d?HY}HmBqcq3 z_;I&qLTci;sAk?LE>AblXGL0}AXY8Y>euSAVIeV-kSJ1h<>_W9U3ReB?D;3_#kCN3 zcF&9jO5sOBjmbDBTjn)vW;)bw;nl8T-G+AFaj_lk>-hD|Raa%&TH4#TY+DlquOArD zX`ZDO$7M2CuN~^^Eg=(~Z@|zFa|3Obp6ieST|KZP>ad zt)8ZzgPEuyE9hC}V$QFO&Q-Jmj@q9;N7m@*;h!U0c7*J7M*aD*uOuJNznnFn6nSLz z(6q5hhj{j~BwZcdLpyu9YPy4(kJR=#X8S)W_?IYpExhnR&nDH6ZD+6 zlkanHUP(*O2C~?JqY(iet`t!)#h@Lz%4)YSj7p(v-xuXy62 z@GT=PzeN95{r($kvdhlHGsoc}!El|)9Qy5#ohmy7FTFheeT`7F9#%w@noC&Ss@6GJ zKcTm+U|l7n6#3Y4s!~-bb^B#U=;^k59g#|_`rGYaZ8mR)>H=PTA1OL;nZIhkHAr$K>Vo2*Lzw1zjcg8~owR8bz$Nxa|7RDHI9 zlwxoFat*%7ux6`Q(C3on&a6>lVg;Q zgG>)0o##J#uM~|X+qc7*gxePLnuCHFCCK)g7qilZT<8x9OesgglDU11W+K~p)JC~d z(og5h9iVO+RFyoY(3f}dO7zyA$<3(4yywh1Y__wEy{aN5f7X+7_IXAWXNKfy_3itS z$V0aKVe)%8Ev;nUUZ1Y-Zhd=(^k(@!E&sCjz8Ny+oo~)baObE`f9KmQ_Q0IC?w`Ih zimc8@hu+(loz12N{v{f(w}>g}?8JrYBKEY$V!eF8igY%6*u^`w zXI0FU{5y)gE5b5icEcEYdL3NM;AaPTZAq1OC6-M6MEE`~^WuXPK9cpIc2ee3<*Gi_ zG+mGT%*w4*4(C!y`m^Z?&$_L9v-Ha*H(Q@1CZ^PVEmxIq*?#gS-UVZi-(>1?5z9@B zAh;-hx22gTFLxBEsT)+@Rw2*b>zLOt6VBFN45<`4b{{$}VfkqVeh3d=VF6R}vy^}Kc9mTmDQh6ep{q3>_e=Yjq6HZCX$=gz7q*1? z`*lJ!LhFLwvF7%i^S8;R)#~Nc&lwJfirqMKHpma>hB0-^T}v ztxx&k&mz_)vb`2=|h)h9BF-R!%QU zXV%5MvhdzSbJkr#J|Zi-WJ99zTK!T;T(VKPByo{sT%qv+COzea0piI3-_ND-J9 zu+wRg8U%iGq?&)oEHy`ZYXYp|=p{X-KDo~-Kil5u72K?ozaJ~Q+r&jkOfT}p53`8w zd$v7yhMd=fXpuX>(%A)&@Pj+DC3)){j zVBWf0fgfA#-mZI@g(Y_HpS8*iGiFIjQ;_I@pLY|F=KkPb4t+}APxD6@pE5_B(;IT^ z+bRa~I|_OX-@MW@Ipdf@$LOSSMd_-UmUlGF<{HOhYJT_KZ5l)|r#&sm1?OlFPG zi<*-uB$ZUT*nITpej=w?)6oDjJM#ltTS&aB(ul&h2lGx#o9wC>xO)2b@n#Camy#6|y(W?Z@7Thbu8%m4kCu6gE z&vtl5g0Jmq`PyhH`Njuvm1uhYrf(0a_?o$}+@4Rp@;lSfKd6zLxb*Zwxe#1|y)a&! zKhbKB(NbM_dOp8salxD$kt^(KHUrsN;uU(ccDy@FyyCzP`~ycbo)yXV-6$Fv35P&ar{HzSPWc-d(ze(Ft;cT* z_}2Q<*lF{AcKmF6N3rpX?chk-#sd#LudAa`xNrO>lL`G{EP?$2C9;otmstGljPbMa z_>PW>Wp11NOkt7?#`s7u9^TI;AzdR6SAxp&NE9y!%ZDne^NjJ8h-mxAj=;QS zNv~8?yGL%?LZrPxY)fG8khTpqWke&>m5W{`J3~D4cE<3Hvqa)!ZC7V^p}(CqCSLp0 zZ|_f)ef${x7=q_;l?6|ghac^};_8P9^xlZ7EE!Rn0Cv%<3bsE<^t~0sjbDhI= z9#;?+@g%d#vdMpL~xB4JBhJv(rl8@*sG5>g?b*g0;1iQ>P&Fl|g^-7eQxD zN8M|wtuulPf(6`N5#)m344w%7AvmL^tLDj?lWU)>Ed{+MeelvdgOh89YJ!*Qf_Dag z%ipW{^)Y^bX=;AZ9egZ!J~*Z3YSO*C=94wwsCl8Lw)XY4m)6b+{yw;&X6kLjQ?0>g zgI@$qHFwm!hu`m*dU2{HcsE@9DtKef)|xlh{6Wp1)%-)vFKSMzy|7lLw`KMGr}z=B ztLVc{MZM?j@nw#q&UW_r@i$~f{psxKI_)FO_DTGYDcMg|!4{(4MGV;j#% zDj#;?k$qs%D+`lUnk;u_SI-iyATRZrcsO+JV${^Uzjdlz}eF=B%hXBYW>*_g>HJN3VWd^ z_@!Wp6e)bU_>>}+A|<|ghA$p>7X35v8C1|a_*AL;FQjnrzvxiQ;To6S#}ZSy+1iIs zH&X+jt$$W}BXHcG8M;+pYpM0@*RM6%VkTg%%=`?4DMp%I^y#g?V5joK#3}U|>aqNs z843^@$`m?rIojHentdAIhF{xtu%pU}DkUH3$3VG;r^J_GK%Y2htvdbo@vChQ$d9F* zIPqERF;8a2II;EWmSqF~D7#y>4cLrfBKYT{ZD(emkJZzQ9FA(j{qxTLdFXzZptr-O zXYs(q(_vfs!;Y_|YT+cGTllq8)Fv|j*~S~H2(el3!lO+KSD2k&F|q9mkz1K4r)MfZ z%*UxvJ5A9le_$=TzaK6S1-7$rk2Tv!8b}4!iE$kPwVveDrSc{?%-7vlwunS&+#Trx zqKj5`EdTzNJCmiHPPBaDIPwJ>PCB4ew+IeU`)ADovx0Epc48g4a zrRy)z)3QE)_VSgCVT>EPl=3*c=*wgc_3ZHvnJ-^|@tQL#=#;N9khvG-coIP>QbxP;i{}}hn}tr_l*KdaXK=CO0Hmg-!4;|qeR@A zjqbSP4V?WZfPSIkedh2|>TCLQm~KLTMKm3smfq>FS*A`r1tSek$=9rl*;J9ka47Mm zi7D|NUpY-LU@$8<-^hLT^h5oJncnNOEu!C;?@U5UzLwE4&5btIRbv;*XRgXqr_La=4K^jc%Ri0#Al(0B4KRzow*5@M zFJ}4p%CYe|rrStKb`A5wb{9DsmExJi)6(bq*rL}{Vr>CsGENwK-_RT=IUj4wnysOO z=EFoQrQBYRu$K!O2i+0eJ%x_O!S=?%iwEu2kCgO8Eq^{cE_d56?r^K`5H(voy;q$= z*X<1{d-S`EbV_<(u4s=*tb{4)`ZO?~v60U{9@BF$v5hUUOw;SZMU0+m@gouQV2mn} zPc%-kJt~Q`JJpLb7M=(}C+xNuOU2Vsub7DE(yLc@_j5fF@i6~bINKWYdsu%fbkHs9 zNFl2+{&(L%@;8r)7>#n_JjP-bETukjJ!aw5rQi+HylI0}i?}hE@8reFBB{yjMsJd- zqpIl5oIEXk7fZX!j{Lpv=Q=OslajB}wHxKa3#MghnIkQJRMokj!M)KVeZ7Omk8T{C z#gC}SU&{v95LH{b96il(x>dWyji$AT{Y3ahDrL;+hl1ejDE|vJd4%vq$Aq!K1gWzCmddfD>JvmKqed>37q`9$|uUAwwv&06hSspi8LlVjMj!RIKpYt#mHNBd8h zdQLEB&KzxrIM(ioU?+<9==i-L3Y|0O*f}PYKLY*^^e-gvfAtT;9W2*aJ}GKlT^%=J z>ZqgU9Buxntv%}KqwO8{M{RAbjdP6o5cyd1F-56){ZUuEz;x~H?7zu<@xavmAFT~W zz{kM}@I|ogsRL6eOE3)9gJa+Vu>Q{uOl<%gz#KRZ-VY9c>A=)uV9S>eOpSwMUpX+< z#y*^pKR+F!eAv366sk z--ZvAZu~ox7i{=j=L=j%4-ZT&zlZtpeL2=2W$iH z1#{qgz|#MM9ys|T<#-GC|Kq^aQ($TGz|yAD+HRtX82AjaT;}1@izy@#xoB*E&>rWs(I1CaB3x(1KYqcuv_=%9h`aqYylrvI5-9lgU^BWXB?b*8EifiIlY7XU@KUfe{ib# zo$w2`fz9U~oO%WvKL6mI~wtx?SZQvtd4jctb;4|Pb_#8L_z6kCI>)uU1;2Gc;*aVJ) zE5Qk{4V(nK!Meo z6C43c;C}Faa1{IiI0ilrj)P<11b6_P1b+h7Ek#csB!93TYycO4&ES<_3)l*_fjKY- z?g2~S1K=>Y9~=Rn1owmA1V_Q=!7*?W90%vH0doSJ4^D!M!MbG!r&_>za68xl_JGac zKClHG0o%Yw!5sJ$SOT8~hrtPO1bhkH4<7#>@&_~E7}yMsgX_Qv@OE$#><8Cv19|N1gr@CC0GL6z+tc(90BhI_k-^NN5TEz82BVO z4t^7y0G|gZ!AY?0QtIWm$se2#Hh_!4X0Qcp0k?x~U=NrBhrtr~FgOf829AJFgZsg8 za1?w290Okl$H9|E$RBI~C&A@l-DT)8SP$L_Hh?9t8N45C0Y3n?fscbZa11Pg2f$(Q zC*TMe{0{kp_24MD02~9a1joTva01MMli(h(ZaMV=)`O3L4d5u)3_b(4fX{(#;EP}m zta~5%gJ*!lU=uh3t_1gkZQv-_4UU2Lg5%(OzzJ|aI0-%p)?H4$fc4<>U;{V_HiL8C zPyXP1unk-c=D-%P1a1e1!5(k~+z0LlN5E0=QE&`=3LFQY1t-7>a1wk8tXn~Qd6@jc z4A=lRgU#SNum!vwYyY&jj)SA%3*Z>|GB^&N^tL08J?*tpb64(sh54M0G0NcRF!5laSmcRqxF!&R21Pp$U{K0x~6kGs~fmed# zU@JHQ=D1Ga$Afo;TfpbRHgFQmfpZ=qe{eoH3@!#oz!q>nxE&k?d%!VpA2<$c4I z2PeQ6z)A3BuUw z;7`CYF!(U}gZ1D9xB#34uLSE>Q~zK+m;)QYJzz8V0N4UP0=9vpU=Dl+EP>B~!{CeH z2w1nD{J}H8QLqUd16P9MU>i6Ac7v1PyYo5 zm;u|sW-te?154oT;4s(^j)249e(+&%6nqRE1D^)R!EtZ`d;y#UUk2;eQvZKU{$K;x z04@ic!3|&wcqiBfmcSf%KUe}k01ktXgCpP=xF0+Kj)Fe{$3Uh|f^o1OoB$Vqli-zL z-F4JISP$mF25=A93_bw1fRBJ};3${_p8-qYbKo%eA~*upeT@9UGr&=>2^<4gg5zKt zI01Hpli()~*U_JN(*Z{r^HiIX9g8ab-unk-e=D-bL3A_^=220=w zct5xw`~Wx#J`Rq7W8gS=0Gt4S0#1U#W8{B5^#ay|3%~~OO0XGh1zW%z*aqGU=D_!W zC2&7D3_b~tfZqi7gU^Gb;3PN(&iN$ygY&@&a4|Ruwt#gv&|biLum@}a_kqpe2-pHX z3buhyfjRJ5umnzk!{AHc2zdOb$REsrqhK>Q2Cf6g!P~(JupgWRhrzlH)C*V-J_a^` zPlL_iIM@Qd0JecIgE{b|Pm@2`01ku8!4Yr+xF5U|90g0@7J0@F_3{J`0w>32+#E2^;~B ze}eqM2C$(OIq5gJ2OPZ-xqxF^kT+P@M!81`-$p!e^d{ngW80|*u;muy|0mGDm2hz6 zHp0R2+mS0caR>4Q8``1sIrzDgdIv|d)H7Ju34dTi4t@Dk@&TK{<~;GhQSbr%?xKG5 z8?1X0xquB|X$SQSj)M1t`@1PWSXV&4;4nD<^ZdRG`GFih9&#WT?kNC1vbPaiXFg6^#n*vPe-;uauIK@~W^%shw@iv4we= zRH#djg@r|S%2}ACXO8ht{v7@zn|7&Kl%!#44J{(XPD-R6DgdEWou@9SI_iA9X?M#Sc2v~yw21$`k253Mk_fFzvmjuG5R&ekM`HuXEg7nUzKC} zA1H@5MynVfM!w1GR^|7xer;S=GY?FBi~Um9-=<#-uti?+WjNtF%OOJ zaNg0!IL5!rKBM+M&hZQ6Xrf)iIMg*pF?fLTX#IfmgKy`Mt{-E4FhCFOpK(smL*s9Z`*GGC;~2vP z)}zzJdB@1ld49HYA2Tub3)UUAW}fTn`U##BFH`_O{Stjpi2kGW_) z!@6M9W&9XmKSrKqp099?1!(`8d7|?>#*6XiS)UHd{ho7y@jtLWX#bJ^|G_w3V0}>g z6Z2Nr*n|o6(e{|ftE}Und4EA4%hCA@?V&z45*opd1?(d>J=AqWfx?v2PFo8W7 z-NpWOF%Gma(#3k9kIiUz(;s@McQdXY)&pIvLbI3kz&HkI^syd2^oxb4zrpx1ip^;C zvtKG7;PV0cnB7bHLCy_oL%i-VirX=Pv+6paTp!mM!RRpOSY2Z~Mn>5GH)sz{v_@$U zU2H&OjOQadsP)s&IOhbTSdIZUVq}8xp^qs8%zu(|jUHB@HN`rki=Ak^Nqd9LA9K){ zrag6yjp}+g?V*DyL(F>*?O_ZnP3jiG$|BUDB`ev@S`TWPJ{y9y*71Nj=67>yjRH^)AVrV!VfUNh$hAbV(xy zM|Meo#!+3Oze&BLyTroyF5^8|&SCvgKbQ4? zhjl%#OQNWKrb}8-KcD-Uz=C(_=K{u!@w_ha(OuOg>F+U){4Oa$e>LlffyFvvVojH< zoT0so7#HdVj0+Pui~hy5`#$ZhWqr}Tg!RQ(VV9)-i}76ACB+!MjB|t5NtL=Tp?!7zdDcZ; ze}R6~^$m`+DW;y2-ty{bJ@1i8< zHqH~qZ|9t2qM}Q-qjo3fe9@vL<1WrCMx&fp1R93^sSk6gpej-xT`$3G0ClM$tzH%}1Dzy8bEiK`+j_AILa<#(rb)c$YMz z^>dyF82<&Y=Vi>hne&G6C)gi#{S@aBBilHys6Wj-mecMt%mZW3G7q$V!#-lXh1V0> zzvWz~QofaQgwf}_q)uJ`fpey=+c*#E`UUpmAg=$!exUwm#*a3-82bz3L-$3_`wIGb ziFu&^S6(k@x3k_Dyv)9!{tENOSO@JM%=N4EkMY;Kq*m!uPPv2j(rD*(+C!_8_R!l! zduVr4PTlXJJ&g3x-XYY(LJY7RjW=i)BiO9&W4pSKQ|f*{{TxcW13W)4I>bIQp3PdQ9r3O|g-`xoOw=iiJEBeS%J z=6`q{qV@svO=rBAhjF1_^pd)z5sl<-=|FRFx6CTFZZVEx9S-Og8~r8SQjGyRn7}4= ze`&XLqMp(%DMxc3bJ0DpTPjdn-Yu>h;A7}@5pY+I2MoUmSPN!?v{FWeN4Bssq2hxNji?}W4mP~I>&WO3A)F3 zO9T3u-O{7(pU^GZ@yz2y#)F2@Ep=$0%zboD;eICLJC*TZY-P8UqWv-EkIrd~8~u-W zOMv<(x+V1l?w{T*COV&_UyNkaF2>L3mKKbj*)3D(p4Bb-iL`5WO96UkvtHxj&_f#oEJN+`ZmB{8>(IhDMz95A*p6}RM-LMi zV9IIKFJd3iz-+Y8!Uz^)6wA@Rf_b2ECF585RjfODnD%k@0}V86)*a2OS#Pwj<=mos zJ$V-8OIa5*Z(@Avx}5$01mn1kYqTm@Z`8lad`~C8m-6U+gZ)w0_i^4oNxR=-TxFcp2<4=lyyM&myG8u?mxk}P3G|=<3#r73aEawKz-|+gwXba=~H20t59AWJDj3bBj{S)hW4&(VV`;Pi{ z&d<4wyPfjryi9ovUSVHQ{|D`#$9UwF9 zXsf8VyhjR9JFG`$l<7T^o6oq8?vYZokLi(m<#9cdwwifm^~lOKwEqd}p>;-&jA7){ zl)H%WJ>9tsaS?`)$?}{rlM;bYirBHTic~ zM~r@#bw%fUjO!ZKqozkp)E;2nFpdr;zE3-7)^biT_Cv~DOFb;WIF_J`73g6MeXPd- zn=yfHs6EI!qK;!|;4GS$R?L2(fi~t~1Pd{W5sYCaI#`QwY(y7b^l&@+*nm|l8!oNp@Dg5qKy`op^a4-!8(j$9Ansm4z^<)`_aV&dYE!O{bL3On2iavP^)7f zQO9yLuo_Kt(84CPu@xiet80gI@>$w_nDd44%{|h9P6O+T2@KHwIsKH-?vu2O{?n{K zn$Pw~Cq`OWhtF~Uw~PzD=h;8h+Ipl0?H8CAMm_f9^W6Un>w>{{_7kmFm?y?wWjtS? zoX`HC(aFAGVi)U#?i-vhv<7*7mNJfj=K@-zj8|Qc^ZK}f>nY}g&YSEbYI~@suHWKZ zpq^l#ZlwQrSTA(nV?LO`Hq>WWACYfw9l@O68a6H@{a>zDzq8_DVTw*Yt{3M!h?G zrS>a~6NT<`l+W~^spX-hpDHoH`6cr zjg0qJ>Oac3F!p$_w4&bBD;;S3vR5*1qg->Z6eyqUl_=^@^-2xKpYD~Fw=@5iUh$Q` z>lM9%a+rh8^Nb6%-}g!#dPDSk2jdDTcPHg>C0fJ1Vq<_cDj)3?7k%tOZ*d>rPtG;A zVSqmBTA$3IfvHi>A!cF(EsS9?Ca@fhrG3(f_JPz#563XTS=5&GN!nK_hlX-_pX8u< zaGx|_9Jir%DD}|R`y}IT+QDoL&_eBS`b7iF(K@0}s@46Y`$W5k^2hW^I=UHsQi#!G z`=mm7T%W{Mp4lf!m5lquJ}E)xq&}&^xIzEupTc~Vrp>qZGzd?DM@nQUG`a}KmeNy{P@*60R@f(@)F)D_k)u^(1MAVmX0)&kZS*mMV;IF*jA5EX|7c(wbI`>?^sp3tjADQ_ zn7{_qmb}6D_0m6jXkaIrIE5A_t*3v~F@h^Gin$oWB6KibT4-P~npln&R-=s$Mz9H^*oraiKnDYi;|#i(T2KF&i9VVbU;!qu1hoU%f7CIC z2G*mA&1hj8+UR2h$1sYs7{jzp^p6I{F$Y~NL=Q{R$0!C^g9&UvZ5jKII(leeCz?2g z7A8GR|EOaGS7H=%F@{CxUi7wWnhmGi?ive!O1ooh|oc%`~waxU8>1bjWT9}76 z+8DtyjA9kWunrxJV;o!1#dh>Cz-TJ_(LlQgu|DXmV0|!hFzuk8#yVi^5YCIbK8$tU z!Zn)c=6Az3 zlbj!QeFpPyr2N^;AI%)*kI{3OKWgXEA6mK0AN32EKgL%ve~jeQFS-`}KEnE4$oWR? zBK8LZY{pmt^HujR=JkOQO!+DIF$?Xr%uiioHM*CuPUu}mc{DC(zaGUR)(2gz!RQt2 zHwIVIK1Qx$f8)#>v(d1b587C%uCHNTF@7!Q>oMvVvpyKPj`cy~dd?^6pJjc}!<9c{ zT}o&NV_1#)=NKQl7@$?kdOyy(VhP4>;J&&>4+9L8Uu2$5w09HZS3bb`!RYtt=jV*; z2b^a#e#q+{od+2&+CS!X_Y3-U7_V{zuPZb*(muvF@tpZ3*PD5sD1XAbqxA^&G4?3; zo7tDgIFA_ol6Aw#6Rg)0_!O@*G+ovK6VLJbME?c)eUfo>@I1oE4%QiiUe4=NjANW} zV04;uzm4m67(Z(7aW2qE>gW5)82^F&GKDTCJx%**{d^x7`62y$9~kYW_lt+lntn-n zhJG&WmmG91>6h(j7WT^?jH2$+&!zp6htVszkA88#6hBM9pYN9$jAHt)S(nm&DOBFr zFLh`~D34K`LjR_IN&OA?zuYfb=-k{dHrlr^F4W8Wr5SzfRQGS~=li!Pe+T_5D`^ki zuhZXioEOYOAM?<@uU}%Q$NHrW&F}O}+Hdi@{Zfjt@AXR@y&A@i#`pXAzAWbdgMO*U z*bkX+E7uRPUKrH%OAA^*roZRucYVK9Dj)8be)KSbKBoMh@|c0z7S;h{jr~%E(MS5F z9lc-mi}MHeqm}Y)lxypkT8#a%UwY8PS(U#)JAcF%Ss&D2>X%kDUuGRK`U>NIfqFaG z-#_8beyKozSHA?P^{_u4*S++I<{OMtIY4`VroAD?gVr$P_zUwH;oP7#-Y?tK^(5=? zBJE5wevIvAd}!}sJ-0K@1m^{<_t-CWJ;T1fM1TKc9B9w>O9w_Uz$nfrKj@c|zfxZ4 z2aTiw>A(o?K{I(k3jRj@#RGi*5&M6@fCLyU8IYWI#&h6+xXR@NV!lkd)B&kP=b!;; zN8{iDnZ-!jfE4|maUVJ$+c2&VNZKpR3k~!z2YoEW087z4azM7Dn?4{bJDA@ww2%66 zw1WW#7|k3I>mPUm_t83WK$=lIX+ZkXL;Y38bIO2JVB}QBjo!xw_`V|A`}lyAp!bOZ zsYCND+Vh#m*|dXkY(xFil;6QTa~K~w=g^Mw+yT*EXPoB^h>cb*sZ4@mAVuCHc3=v^})aWt-F zz0m#~`_V;SHXxbZ>qkB4oDB0e`8+<8DIN=G@0ZAHWKhQuQ3s8T3fbS2YJ*-uE zC$CSHceDN@*u%b|+sFAqbAZ={a**+0JfPet{f^Qe#>ZH9v?kae3?>I8f&LWhGDbVo z%wM^Ob;ihBtTQHX2K~3`Z=CV}b3h^(e}{7DzQ;aeWQKW6&@N`9|32f##J_l5q4RJ0 zRrhB(N2q7`}8k9!#lLy7a=;A?{LR}jaeF_g4ltK)!3aurSSNYOG z=}@K&O3It8CuX60;GmSCw`@=x)KX~|^@9dw76Z(grrZkpML%-h#@Wuick#(M>pU9vTpm!7F#o)_>(xR@*=ntKn*{}al zznuDL-8LxO(Yc*<{s1f3M~q`Bx)@d0cQP)F+{Jl7Kgzkn#NE^r@_U#cx>$$_EJdS| z`e8sA~O7<`xUsr&)fL*)+*N}fhL>p3T=Z5Wgu zWj*VBKr(+n&FcVTn;Dn#5&Grlx0sI(N+kvuM=MTy>Kdn%zogz$#{VqiM(;P&N3)f4 zkb<4e8+~lX*seio!)QO_JrD!hM{}5Sh}sD2h%U}zWR!Bts5dq!MHnCF`GNME^pDye z?k}hQ+pISR7(?fu^oRC4gVK+Q_gTMG+7tRmJ!wd$(7>dF7#|u+ZAco?N*Ut&j;M#J zE9m#YAu%yX9pd|rX#emb*@ONuLy~te)0W2)b$D6$N1?(l9@*S$ss948>8sv z42g%{IYW|m2<_%m598L5w4%RuNOBIP|H2`u!uX{_e7_Lamk&vRk)k2d4rBeU9Fk)6 z>>;UDUNa;eD!+C}X3;2SUOM^bsgIE_4oUjq^mo&c6ruAa+Q&FLXn&dhQTqz>K7#98 zh9rW}nWPK;qQn)eQg zj~>oow2JjQiu&JRe9CV!F6Fn_FVw!xdL2zWHA7-!fOTj;K!51}fO(@;$2g8*UJmV} zwTba&FwRGr2YRR-OL>9M;IS^ zlk{^k_ovu@)TUW)blzi~Pocf{d0n9PuOVqif0q7FCI1iiG4=uLgSyZk`ila|TuJ$q zKq}D12J~ZXCfn=RV`-cT$qkecG^=KU*i2iXr zDUd?c&IqI(T}+^dDOs%FnbgN1hx!;jCy*+PofpWI%5wur{{-vz8QMWBFOWJk^7#r2 zJxo2Fajj-P7_|a1F^)D`YXXU)eo-K8=v^GhjLO$i?~}B9NgxI2Um8dZ&C8h=de_lT zHu)CiQMNrF=CICztWQ#`rLS9ccT^SGj|A_zeBLPQPej z5eB`1G^^{rKswRuXP?fe`~c&?2wE7$5_LUDKN!bWbg=_H4A93J3^4Tq#(|lr4Y59` zV*wgif+kj=g)y|T9wXR{QEbB)`s#kb`9N!!cJmkqS{QkobAj%=^t+03AJC3+(XjaF zA22L>KIKw|r3kHM!{T6K`LJ|ie8sS2u4Y{iB}W&V&^UZpTG2mZSQ6^`$YDvb823@b zQlLC~SgO#)I`odEJ(V9fEK}%X(i-xUhs8qUlwm1Wo;oZwm^f`%JPb}Bmh=np%weg( z_*uhJj}epmXrD7IxfijHxx*5{;11?f!1bNOvJ#EE$kDooaibj@mb{C}A0FoWhZqlP zYq@@8SlZBjl>RQEo%pbnVC?Z>2{8V1`YELRFBk`E&5Q%1PYg>t1~`lHXK4RY%DKZ5 z#TeG3(Zc#%hR+R)iFWI-#4z&wuymmIhha&*oOAF3{h)_s7<94D==8A8X!Q_{PkMMmn?BCrZ68SvseSL)QhatarL^8fWKUjo`D#nM=AB;$CDeXQu zBGwJ~5dETAHzJi7`_YKR(Z}t|AG3~VuN#r18)**>^wu*@jBI3mls{wLzDRq&pnZ%r zk4PKpPmD-_4$i3iPmV}xgmy3st*1uB#spSlWE=BS*UwN7yCl)w@_|kL~1aYq#nkmnNK7&w#+R>wuay#pTE78GRj2<&8r5MAg%CQE`V@G9=x}P~J#TDcyj!GlOjZv9F z@8nU*yMumCr5;9C(mw_t8Wq4k+jN&hPSV*#4yGY*Vk zEov7q9`y1?CG~FZuNvk1b7&XK(ZOo8SF^6@Vh1KLKy3}>eMy1VeES9f1UY!Zd6*( z|2*@$m;Oper3~F0DTl#Lqmos{I)9mc!JurE@3&!IUtwL*!hTF((l;n~^QaV}c0cQZ z#%9W)iT!9{0^<#=_cv(|OHkV~Dis*p%6h9D+fe_>sQ8$`8PpnC*ZasZ6WvFcKL&Bm z7kZD6N=`M`KWDxe{{{PjZZr4Md16$IZ*l)g=84g#SXVT+alX;`72`u6bG}V`&oB>+ z{F-x!iQjPE@8|kC&N0TY9OGDxE;{I8GitvZl^(QFi%}2LQE#Pvw06)x+Ssh_V;h<~ zMcgzJx*p{m)=+MY^M}?r{iBa@bS5~r>i#7CJ-|57!eDAtV(3ltoIv9( z>VKbgd7E`Y4`Zk$IIn194@Phg>hCb`AF!^NhuXWG3w4c+XuiijU=;OQ+FdjzMQA6F ziGxvWLTm9D-nYaCy;#An3SQ7RT#lKH1o%#2cxJt zl*e?8tR9mr^sF(-L-WEhsZjT^4tOS^k9200YP`-hFe!_S#);Pw`aU*|ZOmfhElyik=VQ`<-Y+<}%3m_CpHTh@_8Dy~#t4?9{v_kXz@>joU?*zNvMw0K zj7IheE%dP%onKQQ^%nZWD7Io8J5YO$ajN?`g9fHP!gzkmI8pmO=K+mBj>*cOG9D~K z>jlmaMm@%Z=ARjdy8a8}f0TMJj!7wcSc|dk^ox;~m}i{+{z^Fv{x&8twEj*%=)b}| z9^?K$cwJxwqZq{+G+t$Y(Zp7?umfW_gNZKc|BQ9$=G>vy!@SW%5A|O5<8js(O^jm+ z`dF#1`)FTX_j69s9iY7?+8tya(Hi2Mp^Z%#!|kXA%pZNs_&M{!Y~?WPh4u*TqczI& z1tZv^@-g-iqd22{YfN%~L3;^aFUogm@0W}lv(Z8ewfATb&G*N|RXJ`)2d7Z~7xQdp zy>KOJ|7M;TU>u!U&N=EIQ0@ulmo(1Lg`%CMS5wbVX+ZrR#)m=W zI6sGoylPzH%5O4$)E^k<=MT}3Lp`+CGhTJwz&Khcw`H84Gep1Wq1i}(&oQ1y=nrF$ zvL6_Koc>U2VqR$B6h<-ix7^1pjQ*VR%3shA`skwmOX{JGQ|kIj_Um`l!%~cFqdeN~ zxOAZQ?6_#Hw1erW|C;udE#v(BA@b+Or419mrT^!t_dNTGF4kf22j=m6_T`V9548Wp z_%ZR~xb$Q6Z|vhAn8(YU19Z?w|L@dmqdw}Wy)rHLW zV)U?FUBAbAp*F+#(ZqIiFhKu(&ih~R-{Vq+(OLEZ_5ZN`>iUCm$$XLa&_a9B1V8_W z>*NXPM|bfAKlg`x$%Is)dEkV!Vj^`yjF-5-VnRyL!wU2xWf2Z(kKpO8j0j-HSij2$;2MSr8dK|AQ4Opf+x6B22szbx8A=Mxi>@-pSK zC!`t^XHH0fk+UWw_3!j+PDmbF=S)ZwMsYjFaSVfVndd9Ccix0#p_V(r_uEhp%hASa zjG}{abkW7_=wT1~xCgb*Oh{S>^)VYQw9v+4j9@uNu^Qvph%UP5;db<~2hHD;QNDCU@HAc5?qA=8OK1*f)$i^pDO4)?MZGoGX=Y zo)Ep0c7DS7!RRBLAB_K$^+gw(FoEr8KT1F9etbggU9|HU<?^_M0jj`m-U8Lbgs517EDe#(!rpBPNA z9_so{`b7_0RF3WFE}E2-LFSJc7+EqY6&O8uQf4rQsYBGqOmy@~iJ)=Bq-;Y!eUk6L zq5M&kVxf1;q{LA>Zc?T&ar~s{!`we%QdVN@q)EQthWe*WN))Y?lhUa2(jc|SDq}ZsNlTwKW)?x%*^sq1`X6JSxsy_Y`YP(7 zf!onTZJc>nlTwIU!K9R;aS7u?)1H)eb^jX1rLK#a#{}cMo^fF0vy2-PC9KaR>-2?5 zsYa`me$cs*{->xPp?}oA#QLJ~l}U+V?B+?SN3(oVno+-PQrb|fpj~wCn3OSe@0yfZ z4DM#V-=tjSq?l-60Yt$QgqO*>eO<~NxSy48$pH|4%VJ+!|||EN7M zDOr2y=LgIWwI5OLE%xun>;t;%C#4LvjjXe}##T&ho|F!ZZJCrkXl|X9?6+z6C!7oA z=!1UW*yLemiwsxW>Sh0l*1}z%ajzp!~A|X#rL}~pXaAUdzbnA zaY~9Y{=$^Bp#G;R=|StoDbe5K{!3F*igAo$;%`&ZhSuMwBz1=S9n{C*)hUUixnoKa z80ngll=oTJfhoyC7xOSSI3+gP!IYGvhtmh*f+ZNm3XEY49jwPVHlvGe=%J53j$wean837u)Bjm-ih(-jpn-*GVkue} zMH_1{f(;nOZ5Trj9qhz7PN9oQv-FQT`nVDU%*6y2p=Q1*5!A5~4Xi~I8__}+ZQPC# z?7=AR!5C`)p?^%rIA)=XdFY{yK9*sCRhYm!)XsiW;;3T_8rY5|_M?Rfv@zua`o|26 zVm8LmLI;a6j^*fLHG1fvk4+e0D<-f5wNJ7CsN)P8m@4#-nP{PjHWpw6OE8KR7{eGk zSdVdRMi<-ALmzz{!vJS7foVyL`S%dmf7CGt4JI9*RtN|+l*VIpQ{-!Mz5hh>Nns4i<8_h za^9A3|4Uq>QAWEqdxx&~^#))nh`*0-pdnu3BAm=ij`a|@O+Tv-+K8ouDr=Vc_H^vFPawjSlYdETGEbV9#>HxHG5j>(Zv?DuAY`X z>iU{#$vmEN#nV!Z4pyUm9py0i?6eq}%)4Y-%FryG=I8BD{zk@m0_Cv?jW141tuit# z9=bTCyovfJ(q7rLG-2ZAX-Pea^|)nPEVRm}r3$rMr=?kW8}-md!{Gky(^7&yI%wWG zEwiZK#r>0Mw~}#T{66M)3VAi_fH54y#Qlu#RIb0vxG?%X=8a~}G(We7dOw_&b_^bz zmZXo-Uc@2RESYPz84xL|5OWr4__uRBpD1XmBoKAaf)6$AjkA3|l^ZqmKqy3j@*`}_s2NSpl ztrs~D+1$sK=%S7KcJ>jyzfuo_zfDUAYVFiR>t)7u2Icx(ppARb zLG4WX#SD!9gZZP25%jPUeXK?ORr*C6eROa}UB5Oh1!vKp&wio1gY%@^IW4&+}~41MENA*r{@y!YC$v zn)zTR256x%$hlJ27*`I_zB1taDTi6_9Qq$&9GDp8e4{x|yJ%t3Ih>zK#)1Bu>?7LK zj92B@iRNzh?_Ab<5B*|*RTxcho>cxW`+&}Syl&2;-5JJ--oIIA)c-?!sC~fv)P3y4 z7*3&sNx7J`TXNAz-Yr#_z&e#L-Ys!;jV&0_c1t_D*pJ2myCs3vlHHR28OklC9gL>z z=KF@Y#t3T5c1tB%SgSmEx9m~syTv}Ad0`p4htoesj@T{Ds2{modeFl?Do@`n+6ClC z?G^*0n4_+b-Ytb_V=2ZkisrG58>85c4)&vcJniJs9;Ty%S!kWecrk{RD#u!Mu@U1Z z?Uqiojop0z5c9)KbWh$bCTged=I8&=4whgPD=>~R^syczE14h0&{NkR+by$bpSD}F z^I6v{)*bEBcT3W0>SgbiYIM)o&G#EIuQM43I%iQ2Bj?e-ML%excRuTeu?v{z8pdfL-F5#{b@yy#;b?bvSd)iusw;=9zpociC}Ef&VVzgucBsO9`( z^oNY2hC?PxlT?+V)4KzVdGvhP=t*V7&*unJ?F=wIazvrZUb0`1L= z^D6E?LU}ZPx|^R{gpckP2Lo)yNSt*+{V~ehwA0EyVOrAsuSH+KGD)jEZqYHR$IoTy z#Dy1kO7`CSs$3So%gA!~W|^4BZ-=Y^lUA+B+@ft=oWCylvcBHeR;WnlcZA<YBJ+8{!PxkSur|f znPjcVeCif$IdtnG*19z3;DYrlHXL+G{ql{eU+CP)8t-_0Zh90^ch${}srAcM@wLl3 zcdlAqIQQRz&YcCSP8rSdf2rYT(slBgf3EGuMO*Z(hh4btQ0I{KX&VmSxT5}`s~%py zDfNb~U6=Ru?(E#xLF1x@MK+~Ayj;~=yR2)M>O}pwVE(^dy9!kOq#T+rVV%>jU>^LL zdCaYMzFP16^~oC+UCjdTZJx>>{+aclcs+F+sM|JQcWzHDwWlTf_hqhJ8|BO^|L=1A zl~7Xq|3kU7#hllx{_pm9t4*5ye<)WHUF0B{CwwLM;EV4zEI6p z9pH=RoPQ0vl&zqwwV*7oIcL#D``2d8{284;cLC+=C|{_`^GmJo3|Tu_g9<);-8zfb z?r$SWoyAOz*WWe#+qU!PW$rbazkbPv1J*c8*QMmwFW#tKzA5=j{%iT1w_Ut6cD&AT zR}`&Fah9rL8@2ky>UF)!e{EIg&eikxX;(d0s%Sg?TK?Tv{!E>@JAk%b%~N&eS&QIMkUtQ~C3CR;xPs8J0Cmuohz1M@1Ip4Q>wpW{{7j7 zbJ>*q@S@dfr1@&77phrB{MV?st4kgK|1ud>e(!_|{?9^}E%RTq7L;0k=|`_u6zyB1 zea)(MaSljID!q<>XP7_l+nd#De+&2T&1d)ji6Z6v-cFs2>v;}y&Z$$nC3Wla{7u@! zi`O^@u3NTx!_xIBtLhKfxFmmbaSrt?Fi%=CT!~>y|kO zu20#pbmNlx15{(1lU2Lwyyh(7{C}2zi&Ej^1vZW>bd%pAQ zzVAK4Sv2>gpL;%6?mMrlyhHiA&++dZb4F=!$u0>wvmVoDJ%>E!vX4^+;>I zzTvPn8xO5NWK-J12Vb~(MZ-aBox|51k<7`sqOZ5R=fktnwrJfE&f%*3zT&F1Y9!fK z%e*{!^=tkrReAokSV4crm-x4l)mZtJ#_t$e9a*Ld_@%OXvIa7>9_p8}nXHA(oZsUQ z-@jI?=jpWzmu2oX-b4BAWt}ps8rb{%wbb*s^uyCrz%4C>_t~$|?)?5#Y+14OAZz`y z4F~3LTJrD#`J1)1^-DLVT<9!cm&yWgY}8v__pYwFSI6>IDqp2aWYbm=Z8+mbq35sJ1_uZDWw{Cdnk zn^a$x+WbPb<(As~yO+)F`l{uZ%{e!M&iV7XR=xhzYp;+p`Mi&*lQDnm#vQNk>PoWc z$2gGp&D;3*v-vaQTkxDx2YzF6{UWuX``;{=TOYYnmFD-foOWt%@8s|8=6|Vut|p6< zsdZ4lROXO%kfqKg^UumAvUW0U!Mc9=OM33X zU~NurShPkx7_L?i2HtAsJ~7Na7kK=sLq4|WzRE7$$Z*y-qbMG`4s`t+;Hzi-T_x*G4`{RG}{;8hX>Md5yRz0pS-jsa# zGCp=)v}@IC{?5+%qu{@mq}J7^&x%UsKi}tv&x!mEi`FM!JGW8uQ_ogU1NHDwAB8{5 zwC9J;vqIfa;oL{H{MUCB({2_Aa^=@}kKw(B*TJ^rEvIZf`J#1(bJF?~H=K}s$HvTW z?9AVodEHLdcHf?DOWt>XW2P!zxO45s%r7qEv+3t{Ub!)I?aoyjGYe?0hPE@l$uoR@ z%yVaTt$ORS)~DRaLuUtXw(7lj?_1LR5mfoAQlhn-V|<1E}DDft=jd!?9E5E=A)l| zHYKYM3q@+H3PM{ow^!8%@&5CzPDxv^S98zkHUH~gUGv}V6k zb9m2^{4KX_y><1va_5${>u3*NNB;Vo)t4^IFIIobq@7H@ zic8$zDW&{*!Lxbpiyd_iRbLimvSakc`!Ho1m#*0o-FnyRb$2>t#4xF%)ryOwrpzTYY8&$N@aC3)*2o%u@lcS8MMVo!2wDxex3r=T|1bBa}_6{V!i5&%L{;HB@D4 zD3eQ>T>iXZoiA1=R+Ulj3(b@%rp&@|w2|3lC92+<{m-NQ_3~FFz1G_|KjtaQ)=*YG zBNmjM`>H|pv9GM^E1mzeQZ`4G<(JB`_|MpaEQ>6UO#dOza8>BS{rx+O=1$1mXFJub zug0LtS5V%jd}+A++=xF~UiI0?e`1tZ=S=-lnah9L7G$d3?PRn6KgKab`P>Kp-^a1? z5cZq$3&)X5))dN$$bto#Ix7*f%!fLqh(GgU+4uS8zwA*qx9cctQMU4Nss6FB- z#ChP2XI--TtCqPn^{7)vohnu5;{EOak9&}yd_U!*;qw2(9vFx6`mXEb=O@hn%77fQ zs(sns&z4tlSofXPV(z!@yH9zRJE@#37QyP}4zv-cb`l_a< zd$mgPd%9Qc`@5jI>wS0kr|NHr)Sb2Sclb=Px5~ca3tHG$ws1k&d^OZnYN)H!P*N~uB{E9!6G zblbzXs;Y(a#Z(7dIJF zl&^)Wf4cYYL3u44xq8dn$y?t_F5Q<5ZG+MBe&(Znn3k+UQ z^rgm`aU|y=zW1~Kho2#wxi7WnKWi*FMO5IIdKTH#Yonf8e)UUbWn`_Ptct89l+}^B zp)5|eEtIv8HHWfxvZhehPZkel39`memcoOxA(Um1)rYcdGAEQ-WObpen5;IGm6O$k zvTCx}f{d3dKNFtwu^`*GhRx)a3v#utZDi3<=95)~vN5vqP&P|e7Ru6&;&~Cu46@Qt zmP1w&$_mMfLs==A9m=9)MWL*QtT2={kQIcoZDdv`^T_f-StnU;D4Qb731vw~bJjzd zPL>_YR+43fvRty2p{$6^2xSqn%urTImJ!No$PYD9a(M4P}L7HKDAO zEEdY5WYwXphO8=-HIP+?vTbD1Q09?UgtAVu@&%bXM^j{F3$lIZNIQ<_+k#x3qja*8 zP?kkj9Ln;@>`-Qt6@{`gvcgbSMOF~X>d3567AMOKWi4d6p{$)OCzSP*nV~E}mL1Ac zj_3In$}-4ShO%rjBa~TWnW3zhEF+Yalck5UYBD{PIb>;}tcff&l(mwjgt87YEtCah zNug|pY?jYp3!iVPnLOV@SteN`l$m6ELRkUXR46MU8w+I>WWj<=oy!0JE>knl$WIds*fvhu>Z6otT znMc+U$~wu~L)jGB_E45|3eUe#rjxaWvXx}5p)8lIC6pDBxuGmVwk?!Zk~N32TC%24 z)<_l)WiDA`DBDif5XySU>OvW!qxLY5xND#-Lu79&dwW%XpKp{$uKC6u+1X`##~OA2LUWV4N-=O5WjC`&ty z=U*r@$o7P?9I~lUR!BA$%1X(C1)2K17bWXokP*#&-m4}5|7iOfxJa++ZsuWN*@bLK zBnc`iDk>@}Dq3u*G9SP!JFx67*(C{^U_ug-kcf(kN-MS0u8NV$3^RO+uc)-5Ql%}n zv|?Y{(w4To4I4gYc15KvR@%~vik5cX|Nq|SYc8(bouv%af3f2T{ zT*2CbjVV|+uu%mY1va8!Q@{olY#vxx!PbBU6l@z7g)Z6 zWxgKzPQmhk*Yf8QAV; z<}8H%Q?P7c(+XAqY)ZjOflVq{EwBj%YXUZ|VC}%h6s#NA zsDh0G8&R++V1o)a4=k);Yrp~uwhgRX!P4Fc{ik3#z%DCTA+Syb^8)KousUGv3f2s) zO~E>VwJKNuSc`&<0c%#UX<$tXwg9YA!PbE_DA*3LdIigP6ZD^gRj_qnGYYl?Y+AuGei`~r!E%93Dp(P)2?g^38&|M;U}Fl_0&G;lI)RNS zSQyx#f{gsGK0U|kBf3+%FjW&R5En}X#5>rk*_VC@R#2iB%w4ZvCz ztQA;`f?WpItYCw{niOmTSfhf?0&7sPWnlFRwh63G!IDa#?-VQxSdD_^1M@3b2{506 z)d2GxRSShe91*-*?sbEdOG8C*GSek-$19K|aD6k|2n*z2w7_aZR8nA5z+Xl9! zU}gcn2y9)!yuj8JtPWUI!J2_BD_94xMFk50TTrkuVDkz#4Qx)q7J$tv z*gCKo1=|5Otza4Nfc{gkTws$5Rs?K9!F<5R6|5fEn1Zzc8&$AQU?U0^1~#Z*I}omxApAyR2ZDrOF3!^jHJ+n4 zj(`e3+$PYn{_M2kEI1CW)akU?j!WtW9s6gR13yeZX?ir@50TR85+;1o6zFI_=ybwI zyFwfr4mux#xAGO2?$FJY(5VzW==w=p;9Cb@sgy6zznAfFdu1@Q=1Qd=$4TSByEq`73=gsRq&*Tr-)ov z@TBJ-yait{^DpX4+|gjmKjY{IUDg+m7RNkzv%hrXIJQBTG?sWAUa%Ede);CofbFlOUC7BEH_tg( zZ8Dh31FdHN%>`{fGN17kvyF(eS2(A30d(Sg66N_p(*&AMJS+O3+Afc@ZJ?c3aUS0L42~bb-Cba2Y=evpo?t$;vNUT)Ix>8 zM?jMYnk|(^+zcVkOVzRt#1m+8@mU1V8h9G;Y@}Prt(Al6uixNHqP9MyA96Cw6SdjK(hs!S{n`0UuLv5;}9R~Xa=--zrTMSF?Th^&Y1%ocXLKfsio;85xr}2O`rV z^yw*%f4Ij%KPoHEKk$GPD@T?B9U5qUFDq5m9_*AL$8KT15mEX&K_tp{%to{c`s8y#r6 z&Gp=ILXM8j9 zxX9ZI-kKxwPJlOX1YVZ$CU}>@yPrO1x-w3qKO8|ed41q5`QxLNM<;kYj=-CTcxS*n z3*Kcsquzub5cecm_YnyDa|3kkf3h4~ybc}9DAN!7bNb*iDnxiK!rP=AVJq&_PWFt& z`JitGZy3BClGnPIK$$O)HVoQL&~8ZmX0x;1!OVLt&CD@k7PJ$8wjAq{v>lG2%;8(T zJtqUVRQ09@GcMT_YKMbxFrzn}G&ncu;q&QdulV)2LP%E! zx^d7INIG$rpZB6rR|(q)criX5pqm8UsHC&b^jr2#1#dz)!%2-1L;15;*oUXVn?I|c z!FTKTiv=}rAeo9$T;g$FM>6voA=Sdj|BNog=M2=9kF< zp0^j7_5sV*58Ciw=;x}Hc@)E&5x#RkILoOE;dOs$-UYFMI~yJ!e$3O;6nNAfe5Chb z-YsC9JobWq8uZ0~1v^i+zlBtfpeJc%;L)C@`o(8(np56kwUA0N3?dDzfb*n~<>5qQ zu9-Vrc@%=S^ANOb1NESt0@VQo-Nt8vd64GY^HOss>nbC3_7W(u+2Yr_QqnK#U?_#kcAV$kRO zquDR4erv4)xY%zi?fte&+^mD%3tJj;+96{MG7b|b>Bm98aY*_S&__X^{|xRC!*g8U ztq7htx39hKx`KPJJeZ`PVE@WFkM;}xQdy2lyYz=rYwYUXc3B#4r#ZXi3#C>pQBEV| zOe~snI63YGH8=ItIp`@KOs1Za7lz@cJP*oTAYw-B;eliyKrn=9~=Y{IL!o z^+_#gYYsunI_&^$Cuk3oj$F`BfPNPAELU4Q#gs=xFZBB&XtoX+f70C;FP9D%Khs+X z`o;w48$dsr0DU*;*At+hVfvR3mwt}7TTDOb8(Dt(e7CH}X|AQ<;wN7FHe(4jGrIf6z}J zlAdMO0Qzmv->A&;K-&e{{MF@HnCa5(2eEEL15O`bNH+<(ksHu4tx?crM-Eqxq|c~B zy(K_j0{U(N@d82lmTVb8Sx8uUM87HY9a%F~ZvszDT+Hyi49i z!8;_%aCIG|nqzF-rH9Z}dH`5qq9k=fR^~O#i)`by$G9`m+o$<>OWXsv@dN|Kijlv1 zT8s?Z^02s8ZbiR6QC@<^aCre5N>&d-e*O5gL1w{sQ7?mW`!|+P+FH;yfL7llns5x=Iedq=CoAwgckp)G zMP;R+?EvlKdi*+`xNC@44cV_nMw2>&xuVs;>p622_TDUH%>0w7|BU;k0uC!b)@@vf zlVz|2o?Y-9whYKqP!BugpA+M008aosx^BK<+L)dIcox7@l!70wlUq*rQ1x(?r^g>S z?G9GFQ7JbGmS!?isn+7O`DbX)^}xH|Lh?lw~GA z?&EcFhc1Hn*><{-hP;0>*ZJb+4)%L>Ss&A&odRu%>_am-?xDHl;lIK?KYy7V_zT>! zJ)3-vQ$|@tvfj7AGyCtDZzsT$cR$A0Ewhbwzt}zWz2xEVBA&J6z;_VOwY~Awfv4m@ z6KgA7;JKUt56f!?Jd5CI!m}|RU|(6ZeA?8!F4nM1H$j{IU;0?QkB+F+X^S8#`vK@F z&`!t84J6~PK?>IkmG`p6m2VCB7Qr_q`Sxq?#>$+~EsU!ZJPkieJg#Z*ZGi8vak0&8 zfv0u*@H|XkUIV^4+BtK2y8B8#qLGUam7|#ND@_wFJ zew=7D4d6*6KgHk~Paq!Z>Spk4fafr}ItMQ?0WJO=q-WynAEspo#N&sQ zpZ75ICTI^^J`Ipx2cD8$%;g*+O}0G=cj!b|7`Vno<34UVc>0g^rQMA+Zrnl6t%$y~ z{$m%pTqfSFA^w+>&P6(iWWJ{nN8A4#K3(M50?#aX4qH~_$$JD}|C?Amb>Q)XCy{u% zz;ijlcxJ$}m|#5H;K__7mY@7bF&_j^BKfHYPdLGNy1}!aU_7(n$xT{0bo*qT?trHm zJc;C|03CNM!FU?Lvz=f(0q_($63fpVc-p~}NPc#~GnHUGg^ywU(-MoP5j>^fIjsK3 zNBxAs(*+(ZU)Xipp80GZf@eWH1KQbm+JM8hhd{bb&^0ArpN?%K>v8lC=Zdi>awr?t z2cALj=(eb}A8;LenfdGhUtY?}4aWqgYaFyqpiQKX*T6Fhp2L>C$o~`2lL_+pz*CZ% zSUm0Extt)+1b7w`pH zw6&QlaX!)5!xHl^uE)^_2n%xJJVp-aJ3v1Q`cga_YeXa_3ByMaK6^koKvY z{wGr0Ll=hc_Vm;S&bx!>9DNhrr92A#GHFEa%J6%t*<3F8@BYqr;Iwt*t`iDC6F-)8B;G_ zG1gtJba}gZo(}fS;t!&I<*yj$ z`K-2Fe&fDL{x-9&M(E%Cjkg*0CQJHSbf5Ah?1@R7BDi`s3 zTB&+${t)u@wUvDu4s`NVCEo+L50P|p5Ne1-*mzu_E?Qnf{H6FbeHin#!lUPdGR7ez z?Tts5K^?LM8HB#&w z%nyoI;?7mYjr}}3OGli2$0#ubT805eViy_!^VbBq&2Kq++9+cjGK$}Nb27Fd!}&`$ zC!^@sF~7S>8Eud;SbTHon1+m|x80nKq>sQ)?3a%&gSM|1GLn8}#dyE5@Ea+k|GLL` zck&a^rPljl{UC1xPeI8_EKBMnv0f?;E|do`S%M2N?J7=!%IrVr8*H6y=Q}##$uHX1 z9OUgn-p%x%j1KglUp=}EmPHL@1m3=4yl-otvf#L4l|?CdI>9sXj-$s*8FP@)UV3vf zGJXT&mFws-N|25k$jEXZ-Dd9w|0wv6T8~V_B4o69j-H0Bk3xv|=xJa(sDq4o$nZMw z1FvnROMHBv*xL@ez_U@dV!V&l;yEwgQf%{YH{Gi!7FxE61fm}-K!&&C=xOJ;mi3z$ z2Yfd_u2EJ4WQ{%tvRJRlj8@2KIDK<6rXZuh ze{(W+A!FwzWt9FF)~Bj&E*+ha(OrFX8Ej{BkWqi;xoNXmAA_Cv9LQpuZGf!KnxnVb z5%6c7J$l(N4eOAx1{w2sHr9UR`#f(vS7X`c{WkRJxtlNBQpjq7Ea&-~%g-caEI`Il z^20Q2gTJBn=xLyg;>+lNcOP8_>!lqsb|7O8&wJOFFeNjmT5<0wH`lkO!GHOJx%O+# z8N?hM>vZRDyiS+&ap<#)N0;G4(!G!|QnwPzm1CVe-$moh%QdoE`?8qN{zF|OqpWVo zYQ5*Vkrjn3-@T??YL$;zKP49=*$i28@4mVGOhCrsdsbpQkQX;*2wi*5*0%PJ83kb30)ODW zhhOu|{WR?N*2ArNdLh3C^y}|iG0ug_v497C%MLxS7y32~IqmPiIXNsM=6M~mGCvUC z2E^W%IItFfXpZz*-6*F+(o^4gLBG(3y>8jxZTG^7doV&7V)?^bOD0bncyd0pVw`!~ z%hN;^8P78go~93De_Y06?OBL(?IEX_QCciwuW$`KqwOoPmIHXWYHf=~?tlIc?8RR* z+q^Xo)z@<#+=s^pp7~#2G45j6!^7JF)p**$v-1(NZSCPvia?}o0z5^(VV3nCo`?5| zXB|8pA2s(&_mmrNSWwfJ{TcMv-&`^7ZrH=KUm5tp6Yfkbo(}MI{?_5+q5Uuko{5jG z#5mSK2Z*zo#=UF|UqtxA0pZ06-$wWr!pHRXnmqKT;Wv7F3IlH_3%y6;){ zQO{xUOn)M=dY%VQTGvY4{bXW4$HOy~p|r>1lP2Ox3ZVafY9-bt%fi~z(RubuTM>A= zpEhm5L$!@2@JxR?F`hy2Y;>FTv?p!hWAW>%Eb9gEG=2uYs|VyKd`$Ezvs%gH45B^s zBoP0#Btr&MNbzA+z!~Wr62XXhkrvKINW*1qF>m%%6wczgns4C+|MT#&m4ICqlxkCf~V~ZE3xqd`${u4hS@e)KZRlF z&o7#FyHB4KS|*OC5j-7ZE3t_K+hF`!Fxy}lJiEWU5}T1c2e-i|_qIW%a~b^YUrwyA zWc0y5WjrxGPzs*BuO40xFm0{infO{_X&VDibmH*+nDIoxDm^=V9DOI~8>Y=MSfpFr;V10# zIC5dnPlA5pPtEiw^t8-O@zVYWedf2~_p~kf``G`3pr0{qW<`GdeO%117xXpXHq#?? zf|qxs2|tp!;t}a-1^vXIo8_a>$LF^M@<*ATS<`n<&Z)Sx=HbLj?3QAqU9KP9jU7__ zKpAi~33GVxuY-T#i2S1dhcGVv#o^1Zmh^vl`10!n{lZ_F>q)|%5_fe7Uo4K#@%1?g z`rN->G435y=sDAfr(Xws$KM=Ye%3J3^S6hSpTqhGec|8j-!B>7i13>0gm)smRo$ihj`ro}C3#4=D8--!IrMr$O)gN3-84^znLt`Pc;g z*fVB6?DuMTd9Oyuw>KZTBd`arnEBX;Cq5sHrxrZj&!Rm@JuK2Cd<*q?`hN4x%itMY zGS>t4@Tl`mwySCIY%Cw#?xF}!TiHLn2>iPU&qsKgEuEs@iFCSodyTj$&opMh!!@3w z&*5t|es9~luh0`p4X044T82|apY!yJ3tuPT7*@e2(MH-KCoN*mmv89DoQG&9z_SgW zQ9NVrYn{zg?uc3jU3>KUbgZkS{{wsbYW$f%aUZvF1CH*pZ}{=nf~5#NBjE8lL>fe0 ziTi*=k(JS@&fD+k(;kB&UR}YhC~=np@%|xsF;KsQmkoKZJiD?g+dt%nuc19NU3%V- zmP(YRI5Hp{iltf?^wXf6N_gPJo(>SiLI;oF>WMrrI)j;jk;!ja?#M%!IMZC)Pkqu`-$;f22aj< zVm#B}nM#mn3p};|lvq4@UqJmN$WsTNu75s!JhWfCz?1(k=DOpWHdHYD+OnS41YYe9 z<_mQ$tA@IN3bZ*Jrp+Bs+xx1x!Gf|kK=1#7xdv?MSJ)VrXff!uo(I~jFJe6Z*Ok~V zp3x62JDQtxIvvwc0=l#xn*RK8GJ8|v?L?-b8T9#^rrwOBw;Sl0pbdl8|8Gbyp7}>? z9GK6BF%2`oyudn1bO@cX1^UrL(u?;0CFsY0KYTrsrxrXT3Gn#9a~V7(|6!JmwTF!J z)A!;n0!G1~zM@~ligQ@pVh(D&uF-=xjA;HVkV9FEkX5>M^RkK|D|Za#`=6%mEyf!$ zKGc|P;k5Z==|yq3b3J&|{_AMGVerm_*D1#st2``SWyNMa$^3(Nux#xT(AR*z_9tc^w$d&9I( zJ}uyF+&x-)shcL4-v3!K?z^|j*LK$d%VimKyP(Te+s`5Df$?O28S5wid;NG=ex;xb z#8!+uhWG0qRz-uJX=?>fVbbc6(nkJC@Mk)X#?QQMgMSPB8+bX z^Al@)v*n+4oAVXu<^9Klq$MVM96VFtDV6nM zrCYgse-U&G$8Sux3%ZRHH>S(`DiWM=V>&Y)ZBGr*@K{K%1%u70(hLyzp?Bc(B-@!G1&#bkNyXq8nC#2oY0kN^>)^?K@jg09yuD58d+M%?ucQCIWc7w)YZ2%cKzEd} zmE%Gy_$P8#rGJ=Po((AHd6{5ZiZ3{=9$G*e`-}~W$Niv zU+O7+4S=#{AglGIdfs$d9?B{=gxO_@wdj3iVcR$<;~TJ_U$z>{pPDwy*RV0SB6Hn2ejD*!g8V5Pt&6|5H6jDj@*n^&-QV9N^D4QyS(MuBZ9*c7l` z1)B$!_KNsAS_77)VB5fQ6)f!!;VY(KIlzh)tPq%2!Mwm~6s!(dy@E9ZYf`WdV66%k z0M?;kW5Bu;Y#LZt!4`mxD%d)(2?g5$HmzV8e+2(T13&U*YNMVJUtVxz}H-5!LPb{zv2pwyWVZ=S-4JibU0nQPNnY1nu2|t zzbfCcf#1aPfsF$z#54bhl>nOqmM;+Wd;G5fwhl~RQ@8f^Y-0^&w1IB^)o8174k_q7 z%oE*R1aT~=;pof zc&nFN+_!!D>a|EzloNR5yPN0^6+YIN+Mhy3imAh5wV-a0&Qdb;-SYjp7wlM>#9WNX z#fV&t7fIrrspgw#&#y=Q5htgrRrN>yBeo$qUXkUKgLtUTP;dWlc9EAGBl@!p9#$eb_796JROxK6G?=7)wq z=;>(-e83%ifA9M|q1Nzwanjdbfkhzg24AOtH8v&FKXa>RXvZ=9Q`Fy29DyIB{~o*?Fl4Vm_UyUU*l0R_ z;9UZDd4~R18~z`peOC+ox8@1{T{)CJm7L7=?SuILT4n^gl03FD|)Wq{nOo3Zxsn-F% zp`j%j@j(nis-uyITwx(23%L3 z^(cX!y->BJFQ+z-M62zh^a!s!i^wJZ$dzYnmX}V+O!+0ICx%p&647&m^xY=|8$}+@ zKn!DX$>MX#!gR?JaYdr+1DC%Aeeu+D-v?$PdmXYT-nAObJ1*<^5xl=4WB9wMii{cxZ z_ehGf(TG<*Js_!~=o*5z3VD`KkBbl~OIG;#Xv8h!)~ZC{dGXzbq>s;FzR|WC=SL{^ z-79$f+rxKi+$Wlw`5rX$oH+O7#aVHqJ$m*$_zlFzx~if`7e&f`m;Y`2{~*S7`&y{( zfpp$JX2~lW#P}6AW{F`olYX8N^ z-hk}EU;D+#_WobYSAP8$BYOn08$a@kk-ZDqzK&mv>^dl(g5P-VWmBI`;w$r`m=8Je z17mucd+2G$@TXuSbvXi`bes+Uwj*@eQQ7-(NAMGl_X&*vvqVk+w$daK2tX$J_*NcJ zf?lF+h9(df@N@JM7yj|#9wP|DhI|W^Utt!S-ftIoLF#^y8kbBP_Lh+J_P>BW``Bu% zLE4BDcz^37!w-9U8UqixgAew;vpW1hsNq!qrM~+;1NB-dB7$We@!M>_@=!zgfxi3u zFAdb!b8u%kuZ%GttE|T|ykv;OqQwGBKynaLf-Jr&@p>Y^#a5{T7X;v9YF$jNYoK1( zb@hLV`S~ZF`!-OIvYUeJ_D{mTh7E}}Fan>v+Trt_o^ye-?qE&tnYvK5f9bqsjElHhMO~`I4?c!UYSS4u=c1wOZ(kB2Rl2s z8Y`Cb@-@d$&hQJpJue76zcQHJd)LL#o%QyY&8;~Y#E{UPq&$lW!JQXn0zIKStCz&r zJ)t`rkG!Oxwn(DdmDO6J>F4#|t1I&Npr>g zO3W>t!#_Z|Z#V=0f)#;(cJ}@g?gm|VhQIIh^nK6S|6M0$RPhruux8>j4_TMLjP)Tr z^DhUVHDHUtMhIM#Yv(ok+Ib$azs36UIM$)0T{q$M4wVm=d3wAbMjZM@#a$rF2c7>b zrao9m9{T0sw>=SjYwuew1b(Tf*d2azsL0j-#=bYX2H!AHs67UA5BCYKu6SVdqVI^8 zaHrqXQyloEP*M2JeQ)Z2<3Qoy8@Sp*#f!?ow8bDh`^=)ys8JV1yW&M7Ed}^YAw9bj ztFfrA|B{D_hTmM#^QOQX%Yua(?-wvUx@6gGfPVZNtFbZg@^1p4U0}XRtTo8KC3Qe$ z;MSf@ckeC1liK-kdMLx&ccN9!;a1#>&)_YSST;Fny~>`eE0v*)aC+Z~Cy{5J(nSTr zH5XXJz|I&y&(Kl^O}frq@kg@pJtFgsn_q8TG3+vF?r2{Xy#*m2GKWrvZ|TeE zPaime9_Yq`WaN|uVckFwyBN8PQMed|Yk=*m6raq0zX(|3= zaz9mWfoku9+=x*_*iW_Xrt%8x1A@>WkdOQYwC~7jtc$yju9LR5TG9KwVAccS+d{Xu z$=)B#>U|zA`7rBs#=#~{l+gQV|NT(|~YLkpr zHUYrwKOZ!#bM3zVTl+FEiZRYE*cTsX_?K;NTqmdJ%`}4eVP5Yx@8Lz zNnsw`DW`5p@twSoaymVwGQ*YPKcSVSo=Ww(Q~fUNR#%=vAV}QgWixqvbw!6jPA2~e z*9kHRY8SZD%Sk6{$L|wS3gf`LvMNQHe5dw_#|-q?W!A{zV@WjJmlGCX1B_29fW#*eluwbyChSQOGg4L1RfGfN)s zuV209Rxc9=3Hl%V-ZMzw4`KIlzs74HPwwlzEqHr*_|{NndH*eaCsA7IDLz#2>EkJt zCtN92$5Q-hu9Pz=Db=Z3n`{(T@xfQ2I`s?+LaMe22jBi1yuJ4}j!zt(_)1`iqtMC| zl<7~S$m&!`)SfU4-&ToLY*1%XtIYz47fOMsF?$Kc6Wl1)dk@Hit#obaKPc^|_m_ef zA6t1pkk@pESiO2pElX4n$FPY-42A!J{Vl0Cg>JRZ-nc@>DM9euj4Zib9JY%Uf47uvWS6V@koGpKwHmBOu19UdBbv~wsywssNz5x#cg8H`D^`8FVPa~J!!%!3#E zpf0g@%DmTz9aHXMLd()*!*?(G`R>KCfmBb*sbsVl?Gogb)4&kA7Pc(ZmngY(57t`P zfMx068atyvX+;=D1YhwukV^Xk!XWZVoe5?(b(cXZ$s|b`ZDXBG+QTzQciypxan4Zq zEP3gUhl|EBA9@jW!3yl*TO-CjN2097xi`qZaK+qoh!f4Z4vuf6d#>C|F=Fkd6>>T< zBgT7AWS!B^tb#}9u!W(D>P=xf&xqz*`RtW@Nv6x1fvm;b&~BxElkN5tn`|AklU{Dl z+2Hzs#>eKy6Voo4J!)SX!*$L?O!^|nKY7_*IkSG))dl`aYrN; zVB*VVn<(dj82I<|IEX&`WrODsEayMqX#)?Mh}n+tu5jGb7}R>j%Mz`zgZa&g!0x>> z67x#EFUAhHIM+_E58-G+>(ln$fEK%ViBPaqt1c=`p)GWiO3d}8$>O4I$BoVpi;f+| za&nbjdD1c z`4m{{!Qb|>NNhotm$22u5g~8jc+Uy3Ut89n+~<5^&@rGrE(<~Q2D7N*_HX-~{mBE` zpo9Ck9&D-0k{0b)7Hk}~pwbH#?!eptrU0Yj!6vTOmkkGN!bbE+cMd+;-$8rKi^S^j zj4?;(!n>&o@y9W#7~%5>r=BpzBrFg0I?AX}?qOXEy+hhY&=$S|eb+|ok%#x<#xK%# zgEjzKT}N5xv4Uwl>7c7MS>My3^}R9@+mv#x{)wwy#Z{XZ!!XF=d>8flnuu|}M#f!c%-qB&S@WGpY!@Y<_q{d}Ta)q0H4!ftJE}R; z_JnS4Vwvo-5E8nbOCc`mUFsnH|5+&BQ(}%Dy1f+g2O)p10BvxOe6jj)FWZBjAXn)2 zIwO zKK2vd7%}eIHh9=)#m<0W;3%Zi`$3=oCfz2{CuxYoBr_j$`gYKV4@u8FjDtSy&9Fyg zd$8ud*7~h0nAU&}k>7P(O3YG;dSHbdu zJn(l7dYE+eIBYDGYz)od>p~ zU~9m(6>J;WmV%}IGwe$R%K^5bV1>Ze70e54O~LAbMHQ?W*s_9k09#bB0I&rG8v{14 zVAH_n6l?+5tb(lrn^CYGVABeg@h{jPQLtQKlL}S@Y(l|&z{VA<9@v|6ft(|7EoabT10s}l} zUAfebL(bu3?QSbrgRLsYiQ*0PueU{FZK*<*7$>~+;f4{UJwyh>i5o|K#jo_U5UqoD z&p2(G!FdqV1(|j4i0pkIfVCZ#lnc5^&?S{d;?6H)e@++(RL7)Q2F*NZ>hNsj6}p() zcS3h_{N4pknhW!r3_)YrTEa+Wq{i^7{bndtyRxJ;gi`%WRiV@xI1i-ymi(dAhNVV6 zY0Z4ZZy!7gSR}M%>VE+FRmcxJ>7H})bn-RiS3>;Si6wXX>81KmYCg!r;2k`Rxsc=) zw!HCvMv*c(W(iw#7PPq+kPl77b6wgk(AL&PV)?QST$eWIUr`_TVH}p@&2?#gpxvy; zn#LjIwt}{yA!7LGA1JpJ*%<+C>w~ZdW!}Ub+&OP`0@YOeB0Q5yOw?z+-auwLy_2Y3KE1hO-@|*>m%%o8=#GT1oJi72CmcB zE9vyB)h{pI&xacD=KUM&i;qTP-I7&Pc4~#xg5~%z@N;N-$))xHLVG%IRz5k|LjJUWWYkk3F|(F8Fth zkC%TjX=a=1g8aEpV14BVbzcD5DbQ|y66>C_{Nn1qH^r`7<$Qeu^aW3&Job?-sC9ix z*;)UA@$=J>So=P*?X(~j>m**#ul)|@2~xIbTjC6|xZ}6XSbC@$(4L4qWnX;J`8&bi z(i4fzUZ1~mKx^K^PrGjx{7FIRQ~cu}v1MQdz-SNf&xg+@uwq~VTRh^OY+}5t2&F!@ z#N{|Sr95d{O%ZD;oLQb;s=?^Sc#5}BU%gnCr`%6zl3;5Ri z(7$EbT6}a_VjZ~C-CS)r7t+oxVSnDbkgP%qb}c;?0x#1r4OvZtk=T}6PsU0YmOH-z zvGz-*xdyQfzTD5E?cf=DL#*vw)Yl+rhh+UH>I2~$GF;62#GOaHrdV$$lv4t_;t}ji z$nq3&-VYMmASDQ|M|k*i(5F&YTY1&XNc$OxO|MGLXa6+@{z3A833Zr(AMkS){x@Fw z-?-^|wdgjtBE_0{@@*PyMl6yb1vnPMjM6fVTV=PO;neYihQ!TkLsR?@q=Vwl56P!Sl@rV?}Tgc*g#tHYm()-8jT2NJbeZ1jHS7{ z9frT5bWH3&K9Dwej6!jDgKSHFdq|yuo*{}I7^Vq*I_JljPyZWi26lFr?z`rplbVNh z>t-cBAl%19dw9rUv{c)bmj^e83OJD^Pdl)Mj;<6vg|@`@E!2z66;5qLV5&&##r}|p?|A(o*M<`b~GQlvE9&v-mD;bCrP7H&O0&PYk=putI z$^fw>nNDXCI|T^tj|*po%H>PrdoPDu=hz!^KGnyUYKzXT#&a&!cN)$ z(YQO6FqfmM6>~ZIZ_j~d7c{%F@6O9phG(%Cx_JtKNz2Z-#U$sctvyA|*tv%@$wjjAvti!y}Ic(t8Gdn%4b zax5*E+iC8X$*i(tk`QXhG6I<=ICoQ?*cV#=DeRM%M&tYu#khZ(hupBJU#Smk)|k%` zUu+A)MV573{p^)X<~vr4b}%n{dDQU1vG(J!>g(V0(mvi#=(pWqSbe1x)!7Can|V>g z#u8(r7#6*Ol%7;i*b&kmL8fdj3$`7Fu!CDna?9on_nkso7?-l@s?K~c_SHbZWec%x zv4wcIUm2Bmytr)sXtXZy%D@Mg(0L6L$QGrD&|G1!7Eja@9Phk8!}?NwH0F~!a^^Po zP*@ud;f!&w76{^ebU^Fv(Y&G0XyM<%A>(eX|I?cG^}RmqR5RU>HT&9VjAaC!BWwy@ zdB}0J5YPm|^9s!L8*9=52dxKbo5Yrm_$>GlmBs!a0+@*D7J0nheZqS6luHqCMO(6D0| zHyZQ|IsyX@Pq5$7+vlk0>vi-89RmT!V2?w45=BMVVq>+$9}YP}VFylH+$W#j&yx%S z6SnUn;+T0G+9%@UpC6wMU?sndJ|OF;8}WX|G5kA-x7!i;G|uxp?dbiK!yD>ygg@!% z`-G$a7Y4LwU-;_j+cV}4jz+*GIjhGL*2GDiB9ePRHh>8uO zeb8uZnV{_gZCzv0ZJ;ZtipE;VXvwngN9lKk zq79+#jDfxx^wX~p^xfLf%Z6X-?a2+i#NGFT{^y_ReNphm?(hpkIj+IG2C|bsC2dm} zrj?vUzzaatgkwcb278W<8i%De6M| zH~_+xSvAr#Gx=8?CIlM<6;_G&tqLh#N@>=OJ^Hq2uvc_$pCpB?q650KGxt7m4By3k zxXgT@2AL8UqSbwqVe;sV;wG@v${H2$nt(3aFGW`w8E2-&RS0^1Sp(AlDF*%b?r5xy zfH5yby|KBme-Xs24u_9^syg`R$FLW?#!kGQu%w*|V57m75m zS?Bfq;X6Wi!tkloWuIIVXZ1pNhVS4>J$LV2!EAT`^ZK$}gSQRbuHjY$X=aFkOYk<} zsXjM_xGbu2v;-Wng>;y$meFhUJ286IdEB)|;)*l^gw+vN9bGy#Fv>Rvs|B{9Mo#1Ec)w$*KoU zHfVA{&p*m<0hR}>Q6N}X#Q#oU9h9Z6i5Tkyt*As(6G@&a@U(yC@H~ur6FhAJUFYC8 zu_Vorvw#zR&QGi624Eu8CJT1X`ezl z+7^QfDKHuJJs364(pqDJQT88;FMGyc1fIg-_;U0C>jGvk$9iC41#1B|s$iYKCWz5S zz+VSGVPMmrg|4udqwqbXcc3Uouh^^*zJ*&t@4~g!G?ET3NgfGDN5p=gNt|AxLZX~= zoQ|aB&qrfXCJKKnuR>s>qtG1$?Bf# zdl@vlpxMQ9oLtMAr2~#`Sz#Oo*)(|Oz8H;_?AvePpGF@Cv)?>n|3U3(hQ$4VT*}T) zaU_k8J@>MyFIpkH`}d-;FrJZDOQ*vRm7AExn30Fz5zson47*j@k4D)A9JbP6dgnm5 z3A((4%7VKTW{%^^g3EMf$bMy!m+DBG`O0%In`O}f*@3S`W8HW*%L4bR&^^xX@WwHB z9JD*2ZL{?W>pfGy#*#Drvq&EWy>AlpfJ4x;4Q3p3B#ljB{v*p;>H^LS<)kL0z0+P& zvOko9r}LYK=gCAot>9_+V@rRro-YHN1~!Z5xb{yYLT~j<;{@m$|0EjAlxei)-a)OI z1t3YeG{`5|EcmR0r*zu1Aw<5!87#S?9#`eLpwB`9jQnXd)`91^wA9O_P~R4VW*0R2 zeu`+9I7`Y4-^H4Ya4(_`5cl;IbjYCBzlRW9C2eh-1#sRH@ z$B!Y0W!VW?6Mqwpt;so_y-u;-ZdR&zp@yLVbHO(azPi6R^@yb#9+dS&yJHPBi=bJ< zGs;oegcQUY2@pGh^7{vrpPchs`KU23KyuSZ_bJ0Dv-Gjoq-YU=XU*R(a<~RGtwOAj za}pY{_}qKxu==Ub{US(GDL!GOD`OG!C|SOij z18?W|ur{?%8SpK6ddB0*fN^GLIFbgxkFj623$ec{*8PP)zO<*3FF7E=W>A5TeWMn< zr9XfTDAOzSjmK~g$26OFo0)J?k20rz++#CbHX z_Il|MfXgt%MH6UAX#Z@4@FE&W)h@`*9daX z%uno5!G951s=pQbC;e({`A~Jp`LV4I>sD58SUD_nH|qLPET8eziM_JZD-K;}+@UdQ z=HU9nc!@j}!te;(dNtNX2lKsk#!@-W{kl^u6Wll;QiYu@^Fo|-?bo_nXy!%`jP@|2bi?46_W$e70U5`8o@I4k552)dsb|MzDU zTRzt4B#v<*>G9VTFC!1z$U|n{)z~EVoKc7R9y8bZeN-?5se>uy)Gxx12@VE(>L9&t zA52_=6j!bB`_dFElmyFK-)H;qK5~%%y%B2vupihgE6VV$;<&YNyCZ4)bywqbv~`ES zS6>LA1r$GS&4D-Lc~~DQyejW1(8qn@YpB-ksl7F%@vXBW-Fs`7wR*#9uYJy{I0S4b3fY$?n5I_8KW>X=GW9B&>> z`OrRcKD1Zs?iFM-7~Cj&+9nS>XL}Q?Jt`G39q+{UClxVrmQ;)Euj9~1Vae54v$W?% zET2hkZkKb59o^NItMp6U)z|)Db>#!x9M}3+R`1~hZq_Pi2xQjdQ*sC9m)@(fS!p9l zzlAcx_dpC^_fv5+udci=PJ9hfxaib!An~oN-p&8oM+`j!(Mh@Z3_||YsjIPV0(yJI zeAnFfrcE*fnm{GmtfVpQqkzM*ldbibN~u3`LAwLKUGPmvn?%eD#0*kjx5)ub&Yc*) zsxW?0_M>v{00%L#j_d_gf^c8;Rl_e**j-{@nXds8Zf|1#Wj2;{y!iA2?#g!hPpo+K z_n_uNPABAa*IbR&;2HU}@_>uFsP8z39RtlYXc|-+>wRz-CFGo!XSD%bM$aJrLlj)opA@<`s?yP)qur=P*H<{@JCarZ&zq4ZsI>WOq5jFWb1 zGh`K?yBf=}+2V#Be}3P6b8*708th_DJP!Ws^H=4){PuFP>RR}nFM_TVbn`MEYfaP3 z3BT}Q)YnN^c&6DY`bs7iAs1_}8h5ixTblKW*Vi8h@4;fPz z_4cUuhl-vIa~%=U2)aekwbWg|obo}t3%W4qrpT!K50~@wtuL6$BUQ$vkhJ;F$9(^u ztH$1qDARIr7CPt@4#4`voNcuhv?HLU4G6h{w!)bIaDreJx!B|B1bykf=!=rx@@1`v zPe(4oCqO$3+D%C-><^RymkGqWOD6C|&~)E-HSTQC2Cyy#+XZ%6!7^Wf`J#g50qan( zVqonyEDQ1afwkE%Cb1cxM&K>L$87CUEUybU58?3fE-_a&&;8mQFQl&rJlAZ;s!x`( zArHX^q{{IAplcf)w+a#8BI288i0e+~A=z zc?Hj%i}xAB6vzJbDY5m8c8)f}c`#{kpk9Qz(i_D8Y6dd7;_3)-Qv>Uy3Gz1|xEi-d z)edaKhUJ2;8`wH9wmBp1@O6sYqnZTG7HH~7gFm+4IbbCXS7YOHt|9v^7h1&XjhC+M zes;z-q|9cipby)-tvn;m&Wp`UnJsD4qd?$dV>>hBKl8*&PPUQ5B8T%D8$0XtHwQeBJKM7pn8vSw6pb>QqWI=e(T|@#yuR? zdfB1;kE*V;LBn3Kyj3c3+_>3v*AC#1)*pNZ0mHU|W^`bnv@tMcl0~LVtMdYOGD_LK!!yL|4F_SohQM2@y+=4O_%)^1{7| zzSxWg|LF#W8w;e9Q?=|5A}t6*0n??|-M?&i#h{CVPCpZ2)dBXs_xAyN%H{)BgXi>$D^;N7Qx(6&lkn9EKz8Q4kOtd0 zDK-QSl>L}Zw$~Difzyw)u0vi&3v8rA%WF7L9{Y09OR!%3?s)y`12(T<^}yy7tOeMt zf^`C$QLr$uX$2bxHl<)Qz$O)J5!i%+Z2%iruw7td3YM9R{XGTC12&>y#lQv?%nvNA zU=6?m3f2m&Tfr^^>r${mV3!qa0$8Vl%>wICuw`KF3bqNXO~I00>PTu;uq6>j1W`U;$uT3N{98 zQ^BTzZ7A3RuyqAn2ezhQJHVm}mXU|`SOv=kwy0o5z!ntD2W(!!>VeHESPQUO1?vPh zqhMiR(+V~YY)ZjqfK4jcBCrVs+WY+2W&*aih&I(m>*bJ!5V-C z6s#3kw}M>;)}>&Bz%DD;1h7s8n+3-4&ED3Qfwe2xCa^XIOL`^rpMqrpYf-R#V9g3v z0<1~FYJfE=SR=3o1#1IVuV7uk>J)4QSgnFh0;^H5IbePTivsg0*cLFaf;nFW{ik5r zz)BRX09dhtl>#eLuv%b+3f2UyK*8F9usj7D1(vH|Q^0Z*Y#vy)f~^6|Qm}1c znF^Mc5B;ZLIl$5stPq$}!Mwnd6s!)|E^Ih^n`{QQqhKAtwiPS@Y)iq$fNd(+G_VZ? zTL89h!#FQp2exLzsE=vu?gC#1K1RUqhhtk$;XEww)w2C^o)t$2dsM8Z=yQMS_!`h| zqb%xZYvPadn?_)z?}=Xz5c{EG5^R5Emz=)_K)(k1aSE`{U#)b-&0iVE9C+&Ai#1MZ z<63KR!XH7nhQ#^C?0|l-752NNxArlFvtIl?s=1J#{~FZi`>yWwSFV$*ZY)nfXngO# zYWSvD>lpN#(aY#E=vqNn_yMeI%K49oyOO?be(qJA;~vUG*ulZM6qD}~z1}dH5_jW? zb7bj0POX5_uaNGg`cJwN7_hi85ffP4z6eKEYbQj`fW@7TNw0;z|DZXSwALQqZN@F` zj1X%D`#m8)%)1YAq959CJrM_5_4UMD(6xYW9dw0wHtH7hd${gNA9B(JK(l4ZGSbAm z*~Pjf_tM2D)a@g>CIm_;UGV<%xZC+q|DV zXayejV-(6MG<%b~0C&UYQ_0OsriudXjLfd_zf^k0?tu<3MTz{Ur#rprE~W7EKz zhQX_2ETaWr>m%6PBawZL*qXmvS_CAb{$G#r{&QF>m;KRbZvlt)wCuN_V_6n}F8q13 z{JWj*A@{J$(^DFFhdcOotp+DEj3raC4p$HQv@gW#F|_r7L)_FNdQ@CmnEr0?bb@CQ z&q%+uHUf7}p)-~D!jfkeJcVD}vj-w>_TnP7I77|{y$7+3cfd0Uo_WTDKVlhgK>Pj@ z^p`-Al5+7s7g#MYuG`qk)4T(Wql*C z$YIdckC|hJs1q;Cj*HEb?t)P{rI0lT`d!ec$$e?dH>Cz^$XBf4;_hH-Efi#G9hY3V zY?AK3QjObWb0H(65cc|)vDblTTVClKB=S)TxDYhX@vDZPu2}aGO2;~X<_f}}1%kb{ zMU*OI)0^eh3K=ty(TQioW67upYUVx&f=D|8+Ptrr>rqDA1t6(lmo+4m4~B zHX5Gu5qiBDa5rccK{F@wAlkohKlO24QY@HbT@p*(SSuIJVDGx5*n7gLrxTfxQ&`tzS3WspJ=HnOuo1 z5J>lyl%rNYZng!pM&oQOg5v%r}HvVvjadzCO&hJIS-k9 z<{$Tfqrm2XiSjOw-@k4__%6bC5Wb`KHTWoo9jBQX4M*T@r}=G5@p4}ZCMix<8OQeb z1Y_%0>>tQ_V!gJ!1>@VFpnPm`ma(gdGl=nadMW5fKtDQ-G`<`^j5`Rtyn{g8_vE$T z50LCiK?NDdX=H_St$rOc8rIA`UC}ngU2SFboINLYDNwj*g2ugUy$+t*=4J5Qzz{*{ zXRbWU9S@z3;SG>o`c~Li--UfC^P|Ydm2VKRpKKXoNTabyiAn^J&oUcD9GTxUZFHOe zhA0DC1g53PezpkuhVNfB?nJl77ud7H(L)~yib0$7ODNxU>;uVhGmf^`A$@aYNj_nZ zM(neffH!{wzDBmZi?I;##PiCdfW`!j@wS0?{0C;+yH33FNQlA9v11avEkDHETE=Vi zv4F#xvxvR?DCp`oq1&Zhr}Q&1mS~UI`x5LeHbts$_5kiS$#8uvLEP+1Ma8gB|J@uj zWPQ}om&O~ot>^X%ajHx1U5&)O(+T&MTx8QlHM>a(Ssa5pA#dV8Fdvk4V5L*^2^fCV zkd}||u>BXyau)n8Ke`&rmifF+Sw0+BhlSuxdK>J!AER$bUST&0e=!d?c-nVh1*@^iLM^U3rf@=Q`qG996WXS-sY+@#FhBJAF$Bv1cY- zq0&XY%p;!s*mF}a9NTk#8SN+O+CKV`Ekr2E55=V$Jhl9QFIT%}yr0!7(=xi>o#LLj z8+XS1BQ(QGrKLTUi^#dT-be=;To(g91G(dn8&17u-1nxmlM0;QX8oFVrS;i=f!~ME z7Gz{)T#K!x;fL30mm`YQ zg5pIe$+tU%XOlJ}|CK&_h3(v5g7SF%wOF3*ZYQgqd$>@;^Pg_M(}3q<;zz3FNfvTE zMx!epX+}Jgh^OUk*Npe(D&_8_i-CAwsp*FA<$07kma`U!M(#tOG47Jr+`30MycA?v z>m90A{D+S^;>-J0^!K-4iw)Y&7g+Ty&KI0z3^l7O!dB30c7MkTnT)5Rkq?U6{)C99 zis=!az)n!80Dq8q?HNd$VkN=mF{Efk}WAcsSWa-Z^!sr zel3bPwQCFjRxtUYS+DxFoSbIENt5M&RBo4`}oz5m6$i>B*nNRXaj!p^bDP z?heE~S$!>5DC6$Ndx_BREstGj;Bay^w8gf3d61DS-0`G4;gEnlr8;g9Oh_D@PvKMVzpBN1?P;%eBCd}6t@ulUg@Mfj>yq)?`lrXZ=u6xu1o!{J z6u3;Q{e&{2kdgh!wb&SqC?gLXay-mPnb9AanB+V5c0MuI<(9%;{meDvPF~B_pbNEB z30NZJgS@}22K0G7*J1_ICsw9g++S89j;x5g1*C0&w?x6)oSw+y90QNFw9(?knGd+} zmccE#15Ul-M7AUJj=@Y zIqk(lgx4Z`&pB&ht5)&WO0M}B%JToy_C0WQUgiDpa)YeUNHuL~r7f+fs94cO#}t+O z2XY}mNJ<;hl9sl#r73M`OIxZ`nTr|~73JUMPhz&QnYp;(%(iUHCflN-Mny{+2v}|i z$&YPu%UrfGm+k((-{*PH`@Z*bA*r?Z^SSWe=Y7s|&U@Z-o`2^#&k?<)31w=(>gZ8% zqe=ZN2S6k1;7hSFkF8;!AtFJ%Iu$Ju26~+$<2s6RyTA65<|VNG z@nVnRS@_At*B1i+0ZzTr7N5O&X5P=o{qa8r5AfWl3zvPuITphG*0GmN9!@F0%f3(5 zoiWv%KP|v3{>Dqje>0X{zW0;XzE8lfyBjKsbKJ7{N+Q5L2He9ahq*SEU8cAp;MOPL z9tCdWq07TP58MlvflIq0w+!p=fA*5uTP)9I1?>l;Oyq-^|K>qaPUb(#HvA>tx#|p} z1G{+>D_w7fd;X3@lQ!@aAw8){5AEdGr&g*5+368>cj`8lq12FW8mV>>G|=!_(aUJ7 zMbVC_Z@v`E^4LZumag1!sTjMTHn??%@zvVy00J4Qcbu}Ss2u*TzeAtknjgYKfOUId zrGV7~)&*FH@;`ZglbgAJoeXtbH?HIp>;4|*Uc8Gx5nl)zBcL(yE$G)uL*|XNT@Kn| z$D3)E=A-yBzxdqKC|mWtm&|z|ZdusoWl5hKN6Od|O?$(B?CRrUTNP}=di(eBK0({? z{6# zS04|9W;PsCM}GjhrR@?MOV(XNbcez7=Ew_2ucVs*9^o1qg*yD;_G0@QKx_Jkzq0%>9kMGNuwNA3|iZ0ciQfZ8NbdTs0}bLIeYYXnarnZ{@~6- z1y&P@c5Pt=*4usz+fn<*ty`2-jz`-On2GAd%-se5ANT(m2Vq>Bb_`n8Gwk!-pnLu& zFRhGcmYwb1J};u9jLszv&imQtxOV!y0kkGTD}T!2<(@G?U*D>g7P7eAew7(nlH%`A4yQp*C zL%*C3Cfapon%~QU)ujLY$r-63Q)&y6s?>2eZ$5N#=B^XdyPR5-XDy?iV{`F*ENe6P zO#&ZWwxfrIf3V|0$(w;Kp~eckwM%5lc3c+V&_2 z39R|VG!EOqO>zE1d2B_~4_3jy^>f%3>R)hmYB9lOqXUj(^|DxWq9U|s}p&7lj91cPPCbvy$sg9y~WnqP_3#HQA7bk-|BpuLOr#wnUCeI z;32}JWNVl4r<1Sywje$$b3RtA?Mir_0G|PZ1>?$otd(AJYa8rOcCz^AG9fVzgKh)p z7F>zvRUL3#*4N5-KAfztRq`bEFfwtwgvV2P*POV{GvX?^xb`%s8U|}-U(hE8iG0v*5*J`OAx=_w{v&j>^rEoZEX)U)F|s z6N4hMH6Y$t?xPBO@&Lz;jS8OsSwc@gYt<*#NQIIqGS8@hvU;$ay{@YxMv zI&jqD(1DaTw7&)Pr{6Fin_DrasAvUT`f>fON|+u?dK*XH1IoEq(Wt&xWqTbRQ z=8et1dY?D1?DM?appV=%Z_bpw+&)KAZNv8Ctcf^%DulLmf_^A(USqgSE(S?kE`C0* zk+Xviv;ci$LD{sgf)?BM8$o9Rbh>VtkF_Wd>lA;!(xHctbY|yN%+>NN^RPqAV!Bpk z5e|-hq=4Ch5BlWag>_he$)7jp-(GHCJaLJ>u=Q7A2QtokQBUWa=VKk7Iij}KnmTOL zCF&uok=T<9puhhu^DFm0p63!6p@+F0*O8lhDGo{c}gwt zMhoX-buUlGZR5l-fjihIkCiNaE0{iXTH*c7AWW+tnbh$MHS#YXhg>LCKDPhm z^%og*GK)8Ej5dOP{vFuw@y_|!qSANeqv$|hxgDniZK2@2%YF{iom=H$;%!Af!yeSp z@UBr7u}4$yp5$*zH%}g?&Ncy>h3{Eir(44Ps#We&2g-o+uLbvyt{6kBwdtWX z+T`x#Yy{oK_s++1E}QO-Rp=g<_1iJfJMKI_&t7rc)PK?rnzcJH|KB%n&KGcPlpswH?_6>G_cTl@=xN`^r2s6q zJuKsfy34Gyg<3t=HFU6x4Po!B1`7Zl>g~Yy80rp}B-7b0SAI*MJuSijtYL+i7gby2 zE81q{vZ|M*sK4q?*v}uBe?>m6ZqS(eAawD|ekW`Dv}ms{g68;#=Hqf`C)K%t%W<*c zuGEw~|F5nMmH@UV0agpx?gUs9V4WTqb%}PsIsgkL+FWbPl)3>N zlZ7#lNzGZ3z+7$9nv;Ut-q|lv)YG)-)sZW-%}aOUdBgLu-TEA^PUPwmh-z*jgQ!fx z*ml@1-JL|BZQTueM=N0;c<9+(#OW%#A6nTG2DQNEj?Sr>Lu3a|Y+o5BMivrMV zDZ`JkeRcEZ99VZOV$CDDUhzzlA!(8_xH3Gy5&p|NV4Gid+a6ej?r|BbZKSt--sGN2 z_P*Tc0zB6kz6VgI@Xq;ItF9Y21}KX((8+isuz<)njD>7F%!4Shy7V~Nt92g+t#UkL z!aE9gt*yD~X-7c9t_bWH6Z74Xb8spv1yh`y84gRhF#$Kg&4jAG)Nn8S3wI~81<1-* zU8|_#1BK9F^#Edl!b~)=w?zoEQSjI(Z$658qKz(Z=9+>J*Kv;GNw2Us*jTw9|O(l`=S5f8sot8%&U$6+Er-k znqThykZ(=U<+P2$ADz6}!i{ZTP1S(4h3wGC?l?1ujY&z#!?y+W>K}ltAi#|=ksUo` z8>Iku1Lr7k8a@2q=HL za)FcEg!Vq{@M7stZ(KkL?q}>uexG_*1MVNj{W|Zuhvav~x`!m2b7LG>Ul;I~9)(?m z>y)Z^zjOgW2XVjnF{jPa9+8b$4<^Gf)JlOn4cv3U?bUZDF}Je6u#$UBk+8bbOe*Kd z35I83Cf5)_aw_FM!2RR%u~Cgp)3vA&m!UQ>RwcwGB{^TYf#?5OyKFD*+-wjo#?0Gr zMjZYN$3f^yVm!220~@|VPlw#b&?jY24D>{-jh(-Bu8M&yUi2r;9lwOkI4fInEG3>j zpU;oBmplg^i)%9%q_5n)ccSa2Jc#iIyj&e`nwL$^7%lI+zQXOL^QoGvZSRfyZg}8| z;{k;9;ZG(1Y&C-DdQ??}ZyjiMf5drD!r$eb`7+6BL>}!NF2D1IDJioDWlB2WE7$iW zWn`})eR4X^Wj~*h;d!X%2+HI5hX`zNeT(tAku z*oVHKxm~-Nag8$`w|rv25krkW3da9{T^RK&;al|(+Vk5Ozq&r9>wGfaEBdeOTfd2U zah0b#gD?K5N@gkEVMI}#x!A;Pkyh1kM$4@A`%ok_`*6*y6CYCDx4!>Mll;~kvI)e@ z`)m@tri{|zMeIsSEKjN1hcn7%tvfZG#Lw1x^4|_;)XYBPAr;267B_=`e9qB@#15BS z*yR+2J2@L|<|q>Q!RZsXQ)ZzFTljx7mcl3mCB|?!XpMa#e*Hyq>#bN%g1(Kq4*`Gt zi}SJbste?W_FDUJ9)_L^R%8Fa)BZ2pQpsJ-4P7Hz291^h`2LlK`12U)PfRM94DDeQ z7XOns6+8_5k$IC>R`4IR@yVOQxS#c9^oPdT$$epQBxnc$kF?r=TlxpkyOl2rZo5s3 z_j_@F><=-nbuP$#FW)_c`{%#v$acBUcxqNfzB@(w2kp5ZR6fe31@E&}@+Us5&$kQx z3H)vX?DatH1HZ&=<>P+Q*Kl8Xg!Xrn-M`%ROTsp-THyBn$-K#JCT$~cHf?Lg{R>}* zo~w1a^W4?Yv8==iukUF;@O^(epSWkPH&r(E3OC^1GQsDwOaeb2_~V|wV-z{-r+sxE z_m6(Vmaq1nF!LTMUWsQyxy*l-D|iI*$=(>{>r;u1|Vd~dl%l)La3^P2lGr0>GC z$BeVY|9Pk{f^sc?IUk$w;fGz$;(>~+5Fp|l0Zz`}&c~L#IJ((ha5xsCz*+oz*kGP^ zo98vdlDTh5mi?Cvh4Ii)XH6{b{jnd4aR2DH!P`Cbn0zu>KbYs@{AfnGmhZZAHo!TH z+==m%R>xy6aEpF~ckX$I+E$G>JcRp=lkmlR?lTFfw+(!jIp9tFcs`cp!DE~*@z^&P zasTj7Am2Urx!-~JP20_X;uk&&{bOoAmaRO)=vDUKJ?jw^HB3)ra0BpjW*i$+`jSG- z+fK^M-M||I-ZHL@920qY8&m=tznXi$C9Pkk?3p@@G94!&*F5imyI+#E-8_T&A3`ecNdkl0Ur(q)| z=@T<2JArqB^_`iIHF=&r$Y(F7ZG;YBeh}$Ow+}+RbsKvC_cHG|{$hXtM2vX0EShCp zdhD5!pQ!pq>XfSUNsz<0Q^q2Ahfi;YW|PQW&gF|Jd*GiPJx$smwnkZ8Jo}26;*G6{uQ&(! z0~#r1p7-U+*IW;r5#a15j%(|9b3fRTGs@@p0RQ4;;&aX%27bfOAVU-Bley}saOe|- z2rB@r5HQxw4|!S%U}3=M8{&N7 zJ8}1aItP-Ae%lP(4&b&auJ8_b4-fV@MpCgi+w5G?J{duo36yDGtql6x-tDI2ANU#n z>gdC9?ZIYodA>Z*x&XXV;Q8!1yVti5M_gIYqvJ#;AWqJcc;55y&*Iwi{x=PQVNjm)WC=7b{ycu&NVa%N0Fnf72I;x6e%rf|N9An(Q|PGwaQq6c zzp7n_8rv8K&Kz)hy=|06$%Y&5wb3SX>y6c$w2fV$QM`;XqBJ!Ag6gyeNl|asHhy7c z8z)e<;}=PMtsl`ga=xDfPW}IY?3`ck4smg_Sigowpu-A-PD#ZV%rPL_+HTyARA^T0LvkoR$f zzlBk5;3ZGNP?0MA76$%7;M>pd z_M6+B75$cvdOA_A>9tYgV|00og~&O|F?@)3fbGeSYX13v$G3?yBheJ$?R@8xz?%YI zNXMf)hGqE50RWtA&RipHUpwr{tD>;4T@Rosh0oP`32s4p0X7PH3y6E%A%r9Xns z+`x;$bn-r1FYp_$i^dwY9`}9N=l`(34g+TdI1`GaG@U#m*b5IvU}&=KOTaI={^hkj z59RVc4F3IwXxx4{S;NDic*;9_S}Wz+j10FMC|8mfHF1XW zY;Il{j1dc3ll^S+{(;|dbJXk^QG6LwcAhlLRSp}_t|j0fyCoXSQD3&k2Zp$zHn=XF zzOG_ja9yQu-R86k?#T^uQ*MyEYlG{mtaa6?X$6-1tm#$h)#;V#a{jvTCq8$$1M~Oo z7+*RDl>dp`r7+wiau>XOm-oS0t`p_z-hp;`bPGunA$-#o+}5++Vlw6qqg=^5ZCP#e z3t5|yfrl`GTJ8i=2F-W61pJG@-^lg_RIbU~6?rSKQ{D_mgL6V4P{|+ipGTp0p|5dm zbYYnTcJ51psiRi`uO4_4o_QcF&-HEj8K951DGQFy3VP-?dRN__ve%D`kP3$XP;O^3 zwFa2ZQs|6sa|?ZS`3UVKl~>`M{8BtCk&d)4Nmt;nlTCU;Kbg73Hq)7eaKHF{PXCDQq<#+d<;~&#;Wh4GWcl~6PCvI3{kg{d65KzG`z>sr*++s0 zpzDY2Yry@ClGX2b;C?;s+kK$6p{M)^?jOMYCeq)W)#!p(QzC8NOrIT4nqLw=@_v>jyGN%IL3ja|pVV0JO95 zZAY0Al;Jf${NDvw1h5SPQP_UKMge2n`61pRz{V5GP5^eq10&C$1MDzhowzo041Bws zN2}1chDAuaKFUl|Gif+bSvKdlAuoQ3vQ;Qshq9%is96J%apS}d$Qr)AH1+^uhCN)z z-B(10v>m&SPDqa8QP68Ghfc3D(tT&HR}@yj&Lpu64kPEJF@t`A=}|lE8s1UY!V`p2Mi8qZ&Gz)+6#y&T4eW z@k11RJ1IKNtimH$k_8&g1r5?k`2_fT?JJ`*2{K{O>DmSv=fe*>7nJ1tkhtFmJ+X9g zalc`P{BCCOZ}qUXlTl(4Hukjan?ckV4!z>8H~Rrrrq^NoShXP6pfDnq*i&&yI81Vm z>I5+3mS&xO1Wuu9*`tWOgLsVGPhvja5jAI>>e{*N^{woGZC^GLa95g!xhv#c8-JAR z;<6VPC$S5J5DgG4f&j$D)bS}AZ-ervQF5_!;PC?&}XV9mdwT=2Dhi+-2q>tzd{H*AmBdBBI zZs;DWHwk+Zz0-|}khs62z>D4k`^(E8C?{l5<8IGUQgQpo{aB(vdo*MbyW(mnRdkU@ zV`p>sfPdZ#zOHnIkBJ*0$m6jjP#5R6;pKwLDraPEF)JqAbqBU#(hEv#ZU^Wu-4FlN zFHb*#thAm(D5VtdXb$vq9*id0F9)AV(tQ>++)=NmQGr2}fJWY@vH$BK=N%~Tg|CfE zHMis8DGDhxtJ!(FK4-d6$~Urn^DkGPI`Dp$e;6{+(?_md_#CUZg^B9Slfch^1bhf( zjm(2yxmjAO4Mh?Otmff1<$TI#;4cFHF&$$bevKF{$y1~X3FTTLaN8e^#;;lNxg}3Q znTN;4jWfwV%BGMSWAVEMpV@n+&Txm_U9a5tH=s5`o;X0 zeG%IRt;!kf$;QjK=asv+nKB~enQ(BUuD~&}M4qwXbMRMv7&Zahg%6**6|j83%rg?U z8?Yk4c+C(0M*u4X%-d%N0jmehs~?X8)&!WTqXT890BZyc?2lt2VO}9vmFF?KiBjSw z7sZ_!_|A<1iwY@ogg8D5)l~_W39+Bh49@C z{3!6pw7v3Pbft!I+j9P_af@e zdEW7RyZschy)>e2I+Z1KNA(p{%`gabMo`ZJP0qEtFW`AVw?KKe$JZ9<%X*$8NQ;yL zw-dOFAB(rMOuTQuB>T6=7~>Bf2{@Vbb1d%W#U5NVYFC;VFpYblfm@XtJ8KP7Fc zCg4p1?}+F9y2~P)IA{1)#QEVm-~5>z`}{TPL8P0fQZWc4g zGsKt^G`sh;YFkD!HL_M;y45ZDIm>6~!YsO7er=JzAC|vWI0lz@DrV=ZIZ^_1vuF>; zdtDFY{V?8xhyR-RH9uA7XJtUi0j`;HR4`yD$9L0>vWG_2euqFy$;0;uaEte1os9r@ z-aGNn#EAl@4LJL8?ZLt7kj8O@0QU7_{SP=7bgYi2?JeH-8=;=}_P!_Bx3T}%2i_fd zS75Mc=$*mgTSwlJb}$vMJw7QfXl%r{3Um&PMq`s^jUhnuRIFe*g$hTAN7g+}N3WBa zSNdx=%9Z{xWSEW{kDW=QF-U7MfC%kpP_MJHMg?{^>KsSe4P(%2I3P@pQ^r_GY>4D( zZACe^#sG6`2bi^W*U6dS+^lt<=kDrxTkl{>%?f6GWl+ag zkofN8IEaAW!5=yAEp9HGu>>^H6^;ToZxZs80DKzpod)a(U`zT=UH^y^juPO*+&=8H z+GZgjypzJ&5#eTt<=zPEUuNrveOqV!!|3Z;)KSt8{(l0`tTwQ#PigvI@^vQV9h<=k zC(a9S^(p21k4!;rI6S{-!6D0rQI6DNK?%8-BrqN|ZN~&1! zST8EC&Y@hv+}d+1AM`g2z&{JTgSf_+a&={oT;n?`0bcP>v3A9IzG?kf>fUSiT^;V( z(EIwn*FEjwjl^vRZsALp#%%#^FL3kb9lwibZHF(fhUcTT#H9_2dtrQ4nhmX7(#Yct z@8odBrjl*q^r5D*LTtIy~|KvR;#9>J2vGWcw_li)i1m&g|9lwK?<4WI7 zJiM(H^`*BQ#}PzzIJqsI{m_asQ)kzH2S5{fHUixG|F`ygU^|WiFABUB`h}b07qveG z15wXDBHvg>nU;Tqj;egaqoYaQl>k>jw=&nteK_{SJA6A+xoB!K7juo2*^9&CgKLz$ zEI|`!;i$j?B{9F9r^jC`#Br9z9Edae}^v%*Zkz+n*&%bU=0XdmkM5B0sS|EeG-L3lW8B=f1rYX`FZLst&2wxZsn5zZp)7om1@1xp86x;*n?hZ6O|!>GIPzpyss@xO(5u3M0P zPDuzCWKwlG@59?mD9ip?M)`(cT)KbA5AugGzJR+HKM?r`yypLj#)|DWCDTAo^HKQW zJLm#z8n6b{pX_(Q?iV(|-lwAZ7~X)#QpmJEPNO94p45{wO}wHxAh}ZJKyT?SsKcX& zB63Y4BsS5{#>~;qqC1(T`@^|LyE^eL*av;20R5wF8%qt)G77SBRnB&?pj6LMkT#GC z*P2?~bF-Vx)@+Ph6iBLWciNusxu8Q%j4fezI!+Fv4dHj4GJ6fgUKd}eXHO&f(iHHb z?>=R0uSsj~+xERR)Kk#=mO$T|``;88$d9}+FnG(*&5w-SG@NJs3#@|SypfwQOc>Yb zM1T0#Pg*R*GAzOp#3MDo@c7&0Z{6%%h=fu~QFrZ^vHz*~l-Wo^uNCuyuw~lo>^tBL69qlS%X;Jy(PZYDhy_R57=nl*!?F ziO^NZkCs5=Twv`!1)B8#hTlQ|2T#TAoi+Rj;!kEV{cI(`TLzweE{NJKayC~`HVHHF zde?kfX(f0DZI$Eksy$<*E-A;9p5sr^4l9XOU6 z`F`r)_fm(xn;ICNNFDi3Dke;#Ek+$J|My@YZ*%6Ej9GV$5utsLVuYWlv~^yufx|f< zx!4)ZMI>EE#J*R)zYfq{syn4;x|-a7WmGTazzhniFcr)y5ofSfp*(p;ww*7Nt{$4ph%A{6(H|9(9JcpECR6;ul!86`9z|B0x*>2JSu`yW3>L# z?=c&=4ZtnfaZ2NR@SCt!z;**xglm2X+YQ)$z*q-AY-a?p5x|-~vP+_ug~2h($FMTS zMh0DnJ<2xXJB{+k?mQJcuXDqr-;2UP8EOLLwo+yA4`ytGeiXRE{!yMOCmkUO(mHB; zp(=6TZ{Jq?=l8)M?>QBVqQ1EC$N(9Y|BZcCrE#cBnO2nXHJ&nY|E^tb{1x!PIkFc{ zj$Du)MVZNaA$zqR(WT&b7CudRan!y)>bY-xx<=Q^!@YBC?|r9Mo+){cHkY)r{{Z_t zfn(E(vwab@D!h;SQZewV?uVT7z8~ro_d3sxY)rLWloPqw4E&NN@NkqxU+Hs`bCZQv z4yKp&X7*&=0gY{jDiax$jz&NkekiumLC{zR4cRAX=8MFz!mr++sfSFaK-nskZPBuB8%@Ne zy7^^Ig>_8>zYF;7D!WBDkQgLcP<#aKGxJAI2QxoXI#G7R0gSg+^oI{WR-9{Qd-1$d zhK#CYvEW&EM89|z|V z>`->T?~Az`n25a-SzmU!RvNFFOl*X5J2wwieX)^2U*MU$!ubF=l#ppH3ZJ%khQ z#nZ#vbPEXoK94qS{G>C#SGCK?mvg_0_z&P3zMKbG5nzV^+o<#2_~$H+RWc-wy*l7b ze(F^0XrgT{I&hgu$ZmZm;oa>)*>03=`YiNAExR9fhIvQZ90jACTsY`tu)PyUMR6rx zr}(Te1HKf>PA9poKVDAmm@OMl$2MN^h$&Z(dw*fHCHIdYzdnD;#5<^8d=vfRbc+Wa zzxa;fTbovRW2%O44Z~G>E9g+3HG|g37f!{hbUu!y?S1dQ_muT)?EUrfzIXS(YoI9d z&cNWUL+`Md=)oPh5~q=m@&{1<;1`|u)|s}qXx}?SJ-7D0gL=IRn*!iX0&nA&9K2QE zFXhTb;2s8UGp;eu1=r~Rc>v`e1i$Jz73)uKPadi__y|3H%;&W#XY*?$DP zgg)HB`pJ!jIg0vA$DkKofgk?$&+fzq<6iByZad+@il;+pfz4-a+6U240?yXW>WXJ=RAJKO)W~ za1I?=9f$VZ1>lVRjWaKlXK~%a4TBC~M-=u&1+XIu`=SEa0)>rG_g|4-kskJA=ToI0 zTcD~;pbTT_itw%aI@aI+*3r>i-8tSThTht-i`Ve+vEf+ppYLNnLpgw6ec*DwgjVCs;$IjVpU=nCD3@fZK$x z?;F6MI2GGtuUlJt^Y-1esprPt8~Sql-!O1}u;Y%z8D9_$b+ z5q0>Qk*i6=8kwDIU@?8h7SvPxV~4lOxN~=&AurYz?^z%oXBuDn{n($BS%FhVe4@u4 z2CaiXx%B*M!1FBvx9A1vWA+#$N0zmc6+THhj1p&=_{paAEEB4o0UT)MdlFz|ea4L% z#F=~jm7znhpN>27%pLde%WSs?JN3dA;4K5smcK3@=0|@jm-mhK&Fv!QT75qUQ1;x5 zct@aPY$vnk3xz}`6yN0}@aj&WkB!_6PWlvj{Xc^-rt(U32{$K&WEzy6c-EH@XfR7htY^q% zT6YfnDrX;~UJiQXmwQ03YyQ&jlY03f;ATf%y_~#f0u@=Jt|J-{d*MnSuFaqYfgzZ?VJH1Iaynx95| zqkt_E=ED!$?;vkSY_JfmD_Kytc3hqjW{j#6)1ZeB+ZXx^jQ^#z$0-o+LXb7rG0W4uitlFXkbI+^?|-?`mZkQ z$?3heayWbBwar6U4ZhBLf=kZ0NZSF0DIvmaGL^_I#o~jn8@h_+NUvk&=0lP0_=5g*@FS? zmrpG3A2>zn3$YI61)`S-PTEkaVre^CfVU@W!R(WB=P3B!PJ3d~ztao6^T4y?p>!Rv zj4NklTsq?#U=4#2%Ox0*(aI;8t&#zZ@)FjFYOA8c=0++i@A3T={N?KxOuhzf7g@4w z4CKahB}_h31l*&qT`+vc*#FE;rjP2+bfYeSUy5%N%IwcxFt)GS6tY%NX`&7tF)?6N ze3Zl9%PLX63f}{uaqx8uak)a=Q^F<3BsyZPkZgt`-A0xp{B{}iN;WK*xVX46VfYrR z6`eo-uc0pjcai{nI97@QYq@$s_Zs7OF1}TO6<@OuBR|Jj5t>l;#81onEw~@XeS0j) z{q1;Oili{^cj5j7?jKYBa6T)r_lK$bet_3-EVcLhse!)lrS@a3VqhXQ@}1P+;I~tU zzLhG6;U@GK=jt?QRpl(i?3%;*Dt7#62FV_%?GUL z4VXXLF8BRaNUVkC57>nVAu+0Ud?34QBg&5EI`8eW%a)@22+D?UbjGDy){Q1CH(o=D z^GM*A&7ctlji#FxVqMBF&!;khEmGU|UsuM2w&8)C$hCvl3|*ZV*6{Gi>xVa_6+qj& zgI87sPi@~Y^7`Aw&(;AOjlU3u6X0#t#jE}X^ZTvfAIb;DtN<$uvL09W@b_QWcm1}Z zs|T;y%96E_YX@?y=gs1`w9K@LHFQ8Z5mQ$b6g1m=6DM6_p$E751jObwT%TT?yH89b zLNyLae=bxqL=WN)R)OnMi^d1=k#ohOVvmajwk zqW56DB-;lAw;0SmXgG256J~`7zFW^N{m#IJVX`7VOy#P)?)i_TZ=BMJWtIeogOXx~yG_|o*nl!~Qnjni zjJde`#p4a};7yq01_^XI52iu8IEzMrJ_{}{=*rc!%ffXtdqjr=GzH2A~R zp&wwi{aEVA_fwHpG;y_E*J*k|bL>9o3p%$tQ-fl|afMLwkp#qYlef*ajR#~8s=d7j z3|VrI^5q~3+)QROmr1CC)`mK+U^CzueE$Ib=l+FQBZU^?@8CZx-&a=F6Y32H`vU#` z;6Q2QL)+Gc-)Ef~`oQ1^ZyS04aEbL5VYQ+3Fg!HQ07F@pVj-3p{NT_BhD%1?PjV=Z z*FQT~Z-4>*LJ}Rn0kDEb0`D;p>{B8;=TBayhd1*Qc=*MVY>l6-@dJjo7siueE>!Eru8X5eFUgy&>^YvRQ1(C@WUbf7y2&h$-bTl22xYM+JiwS*n_(f|(V%D)D8m^oo~uzM z5ubzWOF{bpXwN;nVDjDAb`K30v3tT^6GmL{UXG0hwt&Vt&{+QPg4riM?w-e5$sN>bOmi9;ZyGutcRH&cw>okqPicLCg1AafSY=t%)roJzw=lmu(C0q< zFy}6p@!aKd9+XTy*-Y%a`mgQFso~+s++~NVc``G1y7NEJL6)Ve&E{9@$W_CyyK`># zJ`UtNS=KKHD-%rqIR|Y)b^9pVaG`S{R;YYac#OoZV3CHg0k&U2eD_)3M*n==kr^su z?3_{&q`boFz9czzhCALnjqPrJNe3n}W-5$zowlUxp9?jtKI}s6%GVLgH@RJL% z^E$_+E=d)*_W4gcc+MVz&e%mZ?f9%2n$aK(<%SK%svzG3zDuaDaF4@NF1Nl)Im0kX zea_BDRM86h;qO2`eR?4-7SDa2RnLjWUgj21U+rP+P0gsoKHAFJ+gyb@kD$)w&n%er z9nnF=WP?4K{Jfw0Oe_kbr?`pB-qnn(M1`Q2H35InXQ9(187tUV$I)U(SLoO(A^zuJ z3nsz$jxF+)X5b$C0%Wb?N?RrNfp#Wkk|Evdxkfp@yHS))`O-pcw~iIhbFO)o4U%p+ zW5oNkW)C;ElY%zr`@Rc(wP(S^m8cx%%4LY+R+cYuas|>C=%@qB^u~B;@`%k`?!2Gg z2t@8F~0Yv~y42f{Euf zeul@LB;mjj{tvv?ewY6fwgg!20Aw7l`N_riB4EvcrD(s39?I>hlnJaa_j|CvA`2!C z($wd*^;7bI7XscS@Mw3UZv>C)w3wh``%*SE1LquYM)Z7yvDXClKC|!XU{71`Q-QuG z`=5Z5(i42KE%Nw4tAFUx!N&q4j|{h1KiA%yn|;K&;pYtx zlQ5+LupGe1{>_Jd)CPDq;EM#>af~`|CCNA<8JxCA$^i~kdH*OkfpVNro_184ekNGn zKk%ZSdgc8CHkSaq2-tK2EE~>;sRUR)V3P^3V!)0iz^VXa`^@vQ-bTQVCcxSN8&81k z0qjTuYy_~w39vE14kf^j0ydTan+EKl2gd$82iO6?j%@7uwc!WwH;*ou zJivxmNt8Lq6LE@xll%J%Cik})^E`b)mX=z9(*T@$;EZSChlzQkRx0+Bm!Degj!J8N zSH`+EFR?pfuTWRD+KrJU%Q9powS?CjFsi7#wA9xEk^ zhV}@IK+0XIAk$_zDPiMta0bPR1dbi}a(g=a}1nD~Ue zO{wGxg7x9)6FYfPg6BAgvhCkoh_!3qtWnn5EQM>QPgoD|N_FGHA7MQH1LTnM4!3+c z{a{q*j1beh8|=DEQFk-SW_=s>n1|P{(eC@FPc+CH9CT%A0BIZqjRW6t{BQ|=nfPbN z+7^5)Ousabb0>tLeMZouxG8=_R407xAnIKH;ey5s z*|2fId_RJZg3p5w`Rf#5jX$=1J0Z>WS(7Mjxiabcu7rNpkHHUrg1IAQfi48(s~#JAkLRn1UiiZmm^4G0i$nITAZ%GS;;@wK>XCNz zqRiNFj8nTEd~XK;%Y6~@Mf+QL(!KV15f&HGj$>y6H4{7a4mG>GVd&b2PH=@yXrE_$ zrqN$E?QHz_{RHtNGqztEzf1AW0qhuH=WSo6>`7Z;2kM4BZud+ux1_EH&}fgkI!7Vs zwgPq(unV|GYh68D;!=?(967t~?vVMuANake7Ge|n+zCD?Yp-Y0m2;e9tA#j^$P4FC zw&092Ms=*0J4ZtMb9vDJ+ZIyL3a=6ww$x=b6Ylve#}KzkH2ONc)p+6x}8^s!N1v`+H6>m z9y;`9a2kF=|=pn$1yFfY6?MS!1``$^kR+A^LCk3+wC>uG0wnR-|$U{iqQDqnYP z6L}xreF{8T$mu4TV;v}a_-&x4@<_(E?rWmkDr6+P_@L=(PaHSBsDB(ZdT%`)^Xb~E zXRT1SY=$Kh1{VvhQrVYRZ{e-kJ4x);Bv~%x-oDMkez)UqAXDBo&cz}_h7q)dTM;!p zq*`DVToz|~6xjjFcU%7={o|)&N3WK5JMQ{gLdMq;roZGN`b*LpEW|OlC9J@&bhpse zvgHbv@MqQyuOGSc-q|_pQ@lW$4(oTNDdqBaE0L`G;lPofSoW+LcwOYGdbhQx+b@)6 z=g0#yPQX7M6LHHLM1T4XW9~LNaEHrV$@ne|n`Y9%gdm z#AIreLOe&ZM5PUL>8W z!F0wrq)UqDSk!Pvb8sqL(hL&L^nd`%CH@<9w1Ite5$%ZFh56@chm)rj>Es)|3XG=- z(g22I)wq9{`-vaQ{JI(FA3M=U1Q;17&&LLUa3mGk^NklxZTmeaa|C7JqGTBvYvr^R zs2|w;pR~t-*L2V6xP4LXo=+$hI9q|4-|Zz2@#`$2%>KsHCeO0;cU+lmuFNe(9UD%< zegyszZ%zW)>KkPIK^bR1`AU$H2qJ>xITPDi4;l>*o;LAXQm5!WBInUgL?RhE4|K7! zyHMsZ%G45I+wqb&3=s(If);?sfU^i3Ie;u~ue@x(2{4Ygf;-$R8O&>a1rrE@T;;n? z(nNQ&n{)shz`*!rd%Wz7FJQZ7q5thVZG0rg7VJ&Ko}DMi(d~Cr1>7p&E&;btbpv#@_Z5vAqo>u}0GP9CP6V+S2F;1C%y5oKD4viWm}M|u2oEK8qD z+9CVLIi~MnCpd0FSyQS5{^XOV&6<+&u~Yz4Y-60YC5|D!=T6|(J#{*kmxCXH^<#N~ zy`S{$`vmgl?DqBkHuC0t+}HnG$eYvYi^LFJ|9@#i|C=^^F>U03($W^wlB^$X1eqz& z%=_$Vv$pF#t87dN(%(i~-tB)rBfeQb1wZI=+8q}YLhFjQe>U(o0x$1#r=1uH`qILH zbpb{?=DbF;M~}L8GwzSzzMZdM^+r8^f!d;Ikd;)(0#wMXFN-b)0&Y+b7PJx)k8o|0 zyJHZKDPx9Jv;Ha6)!l8k&%a*xt(5h=mn*jN0)WGQx(K`_;FaooRo%hKm?haBtigni z;&|Bj62?Oh`WM%jr>@Q;ah!4zvoj#ro+jY8_MVROcbR=}INnI65b1USuek5D*-IjH zB`-QvTOMwx<1D~sx>9_P0Dl_zjoSXP*Ob$zSV5m6U5W#(k;exg8+vrOW#kd-P?E7C zHqboQMCSy#CWdo;Z( zmxz0|gI>6U%;kkHT;EFz>M9sM9iwhx`pxVsr{>Nn$mi+>-Z=2~`vh+izS0lxdoIw^ z-urAt-!uJB541&|8hmo-iQ(3f$E~rrDmg@jcT9su?*8~bH}SIKZdbnLN#*W=f?rBw zP<y1bG>dF-w5b5{0;1?Ed20e4+8fc$l2@Iq%iVpJK|41#~C&mX^*F> zwg)pWJq-22By`-L%HzJ75y50zFlVl#lr^j=9Mi+rhrQ>lYdU@Zaz$kCNm}^;oT`;)_1qbyo4IQ1&d?YotKg;-hzQ1;LedE(1?J>$dAC=*++r(RoU!d=(uN|Dvs9&NR9z&UlAD@mL(0M+-b$7AKF)+7tyBhl z8`aS6?j(jV=No5W9T(L-Ca%24k~7#JIpyf=q8EuzPZoY3pfPhFDsf(C{7QABfy@5T zJ)qTf9Q<0_?#ZjceL#=6`+!>2k?GwBv>RPCf$}BO;Dy@fs$Ynkhg!l8I`sp`UzClr zRyFkujZ4~!_92!;l1t6bsSdchqQMwMDIi&vWQ)DJ>UB|*yrlLl{1LOsdCAMkIYjn1 z0$TNRwmpE~Tj})5jUizV>2-x|ly9B{(G$si6sP57P%ECg7g@t3*#gKD@d$ZYdT z3tGCPe8x#$)twMgMhB0Dn0rW4*-&JPO5fH0Bii?Gr(@&ZI4a5MCYw&nHPmV7$~N?u zyA0vaY!tKg;}|l$cmi%Q&C{Sh2oaSJ!61q{?Y`9{KyM8pny_Mvm}2E1oV>1RCLg!t*Y}j=LGeVV7Hb-@NZl zp`QHSHwOD|>A!g(FLG00@W!DVHVx;FykTAV`gIl8t*gvgxA|J@7wfjXeqGIm(7NiY z*Hv9(VP7ToR@S6%X;6S)Z(F+z{25^JR?P<7Nh?W}otWuc(reQG%5s%WsFBVQb!-k> zVj9ABuo-Nkw<%u2m8LrD3tsR;PHlI3!Pe&udQ}|w>ju0f?qSeHUHEqVGuE@NU5pj^ zq|cP6h)pQ@f8-RtN}7XrURDmuyJW@nA@Oq8af$T~T=G99fbIO|PXr!T$qFpREvQR6 z%6v2->m2OgH!K>vJ*oX$1iX#F%gbGi_2L?`S;rv?{K=ZXPrhie0Se_`$WZ)@|= zzgdGnM`HN@u=@VfD)0R-t7q8?M*iIzxL^fG{?!^jZy|CYikJ~sknP*DKo zP#X9s1yUf0LMW;gG&yAvPKr)kyG+`Dr@9fP)!G`rw#~1N@@s?r+BUz7U9~o4JoX`c zM}G!=>}`v>mjk(l1Hrw&o3ZbAGD1E3GkU+A5gZuFhzw^`4-IAv4rOc_8ORupAarSO zM&G^+o){sre-R zT9aR^_iOdK{`W7i&kGlw_>{p>oDh8hA@A%C$_d}UqJM$YK^%PY@XZ0N z>RpRwua-wY&~oj-DFM!5;Mlr|$THb!DhVXSHIGA4#EGLl@2n4SNr&QN8<#AD4Dxu~ zj8#N?8%0de4Qe$#{^H)3HXlaaxxc=s=Uk&LyYW2+*ny4c@7Ll7bd>bK-o}0R1bgo8 z-5D6HAKD%mzGLKe9<)e{TzR}dvSZ**3EaOkvLo1kS6{2TLgo z9*`XGfPx}uk>8AhUU&IotlncU$ywk;NBT8}3_6Sh_<8tFqs)=8^ZsO~NN}I; z{UUG*Di$>lhYidAH|Upu?ZIz;IA-$!%dTA1*lAl=yx*opz8S*(G2Cy&HTvDPt8o4! zLmSxD9NR6xTLRvg2T$U@fY+ajJmjj&B#?0aDd+DI+&_%_ zCA^PM9=?-+EdrLUbqL?CW9-3WF2BD3oXJOk!$SD*f5v|x-o*oJ0xTD>3BdMy+N*XF z<21R1YjU<_RzgJDdb5eZ(SxL9S=PRz2irM6BsQJ(>_$B)kJ{s#Cx7si4>=};M}L&} z-_UoXg+uJ%m32gT+~FWZ*M(dCtLx2r4T(`h0wL6M4)shwzG(75NdL=0X7K-54;*I{ zkuXT}1YEssc4LTeQicCG`+DPlVm>~(7%N@TFMU=E-k|N2p;)&s5rHdLI_}z7{wYTn zRN2~_+GFj+7|<5rXwKeL9?pqjVK++9s^nPFsTV{p908qzw#C?-$_1B>^@Ll>5PE9r zg(9^5JjzTxgEF`_`hetKa&y19UIU<%;+y|pSg(E-^2al#u)q6GPh;8CtyjDtC+Og) zm>1AaIb|*I0?KpjH-pAVyCaXJtPC{!+9=OZebmV`;zUK zM~l$D6yKyyep-hD4QAGXR(Kiq-$$W~dHP8DmCKS^!u7$pFmp0?DARML1yq;V54ygO zEvg^H?k1s2VQ#lXFDiMSs}34&;MRLCRkV?Om$@dw?bkpRMEPkh0i%Ce4`ZPkD#uMPb`{q4?Odk{ONh9p3XF| zqXLyD)!Rgb|NR2;`jaj%o z^(6?8Z2{h4;AIdGpIm%90XqcPC;_%^Mei1ShGTR;?uYg`I+OZXO>cw;tS#;_@91rF zL;J3RTPHm_)j7~Q09u?<{K)hF57sL@FnNB!_5;>IBzJwtd!8|PF$b9Pvk>sl1HbVm z!S~qlvYC{=LD|sjY(q`^VHzIM7|7xqV?TC*PR0T7Ra~Q9(OG%m9Q#5z3&3piA>ic! zFNb*e5H<{OCA`X?L1(ke+Zq|!@ETWZ|$?5#YpssV0k}z7qK4o)zxKi zDeiClBaC;u-aP!T1FRM>+5@KlgmGh$lfB0FwgV^YpgZme>jEsp18V|oKVUwaQr``Clpk>0V@=WgDNR#GQbd7G{Z~V(e6D#5Nftyp>m3*#rb7+K6%@k-v zL8FNMV`Q9tW}B=yt8Apf$*W55%QTu=J&NY0SSb^KwW#|#4IM{TYJ*nF%9>SVCFee| zH6E!Qv|EmV$0m+5=%OF-@*z8bU6fChWuG2G*|EP_G%;}Q*h0a?p+&y32>kPZ8_#Q& z0XqknmxpGhTF485v5zwRuxuV+zHho^d2b_NDIOSc*{&+P{N>8c4&Y~uUs`UC0o zUb%S~utLB_S$TroB!8I3{Uf-4MEC3ne{l0Zr;Vm^brSnqsP-CZ?r?&j%OU8@C6_>w zGBHtz2Z-EWxX>NW&8ub3Ha@vb_%|$4LbPj?{4590zT&%Kcq1V*d$;P z0=)9r4IQup*i>hn0)FXt9lglqjpCo?6LHnW6~CND=2s|_ny>j4kn_g!(=gt?=RC8k zCrgaCck?P9#pb1y=M5;ggmR_Y?p5XaZs4VS-yMs5<_KU}fF1J8kF{*&3E+<$TU|~s z;r<-%m#{7PdG_!|lqo%#z<*cT!*z~5T(;64ZU>E)*~^o;oDT8>Yv$QRj&h5I z$}@+L>;}p-@U!M%H~0i!*O}=;FJ~H&IQtogL|V-!YDITYlev|M^v^p+wBxxa^zMO- zEmy!pUI{%StV$MD^rsPZm4U^b6Mj~K>lReq_!=u^V-$WceJ2ULsDWG<``yTa3>W5x zA9F3~2cB9zhD3~TQQm?GifllAlc;a^0{qv?H(dR}^>4VG*R{i4?ZTr|*gXr|T)Vgm z^ougUpHDBw!lduD$KCiYh!IsQoUxWnV?lAssZP>cT+}_4hTgg`&T6qN%JLUH3WjTo zt0@lp)aiiD()z<9@EU>V)gP7tYXEGNl_%&A zVSsY3K>y+XnBJFhD`8FaLc9#Sn>?@yv}%6_*+gZ_uRamcMQnMTmYRI`POx3G)6pG`Jb;_wLIn3BJ025Oq|`n3|N&1#&%|9S}9?`>UHj{wBxzx<1~{2 z$<7anud71&<{QskQr@=#uM>Di_auMY16UVemur_F2L9YlXIAx%Pvd@W-kCVN{2XA# zfK8!3^UlQ}dPrw1`zjlWoGt)|*ZlB*K49lPuqMEY0XqlSt1a*Mqn`X*@EmK%dnEdJ z#ddkdm3W@~GqI@hY0n&nyx)~v-tS6~_vB}_ptJieXX5r0$zB`BF5eVqm*0CCb~*Kc z1E5>=)-&deM571PCes6^fExuaSfKNsRS&p-rGW&LB78H}!(Mp%nV01kFF~2+!ZUF` zU--rEPVkFwvEAYtWQPG~JmVbqouJY7jx%xV?5p|3*$-pDp9212T*vLRNMd`>v3<9m zF|lT@EW8g>S9J#LeBwn)N-4fsuLb{o=NZHETzpqLx-n56IcaFrf<`T9^nwOLS60~G z;xD!pKG_+nZK$HbeEg>`*}mmIi|a1N4yQ~X1)d=#4NwKoaG9O&U z4wq+FQ3`U!`1+8*r}fv*7@Z+*?0@tUwssH-GF5SwgK1t z5EcO}7cgG)!+Qq-%kjVn=NLL_m%m)Q`vUOue&fs~{nfcwK^_3lD>sV(3jvl)Zt`8# z;{Fuw7hH!Q$P>gkUCFyDXM`|{J8fP1pj9(NoyeG({!HOtD)a*J$%O{7!EWELRnCAM z`(h0AM{DC{*-^mudtlVlrU4rPY(iyOg5F6R_?fr{#M{8!DP$U_HgLh~@IJPkF}YLR zx#7lin5;GBMqlK7ZA7_4C|8PW^hZ(~n784fUz1p(z z2&7jhv*)fe@p-1{mxN92 zSvTg)u(_n+f~p4|MEL^^XX0&P`hB;oG;c%n@#@kE>Q@LvC>h&M7VzE`ZlpjI)`um};sw`EWW7~!SlJE$<)onu(IUkm;5!87su;%$FXYw{_w1Er5s zuI)zI(q@;h03>p41n^?OFITP|1Ah47OUtzjz-tAbSFUB`z#juxGPy<`Sb+N%ale&~ zy9~c?J@89*ow+Q(FX`_Aei!gNJ@jRKy3rVpk2egQ!@!>d{+Qzb()KCmxbHgj|08S5 zD8A!D;MEgPbBPNdlzpt?2Ttp-$hhpCuZ}MrMNmj$ z>{T)uT9gZY4CN=t}w?X>xBy)?ATTdfmN3S=#5ka=-3Yqm(jkeMG*9_Vv zpN?;f@Hf{l>&Q;}5hB1J0e+)LpAdX^&CB)Ux-gGbYRg#1d#gIsdC(pGjQ#$NEorX} z-)rk#Nf(6CCiYR$jhMfmg^c0*H|3o*VdlHiRo?jcsfSmwMGdz4uDd|H{&RR{)n`3( zg#B;r!w8jbr(li?XfiogRo@d=t-WlFT(20Gh?okYx#vi~8~T#=X#)L@OU6rqgz(ah zH(@>UirSjH{TrvQ7kLF9 zm$%cX=iIlUudd)F;3Ur{SI9q-#AeNVBij4DUtZoeqI~}Me|dSkALSQO-lxyu%4_Sn zmGbs!UDKUHneiXKJb9au5B=mvuT0)nfySQ6cp0~vFPE~U1Nck8e>LRoG-!AIB;Hpb z@{`Lp%8BCSZN{4rPxHdBUfwo>?#3zG2W{k~EpL%NTKpVq$=m%XzlicxN#(7qkS2*& z-gQZN+l>Cd2-?#x!ba1vrLrR~R{6^+a#x8>uBMO04P8dqI}g@K9;@8^X3WQ#Utac- zryc~2=GikE*Jk@x-MC~rWQ=suc)~g2&s|#X`rZP6BJeU$2S2&^<^a|OSTeawc~^}4 zxj%&uk_^?34>7VbE!W4ktdMtHxcLK_QcbyutkoU@-uM+~V-4C4&2uC98RdM)fvjhN@94j(k1nCixy;LJ3)`Lp zC;5@AvzP6A3(9m}G#9mwV_Sx%?Mr1p zuHdzt<8vsNbM@IcesmtN4IUVu)%OmpKLXZ*YxKMNndAM`j;@dol#Rfz1%9dGCtcHG z{SClt2A<)4gtY?J2G}8%#fSCp1}yKIvzHzFaR~UW*W&$?K$3ltQ@B5d`=ree>spRv6FYrvPj9z{s@~Xv; zxDhy$8_$|pERjc>YM0ZdSIFCKXZc)m^@N6LTwWG2EEo!bb+6k znTT6pAM6Ib&i9?wcV~}Hwv_dny<~jH2Z470cs^Y7lZ)>-V55M^Sg^|?k*U}|dAJ|N z{X@9lj%zf)^rt*N>2p5&-V6Eue&|<wI~k_s{TIVtt8~X9VPU}L04u^ZKm6YS*fL;82r%-C zTTexZAqV_U3;>UvQVg_il-a!*bhPhe9=iM10t{T^VaFyoP4-TcJlk*#W!tOWcI5#U z1*{D)&ReuW#&(&9uW@YpeiQL?!08}P(3vB>Y1s36yUiy_zYuuK9{PO7Qot?%HpjAF zKM=}#lUAFChJe<_`f8jq@{DmY!p&=JYG*z8u-!*Mr+7=eY!n~oz33rjeZnIbfj17k zP8|zcA7fr*p-32|5m-!sV6MUY^^*0K;#>GWJbx{Cq`n*1K9#(%Ar6=zM@)cuVXe{l zbTKH;K5PYz-rFD}Xv^V4*lxfkcbtv&GOhxjJ@`fdYiK$fJGucs?0((C^^xZt}$~-T_If(Z;ixwxc6gi{v0O(YG46>ISTugq&GG;XlF|A=$HQ_x_W!r{Er4-V)!OHrOiE}%8=ydd00R^VP%uE%prOq?l1}q# z`hw7=Z3-!*P)aBPi$)nVK-2<(Op?jdpcQ(xV$`C=+lx`FR;e1Kr70~K{d-AhqDHJ3 zFm(R!+mD$ulcX>3-uvG_r=9F`)?RDv_u6Z({o?)EJ|2?1P+UT`_qA|EX8St?TIUmQ zhQ#4b`Ycy*?xMIHNuImNLlb#QV%$kIFpMe_^2xjb`c)mq)N&jtWvplgyd6wj3Mbk_ zL95wft-w*90dR^`5Frw>z^58~{0*=P#L8-M;EQNi;)bz2#b<2{8^&b^c#Jf@845}p ziL?p1#Vs8?I9!~9?B=21**wxX?$)sq#keHTg8tS1roJCe*sO37O>?|F*p3_H#KlD7 zh&!u!RMxO;7J)}s2lN@49uHQ5Z8An& zwkGm|nOnw7GH?ak-RuX^afLaI?z&nmc3yXgle^HnYD``rK)Ex5u!g@DWB-^9c@9_# z{P|?zHytozBS_cRrNgRe%KnQ)g9a-Awd5kR?JtC+$Yy`M(~i|AcJ? ztSSb!6R`Dw1>nyo4ZmK%9M8NN+9b1$*eT(7k2e>vsAeiV3spt%+sR#bX5b8Qx09C_GI@F360gXPJA16EW|V+e75D@@-wgHJ z$~v2(RNR$feVWzX&BKb^ynbl46zTg}=4?a|>|>R9tI0AKdis9wPy1dtJ&}GkU)(dq z19=vslfWg991cn8lf!cd`fe&mSW`W2B?OT*BC^6`o=Tk9y}C6AibkP#k$`_%i(}%6&b;srm`zj7&qM zZide&;0RDlES%!^Y}BVXGkzO*6#wkakRjWT;30J7xva#cjn=|FW#I^@tXB~h?PCP= zDZhaHkvfHx^*n?-n_`}KoLR5fLUkwdFd|!&wl__(TJ~DE<7!b+mib=HC%=q3Ao&UT zA;#jI>X6MV?s-eSLkK&O-+s_6dL6nc-fi`a7X^yCy9?lr!07}|rMf%%3|HH$R{L(8 z*|p0Gyn<^qe`htkY_;sPT3@nO1b=Hac3bY|Ut3MTv8+dgo^vCQJk>?td4?pDRKNuV zP(dI$NZ!_GsP+`vy=9xW7K>vlB{z2>&J{jh)?RXUB3)J4D8B=>VwP3dWVyKqihbG^@G$iNiEx zWf5(p0=U!uf;KDjHPY_AViQ86MfKMYs5gD0-RjJ_4?4?ey6L={@ zsy^Y{iC-^ZUcl_>7v;iQ20HR|_>ex}Y?bvyl(oQ#*xVu}G*R#%bS2tW(x@_aCr0e* zxspHQRR;cDZ>zZhd^6A11D5%>u+AINORyfE)0f&fnFZX9!0kTtroL-9g3G?8DuRqF zNyCI}3YrJ|nSSu78irnrcb$g_N~l8OW=>{?CoxA+iTq5R3;hr@Ye<8KX-Nlc(YtEg zf$uE*ynyur7G-PU7+7AK!aiSUuj0}a*^A=<=7=DrZK4J|TK|bYT-J+7pXTLx1zyyC zHdfvTiL;saLYWn9D$*Y*g&(MJyAGqsPhfsaov=4tP89t0w;t zbRfLj+GxO3cR4WsHvuQr=+kzgi0&owIG+lbo3SYt0^dIBEoV(o-JXkhILb&w7p_a| zW7(9++5F1g)5Ersk_UU1*{9bRMA~#j?ncsg2k*Xw*%Nd{pgUmog|PgLX_0*@yHh#w z&yke4pV-qH*Wy@@80_B%Jxvc#L14cGgV_4~?-JfXBkS81gwg5f3k4k_jBcy#iuTLB zb!maivRj<37i8C8+HgtZ^x(x!7d2mKy@uq+j9!_a!{Cv0a$l%Y>K`3(Z8O`i^VVG( zxW-eT-tZB3Vfuaz*RqE#oI&7h1&*@YN6M6PB;4|4J5MRVeEF2Vu&teKe+FPX0Goz) zK2H3y0NVu^^-^7T5iXAXmf;owTn3!vsePeVSzZx6O&tH?W#o|<{Uy4H?jyRd$(oDX2#BDO zn{a%Lz{dr;&_}6D4IG*qRcc?VWWOJ_!NRV6AE`C5tb?tfNjSeRy%{PtP9IZ#F0u z!j#%Lq7t)lM(|3~lbp<;Ga#IlBE;9(7wSmDhiz@x>lo5o#^jzi;hpd!d1Z@uM3!4_S&f4rP-rha4Uh%sxfYk;m^jG*0Hw zdoDk7`03^wFYeGWwDR}u_mTv+x#!RoI_?P4xOGOKw%uzTHz1~P*>kxQu_cBt7^mPj zV?OMCSM}+A&=J`#Y-1cRzG4xHd#khE@P~5pem=Cl$YHz={AnK*0Pd z>7F*L-7MgREmFpAgunCJK0QAw&#Cv;rRvG)6yWUuPCjs$M_LYJOd!sUH~_y=_z4+J ze>`l{BYTrM!lmm^`ATLs?$_!fN>{X5<%xhbvPVf%)-zZNzP43YQh zIwR?Jf^O?^(or@!px8M-hWwG~5OpNHhX~VjciF25@SXT&fF}Rr;WE+nFx=l30jC5w z>w!}(s z+VlJ-`zP~w7<~4BLe)8y$I<6>K<8c)mBmIW=+YNs{_2yEi+25v?bS=+D3lowB>{zu z*p#HT7^w+!L=_FeCICBt^)i4kx^IA7l3~a+a*Qk@$RwipQG>*JGO7;93>GChMT8FQ&Tu+1K{2Lj=OPJeEaOoEwi@FNA3pvVH+8HS;j@M(9Hx zgcDm9wzU^L%UdQL1bEo)D?wM3-4|XzKv)f6`7y9ozVPQbh|uWPzLmjOgAAXyz?`b@xiTH@~_&VqXw5yLY|1J4azG=8XDH zyIm+YOvmt)=S;9XkWr|;^Oa)xS|u%+J0JTC3olN&C!(OK*fcNdj|SMtq}FE@vE z^-iob*Lh&}eMJl>t<68dDW7)N6?6VY$S&7ReA96cRj zj3A7JRinl$VY>rRM7~X53V8s$9R%3hu-2hy3A5!}8PJMBGYFalS>GcvB$wtAPk6$} z`YCRa5tWEmOWM^&i(m?1F$9#AEi6!}J9QzPz#XuQ$heKNUG~C%<2e38SAubP3;dN1 zB>Hh0`=~-n*DY?spfXGunhyN!cdC99-;9G7u#Pq3$Ds`Vo#XhEXEpr0;P1pcAHsrw z?XrhAYexdZ!7#`!`lg1Y!1Dnw-Nr}T&6(B`_!q-p=RIjE z09$kfnp*gm*=RCBvk|aTz|!QHSF|M`msn`CqA;vNrNOGBe~(tDjLo1w0Q#bezEBDa zN44L@+~?>LeQ=}2{X6J{_vrOPxpvP7xFTrJJUb|iFWQORbe|uEAZW&5ZTNkTb_Bjv-PBifLOTW zB|zLpJcmegi8Nna6)M9QNI3+EE1|ta$|aIVa8fI&bU&xFXl^)Y!QVrILXui_wxGjE zB4{@mitw%HBS?`uNMn)O$3lt?P9aGfgo}5raMg~St3y_?pFL2D`rHWH3uST6ly0-_ zoc6OljnjgsH=Wjes<+{c`ZIF^XVs;YwN7nGw!S7S1C~z7F#|<%w^^4GIII55hBGu( zOLFT}va!~1t1T5Y8XjJMqXC`bA2tRwVpbs;jH?Un*(Rpol_D#qw&m~=F^*| zi3_l_C7ywtxNVaoKioSs9=$azMwuL0(9`#j@J z;5mQLC-3e6YASv{z&30}|Hn9}J!#hMva?77s2u)PKUCvpoOH@FPIJUEOfWA;liQ8? z1>_fT1Hc{H20OdtC2;3xTo%r544Q$t_y}D%Crk%>thGu~?UC{FBCHv!kUu{~*|Q&75S>4^`NlHQfM0*(c6~?< z(>hN9*)LXtPv_73I<(SBV89@ z4#2YTuG=1Lbm27wEY}0TaRNu!zf}7a^Sie70&F`;w;_GNQ+K#UY%4G~G@HV}GMBTE zSmoPUb(-;}2;aaqyxtyKx0&U-yjT^O2wIe6u zw;A*qJEP}#L^`-D3yrM;INiW015T@K3#$E7?#`hQ$Yc8#P2b&mQcHs6MZ8)i{5tQX$fu^;3&m`jTalT17eSS;ldOEHBAvc5P<=7R@y zu?^s}qZ{Sqz=xLcp1N}aXM5{Y8qV@k+S6PcUT~7QmNHsMb!)Y>K41-3#2ai_Zw`QO z_pXS{&H!u}u$_P@ITmAMI`aD2ndRtDccZOKeN2>NA;;U+T$W)W8qXrCQ(R9bMl>;} zD7w*IGG0~SGrR}-Bl+MVtQN3o`=F~S81rQ#V9qyG-)H410qUhtET-I?Ly_ne@|1!x z?(xwp4nG~+sZ!32fN#&6u(PtAnHrNA!+e$_$D)5tm@`Uzov%hpP3i**|XRB0wJx>1 zWsR2iAZ71@nM1{7z|WX-p1I^)yXsK4or8 zQfs0&aC+S|cf+amr&%k7Kvwfua{cG{rj}}?Z$J2_yp3_C9D}QVmsLb`xo*~-JZ{2q zb4QN#JE7wuo#6&_gr4^SfeZ;Z7ILI}7ILrbPRRRrFh63Kd-l1%*b9l4Q|!s=6hJyQ zg1+}37<0>WCp)dSOWQATbM3#o(HX=(0&D=l3Ve6`+;ii7sjm3Ev*UBmam5#$6`!Bt zil28zeBqhaPxiVd&7I_PP0E{;>zY(BDc?0|-lW2)<i#W&mq(N z6!I)Q6D&nr&4h6#!|Io7#1K!m-y*=u;`+mDW>`4z(H6w&cwv(k3w~QH zd9SIMlU5Tg;eKx;=+hnj@*H=tNX2g}U`g@)p$*Jaj8Sm}os}n#c@=ry1OKW?Cl+QF zSf<2 zk^!3-J8}SO8>${A93Fz%l@<0_;S_d>|L&zAErYyQcp`8Tah~uQk`Ay~{TBp^y90?!kVe znf+Q{I;L@7324$j+W#*b_iY3Jl#lm+;BlX09puCH{YM@5%>Z7{C;FqteOZ8cGyBIK z_m#qb=B$1>UwV{r-v;1r%IZJrxGx>`XDe`9-74*)$9<7epBnTzK{H7H-u@7#i#SFV z`V#iITg9(nZNAdwlkdfNG6&^M{qqBi@ruDGGq*o#jJF1`n*9DFj`3=N6Da5pkMX7> z8XEzt1uP5iV~z0$Cf-iqZ35oW#(9T;*9*LV)i`ev214D1{U=5byY@EvRW|7GJmFUoBr!Wg={U$0Y(*iH2O<1y?Pr=4{Wd}=B_oc=Zglh!-$ z`PcQgLGVwl4ATh>~rUo=#sRMlIcGejWU_I0QAFRKnK2-@m73xpq&%IsrTIS>(Hob~|AH2m3=kHdqf}`49EWd#DucAYf@Odwp#VM3N{U}&PO8c)d_eSU^~Bf{il*$tPcUe{9ivY+YNc{0{sx^GpJwTp}nXd zu+(piZ!b!C5c2n%CmyB`^dq33rqZzyVU_@v@U8yPh}^fT*6MS;y_bvcz0H?5UEyuG zs{U$kOPVWwE{tuL!gzOaeC~7@?=FnbzX-;=3*rl%aX&L*P8TZ+$FSjvO&Ze9KGvds zF6jqjvd^7P?)evyd7%@$5l7CUIsA|hThv%3(*AHhhrG{$24k_noW^`kgyNZoUnb~k zzK=eJ{jGYauPh?J7f`11e1NQYUqbxcljg)1TJiJD_}oeHdGYc2j`)JOxG$MZ(4<1x zBJ*LC%$<}cjDFxzhF>fAl>Z3wCTdL2c@=Szg_v9^_L`tF z!PGv<-B#MZ!qd1Uc=MdP<$-1M8bHZ@zNm*+! zWA*wQavF`y$f3TZVJX=)6*u41a%1aa@{b$-xW-?4O!yDQ%V5`#o92YM9Y!UWFfJO% zM|#RWkNo}VTl!29f1<0c(`^4Xwnsi^2EJu_>NlGW-!#3A-!Oy!W;Sgyo1ZmXo-td$ zZdwnEz19)qrz?^5Vhi|n{p>AyFPMD}UM$$3$5|CI5$|fT%0!af`@~)oStm;ED~D)x zm8XO(6A{Pyb(vE|2q*Omuy6n3t&rD&51hGkj;rmNxc0Bdx$8E@1-^#Up}rc|@H7sq z=!gq`CC=N_9@pF!XKhE6?Gg62w8kyOQvbv``%1v30z7BF^j0W=aw5Dwfpt2Y^OIgy zXAi5hSfsFAmx#TQk6WjmVA&1+2f&~C1pdOt0ey@2oQkH!_I?OB={w&FrOR}s$NMJ5 z&yDxQ=Q`r^;^Oly9C;&}WxlOJa{Mr(8v0lFTcIMhM~_}x!70w{_}m0Yu#@9`lf9f_ z^#&6gldMl;!UhdN%B);<7zRiwqt}DijNiQ#wlk9d2J#0?@mKmgXKBEHGWaLP`;xpo zLe0xrn{oM*R}cB`3iGnf10P>p$!q$<$gfw!ygpF8D!^-I&j;tlcC`(>GG6=OyueD7 zNzxViUc|tr0oEG>O9O0w3@j6{o)}mWV7p>q zWq@_Zz}5q{GX}N+upKe54#2j@z_tL^6$9G=*tQthe!#ZIz=igCeje%_iY(oreCtx)(uwKBb zV_=5>^T)svzJ&Rl7+5M`>tkT)fK|r8ynt22z={D|69ZcVSa}T04_H|YEC5((3~Uo% zB{8sVfECBUx&d1h13Lg%Q4DMtu>2TU(wDJ5DF)^Q%o_un30PJP%m-Lz46FpOj2Ku2 zU^8Q2)qthPz=D9yh=FYeEG-7s1=#c$*e<}FF|dBXQe$8vfThI1k~cv9#lWTmmK+1i z04ym6mJe7$46GC|M+~eIFe3(51K7yNV&orS!!fW& zTn=`iJVfvL=9Zoo2X}sFb4{+obtRVW;{o^blY67Mxl-cJmrIlPg?C?zT|wg@7lz^c zMC@E*_YkA#YM~ljiC@wakWZNhLz|_YMXpEkaqkzGBl)--DUU0WyxasPMpr$1um_o| zGvv@>{N+gZ^XvvBBGI~sYsFn;<06|G2)7#HcDN4eGy23Fjo9ib&T`=KdwOsw*C1~J zzSDD1p9!VcqHzQMZYpIiu9Ypr0S)3Cx;Db-2hBFn2)nUYu9Fqh2V(D6UZb^m4@S;< zcpI}|Z@KNv&&cMvHeNL-*VVoLh9?4-S0!gpMr!BnS%k35YSBKu2SeSmK8pDZu{F=b z1-H44)*Xl|R}0E&5fk_VR0rFg%dR~*xB_dtz;_$?mggJ{ZIkPwMEw($LG1sZ^IGJX z9I+dW)r0jbk2~uV=Qo^OKiM7GL$+O&kT4=(my0OT#M>2=Cz@E|+!~H<#mNUAVCu6F zWQA;vyTgWFC`)|*z5w7MUONa5<*8(Yg&MY3S9MD0?o|3aY;UJfbH1>bI#t^*oBNT=5Vj%YPq9DEVtFG zZBcMC*5ZUt7x!t1!=Ta-zM~%U^wxv&o~C@cACAY5OfkHPkngU zajEK~#T|4WoEV6mECe?>lvQFd3EPYAxO1{P0(-EogX-l7(^g?Uc>eMoR3b8%8=aKLeQ~^H1npqMf;UsFa82TzR?IrIOl*>^_u!l8EF>2&#|l z2g0peA3wrYo-Nf=AsjSZBvNw2JPKuxzX|of>YzUVRO@nHs&F?VAOs=owzM5@2JSF$ zy^OQ!=k>9XLY2Zb5M0qcrWysU$veeB{*0lk!H;VZlA19-`Yif?4lG<#x~#Ue_RF#x zFA83m+vIG%z#X`x?$Vrwi|ePCw4T>;zEv+pDtgW(;F@( zIjPBOg(_pc!%pM0oZouhr}ynIq$@f_)DWr$9+n@}Ejyl70DufR3jD);`wK{)ufia` z-Ug|nD9#d7(ITofABq@XZnDu7h|}xrT#95YTui=;$#*gN$f9cevRYtocnsrK&S~m% z`R4{MuAA;_xUl}B9C0Lnkmv4;bNO$Sg};9v$3w5~&J|YFBOJbex2(ZbI`hcXMW!yn zkDLWlgK~5S;<5jUgZeBYzu3!>qxWbOHBQcBf34Lt`|b^H$5=yUJ!g-%adP&a1&vgv zH{h4r3VYI%(64PWM%+^&&LSzmS*0kaF@&fRlHoqiCSB>3O{!>5K_OMrY>ElQhU)Vk zm)IpidFw=cHX}Y;pF;h|JLSlVTLh}_K+zW`~1{+L}_`uf>zGd|X zLrxiA+5WkuNSvM}CS1iu6=EQwI3{a>hmo`zKXl$e5j^KP zZuocD(kQk~;r!YLvjS1l<69m;qTgk{cYtsn9Z8x?r_S7v3EOgf|Xqdmu zHudTX&TA~XrDxC5#-iXnF|0_OPn9>ZNc_#mxSJRvuZF?5s^ws)oN;nb>2kW;Y8>s4 zIy`lcI06ql-1XIthA%i)*|NQfLj#d$wqt$=0WozHaqMgZFZ7~4AHCv;qzgP0Df z|GE-q61M~Vo>n#{b+?@uheqzxi@ae=6m=@L(Gt*Y1zm|O_imKklJ=WDb;W_3vg>bb zSX>ZX*tp2swBQbu(cXMpR=eooYFYpu^@;?!oze7f=|uYAkPR;d~gOZ_V9^n$7BoB2{xK3V}zue{xs~L8xKa^6N~g`+Zu(1 zT`Dh@LLa9pyKBmjMYQ@W8ZK{43trZAY4atdT_J`zujP^2MQRtR#r}|1gtc`m>Zi`H+h3K3`f%zJ6eqJ{h1EsKPn)el}H zKRl?{-i!65V!IX2^y0yt`mE?;q;cBU5a70ha*kf<^$~j&>?u^t#(ze?z&H%~Qr+SFP zKw`r3x0V}?{SLs$&m$B z!g827@64F1*3Yx%R;`X_U#Xuy#yb2tCRY#K7H&ojP>ag$8xHcQv~%4>UCTwR!6Q)SMl+s}9k+~}~_a;J?*de!T^0-oyo-P@viUOie z*}3Lf%ojNZLP1#v?Rn&89xX@o!;x<)@&xBME|Ad{nZ#Za(SliRnY@NjC^yWo+W>PB zTjm?{t_NWyO&$oPof*!zcg%KFmbyb`;BTliZ<`H&MV%QkgMWcu@n^I7PtYp{&DH^v zxoF>UD)hufU^8PA^qC6=LOl-2^BBq)5wdO>tBh|}WxO4%s=>En`amc@LGbNH{eI7E ze;08bHUs~F4)l)M@OLvRcY=R28xNVD=D(UvZ=1_o|6;bFZokb!P;GS~icEe157l~NJ3au9RPg8okFt*rgf`(FeSwGv2Om^BsdIM2 z{}B9ZZT?5oRXGQl0A(}(V*`3^cNf;2mbc&Tsk<$(%3WX9aI3xbF`NwGZ}@l^zZ+|2 zbKB>7>U@DY?)sdDY&*WI(Yt8Ribn5r&{cqLd&YoXpD4y0oVXOqw{X289YNqFT|W?Y zcRA9LYs+lv+^)&t(da8e#&&})06I(!GJhidZLZR5!qt1UUUQ48$BEjyo=CF*>a0>- zR+EL$fMlJ>{1)`nPY#3}wsEbv^NMzLQP0r8VI5$b(2Xi=1VHp?L-vD5b>@J+^Ipth zimM_x<&?)cN|>UdLhJRrQRiB6%1KN)%Htt1m4=WK(M*;XOB6VZwD>J#SBHYMANnq%S2N(m1*@PK_nA>RsiLwlAs0N-<1Z;>@1&wbD~ z08yTl$gHeAS$Y8sPl@en++adOckNj!q4*S~g`wPhmY}d-NEgF_Jub<@rX3jvU8sTY~BgX%F?T9OJ)cBt=q6Bmqz5%&5+#EYIQWIcxU zHJiRNeU9&7e4jg@@0iy%_)&HNT)rG-7sv!%4d{+X)-qozLDzenbY-C147!ZG0ezpB z|1@`7ht>WST!7YUHMF3t+pR#GY2Xx;G|uGzF}-Ch9UWmo3sQI{9k z(k?XZyRi2Z41{(eOx@nZGzO2pmU2z>iJ8Fb2c9@rQJ-rkj%CW`qHS@)omU@MC(ZGL z;+r0i_hFR>^|ZuX`~euAfWmKa>zCtOHpE-r{ri^7*E}&mlkXl$eREhLv6J4Z6+f3m zzGeSDoMuLy%#H=-@D?-dFwWb3eA3G&)yya_=~JeIRcUd_*r?$2>^;XGi&a$kE^Kz4 z--EsI<|Fr?lzlzG%RdSp>y)tt{Uz~~&MNLI7iAb3pk|8;%NwTFC%eVE`(o8kQb`SK zYbEq|(ceXMN;Hv51W|!sIl^fzfef+r%i>N0TVF}rg1gBQ<6$BCz<_sP$SNm{-cb-s z1s=wcv+1-`2%FD-gt>M3K-G`Z`smkx)CfK`muPb1_W8*+tHXUpjsV5XbH^=onH@iReVO zBBpAy@YUTVbPeF8d>`{kt57da0R!w)fqv(1cX{fv0<(S1*EfB_+xqdA3}3?y^|QRe zPc~*+-wQ_@Rki68&DXbNw0@jT2FruOy`O{R^|KmoXv_?LQX`Qs&cw6RCtB}De`hl% zFrov$Sn^VtNf?jE`iP}gYSmDzpH-vDTug(DX>c)JE~X1frmmg(1L#NVR9l-P?c;i0 zBMARY_y^(NCF^wWsqVH`tDS4qw|~ODcCDW2>95b4zh{NzN|GFbi?(LEN@gp7?l$G9+~?^r!m< zLVlUPhjw#RVa@0Fdt)Bp<6@1ytk$j;n)Qq-3Guu*A>|1>+c z)DxsSAQcI#UiW;~r^9da*o`f-BcleZdT4!-o-P@zOY0ES;fjBV{^yI(sbt+5N^rM5 zZni%L9d3ge__A3XZX3X5`f7l`^UKij9r%Ea^Bl~B#kD^hhk3BLz}Mq$4&%ETz7|)% zG0q!&I=rP4sk2bQj=xdl5YZlh5Ba=%@7q`W_+s zK3ZRcr{2qvtnLe@_0^8PlnqyWxx*LwjKj6 z`@}=Q9RjWs?|hv2CHx2GhX50St9FUG+VFiwq?-Ypw8nw(*-Q*K3$W>cEy6qUTC``- zvFT$T7`r}&E7P+ExW&hS%k~ol?grqh_9OQk3LTnUAE-Ocjpb9PEq-NQ-DyIu?ErpK z^MGD^C+sRb_LJC@(f#yqQE6842}fy)xlxXx5?+-4Gi|cg$8~tjX({W)Y5B`UNeNwy zOEknO%RbQiNZ$(EC*Dz3kufyqR&DgIM%n*`7l2^$24#=l5HlWFhs^#W0A97=mBhHX z)qF3@T}=Ak4~Dwly7lsNF~_|VbmeVooC;EwSubD*0Au~+Bg!8zXL~d(;YX0)fH5!l zOv5h~uo}RM1w{T~*~|pI8}Lqo^mIgZcirZAPcCQL z=gXOPj-}N^J6E%CIUG_fp!F6Z!UhJrDEXCwpQB?SYOjL#1o^R^b%I|t_*Kh#D#q&K z4#zq5*3!u09$Wm1V5!noFlTpOy|sYrW!PRvz-!0Tup5lQ>*k~KqAg7GEh68!g0LKrUEx_4=cU%7%Fu77q_8U1A@+xTolZgW=;rNMwn` z?FVks=3~R1_A}V$jschP&jRk2Z>fGSBAWx|vLnYo3$#_B^*wju^@2RQz{C6P6X(Ht z;`q5`WOYXRC$`NLz%l{Ll={0oKOsAOrhOTXcUZV5H{8=j9h%Rh@?CpyMhp1N#IFpz z(!Y!Tb`-B{9v%T!k07&b8yi8x@@)m3Z_Cm3zv;l;0o+#L&cHkRCn0ma;L3UcF)j2Q zme&yQHUe*>#EY!AjOZzIIAiT$DCBKgLdev;D#By3YkZTVGX0y){kxhF-nbS}n&tw*(Z1Y{`eSXm6r@k{8NfF&qA;->(% z0k9FN8`PoB23_R$r|6IdoJ&jet&qOb2k@FFYKwGqZAXFo1yOKR^HCFqh zunRq61s=Arw$y6)0_^mkx9&t)M%R1BI{^BQpACd|+Ty(lu#%r+uE_@523S8}#Wq+s zU^9QA>>GfS-vPjC0V}fM4Fk3lunGlp!cF=W`oA3*BglC7o|My8)&3cd6WNMnS)>DJ z`Y%xzqHws{Na8TOMZoF&)j(*y;!RjNV5u*mzSv+@fYkuzATK<`s|BojC*~9cM6M6p zNPd86+kmjK76s0zJ5$&@-L#~-Y43Ekp3*WU?hF%i?x=VesS5ie=ca@h2vbBXq=KRp zVI{l-d&SEGA;Z4+w}_VyME2^6dmr7ci7iQSXO0_26oo5%QzX;224VE?#$26B8)1IH zDqoG1wP^oTUOU>f8aByFRO7b}1!*+;EvF+CT6+fxnr2u?GS8Iqlh= zI&Z+^u6M5_c3568%tPegqsA}zCM;nm>H}c9ex(AI3Rv;pu&fkgTN>1unWV{te?R;e z;hhg*MS#tGEjo>5fOP?uDX=8odcXz&qwMCBh2I9i680fpvY&|T+wyT9R$Ld%D+wbj z$SR}0MEKp{QTaM--QdTEaXJ842VhPD@Hp`s25d86TUqy%?jY{#mDO0#rT!ZI&+jAS zeey~N%nKO%CqAsFUcgEL+a%*1nZp;GM>&yiJro^N8LukP_52}PKGg!|_+vyCG0csC z8Gx}&_%O_^fF%JoM1YnNwBMpU`&3_IpEtrFuW+|8?TC4!Ty$_8^Ht#I15Ii_^gt;W<$79f`|@%>*+NdM z6k_HbV`bzn_l3%RQsG4?a)+2$V!PLkF#v2~C;@pNnYzDh$DMeql*6inm-`&K8d~iV$d2rMWb;<*q$v}E4F69U@8CVE>>~4pLigzc zp5xD|UvW#jlb9o*$iOvTi^GbgZ1+RJUj+P8mQzGm3LlWhdNb{1^p}4@S;})8BlBhA zJO**08V_ZN$RW_MZRUe6?H@|^c%=@i@58Ky{~GxF;6F|3b<(D1n=j|}Z*w_=Dkfa- z*ZmjQFR1PH9pl~v_n^jh@$wmLfiIxz<7!1cCF>%8=ItTGqxW6ac9pIyJ4tt@k&K9T?W z4lwSHi@sr|`8*=>o|!^{JYUm_DSgg)-%MjPUrO~0uGZeSU)*~`+5+M2VI<^UxK_k_ z7vk+V2j%&n`iwm<$1Zbt^PiiC)46%j-hA8ucJIFM6n3tzrlW5F8O4CZ?L%4^@MA#~Fk2e0Y?X)pk+)g$o+at3TfpJhw5mAaFsQ)7N@d zOUm5lvzyMjH(I+xEYW3ysLmOse$Z*5!+BYf=^^@+cVj zs?o(@4>c)K&bG{BfG&pbV)!nG>SFkaEBl9;yHS2Aqw>v1lMa@8a$y0@p^4mY%Q4q_ z(3FFw3N*F${(<=?vcXM3o!`U-4eq_zT&%<+`gNi(!|eToUJ0S9YvQ~n3v)7@63W-8 za$POLW&R#O*tKU5>T_+>zFuz5<>uG<+}FA!cwys3dCeCzIjuT&F~|(gGcV+1nMZHo z#TH*4Z2H<>lryirV!lT<`jQtn`FhAo^i#~yML4)a^jXODLT=dgy|PR0q$Qe*A-eXy zhNUuyC!Y-b0@|S*sMiKrL|u%>{gnvJWHY*w9_vb3>8TkD|IodU~Znd zF-IIs#3hhddG6q!b;+DapihMogH@KDyD%iuz|ys$8?a7-a5>+Xiof!_F(<( zg@ba=D$>8)ELtr5sn=8jr|6hxqm{fUFL1G*}SCI!~1EoxgL3) zh>9gCjl!bnPQ(O^O3X6-QXv6cDh(n}cw3D2U%+k1 zF2+HxiOxryGkb8}MB1R%K_j}PI9LdsZ%|mlBK;(7ERiqVw5C6#9NPeXzRS_BWE<(W z+OBB7+*_9xxXe?3X~QM%#_7R}IsVX89Fq$92fB_c218pUU1Xhtn2!-xY4O@bJDH#x z0bSaRL3!?^UC+Y=Mc$b9f9U#1_sqS}4?&k{Ys-=IntY9psJ+&?qLuKRfDYNg{j^UFp`A}cp4nF>?2j#gR5j$wWR5m4Sm8P{sSWelm90GpPM+Ws= zo#}LR;4>V}%avlRHlx@uSO!%jz4~BZBzu+U*g&x7aMfq6? zx^B?*OS(w=9!I~f1l}glY`A7npV4g7ui1^vrIKBI?D{pfx1lAlN-!--zozWWMH|;5 z*C<7}&V4w~?b^Xmiml%h>(-)lY-%TwffjB_@7cq;9@eN?Yr`MRt z-OmTih;>kxOm-q?q?Mg;8|czLIw)-_$DsQT0)IX5*&o?--(oGBs1qdbM|y#y(kt4u z(5KO+E!yOjDS`TKCUAFrd{BLhh}ON*2&4H`ah|7<7YnIzb}FPmLCCza8s51$j=FXAe4cVHe*5J{_|LrR{FC z-p1X~q6~rvrx&;ffLjHbgSd+RP;`Z2lYzT6uEnu{{TOuCY~k`mw7X?q;yf+(kHU5| z)?t0EaqJ^+lS4i?wDd4`qIHK*NA~Y4v>$Zl-O~fb5Bj`3U!v*_)E_tGwklhp_j#$u zWm7YAQ~A0ntbDDLIthZIhUXLKPw8>d_}X8N*y+W=1B#G;G14d;rPay#hNR!4e7u8l z&NWBYXEr>_h=o%O9-Ja%pc7e{0o)DQsx1{M*{JG1yhZ;~0-S!}Y#~6|AM9rZh$9}z zoD&sFp=Uh|fUY73x?(gPtDsi<#W-Rc@Opr^QR2z7dMIkhlQ2BwcK~>$a|ZREA*o;A z9*sx6B&iqi1zrUS@lY3Y0_OE$3?lUsA*(%VEe5wND{)X3c@?BW&nW?IM&V%C-bsEH zfNckCglMYI)%-YJq4-gHMvRs~WjZ#4wq{;9KecQU^9MS~#M=ctXOYsuRQrSs3txu| z6vK(%2=LYeZxaD}++oWX%1P%RU|*O&7;>H^a5^S=+sfK+b+;^O#X$zQ1Xg+)mj{Ahy66W}#M`iPdCVCf^5xU3;D%q~Q7-biK{`f%j6b_B zK9f&oocK26n)ckIvkfq=PT;qE(q^11UWk|ZF}@DDu)96Wjz=}ANZ}Pj-X>of!K;RC z=Md+n)YIQ_o_Hgk|8%~RpVQ?B-jKp0zvQPS-hU=BeoXC<>++H(ZeX|-w)hQy+6h0{ zeZkK;mv4e!mYpA=SM&MM~v#DGu ze)jk=9a#$R0_HQ%K~U+ag$VpS;;f&vIU>`H^&2h|pjzd2DYsX-36DwtH0An~TdUly z%I#6^ka80qmvm0$mMXVaxt+@GQEti;62Dlv70RtuZkKYCYb9Q~a!Zx#SMDa|b}M&S zxyetebSO7Vxy8!$D>tazPUZF}cSyO;rz9Vrax0V@RPGMt_A1w?llWQ6Emv->asM}va=Vndj|ax0YEq1-Oz4l6gUL*f@Jw?er=<#s8zU%6>dOMERK zg7eeFYlm_-DR--Kdz9O&+r38)VOd-Tx()H@@U*MI#y>+cJt}#| zVfDRfKw?1M5b4$VFr>bV4@m!a)%UkF1I_qf?D|!CPq;GUC-Pw;AK2t3>cK=kI8r_M zz+(9o*^l~uBi*iw48bz}%N%3j`7SOMz>_v4JHXQWWk=RO=PCj3zFN9NQzg8+T;do1 zhvc(9Tl)K+mEXq0JOB;P@JEGH?2-N*#bVH8^k(s-B8-Qhk@%h0Ne!WBne^XMCFv_Z zcCEn6_?qN1^nipH&64iW3fYrpsqfy`Bz%X8$JSdUzhsrZ^)4BYO~01;kn(lO*LRJC zi@@+_`=gRih03pVgh|IO8**%bc0i6 z`Z_m7>wP;iB;2Xe=ethg7p;_hyFM=CSE|zGyaEGKJX;@@e9~`}cpX_1FZ1)#P5!tbb3Y-+zz9FFIB6am(Ft!?J5+iyZj#}Y7Rhww9?mK0=(o{X^pDX!qQuTZ&N5*eR z(e*0*bA6G->o`+}U!=;#?{?^Werq3TV#;=f7NmrhjH3$-a_+obhF5z2G=Vz&QCUuYl|N3!*YUWDZ|@Av zQtYkNb|vjfyH6Np%opN1^uPibDa1ncs-Uv3U12|>#}OXj+HG^h)bY^nvBpQ++H`1| zUb~u)9^Ys@yBook(DBlBBp!k?CS6D3b3|S-e8^kJQM*jn5qa2XMBLOLO|MTzuAhq~p&PrJI@Z80A88o@P;Q%3oo7=ZRr zKiY_Pb^acSTLgD(ES>*)Oil~Dg%LY#@O;Lmnt+a*1FEh~!`>R z`FYeVIzEJn_I`Z%bu?^Seo8CHM1OR&EIX3FZtpTLi8+yov4ghKNct++9J!NR%o3UBbuz3!veT<^W{qv`1@3W|zW+<5KP>G*e@)17|p zHO>XA)~s52@2XgS~I)48ZVcEl&2-lt)|GM{yeE!$vt)25kKHGES zU-v$d&;Po-wR8UeHJ_R8|1A&8^M6ZPCeksH0~0wgkpmMs@V_euI4;*I;=3NF>vy}K ze*d6umMzQ^;RW(=oKKYAjD9{azY~dvreS)bqho%c_-MW->M}m*{DbF2d5}(WkbnJ# z-?-Auv(_1lLf<+ZGDGH~!`}*HB*WK_O!$X+i?Js3`r#j#KQL<#zYzAvS`Yl&ZM|A`tKXJS+k6m&~t+Rp2I!xXFWa@3t4o%)^YNml;Iflu8`=2T41?^ z%Xj;4s+3{48Qs1n@?;`UCS>gBIxvwZ6M3R#=h-}s%`{RBh@mb{GWG?b28t?cA!tp8b zKWpasPcf!Fbdq)U)SsBYhX2io<1GJa#z_zT9q}0*$K#H|7z8h5rF^;jrh}f#XTOp= zeDn2NADx~4;?3v2^y4RIJ$}xiH=i4Wzdr35W{eo|<`nZR^Fs3q^Exxr%r@tl#pX)$4ztqytoexfgc&rSHoswh&)jDI z%>0e{s`-ZbruirHkog{$!%aLBIWUm}6FD%E0~0wgkpurNIl!~KxF%jG3h0rY>Yd*w z@&lQX^#OjQcjjVoJs!VLy2)PY3LyTZt8*{1l&j%I>brZj#P3q>kfM)PgO2ZuVVp>Q zXc|pFmY(e}rk%aR+~jxqv;5DS_xVruKjMGFeEYN)&4B+3|0n$&<|==jzuNz(dG(a< znT`Hb|GoYfq0^fFZvV^X>nEROo&J!+U*fNYEW!CQd2Z>f8@{~22=t`z<)}PUaM*eV`aW9Nh`b^kg@65kJ?_0CS zyZAHmB*5tC9p4xE>3lg6SJV6PRIRV9SW{lMdb<#)Yh}4dzpRhkvPmi+QvE z9RCLYGv?ycJIt@3PTq#`mdl^y|EvFf)YlHP8uj%H{-2sz{siOvht9NKKlxc}=R=nm zcY)@5)bHyaT4sH)`pWo}o5lWQf2sdxXe%cp4tJydEXP=IGUC{2E=Kz)^WTp6+-u&B zxZUf2&io|eTH(J3?PoOXgT;q=$M$o}wg(#v@~6+9`X9m0=fCj!kG`8a`{q{;=FJNH za@o&EsxJA_@LiAp_5q)n^`)O5I{2dR!r9kcQQ^(6X_%ds8|uApan7ul>wmN2#?)75 zwN8Dmp!o-%3AZoFfBe6r+D~+q5`?TP6XU<}^KimvA_pdNU?K-5a$q6{{x|2q|HScM z#lK5^y88v`I=?SnT@KyqT+d$RYPfcXUYGd2%FR;r(Q44~eUUeHrm^(o|7rTL%!mI$ z`lpOgc$`ARKY!fI&)-p>=%O-8&y?pfc1@FRtvbh3^BI~e;YO}HTAl(|&l?@5~(-13l@#)T+mL z=NJ3Wj58lP-TL;FVe@@|yzveHH0ut3vT^rAE3C|uKW1I? zP`rOT>Eq9-ZntS@|2v?I@IZ$5$hwvBTv% zF+R7A**~0m_(aR^=%FY<9qLY`K-%lmwl@5%B%7lPq-cqK^UIsPgKE} zDx+n?iMZsK{yAB1YpYZ}|5S8+A9`MWtMhq99BhBGnx%ibaw{H?-_g-LzAv(8dd9M! z5FS*BO;q=9C|AR^n>8Tu)0JECg8V){%{UsHyqTu49@?qG zo*D`BwxeNJPZm_+xA@nXlVL7fI7rRrWI&AD6MztgK+4cD$y!IPDnb*1EUd^I8(Tl1#td+;*xS+3j;sM}2xn0WbR&Kv?hn1WBdC4bTx#i03P;RGk zyOpcc7@hL}{a^lr{sDi#|1JNY{eSTf`v2trqyPVK>xKVKf1m$=|39<--u3saLtTfm z{?YZ1tarNJ$@**8U$cg~hO++F^|!3IyWTdwfhGK3#X|lc8ZR2(HNJ0r$#~rOyzz+9 zjOG1LVUhoCV~_E&@rv=f@p~-s-)H>H_=WLf^oe1cvEO=s3sJ|$q>V#9ig63S|}rw5K0M^ht`LDq2f@- zd%f>D-z$Bu@jzk!)8DBIMkS1%}r*p;lqxJawEk^z;22(qX&B>hK+tBXw(>6jZH>ryfeNxz9YWW z;dJymIvk}ZIZx_6spF*5NzO^VlR74KTD8`Y)orC)$yS9`WOc^X#tp@F$EC+5$5q4? z#Z`a4`jP4{RX<++RCPmjb9H<5SF4|?{zmn4)!(iDe)SKlU#$Ld^-rsRR{e|WUsk_V z{p;%AR=-^RO7-sQJ=J@w_f@}M{d>nB9Dj8DAIAa5e>&cD^f~$+Z#fP+1{{NqKRN#F z_={s``;hmq+yCl)d;8nozit1U_t5r3-oJ1EyZ4>#?|A>Q{U6@pjl&0qr@veF?#6cy zygU89viCN=ci_G0|1A6G#(y68=k$@Xk-*57kzFH)My9<#^ZiBdSH2&3f6M#3-aqvI zw8JwGFFIU#c*Eh=!h|Ba?Z%vBPkljh(??DlITaOcYUb2!Q!=M)J0%b4`2CJnM~NfVu|KXgZcSW%+>E%SxIt^Dwb|NWt+Dd08CH@t zXznyOn;Wnvrp#Pqdd->UbaR^NFb^3Aj9tcdV~erT2pH9XI_-D<-c{W_li%C+l8 zBikV3`L8<)-FW`xWk(KgJpZzFM^4{({uQh4v8878>v;YvZ$EN){Ky4rv7WA=e6nAUUyac$F54h-kE;=C(_gL|8l3KFph;qx{bxPqgfbN-&=lf z<+{q1w-{I7zV^PW%U9l8Zd_gVz}kBsxJ$Z~>!c6jbnoiB*G7G;fZw`RYgUp#y;ZEK zG_GE~b~XN1u3C@3x8VbRcbBcKTxndrs(i(5>sH>iY6Y85_zSqwn}jP?u3NYA0ZFLe z>C2G7N5pF7U8`?JOzsAMNqEb>_ZnBA`u=q77M>(Ab^LWW+GW$@-R$~X-_Ney zE=ex(i)qmDS75`17s55YzAs+8`o4G_zNXjd&r|en#ZccruU&m#J?WX(vGj`pW1jF_ z2tMWN{&wx^aHMaf-1T=6UhMR-_gvTVQUTi&ZS66PrSP-UC#UnvFtl51o+ZBZpIG{p z@UYW&Tq9$wU3nX*rXC&t+ZDae|1L$Z-M8G)Ax3{0#@#XWn=8{qVA>sw>0Wia(J}gL z41KUq(rb77A9Tzlg)To$|EQvmQ;hvD@n#Rh@V|7WaCeEnkw3BVe;i)CnOWDbVs+nb z@lHwajF5^q9lmy(0i_Jl^y~F~xr$!nX*T*>yU)Ob<)`WWir%m2{kmc*2AWRu`yO71 zqUjBF54Q1&jDMEOKArEHUgyI$(AvY#+AZ@hYqzBDimAVvUb{bzp*Qrsvb~bNoE60O z=x{aY7kD8r9slxq@?P8Wc`_c!pGwrI!qwqw;7+_S{^=T^TuuK-44k-p?5+-5`pCb3 OR^jiq18sB~{C@#;XTH$@ literal 0 HcmV?d00001 diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..383f1d2 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.16) + +project(PassengerStatistics) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +option(CROSS_BUILD "build for embeded product." ON) + +if(CROSS_BUILD) + set(Libraries_ROOT /opt/aarch64-v01c01-linux-gnu-gcc/lib) + set(OPENSSL_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/openssl) + set(OPENSSL_LIBRARY_DIRS ${OPENSSL_ROOT_DIR}/libs) +else() + set(Libraries_ROOT /opt/Libraries) +endif() +set(OPENSSL_INCLUDE_DIR ${OPENSSL_ROOT_DIR}/include) +set(OPENSSL_LIBRARIES ssl crypto) + +set(BOOST_ROOT ${Libraries_ROOT}/boost_1_84_0) +set(Boost_INCLUDE_DIR ${BOOST_ROOT}/include) +option(Boost_USE_STATIC_LIBS OFF) +find_package(Boost REQUIRED COMPONENTS log serialization) + +add_subdirectory(Main) +add_subdirectory(Tools) + +include(FetchContent) + +FetchContent_Declare(Kylin + GIT_REPOSITORY https://gitea.amass.fun/amass/Kylin.git +) +FetchContent_MakeAvailable(Kylin) \ No newline at end of file diff --git a/Main/CMakeLists.txt b/Main/CMakeLists.txt new file mode 100644 index 0000000..d40dffb --- /dev/null +++ b/Main/CMakeLists.txt @@ -0,0 +1,5 @@ +add_executable(PassengerStatistics main.cpp) + +target_link_libraries(PassengerStatistics + PRIVATE Universal +) \ No newline at end of file diff --git a/Main/main.cpp b/Main/main.cpp new file mode 100644 index 0000000..8b81a14 --- /dev/null +++ b/Main/main.cpp @@ -0,0 +1,7 @@ +#include "BoostLog.h" + +int main(int argc, char const *argv[]) +{ + LOG(info)<<"app start..."; + return 0; +} diff --git a/Tools/CMakeLists.txt b/Tools/CMakeLists.txt new file mode 100644 index 0000000..7b881a3 --- /dev/null +++ b/Tools/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(VideoRecoder) \ No newline at end of file diff --git a/Tools/VideoRecoder/CMakeLists.txt b/Tools/VideoRecoder/CMakeLists.txt new file mode 100644 index 0000000..b123d91 --- /dev/null +++ b/Tools/VideoRecoder/CMakeLists.txt @@ -0,0 +1,5 @@ +add_executable(VideoRecoder main.cpp) + +target_link_libraries(VideoRecoder + PRIVATE Universal +) \ No newline at end of file diff --git a/Tools/VideoRecoder/main.cpp b/Tools/VideoRecoder/main.cpp new file mode 100644 index 0000000..7f172a9 --- /dev/null +++ b/Tools/VideoRecoder/main.cpp @@ -0,0 +1,6 @@ +#include "BoostLog.h" + +int main(int argc, char const *argv[]) { + LOG(info) << "app start..."; + return 0; +} diff --git a/resources/build.sh b/resources/build.sh new file mode 100755 index 0000000..f4e00ad --- /dev/null +++ b/resources/build.sh @@ -0,0 +1,123 @@ +#!/bin/bash +cross_compile=true +TARGET_IP="192.168.8.115" +TARGET_PATH="/data/sdcard/PassengerStatistics" +base_path=$(pwd) +libraries_root="/opt/Libraries" +if [[ $base_path == /home/* ]]; then + build_path=${base_path}/build +else + build_path=/tmp/build +fi +echo "build directory: $build_path" + +function cmake_scan() { + if [ $cross_compile = true ]; then + toolchain_file=-DCMAKE_TOOLCHAIN_FILE=resources/toolchain.cmake + else + toolchain_file="-DCROSS_BUILD=OFF" + fi + if [ ! -d ${build_path} ]; then + mkdir ${build_path} + fi + cmake \ + -G Ninja \ + -S ${base_path} \ + -B ${build_path} \ + $toolchain_file \ + -DCMAKE_BUILD_TYPE=Debug +} + +function build() { + if [ ! -f "${build_path}/CMakeCache.txt" ]; then + cmake_scan + fi + if [ $? -ne 0 ]; then + exit 1 + fi + cmake \ + --build ${build_path} \ + --target all + if [ $? -ne 0 ]; then + exit 1 + fi + + if [ $cross_compile = true ]; then + deploy + fi +} + +function init() { + if [ -n "$1" ]; then + TARGET_IP=$1 + fi + echo "deploy libs to target $TARGET_IP..." + BOOST_LIBDIR=/opt/aarch64-v01c01-linux-gnu-gcc/lib/boost_1_84_0/lib + chmod 600 resources/ssh_host_rsa_key_ok + ssh -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} "mount -o remount rw /;mount -o remount rw /system/" + echo "put ${base_path}/resources/authorized_keys /system/.ssh" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + echo "put /opt/aarch64-v01c01-linux-gnu-gcc/lib/gdb-10.2/bin/gdbserver /system/bin" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_date_time* /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_regex* /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_log_setup.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_log.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_chrono.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_filesystem.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_atomic.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_container.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_thread.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_url.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_json.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + # echo "put ${BOOST_LIBDIR}/libboost_program_options.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + + ssh -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} "echo 'mount -o remount rw /' >> /etc/profile" + ssh -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} "echo 'mount -o remount rw /system/' >> /etc/profile" + ssh -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} "echo 'export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/system/lib' >> /etc/profile" +} + +function deploy() { + if [ -n "$1" ]; then + TARGET_IP=$1 + fi + echo "deploy to target $TARGET_IP, path: ${TARGET_PATH} ..." + echo "put ${build_path}/Main/PassengerStatistics ${TARGET_PATH}" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + echo "put ${build_path}/Tools/VideoRecoder/VideoRecoder ${TARGET_PATH}" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} + + ssh -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} "sync" + +} + +function clean() { + if [ -d ${build_path} ]; then + rm -fr ${build_path} + fi +} + +function main() { + local cmd=$1 + shift 1 + case $cmd in + build) + build + ;; + scan) + cmake_scan + ;; + clean) + clean + ;; + deploy) + deploy $@ + ;; + init) + init $@ + ;; + *) + build + ;; + esac +} + +main $@ + + diff --git a/resources/ssh_host_rsa_key_ok b/resources/ssh_host_rsa_key_ok new file mode 100644 index 0000000..82f5eb9 --- /dev/null +++ b/resources/ssh_host_rsa_key_ok @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAnqnYt7KJAQ5bhO/MgyWUg6QV5ICWbQX/cqzxpKKPyQQuJbUz +ML2lKPz5ogsv+pn7Hgh+SvCSN6iF/9Rtr5fD5I8COZxLlWbC3fz6J+2hPtvjCvdI +sMe0PvKxUa7vsujnUzkwpBjRcHG/gBF0P6UWvZBVbtn6jwP9ufYcAI7jYMI3YBk5 +PNOowdcAoRiwTe2KnJzQNj2ztUE6VFgo3U5gyoGKfxNDi8P2aMWW3xARLJHh3hbR +Ztmwz8eDWD9L2c6fn61t9yqpyCRepE33+yC7m1Jdgxx+FWQBBfExwJaSBbWXyT1f +13v4ElSJXk4zWkeB1ddv76MZqDM9kRLJB/1WcQIDAQABAoIBAArexBRBzRUfcLG4 +5CAQEQ67zSwsiyHJCWlH4/5NjOBOwwKeWXV7aLdYLZomfhEDP6sdFdn4hWv+xb9z +RFiFY0xjZ9melacUtUEUNedKZoOx+OolavuBkx3E7tUT0SRGxKJ1BpoXgTHc+SvD +Bl3d56LxIolHsdzefyGgdOas43Mbf6RHbAnXA65VyYf/k7fY4GkrO8/hKTXos32R +fNV0OD8qq8+KTwgnYXBKrjbie6N5XmOS9IcLFNC8F+0PC5NO+xzOk1McnmMux7t9 +EwUj8/VXAYZPFRkEZdhmdzMgs9dpT9n+L13XppJLAAGEvFySFOGjEz2HWT7Hf5qB +z/ct9ukCgYEAzjV7V82ueeUTqMM8Hm6RV8MwpJxVwUABOQ934DuBO/p8oMqy9qlA +V02oJVnA5gMhCKKSr3dZa4+JG3BubrOh9tGEcw4pXIYEAAB6qWxsyHhNPcTrjYNS +mF5TFKgfY9uJ4p2b+YKYAuwyucdQf7kNQTEz/eYHOkardfGF00dlAo8CgYEAxPlo +nCUxaWW+rPI1wiP5F0BMhxrR4H592BajQQ1i/3IBUny43rRO2Sqd0E4xQzmTaGbi +qJtBGvS0DGMHOHfJ/5ha6xPiUFk1TJuRtb5P/uwdtJe6YZHeYz/yEDu07hKdUySs +J7oXlxORxcDphmYiVlM5ARy7h3SlLZEaGocglv8CgYAJWE8gqYeQqpr7eO2Oi4A2 +s/fOXe9c9KOZjGPoW4n9x9pCBy2ZFA6AZlqKZsjhI58pnwR6wzPgNf8GqU+34Jgk +cVZJSIkDUmd4AI2OhAViCGGnvPbX0O27TfsB4qSZh+d1x6K76fktmLqrxKaXQzGg +lLRAe140e+NlUu63pnKjbQKBgB6A1S9hHx7IT9fuhl6zPW7ZWUCO6bOPQyPElbGM +Rily2TuR7vsmBxPgYqIQidZ0Qxym2jDsIg/vlzZX25VmD5USXfoLkT+KIRPk/5Ka +jz7WB9+go49ajIroKy9SX7mCjnSCuFpKmj6eHDP4pPFYPbcKmkhOz8exS6cb0mQL +SwO3AoGAYhzb7EHOTDfhtJQ0d49/8jUXprrGdExs2u88Gv8WjLsLaMm9hmNzY13M +i2wkM1ZOZag1XwvznVdLoM7lt62evtnocnEIysiiNaryoPFw/NCndNNG6mealVut +1Xr3rUQS9HOYeIYW5IFUfCv7aMFnEqd6AWdvWJ69uMIt7Wgp5yo= +-----END RSA PRIVATE KEY----- diff --git a/resources/toolchain.cmake b/resources/toolchain.cmake new file mode 100644 index 0000000..2078c0b --- /dev/null +++ b/resources/toolchain.cmake @@ -0,0 +1,20 @@ +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR arm) + +# which compilers to use for C and C++ +set(CMAKE_C_COMPILER aarch64-v01c01-linux-gnu-gcc) +set(CMAKE_CXX_COMPILER aarch64-v01c01-linux-gnu-g++) + +# where is the target environment located +# set(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc +# /home/alex/mingw-install) + +# adjust the default behavior of the FIND_XXX() commands: +# search programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + +# search headers and libraries in the target environment +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +# set(BOOST_ROOT /opt/toolchains/Libraries/boost_1_83_0) \ No newline at end of file

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�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

+p1l&*A9?c%S$o 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�=Zd13bTmbI*t!+<6Vp zi7B?9U&Hh3fv@M+^PIS1`}y@ezma^n#1rnkk>|uO+s|+0`In8iA0j8^&M)zt*kk+o zmyD5h^lz!t*Wxx@Ek_+qhwwk{&o}HBJA=mC4rkM$Y`wp4!;hzs zH@Ru{4d-v7oI!tFGp7{Q78s%BvvZ2>92h-|+%>bdXi7lOvWxE2*>K=%m%Aobj-0&e zgI(_WSUK`mH-W!h?#5U-@)&o5yAycJ1dBYsoP9o7=NUD9*%&EaN6#_owOxE|N({EK zf28fReV@@Yah{o7TO@e0)ieW>yuqP6osQE@A6%IHdGBgJy)gMH^0GQ+E+|?$`-URX z#7}R@I1cH_XEmlynjTUXpVK)_Kz9&ItQn-z?iIY|60J9{FnB)H@3e= z-H{i{4(t3)-nl)SXGfL|`tSnh;yB=~a>m`q`2R~^|CX*j9ra_2SH6!97B3 zfN~uQel5J%$k@p?`t0Y-yO(Z4FK}+re(3|`eE*UAHw?J5AH3tflmFz{oxQQAF}VgE z!FiXTJY?&NoNFliNiDw(@DG`tJOzExd8~NkLtJIAYDZ_(^4kENjyyyt4a zM|afn+kl*OG7hJpKRQqIo~!*H9Rlx1Zjc^P{%iC|=NaB}wcn#lYWZzI9y=L}Q_v@! z@9>_h{T`iC%Ws2Zm~lA;z0&ys@44FV(Ji(7HlSaQFeayx(`M7`DMgM{ zJRSh?ZICp5Cl^@^1n3J>gO!0Q()SIGE*R(83pSh+mL5A?C&aaO9` zF1pQcKcn5eSh+0lgHCq2!dN-@EZRH-ey*Yahr4%=kLoJ-|JTeU;Sw4kfg}VZlRz(| z+6x58*b9@;n?b7uY(4GyHj{*VDlMh9wa{iKL0g-uCj}3lwqG+zT5U!>UJ5Elj|@#dl%p|l}@kVbX6q?`rv-aL$pw#2*_xtbn$9~P8XRp2X+Ru8P&-1KjJ!@^# zQLpw*qJ7Z1*ECiIF44Qqs4AU6``}TWcZ=~}k{Kt@EIm6;x%)de1mWi%_{p#3XApjJ zbfSAvySF>nf5!D3?|Kf`IXd~StN7C}mh1bt&ab_HEY~?Y(dDS*DUa*_$#s71^*pX~ zbV~mvPx)N$<2t|gdOp`VI>C&n3V_;YJnpjl}SSY#D^O9g!H@tVi!Up)SHij*Ya$un?$9p-#G|IJth3Y5q zBK6v^?Oz8hRR3E3Sz4^BUUExc?mEhSS4JZ-Y|`KAQ(@$r9KyF*zhm!u58qz+^TtPq zz!<(2&@tH*T3kzoN-U{0WN>uZwYh7N)lVYN zjp6HZZ$s{z(2bh#!rV3J&}#H-Q@AE~8JODuu4a{AmAediYy?9Om2r;jt^zNg)j4v$ z5^Q`@=jg-=aB!2(r9)ueGM%Gql838wj$Y2xFZ!Db)(zI9YlV zhS*U9bRoY{_t+u?Xt_YpS4z;Sz5?#xvb1Ik(&bCrl za=Kfm`#kC_1yjJ-Hp=fVckgrSq%AYR4Di)H@4PdfcfMw}~A>DwD&FcYla z(SjbVXS~>oE^H4nhCxr-(1%Uv!xN!`_8RcwL3F}FCyp^5lJ0ySop=OYn2PR6f7;Q7 zhtYw<=+Ebn|A&x!6TUW=@2f{1L?`0Nw1W<8LRTD}qXTW|P)z6OKr6Zx)j2wVy|Ma$ zZL_+7PZ3f3KZi|~jVmzS2aM@nTxOE5?POfC3cul*cdqIK2P;;FOs>8k@izQQ;rAZm z+m8d*P81}D`R2?Fa6|7M<6AB~cgJOe!y|>;~@26)y$JpiL0ki$@>F3gB(<}d4 z&(ZTV#x7_4tLH4|Tf}kruV?9dN&)%|y_ncvdw127_$hX*xoBQh7@ZDCSJ3H!+E^9e za;t4w6t3DSUj>~Gpp(++munli#yZADM%7O2vV%^CxNjFa zt@{}7*S6_C?06iV4uT!h>6dGTA=$O9i^{5YV)v8iw5=1JKCMptgcLGl>qMtds}sM% zaLv|&NA3A;7`{9?z=<^`&w+o%teQrB>KYViJ!hIe( zecJQz$K&XIe0K&wuG>p~=eKguY52qzjpPARYLOrvsAz zcI5wIO#Aj=QM+O|^1GwNZ^pp)aMQ8NTY||eh}*1ng3cBF$hRL$Fvxa) zs4&sRx0^KX`^?(mt*v>{-tN2w=t2SQspgy3H6!@w?;m2&3*{4(HQiIy3ZE?hdB=n3 zf+5CK))cF9;Gz5=@j&0^ilU42L$nVbr#S32aN?lkpLjwF{6e4@bwvl?T4eY2Y;fx!@~&7yihgh5uyp$KAhI4Oc8~%e zTR1EoTsw%Ir-&b-O6VMxj(_n5Po8`^lI%>P zU*vN?jc%mCF!i6`XG{OM@liiEp>M^>FLq;+ff2d7d0h0-A#9bt<@+DUhqwOsXtRy6 ze+T2R{awLeJNx+TTfkUQWB%vC9*s%ry_g`j`J{XTjky$GtcRzL$JZEqt-~jXfe{Wo zt@rpU|EmsvAdZ|m@U-6Jt9-ONe1R0$;K0**kFWCM>hJ@?qQldAkFPQKT89rHpWK0` z^&Vei@KwHd7yNMGseEejF9u)Tm|B7LyQK$d#td(u3yc?${Yi=PaSPrRU-NnC^Y(1I z0Z*#niTfOMq7I)mj_hmf9Lw?O=!E>d6moBQH5OiR*tVe)^79PWoIKjhVd?0Ed_2X} zoP6jUmX1zX{|?!A3ZZjYIyzB@Z&W%KJfEFGPYUuQ%|AL>1wkk4!T51mlIssC(w zukWgn!Do;;Ki;L-l(4Lq{uYLP91MF4*^wN+0Zu9QE%`bZ-@=c3A7|_*KWG~Gwmtue z$8Ir`_eIQ9#z0dO4r8Ax#z(KXkLumU^}0{;tuAP?$tnD?TlnwBz^B=A zhrq@G`cBVMJ!iu%cU_1Zb1>-1$qnxL$qjD2Uhlvd#Olv#A6xYWi2(GhrhsOZ|>p|(JW+D$u&6HZASD$3~{yiI+hG20Z| zH!2$gGrEZpws6#8i{e+B4$UXvw(c_z-Fkc$GUH&AQlUAC{;Aj|GZ}12UQvH7-@=<# zzE-gYm5*buS~yluAg-8`ydqud+Oc?!b48LioN1rlw%>$z`&I8#0`I0~Ddt~t#6dsY z?;;i?wu5EsIbI&|EsGOh0Ppr7-;xd4HrcgQTQ#vL=|NEYtwmA~R!3UVVcyHq>N$sZ zkyJZ$^tXj`m96JIjvlAJ2p#=x;oQ0ZQ=yxE+i8zoJ$rY7m|nH6HlwJiQ0Ifuqj@{ zywA1B7xdUQ>^DQ4(9*Agz6gB%Gv#Y3PkhkQYoUJ>*%JMF=)?sr{d(w2uph+P>K8*N z9%$){q2EOPe5>Hfnq!Mtp{7sLFOqY?K{M8E10w3UTl6at6e^@{NaA)Ct{)_ zO9oma*pU{7L4PV3Xm1XMjx@}^`gqisvHkNqOX`eSlT@4qOcFkIS^v3wZF;J6MGQQO zuQ_(P!*2?|yR;bWEn!SMCwel)yocsT8PA;@#=qqHQWJ6x2=lY?iL*2Zuu8F)>{=U( zWgciZSU7NPpd+VgSyeXk0q*r2uFtI6sq6Sm1B-Nhc~us31E;Q^Th*!S_)Y^K_3me$ z;MDb*RSQh^k>{~x{YwHJS==9D&Y;FVKa2X$<$CDI^Y~2tH>rJ%Rawj*xYyOb8C=gg z@;ts%`j$XPkoJYSS9%(wZT}no`Zzk-1l#9u%o`fs`Wa-%$JMU|U3{QlEUtF1(O3ff z$YBh|VV{%3HL$gN&9W-|P>ZoWW4&u*xdy&AWwm_tt|FJx-gR{%V z>pC%u{AlE>94ZsbH<6bg3`7Rn1CjnO1|qQn?k~g#gDwnyl5_j~LjDVPi*%jmm(Vs2 zd#!|P;BdoKu5m65?%}Z4rgIGpZYYgL9t3+^`EST|e`Pamx{d$+;Ii_%W9LyHSloC%_|JJ8`21B4#SEE$j`V}ajTdr_^R|m< zBZs~3BJKl=8!x6Ev$@WH<=h|oS|HNH|AyHn^2*l(k%l?6k#k}9lN|OP=FzTi(Z>0- z>zP2r;lD6kSl+|0E%QO@2g4gKi$*?kC3Wy$Yfuh-pZDZ{>`D_E_#t&H;5|9--x-L^ zK?a@~WZdfcMT))ozL>#Y&*i!uBQw76F~;?0{9Fpdx31sq%P7V#U*;AtD2YzphcDBB z4^U&K9tk7kX`ZJs?hDv`+5bcMD+6FiHa?d1Z}4^Wf4DiP_YLqzborm|Sb4G?ldGJ3 zRmRKsKa&zW)(mgWtj8Z$2k|-Fvi?}RF!8UHJ*!`u;j@%*-&A;T03P`IARu!Vzo$=a|Wq@kWyBI2h)=c=OKbyM2AGf7#Gx2X zlK7?O6qp<3dV_bpoa^OPiq*(o+WU!9zUzKsHc8@`c20s=WefMW*tU81D_)7dYd)i% zcx5ZGzE<158Pq?cN--S8GgW^h{A{It?sczy*xDqvR`)ZfMg5Il{oeh=bfh1){lqTc z)qY|-N$jkxpZMjw>Ll0@gSwew`U>IQ@Ie?mR^t8J3QmDaXQT!#C?4WI*!l%QAbVSy^5^ z`RuYReDme&OgZjChFd*3Zb616%f1|UA;ZX*mE#sLMcxyp&3LEdDS+%n~qL1vNZC^`{a zw5+NDnf^@evWzk_DKpc`br`*{^&r=0tq0jQ=!WW9j%>HudVHRH^&sCVVD zd=#Cq&qC(U`Yhx=j9%DhA@^r}7P4>94LwV;zsdH6-(Ox|Apa>aQ2nkxKeNB*m{9Hl zY~tJ4@4LL;@{?lZ&H@$nQg9(Je7;(#?8HPh+J6Dcg@<7(~iW&EhD!4N%zoKpWs3qTK zpP1EIV=8)XEn4!euf+P+WlgN;`O3<^fBo^QzB{reRP_A#_P)<^-|bm^>)?Ox>3f9o zYqRny+9=;n`A=q@Q_)8Gr*ECGqPd9EU z_{Q|oCEKqYzhoVLa0lmGIR8>$az$luQpKn6n^#%?cS`;p__}<dd0TKraX z!Ou$W#7Dg;{9?&!e99mY8(*!gX+za~Gk@%{ zpsASObXk=!sMJh55~nXyd`tH6;e~wzsa z*jST47@Ah`LdAwh6zzQ_XyzW;n(d7vPsMuUYd&4Yw@Et`+ezVXYb>5z6REmt z%hkOR=*tRCZ)b4Ikuosyw6@KN4*C9w>ec(YW7Gm`f1jjYy_?owrl@BVxO<5DpQUcq zn??P8-O9&%m3Q~oWuDEy@qL@O_|~|58~HTKP4V*z70Wx7TNq@%G%F#WCW@_Di7u@N zL!;!S(BJ#llb51>-VS2}HhFm|oy5jh=bNSfLfrKYe3=NojQov{ho&$l_wz8OCX)Dc zD?LAkJw%sYw`lz!x;i*IVD>%){tx5BXwG5bqLt8B4mKLIx2^X4LFMsm!H1FmqWqkC z{Fh_FDeX@v=i?mtFQ-4Fo;J&W!B48%MBH5SO7dR}7+jCpi=#ut#!vI5_rhHL%!6P?7-W8iT&wxbbTUx6)guaOH? z1b%|UUEJ3Ip6fohPVOU~F8uA`Ir39h=(*H6pyv@&mk(m=gjc84>E%k;I>GJJ>O3EO z1dDB*;Pq*BUda1_!M09t`m{PP=Ka84TPOH@TAg!vKlIer2`-;jC-WqZ^+jD@L_Uee zk^R`s&dYc|`Vsq1uEcuY+vR@&bEoKmC;RtWPf+Y?!cn^T33Kd+C?G%4vVn zL?a*K`YViibnQXvc`D27S6vlmRQrY0HRjW+2XD)c4qZrHte4)a`esaAxOdhn$z<-{ zQC_`QQATvWl|lVkdk-3OB!Fx-j!XV`4M%9S>Gk#U!{m*JGTz~8&VNe&g7(#0MjMv% z{PTJC43phHi|01d{+X+m4=(4~hdIyw^zy;B341oroOqRe9{U;X6<@AhwW4Y@WwQCz z^`G)C+FR#qdasdp%C_(HN&8OAd53fMs$SKlciLp%$*uot%81VX_&g_j@4+ndoiy`K z%XyzodM~~|kTuElHiAiYX55io#KZNDCpUQCM`k?rI%6ndYw%L%z?%hzJmNqifbRCJ z9Nv1@3q`&4HH!ah3>dKUHO&v?^yY+59AJKKC{__2D&sk^!sHc(-*OY(9Lve;rT-qT z$%^hBleKHJ86CcU0%M;Uf#~L|vYy|J?mT=c{BO*v*~|Kd&FnkzaIFdLeJX3=-j!L; zZeGQEe3;|2ywin&QG4^bHktpG{GV<{@6Dr+&oN{7UTntfjTJgqET2BA_k4KLm_NFA zA=lZ%aPO*;F})WcL+1r@_BNb1wwJib-g9~8Z5QSCmP23DV1|}`VO;NuwPxs3i^uog zdCi302Oc&>e)T<$i5#OiMstken9jkR@8W!p91e}8vpDqq>xuX_jo6}P z#L|`%Gh0DS>`vlecM;oqfEdbffJZ?ys+D3pu$!U?fs`*yzX>eRRjA9HsHhb9IdNb zsQRyD4xMlR?F{4{Y0-TDInhTMYi^J6et$jssXp=Gk4OJcpZIX(=*Rn(!-qc{{Yc+3 zc=77dtNR+^$DfaWvabQ2{ORcOz7_CF`;6*)(b~fX9jt9+U0V%nLC239Uz=o)k5#5X$C*B1PJH_4IT{x-)***gbN$a+c?`2w2>c)VIQN7( z%GjS=a-tl|A`W5zJ7ToqFj)QP&^hRHF!4jq8<3Yh^tp{I($}R~*b!{#?rd@`kt0i| z-%CehC$OKp$3RE6EFBpr9fu!}?c9A1bmYy_kq704hee+V9T~KAWJ5XRG3@E?$Xza^7RuPvyz( zIoG4pFQw$i$FZFa^yQve9-Y1_C6_*h-E2Sx_I$vj(|4ulY*=(;V$Y=>o&HpgehgbG zo!K+jqtnNXg>BBk?g%kZf z9)AwsO#5}b2DS)S20m52gYQBQ%?O&xFJzl-vLlD8XS82U%&HL?`j2e0zmZr~tErAW zJ0*JD=2@9QL~*N7mYJJw33Q|afsU!PVb7m7zE;gU3E#gEz!wYT?@Mxj%?aj4LU|Q+ z-du_152DO}q$h&wK7eZOI_;GFNHpr`pGA%LDo`pJ^Ebe5$Y#zs0KMpMLc>0`W4hq z&PEiR>%YRIUlE9O&=>SWzWOcf{hr+Lefy0E6Wqfo;I%Fzu3Yu*Lj2&AS zmbI55qsNr1hK$B0MXL@GQyrl0g;D89$i`=4}m{FO>9fD!`udF^jAf1vRVW5>NQ)?Gze zkI*vS&2Nvf=Bkw#~HJ&EL@& ze46E{>W$6NnnZKNnGxt<4(fOs*>HGH8}~Pa%)ami*BoaoNu7M(gSlF*H`DqvLpx+Q zHLt6F*=d6Ae65L|9AFGgKe_X;A#<{2M)YKOTKFPohC3%4SBx#pTvels%Zdroj!5ea zS4U_|WSAJ5>{4tduAa?$|#phxm>SYF6D^JI?8<;7mc)jG^5;j z%8mERji(%Q4mKBV0_B!ulq;ZIfmg18a*EF?H*ON;ZptWEM7bibToL7n(Q19EQ%t#A zGRjS*+*GgJRLU_IAv|}cQLZkdTq)&By>g|LBUZbMybd| zQ`R0P<}<*5JzH42jIpIK_7L@MB7PJCTN}^7*=lgM%)?n>YRjFcFg9~euB8=>4F)=d z`(uz3;Y{jw@Qde_p1Anv=fEjl-w4ia1#eQ9nIVUJglDNy*Y<7>U9x|W{jiUNpUS}$ zHl9yC?)uhA9_|*}wNS!Zi@jRkFjkm5jrGs&`mob*H!l-+r&-)pdxW)Vp7jL3VC()A z?@!*;#5Cfog(MLtb%chO%*0u)PCkc;^1kR_#L?<WuZ^@zLPkyv7k1NQ9@4P#(<1%PfxcowDlRH1R6+ zFFwgc^|9nFHP-Db$(!bNWj7^j4r|zCF9X=iRx5A8y^hwgVK<+~UZ&}zex4a-9A8F^ z=4Rd_jl9Wr2C!-HFIRdJ#%^w)eG!gjv=v#1v)7zN@F=e5aQ&JL zImq$KfU%v7#bV%5IG1u`DOc;&GuA5uzIHM$i{ev;$5SScGS_=$^1L!&Yp2F&_?O`V z%H&gKu~#PFD+8`}GF~(In&1ohFqFB`D^uu|0aH8Cixlfb!&50!LYbSrG9_La@U)Y0 zT=K7!AwQ;dI%RJ4%1rmlfTf*`>6F)(sRw7%fdIL1l9~1J@)X9N%IQ^JfaVBB>)Df#0<@p6^_t{*gY*XO}Heo^BWR#h=qY zxxvk2UJ^3f;@GdQ-Av1hg%wyYW7I!Rt`ayI4e%qT}3r+c^xhuVLR|X>UJ^YgW z%3PBm{1SEvo3!tU?@f~2;b>%LGz0Q1~FiyEngW#F)s|(B$etjSO+BMq6uVdJ_ zGx5vEB_EG=ldpL!$k^24RiVY50sJ*#oAN= zR=A^ffE}!daQ&*?UXE@YzbeVO@^^(j@}Wux&C%}*cc3Y6mmIG(Nyc)m;Eu3H*i$yG zd@a7z+Ac6BNq(*{M0zfN!p9sxZs7W~F7C_$ce=qH=M3DD&n(=Lzq|*`$&5?1oCR~P zhG)GQm{ZMvVUG5XQ5%FcJ`M`|GTU%FSU*5qK>grjR=w?m@wt8Wdzp6G`w&7!?P59AOlg)B{f0GM+z?1gnHk z!W~EW1RnK(QML@2q*zlDoDw$0z#K=|1QzvxPqqwrWXph27MH*qN4NwI^?*&b3|M5# zfKS4tFk?SQm;?s(fJ?RvIAqI!O~NAs9y!7z@TUh%vSq*^TLxSb7Nx)#M_2^*^ngdU z4ESTqfJwrkB>3V8hrpd4u*jAHdu$o-NEj4nZGZy?33GbDAzKFAv1Py_<=rBi`BnV> z3CvO4S#wm1JNJxP*!yR&=gA#*oYm1qyf$UI;C z90&VfzBW$0xS4$4g8^dVW0F_&Px;vKxED*-wcj(}teCLmnYeQzyll8=J>~!8wa1Sa zD>kR&^!dslzFHs=B;Nz9@#ZW|;+Mn2TZ81$Hsh}dTcke?kG4K$b-%!!x7%Ci?+5bl zy$vrCm*zcPj0JBmbr$>cpZG=JF5}xl*DoL5s(71YG&a;)v`LBY*gR%$ovc@{;;J#? z>H6MjfO%9~Z!U9&-20I`yc}R+awj+Je)^mh@6P`y8*Of=$>JDo@=G_G-m;B>C8ZOB zy=9}{$G3We6#-)+p<-f$JV*Sm63eZNqzve=&;9q&O%Ro4DkMTv&ukKWhI_?fw*A&u!&cZhraI{*2dVY@!h`ku_C`EzD5 zp7A_6TJ=2RIr6bmp>V}Yux|y}X7D+egI|AWj()chj5-(`dqi=LwP4XN$QfG$-u(QX zJNj;Kh(>1d?SQr5#%T83-}la{zP<0n@ZrlUzQ}if`5tHORm>Z*SAT5-bB5Y)ImWxx z^BxQ7zm>J_`>eR0^g$T^Tbi_s4b`k_8>3Xnm*kN7t4 zTa3JZnQ?AIsCZF7apO8OwaJi=>X26x2r_SJiWhaV*Ma%%y?qO~7K7*7E2W%kHTGIr zRm`BTT-UuZ;uvk*Tb*&Qf8E}XEb0D+_qv}km+o(Qulv!VR_^a)kAj)6K?eRX6a6_ zdKP)9JBYtOzL0g3nX4|O1xz_SYr1LO2LQi%tNG^w?Wq1HE;4?A@=%Ut{}*`wuTrCHes=| zFx>w7t%@&d{fEm3%Y#vjRk@y?!QAGa>PQQ6XveOjoGW}EQ9hd;uiAV>caDjB4tx&X zIK~)T{W8G0+9KU>Y>XVeTgYA~IoRbw)>d&%aq;Rb-cvexE!P+uYW}=>H22t8IP^u( z@vBn!wAJIF+t@esk3z?n3X47gx{Y;1UjiNfN%Iudlc3w!HuRgI<1@t>lUEl*zr}m* zEzt3kQs_|iH0U;VP5CTkWN)sLEqrfH?Y1G znUKtp$UrD!0b=Nop)~ z`Lv?L`_y=ko(CP?+jXJvK2_k+^P$6gyDk*or;0p!A#`|e*M-9S)KrgN0v+Dlb)oP+ zRqD~FLx=ZvT`0Uy&G6{u(BZvZ7YgrF=X>B+E)?FUF7)UX(B*S#T`0UyUF^{> zf)4NPx=?tZn&Z)DLx=ZvT`0Uy&G+c@pu_vL)_=nL)MXz1gCT0etnzb+79KI;U8dEGHsoK>-G**LQk_3Z_@{|6KCp38`$sCG+#V9(Fpb`C$J4Wun;@Yh8-B8 zVF!A^{5I^s2n{NP2eEV4ViT0V*@#VekooHY^7`65dsi1K zI#P{aBwQ{g*ErKgykz&7I~_NK(di)aj?7A4Wf!sU;Ejhp;CU(e$T8MEr*kL=zKoR1 zq8#|{V|%G`l9}U4kENW4FSfqXl*_>SQu32i%sHj=DCgmgEjNyG8Q5P+u5uiIAe~P+ z4}WaA36#sQ1*POI$H zZ}MJ#$s5cs`+munPYiFn#>4E_`IRrP!^d9Xt;S@Nz+QLE=Ee@SUNqCE*P4RKf34|# zW5l1IHZo>2-Z*V5YdnVV=Odw_MfZU93l^Al&bj0#)PCCY%fMh=r(YY%v3LD=T`wQ;^O_)t-DqJvYR-|W$EhK>*AkP{g!h0d7Uw&zyp_)tl(IfxC3 zHF)#}==e~Ka+U_MH?b8SeFb!Us8}g#jp*A{eErR%S}Y`*37&)`TqM9%iqad z;~{>tOxBtx@)HOpudp)h$+7(X0enI2QGST{f@Jp<#=??)>4Nk?*Yy7t#)F55FGNE* z`#OzTXNs>U$1pndA#~nQZ<_I*^dlN_u8=RPzWBY1lLxZ-4WI+Q9}vZ_+=cA>_C7j_ zSgPjR2iPMX+4t>xG#5H^?D2l+$i8pSqvN47ubxUnNA`XDjciAnnM)6gj_mvPI$8vs z`SVx`IR+j5l`jOKk1H?ewi=$36?$$$ZvZ8fPFwKCbHde!Y?<`F4^8$&uu1 z19fSyGvcll&rtvWW>fuf&d^Al44eALn%*sTOf%JvY4l9l(Lu$Lto746+e^{@-nily>cbHlA%Liyr#Dre0>=?J&(M! zSgYZiu7Q2RTgj~EQiZok=24YXyC7uP`{*BzUv)wBz7%_9>@;Q#Hf3ov11rN|Wj#KI z@;T&J=(%b9Ld_-UnWy_GRqaJL`#y@wdH&-63m--AC?AD*f5#z<|89LF?}|R^U4!^8 z3rBD}WXEq|^tI9YGNBP)M){(ON%(j!zda15*IVBvP#g1n8|8~uXW+Xn2gcW1Ux#v@ zucLg?>I}TM<-q)U>-$j7^L>;rTAhLawj4H~-ugn6^L!!YXjNy}16vN8P;Y%B%6Yz# z=2fdR?1L?bji|T266HK!N%{ZP8TP`K!)DZ5--&Xb@8p1^)fx7~mcxeBTVIND4fr(p zQc>nut26A0Er(61x4sqSJm1PN&sv>fUu-#SOuhBBDChZFN#;?jGwh8mhs~+Cz8B>@ z-^*bxwK~K8*mBsQdh3f(&hy2h%%@go*dtpGn^bRoGs=0snIXTUI>SEMa@eSP>#I=? zU#$gz`zwJuTZ;&0s|IYsi|26M7z_`kv_bWi&))y}9(^~BH zdCh&AlYE}oCTpS(NRD6k<^nZGqy4;PpX!Nmb${aYxk7)wuM<6fzT(v0NQ#*q<9WJo z5c}fJxn)=QV>*3Prl0R6q{-DEAa8Mq_3>G(jo03dx+i89yzoYrsnmBFUZ3DBe);@s zm_9R;ULlup#RH!m`;)A|-j~nM=~Y~C3^@BTxmCjCz^Gl9YY)g&QSyp@zS$6dU-9(= z#N7JR(^!}c`++IDgYx4!faSog8z0XZIy;_U#`%?DzBqv;Bm(#{7 zGc+&fuK(Ye7kw>Eo-TFmR~w!~ht)>4SL4~N@zLHC?S7s1R-XLHX0=7_E7-VstlGCe zC!6)KllHz$+cueky@$q+>W$O3RPMFCjQ97p27`N3_#TG2?0&GchF|tmAP%^WI zkF^J|HO;}$kt8(b4Gu5{ap!=iB&z7AQ)?ThBr5eE>{UG}_JdPfG%v2Uq}fZ(@(Lb_ zS3aN8p@rY{c_81^j_=_?k{lL|`+Z()W1sV#L38w(!p_HbvB$Y#uk+Fnd%(?(9&cn! zEcwy%v`16EZI}MLd#2{`U(eBXwL$ICv(DBI(UZZ>%ipU{3|RYI(6A3^E2p-5w&hhezM{F@yZ)X?}N@5QR}wkCmX&;&$ud*{!i$P5w&hhezN($ zvA$$J^gif}5ry0Glg+=c>SInNl7107V?+m>4uFH^cX#w9OQ8P-I%7nw+cMzZ=#%&M zA#3cz2%Rya)@>PZ?q}uD2B2wv0}Qu5GHWiA*xmGD=!_5JV7B#8|(t&jX8+Kyk5J_a2*?jrZjfI)|U zdq>~T7|*5N4n)2zJXy$Ctj1j7^HvyXu8r~y9OY`P_=-_Gu~Xu23S2acxCUSCHMJGn zBpw@G`zY7otug0KH)=2T$j&8!lV%Cm;IF+;ZN>&!UW1M1Ca%F_drj@e?ug$pa#74J zT!YW{8f|Cws^z)E+(SU^tK&NSE+cte9~ZNFfm zHEj0R5eIseXPu@)c5kzvJ*{WFh2NT%KL$RBXRs!XwH>o=8s55@J-1`%=W*unE3pwL z!0nsaYvm=*Z{}NoTEn1rz0O>Sa(&+(U$Acj_g@y8YWE*&+^~Mo9V;tGMSkHlyMM<( zXLV%xJJgeChTGFin%5YzB(vdFon{{$WyU^S89M+rg9l})kS@z|%^QZ26D<&WF>Qfyp z=(g%0r*`RIJbUV5o?AZot1SnTzuNX%@>jp&c;mHyvo_XUuc&d=W9koZy9?XY5;ObV zeqk>__^EFzrkXZ>cY!e@eW5i48eh1%ckZ0-dU*}w`{3$9=7DLm-(jX z;G6W9{9eWHwj6KnOD~ii3?+Va#;tB&8Rn?j z4`N)wzA2&X_IzyYVdD9(5UU>`4u6_N{+_if*{v|Tnk2yuuf5ac8WEG zVV8IN#XE;M=K!(!HT3Ih`nAdL*U}(!Jc*oFVpDOam$O6ckM}?xgN8``Z%Za+8t*XC&sd;M5b=& zzQ=6ex_Lyd9}`F{VePv5=1uxz9_M}z(ZOIr(?0ZzeTOREL>FFXFCpz+L9TyAid@%H zQ_%DQ<`G)aC1N}k+xdN+b?fj^jHlEe|sn$@Mz+Nj1eEy6<@~t>J;d5^VVa zt&dba;Z>>2omKJ64L)5dd08!d4=Q$F^P}sHnOAmiY_R3t@ZfMhd99f~P)1%-J$|Ed zfEMSPEotOgegb)+XU$H3w-*^c8H{8oPQ0(gCdIi)Umo7H@O zUx;UEkBWZ$%b!3?aon5Z?oZdfs&O!f<673FJ%rzRm>A$e_;UWL8H0_q>G$(lXTZL+ z#BY{9#l9-#94fbTjC+5aKG_1#Lt4{DpD_O3&Yoa%pW$7xZ9CLI-()_j?B{dZ%h2oa zrnx)eAVXU~@?d3K#+nWxbI(fl9H_gVAJ4V`&ropk5F;J1HYbCy{brhflE z;*0CzV4?17oM3Lyy_C6BW77CI>KbQ;o^sfymt)}M@Z8sd(ivF@SKh>&IxSs>ykg}*W>43&YXZ=lDG76eqCKPiJif$ zCi-J(Cvn%gruDHU!VNp7VgJ-|W{VRTWDZ|Gspg(1C6<$?>9FRoGgJP_kMj3bIptSR z(l?k?cCO#1%>7qhXRm=TQHRBojQi1r#Vybo=Tw||?UcN```@@2V-oX5-Y1ZV>KqyW z9&MaQT}htrwqH3YlN0~Nb7RbzkF?49>h7K}$#;h5YTs*NQVhLp;phgJz|W?#xI_MW zpea}LjqpL^z<)!(lR@!EbJH3JPENd!cMhM#=jR>58U5<>M`b>&erK*v`Iz5(k8+u9 z9xXl|AFdQ{#FsAa*?*e;KV$Pa{XUJN`{IrLb_nkyo2zex$i5P* zefjTqv>iXhY26-U1 z-ag8y8(ffW)`6o-OHAG1jDqNn7)J~GqWts|)XTgdx|7rN`66_N=O($f%LEp+fai~J zz0{0p`qLD%w5iPOcLKTAPgeWFQ%$9V?m4WN7S0?5Z@jcH-Yfo5>w%=bdjdL!Y$_d;AD+S|>Lh*|X0FfS zUD$W<(P8;V$a{eQ{h=`xN!q6M8m}_XaTuR4tHNyA4ebyKRj^dsG)|_x7u7Wkxy1&)d`vqdZ%D@n6|~FGyU5 z9%!w(a{OD!o9Snt#B^s)@2iiS9WT+ILq)Z{p^dz2Cvg?Z8S=efeLT9OePihH?v3X0 z^rk6~_i$cga=-5IKS&=e+8FB#IyLR|=htg0TOZSSrvck$?U4z5UG3{U!h|+57`? z`HRtJ%PWo19j~sB?)U?;bA<85;f0J5UK-w}^<;H{X-#|afu)ztFI5cIBG=+ak@x|B z400zq)|xXb^NbZ<)pMRa6j*de)mC8K?R{MMM>EHFrN{EF8`wJ#MMoF_iP>l^g`Q>dewz7n>4nP-I$3~!Sh zSX@CC)c1bB-$tzZ0hO1IQvMOj$A3AzO=W)y{Y*Vkd!#4g*Ef;%KYr^&q|G@8&TNyj z`oclA=`DCZ(MHIjd$uGC|5r9rIW(+6vGG=oQJ7BJ}f1%A;dd5>2ZYsf#A4`le&o^7T0-A}R~D*G8uY=tLRnVAo3 z?6GNM-DbYu{xEGx3jkp!oxV8huIY=> zH@hz7k!)`TouOu@&rPXU8d8=f)m)2ejXv-s`jY*)KCTp0Q@x z;P+_Dbbenp6}7)#y=?F)Q~2;tjd{4y1RnmMQ1Ic=fpMHqPq5A*@f2-fpTPusB0hW= z{%&H7F)I*C91M(Vs)u*IpPoI)=6Ucl7k=h9eHg#~8}$2IqfXgXzI%LXyp`b#t6e8I zJT>Ako%+6-zJDCVZ*liW^1mgly*)NkFE}xG67sDvLl-vBwS(9&_FD@hHyX2-@$Q*@ z<;E+1^ECP~2`sM=R>%kY1U`Yzck_#Fx4zO&(QYw(6WJVn8(Nn3j3r(kC!bF`Gj$$q z0LSprJbzX(;-bXW&@Fc1Ke>Ce>Kh62MW-fyoR6N3GL!a`;FX~M)o<0FaT;}zs+WaNjDLb_R9ry2Zm~VA$R7nC` z+woWKO|g$ub7)Fa6Y}r#=0@QJbd3d5dx9Mi>eU(m{AqYIInjo%V_5I{4?MRr$IK;` zwm1(P?#9DQ5|7glVQ{?;Kgactm77(R$ntnF&RbWbee=}Tg_h4niC5>EEp7~Hk~^lr z5A^-YlN)|xeM<3`JrL%qt=Oak7t+=@kg3iq1M9|Vd~~Z>cMd%M7wW#3Lw3)9e|KLB zH*WJC+JbLiS&6@{_k5mmQ?i`J!~z$8m20|kEj{g_kDOB)7T)P8(P?MX$fvgr^pZ+xW1 zTWMPrzgmm`k6a7Uh6SN%O>y*5dlL9{W%6RJf@>J zYHI8do#e(a;%379Fz4FSwAf6~PX;E;JCu*VfDc?h-u3f~sY`x)V|-4>e_k9w?ux;6 zw|`H4`_KKxoyLW4Fb>jq=pJm`&S2q@A^Lk+{*A{|@L4wdchH$%KdNzybg&x!ivDfr zs{7sg{SzxcvJJ22pl|G}B-y*2^LlI(`dzUAALjF5Mhwg}U}8Ai%$IL3yyy_NFkYO? zd$8Yf(<78ChPOITGS+m*mhL*a^UkCGw}&fv7W%?B(TFpBPqy@(;mQHp=7a+DDeq@?&(?D3yvHeB%k0}%DChGDTyCL55GOU zUE>?SzpkZEzDD1i%kOf2m-G7+eWSIDhi16_Biq~M^%4E^ZS~Je`Um?tvR?5k*loA} zw~gTOU8CKxtL(P=Nq8B@r?K`(JcNH5%ZiVMCi-YJXy&W_O*b=c;~Bdd1Gae2Wxx2v zwLEhtZ6T)quD)}}ls~uqryN@0zwCj&wI@69PBy&7r-~CpxLnweZVLOu^4EF3u%FoZ z(l~yV`f@sbN&LFvkmWg84>tV{o!nZ^+$4Tj>63Zu9zmW;pUYbJNSNPcfpy=wkl#<> zbC5H1HFe1D$D7TLryevrvXO)A(R|x3gVyzWb;P-^bjeeUOP(m-RnqmKa3IiR;w>f9 z%(UDm*1vCw6ADc19KLwnho@qvHbytMHb*y`%S{KkwpeQpy7^wtaASBM7~N5F=)Om9 z4r#q@N#dVx7~c96W0y@2L^qf7j*eoi8?zt37T@Y>W7=Er*PmwGcXcSx9_Rm4i_Fl@ zB?Ys-78={Tb4lT>uQ484RXF&)D7>NWebEgw2W2m#;Aa^&{HmzwsODb$#~bjsh`(NQ z--pN|?2DZGlqLp}4`>@5`I8_{vz-Nmt~i3aSL z%B}{(9BgL~K6JC0)YSOPEhV&L-8bpSIJ{SW@KcM3p)yuhU6SW++GOze%8mA}%4(;4 z(`~f7=b6*%_`Fv~HP3qLrc-si*ZuKk`kJv$J^8Vcryng0cI-qx3-PV=A1tfDPi6dH zxG0YN+{ao;M2e_RvR{+e>`JcXMNt$Z()Ern0mk&1rgzj#CG5C$wox#GU&$D*yZ1iu?#!qt3kF#8V z(r=GsA`Z_F;ZG$0I6PPFkR2mm?c1#@oW*6}&v!nqHW2US-D2!XCjFBBNynsrYG*g& zH|g)ceazK2jmNV24pW@#zV7Eh3*(c7e>Xf=_`*|H3>`n8o=W2}qB+rxH`g+uQ+VhG>^hnR64<|`NDtdAmx?OM$7vZsxz|YyI1cln0v4J_Ak$ufGmYg%9#G{r1|v zrjJ(B-f(JoZlmrab`i_C@BivP`bKlM^0_tF*g<*h=(-cw(VMtOeWB<63i?0tU-El$ z!`H06lO1*EX8d&=L2n(0;d_e#Z$6ZHQS8xS;+*n@;{3+=)i|~QpUCJxHdD|1g=ZgS zn*!LzG;$UXx%Tndxu@)7mlyMF`+)qVg7>hCzqWQ!{?5z1!y)^Qg%&$qY%NLne%7g& z>aU+Z2cF1wUX1S8F%RRWKK!6&>_9zzob-Gk+0HcWP3H4X;I;HZGX4>4?r$vLO3pf- za&7jnpI(@a4@{e~@qhGtJHMLO()n$iyK(1fiPfC%B*vV=Rw>SWm@@L~4EaEB)4y*| zBIYgM-`WiM@KX|p(ce9^3Kn5}6#f?xk%^jnIU+iv=7%FpMvM^}A%FrGK~y%cd=c-r)S^8Qm?t47|^ z>@A=pa>P=faZ&r0( zUdDa8M|QpiJO8BST(R>t_tp~wEl&jREgLjuO1s7%_`mC7$dKYE%oA>VlekHWHb?2p zVa4X)i5+Va!?wI>G&|g}W^v;8^lxkoa@PpPGA6BL&$xcuck;DMY=3_RzDTcLN0+6y z8)S1-2D*6sb?n+D$m#(0r~2MT>xTsHoiSLC?U(ND3TvyfAVc(R`#@DemDn|~OdOHSfq>5E}3FIkCuvhpd> z7CJ^M{}zA^>o%J(qD4djb|lCiMH?~^&4 z;FR3Ab|-VwXAO|rZMx@4sb`!75HJ?gUU=GkgT7<=OLLhW(KRYm$%#KaWO5^o0Pp#O|* zWlzKd@j_#*A>K#-|ATYMj1GUTL8@p}Zxrm-xF$OO6pm{Tuqj}^G@;w!7ae*?dx1;iSVC3pWT^`rX@;4SbjmTxML6Ib@HxxSuz{SjRU zONXgjKBeC41Ulj1OGcZE9uJIu@v%B`D8ap@{&T}%pq~5hJXg4Uw&&hWz41Jr%e$y< z|$JOdBi&r%bEKkeW@|#vyWxiP;c)2yB7ww$VMuj zgzc!v%uy2k*?)1z!(Co^#Zvt7a1ZyMc~1=dlAd+RmLsd`bJ@zc&0nkTEdwJm?XK|X zL2AdiWl3xI_{?qhcUs~>bR9U@HcE7;;~ERGW1Fhp5vqCa}0`%S@)-(-QOPOJVa6*qlN}u>;$M$@f8*JYQwy zead_IHf|1C4BsOLzNv0uuXOkW$WLaBr=9m+N}b9}i!xX1=QrE~jXfIXsz3WFGfW;< z61?-@YpUd*SdA~=t>}y||G%0I4~K^5>YK5|VC=i8U-P)ff2Vz1^YLRfSnx6!A>ZW{ zaNzgEC>8|3VB$lok&jt{=+Ky;nKw(A!JKS0^jQ<4JD|<|5P0)^V8Z-a{Cl z-!krF9^-(1U&3cQ6dDcxl`ofL{gema);hav`eXD6P33Pmsri-Ok$8>fD1~XlB8Pgz zockE&WV;wAywi7FC(B^eg`ddLWN$qldPy9*j zmE`Hy{3>rj=P!tcEvAo-DwdW7PBQOFpJNZWZpX6B1xm-lw8el)2l4aB_gH!mAMX)t z=RthDKk7d|-bcXf81K53Lw3dWu^GqWKe|44aiW@e;4u33Hgf@zPsxPZLay7E7=E1_ zd)4@ZSU5TG_13Q|PHaHlW^->8-5L%~X}V3e)#Cx{jmhgVmBK%AmOB&=bmQ>C+JZ!v zWEUNMiF?1tz7cbEooBi{In^hAKe|4-+dol!>G&HOgSz<)|G={{%SoS3y{GbKluI)y zF^aaPh?{?pL+$z<<>EZINPZ2x*}?y${>!J~zl%riGt|BXJV!X~sEm9Z%4kkV_FH(W ze!{lfc=~+GNNEwO3es znHO7cCSLF0gX^0Xetm8%*yYy`RUiI`@-Ou+dZ&Y&AERCR|69&|{P6R?{QMyE*PZ$J z7ER2h%Ri2o5FJ1NXrmD%U3y@b=O|D*mT)k>=OXW1?IJ2z&Yklx0-l3ea zZotD8eB}eeoW|6gj%R1tvF~Zm(6ub?(e)bab>@9PpuDhQ0G`Y|k9xr?|N3{hrndBX zJWraz`B}N<+w29n?&T2ixL59K~F=k z`DIH<@MC#9_IUJWkKPD9v@~yra?y!RR)o=E$+iLSwO?Qi-WmE{{ETaCO*uW!Tz9>_ z$DS|EIR9A2`G?(e$xL`GdBm~O4&85MXk+X()m?h|$6kvO*D0NL-D_d>JL?6Aef?9J zQ`r$-6{|8SGtu62`5mv(Hp;DfEv9n6{lw*mBAr_+-@J$8D1jz|B|$4;k5UHVAdo{Lp^yiFKvX_RrK{%d`h<}+j~UuPei z0%AssyPs~l;nY5qDRAF^UI6>6HcDspOx|HzOJMZ8 zGOKD3zZFwDew*ASTmdMwTJ?H)OtYA5EjjW0< zddF?Z!4|MXn0E(pO+6nO*oH0qCq2_#wdaahtHb&;U$5O~Yu;)mbxEJfJRkXY7X-Gv z<>`|6>El;0BY&fgIghU+R) z&|4p4gb&hV`O7{({r(evC6Q&jcPZ^CldolhP2-4Z%m53Q@r=)KG=qtMLS`Gm#IJ&h z4o8rB^&VZT`Y%s%w5;mB+;Au#xS70U;UeGXYv;Rs?dVm$blK`OdhAG#(D5X{!fO1d z`K|b^dWZV4W=DgUAL93A9Gt|*9*TpL4mcS{1{}k9k$a=>6wQmN4l{jr3>i@VX|H6M zIZNfb`eWA2cjx)rWW5E)? zZ+$-dc{xkyKm5Q0nhy^19OAFGKh+-1tIBu(9(~!hI4~=&SP!`D`*wbR>U}id9!DMr zIaeR(D9ehTEJshygEv>3(tN{z>{32<<>UvZrGCSDgzM`DpO#QHWk)en5!HDkvfVI}m^j)+1E<+Ff_G#Wp_@jQ;e6WEJ z-0$K!@i;vvOdF-&I?wDc$*1!C)mPYfn>*Jax#U@$#6iQ@hcsg*DjkyiWa3L1*Up8{ zjK!xk)yD@9!kd_ly{2pV-m*iIxBb>}Pt&5vOOXS165h|`I zHN{Ow(3j;k^Vs{fSaVee25G}EZ97C8v)q{84LeQ25oBvAvRV}ihZ4lH=9YoEZ_>WD zPn6+~I|o!IfZn9xN7;v~+FQs;)w+Qsdm0l5vUyZP8s~fUE3WIyhwqR2`2i}UvVW`0 z8-GU`y^~@?ze093K44Abc9OHuk&?t#X!6g#!>?k~8dI}gaXY>m`tsgwlT2jxubZE4 z5;sv#pvq`J&`ZNnr^IXw6-4ntgYc=2e!prOc~jqREg=W5sRiC{;`-I>yVuCkb5+~T zHI$qA65qbX*K3=(=dniiO0Q$hg68KkWkS!NF-xF0N3@0fvKLamu6@?P3$v-D*P-QwZ21Ink+6rpx^kN`fM0Dz%#A@@r zKWpusoJ8!e^UO2P^ZapMd!N16UhBKQ_w`+CeV6eTF;{#Cewp2KGs1LjAjUYIXWu~Q zNp9=H;rS{9jv6Dx!=>lUv&BiRi7o%-+KnOFeE8z-4Uc9S_D?D9XL5$~-FoKci!9HC zN{XTfHy&JheP?AjFeF)yGzMxFdw`O=`3wl*>aAru& zd}5#)PpQwMy~-V8uR}fk9YtUDe-U)Kls>Klu4?ca1uhfaz41O`;hX785$hYzpm~K zjo!U6ie65o&r$!|&7v*e7W?qRi#0=_`RE+8OnkS6wj?Xh(g(HuxDUrx>Yh!1X#egq zV!mn7y&K~zmUNOU>Gs7d#&%XcTa+xPZ!_pmHT{8xwm+MxPxWkOJ&)kAdkUyaHm{EH zV+dH_?^@~Kkl&W@(m^}b;46(iR-^dQ$CH{XE5{FL(AAeM@oE};I?Cr&m6L3#O_SJU zWdfKjug*li*U;8{zBl~Rsb4hO4&2+IPc^)L1YNlm-P#U(OL*6ypUK!iOXawBL`Id2 z9-NjO8#B*8IXFGpz_(j38MS{MzQvRDTl=h{=nK(b@76H~L;IE%f+?WMIQng9Z#Gxt z^gtos9b>=h(MLA@r|7tk_V#J5C(p)#L&;|uWykV=Hvh@5RBKqTKY=m)8hoNQ=%syv zYlgb%DL7LHC?2He<|wW$>kt zaaV@>dOQB?R|Y>T%yYFL;=UgEL+S(n$5?pMpQ*>*>KXr8a_fBQHSkR{_*(;=i7i&( zbL5Z%s`KiO z>PM~vGqU&#A+B}A7eYLXlAob>{*W^Sz-!ft!eM3SnzI(6Gl;!Z6v1b*O<{iIR)0oo zp=TI!kTRzj@t^uN_-ghG&fzoxb^5tD|e8$l&$V z9aUNIe(#kbeSCX#a2}_vNc@I{49S_SNt|1PlSuMatOr{uoG5pf=4t}xkwC@@_SB#zQd55jlJH~l6 z3HIX@W2cwX)=cVLjNU5GVhs!NlWN6KfbCN3MwE7u^Ded329HE(D^44XwQFPgPyKP~ zUBjMkWUwMiopI`--rC*B`&saF>Nm2(sozK^q<+(k4;dX?-WeYp?o^u^I~iyY=!sN6 zTX_mb^KJxfi~+8&Nl!j*$3fx!RTd8o8-a6Tlsd)$XP@^L7rZ}%_t@+)z^%UbDMLRP z_iUsu6Aiw*@S^cqpE8yf)We+jA@=sX1YfKPXVkE_xFW!1^zH7QKje9T9=RUd8Q3wM z&FFX}?1kVF*1eb3`#iFhe0PJOv+~~UW^97rwj*jxYcu1M_9>1J;?T1U9O${|W1mAK zc&cLY8D;^px8N#h-2h(|@#EZ+`Agt0a^lS&4*tq~Ua;TOZ+$O5X@;iicNsK^5sN5F zGe4=M&+U1xUD30DyPNo~9XjG~I(Wdf>U)LfT32{FS{|Zrht;=1W=E`V-zFxYpLkr) zQ~EZs4Z0nUOe$fGH~q+-zj&BAYdd|D?2xBm&`f^no6qNG+3)?n3C1?)rM?xbZ|u`% z4D}PqmfyFDZP2iPyTXalbNXiM^ZO<~+E3rKHzn3jW@7zhCe}}8V!q78Q)EUst%Qz> zTUs3RO(kvNU(`xwM6XKmC;ob~a7`a7kr~Ce{+!ID$n(T@@R}l<6XW{d3){qY@Egb` zuuYUaYh9IaBKZQgiEZ>*xTtclO^oS3uvIzOCJM*GZ5&KK%DYA> zj_{=QpMpBnRwPvi+P!yAKJZ9^$?3H}kG5=LY!3=6(|G>emE`WR z@kPZWPM~iz->=*yYK~S%~QLzALQ1oWvyz(kx1J76{|woBO|IStt5v%jqTJ|WO6u%VI=E$lsh5A`yiZ? zeD@aiU$d6*$XfQ>e#h+68QAHO+(Ga{31@N<`z!FsJw!dZ&@|6G%Kp`JD055L3_7xw z{q^ws(Z60W{sik)o`qigpP0qE&+ftSCTse;;n73z$5HBLJwb`)laDapeCR^aXrPTx zUPK-u!Eh27&QNRzd*4nwN52!>r8#=mn*fV&qBV@^CFztoN!x033cN&HwQ=?sUKTv*z1k7(>v_MP{Sob2 z2f%;5+s$0J_A*a#@6MCVEf41pQXDVN@8ENju#@r5_2E$K3oE0YThSfye~j7vBk?fv zH^fx>$Xrh@44;qvewXnb^Y^7o*c+t2tKWiu>@UXB{z&=23y<(T$L^m) zZhOg%aH+WUaF6vp3yIGxJO-ZfkRgkc5p!7oom(P01-Mc9GkM=1KYv1Z^x)@IH~Ul_ zeuA84@AE##SS}(@VfQI_o^&>*CqAjNC!r4Cf^i#tf2;jeg2hu)nW@ zvHQgMIb6{jp{Q&{g8WT7bK13~vHX#%&92{Coqjg;YQ3L$IoJCY&$Pd*9a?`6KKv?l zm_CZSS$BTSuOnFNCcPHmtx-7RJ^G%y#N&cByXXCFy#Frift3%ZP4%;0>TA^f5^YE> z+K6)~w(Gtd>D2;<<&UeiCrB_Bc!o8a!p#qPr*HUg=O9A{JlQgC&(VFn7Z3KrF~a*> zo=G2T4WTRR_CjCIb7XT+JMCO<=^_0nJdN<$*dwj>?zZ*0J_&v+%UtL3TxDg8dU3+u zB3nL>@!xQCzUoq2*&Z_x(A=we>HZ$(u7(oZ#JDp*vNX~9gKHs ziz)LB%4iOyknvM9<;bzp+MH4@l@EK@t+{-w-Ow0bsI4Q&793FaUe+BT> zNe1cjS+);-`iu?D_6G6%bbU^@u3 z;|kW=hxV7<809*W^H35Ci9NH{J7>OPd|_;j@EZq@5fj>94IWk3Qt++V9&!0T<%Dm} zB;UU!rQDyxcP|eVSo{XEAiRAA{KRY<0slEVNH!&lB%HB$b>C>cbFTL;&&V5<*I#x; zSIr#=KjMqZ8@1Olw7-si8{&@B$qS@?h1#2|vV*y*T(I8U#lM_Sg`es}(p1R5TFe;h2KH_teShB{R zvJ&|W=$8`tKUT-^&iXyeW4qQNZ%g2R`3@&0#k%ewmM`DunPTgQOiZA2w1$5WKGE^P z<}CS14~SpjpQGajw2ZNOZJ;+Zl0BbwjJ4*Rutb_kKv6iFQZP_R3c;U63b*s|# z`}A(yoR(v(V-{X+#5V4rUp44tkK7S!it&Y5Uw`wk4D@q4`arf`^vdbcXUG0}K+9|6 zGFvXg*HGQZtdBqrC)Txpi?x1%UUc6M^e(2{BG&HBj0~Tj&aas@UWLf`vA>?v@)~f& z&PE@wu3mjpj>Gmy7I-_`dky`6H#W73{rmAq!62QLX-vMgMdi??8C&$j^6m|<+3)ZP z;Tz%MFyEuIUCu4m{zbF2wpu=nWZK#6eBMh(ZH8{rm-0vSZWzyB2%GbY{I%tQo$J*v z&c}cz3q&8$0ko^3@zowJv<1SI0Bq?norR1pP!m3rd>9;YQ9*()qy)W05epE3mi|4rR-QJK^x_ z!XNY#&eZ<^hri5E!5_H~dTols-(cE&34Pule|z{&_#^igKHZ2OpY9QSy3M{%w*#MU z6gU(ArTTRV^8Tg%kK*TTLVg#UbZkl3s|ptk>aT;e&j0HlqQB_B#shuif&E4&ng+BC z1ka1Z`SXt=XHFipme|RJXm}KRY<#&8Jw$_m9sw=t$o=~RU=eQ$e}^N3>{%aY2!H5= zMLOf+H(y+N=&4Nw;`P|p?-fWcHWTx`5Z$|oeZFbgUtSqyed$X#eR(O@PvX_O-*;DhDFwz`PVrQ>_j}G>u?B24W zAk12+>C6vaO3d=c8_v0G4eMptt7h@Ro|>8oK0c0yBlEX_kG))lkDK|8g0O-}mTe|9*XRqw5nsV~K3%Q@|hdzx_A9we%oH@eN=x=rz$q z?MHojOh@;K7LrqZz7qBGr_`Z-ML+1?sj-US@Oa+_e$M2b#$7kEH(z~x7W%0T^-=k4 zRR8JvcrP?pU7{uaYEN5Dep|%dY+H7}BK-&f>w4bBfkEwSU!LGo9|hx`{&$HF-FI4J zlKOs~|2_^b)b1~MAFMxf@#io)KLU@0T9!j^jW^vov@z4>#+@qj!S4PS)Mn z7>@R!-f+&ae12WS%>wc!4_kqroE9F685e z6l41v-d7Q)c6v33xL!exvG2+|HAgX*_tPWUHF0q4;%hF3p!iyuzNI~VYvXER^70Ue zl+8`$`yj67{JEdC9E+q`pCpKvEnhW5aVKv%y4A%Y@$)DnKSX1A;p7I!UmAnD7*@zD zhL-E`0mArW7w~)KPv8jJ|CE@cWbz0w>3jL4%o%Rbz4LY5o`VebY6WH7SW@|ya=l-l zrfh0o)Hn6#{oy9(QQB8qK|APc{3?x2TrMX)Z#YeT$Dyf%N3ksj&*|Fu9c^eX{0O=+ zz?Jq+YP_wy2b#~e>noAXhhIbHSTo1G>8^IhUdbOqXkPUw` zqpP}fCV74vHoi$4CR}LOEd}p22OZ3XyRp9Fzr>2|ym*@TDcWpCCtBG3d2D^7eFZ_= zL3>(@thKDtC8=uw-?cGi;}xG^t)^dBuvXLIhV{1S9J@yVUI=w}Pw8K`$}c++j2B!! z-P6H4=Klt~#H>yW?=b2D-qK3&90jhrez2bo#^-^t-&~Zle=hd!k7>{W;6!H|h1f4B z{MB$x`17-xi)}_e;S^^Gr6W7Ty!x-?cU=+xx7ouW#P4V7}P- z*~B@r*^|t?vD(#Gbj+Xm#>sOpzTW|E$+6=PtJ}N>sqb_=;&M|2d_w+oc+$Yf0iXQo zwDfem@9K|uKVVFWM-{5Roa^mKLJPFdtCkpbA>k6|BhYPg3ikE?&f|uex~Tcn#GDW><`!Tssr~Hltb&CthxLh zFvpPfKzIKwa3(&Id^p}v`K8EJJNtgYZO@v?U`;tO)&-YPhhgtkCwLJbTUoa22;5qn z(W4U!_b?}a$luSfR{5{mrZwI_vTrWppw3i%5%2?J@PH@K!P(w^__dk6wbE5_`XXK% z4o++wk+n7G=@QKksqb3rt$twp?f6_}ZvZzubG}s{y`z1=ny*OFss4NIEfYVV?mN*T z_@%-xUN-ovv0T>KTsQJE@!h@je`olDMw3Yn3iRBTfr*93XZZUGafoEqA!gVia%jZ)CdxPQrLtpF| zoo^zP@6dO^CLe8-ZRc-#+Ufbm_J_DC->40J10F37Tsw1nzDb2m{Rv>};Jctd!drl| zf%HRo3vd>N2G=}&&D3hz7_YWyr=0bli%j~-IC8lbIIrgW4)%wU3%aEJZFFNV4VINL z$JNfBF2DX|A;!lYy|`Pp8^5jN!yddWD+AURFmN9Uu1eXPM3+c{MViqsF0vn*HsEmNl#z)ufnmnEi{}Kdic^;lm}Y z%Qf>G_^~Ep&|2h)36-;!tQy<2@5AbQ_N`hw|3$_~&C5P@*_p_fzSTOVV!oFQXYowq zEsY_S3rFj5q(jrt4T^0iSTiBnZC1|y3~&%J-`0MHU-F&GEdg%X$Uxs|A4TA&wjsao z@J_yFjJ?CVZi?L_J*_?J1)uxLf%m9qV|?%1A6)U)+gdla8#&*CKRmp8h-W3Hzj`wgId5>#Gk%wAK8Ni#pToxG&GUjdr!KqcWVoUvqlW z!K{zkFTSg1?^}87g2oA*?9~p(reViQr8DE_#HO~h4(^|LKdt(L#_n+L$%MuV)T?^* zy<#G&<5T{(?c{i@1>_=?!z z_>>jl(4fii&7;Wtuc%vasr+w%iSgEDhpG!ct2KKQh%uTE$qUWCpb+cvS^rxzfw4Oq ztx8|x+bB8G7#EZbV*Gf5_>kb99y7JXkdvc+nJgd=aAOtYy$tHsI(GJ4?T_$V8;&H8 z8IBIzxEo*Fpd8a<=7x0s0{SfQ$#829nfrzcK8W;)J!0@SOh;AVi-l1 zpLm8oi=#g)6$eItw%-(OGU!FKYQuc<+t7$2^yc(Spx@9<1vlVBZGfKAO^p8=rJHVG zY>K~gKsrkOtYZJ!`mCHJ_&uu}zAA@bD$;V2sw0jKTNBPZc?i7}A`T-SQ4TvpT<9<{ zv2yl^aMroaQy+#es!Z=bkr1&IY@i(j77`nK%%_9so`zlt@Xp>a_#wzC^Q4V|N#9*0 zeqe8z_@Rw;m_d1c--jQttJ00)he`0m`P8Qvb830*lMiy1D8Hcd1M|Jd$uFV)MX{~O z^Fra}Unv`+ZP|}zc7!TFr|6&VryszWmCZJ;+-KuY!RhBl@zhFEppGnVH_qD5> zwaC$-!Mbm^U$rRHkoz>pdldg#V>r|Ad&lp+>ys6GEgI_9Cu@GJa-{QFnUgOKA@^y_ z$BXat;FVM5Mf+J3e%B;?*Hdq=KKSeKg^i~;6H{#nuHvQ3JIg*?g^v^}!S9$Hdws>h zX80oZ+v^WDv-Uam>^~fACLea}U#~mZOs=xngG&!KGrtr2{^EnpgSg%iKiE8&>#C8L zH4ou>UH)Z@24^m-LwCo%mc#wvWtE)65W8e3_d}PJv1TB4(O~X#mKCwyC^jLJ`}}1g zeC^oCH10<(JEZ%;?2jT3-ST4de0Mnew6`CJtPDi)60$zKBwLVTN` ze}?`U`m~#V>wQsM)RxWn%k2h+o^tfLf4MXKa&^GnQx2T;FPG+*E2FPH<-l40av!|n z!v}tP%7N4V<=*tm?M7$ylmqAe%N_H})e$4^DF;pZm;0?>t_&O4Qx2N-FLxk-54+e? z4x08a_jCXs`mU!O^zL8o-vjv2RXye4h5qGs1n}W^_mqQA`j_(p`0&4b%E3eZ%QXk^ zA*Vg%;IIDWz8k=Y-s~yI*r$KFJN$A9&cKvBN{<9`Dt-)j5kLMe%V&uT8rK9cpq~@? zZ_$qK$&4$0DPAqYw^zAu`DNIzXUhylZ;8+4+xH#QV%u!|&Um@U&H4v^Pfi}j+=`iK z{2fL&mf=@k1|K^8$(RFu!dRHN1o0utpKc8ONn`7tSfBQfXPF;YR(-+lTZz}R2O&nj zg_J$xdR7F?Y52C4RcEkEW-5Dr zFVCgVzK4ImTN~Ajsc0I&7KYG4Kb`JgiU2=L0PVHwEJ|ol%&WGuI#VC6% z$rn_cKo$brzlzOi{!{n)Qz`dJZ66|juQry@hC%P+1DvIH24H_xpFw7V`d(0d#E4GY zKKZ+Xa?emM`lr6J))$XZKW6|3Wp-1B_WHzQpQTKkc+*d<-OMI$T3!h@_dph9KM8)} zd~vbEd2tHP&j8vi88(P|Cf|}UaVDy?xHy{)siyy*sOssVwq(Z z81$FwJ(BP0-9x*Fd|I>jWZ@t3MC-o!p+35CpY>bhADxFRF5(K^OQKJgtpumcd!)5o zz+QD?M0Z`eCX&6g>cU2iMcv$dK}qphiG^RA?tG3YIf&k?4mEy-v4Z4y_66Ybi1};X zhuDK87|uR3v>ty3KFRk!&AoV9d#;(2T(CUL4BNz*v=u$K8y$wPHchg_KI(!ZV@irf znrzCQ)n1rbn9Z|EW>Qu*XVO2)xUGn@kxWhHR7373PBNP6;)SlA$KYSudFwr5#=+d? z^m%Tq9E!PdD!F3peBfl-TTl57lUCkb)Ponqo{{g+fNxh#$@Al81p5D() z`#8OSa7Hh^ALjo54SHX68hSs$UVZW0I(SudNTqlF{{p>p{#*3k^)dNo&w^bCmMY%~ zbnhq8TfY3M;gav(oQiH<&&^{`{{;D#9+`rCe;azAx+#)9tvZlz#W(V-d@uItZ5a1; zZ4KFTl{H`d1?c@DF%>7{%q=71f+K2aE?bcAP4;R25cd{3IURxSlpZhKW@%7sv!mgbFGQLNk@jcY$#bMSHEN|z9O+0OWD6h2xN zb&TTsQ7gu8FdM>o^NE?-H8R4@ zbdy)p3jZ{Nn>J!J>_uI$4;<7Z6Y-T*48zL~nh(nkG6vo$yQcWVRgBs8`SGZ27C$q+ zCmepBUrYH#;7|DZ6*vg`X2*0RdUJxbQT}!MA^tx>AA@p%-zGn31kVGShd3XmC#H~6 zPp^OB<~t7$?wlgpk7E4nVn*Q-JNJpd@nvE-T8pEzem1jKF#<0rM)-_B7Fs^sEW3}s zZzTp;`0Juh@yymiol`QOJwM4ADGL=798hE$_kbJiuiH(IizEETkA8AvgBj=@AqR=_ zrG(sBY|pbV`F#4fu$;N1E2egD*bMD<6MHIxu65u>`b_w&r_FY|#)+ICtZ`DGV#IUe zrZ=9W^1@MwF}!fO$&aT6^Ly3kn8m;+*vd>=^66(sB{Mm{QhDG8m{79YWS)$37WFms z>3;Tq7eT)e&soQD;CS|c{pOk@7e$wDyQqO!WH-4p>Y(3davN}V+WhGzy{3&AO(i&c z;@8!k5peSiv{OGGe!Z7Qn}Ii=Q2^I=+voH_4^Vy^KE+}DxgyS2iqjX_f$HW98&~EA zXZE|I~&ODfzNsVgFJWsg^QOIL+?Q5i=exB{c`B6{cz%K zooyAw4CRX#1FwO0!#hJ~5i6e9R-PyrPWes5$D@?3Lk^mWA8!V~I%A>+e^hal!>n^z zOJBqzKZO>@fU(--&5sg)+s6AkWN0nph;r7RUj_f@{K)Cxu^F7-27f8X1ia95{e% z7$a8$(*St*IDI#KUkzUfkF!S~+_;5vdCQ_tZRG4eug*UMypULL5j@ZUKVC+eM>s!5#T)Y^-f6vXwt0x_=9_&VOh1!TcHK`D|it>x*C7D12T{ z9LlXNVZMeuvnm%`I;m6ft;Fw5Q(+|A#&Kl>vq!(QQT0py-yrVQj_j+vA)Xt97BSYf zAzKSJ!)NM)?4Pdm>+b&j>97AJ3!91G+ZZBeDs2jfPToo%Lg0luYq!CtY1j$vVGy3` z;WeH=AFtnYPbBk&jqyZIQ+QSUkr?;cx8^j3kh$JAoqQ@zF%%lwwfo4t)`s+j&6U%5 z6d%E@9{|UH559xCg7qX?mn1l}@2@8&;rAg2m=*hwZA(L+ZzH!w2ebWJl*B43Naa~NMv_vi>a zhZ5N4LTp5?ar=Fuyl3C*eRcZl zeQ;Ta50OS+-@RP>wv4xp{tlZ^Q{m*}_Fs%*km{hWSEA4Rdd%uTh*FHs-qU-B?x z-*+!BYf%iIxy_RI?HUUwd-_)LT!(JcxNy43wSKDVGTNeytF`Wlwkk-Y770b_->74cdF}r2DTq%gq|=!Ur9NrfVGZ?8*p1S{$?pfQZ`v9X<1eP9$TRvW z)eePn&^P1&4Uw}_^F`{bwx(Q_SI`Y$64=p=ap*@zW;0p|Lr+}MeMO8W@>rJuMeN&m(}eTHvTR3(wCld0<|AP zV~P+kik}TRYs7~Ee};ydKL1U#X-s`@qW#K8`<4&r8TcyFYrQlK_V&AT0r5k2#Nk`! zV|Iv-qRfAahhCt6;vKE;6n!i|u~)wh8eYNk6(#sSTyGd_x=P6vB%Stk`l-4q;kzHP z7XX@{nA#W`8 zUNu&0#mU!broW_ha-vDVL+G)-Jd{%3+pMb-Uq|s*gu57X+M?m>dJb>5;csaCwD&mr z1Yb$E)ybP1KWZ&PpjYaFLv}O-ZxwN$K9zL^(D`xp1hj#p?dXeiatuA5U|%HvBbl+T z8Q{M%J@fo1I4X;n^Vc9NsX9i_B|nv%rJ(!NcX9p;-wld=f^YHeA^7&;VUAaoTWUIO zVNWVjzpI9hN8ktc9HI-u-leQJBsN`IMgR3&?}K-XvS8FT5)o%QcMc`=){d-aP z0WRsAHfRDYZ=IqY>FHirwU=nPHv(AE=cS6_sK1uSQpSFVs9*hMZ})~M@paZEVE0a6 zR^QM3l+y=wzAjMtKp%Vs9P8WuZ3Ob4svop>B2}Ix%Ywt<#_fUB`8ubt|LR92Hea?$ z_h0AUu;xI%liSOi*bYjJ?^wk9pYAZpPks;;+4_rXu|<-R$?Bx$N6xCiDDLkv#3~ zLT`)rwO29MD`35JKtSF$YG7ai#Huoo&MpmTT|~8F)+UedKf0(}zlMSQNXcu^gI}gM%q6svg_QyLW+C^q_og z8T&Q*d`~<`IBKRXjk!{D1AGYYQ4eEK@o_p09)bR)U5!^4vhY2e-&^y<2z{+OZMUBhO zl5Bpwz3H?EpY}QLFV3Db*+$LzpLsqqq#qEJrtalab8)K|TQvc*f%l0zIhYV_5Inuid zd`bpifv=i#OvNkYx8PBM-4zsJ*W^M~$I^;x(Oj1}@7|4T5W;z08&xn3xPEbSMy%{x|y{$inq9&RQcWz+GE`X=U6%1y1iPmg?ZkU!tZOqokHJs-!4$sTT#~c zxOxh_3)xQ_JJDSlW360*vle@4A~*}YdsyEWd)2*fQ~nQdp}t)Vza@@$mv;XBZ2V#; z)2_}D-lv7%W2vxdud`%ng!c~hwH@vM&Yds!I`7(#Ko@u?if#s0tE-~uU)gHG-Y)s) zebA<097cPrBPrFo0WYDd=q4#(RC-XGMz-=nkeJq8myNNvlN$@3njO!My? zU-f-&yjFexTi(&f-gkN6j~EB<+JA#=Me<7?_4#I7)bUMmiXC`|`Slk$JFF90_12;M zOrmMNcYt*b%`bPC8feZMW%ft8T%0e^NAdRaIx7}E)BazauPfi0^$cI}+nYJjwRadl zJFq*yqP<;w6D9r?+Pg$+dj@- zqilaW@wV22{GxmE7Quy#-*l{dLj+oblM?)I`LEtY_I8vU4Kw~s!?nZt52mE-NSi3OAt$WGwE@Xc+ z<34nue9vsJ8#)wHKC$JVjmx*J-zb=D-RyDFoSl573D_6aDPKIbUTotO)iIVj6FqBd zm_OjZ*4oInD}Qb!^&G;#RoQoFS8d40WNeJQX}@2dcQgG34u21Nu6O>Q!JFzCNE_|! z1-OrTQuizV<~Q^YyW#4kfAC3jXZPgq+j7#UYA@USobbSynb>QdVAA>FAKkdq&d;|e zGg_j=X54r!V#h4v0r^WGzz^E<9ydd$#3;jAp*HsWq-+KC{xxtrpD5d#z`YyOWP9Ve zS1d|p#&Ylcscdf)_trl1Jj%V}G4>m9Z~Za+DCvgwbI7BK9+sbd3|t{o+>fbbpJ@X?c7<}4aBVuRfiiB8L^M# z$22gfb^ME_t0ArMv&XV?$G2Z*J{p2dCKw+ipe4R^Bj=0^YiEtj*Fz@9)uVlT((5C< zAF<9N3ccN)PG<+opi2UtYUX?QykPz*`jUupu07v?*OEV4-oS@N)~-g5wa;=XdKzv5 zR%dgTY{2du|O3>(jRs2}|^ZN)jG-r_CW>|kykTydVBrP0UF z_;5bjemnmn`CjPL@?W_I^xMUKK&PK_AJFL$?gLu>nEQan4{@(N2Wr>jzMcGD(UCqa z&j@Il=PmD{iKZ4felpXPfiQ6wyUAjWTyy3QffaQQCx;OQg#_#eIla z&YDQ5rVSh0cMq)mD)L+i@5r9)jO;9RRXBKL&%_%!-nsBb%=&Ti-Q4*1U;Y!m#dmA7 zydgd+nEyU{znvUCAHw6}jZ>7>*iXEndb+S_0c`Jculxy>nkS+i$;qd{hryTY-8Vnn zdx3W1_-p}uMT{3siXRYT9+SKlZ!v~fPPexz!IOax+c`hi`2{)N*F={$x_5;5PH-sB zP=HUBKo>1Whm7F8~M}(#(VQt_v8`5d(L|e-dzc-3C_pO;T>nw*2cBg0A3IeDJ~Y+G5LdK`VZa= zy2p-v-F=1`#Rv%TNLbNF(TKg8Z!dT_-*`EkRS@omiK8td_G zDv7Dbv8ByJLhIj_-$9*m=vHW=wG+t0Bl&3KEN9tUjsG0%dEV8)F8>WXULrZ!A=xSC{U1IT= z=N+T{IP?zSlne`xcYw#X7rQ5W)Gz#PE9=GIZg434{SElrV&N7{XM1;n!{`g$JAc5l z;n@3L{Amn1(#sS64g~ni@fL$W?8M{*IwTc;313co@#nsO;@1v;>!{z2mt2f%H}y7S z-`DW`6zwR!<#6Tv!so#|@-X=Z-oHfL%zf+h(ZhTjeNHgxKl`M?M*`onm!I>z?X+ut zE*a?6wT3#|@S&?LEYf)n#*Kn;e;_ZejrVvKf1`Uc=STT8KHHlGuG*gI-no!xP7maH zCwb=dz)0^^?wuaU^)BGv{4US~Io|pFkNu*1X9wTPm(_1@X8nQg>IwTly3zEkJG>sc zt)KU~KKo!h(XWp_cI(~Dk>X=3cN=?!;iumcCyZgoiBl_aV|Mr>>roW|mQ^Bcr@zGf;M*gYJ>2JYb@Lf1LW9juP%Gu+?IR)QtU`AR=-)5XkFyctQec|~+TT4zTP!%t|g zC4xVnvi3hpJ%U5egSk)PA;={a%#{#ZC3dcHh4T9|kA+XEwcYY7(>sEgTeepKze#Tl zVch;M=dXVo8PZw0~aS`o^H|xeZ#^)ND$Nq8tfLP-xWK=R#7|A;s$1gb) zj(uCc$wzRsQ>eft8>HtJd0fZ9v^XW!NTi!y45ur};n z-d7;M)4?z65v@N(uD6P~Y|IDUrP`ASu7(Le{|0_?kyqj2Ii730BEP!%gzeift&>lH zUt)KYKOmo$bOQWA9=w8*bj@#~w`1^RJNc~OshT?aB3@Mv0JWhppW3;Adez2G`+vCB ziwsje?-Cm}*i)7Lp?#O_RjV)8r`LW1p2}gJGkT3W$lt2x52o4Yr977(qvx0F`H_fy zzMki~{__QTKGHpZm*;2t&*$rTMYy(ty|Ho5N?E@rQIN?yr!OAu(bMln((SlYV-D$u zuK=&)`;X|S!vhA7KSEr7IyBX}l;7svbZGfk1^D&IrD76_m&BNNl#V$^do(F1BgFgXu7_||6rV>@r%Yb z$Q=4)gh!6W4ee`L`;dlTL7Ovq-$CAU-FJ}B5C6r&@*;4GUpr_|>w$xqd9Pf!oR|9U zzbLEg6@I(;=Q|FOKUlU|HcK&~iNplkm$QC_eV8gcR_!iltSP)xHYgWj&6xOTjLHLN zJ3M)a_>jgk@}sZ`2hPAY>z(0U;7jV8y}wc}E>jXyT$FJb`Gx5-V?6w(qu5H@Z{i-Q z->mh&X&xNpy2jr!FG>AWY=ovJ&|{2_DjcQKCbYA3g8c<$#K6?;_shr#_9 zDX01q*rP?J;AEWni82%Wwrs2F5`7Lc9-gJVQ}PXG5L+d;g43VQH~Km-Np=p~@q+Um zzrwQw{!$@!OS}`%>jiKx8r|jd?=Sg}PR9n=Gv61ELWUR*_I!6U<=og%xv7;a)ZuiO z+7x~K7=ADp`S$^Shz$s*&DLfF`;KzGNx^&VFHXVBaPVS%jL7hlQRcIDTm6{py@Yu>TW%pNnF5!Nf?$HsicXU_$lkU+AcW~dOdvw7B?x!RBU-4ys+7pQajd=oI zUQf&H9lug1-)zZ1XJ*Y5|yzAPlr%^U2uPDVaN zw@5~)e=_SC;IoMB|9$LjP`~8&VJqJZe7@{>ZligyyzAcwgp?m^N2<>z-={evw7zmr zRwFXs;|DfngmP4utIzGv`r~<~>#HjYFLQInL7qd#_|IOLlt1?+bPDld>&GcxOkNJJ zFj3g~0q|`im-XZLJAZ}W`NYk!&PP}iEnFcRC6bL_gvi~sa#H8JqZ@noscFslqA0!-F_J~(#e4|g zM0V+GhJTsA?rhr9sfgrE=LZ6x@}_1J?4FUTi!`3m*?1^Z075;gV`?+^EW zM&A{~6Ydzt@=m@g`Ehuzyz-mFf=$nqlQ6sFNA9_QKE%jR%q6@PyPKLfxcL*$hj9BY zb&iPUCf%5Fxc9Q7iS3VI6HKh#-|!@SE!v0{aqhFvaCs>7|7%%_wW=PCIbCj^r>IA3 zCLF)ETK_>f4szGZ7kEYdM=U_}aq%;^{w5z^_!M%miQEEF-V3j5c-GB4hWrH0W#B_p zw6h+zi<~qsle@RjoLw`B^$^Ns`U+>-v_Y>|is2LZKzVGhWB*qjW0Z~=p~iNu8dras zejR4LN`n7iW}iqYbTv!A)!9uPvv5`XZLO1?M*hz()}JcRfuT(o_h3y$yXB3yln1bD zRIE$;$(-)X^S;KrHuk*ec@A|7{&RsJ`Ref}#NQv?_@a&N65HFQwhM=1_fyIQ@Adt3 zixb6dbG?hW7aoKU;ewb#h4z)HJ;mF;{|f#ivM-%k6m2VbB^;_T*keO36yfP4ax7d3 z2f{@p!kPBiORbI4b3JQf9lY`b1^+t+n)UKigK^d<`p7(x?W5NHhpD^HZ*My5m0yPs z`?oO+d~5Hqcq*Ik4PynttU1I$x9NI}zRBNNgzUY+cx>sa*xgr?|I0qR{+wkAXgZ$t z@gZ-vsTCMp7&Aw;E`47O_9}EP3f!Cn_gR$)x^2Zt>uhWXV%R~)~t#je1h`Z z&7jtX(gxQ3r~B7PYnx$CfoCO*qho$u9jgrWWHp)9hI-Olk5b%KdvD~xZDq^|13%;YnaRbADkYd3DE zE_cmpeKOOKOLXnVq6BBPu@`I`c-Rge+E=ADWzom9)oD#f>9a9et>xfk5cM@DV##M% zTiZZ=j6^pI2kx5H`ov(~@%R1_ApzaeEhiMjvM`)+o3~a4O z2Ct#+2Kw!AIMCuQ-N)foT%YuDSk8Dfj+~4FKUYzwa^9&{t~6Uh1Sw7Ijtw z?|)FXnLenm26%Oih8!N+z^CRu7Ey14adDAi9@JYzy@!F%tPV9DUlnS~1Q+DfX=UAK zMTmOasdo=$&o!BT|J{}IT8TUopA17|4^%DUPpGe`~ONov2=U;F`*_YJDr7HBD9US)A|1v-^7ZG^2HN zy5rL*I10W$!uJvXd&j4ysaUy7_+EUf@5PIbKQmg#40Qb2pEoo5@McEq9{4ANI>eit zAKf~>&NK$RIjXL(Q}^P>I`r5c=8jYO@z}@sF{8B#UA~0+#E+aq-NTCkPQ-)F*n(6Z zR6Tup5V$BKxWt3a)YFImz)!$;(Z7K2ic|QmKhKQoKfmt5S#mG;0k28dOE*3wUq|{7|3ti}^?}ldqS0bs_SPXIi}~IB;i7{L zD;6CjFJNnRexyl#O&e@lMkT)9nOe31`8<8uP|GN@=r1fArry7_Y=m4bA*YXs$Ap>7 zRX_eRm`sb+H{f2hPW|SS`y5hU_}VsXU@^R32A;}4j2|3@4k_a|8ax$&ry}%3hb3}@`0jvrD4 z|J}|vMTr;g*#85BijO||>PTSv1`C{O^hc?&W6hHVY zc&^!yi%V+=vt8b4@pNKr+s5U^yEkT=Y;Pym_57ZuEd9D$?}fj>p0ANTM|RhUXOTV0 zd9~~}*95xd2F9nWv>|rMO7QSW!hgluF zXB=1TYEn2lYSQ~ zK2`>wLAag`u0(^LviJ=B%Qo;{xKsRe1~Iw*@O~1k)sj2#D0prExT=4){Au7`L-`my zDV(aj@VW^851VkZV*|Wm!uyR`yRpu<<-(nQva6!yUf-@hz*T!wY)?x=5xIW1h zxoO?9$=MRwN7*Li$@*`qV+Qa&?bmS)SNSqeA(v_RGMTFfHa&r^Y@m+fou*=r{8MK)Gh6q{H-#U@tsd00Z`Git@%V{c$t6RlbLO)~l&s*9dUU#D~E5X;oYE_%EMAKEaj;O~rY@a3}T60EVU1S3}$L zLPJ`w6RxONc-mKb^Ty-&bh=)G#Ht>E=i>bJkx`d0{Nsj>f8QHt?nL;j`2y-%x!NUGcN5k0?Hjz{ip`)tAQqCDvEYYOTLpKDmQ$ zJ~)~yKJn=w`iM5w!0Y;();gbWbuV2YT&unTJey(pdQj_@?|hsl+bNfhPa&F!@8sv$ ze&vu4TQ~(?wJX|Rg^m(Uj&r@1YXdaga)+rH15G3^f^jR~NUw?Jf^lBmOv~f*Cf{!P zP}lq6lf}|8p{&+dk>zUsd;FK)+H;$u$(__U3mjfe9imA!eSMI+RiEm2^+j5Bt)`C} zr!Zb>6_1M#ud=!((t7x2Q*kl0Rek4C-vsKD-jkeEb1$8v`W;^nXkCmh)&14fDH^Fh z!FLV1Rq%xyoZP8C@ogX{g6}op8xMTqN8xZEJUA16(|reZj7RQNpLph|?Qf*DxXx6} z0OuAyaDJVSbLlSiy)S%Otw+%Bf=_%ST^RH?&|T#>nTp$hO}gti??qQDcle2c+^Ic% zH!dGNtKi;C{U@NUbeG1(_-n1@H)2bmv0?+`fbkOG5NuM)Ak=A3-cs%eb#-JEL)e7V|pb0p9-EVt5eU@HSeU|37zJcHndFB2Z>X4j? z$A!bIr6Yl_{+sX&v=t8La=nH+^u2I6nET_@mnoWC+m&VISoj-_E^HW>RFz~^W(uyxPhJG~(I=77Ic_|*5l_;WD_ z2cPtm>#yK*{mp7Ue4Wz^s&76t4CK?o=l56ey8aHd{k@p))8NIRznT1(o)-SX*Y@&E zCNkvcnAw`1AK1GAt@8WSuUR8wUE*`myM^lmT#q0#v%uXvWJJE~QS?Lj>RuavF)$7Q zF416KXmIO!+;4*>l0)f2tGBsk0nbtD+Djecnd8XFKN6VX`qxV+Nw%p24<3mPw`j(}$#v^1V$^^9mN_;eLb zZb8ooN2*WuQ+h@|Mb+0$#U=3GYt%QM`tGE@?b!D_=%e~8z8c59WLNPo)usCrtA<$n zsrqVG53xGz1ohT`mHLp8xvQPbsXo3^bzJzeOJu$aO4+=iPCb_!~m>z&fRNpM_9S;s}-SZ{qFWgCg zOW=v?s6+VM4m~dBUNR>g;e5n&%Y$Q}?@anF+o1Z+6%J@iI`Z&BQ_(_Q4GHK7ejQ(A zwnj#}n9^EkD%)?rOX0yZ+7e%_!=?{J?=+xe1^~C@^6(eYTj20P>OGe}%LhJA{eo*C z_v(9k4~)*YmF{`~zLU<>m}|V1k<8Wys5gA6sgO-lpU;B_#V4{wf!>l{5DpyANN>R_ z@Qrjs2L6X|F^_v^n+CQP&w~fWE7UiaYpPxlPfPc!Z;ofOEKQtV$ZWa~J*)bp7XrOi zKF9I2>YJ4!BZ5z`3O>Obz!$(~;XDm|RWqH;slM6ZFBQIL)py_v{B+5P;B@e1z%$NY z8UuXtXT<;YW#}zvsQTtZ!;9&od~?x5{3G63%)Mx=SYhDLjKRO!=hr8mnaO{}9k+b` z6L=;X@C<%B^cS9_w*p@Ae7cEWZnk4DH#XS^&uqES;qVz?l-^njT%xJqpI~V++v+Vx z6DKF?a~gU|dPRCmV+rRkFqW7~pM4t7hbDopR$tX;`3tJw>8*5l#>sIyd^gUwCDPUN z`7c>HJQ<#*zK4KsJoQ~d9m1b{*3p6$Jt)0eGdT$kGh5fex4IYJYW(`7w@T={{Pyr9 z{3Cc;^~oPlAFW;nzE{E1JnECKw|*Awr_)c}AEAzUp+Q!T1>XtzO}sDu409XcT=ks? z&hMZO`Otz-{*3f=Z+|nf6=_y)EmgnKQ=+~6H~G|pul%n}#RJqOy&%2e^umDF$moE^ z16yVD_1$RN%c2d*%x!+VW6<}vfCG(ZZ^bUj-z_h3IBccf(eydM;duIU3*Th|qlMY( z{(*L$MY56vF7ctppMvpL>J=YWje}>Ph59@*Mebyq)c?Nq4Y0OE{^czCn2Fqp_R+-Kf_hDp9NfdkvaKX zPXW7?J?3@P*KO3>S6`=Dz7dT2R&a@LbX9-Hz$aFFK-WFZbH8$p6w&fUnB3TZ`$dcvyG{@VbOAxovxG$|V zpbK+Mz$V@<60G0r+#wi^vvZ<<$jzkGa#w8n`#UFksRnh#|KJke}}$B=90hR zUiA};N$yR#e~A0w+k5@z_}s~xxL5u2LIaXl`_F55{x^R4@uAG*H2)r2CX2Zb`jzG1 zBOA$gShE!1=eOJoKg6(-Pjatz_3aN+o^SAc zU>@a{K}M5<{pafMdz@jdwgmIfMmUYFFqj` zY!6K_MtaEE*oTHk=O@~VKgq4 z4q8Xs_1J#t+cEN!kZJjaHr_&f-1&(3bhH!1$8QHV`4;K4AwT7Q{2#@~x1-y%UH}<& z_8*wupx)VBH9nJlP9p{{`!C-yu>Xpq$|sUPF&Evq*0}h%{7Bh<#Urf!2ZkZ5v90)K zvj6)S@2S7Ct%@Tqhw?9EcQv-^WB=)s>XR=e zyy^SX*?;*DeeHi*kNpp9VPOBQFGqO?M@DOe__*$6bLIfQwg0qtI{W`bANx-%QTCs{ zZUsiot*M`a5nb>x`>*j#s{N0AlKuB_I3F1Poc)(=6+L?Gf5g@=`yco`f&G_l4dP7l zSJV9Xv*uMs1GlyRw0B!SzLCEj*nh`2&i;#Eto`R3@rwB5boO6#NrztqXMg)Yljo`S zUv%j+-XMPJ=z{&H9c%x&2J!Ax`%i9O<}FTd|23|a{ntE+?0;HX#M*z^H0FSk+OOE( z{>vuI{!4dCH*4KRU?2M1f9YNP%^v#?T|Q?2rOV;3r0joCXJG%O@B7<-m5~h$?7!^f z6F!{uC;3C}i;;~P;JzH(FGj~!uL?I^#hQg`t?{7G($S31S~M40J~-S|URu9Vdf})~ zFUk5=WcQfHX#9?IFMcSma&w_a(DhsSFB*`Wv~>?L+T)Ql^6G?J!{}N)XCACYI#^@= zllXO-mz(9oGy^%vlq~S9g)#qj;8UzSfz1wPpubPkFU`a5;a)maG1?{6Uk+|Nglqb#dcsRof7pAHzNxOow8^@hF1;`3 zS;_iXi=L08ABsf=GB6+f+A$V5UTS$D9eS$GK~2|z<7#jmK^NW1f5qvxe+D`Lv*@X- z@UOn8U-iUiBdg;Fk71_-lVrABIF7TB&hLJ7fNaU(uQ+~DOjP)jeygU=!^C8dLx~jhF7T^cmE2hja$KBAjTRP;CVgUBa$zw*V z;c8+ih8V8;Uw*Oc zzgv^x)+C5m%IBJj6X4g*o5HuLb82csv5$ZsoqP^ttwqGru>U+;{j6Sol>CbyXTm@A z#9_79b{4#&IyFC%)-yMQ4ETBl{o3OvtfO7o!7bqRW^~GSewz2zcytSK*qPw#IJ_c% z&+#L3xiPgfz#A*SBLrR;S3g5N;y-gCiMIrtijUnd=O z_;YR?Ex)at|H7~3`HLi58Qyqw^!@blTxe24y{c37$S;;YkgnD@;@SJ87kQ`k%93CC zq!HpC#TS^0r|CyE`cZ8<`Au&vo+h4*c;lPPT7*Y^yB#{~z2>;}Uu_QX+f`c~v=OF$ z=|{mCrvCc#wNBRYynF%iwEWz9VzA2JDf^_ljzX7o<|!P{M_Nn1SJtBEif46zzbAbh zrs_v$gEE?=lcXO58>G3Lt9+i{_n8dqtBB`?3+WQYmlazNPvore)tudpew0rkz7XER z#9xm_GQDx&cN?@74PT@EKp&2w&jHWt8?CF@3SX#x&3y>JPe%K3m${6eiut)U37M_+<9o*v;uFzG z-`1b2HX@$nR&|Q^(~0Zrz2s5-({sgQ0^c}Q2R{Hk%lSDSoY}f%%;|OT7GkYd2V=`@ ztP^|%IzswIIzl?Qm*>E7RC&^)=OA%l^t?W zcxwl|vX42>RC~QA&&m5J@GHI@2feQKdF8)rufw^$`Z3jBhsl2_zpIbECKl~@1%Dme zqqd4^JBSU;1P0kV=XWu##a;(~S26oD_RyF9ewW5q)|NJxw~R;ED_+{`cR9N>k9sq} zr|Onoku42;%CNPi*l^;ifnJe+B05R7>jyi%auvKTxv_elcyK_+^S)Q!qUYo3hvfKa z+LCU*&ZlDy&$1Y!XQG3*F+LuJoDKPC(ZS4bFFH7vdE@Qq6^&{4l?Hmn>1D-1oh?Ow zWI7y=VqU5bj)}7#2gfQayfi}Pn#9=jNrr0>*!!M2V5Yki{ZkNi&g#O1_T zZ(b$6sy3Y8Y4r_jrjMdm#aBnc?ON%1;;yd$nXN_iTl_bQ`irQ0vE|uN(-PmeRQaO( zkX;uoUAWnVHirH9s>U#ii@rfTZ5HP)DF?jbQpj!ccidmiGwq?*_=)+11h**weh%av1Z z2=}V*1IAB5jO@?-*FB4dysn$ zfo^=sd zX$idFe>_`$_WyU|S?Sevz|?;{8|c+7*kj4OWH;@9FrNKC>eX$r7LEP->Q%RnKzeno zuUBQWq*vv0YOLwk z*Q+jW73iM%=(1VJ&i{s94dhdLRq{E7t6^V4uy;W*rT%B9B%UWv5BtP#;<~25blGzg zQt}X~d>MIH>j%2?Jc?pxHX8QByhHw@H;PsJa|d-K$X&tS?gQ$}qyu)pu9wbp<#(;T zDPz1~b9VM(J;ivaJ_;;}5ocm()E4|OY5A7+_*$X;j;P)@6jcjl3i?mJu z-s3&{uuI;gZ9`rOovET+71}SZ+!cat$W!3Ro~yu_EPR)`U-;CB-ZT2xcRcJAv~%$M ztS5iVJH+wcwQ!{Qd0cefpgY4v`{KLs2_Ey|DyIG*pJXBToqYEKIn=*Io)f$Gctq?2 za9**AeaPDiVjom8_nHe%)Th^N9evOGRSuPpZhX@2d3Jlt&-QBRYiyu$_?_)}zwF+y zJ8Sm%3&?4(h`fncZcP-BGr5F(A~o%_<8n3@l<3b2y_z8_JK3eW-{lTh;Dken`hz+?VA?;^{sf-^)uJ|JveJdc2ssUu>2$C zxA^sm7Ps?Xd52~oe|yg+FCMbDg)=nD{Ig(G=C&@gUjCMH^2Nx%5>;*^`lR}HlOIX{ z*`qfv!L!>amzs~*@l$YqMv#-3TomwBJG?fA_66H_xHgkhX$NPFs6U&+!%sG|7s%xd za5)j@fM?{Ohwqi+N_>x;+4E??O^NFIlC87Nxk|RUnM`q+4TEV zNv!L8Z5eP6uEc6v+d5%$iMA>T z69n^pzV3a$GeZRJ_xE`G{&+v$+g;B+=iGD7J@?$MPGW?$5I>;|+G@f-<|mY?Iuo>8 zIQtOqf1qCBK~ZD`F)mb};$IYa7rocBoc*qwci4B%UJ4hqR~d7=VwY5zf_Cvm*=%MO z5HkcCh%YkD3m2Q_V#>Xl6|ovGu0e_&VtFncjxjIr9JFNtUB?Meb~NAUo|=N za&8JwPaKJk5)N;!<}x|v%ikl;>#t&_`B*OPwTw`Y=p>vIyT4^_%lI1pr?^*eZR9eP zT^5Se630sMXO1%09c}r_g|sP$voRuk3lS6KEY7K%vtV?(hihgeQhOn~(dejYj^vr6 z&YH`=dHmz52Uhcd|7hxG?eL&~%BT1!qvGss9%7D~Jhvu2d)_GWjiO9bdq4b3`|4tx zi5Q<(&iC@P@S}`9fZrmYjg`Qj$*QNLO*(&4{i@&`QTAxAr|h? zpM!pgcV@^JqzhuQ1ZTEy@XHPUXO|Ov3-SbUTqH*jBZNAJdv{Ss?5&>l`lmh3-`5y% z_SKjHEk9HL=dy-X1I#XGZ|4TX8b8l*_9t#&-{wl*GKsk@kWS6vIiVeTo}!30l(^oe+$QJI*=*gR{^hrFZsM&=NuGxBZ;XQ zhgW4{x)gi(@3^>-{8wC%6DR{%_KEp%FrVVEL3^f0z^9J>m^_E>kBb8?*+Se4)8TbJ0|dEwYYlyNkKY8l&bO#)UKVY`&~^XUP>oJ9mFfnqK(|`A+gx zS)+M)@3X)QKJdQoTTSyW?)A6iw${%A53^)NH(pL&Tvh4IiwWdK;*S?2)cdrxlb3S#GPhZeRIW9>_v5nvP}+RC)Uy)gAQbOL|kbV>F|!JotzXzN|m zX`AG?ZB_=bajC#j3@UnsN7A<_6_ZH}|0eTQk)apO)iNfTW!siCsT^%N7 zVPWD-@zdb^OtmBX{lG#e-#ea0oJx%gcy$ReJ0+J$ekoaeWb;<~;bOjqDt9BFO{z*v z`zNx-Ux1tbfrFKc`IaRA%X}YBTLhQBygZQM3!y)I<`VJ2ogBw`7krDcpFT=#xuDEZ zXC@HqHu%^Q-cb zmo5VS(~*gpbI+(AihKb)8a9a4Nr77(`4DY{D8N&QE2G+&PmW6KfksTTbOd9&0X3j_T?pUH~!AyiK(AFO1Wo zp~*9l&lQWUvLd3G&;{PzKE4T;#GC5;#lo;O!@WC$TQ4 zWqnip%P;ZX4NR4$`|GA#_6x<+R6NWT5%X^975sLH=VfDef`{<6cSoaRck+z>RoOzU zg^|EZ`G+ZQWMpOE*waCrQea@uIMsjgwZ1g0xU-4@taRyTdWt3!XMPj#-RO^r>apVz z9nu^E&e?S-Z%{r;M)xJ0A2G9@_`JxXGdD!$--nHJ=7iAv3s@_gIg^+ltOq94?xpZD z-B+8oT;i5U*3-A7|E=CHqnxrm3UVX z7cxb>)YNL^c4X@i`bmn|pk|1xQ_re*Jay{KpRK&BzTL!24fI(3zlS1#F&4Cmvpc4Z z;F1oW;_Q~xBjM)M6c<QDR3ocziduOcZZ%#_E)|qOee&UziLyTaZ=Odgw{WZ?3rLPIvd@A3B|DIXIKYo^6y`8Y7ONsTG{Bq5Q31W-M+A6$G%Z`s)p8(f*61Z^7QA ze#Te_6>Nhv!bPRoOd8_Q+rIYz>-#D1Wcr+f9#j9)e5_ck!@RHXjkxNSW?RoV#hNnA zvFdxm@B7%`8-2Im==;%pgGS(a!@Xm{W$6V;&W_ltGqvn@&YoUUMaZEjEtZ*9q=foGw=>m z&JC1f_%E2ZU>{JQR#R3~Z~`{sS$}1X&b|Xb;mr=-JK+T}(u@H27e-v)Im3~@kFfB2 zi8cg%7k$>#_d8xE{N#0G|`I zRq6IaGn4suVBxyfbKi;Gbeg4SF z9rj%EPoLZIjZjYeiClMb4ds&j_#N)oUvN=J�W%*G*3Qx5r=5@!D~@t-s>=sw*$) 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