/* Generated code for Python source for module 'asn1crypto.keys'
 * created by Nuitka version 0.6.0
 *
 * This code is in part copyright 2018 Kay Hayen.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "nuitka/prelude.h"

#include "__helpers.h"

/* The _module_asn1crypto$keys is a Python object pointer of module type. */

/* Note: For full compatibility with CPython, every module variable access
 * needs to go through it except for cases where the module cannot possibly
 * have changed in the mean time.
 */

PyObject *module_asn1crypto$keys;
PyDictObject *moduledict_asn1crypto$keys;

/* The module constants used, if any. */
static PyObject *const_dict_fad4426b5586583c2ba74a27437130be;
extern PyObject *const_str_plain_Null;
static PyObject *const_str_digest_90e233165fd2d2c7cc3a602449f7946e;
extern PyObject *const_int_pos_20;
static PyObject *const_str_plain_FieldType;
extern PyObject *const_str_plain___name__;
extern PyObject *const_tuple_str_plain_self_str_plain_key_tuple;
static PyObject *const_str_digest_3d3aff794d74a3637c6b4ce58506d71b;
extern PyObject *const_str_plain_byte_string;
static PyObject *const_str_plain__sha256;
static PyObject *const_str_digest_6420d6fb23f852d3038c9c8bf0a475e3;
static PyObject *const_str_plain_algos;
extern PyObject *const_str_plain_max;
extern PyObject *const_str_plain_encode;
static PyObject *const_str_plain_first_byte;
static PyObject *const_str_digest_5efd896fd1a6845032e26ec1bdcd7035;
static PyObject *const_str_digest_36cae667db9b0feaf9ef5996537d9a6a;
extern PyObject *const_str_plain_ParsableOctetString;
static PyObject *const_str_digest_866bc41bd7d78eb407d2b5fc559416cb;
static PyObject *const_str_plain__ECPoint;
static PyObject *const_str_digest_8a431f309df2e6317313743fcd7d82d1;
static PyObject *const_str_plain_k1;
extern PyObject *const_str_plain_m;
static PyObject *const_str_plain_pp_basis;
static PyObject *const_str_digest_bebfe4fc0e4d51d82737cf29eb967d68;
extern PyObject *const_str_plain_None;
extern PyObject *const_str_plain_OctetBitString;
extern PyObject *const_str_plain_rsa;
static PyObject *const_str_plain_k2;
static PyObject *const_str_plain_prime_field;
static PyObject *const_str_digest_4c2472c460bb1ae8b5b00c225545ade0;
extern PyObject *const_str_plain_algorithm;
static PyObject *const_str_digest_9c6264e9ae09d68189c3bb9a161057df;
extern PyObject *const_str_plain_explicit;
extern PyObject *const_str_plain___debug__;
extern PyObject *const_str_plain_ParsableOctetBitString;
extern PyObject *const_slice_int_0_int_pos_1_none;
extern PyObject *const_str_plain_container;
static PyObject *const_dict_2272cb154e0e0aad99bdcc5fdf1b540a;
static PyObject *const_str_plain_OtherPrimeInfos;
extern PyObject *const_str_plain_j;
static PyObject *const_str_digest_a1939ce066c480a313306fd5566c37ed;
extern PyObject *const_str_plain_PrimeCurve;
extern PyObject *const_str_plain_hashlib;
static PyObject *const_str_digest_6e1fbf29d8eea775262297ac48aabff5;
static PyObject *const_str_digest_46cb53cd3909ffccb445c56329d37d55;
extern PyObject *const_str_plain_Choice;
static PyObject *const_str_plain_CharacteristicTwoBasis;
static PyObject *const_str_digest_dbb7ed79347b88bc6b5f7dfc486fa0a5;
static PyObject *const_str_digest_452b46bbd38583b62740f783a72ebfb4;
extern PyObject *const_int_pos_8;
extern PyObject *const_str_plain_load;
extern PyObject *const_str_plain_RSAESOAEPParams;
static PyObject *const_str_digest_1a070cdb5471dd689dcd09c7b328986b;
extern PyObject *const_bytes_chr_4;
static PyObject *const_str_plain_ECPointBitString;
static PyObject *const_str_digest_0bd1fa2a6b4f040eb6f6d7d92864342b;
static PyObject *const_str_plain_characteristic_two_field;
extern PyObject *const_str_plain_name;
static PyObject *const_str_digest_ee645ceb34888ae8a2aa5978c9d5ac35;
static PyObject *const_bytes_chr_2;
static PyObject *const_dict_1138ab410c53f6449ed861ab6ff94184;
static PyObject *const_dict_f517d4cb27b13afefbad9648331f7f8c;
static PyObject *const_str_plain_FieldID;
static PyObject *const_tuple_c4d48b893947fb0159d802907efba01c_tuple;
static PyObject *const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple;
extern PyObject *const_tuple_int_0_tuple;
extern PyObject *const_tuple_str_plain_unwrap_tuple;
static PyObject *const_str_digest_67526efcdb60c6051d3c4d632ef450e4;
extern PyObject *const_str_plain_False;
static PyObject *const_str_plain_RSAPrivateKeyVersion;
static PyObject *const_str_plain_private_key_algo;
static PyObject *const_str_plain_PrivateKeyAlgorithm;
extern PyObject *const_str_digest_c075052d723d6707083e869a0e3659bb;
static PyObject *const_str_digest_05090b14296826682164cac34e1bf89a;
static PyObject *const_tuple_62601ba44be370505aa4b7024ec9a765_tuple;
extern PyObject *const_int_0;
static PyObject *const_tuple_str_plain_field_type_str_plain_parameters_tuple;
static PyObject *const_str_plain_y_bytes;
static PyObject *const_str_digest_e758bcaa7d01f8d903dbf429b3bd5074;
static PyObject *const_str_digest_6caca7af5590aa015d45458963b984bf;
extern PyObject *const_str_plain_Attributes;
static PyObject *const_str_digest_1bf116e587cdc6ad6e64c6f66c60023d;
static PyObject *const_str_plain_Attribute;
static PyObject *const_str_digest_a670e90c9c664433edfd1a9065d902de;
extern PyObject *const_str_plain_type;
static PyObject *const_tuple_str_digest_3d3aff794d74a3637c6b4ce58506d71b_tuple;
extern PyObject *const_tuple_str_plain_algorithm_str_plain_parameters_tuple;
extern PyObject *const_str_plain___cached__;
static PyObject *const_str_digest_d0fdf3f4a534a923717e8e77be564fb5;
static PyObject *const_str_digest_b02d146dce2b64dda0d6e019d791e370;
static PyObject *const_str_plain_ECDomainParameters;
static PyObject *const_str_plain__sha1;
static PyObject *const_str_digest_5dd6de991a7cb408ddd9f9d9ce3b1ef6;
extern PyObject *const_int_pos_1;
static PyObject *const_str_plain_ECPrivateKey;
extern PyObject *const_str_plain_SECP192R1_BASE_POINT;
static PyObject *const_str_digest_7f1b57f8570d5bcc6567149f3765e80d;
extern PyObject *const_str_plain_private_key;
extern PyObject *const_str_plain__public_key;
extern PyObject *const_str_plain___prepare__;
static PyObject *const_tuple_str_plain_self_str_plain_params_str_plain_output_tuple;
static PyObject *const_str_digest_dfffa57b1c079280c865f4e54db3ec77;
static PyObject *const_str_plain_implicit_ca;
extern PyObject *const_str_plain_dsa;
extern PyObject *const_str_plain_property;
extern PyObject *const_str_plain_ceil;
static PyObject *const_str_plain_ECPrivateKeyVersion;
static PyObject *const_str_digest_55b0940c53121567d386959d91f654fa;
static PyObject *const_dict_e89840a5cde026eb5086db18bcd1cb73;
static PyObject *const_str_plain_sha2;
extern PyObject *const_str_plain_secp521r1;
static PyObject *const_tuple_61492fab160e598e15e39520846d5831_tuple;
extern PyObject *const_str_plain_public_exponent;
extern PyObject *const_slice_int_pos_1_none_none;
extern PyObject *const_str_plain___file__;
extern PyObject *const_str_plain_unwrap;
static PyObject *const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple;
static PyObject *const_str_digest_a11e48a8f516309a04a701cdfec59bce;
static PyObject *const_str_plain_tp_basis;
static PyObject *const_dict_fc766c040c291e927941f45a56c418fe;
extern PyObject *const_str_plain_str_cls;
static PyObject *const_str_plain_prime2;
extern PyObject *const_str_plain_private_exponent;
static PyObject *const_str_digest_2dfa87d77d0af11914083c5adf9cf688;
static PyObject *const_str_digest_ec1129a74d106b7ff13b974e3af836c1;
static PyObject *const_str_digest_f5abcd2d9d9e16aec0fee46649bdc0fe;
static PyObject *const_str_plain_base_point;
static PyObject *const_str_digest_1acb6a5d7583e6249d6719b1e169f157;
extern PyObject *const_str_plain_byte_cls;
static PyObject *const_str_plain_Curve;
static PyObject *const_str_plain_to_hash;
static PyObject *const_str_plain_encrypted_data;
extern PyObject *const_str_plain_exponent;
extern PyObject *const_str_plain___orig_bases__;
extern PyObject *const_str_plain_IntegerOctetString;
static PyObject *const_str_plain_Pentanomial;
static PyObject *const_str_digest_2fcede1b030bc7dfbc8ca39823e493be;
static PyObject *const_str_digest_76b515156306057bcf1cc01c6673d8e2;
extern PyObject *const_str_plain_secp384r1;
extern PyObject *const_str_plain___qualname__;
static PyObject *const_str_digest_3a99172a76945b41cf99fbb28ddf9e76;
static PyObject *const_str_digest_4125414c50dda3994a181e52688089bc;
static PyObject *const_str_plain_PublicKeyAlgorithmId;
extern PyObject *const_tuple_str_plain_self_str_plain_algorithm_tuple;
extern PyObject *const_str_plain_key_type;
extern PyObject *const_str_plain_p;
extern PyObject *const_str_plain_g;
static PyObject *const_str_digest_5b84a4e1a1119ff0da6454b8ada41fc3;
extern PyObject *const_str_plain_value;
static PyObject *const_str_digest_14d1e295162c0919a8989cad84e4f4b8;
static PyObject *const_str_plain_multi;
static PyObject *const_tuple_4778246c2e6f4b6dd7a5a05e02ee1844_tuple;
static PyObject *const_tuple_str_plain_type_name_str_plain_str_cls_str_plain_byte_cls_tuple;
static PyObject *const_str_digest_0d72dd45a82194d5069e25533054270b;
static PyObject *const_str_plain__public_key_spec;
extern PyObject *const_str_plain_DSAPrivateKey;
static PyObject *const_str_plain_gn_basis;
extern PyObject *const_str_plain_implicit;
static PyObject *const_str_digest_a5eba49cce22a1dfde7fce0f9e0dc3ef;
extern PyObject *const_str_plain_public_key;
extern PyObject *const_str_plain_byte_len;
extern PyObject *const_str_plain_native;
static PyObject *const_str_digest_5addfd01d541cce2740b7482cdd9fdb6;
extern PyObject *const_str_plain_SetOf;
extern PyObject *const_str_plain___getitem__;
static PyObject *const_str_digest_c94860950d152e31470eb175446b8ebe;
static PyObject *const_str_digest_54c5f949e6f060375bee002a4b16175c;
static PyObject *const_str_digest_07fbf69b6b4690d2f55094d5b14bb1ec;
static PyObject *const_str_plain_EncryptedPrivateKeyInfo;
static PyObject *const_str_digest_52e926ac8ea8bf3750086bcfca45f51b;
static PyObject *const_str_digest_00ba9e421b1d9afa06ce64e0a37eafba;
extern PyObject *const_str_plain_upper;
static PyObject *const_str_plain_base_y;
static PyObject *const_str_digest_93efc2a1c4b6d4a7487a1ee36743b91e;
static PyObject *const_str_plain_from_coords;
extern PyObject *const_str_digest_75fd71b1edada749c2ef7ac810062295;
static PyObject *const_str_plain__fingerprint;
extern PyObject *const_str_plain_log;
extern PyObject *const_str_plain_parsed;
extern PyObject *const_str_plain_base;
static PyObject *const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple;
static PyObject *const_tuple_46bbd9233fd5addf0305fdb226c3b35d_tuple;
static PyObject *const_str_plain_cofactor;
static PyObject *const_str_digest_c68b2b6c22c3779cc784c24717022602;
extern PyObject *const_str_plain_print_function;
extern PyObject *const_str_plain_Integer;
extern PyObject *const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
static PyObject *const_str_digest_b595cffa984f580e00ae17e9db6cbfac;
static PyObject *const_str_plain_prime;
static PyObject *const_str_plain__elliptic_curve;
static PyObject *const_set_8649e0c94fbded82396ed856a28bbc1e;
extern PyObject *const_str_plain_optional;
static PyObject *const_str_digest_a42969f4c775197fe18bda20b53b1e39;
extern PyObject *const_str_plain_y;
static PyObject *const_bytes_chr_3;
extern PyObject *const_str_plain_copy;
extern PyObject *const_str_plain_digest;
extern PyObject *const_str_plain_key;
extern PyObject *const_str_plain__algorithm;
static PyObject *const_str_digest_e30b801756ab116878eb48cb245f8041;
extern PyObject *const_bytes_chr_58;
static PyObject *const_str_plain_a_an;
extern PyObject *const_str_plain_int_to_bytes;
extern PyObject *const_str_plain_version;
static PyObject *const_str_digest_dd938853cff8f6ec63a1613eab01b438;
extern PyObject *const_str_plain_details;
extern PyObject *const_str_plain_num_bytes;
extern PyObject *const_str_plain_encryption_algorithm;
extern PyObject *const_tuple_str_digest_c075052d723d6707083e869a0e3659bb_tuple;
static PyObject *const_str_plain_OtherPrimeInfo;
static PyObject *const_str_digest_b09140222e7283941fba649bb5da9191;
static PyObject *const_dict_7f186ae15244f0d9f7c9bddb9c7d7da3;
static PyObject *const_str_digest_ff8b248b59918ce8d761d774c59510c7;
extern PyObject *const_str_plain__ForceNullParameters;
extern PyObject *const_str_digest_8610103a8657fcf057847084d4917365;
extern PyObject *const_str_plain_PublicKeyInfo;
extern PyObject *const_str_plain_division;
static PyObject *const_str_digest_5f3c7c5396fc01aa49bf630b30d53ef7;
extern PyObject *const_str_plain_RSAPrivateKey;
extern PyObject *const_str_plain_specified;
static PyObject *const_str_plain_EC;
extern PyObject *const_str_plain_classmethod;
extern PyObject *const_str_plain_q;
static PyObject *const_str_digest_e069e2af92b3209a8e84d8b6828c1a2b;
extern PyObject *const_str_plain_PrimePoint;
static PyObject *const_str_digest_b3de898419699138060b6e2375a66835;
extern PyObject *const_str_plain___doc__;
static PyObject *const_str_digest_e958d9bc0e2129cc90b2ecb4d5e6a7ec;
static PyObject *const_dict_8ba9d7dbbf4b27829937f8dce51e0f69;
extern PyObject *const_str_plain_data;
static PyObject *const_str_plain_remaining;
static PyObject *const_str_digest_0f5a2f889a3516237cf98b8005c7d01c;
extern PyObject *const_str_plain__types;
extern PyObject *const_tuple_str_plain_int_from_bytes_str_plain_int_to_bytes_tuple;
extern PyObject *const_str_plain__map;
extern PyObject *const_str_plain_rsaes_oaep;
extern PyObject *const_tuple_str_plain_self_tuple;
static PyObject *const_str_plain_basis;
static PyObject *const_tuple_str_digest_e958d9bc0e2129cc90b2ecb4d5e6a7ec_tuple;
static PyObject *const_str_digest_78dfca51b91d1e7de47d0af4024efb6e;
static PyObject *const_str_digest_6537508676d5b583406dee7181efc7d5;
extern PyObject *const_str_plain_dh;
static PyObject *const_str_digest_1d9f17a2499c57d5ee2083c9e1cdf7c3;
extern PyObject *const_tuple_empty;
static PyObject *const_str_plain_k3;
static PyObject *const_str_plain_NamedCurve;
static PyObject *const_dict_358c8392f97c9c9ab13928ad959c95a7;
extern PyObject *const_str_plain_curve;
static PyObject *const_str_digest_5d4ef91b439796188775585c637d54c4;
static PyObject *const_tuple_str_plain_self_str_plain_key_type_str_plain_a_an_tuple;
static PyObject *const_str_plain_ValidationParms;
extern PyObject *const_str_plain_Any;
static PyObject *const_str_plain_ecdpVer1;
extern PyObject *const_str_plain_b;
static PyObject *const_str_plain_coefficient;
extern PyObject *const_str_plain__fields;
extern PyObject *const_str_plain__oid_specs;
extern PyObject *const_str_plain_ec;
static PyObject *const_str_plain_curve_type;
static PyObject *const_str_plain_base_x;
static PyObject *const_str_digest_4fdd4f1c542fb189af1bd018fd971eb5;
extern PyObject *const_str_plain_pow;
static PyObject *const_str_digest_e7b9ae645fa91ac4d8bac023175f4516;
extern PyObject *const_str_plain_SequenceOf;
static PyObject *const_str_plain_PublicKeyAlgorithm;
extern PyObject *const_str_plain_x;
static PyObject *const_str_digest_e89664880d1358c3887524e97e1b026b;
static PyObject *const_str_plain_ecdpVer2;
static PyObject *const_str_plain_SpecifiedECDomain;
static PyObject *const_tuple_str_digest_e89664880d1358c3887524e97e1b026b_tuple;
extern PyObject *const_str_plain_untag;
static PyObject *const_str_digest_4dbafb397a3ef338e376d6626413d1a4;
extern PyObject *const_str_plain_Asn1Value;
static PyObject *const_str_digest_db6b68631cf3f38961d4a2283a30f642;
static PyObject *const_str_digest_223b311df80c4a1255700b97994a39c0;
static PyObject *const_str_digest_a858a9d35e67fdda8749fe5270e56bc5;
extern PyObject *const_str_plain___class__;
extern PyObject *const_str_plain_fingerprint;
extern PyObject *const_str_plain___module__;
static PyObject *const_str_digest_690742ce2de7b4d9d68cc30128ea9f74;
static PyObject *const_str_digest_322639caefea82e2c4c0804f7d74fb76;
static PyObject *const_str_plain_PrivateKeyInfo;
extern PyObject *const_str_plain__child_spec;
static PyObject *const_str_plain_public_key_info;
extern PyObject *const_str_plain_SECP256R1_BASE_POINT;
static PyObject *const_str_digest_5d994fda90bac65add04d9ccc5833a9b;
static PyObject *const_str_plain__bit_size;
static PyObject *const_str_plain_to_coords;
extern PyObject *const_str_plain_modulus;
static PyObject *const_str_plain_ecPrivkeyVer1;
extern PyObject *const_str_plain_secp256r1;
static PyObject *const_str_digest_929a672048f66fa4e652c8efac7cfdc9;
static PyObject *const_str_digest_327f6391f74e8affc7542679f205ec2e;
extern PyObject *const_str_plain__alternatives;
static PyObject *const_str_plain_pgen_counter;
static PyObject *const_str_plain_SpecifiedECDomainVersion;
static PyObject *const_str_plain__compute_public_key;
extern PyObject *const_str_plain_attributes;
static PyObject *const_str_digest_75a3b88728159042960f38af095a775f;
static PyObject *const_str_digest_8042122b045af3168783ef31f1c15f92;
extern PyObject *const_dict_e0d63c4beb9400e233c3204dcf4f1861;
extern PyObject *const_str_plain_order;
static PyObject *const_str_digest_54aca1b98e28ccf6683291fe12f196c6;
static PyObject *const_str_plain_an;
extern PyObject *const_str_plain_metaclass;
static PyObject *const_str_plain_ECPoint;
extern PyObject *const_tuple_str_plain___class___tuple;
extern PyObject *const_str_angle_metaclass;
static PyObject *const_str_plain_other_prime_infos;
extern PyObject *const_str_plain_DigestAlgorithm;
static PyObject *const_str_digest_d8998442316b8eede93e26b5edaa5a4a;
static PyObject *const_str_plain_field_type;
extern PyObject *const_float_8_0;
static PyObject *const_str_digest_a73436459f6b32f97365f8ef8b125f86;
extern PyObject *const_str_plain_a;
static PyObject *const_str_plain_x_bytes;
static PyObject *const_str_plain_field_len;
static PyObject *const_tuple_str_plain_self_str_plain_prime_str_plain_modulus_tuple;
static PyObject *const_tuple_str_plain_self_str_plain_parameters_str_plain_byte_len_tuple;
static PyObject *const_str_plain_PrivateKeyAlgorithmId;
static PyObject *const_str_digest_43089fc8b3a03470c55e40b7891aea70;
extern PyObject *const_str_plain_wrap;
static PyObject *const_str_plain_validation_params;
extern PyObject *const_str_plain_cls;
static PyObject *const_str_digest_222a297efa3c673d0a4be0ada885dcb5;
static PyObject *const_str_digest_1344c1f9eb1cd8c07885d6634a6aa599;
static PyObject *const_str_digest_a4b210775cb0ec61c86653c818045cf4;
extern PyObject *const_str_plain_absolute_import;
static PyObject *const_str_plain_exponent2;
extern PyObject *const_str_plain_hash_algo;
extern PyObject *const_str_plain_SECP521R1_BASE_POINT;
extern PyObject *const_str_plain_secp224r1;
extern PyObject *const_str_plain_type_name;
extern PyObject *const_str_plain_RSAPublicKey;
static PyObject *const_str_plain_CharacteristicTwo;
static PyObject *const_str_digest_8db375950c7509a247c57784722e1209;
static PyObject *const_str_plain__private_key_spec;
extern PyObject *const_str_plain_parameters;
static PyObject *const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple;
extern PyObject *const_str_plain_algo;
static PyObject *const_dict_d6786db0217579c2cb844b9b4ddcccf6;
static PyObject *const_str_digest_6c7a05edbd9f7192d6cc5e5bab4a5c8e;
extern PyObject *const_str_plain_BitString;
static PyObject *const_str_digest_f2307e7c7ba3872bdfe5ece119c6417f;
static PyObject *const_str_plain_DomainParameters;
extern PyObject *const_str_plain_int_from_bytes;
static PyObject *const_str_plain_bit_size;
static PyObject *const_str_digest_2f4cb4eba960cf9aa9f614dd5336e19e;
extern PyObject *const_str_plain_dump;
static PyObject *const_str_plain_ecdpVer3;
extern PyObject *const_str_plain_SECP384R1_BASE_POINT;
extern PyObject *const_str_plain_util;
static PyObject *const_str_plain_prime1;
extern PyObject *const_str_plain_SECP224R1_BASE_POINT;
static PyObject *const_tuple_str_plain_self_str_plain_byte_len_tuple;
extern PyObject *const_str_plain_output;
static PyObject *const_tuple_870066b178f13a66ba43a370b01a6f01_tuple;
static PyObject *const_str_digest_c4d8f135eb39909f018c0cb7474ae696;
extern PyObject *const_str_plain__errors;
static PyObject *const_str_plain_seed;
static PyObject *const_str_digest_8d6cf8ba45dc3527a141eaa9a62053cf;
static PyObject *const_tuple_str_digest_8042122b045af3168783ef31f1c15f92_tuple;
static PyObject *const_str_plain_field_id;
static PyObject *const_str_digest_d5c4ff7d1138797719ed9d9fcc558d55;
static PyObject *const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple;
extern PyObject *const_str_plain_Sequence;
static PyObject *const_str_digest_ccbe969184452b2e900daa5eb024f15e;
static PyObject *const_str_digest_07bbd023e0156f052c69d180eb0cfe60;
static PyObject *const_str_digest_5d73b58352d38f5fcdce2b4c5e1d9143;
extern PyObject *const_str_plain_core;
static PyObject *const_str_plain_exponent1;
extern PyObject *const_str_plain_chosen;
static PyObject *const_str_digest_b47e3d7166e51a227677f98f9d05e5ce;
extern PyObject *const_str_plain__oid_pair;
extern PyObject *const_str_plain_EncryptionAlgorithm;
extern PyObject *const_str_plain_ObjectIdentifier;
extern PyObject *const_str_plain_secp192r1;
extern PyObject *const_str_plain__spec_callbacks;
static PyObject *const_str_plain_private_key_algorithm;
static PyObject *const_str_plain_named;
extern PyObject *const_str_plain_math;
static PyObject *const_tuple_ef3394628cb9a6a94ffd2eb69d8a7cf1_tuple;
static PyObject *const_str_digest_12897d9027e8af1ba979c97940529a74;
extern PyObject *const_str_plain_unicode_literals;
extern PyObject *const_str_plain_sha1;
extern PyObject *const_str_plain_params;
static PyObject *const_str_digest_674824fe6f207c8becf684aa51baa41e;
static PyObject *const_tuple_str_plain__ECPoint_tuple_empty_tuple;
extern PyObject *const_str_plain_values;
extern PyObject *const_str_plain_width;
static PyObject *const_str_plain_byte_size;
static PyObject *const_str_plain_public_point;
extern PyObject *const_int_pos_3;
extern PyObject *const_str_plain_self;
extern PyObject *const_str_plain_hash;
static PyObject *const_dict_d63a121f731656c202363b32071b0671;
static PyObject *const_tuple_str_plain_basis_str_plain_parameters_tuple;
extern PyObject *const_str_plain_sha256;
extern PyObject *const_int_pos_2;
extern PyObject *const_str_plain_OctetString;
static PyObject *const_str_plain_DSAParams;
extern PyObject *const_str_plain_spec;
static PyObject *module_filename_obj;

static bool constants_created = false;

static void createModuleConstants( void )
{
    const_dict_fad4426b5586583c2ba74a27437130be = _PyDict_NewPresized( 2 );
    PyDict_SetItem( const_dict_fad4426b5586583c2ba74a27437130be, const_str_plain_explicit, const_int_0 );
    PyDict_SetItem( const_dict_fad4426b5586583c2ba74a27437130be, const_str_plain_optional, Py_True );
    assert( PyDict_Size( const_dict_fad4426b5586583c2ba74a27437130be ) == 2 );
    const_str_digest_90e233165fd2d2c7cc3a602449f7946e = UNSTREAM_STRING( &constant_bin[ 75792 ], 21, 0 );
    const_str_plain_FieldType = UNSTREAM_STRING( &constant_bin[ 75813 ], 9, 1 );
    const_str_digest_3d3aff794d74a3637c6b4ce58506d71b = UNSTREAM_STRING( &constant_bin[ 75822 ], 124, 0 );
    const_str_plain__sha256 = UNSTREAM_STRING( &constant_bin[ 75946 ], 7, 1 );
    const_str_digest_6420d6fb23f852d3038c9c8bf0a475e3 = UNSTREAM_STRING( &constant_bin[ 75953 ], 84, 0 );
    const_str_plain_algos = UNSTREAM_STRING( &constant_bin[ 14988 ], 5, 1 );
    const_str_plain_first_byte = UNSTREAM_STRING( &constant_bin[ 76037 ], 10, 1 );
    const_str_digest_5efd896fd1a6845032e26ec1bdcd7035 = UNSTREAM_STRING( &constant_bin[ 76047 ], 24, 0 );
    const_str_digest_36cae667db9b0feaf9ef5996537d9a6a = UNSTREAM_STRING( &constant_bin[ 76071 ], 24, 0 );
    const_str_digest_866bc41bd7d78eb407d2b5fc559416cb = UNSTREAM_STRING( &constant_bin[ 76095 ], 77, 0 );
    const_str_plain__ECPoint = UNSTREAM_STRING( &constant_bin[ 76172 ], 8, 1 );
    const_str_digest_8a431f309df2e6317313743fcd7d82d1 = UNSTREAM_STRING( &constant_bin[ 76180 ], 61, 0 );
    const_str_plain_k1 = UNSTREAM_STRING( &constant_bin[ 76241 ], 2, 1 );
    const_str_plain_pp_basis = UNSTREAM_STRING( &constant_bin[ 76243 ], 8, 1 );
    const_str_digest_bebfe4fc0e4d51d82737cf29eb967d68 = UNSTREAM_STRING( &constant_bin[ 76251 ], 21, 0 );
    const_str_plain_k2 = UNSTREAM_STRING( &constant_bin[ 76272 ], 2, 1 );
    const_str_plain_prime_field = UNSTREAM_STRING( &constant_bin[ 76274 ], 11, 1 );
    const_str_digest_4c2472c460bb1ae8b5b00c225545ade0 = UNSTREAM_STRING( &constant_bin[ 20638 ], 17, 0 );
    const_str_digest_9c6264e9ae09d68189c3bb9a161057df = UNSTREAM_STRING( &constant_bin[ 76285 ], 295, 0 );
    const_dict_2272cb154e0e0aad99bdcc5fdf1b540a = _PyDict_NewPresized( 2 );
    PyDict_SetItem( const_dict_2272cb154e0e0aad99bdcc5fdf1b540a, const_str_plain_explicit, const_int_pos_1 );
    PyDict_SetItem( const_dict_2272cb154e0e0aad99bdcc5fdf1b540a, const_str_plain_optional, Py_True );
    assert( PyDict_Size( const_dict_2272cb154e0e0aad99bdcc5fdf1b540a ) == 2 );
    const_str_plain_OtherPrimeInfos = UNSTREAM_STRING( &constant_bin[ 76580 ], 15, 1 );
    const_str_digest_a1939ce066c480a313306fd5566c37ed = UNSTREAM_STRING( &constant_bin[ 76595 ], 19, 0 );
    const_str_digest_6e1fbf29d8eea775262297ac48aabff5 = UNSTREAM_STRING( &constant_bin[ 76614 ], 164, 0 );
    const_str_digest_46cb53cd3909ffccb445c56329d37d55 = UNSTREAM_STRING( &constant_bin[ 76778 ], 88, 0 );
    const_str_plain_CharacteristicTwoBasis = UNSTREAM_STRING( &constant_bin[ 76866 ], 22, 1 );
    const_str_digest_dbb7ed79347b88bc6b5f7dfc486fa0a5 = UNSTREAM_STRING( &constant_bin[ 76888 ], 177, 0 );
    const_str_digest_452b46bbd38583b62740f783a72ebfb4 = UNSTREAM_STRING( &constant_bin[ 77065 ], 24, 0 );
    const_str_digest_1a070cdb5471dd689dcd09c7b328986b = UNSTREAM_STRING( &constant_bin[ 77089 ], 30, 0 );
    const_str_plain_ECPointBitString = UNSTREAM_STRING( &constant_bin[ 76745 ], 16, 1 );
    const_str_digest_0bd1fa2a6b4f040eb6f6d7d92864342b = UNSTREAM_STRING( &constant_bin[ 77119 ], 159, 0 );
    const_str_plain_characteristic_two_field = UNSTREAM_STRING( &constant_bin[ 77278 ], 24, 1 );
    const_str_digest_ee645ceb34888ae8a2aa5978c9d5ac35 = UNSTREAM_STRING( &constant_bin[ 77089 ], 25, 0 );
    const_bytes_chr_2 = UNSTREAM_BYTES( &constant_bin[ 1767 ], 1 );
    const_dict_1138ab410c53f6449ed861ab6ff94184 = _PyDict_NewPresized( 3 );
    const_str_plain_ecdpVer1 = UNSTREAM_STRING( &constant_bin[ 77302 ], 8, 1 );
    PyDict_SetItem( const_dict_1138ab410c53f6449ed861ab6ff94184, const_int_pos_1, const_str_plain_ecdpVer1 );
    const_str_plain_ecdpVer2 = UNSTREAM_STRING( &constant_bin[ 77310 ], 8, 1 );
    PyDict_SetItem( const_dict_1138ab410c53f6449ed861ab6ff94184, const_int_pos_2, const_str_plain_ecdpVer2 );
    const_str_plain_ecdpVer3 = UNSTREAM_STRING( &constant_bin[ 77318 ], 8, 1 );
    PyDict_SetItem( const_dict_1138ab410c53f6449ed861ab6ff94184, const_int_pos_3, const_str_plain_ecdpVer3 );
    assert( PyDict_Size( const_dict_1138ab410c53f6449ed861ab6ff94184 ) == 3 );
    const_dict_f517d4cb27b13afefbad9648331f7f8c = PyMarshal_ReadObjectFromString( (char *)&constant_bin[ 77326 ], 1226 );
    const_str_plain_FieldID = UNSTREAM_STRING( &constant_bin[ 78552 ], 7, 1 );
    const_tuple_c4d48b893947fb0159d802907efba01c_tuple = PyTuple_New( 5 );
    PyTuple_SET_ITEM( const_tuple_c4d48b893947fb0159d802907efba01c_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_c4d48b893947fb0159d802907efba01c_tuple, 1, const_str_plain_params ); Py_INCREF( const_str_plain_params );
    PyTuple_SET_ITEM( const_tuple_c4d48b893947fb0159d802907efba01c_tuple, 2, const_str_plain_key ); Py_INCREF( const_str_plain_key );
    const_str_plain_to_hash = UNSTREAM_STRING( &constant_bin[ 78559 ], 7, 1 );
    PyTuple_SET_ITEM( const_tuple_c4d48b893947fb0159d802907efba01c_tuple, 3, const_str_plain_to_hash ); Py_INCREF( const_str_plain_to_hash );
    PyTuple_SET_ITEM( const_tuple_c4d48b893947fb0159d802907efba01c_tuple, 4, const_str_plain_public_key ); Py_INCREF( const_str_plain_public_key );
    const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple = PyTuple_New( 15 );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 0, const_str_plain_Any ); Py_INCREF( const_str_plain_Any );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 1, const_str_plain_Asn1Value ); Py_INCREF( const_str_plain_Asn1Value );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 2, const_str_plain_BitString ); Py_INCREF( const_str_plain_BitString );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 3, const_str_plain_Choice ); Py_INCREF( const_str_plain_Choice );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 4, const_str_plain_Integer ); Py_INCREF( const_str_plain_Integer );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 5, const_str_plain_IntegerOctetString ); Py_INCREF( const_str_plain_IntegerOctetString );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 6, const_str_plain_Null ); Py_INCREF( const_str_plain_Null );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 7, const_str_plain_ObjectIdentifier ); Py_INCREF( const_str_plain_ObjectIdentifier );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 8, const_str_plain_OctetBitString ); Py_INCREF( const_str_plain_OctetBitString );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 9, const_str_plain_OctetString ); Py_INCREF( const_str_plain_OctetString );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 10, const_str_plain_ParsableOctetString ); Py_INCREF( const_str_plain_ParsableOctetString );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 11, const_str_plain_ParsableOctetBitString ); Py_INCREF( const_str_plain_ParsableOctetBitString );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 12, const_str_plain_Sequence ); Py_INCREF( const_str_plain_Sequence );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 13, const_str_plain_SequenceOf ); Py_INCREF( const_str_plain_SequenceOf );
    PyTuple_SET_ITEM( const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple, 14, const_str_plain_SetOf ); Py_INCREF( const_str_plain_SetOf );
    const_str_digest_67526efcdb60c6051d3c4d632ef450e4 = UNSTREAM_STRING( &constant_bin[ 78566 ], 17, 0 );
    const_str_plain_RSAPrivateKeyVersion = UNSTREAM_STRING( &constant_bin[ 78583 ], 20, 1 );
    const_str_plain_private_key_algo = UNSTREAM_STRING( &constant_bin[ 78603 ], 16, 1 );
    const_str_plain_PrivateKeyAlgorithm = UNSTREAM_STRING( &constant_bin[ 78619 ], 19, 1 );
    const_str_digest_05090b14296826682164cac34e1bf89a = UNSTREAM_STRING( &constant_bin[ 78638 ], 101, 0 );
    const_tuple_62601ba44be370505aa4b7024ec9a765_tuple = PyTuple_New( 7 );
    PyTuple_SET_ITEM( const_tuple_62601ba44be370505aa4b7024ec9a765_tuple, 0, const_str_plain_cls ); Py_INCREF( const_str_plain_cls );
    PyTuple_SET_ITEM( const_tuple_62601ba44be370505aa4b7024ec9a765_tuple, 1, const_str_plain_private_key ); Py_INCREF( const_str_plain_private_key );
    PyTuple_SET_ITEM( const_tuple_62601ba44be370505aa4b7024ec9a765_tuple, 2, const_str_plain_algorithm ); Py_INCREF( const_str_plain_algorithm );
    PyTuple_SET_ITEM( const_tuple_62601ba44be370505aa4b7024ec9a765_tuple, 3, const_str_plain_params ); Py_INCREF( const_str_plain_params );
    PyTuple_SET_ITEM( const_tuple_62601ba44be370505aa4b7024ec9a765_tuple, 4, const_str_plain_public_key ); Py_INCREF( const_str_plain_public_key );
    PyTuple_SET_ITEM( const_tuple_62601ba44be370505aa4b7024ec9a765_tuple, 5, const_str_plain_private_key_algo ); Py_INCREF( const_str_plain_private_key_algo );
    PyTuple_SET_ITEM( const_tuple_62601ba44be370505aa4b7024ec9a765_tuple, 6, const_str_plain_container ); Py_INCREF( const_str_plain_container );
    const_tuple_str_plain_field_type_str_plain_parameters_tuple = PyTuple_New( 2 );
    const_str_plain_field_type = UNSTREAM_STRING( &constant_bin[ 78739 ], 10, 1 );
    PyTuple_SET_ITEM( const_tuple_str_plain_field_type_str_plain_parameters_tuple, 0, const_str_plain_field_type ); Py_INCREF( const_str_plain_field_type );
    PyTuple_SET_ITEM( const_tuple_str_plain_field_type_str_plain_parameters_tuple, 1, const_str_plain_parameters ); Py_INCREF( const_str_plain_parameters );
    const_str_plain_y_bytes = UNSTREAM_STRING( &constant_bin[ 78749 ], 7, 1 );
    const_str_digest_e758bcaa7d01f8d903dbf429b3bd5074 = UNSTREAM_STRING( &constant_bin[ 78756 ], 18, 0 );
    const_str_digest_6caca7af5590aa015d45458963b984bf = UNSTREAM_STRING( &constant_bin[ 78774 ], 26, 0 );
    const_str_digest_1bf116e587cdc6ad6e64c6f66c60023d = UNSTREAM_STRING( &constant_bin[ 66656 ], 3, 0 );
    const_str_plain_Attribute = UNSTREAM_STRING( &constant_bin[ 78800 ], 9, 1 );
    const_str_digest_a670e90c9c664433edfd1a9065d902de = UNSTREAM_STRING( &constant_bin[ 78809 ], 21, 0 );
    const_tuple_str_digest_3d3aff794d74a3637c6b4ce58506d71b_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_3d3aff794d74a3637c6b4ce58506d71b_tuple, 0, const_str_digest_3d3aff794d74a3637c6b4ce58506d71b ); Py_INCREF( const_str_digest_3d3aff794d74a3637c6b4ce58506d71b );
    const_str_digest_d0fdf3f4a534a923717e8e77be564fb5 = UNSTREAM_STRING( &constant_bin[ 78830 ], 22, 0 );
    const_str_digest_b02d146dce2b64dda0d6e019d791e370 = UNSTREAM_STRING( &constant_bin[ 78852 ], 291, 0 );
    const_str_plain_ECDomainParameters = UNSTREAM_STRING( &constant_bin[ 79143 ], 18, 1 );
    const_str_plain__sha1 = UNSTREAM_STRING( &constant_bin[ 16105 ], 5, 1 );
    const_str_digest_5dd6de991a7cb408ddd9f9d9ce3b1ef6 = UNSTREAM_STRING( &constant_bin[ 79161 ], 20, 0 );
    const_str_plain_ECPrivateKey = UNSTREAM_STRING( &constant_bin[ 79181 ], 12, 1 );
    const_str_digest_7f1b57f8570d5bcc6567149f3765e80d = UNSTREAM_STRING( &constant_bin[ 79193 ], 17, 0 );
    const_tuple_str_plain_self_str_plain_params_str_plain_output_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_params_str_plain_output_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_params_str_plain_output_tuple, 1, const_str_plain_params ); Py_INCREF( const_str_plain_params );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_params_str_plain_output_tuple, 2, const_str_plain_output ); Py_INCREF( const_str_plain_output );
    const_str_digest_dfffa57b1c079280c865f4e54db3ec77 = UNSTREAM_STRING( &constant_bin[ 76805 ], 61, 0 );
    const_str_plain_implicit_ca = UNSTREAM_STRING( &constant_bin[ 79210 ], 11, 1 );
    const_str_plain_ECPrivateKeyVersion = UNSTREAM_STRING( &constant_bin[ 79221 ], 19, 1 );
    const_str_digest_55b0940c53121567d386959d91f654fa = UNSTREAM_STRING( &constant_bin[ 79240 ], 23, 0 );
    const_dict_e89840a5cde026eb5086db18bcd1cb73 = _PyDict_NewPresized( 2 );
    PyDict_SetItem( const_dict_e89840a5cde026eb5086db18bcd1cb73, const_str_plain_implicit, const_int_0 );
    PyDict_SetItem( const_dict_e89840a5cde026eb5086db18bcd1cb73, const_str_plain_optional, Py_True );
    assert( PyDict_Size( const_dict_e89840a5cde026eb5086db18bcd1cb73 ) == 2 );
    const_str_plain_sha2 = UNSTREAM_STRING( &constant_bin[ 17061 ], 4, 1 );
    const_tuple_61492fab160e598e15e39520846d5831_tuple = PyTuple_New( 5 );
    PyTuple_SET_ITEM( const_tuple_61492fab160e598e15e39520846d5831_tuple, 0, const_str_plain_secp192r1 ); Py_INCREF( const_str_plain_secp192r1 );
    PyTuple_SET_ITEM( const_tuple_61492fab160e598e15e39520846d5831_tuple, 1, const_str_plain_secp224r1 ); Py_INCREF( const_str_plain_secp224r1 );
    PyTuple_SET_ITEM( const_tuple_61492fab160e598e15e39520846d5831_tuple, 2, const_str_plain_secp256r1 ); Py_INCREF( const_str_plain_secp256r1 );
    PyTuple_SET_ITEM( const_tuple_61492fab160e598e15e39520846d5831_tuple, 3, const_str_plain_secp384r1 ); Py_INCREF( const_str_plain_secp384r1 );
    PyTuple_SET_ITEM( const_tuple_61492fab160e598e15e39520846d5831_tuple, 4, const_str_plain_secp521r1 ); Py_INCREF( const_str_plain_secp521r1 );
    const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple = PyTuple_New( 7 );
    PyTuple_SET_ITEM( const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple, 0, const_str_plain_cls ); Py_INCREF( const_str_plain_cls );
    PyTuple_SET_ITEM( const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple, 1, const_str_plain_x ); Py_INCREF( const_str_plain_x );
    PyTuple_SET_ITEM( const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple, 2, const_str_plain_y ); Py_INCREF( const_str_plain_y );
    const_str_plain_x_bytes = UNSTREAM_STRING( &constant_bin[ 79263 ], 7, 1 );
    PyTuple_SET_ITEM( const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple, 3, const_str_plain_x_bytes ); Py_INCREF( const_str_plain_x_bytes );
    PyTuple_SET_ITEM( const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple, 4, const_str_plain_y_bytes ); Py_INCREF( const_str_plain_y_bytes );
    PyTuple_SET_ITEM( const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple, 5, const_str_plain_num_bytes ); Py_INCREF( const_str_plain_num_bytes );
    PyTuple_SET_ITEM( const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple, 6, const_str_plain_byte_string ); Py_INCREF( const_str_plain_byte_string );
    const_str_digest_a11e48a8f516309a04a701cdfec59bce = UNSTREAM_STRING( &constant_bin[ 79270 ], 18, 0 );
    const_str_plain_tp_basis = UNSTREAM_STRING( &constant_bin[ 79288 ], 8, 1 );
    const_dict_fc766c040c291e927941f45a56c418fe = _PyDict_NewPresized( 2 );
    const_str_digest_00ba9e421b1d9afa06ce64e0a37eafba = UNSTREAM_STRING( &constant_bin[ 79296 ], 9, 0 );
    PyDict_SetItem( const_dict_fc766c040c291e927941f45a56c418fe, const_int_0, const_str_digest_00ba9e421b1d9afa06ce64e0a37eafba );
    const_str_plain_multi = UNSTREAM_STRING( &constant_bin[ 5474 ], 5, 1 );
    PyDict_SetItem( const_dict_fc766c040c291e927941f45a56c418fe, const_int_pos_1, const_str_plain_multi );
    assert( PyDict_Size( const_dict_fc766c040c291e927941f45a56c418fe ) == 2 );
    const_str_plain_prime2 = UNSTREAM_STRING( &constant_bin[ 78087 ], 6, 1 );
    const_str_digest_2dfa87d77d0af11914083c5adf9cf688 = UNSTREAM_STRING( &constant_bin[ 79305 ], 32, 0 );
    const_str_digest_ec1129a74d106b7ff13b974e3af836c1 = UNSTREAM_STRING( &constant_bin[ 79337 ], 58, 0 );
    const_str_digest_f5abcd2d9d9e16aec0fee46649bdc0fe = UNSTREAM_STRING( &constant_bin[ 79395 ], 92, 0 );
    const_str_plain_base_point = UNSTREAM_STRING( &constant_bin[ 79487 ], 10, 1 );
    const_str_digest_1acb6a5d7583e6249d6719b1e169f157 = UNSTREAM_STRING( &constant_bin[ 79497 ], 101, 0 );
    const_str_plain_Curve = UNSTREAM_STRING( &constant_bin[ 2321 ], 5, 1 );
    const_str_plain_encrypted_data = UNSTREAM_STRING( &constant_bin[ 79598 ], 14, 1 );
    const_str_plain_Pentanomial = UNSTREAM_STRING( &constant_bin[ 79612 ], 11, 1 );
    const_str_digest_2fcede1b030bc7dfbc8ca39823e493be = UNSTREAM_STRING( &constant_bin[ 79623 ], 266, 0 );
    const_str_digest_76b515156306057bcf1cc01c6673d8e2 = UNSTREAM_STRING( &constant_bin[ 79889 ], 58, 0 );
    const_str_digest_3a99172a76945b41cf99fbb28ddf9e76 = UNSTREAM_STRING( &constant_bin[ 79947 ], 167, 0 );
    const_str_digest_4125414c50dda3994a181e52688089bc = UNSTREAM_STRING( &constant_bin[ 80114 ], 21, 0 );
    const_str_plain_PublicKeyAlgorithmId = UNSTREAM_STRING( &constant_bin[ 80135 ], 20, 1 );
    const_str_digest_5b84a4e1a1119ff0da6454b8ada41fc3 = UNSTREAM_STRING( &constant_bin[ 24897 ], 20, 0 );
    const_str_digest_14d1e295162c0919a8989cad84e4f4b8 = UNSTREAM_STRING( &constant_bin[ 80155 ], 51, 0 );
    const_tuple_4778246c2e6f4b6dd7a5a05e02ee1844_tuple = PyTuple_New( 4 );
    PyTuple_SET_ITEM( const_tuple_4778246c2e6f4b6dd7a5a05e02ee1844_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_4778246c2e6f4b6dd7a5a05e02ee1844_tuple, 1, const_str_plain_params ); Py_INCREF( const_str_plain_params );
    PyTuple_SET_ITEM( const_tuple_4778246c2e6f4b6dd7a5a05e02ee1844_tuple, 2, const_str_plain_chosen ); Py_INCREF( const_str_plain_chosen );
    PyTuple_SET_ITEM( const_tuple_4778246c2e6f4b6dd7a5a05e02ee1844_tuple, 3, const_str_plain_value ); Py_INCREF( const_str_plain_value );
    const_tuple_str_plain_type_name_str_plain_str_cls_str_plain_byte_cls_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_type_name_str_plain_str_cls_str_plain_byte_cls_tuple, 0, const_str_plain_type_name ); Py_INCREF( const_str_plain_type_name );
    PyTuple_SET_ITEM( const_tuple_str_plain_type_name_str_plain_str_cls_str_plain_byte_cls_tuple, 1, const_str_plain_str_cls ); Py_INCREF( const_str_plain_str_cls );
    PyTuple_SET_ITEM( const_tuple_str_plain_type_name_str_plain_str_cls_str_plain_byte_cls_tuple, 2, const_str_plain_byte_cls ); Py_INCREF( const_str_plain_byte_cls );
    const_str_digest_0d72dd45a82194d5069e25533054270b = UNSTREAM_STRING( &constant_bin[ 80206 ], 30, 0 );
    const_str_plain__public_key_spec = UNSTREAM_STRING( &constant_bin[ 80220 ], 16, 1 );
    const_str_plain_gn_basis = UNSTREAM_STRING( &constant_bin[ 80236 ], 8, 1 );
    const_str_digest_a5eba49cce22a1dfde7fce0f9e0dc3ef = UNSTREAM_STRING( &constant_bin[ 80244 ], 20, 0 );
    const_str_digest_5addfd01d541cce2740b7482cdd9fdb6 = UNSTREAM_STRING( &constant_bin[ 80264 ], 100, 0 );
    const_str_digest_c94860950d152e31470eb175446b8ebe = UNSTREAM_STRING( &constant_bin[ 80364 ], 104, 0 );
    const_str_digest_54c5f949e6f060375bee002a4b16175c = UNSTREAM_STRING( &constant_bin[ 80468 ], 187, 0 );
    const_str_digest_07fbf69b6b4690d2f55094d5b14bb1ec = UNSTREAM_STRING( &constant_bin[ 80655 ], 294, 0 );
    const_str_plain_EncryptedPrivateKeyInfo = UNSTREAM_STRING( &constant_bin[ 80949 ], 23, 1 );
    const_str_digest_52e926ac8ea8bf3750086bcfca45f51b = UNSTREAM_STRING( &constant_bin[ 80972 ], 113, 0 );
    const_str_plain_base_y = UNSTREAM_STRING( &constant_bin[ 81085 ], 6, 1 );
    const_str_digest_93efc2a1c4b6d4a7487a1ee36743b91e = UNSTREAM_STRING( &constant_bin[ 81091 ], 62, 0 );
    const_str_plain_from_coords = UNSTREAM_STRING( &constant_bin[ 80253 ], 11, 1 );
    const_str_plain__fingerprint = UNSTREAM_STRING( &constant_bin[ 81153 ], 12, 1 );
    const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple = PyTuple_New( 7 );
    PyTuple_SET_ITEM( const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple, 1, const_str_plain_data ); Py_INCREF( const_str_plain_data );
    PyTuple_SET_ITEM( const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple, 2, const_str_plain_first_byte ); Py_INCREF( const_str_plain_first_byte );
    const_str_plain_remaining = UNSTREAM_STRING( &constant_bin[ 81165 ], 9, 1 );
    PyTuple_SET_ITEM( const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple, 3, const_str_plain_remaining ); Py_INCREF( const_str_plain_remaining );
    const_str_plain_field_len = UNSTREAM_STRING( &constant_bin[ 40421 ], 9, 1 );
    PyTuple_SET_ITEM( const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple, 4, const_str_plain_field_len ); Py_INCREF( const_str_plain_field_len );
    PyTuple_SET_ITEM( const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple, 5, const_str_plain_x ); Py_INCREF( const_str_plain_x );
    PyTuple_SET_ITEM( const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple, 6, const_str_plain_y ); Py_INCREF( const_str_plain_y );
    const_tuple_46bbd9233fd5addf0305fdb226c3b35d_tuple = PyTuple_New( 5 );
    PyTuple_SET_ITEM( const_tuple_46bbd9233fd5addf0305fdb226c3b35d_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_46bbd9233fd5addf0305fdb226c3b35d_tuple, 1, const_str_plain_key_type ); Py_INCREF( const_str_plain_key_type );
    PyTuple_SET_ITEM( const_tuple_46bbd9233fd5addf0305fdb226c3b35d_tuple, 2, const_str_plain_params ); Py_INCREF( const_str_plain_params );
    PyTuple_SET_ITEM( const_tuple_46bbd9233fd5addf0305fdb226c3b35d_tuple, 3, const_str_plain_key ); Py_INCREF( const_str_plain_key );
    PyTuple_SET_ITEM( const_tuple_46bbd9233fd5addf0305fdb226c3b35d_tuple, 4, const_str_plain_to_hash ); Py_INCREF( const_str_plain_to_hash );
    const_str_plain_cofactor = UNSTREAM_STRING( &constant_bin[ 81174 ], 8, 1 );
    const_str_digest_c68b2b6c22c3779cc784c24717022602 = UNSTREAM_STRING( &constant_bin[ 81182 ], 86, 0 );
    const_str_digest_b595cffa984f580e00ae17e9db6cbfac = UNSTREAM_STRING( &constant_bin[ 81268 ], 106, 0 );
    const_str_plain_prime = UNSTREAM_STRING( &constant_bin[ 2711 ], 5, 1 );
    const_str_plain__elliptic_curve = UNSTREAM_STRING( &constant_bin[ 2207 ], 15, 1 );
    const_set_8649e0c94fbded82396ed856a28bbc1e = PySet_New( NULL );
    const_bytes_chr_3 = UNSTREAM_BYTES( &constant_bin[ 1603 ], 1 );
    PySet_Add( const_set_8649e0c94fbded82396ed856a28bbc1e, const_bytes_chr_3 );
    PySet_Add( const_set_8649e0c94fbded82396ed856a28bbc1e, const_bytes_chr_2 );
    assert( PySet_Size( const_set_8649e0c94fbded82396ed856a28bbc1e ) == 2 );
    const_str_digest_a42969f4c775197fe18bda20b53b1e39 = UNSTREAM_STRING( &constant_bin[ 81374 ], 547, 0 );
    const_str_digest_e30b801756ab116878eb48cb245f8041 = UNSTREAM_STRING( &constant_bin[ 81921 ], 346, 0 );
    const_str_plain_a_an = UNSTREAM_STRING( &constant_bin[ 82267 ], 4, 1 );
    const_str_digest_dd938853cff8f6ec63a1613eab01b438 = UNSTREAM_STRING( &constant_bin[ 82271 ], 60, 0 );
    const_str_plain_OtherPrimeInfo = UNSTREAM_STRING( &constant_bin[ 76580 ], 14, 1 );
    const_str_digest_b09140222e7283941fba649bb5da9191 = UNSTREAM_STRING( &constant_bin[ 82331 ], 19, 0 );
    const_dict_7f186ae15244f0d9f7c9bddb9c7d7da3 = _PyDict_NewPresized( 5 );
    PyDict_SetItem( const_dict_7f186ae15244f0d9f7c9bddb9c7d7da3, const_str_digest_8610103a8657fcf057847084d4917365, const_str_plain_rsa );
    PyDict_SetItem( const_dict_7f186ae15244f0d9f7c9bddb9c7d7da3, const_str_digest_5b84a4e1a1119ff0da6454b8ada41fc3, const_str_plain_rsaes_oaep );
    PyDict_SetItem( const_dict_7f186ae15244f0d9f7c9bddb9c7d7da3, const_str_digest_4c2472c460bb1ae8b5b00c225545ade0, const_str_plain_dsa );
    PyDict_SetItem( const_dict_7f186ae15244f0d9f7c9bddb9c7d7da3, const_str_digest_67526efcdb60c6051d3c4d632ef450e4, const_str_plain_ec );
    const_str_digest_5d994fda90bac65add04d9ccc5833a9b = UNSTREAM_STRING( &constant_bin[ 82350 ], 17, 0 );
    PyDict_SetItem( const_dict_7f186ae15244f0d9f7c9bddb9c7d7da3, const_str_digest_5d994fda90bac65add04d9ccc5833a9b, const_str_plain_dh );
    assert( PyDict_Size( const_dict_7f186ae15244f0d9f7c9bddb9c7d7da3 ) == 5 );
    const_str_digest_ff8b248b59918ce8d761d774c59510c7 = UNSTREAM_STRING( &constant_bin[ 82367 ], 18, 0 );
    const_str_digest_5f3c7c5396fc01aa49bf630b30d53ef7 = UNSTREAM_STRING( &constant_bin[ 82385 ], 295, 0 );
    const_str_plain_EC = UNSTREAM_STRING( &constant_bin[ 1986 ], 2, 1 );
    const_str_digest_e069e2af92b3209a8e84d8b6828c1a2b = UNSTREAM_STRING( &constant_bin[ 82680 ], 214, 0 );
    const_str_digest_b3de898419699138060b6e2375a66835 = UNSTREAM_STRING( &constant_bin[ 82894 ], 275, 0 );
    const_str_digest_e958d9bc0e2129cc90b2ecb4d5e6a7ec = UNSTREAM_STRING( &constant_bin[ 83169 ], 81, 0 );
    const_dict_8ba9d7dbbf4b27829937f8dce51e0f69 = _PyDict_NewPresized( 1 );
    const_str_plain_ecPrivkeyVer1 = UNSTREAM_STRING( &constant_bin[ 83250 ], 13, 1 );
    PyDict_SetItem( const_dict_8ba9d7dbbf4b27829937f8dce51e0f69, const_int_pos_1, const_str_plain_ecPrivkeyVer1 );
    assert( PyDict_Size( const_dict_8ba9d7dbbf4b27829937f8dce51e0f69 ) == 1 );
    const_str_digest_0f5a2f889a3516237cf98b8005c7d01c = UNSTREAM_STRING( &constant_bin[ 83263 ], 194, 0 );
    const_str_plain_basis = UNSTREAM_STRING( &constant_bin[ 65942 ], 5, 1 );
    const_tuple_str_digest_e958d9bc0e2129cc90b2ecb4d5e6a7ec_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_e958d9bc0e2129cc90b2ecb4d5e6a7ec_tuple, 0, const_str_digest_e958d9bc0e2129cc90b2ecb4d5e6a7ec ); Py_INCREF( const_str_digest_e958d9bc0e2129cc90b2ecb4d5e6a7ec );
    const_str_digest_78dfca51b91d1e7de47d0af4024efb6e = UNSTREAM_STRING( &constant_bin[ 83457 ], 58, 0 );
    const_str_digest_6537508676d5b583406dee7181efc7d5 = UNSTREAM_STRING( &constant_bin[ 83515 ], 61, 0 );
    const_str_digest_1d9f17a2499c57d5ee2083c9e1cdf7c3 = UNSTREAM_STRING( &constant_bin[ 83576 ], 88, 0 );
    const_str_plain_k3 = UNSTREAM_STRING( &constant_bin[ 83664 ], 2, 1 );
    const_str_plain_NamedCurve = UNSTREAM_STRING( &constant_bin[ 83666 ], 10, 1 );
    const_dict_358c8392f97c9c9ab13928ad959c95a7 = _PyDict_NewPresized( 3 );
    PyDict_SetItem( const_dict_358c8392f97c9c9ab13928ad959c95a7, const_str_digest_8610103a8657fcf057847084d4917365, const_str_plain_rsa );
    PyDict_SetItem( const_dict_358c8392f97c9c9ab13928ad959c95a7, const_str_digest_4c2472c460bb1ae8b5b00c225545ade0, const_str_plain_dsa );
    PyDict_SetItem( const_dict_358c8392f97c9c9ab13928ad959c95a7, const_str_digest_67526efcdb60c6051d3c4d632ef450e4, const_str_plain_ec );
    assert( PyDict_Size( const_dict_358c8392f97c9c9ab13928ad959c95a7 ) == 3 );
    const_str_digest_5d4ef91b439796188775585c637d54c4 = UNSTREAM_STRING( &constant_bin[ 83676 ], 242, 0 );
    const_tuple_str_plain_self_str_plain_key_type_str_plain_a_an_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_key_type_str_plain_a_an_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_key_type_str_plain_a_an_tuple, 1, const_str_plain_key_type ); Py_INCREF( const_str_plain_key_type );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_key_type_str_plain_a_an_tuple, 2, const_str_plain_a_an ); Py_INCREF( const_str_plain_a_an );
    const_str_plain_ValidationParms = UNSTREAM_STRING( &constant_bin[ 83918 ], 15, 1 );
    const_str_plain_coefficient = UNSTREAM_STRING( &constant_bin[ 83933 ], 11, 1 );
    const_str_plain_curve_type = UNSTREAM_STRING( &constant_bin[ 83944 ], 10, 1 );
    const_str_plain_base_x = UNSTREAM_STRING( &constant_bin[ 83954 ], 6, 1 );
    const_str_digest_4fdd4f1c542fb189af1bd018fd971eb5 = UNSTREAM_STRING( &constant_bin[ 83960 ], 345, 0 );
    const_str_digest_e7b9ae645fa91ac4d8bac023175f4516 = UNSTREAM_STRING( &constant_bin[ 84305 ], 230, 0 );
    const_str_plain_PublicKeyAlgorithm = UNSTREAM_STRING( &constant_bin[ 80135 ], 18, 1 );
    const_str_digest_e89664880d1358c3887524e97e1b026b = UNSTREAM_STRING( &constant_bin[ 84535 ], 130, 0 );
    const_str_plain_SpecifiedECDomain = UNSTREAM_STRING( &constant_bin[ 81820 ], 17, 1 );
    const_tuple_str_digest_e89664880d1358c3887524e97e1b026b_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_e89664880d1358c3887524e97e1b026b_tuple, 0, const_str_digest_e89664880d1358c3887524e97e1b026b ); Py_INCREF( const_str_digest_e89664880d1358c3887524e97e1b026b );
    const_str_digest_4dbafb397a3ef338e376d6626413d1a4 = UNSTREAM_STRING( &constant_bin[ 84665 ], 58, 0 );
    const_str_digest_db6b68631cf3f38961d4a2283a30f642 = UNSTREAM_STRING( &constant_bin[ 84723 ], 87, 0 );
    const_str_digest_223b311df80c4a1255700b97994a39c0 = UNSTREAM_STRING( &constant_bin[ 84810 ], 82, 0 );
    const_str_digest_a858a9d35e67fdda8749fe5270e56bc5 = UNSTREAM_STRING( &constant_bin[ 84892 ], 23, 0 );
    const_str_digest_690742ce2de7b4d9d68cc30128ea9f74 = UNSTREAM_STRING( &constant_bin[ 84915 ], 34, 0 );
    const_str_digest_322639caefea82e2c4c0804f7d74fb76 = UNSTREAM_STRING( &constant_bin[ 84949 ], 25, 0 );
    const_str_plain_PrivateKeyInfo = UNSTREAM_STRING( &constant_bin[ 75792 ], 14, 1 );
    const_str_plain_public_key_info = UNSTREAM_STRING( &constant_bin[ 77104 ], 15, 1 );
    const_str_plain__bit_size = UNSTREAM_STRING( &constant_bin[ 84974 ], 9, 1 );
    const_str_plain_to_coords = UNSTREAM_STRING( &constant_bin[ 79279 ], 9, 1 );
    const_str_digest_929a672048f66fa4e652c8efac7cfdc9 = UNSTREAM_STRING( &constant_bin[ 84983 ], 5, 0 );
    const_str_digest_327f6391f74e8affc7542679f205ec2e = UNSTREAM_STRING( &constant_bin[ 76251 ], 17, 0 );
    const_str_plain_pgen_counter = UNSTREAM_STRING( &constant_bin[ 84988 ], 12, 1 );
    const_str_plain_SpecifiedECDomainVersion = UNSTREAM_STRING( &constant_bin[ 85000 ], 24, 1 );
    const_str_plain__compute_public_key = UNSTREAM_STRING( &constant_bin[ 84930 ], 19, 1 );
    const_str_digest_75a3b88728159042960f38af095a775f = UNSTREAM_STRING( &constant_bin[ 85024 ], 23, 0 );
    const_str_digest_8042122b045af3168783ef31f1c15f92 = UNSTREAM_STRING( &constant_bin[ 85047 ], 145, 0 );
    const_str_digest_54aca1b98e28ccf6683291fe12f196c6 = UNSTREAM_STRING( &constant_bin[ 85192 ], 109, 0 );
    const_str_plain_an = UNSTREAM_STRING( &constant_bin[ 27 ], 2, 1 );
    const_str_plain_ECPoint = UNSTREAM_STRING( &constant_bin[ 76173 ], 7, 1 );
    const_str_plain_other_prime_infos = UNSTREAM_STRING( &constant_bin[ 85301 ], 17, 1 );
    const_str_digest_d8998442316b8eede93e26b5edaa5a4a = UNSTREAM_STRING( &constant_bin[ 85318 ], 24, 0 );
    const_str_digest_a73436459f6b32f97365f8ef8b125f86 = UNSTREAM_STRING( &constant_bin[ 85342 ], 20, 0 );
    const_tuple_str_plain_self_str_plain_prime_str_plain_modulus_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_prime_str_plain_modulus_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_prime_str_plain_modulus_tuple, 1, const_str_plain_prime ); Py_INCREF( const_str_plain_prime );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_prime_str_plain_modulus_tuple, 2, const_str_plain_modulus ); Py_INCREF( const_str_plain_modulus );
    const_tuple_str_plain_self_str_plain_parameters_str_plain_byte_len_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_parameters_str_plain_byte_len_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_parameters_str_plain_byte_len_tuple, 1, const_str_plain_parameters ); Py_INCREF( const_str_plain_parameters );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_parameters_str_plain_byte_len_tuple, 2, const_str_plain_byte_len ); Py_INCREF( const_str_plain_byte_len );
    const_str_plain_PrivateKeyAlgorithmId = UNSTREAM_STRING( &constant_bin[ 85212 ], 21, 1 );
    const_str_digest_43089fc8b3a03470c55e40b7891aea70 = UNSTREAM_STRING( &constant_bin[ 85362 ], 116, 0 );
    const_str_plain_validation_params = UNSTREAM_STRING( &constant_bin[ 85478 ], 17, 1 );
    const_str_digest_222a297efa3c673d0a4be0ada885dcb5 = UNSTREAM_STRING( &constant_bin[ 85495 ], 20, 0 );
    const_str_digest_1344c1f9eb1cd8c07885d6634a6aa599 = UNSTREAM_STRING( &constant_bin[ 85515 ], 275, 0 );
    const_str_digest_a4b210775cb0ec61c86653c818045cf4 = UNSTREAM_STRING( &constant_bin[ 85790 ], 85, 0 );
    const_str_plain_exponent2 = UNSTREAM_STRING( &constant_bin[ 85875 ], 9, 1 );
    const_str_plain_CharacteristicTwo = UNSTREAM_STRING( &constant_bin[ 76866 ], 17, 1 );
    const_str_digest_8db375950c7509a247c57784722e1209 = UNSTREAM_STRING( &constant_bin[ 85884 ], 96, 0 );
    const_str_plain__private_key_spec = UNSTREAM_STRING( &constant_bin[ 79320 ], 17, 1 );
    const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple = PyTuple_New( 10 );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 1, const_str_plain_params ); Py_INCREF( const_str_plain_params );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 2, const_str_plain_key ); Py_INCREF( const_str_plain_key );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 3, const_str_plain_curve_type ); Py_INCREF( const_str_plain_curve_type );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 4, const_str_plain_details ); Py_INCREF( const_str_plain_details );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 5, const_str_plain_curve ); Py_INCREF( const_str_plain_curve );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 6, const_str_plain_base_x ); Py_INCREF( const_str_plain_base_x );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 7, const_str_plain_base_y ); Py_INCREF( const_str_plain_base_y );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 8, const_str_plain_base_point ); Py_INCREF( const_str_plain_base_point );
    const_str_plain_public_point = UNSTREAM_STRING( &constant_bin[ 85980 ], 12, 1 );
    PyTuple_SET_ITEM( const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 9, const_str_plain_public_point ); Py_INCREF( const_str_plain_public_point );
    const_dict_d6786db0217579c2cb844b9b4ddcccf6 = _PyDict_NewPresized( 2 );
    PyDict_SetItem( const_dict_d6786db0217579c2cb844b9b4ddcccf6, const_str_digest_7f1b57f8570d5bcc6567149f3765e80d, const_str_plain_prime_field );
    PyDict_SetItem( const_dict_d6786db0217579c2cb844b9b4ddcccf6, const_str_digest_327f6391f74e8affc7542679f205ec2e, const_str_plain_characteristic_two_field );
    assert( PyDict_Size( const_dict_d6786db0217579c2cb844b9b4ddcccf6 ) == 2 );
    const_str_digest_6c7a05edbd9f7192d6cc5e5bab4a5c8e = UNSTREAM_STRING( &constant_bin[ 85992 ], 82, 0 );
    const_str_digest_f2307e7c7ba3872bdfe5ece119c6417f = UNSTREAM_STRING( &constant_bin[ 86074 ], 23, 0 );
    const_str_plain_DomainParameters = UNSTREAM_STRING( &constant_bin[ 79145 ], 16, 1 );
    const_str_plain_bit_size = UNSTREAM_STRING( &constant_bin[ 78844 ], 8, 1 );
    const_str_digest_2f4cb4eba960cf9aa9f614dd5336e19e = UNSTREAM_STRING( &constant_bin[ 86097 ], 75, 0 );
    const_str_plain_prime1 = UNSTREAM_STRING( &constant_bin[ 78021 ], 6, 1 );
    const_tuple_str_plain_self_str_plain_byte_len_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_byte_len_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_byte_len_tuple, 1, const_str_plain_byte_len ); Py_INCREF( const_str_plain_byte_len );
    const_tuple_870066b178f13a66ba43a370b01a6f01_tuple = PyTuple_New( 5 );
    PyTuple_SET_ITEM( const_tuple_870066b178f13a66ba43a370b01a6f01_tuple, 0, const_str_plain_cls ); Py_INCREF( const_str_plain_cls );
    PyTuple_SET_ITEM( const_tuple_870066b178f13a66ba43a370b01a6f01_tuple, 1, const_str_plain_public_key ); Py_INCREF( const_str_plain_public_key );
    PyTuple_SET_ITEM( const_tuple_870066b178f13a66ba43a370b01a6f01_tuple, 2, const_str_plain_algorithm ); Py_INCREF( const_str_plain_algorithm );
    PyTuple_SET_ITEM( const_tuple_870066b178f13a66ba43a370b01a6f01_tuple, 3, const_str_plain_algo ); Py_INCREF( const_str_plain_algo );
    PyTuple_SET_ITEM( const_tuple_870066b178f13a66ba43a370b01a6f01_tuple, 4, const_str_plain_container ); Py_INCREF( const_str_plain_container );
    const_str_digest_c4d8f135eb39909f018c0cb7474ae696 = UNSTREAM_STRING( &constant_bin[ 86172 ], 137, 0 );
    const_str_plain_seed = UNSTREAM_STRING( &constant_bin[ 86309 ], 4, 1 );
    const_str_digest_8d6cf8ba45dc3527a141eaa9a62053cf = UNSTREAM_STRING( &constant_bin[ 86313 ], 61, 0 );
    const_tuple_str_digest_8042122b045af3168783ef31f1c15f92_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_8042122b045af3168783ef31f1c15f92_tuple, 0, const_str_digest_8042122b045af3168783ef31f1c15f92 ); Py_INCREF( const_str_digest_8042122b045af3168783ef31f1c15f92 );
    const_str_plain_field_id = UNSTREAM_STRING( &constant_bin[ 41205 ], 8, 1 );
    const_str_digest_d5c4ff7d1138797719ed9d9fcc558d55 = UNSTREAM_STRING( &constant_bin[ 86374 ], 11, 0 );
    const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple = PyTuple_New( 7 );
    PyTuple_SET_ITEM( const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple, 0, const_str_plain_SECP192R1_BASE_POINT ); Py_INCREF( const_str_plain_SECP192R1_BASE_POINT );
    PyTuple_SET_ITEM( const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple, 1, const_str_plain_SECP224R1_BASE_POINT ); Py_INCREF( const_str_plain_SECP224R1_BASE_POINT );
    PyTuple_SET_ITEM( const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple, 2, const_str_plain_SECP256R1_BASE_POINT ); Py_INCREF( const_str_plain_SECP256R1_BASE_POINT );
    PyTuple_SET_ITEM( const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple, 3, const_str_plain_SECP384R1_BASE_POINT ); Py_INCREF( const_str_plain_SECP384R1_BASE_POINT );
    PyTuple_SET_ITEM( const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple, 4, const_str_plain_SECP521R1_BASE_POINT ); Py_INCREF( const_str_plain_SECP521R1_BASE_POINT );
    PyTuple_SET_ITEM( const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple, 5, const_str_plain_PrimeCurve ); Py_INCREF( const_str_plain_PrimeCurve );
    PyTuple_SET_ITEM( const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple, 6, const_str_plain_PrimePoint ); Py_INCREF( const_str_plain_PrimePoint );
    const_str_digest_ccbe969184452b2e900daa5eb024f15e = UNSTREAM_STRING( &constant_bin[ 84834 ], 58, 0 );
    const_str_digest_07bbd023e0156f052c69d180eb0cfe60 = UNSTREAM_STRING( &constant_bin[ 86385 ], 85, 0 );
    const_str_digest_5d73b58352d38f5fcdce2b4c5e1d9143 = UNSTREAM_STRING( &constant_bin[ 86470 ], 82, 0 );
    const_str_plain_exponent1 = UNSTREAM_STRING( &constant_bin[ 86552 ], 9, 1 );
    const_str_digest_b47e3d7166e51a227677f98f9d05e5ce = UNSTREAM_STRING( &constant_bin[ 85241 ], 60, 0 );
    const_str_plain_private_key_algorithm = UNSTREAM_STRING( &constant_bin[ 86561 ], 21, 1 );
    const_str_plain_named = UNSTREAM_STRING( &constant_bin[ 65541 ], 5, 1 );
    const_tuple_ef3394628cb9a6a94ffd2eb69d8a7cf1_tuple = PyTuple_New( 4 );
    PyTuple_SET_ITEM( const_tuple_ef3394628cb9a6a94ffd2eb69d8a7cf1_tuple, 0, const_str_plain__ForceNullParameters ); Py_INCREF( const_str_plain__ForceNullParameters );
    PyTuple_SET_ITEM( const_tuple_ef3394628cb9a6a94ffd2eb69d8a7cf1_tuple, 1, const_str_plain_DigestAlgorithm ); Py_INCREF( const_str_plain_DigestAlgorithm );
    PyTuple_SET_ITEM( const_tuple_ef3394628cb9a6a94ffd2eb69d8a7cf1_tuple, 2, const_str_plain_EncryptionAlgorithm ); Py_INCREF( const_str_plain_EncryptionAlgorithm );
    PyTuple_SET_ITEM( const_tuple_ef3394628cb9a6a94ffd2eb69d8a7cf1_tuple, 3, const_str_plain_RSAESOAEPParams ); Py_INCREF( const_str_plain_RSAESOAEPParams );
    const_str_digest_12897d9027e8af1ba979c97940529a74 = UNSTREAM_STRING( &constant_bin[ 86582 ], 79, 0 );
    const_str_digest_674824fe6f207c8becf684aa51baa41e = UNSTREAM_STRING( &constant_bin[ 86661 ], 85, 0 );
    const_tuple_str_plain__ECPoint_tuple_empty_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain__ECPoint_tuple_empty_tuple, 0, const_str_plain__ECPoint ); Py_INCREF( const_str_plain__ECPoint );
    PyTuple_SET_ITEM( const_tuple_str_plain__ECPoint_tuple_empty_tuple, 1, const_tuple_empty ); Py_INCREF( const_tuple_empty );
    const_str_plain_byte_size = UNSTREAM_STRING( &constant_bin[ 79254 ], 9, 1 );
    const_dict_d63a121f731656c202363b32071b0671 = _PyDict_NewPresized( 3 );
    PyDict_SetItem( const_dict_d63a121f731656c202363b32071b0671, const_str_digest_a670e90c9c664433edfd1a9065d902de, const_str_plain_gn_basis );
    PyDict_SetItem( const_dict_d63a121f731656c202363b32071b0671, const_str_digest_bebfe4fc0e4d51d82737cf29eb967d68, const_str_plain_tp_basis );
    PyDict_SetItem( const_dict_d63a121f731656c202363b32071b0671, const_str_digest_4125414c50dda3994a181e52688089bc, const_str_plain_pp_basis );
    assert( PyDict_Size( const_dict_d63a121f731656c202363b32071b0671 ) == 3 );
    const_tuple_str_plain_basis_str_plain_parameters_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_basis_str_plain_parameters_tuple, 0, const_str_plain_basis ); Py_INCREF( const_str_plain_basis );
    PyTuple_SET_ITEM( const_tuple_str_plain_basis_str_plain_parameters_tuple, 1, const_str_plain_parameters ); Py_INCREF( const_str_plain_parameters );
    const_str_plain_DSAParams = UNSTREAM_STRING( &constant_bin[ 86746 ], 9, 1 );

    constants_created = true;
}

#ifndef __NUITKA_NO_ASSERT__
void checkModuleConstants_asn1crypto$keys( void )
{
    // The module may not have been used at all.
    if (constants_created == false) return;


}
#endif

// The module code objects.
static PyCodeObject *codeobj_cf5bf2f534c650a2176269f5b3860511;
static PyCodeObject *codeobj_3255315aa1216e9ee821a1f6cdfd5f49;
static PyCodeObject *codeobj_bd016beb59a2fc17c0e073d38fa6518e;
static PyCodeObject *codeobj_a3bdbf9cc342a6508cc43b6f3eac39a1;
static PyCodeObject *codeobj_da33c70c0ccab83814db26067f8bf129;
static PyCodeObject *codeobj_9c6b8a1b5b525220b295a0af710ed0be;
static PyCodeObject *codeobj_35533ecef68d7d5a23ebdd360e308ddc;
static PyCodeObject *codeobj_dab9574ff061a993ee95206778c30aac;
static PyCodeObject *codeobj_15d7cb43c14c279363c99db0057de4d2;
static PyCodeObject *codeobj_65d16e056741f7f573908c8fd9ce77eb;
static PyCodeObject *codeobj_19de530795d0c7cdddac2a941436faa3;
static PyCodeObject *codeobj_522ae78f39acaf1efdba4ff31c3f161f;
static PyCodeObject *codeobj_d50510642a34d2a2ba25fde794bfff40;
static PyCodeObject *codeobj_da2e20796a35fbacfc405bbccd114f27;
static PyCodeObject *codeobj_fde49e0ed0f66a886469861ac70d5128;
static PyCodeObject *codeobj_b59376757203eda2910bcf10fc6e7826;
static PyCodeObject *codeobj_e867e089942b88a6791a96719c030556;
static PyCodeObject *codeobj_7e91bd986ac2503eae60e6459f1c6923;
static PyCodeObject *codeobj_59e10c086874815c1d98d6ef5bfc133b;
static PyCodeObject *codeobj_a6738716f277793498fb1a6edeb14a74;
static PyCodeObject *codeobj_d9f931ba84bc97837e4f2d8933b0221d;
static PyCodeObject *codeobj_f440fc6d1f94dddf9550081ffcfd724c;
static PyCodeObject *codeobj_35a9bb2556c9cfd4384040c9780cb3db;
static PyCodeObject *codeobj_4194eb0757b9bff460b1bd05ed44cd67;
static PyCodeObject *codeobj_ecc1927e64c5ceca026400bb56facb78;
static PyCodeObject *codeobj_67895bdc1f5f0572193aced6a6c70bee;
static PyCodeObject *codeobj_f6c7516523489b525b47f38caeee5a81;
static PyCodeObject *codeobj_5d552787634774d4ed8dfe16ef2489f5;
static PyCodeObject *codeobj_2579abb66f64b36c9c64dd327feb4834;
static PyCodeObject *codeobj_013a67a026589514b2d1728ec2c317e3;
static PyCodeObject *codeobj_05ecca324a47f085a042d0b5e290c994;
static PyCodeObject *codeobj_398c8b28f70d79b8d6c2cfd2bda29956;
static PyCodeObject *codeobj_8b123ff87487ec53decab93bda709771;
static PyCodeObject *codeobj_f94d17b0b16fbf33548cdaa0b4f52613;
static PyCodeObject *codeobj_d0b97ff3084a201b4b2a0b0dfcac3553;
static PyCodeObject *codeobj_128796d55b1a6c422907957318106159;
static PyCodeObject *codeobj_f591dca1116a2747e0fe8c6c5609d402;
static PyCodeObject *codeobj_664287ffb80c88fb25456240f250c00f;
static PyCodeObject *codeobj_54eeb9638ceea0f1d9017d9708e25d8f;
static PyCodeObject *codeobj_3b085a702e4441e871b7a7da604be517;
static PyCodeObject *codeobj_b85ea0285569388236e7997105fca799;
static PyCodeObject *codeobj_eb35e9abf683e22bb85afb18d16216bd;
static PyCodeObject *codeobj_9a85b43a7d03589d595f1ac90c0fcf8a;
static PyCodeObject *codeobj_725ac334d68543c5b40000df928b75ee;
static PyCodeObject *codeobj_dfc351d1af6fcb8438f8fb2f621afb20;
static PyCodeObject *codeobj_878fc93c25c9d516d61471b6239f1591;
static PyCodeObject *codeobj_4aa95320459387d2e17bdfe773acced1;
static PyCodeObject *codeobj_9915ce2c584fbe748c60183574845518;
static PyCodeObject *codeobj_cdcee95a7e4125cdb2c7ce8a3052a834;
static PyCodeObject *codeobj_a29019ed0c31f38dcf6b907a77bc2019;
static PyCodeObject *codeobj_9b7ed5d16b5c925276eb54143f11b38f;
static PyCodeObject *codeobj_63970a3baa99646de643cea3d35eb1c9;
static PyCodeObject *codeobj_1ed7c931a0207c478533824e991fb9c9;
static PyCodeObject *codeobj_ce35018a95f583c5a775782ab52b36f0;
static PyCodeObject *codeobj_c716219dcc7e6f4c6e376a0375d11635;
static PyCodeObject *codeobj_3ef117a3ce2dacc31a0b7d616a129ff8;
static PyCodeObject *codeobj_30d373914fe863d927013c310f0821a8;

static void createModuleCodeObjects(void)
{
    module_filename_obj = const_str_digest_14d1e295162c0919a8989cad84e4f4b8;
    codeobj_cf5bf2f534c650a2176269f5b3860511 = MAKE_CODEOBJ( module_filename_obj, const_str_digest_36cae667db9b0feaf9ef5996537d9a6a, 1, const_tuple_empty, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_3255315aa1216e9ee821a1f6cdfd5f49 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_Attribute, 435, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_bd016beb59a2fc17c0e073d38fa6518e = MAKE_CODEOBJ( module_filename_obj, const_str_plain_Attributes, 446, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a3bdbf9cc342a6508cc43b6f3eac39a1 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_CharacteristicTwo, 264, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_da33c70c0ccab83814db26067f8bf129 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_CharacteristicTwoBasis, 239, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_9c6b8a1b5b525220b295a0af710ed0be = MAKE_CODEOBJ( module_filename_obj, const_str_plain_Curve, 301, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_35533ecef68d7d5a23ebdd360e308ddc = MAKE_CODEOBJ( module_filename_obj, const_str_plain_DSAParams, 420, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_dab9574ff061a993ee95206778c30aac = MAKE_CODEOBJ( module_filename_obj, const_str_plain_DSAPrivateKey, 116, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_15d7cb43c14c279363c99db0057de4d2 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_DomainParameters, 910, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_65d16e056741f7f573908c8fd9ce77eb = MAKE_CODEOBJ( module_filename_obj, const_str_plain_ECDomainParameters, 384, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_19de530795d0c7cdddac2a941436faa3 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_ECPrivateKey, 407, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_522ae78f39acaf1efdba4ff31c3f161f = MAKE_CODEOBJ( module_filename_obj, const_str_plain_ECPrivateKeyVersion, 396, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_d50510642a34d2a2ba25fde794bfff40 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_EncryptedPrivateKeyInfo, 886, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_da2e20796a35fbacfc405bbccd114f27 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_FieldID, 284, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_fde49e0ed0f66a886469861ac70d5128 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_FieldType, 227, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_b59376757203eda2910bcf10fc6e7826 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_NamedCurve, 329, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_e867e089942b88a6791a96719c030556 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_OtherPrimeInfo, 54, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_7e91bd986ac2503eae60e6459f1c6923 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_OtherPrimeInfos, 66, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_59e10c086874815c1d98d6ef5bfc133b = MAKE_CODEOBJ( module_filename_obj, const_str_plain_Pentanomial, 252, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a6738716f277793498fb1a6edeb14a74 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_PrivateKeyAlgorithm, 473, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_d9f931ba84bc97837e4f2d8933b0221d = MAKE_CODEOBJ( module_filename_obj, const_str_plain_PrivateKeyAlgorithmId, 454, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_f440fc6d1f94dddf9550081ffcfd724c = MAKE_CODEOBJ( module_filename_obj, const_str_plain_PrivateKeyInfo, 491, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_35a9bb2556c9cfd4384040c9780cb3db = MAKE_CODEOBJ( module_filename_obj, const_str_plain_PublicKeyAlgorithm, 944, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_4194eb0757b9bff460b1bd05ed44cd67 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_PublicKeyAlgorithmId, 924, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_ecc1927e64c5ceca026400bb56facb78 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_PublicKeyInfo, 964, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_67895bdc1f5f0572193aced6a6c70bee = MAKE_CODEOBJ( module_filename_obj, const_str_plain_RSAPrivateKey, 86, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_f6c7516523489b525b47f38caeee5a81 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_RSAPrivateKeyVersion, 74, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_5d552787634774d4ed8dfe16ef2489f5 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_RSAPublicKey, 105, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_2579abb66f64b36c9c64dd327feb4834 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_SpecifiedECDomain, 313, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_013a67a026589514b2d1728ec2c317e3 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_SpecifiedECDomainVersion, 216, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_05ecca324a47f085a042d0b5e290c994 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_ValidationParms, 899, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_398c8b28f70d79b8d6c2cfd2bda29956 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__ECPoint, 136, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_8b123ff87487ec53decab93bda709771 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__compute_public_key, 588, const_tuple_b3a0f7a4865f15edc75431f745cba115_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_f94d17b0b16fbf33548cdaa0b4f52613 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__private_key_spec, 503, const_tuple_str_plain_self_str_plain_algorithm_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_d0b97ff3084a201b4b2a0b0dfcac3553 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__public_key_spec, 975, const_tuple_str_plain_self_str_plain_algorithm_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_128796d55b1a6c422907957318106159 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_algorithm, 750, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_f591dca1116a2747e0fe8c6c5609d402 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_algorithm, 1128, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_664287ffb80c88fb25456240f250c00f = MAKE_CODEOBJ( module_filename_obj, const_str_plain_bit_size, 761, const_tuple_str_plain_self_str_plain_prime_str_plain_modulus_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_54eeb9638ceea0f1d9017d9708e25d8f = MAKE_CODEOBJ( module_filename_obj, const_str_plain_bit_size, 1139, const_tuple_str_plain_self_str_plain_prime_str_plain_modulus_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_3b085a702e4441e871b7a7da604be517 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_byte_size, 781, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_b85ea0285569388236e7997105fca799 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_byte_size, 1161, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_eb35e9abf683e22bb85afb18d16216bd = MAKE_CODEOBJ( module_filename_obj, const_str_plain_curve, 690, const_tuple_4778246c2e6f4b6dd7a5a05e02ee1844_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_9a85b43a7d03589d595f1ac90c0fcf8a = MAKE_CODEOBJ( module_filename_obj, const_str_plain_curve, 1063, const_tuple_4778246c2e6f4b6dd7a5a05e02ee1844_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_725ac334d68543c5b40000df928b75ee = MAKE_CODEOBJ( module_filename_obj, const_str_plain_fingerprint, 825, const_tuple_c4d48b893947fb0159d802907efba01c_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_dfc351d1af6fcb8438f8fb2f621afb20 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_fingerprint, 1192, const_tuple_46bbd9233fd5addf0305fdb226c3b35d_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_878fc93c25c9d516d61471b6239f1591 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_from_coords, 144, const_tuple_d2a21bfd7e07afd49bf0ab1a70efbb12_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_4aa95320459387d2e17bdfe773acced1 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_hash_algo, 724, const_tuple_str_plain_self_str_plain_byte_len_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_9915ce2c584fbe748c60183574845518 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_hash_algo, 1097, const_tuple_str_plain_self_str_plain_parameters_str_plain_byte_len_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_cdcee95a7e4125cdb2c7ce8a3052a834 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_public_key, 790, const_tuple_str_plain_self_str_plain_key_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a29019ed0c31f38dcf6b907a77bc2019 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_public_key_info, 810, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_9b7ed5d16b5c925276eb54143f11b38f = MAKE_CODEOBJ( module_filename_obj, const_str_plain_sha1, 1170, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_63970a3baa99646de643cea3d35eb1c9 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_sha256, 1181, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_1ed7c931a0207c478533824e991fb9c9 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_to_coords, 171, const_tuple_f0a0a86106e846dbf625ea6da1f41bab_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_ce35018a95f583c5a775782ab52b36f0 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_unwrap, 661, const_tuple_str_plain_self_str_plain_params_str_plain_output_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_c716219dcc7e6f4c6e376a0375d11635 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_unwrap, 1040, const_tuple_str_plain_self_str_plain_key_type_str_plain_a_an_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_3ef117a3ce2dacc31a0b7d616a129ff8 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_wrap, 520, const_tuple_62601ba44be370505aa4b7024ec9a765_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_30d373914fe863d927013c310f0821a8 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_wrap, 997, const_tuple_870066b178f13a66ba43a370b01a6f01_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
}

// The module function declarations.
NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_1__mro_entries_conversion( PyObject **python_pars );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_10_bit_size(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_11_byte_size(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_12_public_key(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_13_public_key_info(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_14_fingerprint(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_15__public_key_spec(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_16_wrap(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_17_unwrap(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_18_curve(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_19_hash_algo(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_1_from_coords(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_20_algorithm(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_21_bit_size(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_22_byte_size(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_23_sha1(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_24_sha256(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_25_fingerprint(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_2_to_coords(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_3__private_key_spec(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_4_wrap(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_5__compute_public_key(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_6_unwrap(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_7_curve(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_8_hash_algo(  );


static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_9_algorithm(  );


// The module function definitions.
static PyObject *impl_asn1crypto$keys$$$function_1_from_coords( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_cls = python_pars[ 0 ];
    PyObject *par_x = python_pars[ 1 ];
    PyObject *par_y = python_pars[ 2 ];
    PyObject *var_x_bytes = NULL;
    PyObject *var_y_bytes = NULL;
    PyObject *var_num_bytes = NULL;
    PyObject *var_byte_string = NULL;
    struct Nuitka_FrameObject *frame_878fc93c25c9d516d61471b6239f1591;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_878fc93c25c9d516d61471b6239f1591 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_878fc93c25c9d516d61471b6239f1591, codeobj_878fc93c25c9d516d61471b6239f1591, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_878fc93c25c9d516d61471b6239f1591 = cache_frame_878fc93c25c9d516d61471b6239f1591;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_878fc93c25c9d516d61471b6239f1591 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_878fc93c25c9d516d61471b6239f1591 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_int_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_left_name_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_source_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_right_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 160;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_1;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_ceil );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 160;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_2 == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 160;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = tmp_mvar_value_2;
    tmp_called_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_log );
    if ( tmp_called_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 160;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( par_x == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        Py_DECREF( tmp_called_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "x" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 160;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = par_x;
    tmp_args_element_name_3 = const_int_pos_2;
    frame_878fc93c25c9d516d61471b6239f1591->m_frame.f_lineno = 160;
    {
        PyObject *call_args[] = { tmp_args_element_name_2, tmp_args_element_name_3 };
        tmp_left_name_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_called_name_2 );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 160;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_float_8_0;
    tmp_args_element_name_1 = BINARY_OPERATION_TRUEDIV( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_args_element_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 160;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_878fc93c25c9d516d61471b6239f1591->m_frame.f_lineno = 160;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_int_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_int_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 160;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_1 = PyNumber_Int( tmp_int_arg_1 );
    Py_DECREF( tmp_int_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 160;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_x_bytes == NULL );
    var_x_bytes = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_int_arg_2;
    PyObject *tmp_called_name_3;
    PyObject *tmp_source_name_3;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_4;
    PyObject *tmp_left_name_2;
    PyObject *tmp_called_name_4;
    PyObject *tmp_source_name_4;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_args_element_name_6;
    PyObject *tmp_right_name_2;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 161;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = tmp_mvar_value_3;
    tmp_called_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_ceil );
    if ( tmp_called_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 161;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_4 == NULL )
    {
        Py_DECREF( tmp_called_name_3 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 161;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_4 = tmp_mvar_value_4;
    tmp_called_name_4 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_log );
    if ( tmp_called_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_3 );

        exception_lineno = 161;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( par_y == NULL )
    {
        Py_DECREF( tmp_called_name_3 );
        Py_DECREF( tmp_called_name_4 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "y" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 161;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_5 = par_y;
    tmp_args_element_name_6 = const_int_pos_2;
    frame_878fc93c25c9d516d61471b6239f1591->m_frame.f_lineno = 161;
    {
        PyObject *call_args[] = { tmp_args_element_name_5, tmp_args_element_name_6 };
        tmp_left_name_2 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_4, call_args );
    }

    Py_DECREF( tmp_called_name_4 );
    if ( tmp_left_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_3 );

        exception_lineno = 161;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_2 = const_float_8_0;
    tmp_args_element_name_4 = BINARY_OPERATION_TRUEDIV( tmp_left_name_2, tmp_right_name_2 );
    Py_DECREF( tmp_left_name_2 );
    if ( tmp_args_element_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_3 );

        exception_lineno = 161;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_878fc93c25c9d516d61471b6239f1591->m_frame.f_lineno = 161;
    {
        PyObject *call_args[] = { tmp_args_element_name_4 };
        tmp_int_arg_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

    Py_DECREF( tmp_called_name_3 );
    Py_DECREF( tmp_args_element_name_4 );
    if ( tmp_int_arg_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 161;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_2 = PyNumber_Int( tmp_int_arg_2 );
    Py_DECREF( tmp_int_arg_2 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 161;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_y_bytes == NULL );
    var_y_bytes = tmp_assign_source_2;

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_5;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_args_element_name_8;
    tmp_called_name_5 = LOOKUP_BUILTIN( const_str_plain_max );
    assert( tmp_called_name_5 != NULL );
    if ( var_x_bytes == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "x_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 163;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_7 = var_x_bytes;
    CHECK_OBJECT( var_y_bytes );
    tmp_args_element_name_8 = var_y_bytes;
    frame_878fc93c25c9d516d61471b6239f1591->m_frame.f_lineno = 163;
    {
        PyObject *call_args[] = { tmp_args_element_name_7, tmp_args_element_name_8 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_5, call_args );
    }

    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 163;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_num_bytes == NULL );
    var_num_bytes = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_left_name_3;
    PyObject *tmp_right_name_3;
    PyObject *tmp_called_name_6;
    PyObject *tmp_mvar_value_5;
    PyObject *tmp_args_name_1;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_kw_name_1;
    PyObject *tmp_dict_key_1;
    PyObject *tmp_dict_value_1;
    tmp_left_name_3 = const_bytes_chr_4;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_int_to_bytes );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_int_to_bytes );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "int_to_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 166;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_6 = tmp_mvar_value_5;
    if ( par_x == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "x" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 166;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_x;
    tmp_args_name_1 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_name_1, 0, tmp_tuple_element_1 );
    tmp_dict_key_1 = const_str_plain_width;
    CHECK_OBJECT( var_num_bytes );
    tmp_dict_value_1 = var_num_bytes;
    tmp_kw_name_1 = _PyDict_NewPresized( 1 );
    tmp_res = PyDict_SetItem( tmp_kw_name_1, tmp_dict_key_1, tmp_dict_value_1 );
    assert( !(tmp_res != 0) );
    frame_878fc93c25c9d516d61471b6239f1591->m_frame.f_lineno = 166;
    tmp_right_name_3 = CALL_FUNCTION( tmp_called_name_6, tmp_args_name_1, tmp_kw_name_1 );
    Py_DECREF( tmp_args_name_1 );
    Py_DECREF( tmp_kw_name_1 );
    if ( tmp_right_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 166;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_4 = BINARY_OPERATION_ADD( tmp_left_name_3, tmp_right_name_3 );
    Py_DECREF( tmp_right_name_3 );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 166;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_byte_string == NULL );
    var_byte_string = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_left_name_4;
    PyObject *tmp_right_name_4;
    PyObject *tmp_called_name_7;
    PyObject *tmp_mvar_value_6;
    PyObject *tmp_args_name_2;
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_kw_name_2;
    PyObject *tmp_dict_key_2;
    PyObject *tmp_dict_value_2;
    CHECK_OBJECT( var_byte_string );
    tmp_left_name_4 = var_byte_string;
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_int_to_bytes );

    if (unlikely( tmp_mvar_value_6 == NULL ))
    {
        tmp_mvar_value_6 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_int_to_bytes );
    }

    if ( tmp_mvar_value_6 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "int_to_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 167;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_7 = tmp_mvar_value_6;
    if ( par_y == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "y" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 167;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = par_y;
    tmp_args_name_2 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_name_2, 0, tmp_tuple_element_2 );
    tmp_dict_key_2 = const_str_plain_width;
    if ( var_num_bytes == NULL )
    {
        Py_DECREF( tmp_args_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "num_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 167;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_2 = var_num_bytes;
    tmp_kw_name_2 = _PyDict_NewPresized( 1 );
    tmp_res = PyDict_SetItem( tmp_kw_name_2, tmp_dict_key_2, tmp_dict_value_2 );
    assert( !(tmp_res != 0) );
    frame_878fc93c25c9d516d61471b6239f1591->m_frame.f_lineno = 167;
    tmp_right_name_4 = CALL_FUNCTION( tmp_called_name_7, tmp_args_name_2, tmp_kw_name_2 );
    Py_DECREF( tmp_args_name_2 );
    Py_DECREF( tmp_kw_name_2 );
    if ( tmp_right_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 167;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE( &tmp_left_name_4, tmp_right_name_4 );
    tmp_assign_source_5 = tmp_left_name_4;
    Py_DECREF( tmp_right_name_4 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 167;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    var_byte_string = tmp_assign_source_5;

    }
    {
    PyObject *tmp_called_name_8;
    PyObject *tmp_args_element_name_9;
    if ( par_cls == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "cls" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 169;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_8 = par_cls;
    CHECK_OBJECT( var_byte_string );
    tmp_args_element_name_9 = var_byte_string;
    frame_878fc93c25c9d516d61471b6239f1591->m_frame.f_lineno = 169;
    {
        PyObject *call_args[] = { tmp_args_element_name_9 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_8, call_args );
    }

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 169;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_878fc93c25c9d516d61471b6239f1591 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_878fc93c25c9d516d61471b6239f1591 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_878fc93c25c9d516d61471b6239f1591 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_878fc93c25c9d516d61471b6239f1591, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_878fc93c25c9d516d61471b6239f1591->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_878fc93c25c9d516d61471b6239f1591, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_878fc93c25c9d516d61471b6239f1591,
        type_description_1,
        par_cls,
        par_x,
        par_y,
        var_x_bytes,
        var_y_bytes,
        var_num_bytes,
        var_byte_string
    );


    // Release cached frame.
    if ( frame_878fc93c25c9d516d61471b6239f1591 == cache_frame_878fc93c25c9d516d61471b6239f1591 )
    {
        Py_DECREF( frame_878fc93c25c9d516d61471b6239f1591 );
    }
    cache_frame_878fc93c25c9d516d61471b6239f1591 = NULL;

    assertFrameObject( frame_878fc93c25c9d516d61471b6239f1591 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_1_from_coords );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_cls );
    par_cls = NULL;

    }
    {
    Py_XDECREF( par_x );
    par_x = NULL;

    }
    {
    Py_XDECREF( par_y );
    par_y = NULL;

    }
    {
    Py_XDECREF( var_x_bytes );
    var_x_bytes = NULL;

    }
    {
    Py_XDECREF( var_y_bytes );
    var_y_bytes = NULL;

    }
    {
    Py_XDECREF( var_num_bytes );
    var_num_bytes = NULL;

    }
    {
    Py_XDECREF( var_byte_string );
    var_byte_string = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_cls );
    par_cls = NULL;

    }
    {
    Py_XDECREF( par_x );
    par_x = NULL;

    }
    {
    Py_XDECREF( par_y );
    par_y = NULL;

    }
    {
    Py_XDECREF( var_x_bytes );
    var_x_bytes = NULL;

    }
    {
    Py_XDECREF( var_y_bytes );
    var_y_bytes = NULL;

    }
    {
    Py_XDECREF( var_num_bytes );
    var_num_bytes = NULL;

    }
    {
    Py_XDECREF( var_byte_string );
    var_byte_string = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_1_from_coords );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_2_to_coords( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_data = NULL;
    PyObject *var_first_byte = NULL;
    PyObject *var_remaining = NULL;
    PyObject *var_field_len = NULL;
    PyObject *var_x = NULL;
    PyObject *var_y = NULL;
    struct Nuitka_FrameObject *frame_1ed7c931a0207c478533824e991fb9c9;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_1ed7c931a0207c478533824e991fb9c9 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_1ed7c931a0207c478533824e991fb9c9, codeobj_1ed7c931a0207c478533824e991fb9c9, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_1ed7c931a0207c478533824e991fb9c9 = cache_frame_1ed7c931a0207c478533824e991fb9c9;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_1ed7c931a0207c478533824e991fb9c9 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_1ed7c931a0207c478533824e991fb9c9 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_assign_source_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_native );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 180;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_data == NULL );
    var_data = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    CHECK_OBJECT( var_data );
    tmp_subscribed_name_1 = var_data;
    tmp_subscript_name_1 = const_slice_int_0_int_pos_1_none;
    tmp_assign_source_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 181;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_first_byte == NULL );
    var_first_byte = tmp_assign_source_2;

    }
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    CHECK_OBJECT( var_first_byte );
    tmp_compexpr_left_1 = var_first_byte;
    tmp_compexpr_right_1 = const_bytes_chr_4;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 184;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    if ( var_data == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "data" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 185;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = var_data;
    tmp_subscript_name_2 = const_slice_int_pos_1_none_none;
    tmp_assign_source_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 185;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_remaining == NULL );
    var_remaining = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_left_name_1;
    PyObject *tmp_len_arg_1;
    PyObject *tmp_right_name_1;
    CHECK_OBJECT( var_remaining );
    tmp_len_arg_1 = var_remaining;
    tmp_left_name_1 = BUILTIN_LEN( tmp_len_arg_1 );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 186;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_int_pos_2;
    tmp_assign_source_4 = BINARY_OPERATION_FLOORDIV( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 186;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_field_len == NULL );
    var_field_len = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_start_name_1;
    PyObject *tmp_stop_name_1;
    PyObject *tmp_step_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_int_from_bytes );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_int_from_bytes );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "int_from_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 187;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    if ( var_remaining == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "remaining" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 187;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = var_remaining;
    tmp_start_name_1 = const_int_0;
    CHECK_OBJECT( var_field_len );
    tmp_stop_name_1 = var_field_len;
    tmp_step_name_1 = Py_None;
    tmp_subscript_name_3 = MAKE_SLICEOBJ3( tmp_start_name_1, tmp_stop_name_1, tmp_step_name_1 );
    assert( !(tmp_subscript_name_3 == NULL) );
    tmp_args_element_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    Py_DECREF( tmp_subscript_name_3 );
    if ( tmp_args_element_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 187;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_1ed7c931a0207c478533824e991fb9c9->m_frame.f_lineno = 187;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_5 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 187;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_x == NULL );
    var_x = tmp_assign_source_5;

    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    PyObject *tmp_start_name_2;
    PyObject *tmp_stop_name_2;
    PyObject *tmp_step_name_2;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_int_from_bytes );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_int_from_bytes );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "int_from_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 188;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_2;
    if ( var_remaining == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "remaining" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 188;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_4 = var_remaining;
    if ( var_field_len == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "field_len" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 188;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_start_name_2 = var_field_len;
    tmp_stop_name_2 = Py_None;
    tmp_step_name_2 = Py_None;
    tmp_subscript_name_4 = MAKE_SLICEOBJ3( tmp_start_name_2, tmp_stop_name_2, tmp_step_name_2 );
    assert( !(tmp_subscript_name_4 == NULL) );
    tmp_args_element_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    Py_DECREF( tmp_subscript_name_4 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 188;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_1ed7c931a0207c478533824e991fb9c9->m_frame.f_lineno = 188;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_assign_source_6 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 188;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_y == NULL );
    var_y = tmp_assign_source_6;

    }
    {
    PyObject *tmp_tuple_element_1;
    if ( var_x == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "x" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 189;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_x;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    CHECK_OBJECT( var_y );
    tmp_tuple_element_1 = var_y;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_1 );
    goto frame_return_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    if ( var_first_byte == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "first_byte" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 191;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_2 = var_first_byte;
    tmp_compexpr_right_2 = PySet_New( const_set_8649e0c94fbded82396ed856a28bbc1e );
    tmp_res = PySequence_Contains( tmp_compexpr_right_2, tmp_compexpr_left_2 );
    Py_DECREF( tmp_compexpr_right_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 191;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_called_name_3;
    PyObject *tmp_mvar_value_3;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 192;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_3 = tmp_mvar_value_3;
    frame_1ed7c931a0207c478533824e991fb9c9->m_frame.f_lineno = 192;
    tmp_make_exception_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, &PyTuple_GET_ITEM( const_tuple_str_digest_e958d9bc0e2129cc90b2ecb4d5e6a7ec_tuple, 0 ) );

    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 192;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_1ed7c931a0207c478533824e991fb9c9->m_frame.f_lineno = 192;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 192;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooooooo";
    goto frame_exception_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_raise_type_2;
    PyObject *tmp_make_exception_arg_2;
    PyObject *tmp_called_name_4;
    PyObject *tmp_mvar_value_4;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_4 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 198;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_4 = tmp_mvar_value_4;
    frame_1ed7c931a0207c478533824e991fb9c9->m_frame.f_lineno = 198;
    tmp_make_exception_arg_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_4, &PyTuple_GET_ITEM( const_tuple_str_digest_3d3aff794d74a3637c6b4ce58506d71b_tuple, 0 ) );

    if ( tmp_make_exception_arg_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 198;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_1ed7c931a0207c478533824e991fb9c9->m_frame.f_lineno = 198;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_2 };
        tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_2 );
    assert( !(tmp_raise_type_2 == NULL) );
    exception_type = tmp_raise_type_2;
    exception_lineno = 198;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooooooo";
    goto frame_exception_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_1ed7c931a0207c478533824e991fb9c9 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_1ed7c931a0207c478533824e991fb9c9 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_1ed7c931a0207c478533824e991fb9c9 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_1ed7c931a0207c478533824e991fb9c9, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_1ed7c931a0207c478533824e991fb9c9->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_1ed7c931a0207c478533824e991fb9c9, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_1ed7c931a0207c478533824e991fb9c9,
        type_description_1,
        par_self,
        var_data,
        var_first_byte,
        var_remaining,
        var_field_len,
        var_x,
        var_y
    );


    // Release cached frame.
    if ( frame_1ed7c931a0207c478533824e991fb9c9 == cache_frame_1ed7c931a0207c478533824e991fb9c9 )
    {
        Py_DECREF( frame_1ed7c931a0207c478533824e991fb9c9 );
    }
    cache_frame_1ed7c931a0207c478533824e991fb9c9 = NULL;

    assertFrameObject( frame_1ed7c931a0207c478533824e991fb9c9 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_2_to_coords );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_data );
    var_data = NULL;

    }
    {
    Py_XDECREF( var_first_byte );
    var_first_byte = NULL;

    }
    {
    Py_XDECREF( var_remaining );
    var_remaining = NULL;

    }
    {
    Py_XDECREF( var_field_len );
    var_field_len = NULL;

    }
    {
    Py_XDECREF( var_x );
    var_x = NULL;

    }
    {
    Py_XDECREF( var_y );
    var_y = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_data );
    var_data = NULL;

    }
    {
    Py_XDECREF( var_first_byte );
    var_first_byte = NULL;

    }
    {
    Py_XDECREF( var_remaining );
    var_remaining = NULL;

    }
    {
    Py_XDECREF( var_field_len );
    var_field_len = NULL;

    }
    {
    Py_XDECREF( var_x );
    var_x = NULL;

    }
    {
    Py_XDECREF( var_y );
    var_y = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_2_to_coords );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_3__private_key_spec( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_algorithm = NULL;
    struct Nuitka_FrameObject *frame_f94d17b0b16fbf33548cdaa0b4f52613;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    PyObject *tmp_return_value = NULL;
    int tmp_res;
    static struct Nuitka_FrameObject *cache_frame_f94d17b0b16fbf33548cdaa0b4f52613 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_f94d17b0b16fbf33548cdaa0b4f52613, codeobj_f94d17b0b16fbf33548cdaa0b4f52613, module_asn1crypto$keys, sizeof(void *)+sizeof(void *) );
    frame_f94d17b0b16fbf33548cdaa0b4f52613 = cache_frame_f94d17b0b16fbf33548cdaa0b4f52613;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_f94d17b0b16fbf33548cdaa0b4f52613 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_f94d17b0b16fbf33548cdaa0b4f52613 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    CHECK_OBJECT( par_self );
    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 504;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_algorithm;
    tmp_source_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_source_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 504;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_native );
    Py_DECREF( tmp_source_name_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 504;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    assert( var_algorithm == NULL );
    var_algorithm = tmp_assign_source_1;

    }
    {
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_dict_key_1;
    PyObject *tmp_dict_value_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_dict_key_2;
    PyObject *tmp_dict_value_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_dict_key_3;
    PyObject *tmp_dict_value_3;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_subscript_name_3;
    tmp_dict_key_1 = const_str_plain_rsa;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPrivateKey );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_RSAPrivateKey );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "RSAPrivateKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 506;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_1 = tmp_mvar_value_1;
    tmp_subscribed_name_3 = _PyDict_NewPresized( 3 );
    tmp_res = PyDict_SetItem( tmp_subscribed_name_3, tmp_dict_key_1, tmp_dict_value_1 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_2 = const_str_plain_dsa;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
    }

    if ( tmp_mvar_value_2 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_3 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 507;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_2 = tmp_mvar_value_2;
    tmp_res = PyDict_SetItem( tmp_subscribed_name_3, tmp_dict_key_2, tmp_dict_value_2 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_3 = const_str_plain_ec;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPrivateKey );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECPrivateKey );
    }

    if ( tmp_mvar_value_3 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_3 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECPrivateKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 508;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_3 = tmp_mvar_value_3;
    tmp_res = PyDict_SetItem( tmp_subscribed_name_3, tmp_dict_key_3, tmp_dict_value_3 );
    assert( !(tmp_res != 0) );
    CHECK_OBJECT( var_algorithm );
    tmp_subscript_name_3 = var_algorithm;
    tmp_return_value = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    Py_DECREF( tmp_subscribed_name_3 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 505;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f94d17b0b16fbf33548cdaa0b4f52613 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_f94d17b0b16fbf33548cdaa0b4f52613 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f94d17b0b16fbf33548cdaa0b4f52613 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_f94d17b0b16fbf33548cdaa0b4f52613, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_f94d17b0b16fbf33548cdaa0b4f52613->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_f94d17b0b16fbf33548cdaa0b4f52613, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_f94d17b0b16fbf33548cdaa0b4f52613,
        type_description_1,
        par_self,
        var_algorithm
    );


    // Release cached frame.
    if ( frame_f94d17b0b16fbf33548cdaa0b4f52613 == cache_frame_f94d17b0b16fbf33548cdaa0b4f52613 )
    {
        Py_DECREF( frame_f94d17b0b16fbf33548cdaa0b4f52613 );
    }
    cache_frame_f94d17b0b16fbf33548cdaa0b4f52613 = NULL;

    assertFrameObject( frame_f94d17b0b16fbf33548cdaa0b4f52613 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_3__private_key_spec );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_algorithm );
    var_algorithm = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_algorithm );
    var_algorithm = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_3__private_key_spec );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_4_wrap( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_cls = python_pars[ 0 ];
    PyObject *par_private_key = python_pars[ 1 ];
    PyObject *par_algorithm = python_pars[ 2 ];
    PyObject *var_params = NULL;
    PyObject *var_public_key = NULL;
    PyObject *var_private_key_algo = NULL;
    PyObject *var_container = NULL;
    struct Nuitka_FrameObject *frame_3ef117a3ce2dacc31a0b7d616a129ff8;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_3ef117a3ce2dacc31a0b7d616a129ff8 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_3ef117a3ce2dacc31a0b7d616a129ff8, codeobj_3ef117a3ce2dacc31a0b7d616a129ff8, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_3ef117a3ce2dacc31a0b7d616a129ff8 = cache_frame_3ef117a3ce2dacc31a0b7d616a129ff8;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_3ef117a3ce2dacc31a0b7d616a129ff8 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_3ef117a3ce2dacc31a0b7d616a129ff8 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_and_left_truth_1;
    nuitka_bool tmp_and_left_value_1;
    nuitka_bool tmp_and_right_value_1;
    PyObject *tmp_operand_name_1;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_operand_name_2;
    PyObject *tmp_isinstance_inst_2;
    PyObject *tmp_isinstance_cls_2;
    PyObject *tmp_mvar_value_2;
    CHECK_OBJECT( par_private_key );
    tmp_isinstance_inst_1 = par_private_key;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_byte_cls );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_byte_cls );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "byte_cls" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 535;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_1 = tmp_mvar_value_1;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_1, tmp_isinstance_cls_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 535;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_operand_name_1 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 535;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_1 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_1 = tmp_and_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_1 == 1 )
    {
        goto and_right_1;
    }
    else
    {
        goto and_left_1;
    }
    and_right_1:;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 535;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_2 = par_private_key;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Asn1Value );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Asn1Value );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Asn1Value" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 535;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_2 = tmp_mvar_value_2;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_2, tmp_isinstance_cls_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 535;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_operand_name_2 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 535;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_1 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_1 = tmp_and_right_value_1;
    goto and_end_1;
    and_left_1:;
    tmp_condition_result_1 = tmp_and_left_value_1;
    and_end_1:;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_args_element_name_3;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_3;
    tmp_args_element_name_1 = const_str_digest_1d9f17a2499c57d5ee2083c9e1cdf7c3;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_type_name );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_type_name );
    }

    if ( tmp_mvar_value_4 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "type_name" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 540;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_4;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 540;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_3 = par_private_key;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 540;
    {
        PyObject *call_args[] = { tmp_args_element_name_3 };
        tmp_args_element_name_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 540;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 536;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_make_exception_arg_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 536;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 536;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooooooo";
    goto frame_exception_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 543;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = par_algorithm;
    tmp_compexpr_right_1 = const_str_plain_rsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 543;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_operand_name_3;
    PyObject *tmp_isinstance_inst_3;
    PyObject *tmp_isinstance_cls_3;
    PyObject *tmp_mvar_value_5;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 544;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_3 = par_private_key;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPrivateKey );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_RSAPrivateKey );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "RSAPrivateKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 544;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_3 = tmp_mvar_value_5;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_3, tmp_isinstance_cls_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 544;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_operand_name_3 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 544;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_called_name_3;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_6;
    PyObject *tmp_args_element_name_4;
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPrivateKey );

    if (unlikely( tmp_mvar_value_6 == NULL ))
    {
        tmp_mvar_value_6 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_RSAPrivateKey );
    }

    if ( tmp_mvar_value_6 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "RSAPrivateKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 545;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_6;
    tmp_called_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_load );
    if ( tmp_called_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 545;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( par_private_key == NULL )
    {
        Py_DECREF( tmp_called_name_3 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 545;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_4 = par_private_key;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 545;
    {
        PyObject *call_args[] = { tmp_args_element_name_4 };
        tmp_assign_source_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

    Py_DECREF( tmp_called_name_3 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 545;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_private_key;
        par_private_key = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    branch_no_3:;
    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_name_4;
    PyObject *tmp_mvar_value_7;
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Null );

    if (unlikely( tmp_mvar_value_7 == NULL ))
    {
        tmp_mvar_value_7 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Null );
    }

    if ( tmp_mvar_value_7 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Null" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 546;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_4 = tmp_mvar_value_7;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 546;
    tmp_assign_source_2 = CALL_FUNCTION_NO_ARGS( tmp_called_name_4 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 546;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_params == NULL );
    var_params = tmp_assign_source_2;

    }
    goto branch_end_2;
    branch_no_2:;
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 547;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_2 = par_algorithm;
    tmp_compexpr_right_2 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 547;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_4 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_4 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_4;
    }
    else
    {
        goto branch_no_4;
    }
    branch_yes_4:;
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_operand_name_4;
    PyObject *tmp_isinstance_inst_4;
    PyObject *tmp_isinstance_cls_4;
    PyObject *tmp_mvar_value_8;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 548;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_4 = par_private_key;
    tmp_mvar_value_8 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DSAPrivateKey );

    if (unlikely( tmp_mvar_value_8 == NULL ))
    {
        tmp_mvar_value_8 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DSAPrivateKey );
    }

    if ( tmp_mvar_value_8 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DSAPrivateKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 548;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_4 = tmp_mvar_value_8;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_4, tmp_isinstance_cls_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 548;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_operand_name_4 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 548;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_5 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_5;
    }
    else
    {
        goto branch_no_5;
    }
    branch_yes_5:;
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_5;
    PyObject *tmp_source_name_2;
    PyObject *tmp_mvar_value_9;
    PyObject *tmp_args_element_name_5;
    tmp_mvar_value_9 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DSAPrivateKey );

    if (unlikely( tmp_mvar_value_9 == NULL ))
    {
        tmp_mvar_value_9 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DSAPrivateKey );
    }

    if ( tmp_mvar_value_9 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DSAPrivateKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 549;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = tmp_mvar_value_9;
    tmp_called_name_5 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_load );
    if ( tmp_called_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 549;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( par_private_key == NULL )
    {
        Py_DECREF( tmp_called_name_5 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 549;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_5 = par_private_key;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 549;
    {
        PyObject *call_args[] = { tmp_args_element_name_5 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_5, call_args );
    }

    Py_DECREF( tmp_called_name_5 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 549;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_private_key;
        par_private_key = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    branch_no_5:;
    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_called_name_6;
    PyObject *tmp_mvar_value_10;
    tmp_mvar_value_10 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DSAParams );

    if (unlikely( tmp_mvar_value_10 == NULL ))
    {
        tmp_mvar_value_10 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DSAParams );
    }

    if ( tmp_mvar_value_10 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DSAParams" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 550;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_6 = tmp_mvar_value_10;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 550;
    tmp_assign_source_4 = CALL_FUNCTION_NO_ARGS( tmp_called_name_6 );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 550;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_params == NULL );
    var_params = tmp_assign_source_4;

    }
    {
    PyObject *tmp_ass_subvalue_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_ass_subscribed_1;
    PyObject *tmp_ass_subscript_1;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 551;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_private_key;
    tmp_subscript_name_1 = const_str_plain_p;
    tmp_ass_subvalue_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_ass_subvalue_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 551;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 551;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_1 = var_params;
    tmp_ass_subscript_1 = const_str_plain_p;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1 );
    Py_DECREF( tmp_ass_subvalue_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 551;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_ass_subvalue_2;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_ass_subscribed_2;
    PyObject *tmp_ass_subscript_2;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 552;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_private_key;
    tmp_subscript_name_2 = const_str_plain_q;
    tmp_ass_subvalue_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    if ( tmp_ass_subvalue_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 552;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 552;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_2 = var_params;
    tmp_ass_subscript_2 = const_str_plain_q;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_2, tmp_ass_subscript_2, tmp_ass_subvalue_2 );
    Py_DECREF( tmp_ass_subvalue_2 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 552;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_ass_subvalue_3;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_ass_subscribed_3;
    PyObject *tmp_ass_subscript_3;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 553;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = par_private_key;
    tmp_subscript_name_3 = const_str_plain_g;
    tmp_ass_subvalue_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    if ( tmp_ass_subvalue_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 553;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_3 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 553;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_3 = var_params;
    tmp_ass_subscript_3 = const_str_plain_g;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_3, tmp_ass_subscript_3, tmp_ass_subvalue_3 );
    Py_DECREF( tmp_ass_subvalue_3 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 553;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 554;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_4 = par_private_key;
    tmp_subscript_name_4 = const_str_plain_public_key;
    tmp_assign_source_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 554;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_public_key == NULL );
    var_public_key = tmp_assign_source_5;

    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 555;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_5 = par_private_key;
    tmp_subscript_name_5 = const_str_plain_private_key;
    tmp_assign_source_6 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 555;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_private_key;
        par_private_key = tmp_assign_source_6;
        Py_XDECREF( old );
    }

    }
    goto branch_end_4;
    branch_no_4:;
    {
    nuitka_bool tmp_condition_result_6;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 556;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_3 = par_algorithm;
    tmp_compexpr_right_3 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 556;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_6 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_6 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_6;
    }
    else
    {
        goto branch_no_6;
    }
    branch_yes_6:;
    {
    nuitka_bool tmp_condition_result_7;
    PyObject *tmp_operand_name_5;
    PyObject *tmp_isinstance_inst_5;
    PyObject *tmp_isinstance_cls_5;
    PyObject *tmp_mvar_value_11;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 557;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_5 = par_private_key;
    tmp_mvar_value_11 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPrivateKey );

    if (unlikely( tmp_mvar_value_11 == NULL ))
    {
        tmp_mvar_value_11 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECPrivateKey );
    }

    if ( tmp_mvar_value_11 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECPrivateKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 557;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_5 = tmp_mvar_value_11;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_5, tmp_isinstance_cls_5 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 557;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_operand_name_5 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_5 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 557;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_7 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_7 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_7;
    }
    else
    {
        goto branch_no_7;
    }
    branch_yes_7:;
    {
    PyObject *tmp_assign_source_7;
    PyObject *tmp_called_name_7;
    PyObject *tmp_source_name_3;
    PyObject *tmp_mvar_value_12;
    PyObject *tmp_args_element_name_6;
    tmp_mvar_value_12 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPrivateKey );

    if (unlikely( tmp_mvar_value_12 == NULL ))
    {
        tmp_mvar_value_12 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECPrivateKey );
    }

    if ( tmp_mvar_value_12 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECPrivateKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 558;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = tmp_mvar_value_12;
    tmp_called_name_7 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_load );
    if ( tmp_called_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 558;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( par_private_key == NULL )
    {
        Py_DECREF( tmp_called_name_7 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 558;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_6 = par_private_key;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 558;
    {
        PyObject *call_args[] = { tmp_args_element_name_6 };
        tmp_assign_source_7 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_7, call_args );
    }

    Py_DECREF( tmp_called_name_7 );
    if ( tmp_assign_source_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 558;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_private_key;
        par_private_key = tmp_assign_source_7;
        Py_XDECREF( old );
    }

    }
    goto branch_end_7;
    branch_no_7:;
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_called_instance_1;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 560;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_1 = par_private_key;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 560;
    tmp_assign_source_8 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_copy );
    if ( tmp_assign_source_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 560;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_private_key;
        par_private_key = tmp_assign_source_8;
        Py_XDECREF( old );
    }

    }
    branch_end_7:;
    }
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_subscript_name_6;
    CHECK_OBJECT( par_private_key );
    tmp_subscribed_name_6 = par_private_key;
    tmp_subscript_name_6 = const_str_plain_parameters;
    tmp_assign_source_9 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_6, tmp_subscript_name_6 );
    if ( tmp_assign_source_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 561;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_params == NULL );
    var_params = tmp_assign_source_9;

    }
    {
    PyObject *tmp_delsubscr_target_1;
    PyObject *tmp_delsubscr_subscript_1;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 562;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_delsubscr_target_1 = par_private_key;
    tmp_delsubscr_subscript_1 = const_str_plain_parameters;
    tmp_result = DEL_SUBSCRIPT( tmp_delsubscr_target_1, tmp_delsubscr_subscript_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 562;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    goto branch_end_6;
    branch_no_6:;
    {
    PyObject *tmp_raise_type_2;
    PyObject *tmp_make_exception_arg_2;
    PyObject *tmp_called_name_8;
    PyObject *tmp_mvar_value_13;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_args_element_name_8;
    PyObject *tmp_operand_name_6;
    tmp_mvar_value_13 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_13 == NULL ))
    {
        tmp_mvar_value_13 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_13 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 564;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_8 = tmp_mvar_value_13;
    tmp_args_element_name_7 = const_str_digest_674824fe6f207c8becf684aa51baa41e;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 568;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_6 = par_algorithm;
    tmp_args_element_name_8 = UNARY_OPERATION( PyObject_Repr, tmp_operand_name_6 );
    if ( tmp_args_element_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 568;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 564;
    {
        PyObject *call_args[] = { tmp_args_element_name_7, tmp_args_element_name_8 };
        tmp_make_exception_arg_2 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_8, call_args );
    }

    Py_DECREF( tmp_args_element_name_8 );
    if ( tmp_make_exception_arg_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 564;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 564;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_2 };
        tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_2 );
    assert( !(tmp_raise_type_2 == NULL) );
    exception_type = tmp_raise_type_2;
    exception_lineno = 564;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooooooo";
    goto frame_exception_exit_1;
    }
    branch_end_6:;
    }
    branch_end_4:;
    }
    branch_end_2:;
    }
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_called_name_9;
    PyObject *tmp_mvar_value_14;
    tmp_mvar_value_14 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithm );

    if (unlikely( tmp_mvar_value_14 == NULL ))
    {
        tmp_mvar_value_14 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithm );
    }

    if ( tmp_mvar_value_14 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PrivateKeyAlgorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 571;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_9 = tmp_mvar_value_14;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 571;
    tmp_assign_source_10 = CALL_FUNCTION_NO_ARGS( tmp_called_name_9 );
    if ( tmp_assign_source_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 571;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_private_key_algo == NULL );
    var_private_key_algo = tmp_assign_source_10;

    }
    {
    PyObject *tmp_ass_subvalue_4;
    PyObject *tmp_called_name_10;
    PyObject *tmp_mvar_value_15;
    PyObject *tmp_args_element_name_9;
    PyObject *tmp_ass_subscribed_4;
    PyObject *tmp_ass_subscript_4;
    tmp_mvar_value_15 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithmId );

    if (unlikely( tmp_mvar_value_15 == NULL ))
    {
        tmp_mvar_value_15 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithmId );
    }

    if ( tmp_mvar_value_15 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PrivateKeyAlgorithmId" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 572;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_10 = tmp_mvar_value_15;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 572;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_9 = par_algorithm;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 572;
    {
        PyObject *call_args[] = { tmp_args_element_name_9 };
        tmp_ass_subvalue_4 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_10, call_args );
    }

    if ( tmp_ass_subvalue_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 572;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_private_key_algo == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_4 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key_algo" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 572;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_4 = var_private_key_algo;
    tmp_ass_subscript_4 = const_str_plain_algorithm;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_4, tmp_ass_subscript_4, tmp_ass_subvalue_4 );
    Py_DECREF( tmp_ass_subvalue_4 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 572;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_ass_subvalue_5;
    PyObject *tmp_ass_subscribed_5;
    PyObject *tmp_ass_subscript_5;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 573;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subvalue_5 = var_params;
    if ( var_private_key_algo == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key_algo" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 573;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_5 = var_private_key_algo;
    tmp_ass_subscript_5 = const_str_plain_parameters;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_5, tmp_ass_subscript_5, tmp_ass_subvalue_5 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 573;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_assign_source_11;
    PyObject *tmp_called_name_11;
    if ( par_cls == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "cls" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 575;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_11 = par_cls;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 575;
    tmp_assign_source_11 = CALL_FUNCTION_NO_ARGS( tmp_called_name_11 );
    if ( tmp_assign_source_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 575;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_container == NULL );
    var_container = tmp_assign_source_11;

    }
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_assattr_target_1;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 576;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_name_1 = par_algorithm;
    CHECK_OBJECT( var_container );
    tmp_assattr_target_1 = var_container;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__algorithm, tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 576;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_ass_subvalue_6;
    PyObject *tmp_called_name_12;
    PyObject *tmp_mvar_value_16;
    PyObject *tmp_ass_subscribed_6;
    PyObject *tmp_ass_subscript_6;
    tmp_mvar_value_16 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

    if (unlikely( tmp_mvar_value_16 == NULL ))
    {
        tmp_mvar_value_16 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
    }

    if ( tmp_mvar_value_16 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 577;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_12 = tmp_mvar_value_16;
    frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame.f_lineno = 577;
    tmp_ass_subvalue_6 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_12, &PyTuple_GET_ITEM( const_tuple_int_0_tuple, 0 ) );

    if ( tmp_ass_subvalue_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 577;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_container == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_6 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "container" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 577;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_6 = var_container;
    tmp_ass_subscript_6 = const_str_plain_version;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_6, tmp_ass_subscript_6, tmp_ass_subvalue_6 );
    Py_DECREF( tmp_ass_subvalue_6 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 577;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_ass_subvalue_7;
    PyObject *tmp_ass_subscribed_7;
    PyObject *tmp_ass_subscript_7;
    if ( var_private_key_algo == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key_algo" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 578;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subvalue_7 = var_private_key_algo;
    if ( var_container == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "container" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 578;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_7 = var_container;
    tmp_ass_subscript_7 = const_str_plain_private_key_algorithm;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_7, tmp_ass_subscript_7, tmp_ass_subvalue_7 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 578;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_ass_subvalue_8;
    PyObject *tmp_ass_subscribed_8;
    PyObject *tmp_ass_subscript_8;
    if ( par_private_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "private_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 579;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subvalue_8 = par_private_key;
    if ( var_container == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "container" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 579;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_8 = var_container;
    tmp_ass_subscript_8 = const_str_plain_private_key;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_8, tmp_ass_subscript_8, tmp_ass_subvalue_8 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 579;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    nuitka_bool tmp_condition_result_8;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 583;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_4 = par_algorithm;
    tmp_compexpr_right_4 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_4, tmp_compexpr_right_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 583;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_8 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_8 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_8;
    }
    else
    {
        goto branch_no_8;
    }
    branch_yes_8:;
    {
    PyObject *tmp_assattr_name_2;
    PyObject *tmp_assattr_target_2;
    if ( var_public_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 584;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_name_2 = var_public_key;
    if ( var_container == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "container" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 584;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_2 = var_container;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_2, const_str_plain__public_key, tmp_assattr_name_2 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 584;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    }
    branch_no_8:;
    }
    {
    if ( var_container == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "container" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 586;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = var_container;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_3ef117a3ce2dacc31a0b7d616a129ff8 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_3ef117a3ce2dacc31a0b7d616a129ff8 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_3ef117a3ce2dacc31a0b7d616a129ff8 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_3ef117a3ce2dacc31a0b7d616a129ff8, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_3ef117a3ce2dacc31a0b7d616a129ff8->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_3ef117a3ce2dacc31a0b7d616a129ff8, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_3ef117a3ce2dacc31a0b7d616a129ff8,
        type_description_1,
        par_cls,
        par_private_key,
        par_algorithm,
        var_params,
        var_public_key,
        var_private_key_algo,
        var_container
    );


    // Release cached frame.
    if ( frame_3ef117a3ce2dacc31a0b7d616a129ff8 == cache_frame_3ef117a3ce2dacc31a0b7d616a129ff8 )
    {
        Py_DECREF( frame_3ef117a3ce2dacc31a0b7d616a129ff8 );
    }
    cache_frame_3ef117a3ce2dacc31a0b7d616a129ff8 = NULL;

    assertFrameObject( frame_3ef117a3ce2dacc31a0b7d616a129ff8 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_4_wrap );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_cls );
    par_cls = NULL;

    }
    {
    Py_XDECREF( par_private_key );
    par_private_key = NULL;

    }
    {
    Py_XDECREF( par_algorithm );
    par_algorithm = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_public_key );
    var_public_key = NULL;

    }
    {
    Py_XDECREF( var_private_key_algo );
    var_private_key_algo = NULL;

    }
    {
    Py_XDECREF( var_container );
    var_container = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_cls );
    par_cls = NULL;

    }
    {
    Py_XDECREF( par_private_key );
    par_private_key = NULL;

    }
    {
    Py_XDECREF( par_algorithm );
    par_algorithm = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_public_key );
    var_public_key = NULL;

    }
    {
    Py_XDECREF( var_private_key_algo );
    var_private_key_algo = NULL;

    }
    {
    Py_XDECREF( var_container );
    var_container = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_4_wrap );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_5__compute_public_key( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_params = NULL;
    PyObject *var_key = NULL;
    PyObject *var_curve_type = NULL;
    PyObject *var_details = NULL;
    PyObject *var_curve = NULL;
    PyObject *var_base_x = NULL;
    PyObject *var_base_y = NULL;
    PyObject *var_base_point = NULL;
    PyObject *var_public_point = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__source_iter = NULL;
    PyObject *tmp_tuple_unpack_2__element_1 = NULL;
    PyObject *tmp_tuple_unpack_2__element_2 = NULL;
    PyObject *tmp_tuple_unpack_2__source_iter = NULL;
    struct Nuitka_FrameObject *frame_8b123ff87487ec53decab93bda709771;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    PyObject *tmp_iterator_attempt;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;
    PyObject *exception_keeper_type_3;
    PyObject *exception_keeper_value_3;
    PyTracebackObject *exception_keeper_tb_3;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
    PyObject *exception_keeper_type_4;
    PyObject *exception_keeper_value_4;
    PyTracebackObject *exception_keeper_tb_4;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_4;
    static struct Nuitka_FrameObject *cache_frame_8b123ff87487ec53decab93bda709771 = NULL;
    PyObject *exception_keeper_type_5;
    PyObject *exception_keeper_value_5;
    PyTracebackObject *exception_keeper_tb_5;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_5;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_8b123ff87487ec53decab93bda709771, codeobj_8b123ff87487ec53decab93bda709771, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_8b123ff87487ec53decab93bda709771 = cache_frame_8b123ff87487ec53decab93bda709771;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_8b123ff87487ec53decab93bda709771 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_8b123ff87487ec53decab93bda709771 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_algorithm );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 597;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 597;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 598;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 598;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_parameters;
    tmp_assign_source_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 598;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_params == NULL );
    var_params = tmp_assign_source_1;

    }
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_source_name_2;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_source_name_3;
    PyObject *tmp_source_name_4;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    PyObject *tmp_args_element_name_4;
    PyObject *tmp_source_name_5;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 599;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_pow );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_pow );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "pow" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 599;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_2;
    CHECK_OBJECT( var_params );
    tmp_subscribed_name_3 = var_params;
    tmp_subscript_name_3 = const_str_plain_g;
    tmp_source_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    if ( tmp_source_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 600;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_native );
    Py_DECREF( tmp_source_name_2 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 600;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_args_element_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 601;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_4 = par_self;
    tmp_subscript_name_4 = const_str_plain_private_key;
    tmp_source_name_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    if ( tmp_source_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_2 );

        exception_lineno = 601;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_source_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_4 );
    if ( tmp_source_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_2 );

        exception_lineno = 601;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_native );
    Py_DECREF( tmp_source_name_3 );
    if ( tmp_args_element_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_2 );

        exception_lineno = 601;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_args_element_name_2 );
        Py_DECREF( tmp_args_element_name_3 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 602;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_5 = var_params;
    tmp_subscript_name_5 = const_str_plain_p;
    tmp_source_name_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    if ( tmp_source_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_2 );
        Py_DECREF( tmp_args_element_name_3 );

        exception_lineno = 602;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_4 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_native );
    Py_DECREF( tmp_source_name_5 );
    if ( tmp_args_element_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_2 );
        Py_DECREF( tmp_args_element_name_3 );

        exception_lineno = 602;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 599;
    {
        PyObject *call_args[] = { tmp_args_element_name_2, tmp_args_element_name_3, tmp_args_element_name_4 };
        tmp_args_element_name_1 = CALL_FUNCTION_WITH_ARGS3( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    Py_DECREF( tmp_args_element_name_3 );
    Py_DECREF( tmp_args_element_name_4 );
    if ( tmp_args_element_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 599;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 599;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 599;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_source_name_6;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 605;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_6 = par_self;
    tmp_compexpr_left_2 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain_algorithm );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 605;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_plain_rsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    Py_DECREF( tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 605;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_source_name_7;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_subscript_name_6;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 606;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_6 = par_self;
    tmp_subscript_name_6 = const_str_plain_private_key;
    tmp_source_name_7 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_6, tmp_subscript_name_6 );
    if ( tmp_source_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 606;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_2 = LOOKUP_ATTRIBUTE( tmp_source_name_7, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_7 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 606;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_key == NULL );
    var_key = tmp_assign_source_2;

    }
    {
    PyObject *tmp_called_name_3;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_dict_key_1;
    PyObject *tmp_dict_value_1;
    PyObject *tmp_subscribed_name_7;
    PyObject *tmp_subscript_name_7;
    PyObject *tmp_dict_key_2;
    PyObject *tmp_dict_value_2;
    PyObject *tmp_subscribed_name_8;
    PyObject *tmp_subscript_name_8;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPublicKey );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_RSAPublicKey );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "RSAPublicKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 607;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_3 = tmp_mvar_value_3;
    tmp_dict_key_1 = const_str_plain_modulus;
    CHECK_OBJECT( var_key );
    tmp_subscribed_name_7 = var_key;
    tmp_subscript_name_7 = const_str_plain_modulus;
    tmp_dict_value_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_7, tmp_subscript_name_7 );
    if ( tmp_dict_value_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 608;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_5 = _PyDict_NewPresized( 2 );
    tmp_res = PyDict_SetItem( tmp_args_element_name_5, tmp_dict_key_1, tmp_dict_value_1 );
    Py_DECREF( tmp_dict_value_1 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_2 = const_str_plain_public_exponent;
    if ( var_key == NULL )
    {
        Py_DECREF( tmp_args_element_name_5 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 609;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_8 = var_key;
    tmp_subscript_name_8 = const_str_plain_public_exponent;
    tmp_dict_value_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_8, tmp_subscript_name_8 );
    if ( tmp_dict_value_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_5 );

        exception_lineno = 609;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_res = PyDict_SetItem( tmp_args_element_name_5, tmp_dict_key_2, tmp_dict_value_2 );
    Py_DECREF( tmp_dict_value_2 );
    assert( !(tmp_res != 0) );
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 607;
    {
        PyObject *call_args[] = { tmp_args_element_name_5 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

    Py_DECREF( tmp_args_element_name_5 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 607;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    PyObject *tmp_source_name_8;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 612;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_8 = par_self;
    tmp_compexpr_left_3 = LOOKUP_ATTRIBUTE( tmp_source_name_8, const_str_plain_algorithm );
    if ( tmp_compexpr_left_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 612;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_3 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    Py_DECREF( tmp_compexpr_left_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 612;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_source_name_9;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 613;
        type_description_1 = "oooooooooo";
        goto try_except_handler_2;
    }

    tmp_source_name_9 = par_self;
    tmp_iter_arg_1 = LOOKUP_ATTRIBUTE( tmp_source_name_9, const_str_plain_curve );
    if ( tmp_iter_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 613;
        type_description_1 = "oooooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_3 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 613;
        type_description_1 = "oooooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_3;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_1, 0, 2 );
    if ( tmp_assign_source_4 == NULL )
    {
        if ( !ERROR_OCCURRED() )
        {
            exception_type = PyExc_StopIteration;
            Py_INCREF( exception_type );
            exception_value = NULL;
            exception_tb = NULL;
        }
        else
        {
            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        }


        type_description_1 = "oooooooooo";
        exception_lineno = 613;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_2, 1, 2 );
    if ( tmp_assign_source_5 == NULL )
    {
        if ( !ERROR_OCCURRED() )
        {
            exception_type = PyExc_StopIteration;
            Py_INCREF( exception_type );
            exception_value = NULL;
            exception_tb = NULL;
        }
        else
        {
            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        }


        type_description_1 = "oooooooooo";
        exception_lineno = 613;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_5;

    }
    {
    PyObject *tmp_iterator_name_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_iterator_name_1 = tmp_tuple_unpack_1__source_iter;
    // Check if iterator has left-over elements.
    CHECK_OBJECT( tmp_iterator_name_1 ); assert( HAS_ITERNEXT( tmp_iterator_name_1 ) );

    tmp_iterator_attempt = (*Py_TYPE( tmp_iterator_name_1 )->tp_iternext)( tmp_iterator_name_1 );

    if (likely( tmp_iterator_attempt == NULL ))
    {
        PyObject *error = GET_ERROR_OCCURRED();

        if ( error != NULL )
        {
            if ( EXCEPTION_MATCH_BOOL_SINGLE( error, PyExc_StopIteration ))
            {
                CLEAR_ERROR_OCCURRED();
            }
            else
            {
                FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

                type_description_1 = "oooooooooo";
                exception_lineno = 613;
                goto try_except_handler_3;
            }
        }
    }
    else
    {
        Py_DECREF( tmp_iterator_attempt );

        // TODO: Could avoid PyErr_Format.
#if PYTHON_VERSION < 300
        PyErr_Format( PyExc_ValueError, "too many values to unpack" );
#else
        PyErr_Format( PyExc_ValueError, "too many values to unpack (expected 2)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "oooooooooo";
        exception_lineno = 613;
        goto try_except_handler_3;
    }
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_3:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_1__source_iter );
    Py_DECREF( tmp_tuple_unpack_1__source_iter );
    tmp_tuple_unpack_1__source_iter = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto try_except_handler_2;
    }
    // End of try:
    try_end_1:;
    }
    goto try_end_2;
    // Exception handler code:
    try_except_handler_2:;
    exception_keeper_type_2 = exception_type;
    exception_keeper_value_2 = exception_value;
    exception_keeper_tb_2 = exception_tb;
    exception_keeper_lineno_2 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_2;
    exception_value = exception_keeper_value_2;
    exception_tb = exception_keeper_tb_2;
    exception_lineno = exception_keeper_lineno_2;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_2:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_1__source_iter );
    Py_DECREF( tmp_tuple_unpack_1__source_iter );
    tmp_tuple_unpack_1__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_6;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_6 = tmp_tuple_unpack_1__element_1;
    assert( var_curve_type == NULL );
    Py_INCREF( tmp_assign_source_6 );
    var_curve_type = tmp_assign_source_6;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_7;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_7 = tmp_tuple_unpack_1__element_2;
    assert( var_details == NULL );
    Py_INCREF( tmp_assign_source_7 );
    var_details = tmp_assign_source_7;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    if ( var_curve_type == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "curve_type" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 615;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_4 = var_curve_type;
    tmp_compexpr_right_4 = const_str_plain_implicit_ca;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_4, tmp_compexpr_right_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 615;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_4 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_4 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_4;
    }
    else
    {
        goto branch_no_4;
    }
    branch_yes_4:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_called_name_4;
    PyObject *tmp_mvar_value_4;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_4 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 616;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_4 = tmp_mvar_value_4;
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 616;
    tmp_make_exception_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_4, &PyTuple_GET_ITEM( const_tuple_str_digest_e89664880d1358c3887524e97e1b026b_tuple, 0 ) );

    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 616;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 616;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 616;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oooooooooo";
    goto frame_exception_exit_1;
    }
    branch_no_4:;
    }
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_compexpr_left_5;
    PyObject *tmp_compexpr_right_5;
    if ( var_curve_type == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "curve_type" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 623;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_5 = var_curve_type;
    tmp_compexpr_right_5 = const_str_plain_specified;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_5, tmp_compexpr_right_5 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 623;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_5 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_5;
    }
    else
    {
        goto branch_no_5;
    }
    branch_yes_5:;
    {
    nuitka_bool tmp_condition_result_6;
    PyObject *tmp_compexpr_left_6;
    PyObject *tmp_compexpr_right_6;
    PyObject *tmp_subscribed_name_9;
    PyObject *tmp_subscribed_name_10;
    PyObject *tmp_subscript_name_9;
    PyObject *tmp_subscript_name_10;
    if ( var_details == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "details" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 624;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_10 = var_details;
    tmp_subscript_name_9 = const_str_plain_field_id;
    tmp_subscribed_name_9 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_10, tmp_subscript_name_9 );
    if ( tmp_subscribed_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 624;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_10 = const_str_plain_field_type;
    tmp_compexpr_left_6 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_9, tmp_subscript_name_10 );
    Py_DECREF( tmp_subscribed_name_9 );
    if ( tmp_compexpr_left_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 624;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_6 = const_str_plain_characteristic_two_field;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_6, tmp_compexpr_right_6 );
    Py_DECREF( tmp_compexpr_left_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 624;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_6 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_6 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_6;
    }
    else
    {
        goto branch_no_6;
    }
    branch_yes_6:;
    {
    PyObject *tmp_raise_type_2;
    PyObject *tmp_make_exception_arg_2;
    PyObject *tmp_called_name_5;
    PyObject *tmp_mvar_value_5;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 625;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_5 = tmp_mvar_value_5;
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 625;
    tmp_make_exception_arg_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_5, &PyTuple_GET_ITEM( const_tuple_str_digest_8042122b045af3168783ef31f1c15f92_tuple, 0 ) );

    if ( tmp_make_exception_arg_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 625;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 625;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_2 };
        tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_2 );
    assert( !(tmp_raise_type_2 == NULL) );
    exception_type = tmp_raise_type_2;
    exception_lineno = 625;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oooooooooo";
    goto frame_exception_exit_1;
    }
    branch_no_6:;
    }
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_called_name_6;
    PyObject *tmp_mvar_value_6;
    PyObject *tmp_args_element_name_6;
    PyObject *tmp_subscribed_name_11;
    PyObject *tmp_subscribed_name_12;
    PyObject *tmp_subscript_name_11;
    PyObject *tmp_subscript_name_12;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_called_name_7;
    PyObject *tmp_mvar_value_7;
    PyObject *tmp_args_element_name_8;
    PyObject *tmp_subscribed_name_13;
    PyObject *tmp_subscribed_name_14;
    PyObject *tmp_subscript_name_13;
    PyObject *tmp_subscript_name_14;
    PyObject *tmp_args_element_name_9;
    PyObject *tmp_called_name_8;
    PyObject *tmp_mvar_value_8;
    PyObject *tmp_args_element_name_10;
    PyObject *tmp_subscribed_name_15;
    PyObject *tmp_subscribed_name_16;
    PyObject *tmp_subscript_name_15;
    PyObject *tmp_subscript_name_16;
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrimeCurve );

    if (unlikely( tmp_mvar_value_6 == NULL ))
    {
        tmp_mvar_value_6 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PrimeCurve );
    }

    if ( tmp_mvar_value_6 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PrimeCurve" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 632;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_6 = tmp_mvar_value_6;
    if ( var_details == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "details" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 633;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_12 = var_details;
    tmp_subscript_name_11 = const_str_plain_field_id;
    tmp_subscribed_name_11 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_12, tmp_subscript_name_11 );
    if ( tmp_subscribed_name_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 633;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_12 = const_str_plain_parameters;
    tmp_args_element_name_6 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_11, tmp_subscript_name_12 );
    Py_DECREF( tmp_subscribed_name_11 );
    if ( tmp_args_element_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 633;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_int_from_bytes );

    if (unlikely( tmp_mvar_value_7 == NULL ))
    {
        tmp_mvar_value_7 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_int_from_bytes );
    }

    if ( tmp_mvar_value_7 == NULL )
    {
        Py_DECREF( tmp_args_element_name_6 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "int_from_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 634;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_7 = tmp_mvar_value_7;
    if ( var_details == NULL )
    {
        Py_DECREF( tmp_args_element_name_6 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "details" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 634;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_14 = var_details;
    tmp_subscript_name_13 = const_str_plain_curve;
    tmp_subscribed_name_13 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_14, tmp_subscript_name_13 );
    if ( tmp_subscribed_name_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_6 );

        exception_lineno = 634;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_14 = const_str_plain_a;
    tmp_args_element_name_8 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_13, tmp_subscript_name_14 );
    Py_DECREF( tmp_subscribed_name_13 );
    if ( tmp_args_element_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_6 );

        exception_lineno = 634;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 634;
    {
        PyObject *call_args[] = { tmp_args_element_name_8 };
        tmp_args_element_name_7 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_7, call_args );
    }

    Py_DECREF( tmp_args_element_name_8 );
    if ( tmp_args_element_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_6 );

        exception_lineno = 634;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_8 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_int_from_bytes );

    if (unlikely( tmp_mvar_value_8 == NULL ))
    {
        tmp_mvar_value_8 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_int_from_bytes );
    }

    if ( tmp_mvar_value_8 == NULL )
    {
        Py_DECREF( tmp_args_element_name_6 );
        Py_DECREF( tmp_args_element_name_7 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "int_from_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 635;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_8 = tmp_mvar_value_8;
    if ( var_details == NULL )
    {
        Py_DECREF( tmp_args_element_name_6 );
        Py_DECREF( tmp_args_element_name_7 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "details" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 635;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_16 = var_details;
    tmp_subscript_name_15 = const_str_plain_curve;
    tmp_subscribed_name_15 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_16, tmp_subscript_name_15 );
    if ( tmp_subscribed_name_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_6 );
        Py_DECREF( tmp_args_element_name_7 );

        exception_lineno = 635;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_16 = const_str_plain_b;
    tmp_args_element_name_10 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_15, tmp_subscript_name_16 );
    Py_DECREF( tmp_subscribed_name_15 );
    if ( tmp_args_element_name_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_6 );
        Py_DECREF( tmp_args_element_name_7 );

        exception_lineno = 635;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 635;
    {
        PyObject *call_args[] = { tmp_args_element_name_10 };
        tmp_args_element_name_9 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_8, call_args );
    }

    Py_DECREF( tmp_args_element_name_10 );
    if ( tmp_args_element_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_6 );
        Py_DECREF( tmp_args_element_name_7 );

        exception_lineno = 635;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 632;
    {
        PyObject *call_args[] = { tmp_args_element_name_6, tmp_args_element_name_7, tmp_args_element_name_9 };
        tmp_assign_source_8 = CALL_FUNCTION_WITH_ARGS3( tmp_called_name_6, call_args );
    }

    Py_DECREF( tmp_args_element_name_6 );
    Py_DECREF( tmp_args_element_name_7 );
    Py_DECREF( tmp_args_element_name_9 );
    if ( tmp_assign_source_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 632;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_curve == NULL );
    var_curve = tmp_assign_source_8;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_iter_arg_2;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_subscribed_name_17;
    PyObject *tmp_source_name_10;
    PyObject *tmp_subscribed_name_18;
    PyObject *tmp_subscribed_name_19;
    PyObject *tmp_subscript_name_17;
    PyObject *tmp_subscript_name_18;
    PyObject *tmp_subscript_name_19;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 637;
        type_description_1 = "oooooooooo";
        goto try_except_handler_4;
    }

    tmp_subscribed_name_19 = par_self;
    tmp_subscript_name_17 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_18 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_19, tmp_subscript_name_17 );
    if ( tmp_subscribed_name_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 637;
        type_description_1 = "oooooooooo";
        goto try_except_handler_4;
    }
    tmp_subscript_name_18 = const_str_plain_parameters;
    tmp_source_name_10 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_18, tmp_subscript_name_18 );
    Py_DECREF( tmp_subscribed_name_18 );
    if ( tmp_source_name_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 637;
        type_description_1 = "oooooooooo";
        goto try_except_handler_4;
    }
    tmp_subscribed_name_17 = LOOKUP_ATTRIBUTE( tmp_source_name_10, const_str_plain_chosen );
    Py_DECREF( tmp_source_name_10 );
    if ( tmp_subscribed_name_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 637;
        type_description_1 = "oooooooooo";
        goto try_except_handler_4;
    }
    tmp_subscript_name_19 = const_str_plain_base;
    tmp_called_instance_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_17, tmp_subscript_name_19 );
    Py_DECREF( tmp_subscribed_name_17 );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 637;
        type_description_1 = "oooooooooo";
        goto try_except_handler_4;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 637;
    tmp_iter_arg_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_to_coords );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_iter_arg_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 637;
        type_description_1 = "oooooooooo";
        goto try_except_handler_4;
    }
    tmp_assign_source_9 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_2 );
    Py_DECREF( tmp_iter_arg_2 );
    if ( tmp_assign_source_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 637;
        type_description_1 = "oooooooooo";
        goto try_except_handler_4;
    }
    assert( tmp_tuple_unpack_2__source_iter == NULL );
    tmp_tuple_unpack_2__source_iter = tmp_assign_source_9;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_10 = UNPACK_NEXT( tmp_unpack_3, 0, 2 );
    if ( tmp_assign_source_10 == NULL )
    {
        if ( !ERROR_OCCURRED() )
        {
            exception_type = PyExc_StopIteration;
            Py_INCREF( exception_type );
            exception_value = NULL;
            exception_tb = NULL;
        }
        else
        {
            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        }


        type_description_1 = "oooooooooo";
        exception_lineno = 637;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_1 == NULL );
    tmp_tuple_unpack_2__element_1 = tmp_assign_source_10;

    }
    {
    PyObject *tmp_assign_source_11;
    PyObject *tmp_unpack_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_11 = UNPACK_NEXT( tmp_unpack_4, 1, 2 );
    if ( tmp_assign_source_11 == NULL )
    {
        if ( !ERROR_OCCURRED() )
        {
            exception_type = PyExc_StopIteration;
            Py_INCREF( exception_type );
            exception_value = NULL;
            exception_tb = NULL;
        }
        else
        {
            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        }


        type_description_1 = "oooooooooo";
        exception_lineno = 637;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_2 == NULL );
    tmp_tuple_unpack_2__element_2 = tmp_assign_source_11;

    }
    {
    PyObject *tmp_iterator_name_2;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_iterator_name_2 = tmp_tuple_unpack_2__source_iter;
    // Check if iterator has left-over elements.
    CHECK_OBJECT( tmp_iterator_name_2 ); assert( HAS_ITERNEXT( tmp_iterator_name_2 ) );

    tmp_iterator_attempt = (*Py_TYPE( tmp_iterator_name_2 )->tp_iternext)( tmp_iterator_name_2 );

    if (likely( tmp_iterator_attempt == NULL ))
    {
        PyObject *error = GET_ERROR_OCCURRED();

        if ( error != NULL )
        {
            if ( EXCEPTION_MATCH_BOOL_SINGLE( error, PyExc_StopIteration ))
            {
                CLEAR_ERROR_OCCURRED();
            }
            else
            {
                FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

                type_description_1 = "oooooooooo";
                exception_lineno = 637;
                goto try_except_handler_5;
            }
        }
    }
    else
    {
        Py_DECREF( tmp_iterator_attempt );

        // TODO: Could avoid PyErr_Format.
#if PYTHON_VERSION < 300
        PyErr_Format( PyExc_ValueError, "too many values to unpack" );
#else
        PyErr_Format( PyExc_ValueError, "too many values to unpack (expected 2)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "oooooooooo";
        exception_lineno = 637;
        goto try_except_handler_5;
    }
    }
    goto try_end_3;
    // Exception handler code:
    try_except_handler_5:;
    exception_keeper_type_3 = exception_type;
    exception_keeper_value_3 = exception_value;
    exception_keeper_tb_3 = exception_tb;
    exception_keeper_lineno_3 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_2__source_iter );
    Py_DECREF( tmp_tuple_unpack_2__source_iter );
    tmp_tuple_unpack_2__source_iter = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_3;
    exception_value = exception_keeper_value_3;
    exception_tb = exception_keeper_tb_3;
    exception_lineno = exception_keeper_lineno_3;

    goto try_except_handler_4;
    }
    // End of try:
    try_end_3:;
    }
    goto try_end_4;
    // Exception handler code:
    try_except_handler_4:;
    exception_keeper_type_4 = exception_type;
    exception_keeper_value_4 = exception_value;
    exception_keeper_tb_4 = exception_tb;
    exception_keeper_lineno_4 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_4;
    exception_value = exception_keeper_value_4;
    exception_tb = exception_keeper_tb_4;
    exception_lineno = exception_keeper_lineno_4;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_4:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_2__source_iter );
    Py_DECREF( tmp_tuple_unpack_2__source_iter );
    tmp_tuple_unpack_2__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_12;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_12 = tmp_tuple_unpack_2__element_1;
    assert( var_base_x == NULL );
    Py_INCREF( tmp_assign_source_12 );
    var_base_x = tmp_assign_source_12;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_13;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_13 = tmp_tuple_unpack_2__element_2;
    assert( var_base_y == NULL );
    Py_INCREF( tmp_assign_source_13 );
    var_base_y = tmp_assign_source_13;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_called_name_9;
    PyObject *tmp_mvar_value_9;
    PyObject *tmp_args_element_name_11;
    PyObject *tmp_args_element_name_12;
    PyObject *tmp_args_element_name_13;
    tmp_mvar_value_9 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrimePoint );

    if (unlikely( tmp_mvar_value_9 == NULL ))
    {
        tmp_mvar_value_9 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PrimePoint );
    }

    if ( tmp_mvar_value_9 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PrimePoint" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 638;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_9 = tmp_mvar_value_9;
    if ( var_curve == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "curve" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 638;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_11 = var_curve;
    if ( var_base_x == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "base_x" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 638;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_12 = var_base_x;
    if ( var_base_y == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "base_y" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 638;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_13 = var_base_y;
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 638;
    {
        PyObject *call_args[] = { tmp_args_element_name_11, tmp_args_element_name_12, tmp_args_element_name_13 };
        tmp_assign_source_14 = CALL_FUNCTION_WITH_ARGS3( tmp_called_name_9, call_args );
    }

    if ( tmp_assign_source_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 638;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_base_point == NULL );
    var_base_point = tmp_assign_source_14;

    }
    goto branch_end_5;
    branch_no_5:;
    {
    nuitka_bool tmp_condition_result_7;
    PyObject *tmp_compexpr_left_7;
    PyObject *tmp_compexpr_right_7;
    if ( var_curve_type == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "curve_type" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 640;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_7 = var_curve_type;
    tmp_compexpr_right_7 = const_str_plain_named;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_7, tmp_compexpr_right_7 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 640;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_7 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_7 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_7;
    }
    else
    {
        goto branch_no_7;
    }
    branch_yes_7:;
    {
    nuitka_bool tmp_condition_result_8;
    PyObject *tmp_compexpr_left_8;
    PyObject *tmp_compexpr_right_8;
    if ( var_details == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "details" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 641;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_8 = var_details;
    tmp_compexpr_right_8 = const_tuple_61492fab160e598e15e39520846d5831_tuple;
    tmp_res = PySequence_Contains( tmp_compexpr_right_8, tmp_compexpr_left_8 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 641;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_8 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_8 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_8;
    }
    else
    {
        goto branch_no_8;
    }
    branch_yes_8:;
    {
    PyObject *tmp_raise_type_3;
    PyObject *tmp_make_exception_arg_3;
    PyObject *tmp_called_name_10;
    PyObject *tmp_mvar_value_10;
    PyObject *tmp_args_element_name_14;
    PyObject *tmp_args_element_name_15;
    tmp_mvar_value_10 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_10 == NULL ))
    {
        tmp_mvar_value_10 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_10 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 642;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_10 = tmp_mvar_value_10;
    tmp_args_element_name_14 = const_str_digest_0bd1fa2a6b4f040eb6f6d7d92864342b;
    if ( var_details == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "details" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 647;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_15 = var_details;
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 642;
    {
        PyObject *call_args[] = { tmp_args_element_name_14, tmp_args_element_name_15 };
        tmp_make_exception_arg_3 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_10, call_args );
    }

    if ( tmp_make_exception_arg_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 642;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 642;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_3 };
        tmp_raise_type_3 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_3 );
    assert( !(tmp_raise_type_3 == NULL) );
    exception_type = tmp_raise_type_3;
    exception_lineno = 642;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oooooooooo";
    goto frame_exception_exit_1;
    }
    branch_no_8:;
    }
    {
    PyObject *tmp_assign_source_15;
    PyObject *tmp_subscribed_name_20;
    PyObject *tmp_dict_key_3;
    PyObject *tmp_dict_value_3;
    PyObject *tmp_mvar_value_11;
    PyObject *tmp_dict_key_4;
    PyObject *tmp_dict_value_4;
    PyObject *tmp_mvar_value_12;
    PyObject *tmp_dict_key_5;
    PyObject *tmp_dict_value_5;
    PyObject *tmp_mvar_value_13;
    PyObject *tmp_dict_key_6;
    PyObject *tmp_dict_value_6;
    PyObject *tmp_mvar_value_14;
    PyObject *tmp_dict_key_7;
    PyObject *tmp_dict_value_7;
    PyObject *tmp_mvar_value_15;
    PyObject *tmp_subscript_name_20;
    tmp_dict_key_3 = const_str_plain_secp192r1;
    tmp_mvar_value_11 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP192R1_BASE_POINT );

    if (unlikely( tmp_mvar_value_11 == NULL ))
    {
        tmp_mvar_value_11 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SECP192R1_BASE_POINT );
    }

    if ( tmp_mvar_value_11 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SECP192R1_BASE_POINT" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 651;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_3 = tmp_mvar_value_11;
    tmp_subscribed_name_20 = _PyDict_NewPresized( 5 );
    tmp_res = PyDict_SetItem( tmp_subscribed_name_20, tmp_dict_key_3, tmp_dict_value_3 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_4 = const_str_plain_secp224r1;
    tmp_mvar_value_12 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP224R1_BASE_POINT );

    if (unlikely( tmp_mvar_value_12 == NULL ))
    {
        tmp_mvar_value_12 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SECP224R1_BASE_POINT );
    }

    if ( tmp_mvar_value_12 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_20 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SECP224R1_BASE_POINT" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 652;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_4 = tmp_mvar_value_12;
    tmp_res = PyDict_SetItem( tmp_subscribed_name_20, tmp_dict_key_4, tmp_dict_value_4 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_5 = const_str_plain_secp256r1;
    tmp_mvar_value_13 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP256R1_BASE_POINT );

    if (unlikely( tmp_mvar_value_13 == NULL ))
    {
        tmp_mvar_value_13 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SECP256R1_BASE_POINT );
    }

    if ( tmp_mvar_value_13 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_20 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SECP256R1_BASE_POINT" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 653;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_5 = tmp_mvar_value_13;
    tmp_res = PyDict_SetItem( tmp_subscribed_name_20, tmp_dict_key_5, tmp_dict_value_5 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_6 = const_str_plain_secp384r1;
    tmp_mvar_value_14 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP384R1_BASE_POINT );

    if (unlikely( tmp_mvar_value_14 == NULL ))
    {
        tmp_mvar_value_14 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SECP384R1_BASE_POINT );
    }

    if ( tmp_mvar_value_14 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_20 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SECP384R1_BASE_POINT" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 654;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_6 = tmp_mvar_value_14;
    tmp_res = PyDict_SetItem( tmp_subscribed_name_20, tmp_dict_key_6, tmp_dict_value_6 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_7 = const_str_plain_secp521r1;
    tmp_mvar_value_15 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP521R1_BASE_POINT );

    if (unlikely( tmp_mvar_value_15 == NULL ))
    {
        tmp_mvar_value_15 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SECP521R1_BASE_POINT );
    }

    if ( tmp_mvar_value_15 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_20 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SECP521R1_BASE_POINT" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 655;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_7 = tmp_mvar_value_15;
    tmp_res = PyDict_SetItem( tmp_subscribed_name_20, tmp_dict_key_7, tmp_dict_value_7 );
    assert( !(tmp_res != 0) );
    if ( var_details == NULL )
    {
        Py_DECREF( tmp_subscribed_name_20 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "details" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 656;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscript_name_20 = var_details;
    tmp_assign_source_15 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_20, tmp_subscript_name_20 );
    Py_DECREF( tmp_subscribed_name_20 );
    if ( tmp_assign_source_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 650;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_base_point;
        var_base_point = tmp_assign_source_15;
        Py_XDECREF( old );
    }

    }
    branch_no_7:;
    }
    branch_end_5:;
    }
    {
    PyObject *tmp_assign_source_16;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_source_name_11;
    PyObject *tmp_subscribed_name_21;
    PyObject *tmp_source_name_12;
    PyObject *tmp_subscribed_name_22;
    PyObject *tmp_subscript_name_21;
    PyObject *tmp_subscript_name_22;
    if ( var_base_point == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "base_point" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 658;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_left_name_1 = var_base_point;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 658;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_22 = par_self;
    tmp_subscript_name_21 = const_str_plain_private_key;
    tmp_source_name_12 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_22, tmp_subscript_name_21 );
    if ( tmp_source_name_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 658;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscribed_name_21 = LOOKUP_ATTRIBUTE( tmp_source_name_12, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_12 );
    if ( tmp_subscribed_name_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 658;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_22 = const_str_plain_private_key;
    tmp_source_name_11 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_21, tmp_subscript_name_22 );
    Py_DECREF( tmp_subscribed_name_21 );
    if ( tmp_source_name_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 658;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_11, const_str_plain_native );
    Py_DECREF( tmp_source_name_11 );
    if ( tmp_right_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 658;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_16 = BINARY_OPERATION_MUL( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_right_name_1 );
    if ( tmp_assign_source_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 658;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_public_point == NULL );
    var_public_point = tmp_assign_source_16;

    }
    {
    PyObject *tmp_called_name_11;
    PyObject *tmp_source_name_13;
    PyObject *tmp_mvar_value_16;
    PyObject *tmp_args_element_name_16;
    PyObject *tmp_source_name_14;
    PyObject *tmp_args_element_name_17;
    PyObject *tmp_source_name_15;
    tmp_mvar_value_16 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPointBitString );

    if (unlikely( tmp_mvar_value_16 == NULL ))
    {
        tmp_mvar_value_16 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECPointBitString );
    }

    if ( tmp_mvar_value_16 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECPointBitString" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 659;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_13 = tmp_mvar_value_16;
    tmp_called_name_11 = LOOKUP_ATTRIBUTE( tmp_source_name_13, const_str_plain_from_coords );
    if ( tmp_called_name_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 659;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_public_point == NULL )
    {
        Py_DECREF( tmp_called_name_11 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_point" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 659;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_14 = var_public_point;
    tmp_args_element_name_16 = LOOKUP_ATTRIBUTE( tmp_source_name_14, const_str_plain_x );
    if ( tmp_args_element_name_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_11 );

        exception_lineno = 659;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_public_point == NULL )
    {
        Py_DECREF( tmp_called_name_11 );
        Py_DECREF( tmp_args_element_name_16 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_point" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 659;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_15 = var_public_point;
    tmp_args_element_name_17 = LOOKUP_ATTRIBUTE( tmp_source_name_15, const_str_plain_y );
    if ( tmp_args_element_name_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_11 );
        Py_DECREF( tmp_args_element_name_16 );

        exception_lineno = 659;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8b123ff87487ec53decab93bda709771->m_frame.f_lineno = 659;
    {
        PyObject *call_args[] = { tmp_args_element_name_16, tmp_args_element_name_17 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_11, call_args );
    }

    Py_DECREF( tmp_called_name_11 );
    Py_DECREF( tmp_args_element_name_16 );
    Py_DECREF( tmp_args_element_name_17 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 659;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_3:;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8b123ff87487ec53decab93bda709771 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_8b123ff87487ec53decab93bda709771 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8b123ff87487ec53decab93bda709771 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_8b123ff87487ec53decab93bda709771, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_8b123ff87487ec53decab93bda709771->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_8b123ff87487ec53decab93bda709771, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_8b123ff87487ec53decab93bda709771,
        type_description_1,
        par_self,
        var_params,
        var_key,
        var_curve_type,
        var_details,
        var_curve,
        var_base_x,
        var_base_y,
        var_base_point,
        var_public_point
    );


    // Release cached frame.
    if ( frame_8b123ff87487ec53decab93bda709771 == cache_frame_8b123ff87487ec53decab93bda709771 )
    {
        Py_DECREF( frame_8b123ff87487ec53decab93bda709771 );
    }
    cache_frame_8b123ff87487ec53decab93bda709771 = NULL;

    assertFrameObject( frame_8b123ff87487ec53decab93bda709771 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    {
    tmp_return_value = Py_None;
    Py_INCREF( tmp_return_value );
    goto try_return_handler_1;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_5__compute_public_key );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    Py_XDECREF( var_curve_type );
    var_curve_type = NULL;

    }
    {
    Py_XDECREF( var_details );
    var_details = NULL;

    }
    {
    Py_XDECREF( var_curve );
    var_curve = NULL;

    }
    {
    Py_XDECREF( var_base_x );
    var_base_x = NULL;

    }
    {
    Py_XDECREF( var_base_y );
    var_base_y = NULL;

    }
    {
    Py_XDECREF( var_base_point );
    var_base_point = NULL;

    }
    {
    Py_XDECREF( var_public_point );
    var_public_point = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_5 = exception_type;
    exception_keeper_value_5 = exception_value;
    exception_keeper_tb_5 = exception_tb;
    exception_keeper_lineno_5 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    Py_XDECREF( var_curve_type );
    var_curve_type = NULL;

    }
    {
    Py_XDECREF( var_details );
    var_details = NULL;

    }
    {
    Py_XDECREF( var_curve );
    var_curve = NULL;

    }
    {
    Py_XDECREF( var_base_x );
    var_base_x = NULL;

    }
    {
    Py_XDECREF( var_base_y );
    var_base_y = NULL;

    }
    {
    Py_XDECREF( var_base_point );
    var_base_point = NULL;

    }
    {
    Py_XDECREF( var_public_point );
    var_public_point = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_5;
    exception_value = exception_keeper_value_5;
    exception_tb = exception_keeper_tb_5;
    exception_lineno = exception_keeper_lineno_5;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_5__compute_public_key );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_6_unwrap( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_params = NULL;
    PyObject *var_output = NULL;
    struct Nuitka_FrameObject *frame_ce35018a95f583c5a775782ab52b36f0;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    bool tmp_result;
    static struct Nuitka_FrameObject *cache_frame_ce35018a95f583c5a775782ab52b36f0 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_ce35018a95f583c5a775782ab52b36f0, codeobj_ce35018a95f583c5a775782ab52b36f0, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_ce35018a95f583c5a775782ab52b36f0 = cache_frame_ce35018a95f583c5a775782ab52b36f0;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_ce35018a95f583c5a775782ab52b36f0 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_ce35018a95f583c5a775782ab52b36f0 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_algorithm );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 670;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = const_str_plain_rsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 670;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_source_name_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 671;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key;
    tmp_source_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_source_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 671;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_2 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 671;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_source_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 673;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = par_self;
    tmp_compexpr_left_2 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_algorithm );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 673;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    Py_DECREF( tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 673;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_subscript_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 674;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = par_self;
    tmp_subscript_name_2 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_2 );
    if ( tmp_subscribed_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 674;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_3 = const_str_plain_parameters;
    tmp_assign_source_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_3 );
    Py_DECREF( tmp_subscribed_name_2 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 674;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_params == NULL );
    var_params = tmp_assign_source_1;

    }
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_dict_key_1;
    PyObject *tmp_dict_value_1;
    PyObject *tmp_dict_key_2;
    PyObject *tmp_dict_value_2;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    PyObject *tmp_dict_key_3;
    PyObject *tmp_dict_value_3;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    PyObject *tmp_dict_key_4;
    PyObject *tmp_dict_value_4;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_subscript_name_6;
    PyObject *tmp_dict_key_5;
    PyObject *tmp_dict_value_5;
    PyObject *tmp_source_name_4;
    PyObject *tmp_dict_key_6;
    PyObject *tmp_dict_value_6;
    PyObject *tmp_source_name_5;
    PyObject *tmp_subscribed_name_7;
    PyObject *tmp_subscript_name_7;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DSAPrivateKey );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DSAPrivateKey );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DSAPrivateKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 675;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    tmp_dict_key_1 = const_str_plain_version;
    tmp_dict_value_1 = const_int_0;
    tmp_args_element_name_1 = _PyDict_NewPresized( 6 );
    tmp_res = PyDict_SetItem( tmp_args_element_name_1, tmp_dict_key_1, tmp_dict_value_1 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_2 = const_str_plain_p;
    CHECK_OBJECT( var_params );
    tmp_subscribed_name_4 = var_params;
    tmp_subscript_name_4 = const_str_plain_p;
    tmp_dict_value_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    if ( tmp_dict_value_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_1 );

        exception_lineno = 677;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_res = PyDict_SetItem( tmp_args_element_name_1, tmp_dict_key_2, tmp_dict_value_2 );
    Py_DECREF( tmp_dict_value_2 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_3 = const_str_plain_q;
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_args_element_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 678;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_5 = var_params;
    tmp_subscript_name_5 = const_str_plain_q;
    tmp_dict_value_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    if ( tmp_dict_value_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_1 );

        exception_lineno = 678;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_res = PyDict_SetItem( tmp_args_element_name_1, tmp_dict_key_3, tmp_dict_value_3 );
    Py_DECREF( tmp_dict_value_3 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_4 = const_str_plain_g;
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_args_element_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 679;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_6 = var_params;
    tmp_subscript_name_6 = const_str_plain_g;
    tmp_dict_value_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_6, tmp_subscript_name_6 );
    if ( tmp_dict_value_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_1 );

        exception_lineno = 679;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_res = PyDict_SetItem( tmp_args_element_name_1, tmp_dict_key_4, tmp_dict_value_4 );
    Py_DECREF( tmp_dict_value_4 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_5 = const_str_plain_public_key;
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_args_element_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 680;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_4 = par_self;
    tmp_dict_value_5 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_public_key );
    if ( tmp_dict_value_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_1 );

        exception_lineno = 680;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_res = PyDict_SetItem( tmp_args_element_name_1, tmp_dict_key_5, tmp_dict_value_5 );
    Py_DECREF( tmp_dict_value_5 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_6 = const_str_plain_private_key;
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_args_element_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 681;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_7 = par_self;
    tmp_subscript_name_7 = const_str_plain_private_key;
    tmp_source_name_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_7, tmp_subscript_name_7 );
    if ( tmp_source_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_1 );

        exception_lineno = 681;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_dict_value_6 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_5 );
    if ( tmp_dict_value_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_1 );

        exception_lineno = 681;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_res = PyDict_SetItem( tmp_args_element_name_1, tmp_dict_key_6, tmp_dict_value_6 );
    Py_DECREF( tmp_dict_value_6 );
    assert( !(tmp_res != 0) );
    frame_ce35018a95f583c5a775782ab52b36f0->m_frame.f_lineno = 675;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 675;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    PyObject *tmp_source_name_6;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 684;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_6 = par_self;
    tmp_compexpr_left_3 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain_algorithm );
    if ( tmp_compexpr_left_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 684;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_3 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    Py_DECREF( tmp_compexpr_left_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 684;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_source_name_7;
    PyObject *tmp_subscribed_name_8;
    PyObject *tmp_subscript_name_8;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 685;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_8 = par_self;
    tmp_subscript_name_8 = const_str_plain_private_key;
    tmp_source_name_7 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_8, tmp_subscript_name_8 );
    if ( tmp_source_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 685;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_2 = LOOKUP_ATTRIBUTE( tmp_source_name_7, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_7 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 685;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_output == NULL );
    var_output = tmp_assign_source_2;

    }
    {
    PyObject *tmp_ass_subvalue_1;
    PyObject *tmp_subscribed_name_9;
    PyObject *tmp_subscribed_name_10;
    PyObject *tmp_subscript_name_9;
    PyObject *tmp_subscript_name_10;
    PyObject *tmp_ass_subscribed_1;
    PyObject *tmp_ass_subscript_1;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 686;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_10 = par_self;
    tmp_subscript_name_9 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_9 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_10, tmp_subscript_name_9 );
    if ( tmp_subscribed_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 686;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_10 = const_str_plain_parameters;
    tmp_ass_subvalue_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_9, tmp_subscript_name_10 );
    Py_DECREF( tmp_subscribed_name_9 );
    if ( tmp_ass_subvalue_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 686;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( var_output == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "output" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 686;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_1 = var_output;
    tmp_ass_subscript_1 = const_str_plain_parameters;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1 );
    Py_DECREF( tmp_ass_subvalue_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 686;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_ass_subvalue_2;
    PyObject *tmp_source_name_8;
    PyObject *tmp_ass_subscribed_2;
    PyObject *tmp_ass_subscript_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 687;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_8 = par_self;
    tmp_ass_subvalue_2 = LOOKUP_ATTRIBUTE( tmp_source_name_8, const_str_plain_public_key );
    if ( tmp_ass_subvalue_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 687;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( var_output == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "output" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 687;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_2 = var_output;
    tmp_ass_subscript_2 = const_str_plain_public_key;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_2, tmp_ass_subscript_2, tmp_ass_subvalue_2 );
    Py_DECREF( tmp_ass_subvalue_2 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 687;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    }
    {
    if ( var_output == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "output" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 688;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = var_output;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }
    branch_no_3:;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_ce35018a95f583c5a775782ab52b36f0 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_ce35018a95f583c5a775782ab52b36f0 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_ce35018a95f583c5a775782ab52b36f0 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_ce35018a95f583c5a775782ab52b36f0, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_ce35018a95f583c5a775782ab52b36f0->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_ce35018a95f583c5a775782ab52b36f0, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_ce35018a95f583c5a775782ab52b36f0,
        type_description_1,
        par_self,
        var_params,
        var_output
    );


    // Release cached frame.
    if ( frame_ce35018a95f583c5a775782ab52b36f0 == cache_frame_ce35018a95f583c5a775782ab52b36f0 )
    {
        Py_DECREF( frame_ce35018a95f583c5a775782ab52b36f0 );
    }
    cache_frame_ce35018a95f583c5a775782ab52b36f0 = NULL;

    assertFrameObject( frame_ce35018a95f583c5a775782ab52b36f0 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    {
    tmp_return_value = Py_None;
    Py_INCREF( tmp_return_value );
    goto try_return_handler_1;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_6_unwrap );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_output );
    var_output = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_output );
    var_output = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_6_unwrap );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_7_curve( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_params = NULL;
    PyObject *var_chosen = NULL;
    PyObject *var_value = NULL;
    struct Nuitka_FrameObject *frame_eb35e9abf683e22bb85afb18d16216bd;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_eb35e9abf683e22bb85afb18d16216bd = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_eb35e9abf683e22bb85afb18d16216bd, codeobj_eb35e9abf683e22bb85afb18d16216bd, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_eb35e9abf683e22bb85afb18d16216bd = cache_frame_eb35e9abf683e22bb85afb18d16216bd;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_eb35e9abf683e22bb85afb18d16216bd );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_eb35e9abf683e22bb85afb18d16216bd ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_algorithm );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 706;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 706;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_source_name_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 707;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    tmp_args_element_name_1 = const_str_digest_2f4cb4eba960cf9aa9f614dd5336e19e;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 711;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_called_instance_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_algorithm );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 711;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    frame_eb35e9abf683e22bb85afb18d16216bd->m_frame.f_lineno = 711;
    tmp_args_element_name_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_upper );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 711;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    frame_eb35e9abf683e22bb85afb18d16216bd->m_frame.f_lineno = 707;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_make_exception_arg_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 707;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    frame_eb35e9abf683e22bb85afb18d16216bd->m_frame.f_lineno = 707;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 707;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oooo";
    goto frame_exception_exit_1;
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 714;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 714;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_parameters;
    tmp_assign_source_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 714;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    assert( var_params == NULL );
    var_params = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_source_name_3;
    CHECK_OBJECT( var_params );
    tmp_source_name_3 = var_params;
    tmp_assign_source_2 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_chosen );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 715;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    assert( var_chosen == NULL );
    var_chosen = tmp_assign_source_2;

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_source_name_4;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 717;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_4 = var_params;
    tmp_compexpr_left_2 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_name );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 717;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_plain_implicit_ca;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    Py_DECREF( tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 717;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_3;
    tmp_assign_source_3 = Py_None;
    assert( var_value == NULL );
    Py_INCREF( tmp_assign_source_3 );
    var_value = tmp_assign_source_3;

    }
    goto branch_end_2;
    branch_no_2:;
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_source_name_5;
    if ( var_chosen == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "chosen" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 720;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_5 = var_chosen;
    tmp_assign_source_4 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_native );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 720;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    assert( var_value == NULL );
    var_value = tmp_assign_source_4;

    }
    branch_end_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_source_name_6;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 722;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_6 = var_params;
    tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain_name );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 722;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_return_value = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( var_value == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "value" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 722;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_value;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_1 );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_eb35e9abf683e22bb85afb18d16216bd );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_eb35e9abf683e22bb85afb18d16216bd );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_eb35e9abf683e22bb85afb18d16216bd );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_eb35e9abf683e22bb85afb18d16216bd, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_eb35e9abf683e22bb85afb18d16216bd->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_eb35e9abf683e22bb85afb18d16216bd, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_eb35e9abf683e22bb85afb18d16216bd,
        type_description_1,
        par_self,
        var_params,
        var_chosen,
        var_value
    );


    // Release cached frame.
    if ( frame_eb35e9abf683e22bb85afb18d16216bd == cache_frame_eb35e9abf683e22bb85afb18d16216bd )
    {
        Py_DECREF( frame_eb35e9abf683e22bb85afb18d16216bd );
    }
    cache_frame_eb35e9abf683e22bb85afb18d16216bd = NULL;

    assertFrameObject( frame_eb35e9abf683e22bb85afb18d16216bd );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_7_curve );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_chosen );
    var_chosen = NULL;

    }
    {
    Py_XDECREF( var_value );
    var_value = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_chosen );
    var_chosen = NULL;

    }
    {
    Py_XDECREF( var_value );
    var_value = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_7_curve );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_8_hash_algo( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_byte_len = NULL;
    struct Nuitka_FrameObject *frame_4aa95320459387d2e17bdfe773acced1;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_4aa95320459387d2e17bdfe773acced1 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_4aa95320459387d2e17bdfe773acced1, codeobj_4aa95320459387d2e17bdfe773acced1, module_asn1crypto$keys, sizeof(void *)+sizeof(void *) );
    frame_4aa95320459387d2e17bdfe773acced1 = cache_frame_4aa95320459387d2e17bdfe773acced1;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_4aa95320459387d2e17bdfe773acced1 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_4aa95320459387d2e17bdfe773acced1 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_algorithm );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 737;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 737;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_source_name_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 738;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    tmp_args_element_name_1 = const_str_digest_43089fc8b3a03470c55e40b7891aea70;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 743;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_called_instance_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_algorithm );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 743;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    frame_4aa95320459387d2e17bdfe773acced1->m_frame.f_lineno = 743;
    tmp_args_element_name_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_upper );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 743;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    frame_4aa95320459387d2e17bdfe773acced1->m_frame.f_lineno = 738;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_make_exception_arg_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 738;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    frame_4aa95320459387d2e17bdfe773acced1->m_frame.f_lineno = 738;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 738;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oo";
    goto frame_exception_exit_1;
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_left_name_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_source_name_3;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_source_name_4;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_args_element_name_4;
    PyObject *tmp_right_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 746;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = tmp_mvar_value_2;
    tmp_called_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_log );
    if ( tmp_called_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 746;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_called_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 746;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_2 );

        exception_lineno = 746;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_parameters;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_2 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_2 );

        exception_lineno = 746;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_3 = const_str_plain_q;
    tmp_source_name_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_3 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_source_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_2 );

        exception_lineno = 746;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_native );
    Py_DECREF( tmp_source_name_4 );
    if ( tmp_args_element_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_2 );

        exception_lineno = 746;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_4 = const_int_pos_2;
    frame_4aa95320459387d2e17bdfe773acced1->m_frame.f_lineno = 746;
    {
        PyObject *call_args[] = { tmp_args_element_name_3, tmp_args_element_name_4 };
        tmp_left_name_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_called_name_2 );
    Py_DECREF( tmp_args_element_name_3 );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 746;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_int_pos_8;
    tmp_assign_source_1 = BINARY_OPERATION_TRUEDIV( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 746;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    assert( var_byte_len == NULL );
    var_byte_len = tmp_assign_source_1;

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    CHECK_OBJECT( var_byte_len );
    tmp_compexpr_left_2 = var_byte_len;
    tmp_compexpr_right_2 = const_int_pos_20;
    tmp_res = RICH_COMPARE_BOOL_LE( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 748;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_1;
    }
    else
    {
        goto condexpr_false_1;
    }
    condexpr_true_1:;
    tmp_return_value = const_str_plain_sha1;
    goto condexpr_end_1;
    condexpr_false_1:;
    tmp_return_value = const_str_plain_sha2;
    condexpr_end_1:;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_4aa95320459387d2e17bdfe773acced1 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_4aa95320459387d2e17bdfe773acced1 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_4aa95320459387d2e17bdfe773acced1 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_4aa95320459387d2e17bdfe773acced1, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_4aa95320459387d2e17bdfe773acced1->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_4aa95320459387d2e17bdfe773acced1, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_4aa95320459387d2e17bdfe773acced1,
        type_description_1,
        par_self,
        var_byte_len
    );


    // Release cached frame.
    if ( frame_4aa95320459387d2e17bdfe773acced1 == cache_frame_4aa95320459387d2e17bdfe773acced1 )
    {
        Py_DECREF( frame_4aa95320459387d2e17bdfe773acced1 );
    }
    cache_frame_4aa95320459387d2e17bdfe773acced1 = NULL;

    assertFrameObject( frame_4aa95320459387d2e17bdfe773acced1 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_8_hash_algo );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_byte_len );
    var_byte_len = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_byte_len );
    var_byte_len = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_8_hash_algo );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_9_algorithm( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    struct Nuitka_FrameObject *frame_128796d55b1a6c422907957318106159;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_128796d55b1a6c422907957318106159 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_128796d55b1a6c422907957318106159, codeobj_128796d55b1a6c422907957318106159, module_asn1crypto$keys, sizeof(void *) );
    frame_128796d55b1a6c422907957318106159 = cache_frame_128796d55b1a6c422907957318106159;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_128796d55b1a6c422907957318106159 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_128796d55b1a6c422907957318106159 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain__algorithm );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 757;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_assattr_target_1;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 758;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 758;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_algorithm;
    tmp_source_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_source_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 758;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_assattr_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_native );
    Py_DECREF( tmp_source_name_2 );
    if ( tmp_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 758;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 758;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_1 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__algorithm, tmp_assattr_name_1 );
    Py_DECREF( tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 758;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_source_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 759;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain__algorithm );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 759;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_128796d55b1a6c422907957318106159 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_128796d55b1a6c422907957318106159 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_128796d55b1a6c422907957318106159 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_128796d55b1a6c422907957318106159, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_128796d55b1a6c422907957318106159->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_128796d55b1a6c422907957318106159, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_128796d55b1a6c422907957318106159,
        type_description_1,
        par_self
    );


    // Release cached frame.
    if ( frame_128796d55b1a6c422907957318106159 == cache_frame_128796d55b1a6c422907957318106159 )
    {
        Py_DECREF( frame_128796d55b1a6c422907957318106159 );
    }
    cache_frame_128796d55b1a6c422907957318106159 = NULL;

    assertFrameObject( frame_128796d55b1a6c422907957318106159 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_9_algorithm );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_9_algorithm );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_10_bit_size( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_prime = NULL;
    PyObject *var_modulus = NULL;
    PyObject *tmp_inplace_assign_attr_1__end = NULL;
    PyObject *tmp_inplace_assign_attr_1__start = NULL;
    struct Nuitka_FrameObject *frame_664287ffb80c88fb25456240f250c00f;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    bool tmp_result;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_664287ffb80c88fb25456240f250c00f = NULL;
    PyObject *exception_keeper_type_3;
    PyObject *exception_keeper_value_3;
    PyTracebackObject *exception_keeper_tb_3;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_664287ffb80c88fb25456240f250c00f, codeobj_664287ffb80c88fb25456240f250c00f, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_664287ffb80c88fb25456240f250c00f = cache_frame_664287ffb80c88fb25456240f250c00f;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_664287ffb80c88fb25456240f250c00f );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_664287ffb80c88fb25456240f250c00f ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain__bit_size );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 768;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_source_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 769;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_compexpr_left_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_algorithm );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 769;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_plain_rsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    Py_DECREF( tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 769;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_source_name_3;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_source_name_4;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 770;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key;
    tmp_source_name_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_source_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 770;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscribed_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_4 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 770;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_modulus;
    tmp_source_name_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_source_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 770;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_1 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_native );
    Py_DECREF( tmp_source_name_3 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 770;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_prime == NULL );
    var_prime = tmp_assign_source_1;

    }
    goto branch_end_2;
    branch_no_2:;
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    PyObject *tmp_source_name_5;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 771;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_5 = par_self;
    tmp_compexpr_left_3 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_algorithm );
    if ( tmp_compexpr_left_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 771;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_3 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    Py_DECREF( tmp_compexpr_left_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 771;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_source_name_6;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_subscript_name_4;
    PyObject *tmp_subscript_name_5;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 772;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_5 = par_self;
    tmp_subscript_name_3 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_3 );
    if ( tmp_subscribed_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 772;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_4 = const_str_plain_parameters;
    tmp_subscribed_name_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    Py_DECREF( tmp_subscribed_name_4 );
    if ( tmp_subscribed_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 772;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_5 = const_str_plain_p;
    tmp_source_name_6 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_5 );
    Py_DECREF( tmp_subscribed_name_3 );
    if ( tmp_source_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 772;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_2 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain_native );
    Py_DECREF( tmp_source_name_6 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 772;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_prime;
        var_prime = tmp_assign_source_2;
        Py_XDECREF( old );
    }

    }
    goto branch_end_3;
    branch_no_3:;
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    PyObject *tmp_source_name_7;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 773;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_7 = par_self;
    tmp_compexpr_left_4 = LOOKUP_ATTRIBUTE( tmp_source_name_7, const_str_plain_algorithm );
    if ( tmp_compexpr_left_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 773;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_4 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_4, tmp_compexpr_right_4 );
    Py_DECREF( tmp_compexpr_left_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 773;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_4 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_4 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_4;
    }
    else
    {
        goto branch_no_4;
    }
    branch_yes_4:;
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_source_name_8;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_source_name_9;
    PyObject *tmp_subscribed_name_7;
    PyObject *tmp_subscript_name_6;
    PyObject *tmp_subscript_name_7;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 774;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_7 = par_self;
    tmp_subscript_name_6 = const_str_plain_private_key;
    tmp_source_name_9 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_7, tmp_subscript_name_6 );
    if ( tmp_source_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 774;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscribed_name_6 = LOOKUP_ATTRIBUTE( tmp_source_name_9, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_9 );
    if ( tmp_subscribed_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 774;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_7 = const_str_plain_private_key;
    tmp_source_name_8 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_6, tmp_subscript_name_7 );
    Py_DECREF( tmp_subscribed_name_6 );
    if ( tmp_source_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 774;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_3 = LOOKUP_ATTRIBUTE( tmp_source_name_8, const_str_plain_native );
    Py_DECREF( tmp_source_name_8 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 774;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_prime;
        var_prime = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    branch_no_4:;
    }
    branch_end_3:;
    }
    branch_end_2:;
    }
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_int_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_10;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_source_name_11;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_assattr_target_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_10 = tmp_mvar_value_1;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_10, const_str_plain_ceil );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_2 == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_11 = tmp_mvar_value_2;
    tmp_called_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_11, const_str_plain_log );
    if ( tmp_called_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( var_prime == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        Py_DECREF( tmp_called_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "prime" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = var_prime;
    tmp_args_element_name_3 = const_int_pos_2;
    frame_664287ffb80c88fb25456240f250c00f->m_frame.f_lineno = 775;
    {
        PyObject *call_args[] = { tmp_args_element_name_2, tmp_args_element_name_3 };
        tmp_args_element_name_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_called_name_2 );
    if ( tmp_args_element_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_664287ffb80c88fb25456240f250c00f->m_frame.f_lineno = 775;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_int_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_int_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assattr_name_1 = PyNumber_Int( tmp_int_arg_1 );
    Py_DECREF( tmp_int_arg_1 );
    if ( tmp_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_1 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__bit_size, tmp_assattr_name_1 );
    Py_DECREF( tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 775;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_left_name_1;
    PyObject *tmp_source_name_12;
    PyObject *tmp_right_name_1;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 776;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_12 = par_self;
    tmp_left_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_12, const_str_plain__bit_size );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 776;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_int_pos_8;
    tmp_assign_source_4 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 776;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_modulus == NULL );
    var_modulus = tmp_assign_source_4;

    }
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_compexpr_left_5;
    PyObject *tmp_compexpr_right_5;
    CHECK_OBJECT( var_modulus );
    tmp_compexpr_left_5 = var_modulus;
    tmp_compexpr_right_5 = const_int_0;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_5, tmp_compexpr_right_5 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 777;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_5 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_5;
    }
    else
    {
        goto branch_no_5;
    }
    branch_yes_5:;
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_source_name_13;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 778;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_13 = par_self;
    tmp_assign_source_5 = LOOKUP_ATTRIBUTE( tmp_source_name_13, const_str_plain__bit_size );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 778;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_inplace_assign_attr_1__start == NULL );
    tmp_inplace_assign_attr_1__start = tmp_assign_source_5;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_left_name_2;
    PyObject *tmp_right_name_2;
    PyObject *tmp_left_name_3;
    PyObject *tmp_right_name_3;
    CHECK_OBJECT( tmp_inplace_assign_attr_1__start );
    tmp_left_name_2 = tmp_inplace_assign_attr_1__start;
    tmp_left_name_3 = const_int_pos_8;
    if ( var_modulus == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "modulus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 778;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }

    tmp_right_name_3 = var_modulus;
    tmp_right_name_2 = BINARY_OPERATION_SUB( tmp_left_name_3, tmp_right_name_3 );
    if ( tmp_right_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 778;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_6 = BINARY_OPERATION( PyNumber_InPlaceAdd, tmp_left_name_2, tmp_right_name_2 );
    Py_DECREF( tmp_right_name_2 );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 778;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    assert( tmp_inplace_assign_attr_1__end == NULL );
    tmp_inplace_assign_attr_1__end = tmp_assign_source_6;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assattr_name_2;
    PyObject *tmp_assattr_target_2;
    CHECK_OBJECT( tmp_inplace_assign_attr_1__end );
    tmp_assattr_name_2 = tmp_inplace_assign_attr_1__end;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 778;
        type_description_1 = "ooo";
        goto try_except_handler_3;
    }

    tmp_assattr_target_2 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_2, const_str_plain__bit_size, tmp_assattr_name_2 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 778;
        type_description_1 = "ooo";
        goto try_except_handler_3;
    }
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_3:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_inplace_assign_attr_1__end );
    Py_DECREF( tmp_inplace_assign_attr_1__end );
    tmp_inplace_assign_attr_1__end = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto try_except_handler_2;
    }
    // End of try:
    try_end_1:;
    }
    goto try_end_2;
    // Exception handler code:
    try_except_handler_2:;
    exception_keeper_type_2 = exception_type;
    exception_keeper_value_2 = exception_value;
    exception_keeper_tb_2 = exception_tb;
    exception_keeper_lineno_2 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_inplace_assign_attr_1__start );
    Py_DECREF( tmp_inplace_assign_attr_1__start );
    tmp_inplace_assign_attr_1__start = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_2;
    exception_value = exception_keeper_value_2;
    exception_tb = exception_keeper_tb_2;
    exception_lineno = exception_keeper_lineno_2;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_2:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_inplace_assign_attr_1__end );
    Py_DECREF( tmp_inplace_assign_attr_1__end );
    tmp_inplace_assign_attr_1__end = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_inplace_assign_attr_1__start );
    Py_DECREF( tmp_inplace_assign_attr_1__start );
    tmp_inplace_assign_attr_1__start = NULL;

    }
    branch_no_5:;
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_source_name_14;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 779;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_14 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_14, const_str_plain__bit_size );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 779;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_664287ffb80c88fb25456240f250c00f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_664287ffb80c88fb25456240f250c00f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_664287ffb80c88fb25456240f250c00f );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_664287ffb80c88fb25456240f250c00f, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_664287ffb80c88fb25456240f250c00f->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_664287ffb80c88fb25456240f250c00f, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_664287ffb80c88fb25456240f250c00f,
        type_description_1,
        par_self,
        var_prime,
        var_modulus
    );


    // Release cached frame.
    if ( frame_664287ffb80c88fb25456240f250c00f == cache_frame_664287ffb80c88fb25456240f250c00f )
    {
        Py_DECREF( frame_664287ffb80c88fb25456240f250c00f );
    }
    cache_frame_664287ffb80c88fb25456240f250c00f = NULL;

    assertFrameObject( frame_664287ffb80c88fb25456240f250c00f );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_10_bit_size );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_prime );
    var_prime = NULL;

    }
    {
    Py_XDECREF( var_modulus );
    var_modulus = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_3 = exception_type;
    exception_keeper_value_3 = exception_value;
    exception_keeper_tb_3 = exception_tb;
    exception_keeper_lineno_3 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_prime );
    var_prime = NULL;

    }
    {
    Py_XDECREF( var_modulus );
    var_modulus = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_3;
    exception_value = exception_keeper_value_3;
    exception_tb = exception_keeper_tb_3;
    exception_lineno = exception_keeper_lineno_3;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_10_bit_size );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_11_byte_size( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    struct Nuitka_FrameObject *frame_3b085a702e4441e871b7a7da604be517;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *tmp_return_value = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    static struct Nuitka_FrameObject *cache_frame_3b085a702e4441e871b7a7da604be517 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_3b085a702e4441e871b7a7da604be517, codeobj_3b085a702e4441e871b7a7da604be517, module_asn1crypto$keys, sizeof(void *) );
    frame_3b085a702e4441e871b7a7da604be517 = cache_frame_3b085a702e4441e871b7a7da604be517;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_3b085a702e4441e871b7a7da604be517 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_3b085a702e4441e871b7a7da604be517 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_int_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_left_name_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_right_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 788;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_1;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_ceil );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 788;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 788;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_left_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_bit_size );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 788;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_int_pos_8;
    tmp_args_element_name_1 = BINARY_OPERATION_TRUEDIV( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_args_element_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 788;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_3b085a702e4441e871b7a7da604be517->m_frame.f_lineno = 788;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_int_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_int_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 788;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_return_value = PyNumber_Int( tmp_int_arg_1 );
    Py_DECREF( tmp_int_arg_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 788;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_3b085a702e4441e871b7a7da604be517 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_3b085a702e4441e871b7a7da604be517 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_3b085a702e4441e871b7a7da604be517 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_3b085a702e4441e871b7a7da604be517, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_3b085a702e4441e871b7a7da604be517->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_3b085a702e4441e871b7a7da604be517, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_3b085a702e4441e871b7a7da604be517,
        type_description_1,
        par_self
    );


    // Release cached frame.
    if ( frame_3b085a702e4441e871b7a7da604be517 == cache_frame_3b085a702e4441e871b7a7da604be517 )
    {
        Py_DECREF( frame_3b085a702e4441e871b7a7da604be517 );
    }
    cache_frame_3b085a702e4441e871b7a7da604be517 = NULL;

    assertFrameObject( frame_3b085a702e4441e871b7a7da604be517 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_11_byte_size );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_11_byte_size );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_12_public_key( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_key = NULL;
    struct Nuitka_FrameObject *frame_cdcee95a7e4125cdb2c7ce8a3052a834;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_cdcee95a7e4125cdb2c7ce8a3052a834 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_cdcee95a7e4125cdb2c7ce8a3052a834, codeobj_cdcee95a7e4125cdb2c7ce8a3052a834, module_asn1crypto$keys, sizeof(void *)+sizeof(void *) );
    frame_cdcee95a7e4125cdb2c7ce8a3052a834 = cache_frame_cdcee95a7e4125cdb2c7ce8a3052a834;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_cdcee95a7e4125cdb2c7ce8a3052a834 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_cdcee95a7e4125cdb2c7ce8a3052a834 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain__public_key );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 798;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_source_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 799;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_compexpr_left_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_algorithm );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 799;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    Py_DECREF( tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 799;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_source_name_3;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 800;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key;
    tmp_source_name_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_source_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 800;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_1 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_3 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 800;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    assert( var_key == NULL );
    var_key = tmp_assign_source_1;

    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_subscript_result_1;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_key );
    tmp_subscribed_name_2 = var_key;
    tmp_subscript_name_2 = const_str_plain_public_key;
    tmp_subscript_result_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    if ( tmp_subscript_result_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 801;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_truth_name_1 = CHECK_IF_TRUE( tmp_subscript_result_1 );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_subscript_result_1 );

        exception_lineno = 801;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = tmp_truth_name_1 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_subscript_result_1 );
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_assattr_target_1;
    if ( var_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 802;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = var_key;
    tmp_subscript_name_3 = const_str_plain_public_key;
    tmp_called_instance_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 802;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    frame_cdcee95a7e4125cdb2c7ce8a3052a834->m_frame.f_lineno = 802;
    tmp_assattr_name_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_untag );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 802;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 802;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_1 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__public_key, tmp_assattr_name_1 );
    Py_DECREF( tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 802;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    }
    goto branch_end_3;
    branch_no_3:;
    {
    PyObject *tmp_assattr_name_2;
    PyObject *tmp_called_instance_2;
    PyObject *tmp_assattr_target_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 804;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_2 = par_self;
    frame_cdcee95a7e4125cdb2c7ce8a3052a834->m_frame.f_lineno = 804;
    tmp_assattr_name_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain__compute_public_key );
    if ( tmp_assattr_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 804;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 804;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_2 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_2, const_str_plain__public_key, tmp_assattr_name_2 );
    Py_DECREF( tmp_assattr_name_2 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 804;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    }
    branch_end_3:;
    }
    goto branch_end_2;
    branch_no_2:;
    {
    PyObject *tmp_assattr_name_3;
    PyObject *tmp_called_instance_3;
    PyObject *tmp_assattr_target_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 806;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_3 = par_self;
    frame_cdcee95a7e4125cdb2c7ce8a3052a834->m_frame.f_lineno = 806;
    tmp_assattr_name_3 = CALL_METHOD_NO_ARGS( tmp_called_instance_3, const_str_plain__compute_public_key );
    if ( tmp_assattr_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 806;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_3 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 806;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_3 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_3, const_str_plain__public_key, tmp_assattr_name_3 );
    Py_DECREF( tmp_assattr_name_3 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 806;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    }
    branch_end_2:;
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_source_name_4;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 808;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_4 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain__public_key );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 808;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_cdcee95a7e4125cdb2c7ce8a3052a834 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_cdcee95a7e4125cdb2c7ce8a3052a834 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_cdcee95a7e4125cdb2c7ce8a3052a834 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_cdcee95a7e4125cdb2c7ce8a3052a834, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_cdcee95a7e4125cdb2c7ce8a3052a834->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_cdcee95a7e4125cdb2c7ce8a3052a834, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_cdcee95a7e4125cdb2c7ce8a3052a834,
        type_description_1,
        par_self,
        var_key
    );


    // Release cached frame.
    if ( frame_cdcee95a7e4125cdb2c7ce8a3052a834 == cache_frame_cdcee95a7e4125cdb2c7ce8a3052a834 )
    {
        Py_DECREF( frame_cdcee95a7e4125cdb2c7ce8a3052a834 );
    }
    cache_frame_cdcee95a7e4125cdb2c7ce8a3052a834 = NULL;

    assertFrameObject( frame_cdcee95a7e4125cdb2c7ce8a3052a834 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_12_public_key );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_12_public_key );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_13_public_key_info( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    struct Nuitka_FrameObject *frame_a29019ed0c31f38dcf6b907a77bc2019;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *tmp_return_value = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    static struct Nuitka_FrameObject *cache_frame_a29019ed0c31f38dcf6b907a77bc2019 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_a29019ed0c31f38dcf6b907a77bc2019, codeobj_a29019ed0c31f38dcf6b907a77bc2019, module_asn1crypto$keys, sizeof(void *) );
    frame_a29019ed0c31f38dcf6b907a77bc2019 = cache_frame_a29019ed0c31f38dcf6b907a77bc2019;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_a29019ed0c31f38dcf6b907a77bc2019 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_a29019ed0c31f38dcf6b907a77bc2019 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_dict_key_1;
    PyObject *tmp_dict_value_1;
    PyObject *tmp_dict_key_2;
    PyObject *tmp_dict_value_2;
    PyObject *tmp_source_name_1;
    PyObject *tmp_dict_key_3;
    PyObject *tmp_dict_value_3;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_dict_key_4;
    PyObject *tmp_dict_value_4;
    PyObject *tmp_source_name_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PublicKeyInfo );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PublicKeyInfo );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PublicKeyInfo" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 817;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    tmp_dict_key_1 = const_str_plain_algorithm;
    tmp_dict_key_2 = const_str_plain_algorithm;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_dict_value_2 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_algorithm );
    if ( tmp_dict_value_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 819;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_dict_value_1 = _PyDict_NewPresized( 2 );
    tmp_res = PyDict_SetItem( tmp_dict_value_1, tmp_dict_key_2, tmp_dict_value_2 );
    Py_DECREF( tmp_dict_value_2 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_3 = const_str_plain_parameters;
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_dict_value_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 820;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_dict_value_1 );

        exception_lineno = 820;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_parameters;
    tmp_dict_value_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_dict_value_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_dict_value_1 );

        exception_lineno = 820;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_res = PyDict_SetItem( tmp_dict_value_1, tmp_dict_key_3, tmp_dict_value_3 );
    Py_DECREF( tmp_dict_value_3 );
    assert( !(tmp_res != 0) );
    tmp_args_element_name_1 = _PyDict_NewPresized( 2 );
    tmp_res = PyDict_SetItem( tmp_args_element_name_1, tmp_dict_key_1, tmp_dict_value_1 );
    Py_DECREF( tmp_dict_value_1 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_4 = const_str_plain_public_key;
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_args_element_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 822;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_dict_value_4 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_public_key );
    if ( tmp_dict_value_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_1 );

        exception_lineno = 822;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_res = PyDict_SetItem( tmp_args_element_name_1, tmp_dict_key_4, tmp_dict_value_4 );
    Py_DECREF( tmp_dict_value_4 );
    assert( !(tmp_res != 0) );
    frame_a29019ed0c31f38dcf6b907a77bc2019->m_frame.f_lineno = 817;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 817;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a29019ed0c31f38dcf6b907a77bc2019 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_a29019ed0c31f38dcf6b907a77bc2019 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a29019ed0c31f38dcf6b907a77bc2019 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_a29019ed0c31f38dcf6b907a77bc2019, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_a29019ed0c31f38dcf6b907a77bc2019->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_a29019ed0c31f38dcf6b907a77bc2019, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_a29019ed0c31f38dcf6b907a77bc2019,
        type_description_1,
        par_self
    );


    // Release cached frame.
    if ( frame_a29019ed0c31f38dcf6b907a77bc2019 == cache_frame_a29019ed0c31f38dcf6b907a77bc2019 )
    {
        Py_DECREF( frame_a29019ed0c31f38dcf6b907a77bc2019 );
    }
    cache_frame_a29019ed0c31f38dcf6b907a77bc2019 = NULL;

    assertFrameObject( frame_a29019ed0c31f38dcf6b907a77bc2019 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_13_public_key_info );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_13_public_key_info );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_14_fingerprint( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_params = NULL;
    PyObject *var_key = NULL;
    PyObject *var_to_hash = NULL;
    PyObject *var_public_key = NULL;
    struct Nuitka_FrameObject *frame_725ac334d68543c5b40000df928b75ee;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_725ac334d68543c5b40000df928b75ee = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_725ac334d68543c5b40000df928b75ee, codeobj_725ac334d68543c5b40000df928b75ee, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_725ac334d68543c5b40000df928b75ee = cache_frame_725ac334d68543c5b40000df928b75ee;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_725ac334d68543c5b40000df928b75ee );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_725ac334d68543c5b40000df928b75ee ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain__fingerprint );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 839;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 840;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_private_key_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 840;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_parameters;
    tmp_assign_source_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 840;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_params == NULL );
    var_params = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_source_name_2;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 841;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = par_self;
    tmp_subscript_name_3 = const_str_plain_private_key;
    tmp_source_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    if ( tmp_source_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 841;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_2 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 841;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_key == NULL );
    var_key = tmp_assign_source_2;

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_source_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 843;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = par_self;
    tmp_compexpr_left_2 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_algorithm );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 843;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_plain_rsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    Py_DECREF( tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 843;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_source_name_4;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    PyObject *tmp_source_name_5;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    tmp_left_name_1 = const_str_digest_929a672048f66fa4e652c8efac7cfdc9;
    if ( var_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 845;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_4 = var_key;
    tmp_subscript_name_4 = const_str_plain_modulus;
    tmp_source_name_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    if ( tmp_source_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 845;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_native );
    Py_DECREF( tmp_source_name_4 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 845;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
    if ( var_key == NULL )
    {
        Py_DECREF( tmp_right_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 846;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_5 = var_key;
    tmp_subscript_name_5 = const_str_plain_public_exponent;
    tmp_source_name_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    if ( tmp_source_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_1 );

        exception_lineno = 846;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_native );
    Py_DECREF( tmp_source_name_5 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_1 );

        exception_lineno = 846;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
    tmp_assign_source_3 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_right_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 844;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_to_hash == NULL );
    var_to_hash = tmp_assign_source_3;

    }
    goto branch_end_2;
    branch_no_2:;
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    PyObject *tmp_source_name_6;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 849;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_6 = par_self;
    tmp_compexpr_left_3 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain_algorithm );
    if ( tmp_compexpr_left_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 849;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_3 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    Py_DECREF( tmp_compexpr_left_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 849;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_source_name_7;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 850;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_7 = par_self;
    tmp_assign_source_4 = LOOKUP_ATTRIBUTE( tmp_source_name_7, const_str_plain_public_key );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 850;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_public_key == NULL );
    var_public_key = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_left_name_2;
    PyObject *tmp_right_name_2;
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_source_name_8;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_subscript_name_6;
    PyObject *tmp_source_name_9;
    PyObject *tmp_subscribed_name_7;
    PyObject *tmp_subscript_name_7;
    PyObject *tmp_source_name_10;
    PyObject *tmp_subscribed_name_8;
    PyObject *tmp_subscript_name_8;
    PyObject *tmp_source_name_11;
    tmp_left_name_2 = const_str_digest_d5c4ff7d1138797719ed9d9fcc558d55;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 852;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_6 = var_params;
    tmp_subscript_name_6 = const_str_plain_p;
    tmp_source_name_8 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_6, tmp_subscript_name_6 );
    if ( tmp_source_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 852;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_8, const_str_plain_native );
    Py_DECREF( tmp_source_name_8 );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 852;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_2 = PyTuple_New( 4 );
    PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_2 );
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_right_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 853;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_7 = var_params;
    tmp_subscript_name_7 = const_str_plain_q;
    tmp_source_name_9 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_7, tmp_subscript_name_7 );
    if ( tmp_source_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 853;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_9, const_str_plain_native );
    Py_DECREF( tmp_source_name_9 );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 853;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_right_name_2, 1, tmp_tuple_element_2 );
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_right_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 854;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_8 = var_params;
    tmp_subscript_name_8 = const_str_plain_g;
    tmp_source_name_10 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_8, tmp_subscript_name_8 );
    if ( tmp_source_name_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 854;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_10, const_str_plain_native );
    Py_DECREF( tmp_source_name_10 );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 854;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_right_name_2, 2, tmp_tuple_element_2 );
    if ( var_public_key == NULL )
    {
        Py_DECREF( tmp_right_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 855;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_11 = var_public_key;
    tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_11, const_str_plain_native );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 855;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_right_name_2, 3, tmp_tuple_element_2 );
    tmp_assign_source_5 = BINARY_OPERATION_REMAINDER( tmp_left_name_2, tmp_right_name_2 );
    Py_DECREF( tmp_right_name_2 );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 851;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_5;
        Py_XDECREF( old );
    }

    }
    goto branch_end_3;
    branch_no_3:;
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    PyObject *tmp_source_name_12;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 858;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_12 = par_self;
    tmp_compexpr_left_4 = LOOKUP_ATTRIBUTE( tmp_source_name_12, const_str_plain_algorithm );
    if ( tmp_compexpr_left_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 858;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_4 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_4, tmp_compexpr_right_4 );
    Py_DECREF( tmp_compexpr_left_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 858;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_4 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_4 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_4;
    }
    else
    {
        goto branch_no_4;
    }
    branch_yes_4:;
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_source_name_13;
    PyObject *tmp_subscribed_name_9;
    PyObject *tmp_subscript_name_9;
    if ( var_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 859;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_9 = var_key;
    tmp_subscript_name_9 = const_str_plain_public_key;
    tmp_source_name_13 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_9, tmp_subscript_name_9 );
    if ( tmp_source_name_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 859;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_6 = LOOKUP_ATTRIBUTE( tmp_source_name_13, const_str_plain_native );
    Py_DECREF( tmp_source_name_13 );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 859;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_public_key;
        var_public_key = tmp_assign_source_6;
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_compexpr_left_5;
    PyObject *tmp_compexpr_right_5;
    CHECK_OBJECT( var_public_key );
    tmp_compexpr_left_5 = var_public_key;
    tmp_compexpr_right_5 = Py_None;
    tmp_condition_result_5 = ( tmp_compexpr_left_5 == tmp_compexpr_right_5 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_5;
    }
    else
    {
        goto branch_no_5;
    }
    branch_yes_5:;
    {
    PyObject *tmp_assign_source_7;
    PyObject *tmp_source_name_14;
    PyObject *tmp_source_name_15;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 861;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_15 = par_self;
    tmp_source_name_14 = LOOKUP_ATTRIBUTE( tmp_source_name_15, const_str_plain_public_key );
    if ( tmp_source_name_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 861;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_7 = LOOKUP_ATTRIBUTE( tmp_source_name_14, const_str_plain_native );
    Py_DECREF( tmp_source_name_14 );
    if ( tmp_assign_source_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 861;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_public_key;
        var_public_key = tmp_assign_source_7;
        Py_XDECREF( old );
    }

    }
    branch_no_5:;
    }
    {
    nuitka_bool tmp_condition_result_6;
    PyObject *tmp_compexpr_left_6;
    PyObject *tmp_compexpr_right_6;
    PyObject *tmp_source_name_16;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 863;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_16 = var_params;
    tmp_compexpr_left_6 = LOOKUP_ATTRIBUTE( tmp_source_name_16, const_str_plain_name );
    if ( tmp_compexpr_left_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 863;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_6 = const_str_plain_named;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_6, tmp_compexpr_right_6 );
    Py_DECREF( tmp_compexpr_left_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 863;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_6 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_6 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_6;
    }
    else
    {
        goto branch_no_6;
    }
    branch_yes_6:;
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_left_name_3;
    PyObject *tmp_right_name_3;
    PyObject *tmp_source_name_17;
    PyObject *tmp_source_name_18;
    tmp_left_name_3 = const_str_digest_1bf116e587cdc6ad6e64c6f66c60023d;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 864;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_18 = var_params;
    tmp_source_name_17 = LOOKUP_ATTRIBUTE( tmp_source_name_18, const_str_plain_chosen );
    if ( tmp_source_name_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 864;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_17, const_str_plain_native );
    Py_DECREF( tmp_source_name_17 );
    if ( tmp_right_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 864;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_8 = BINARY_OPERATION_REMAINDER( tmp_left_name_3, tmp_right_name_3 );
    Py_DECREF( tmp_right_name_3 );
    if ( tmp_assign_source_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 864;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_8;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_to_hash );
    tmp_called_instance_1 = var_to_hash;
    frame_725ac334d68543c5b40000df928b75ee->m_frame.f_lineno = 865;
    tmp_assign_source_9 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_encode, &PyTuple_GET_ITEM( const_tuple_str_digest_c075052d723d6707083e869a0e3659bb_tuple, 0 ) );

    if ( tmp_assign_source_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 865;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_9;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_left_name_4;
    PyObject *tmp_right_name_4;
    CHECK_OBJECT( var_to_hash );
    tmp_left_name_4 = var_to_hash;
    if ( var_public_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 866;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_right_name_4 = var_public_key;
    tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE( &tmp_left_name_4, tmp_right_name_4 );
    tmp_assign_source_10 = tmp_left_name_4;
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 866;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    var_to_hash = tmp_assign_source_10;

    }
    goto branch_end_6;
    branch_no_6:;
    {
    nuitka_bool tmp_condition_result_7;
    PyObject *tmp_compexpr_left_7;
    PyObject *tmp_compexpr_right_7;
    PyObject *tmp_source_name_19;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 868;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_19 = var_params;
    tmp_compexpr_left_7 = LOOKUP_ATTRIBUTE( tmp_source_name_19, const_str_plain_name );
    if ( tmp_compexpr_left_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 868;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_7 = const_str_plain_implicit_ca;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_7, tmp_compexpr_right_7 );
    Py_DECREF( tmp_compexpr_left_7 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 868;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_7 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_7 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_7;
    }
    else
    {
        goto branch_no_7;
    }
    branch_yes_7:;
    {
    PyObject *tmp_assign_source_11;
    if ( var_public_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 869;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_assign_source_11 = var_public_key;
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_11;
        Py_INCREF( var_to_hash );
        Py_XDECREF( old );
    }

    }
    goto branch_end_7;
    branch_no_7:;
    {
    nuitka_bool tmp_condition_result_8;
    PyObject *tmp_compexpr_left_8;
    PyObject *tmp_compexpr_right_8;
    PyObject *tmp_source_name_20;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 871;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_20 = var_params;
    tmp_compexpr_left_8 = LOOKUP_ATTRIBUTE( tmp_source_name_20, const_str_plain_name );
    if ( tmp_compexpr_left_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 871;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_8 = const_str_plain_specified;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_8, tmp_compexpr_right_8 );
    Py_DECREF( tmp_compexpr_left_8 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 871;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_8 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_8 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_8;
    }
    else
    {
        goto branch_no_8;
    }
    branch_yes_8:;
    {
    PyObject *tmp_assign_source_12;
    PyObject *tmp_left_name_5;
    PyObject *tmp_right_name_5;
    PyObject *tmp_source_name_21;
    PyObject *tmp_subscribed_name_10;
    PyObject *tmp_subscribed_name_11;
    PyObject *tmp_source_name_22;
    PyObject *tmp_subscript_name_10;
    PyObject *tmp_subscript_name_11;
    tmp_left_name_5 = const_str_digest_1bf116e587cdc6ad6e64c6f66c60023d;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 872;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_22 = var_params;
    tmp_subscribed_name_11 = LOOKUP_ATTRIBUTE( tmp_source_name_22, const_str_plain_chosen );
    if ( tmp_subscribed_name_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 872;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_10 = const_str_plain_field_id;
    tmp_subscribed_name_10 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_11, tmp_subscript_name_10 );
    Py_DECREF( tmp_subscribed_name_11 );
    if ( tmp_subscribed_name_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 872;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_11 = const_str_plain_parameters;
    tmp_source_name_21 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_10, tmp_subscript_name_11 );
    Py_DECREF( tmp_subscribed_name_10 );
    if ( tmp_source_name_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 872;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_5 = LOOKUP_ATTRIBUTE( tmp_source_name_21, const_str_plain_native );
    Py_DECREF( tmp_source_name_21 );
    if ( tmp_right_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 872;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_12 = BINARY_OPERATION_REMAINDER( tmp_left_name_5, tmp_right_name_5 );
    Py_DECREF( tmp_right_name_5 );
    if ( tmp_assign_source_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 872;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_12;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_13;
    PyObject *tmp_called_instance_2;
    CHECK_OBJECT( var_to_hash );
    tmp_called_instance_2 = var_to_hash;
    frame_725ac334d68543c5b40000df928b75ee->m_frame.f_lineno = 873;
    tmp_assign_source_13 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_encode, &PyTuple_GET_ITEM( const_tuple_str_digest_c075052d723d6707083e869a0e3659bb_tuple, 0 ) );

    if ( tmp_assign_source_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 873;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_13;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_left_name_6;
    PyObject *tmp_right_name_6;
    PyObject *tmp_left_name_7;
    PyObject *tmp_right_name_7;
    PyObject *tmp_source_name_23;
    PyObject *tmp_subscribed_name_12;
    PyObject *tmp_subscribed_name_13;
    PyObject *tmp_source_name_24;
    PyObject *tmp_subscript_name_12;
    PyObject *tmp_subscript_name_13;
    CHECK_OBJECT( var_to_hash );
    tmp_left_name_6 = var_to_hash;
    tmp_left_name_7 = const_bytes_chr_58;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 874;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_24 = var_params;
    tmp_subscribed_name_13 = LOOKUP_ATTRIBUTE( tmp_source_name_24, const_str_plain_chosen );
    if ( tmp_subscribed_name_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 874;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_12 = const_str_plain_curve;
    tmp_subscribed_name_12 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_13, tmp_subscript_name_12 );
    Py_DECREF( tmp_subscribed_name_13 );
    if ( tmp_subscribed_name_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 874;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_13 = const_str_plain_a;
    tmp_source_name_23 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_12, tmp_subscript_name_13 );
    Py_DECREF( tmp_subscribed_name_12 );
    if ( tmp_source_name_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 874;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_7 = LOOKUP_ATTRIBUTE( tmp_source_name_23, const_str_plain_native );
    Py_DECREF( tmp_source_name_23 );
    if ( tmp_right_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 874;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_6 = BINARY_OPERATION_ADD( tmp_left_name_7, tmp_right_name_7 );
    Py_DECREF( tmp_right_name_7 );
    if ( tmp_right_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 874;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE( &tmp_left_name_6, tmp_right_name_6 );
    tmp_assign_source_14 = tmp_left_name_6;
    Py_DECREF( tmp_right_name_6 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 874;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    var_to_hash = tmp_assign_source_14;

    }
    {
    PyObject *tmp_assign_source_15;
    PyObject *tmp_left_name_8;
    PyObject *tmp_right_name_8;
    PyObject *tmp_left_name_9;
    PyObject *tmp_right_name_9;
    PyObject *tmp_source_name_25;
    PyObject *tmp_subscribed_name_14;
    PyObject *tmp_subscribed_name_15;
    PyObject *tmp_source_name_26;
    PyObject *tmp_subscript_name_14;
    PyObject *tmp_subscript_name_15;
    CHECK_OBJECT( var_to_hash );
    tmp_left_name_8 = var_to_hash;
    tmp_left_name_9 = const_bytes_chr_58;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 875;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_26 = var_params;
    tmp_subscribed_name_15 = LOOKUP_ATTRIBUTE( tmp_source_name_26, const_str_plain_chosen );
    if ( tmp_subscribed_name_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 875;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_14 = const_str_plain_curve;
    tmp_subscribed_name_14 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_15, tmp_subscript_name_14 );
    Py_DECREF( tmp_subscribed_name_15 );
    if ( tmp_subscribed_name_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 875;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_15 = const_str_plain_b;
    tmp_source_name_25 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_14, tmp_subscript_name_15 );
    Py_DECREF( tmp_subscribed_name_14 );
    if ( tmp_source_name_25 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 875;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_9 = LOOKUP_ATTRIBUTE( tmp_source_name_25, const_str_plain_native );
    Py_DECREF( tmp_source_name_25 );
    if ( tmp_right_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 875;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_8 = BINARY_OPERATION_ADD( tmp_left_name_9, tmp_right_name_9 );
    Py_DECREF( tmp_right_name_9 );
    if ( tmp_right_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 875;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE( &tmp_left_name_8, tmp_right_name_8 );
    tmp_assign_source_15 = tmp_left_name_8;
    Py_DECREF( tmp_right_name_8 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 875;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    var_to_hash = tmp_assign_source_15;

    }
    {
    PyObject *tmp_assign_source_16;
    PyObject *tmp_left_name_10;
    PyObject *tmp_right_name_10;
    CHECK_OBJECT( var_to_hash );
    tmp_left_name_10 = var_to_hash;
    if ( var_public_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 876;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_right_name_10 = var_public_key;
    tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE( &tmp_left_name_10, tmp_right_name_10 );
    tmp_assign_source_16 = tmp_left_name_10;
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 876;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    var_to_hash = tmp_assign_source_16;

    }
    branch_no_8:;
    }
    branch_end_7:;
    }
    branch_end_6:;
    }
    branch_no_4:;
    }
    branch_end_3:;
    }
    branch_end_2:;
    }
    {
    nuitka_bool tmp_condition_result_9;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_mvar_value_1;
    if ( var_to_hash == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "to_hash" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 878;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_1 = var_to_hash;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_str_cls );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str_cls );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str_cls" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 878;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_1 = tmp_mvar_value_1;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_1, tmp_isinstance_cls_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 878;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_9 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_9 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_9;
    }
    else
    {
        goto branch_no_9;
    }
    branch_yes_9:;
    {
    PyObject *tmp_assign_source_17;
    PyObject *tmp_called_instance_3;
    if ( var_to_hash == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "to_hash" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 879;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_3 = var_to_hash;
    frame_725ac334d68543c5b40000df928b75ee->m_frame.f_lineno = 879;
    tmp_assign_source_17 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_3, const_str_plain_encode, &PyTuple_GET_ITEM( const_tuple_str_digest_c075052d723d6707083e869a0e3659bb_tuple, 0 ) );

    if ( tmp_assign_source_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 879;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_17;
        Py_XDECREF( old );
    }

    }
    branch_no_9:;
    }
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_called_instance_4;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_27;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_assattr_target_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_hashlib );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_hashlib );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "hashlib" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 881;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_27 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_27, const_str_plain_sha256 );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 881;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    if ( var_to_hash == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "to_hash" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 881;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = var_to_hash;
    frame_725ac334d68543c5b40000df928b75ee->m_frame.f_lineno = 881;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_called_instance_4 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_called_instance_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 881;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    frame_725ac334d68543c5b40000df928b75ee->m_frame.f_lineno = 881;
    tmp_assattr_name_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_4, const_str_plain_digest );
    Py_DECREF( tmp_called_instance_4 );
    if ( tmp_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 881;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 881;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_1 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__fingerprint, tmp_assattr_name_1 );
    Py_DECREF( tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 881;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_source_name_28;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 883;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_28 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_28, const_str_plain__fingerprint );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 883;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_725ac334d68543c5b40000df928b75ee );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_725ac334d68543c5b40000df928b75ee );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_725ac334d68543c5b40000df928b75ee );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_725ac334d68543c5b40000df928b75ee, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_725ac334d68543c5b40000df928b75ee->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_725ac334d68543c5b40000df928b75ee, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_725ac334d68543c5b40000df928b75ee,
        type_description_1,
        par_self,
        var_params,
        var_key,
        var_to_hash,
        var_public_key
    );


    // Release cached frame.
    if ( frame_725ac334d68543c5b40000df928b75ee == cache_frame_725ac334d68543c5b40000df928b75ee )
    {
        Py_DECREF( frame_725ac334d68543c5b40000df928b75ee );
    }
    cache_frame_725ac334d68543c5b40000df928b75ee = NULL;

    assertFrameObject( frame_725ac334d68543c5b40000df928b75ee );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_14_fingerprint );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    Py_XDECREF( var_to_hash );
    var_to_hash = NULL;

    }
    {
    Py_XDECREF( var_public_key );
    var_public_key = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    Py_XDECREF( var_to_hash );
    var_to_hash = NULL;

    }
    {
    Py_XDECREF( var_public_key );
    var_public_key = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_14_fingerprint );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_15__public_key_spec( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_algorithm = NULL;
    struct Nuitka_FrameObject *frame_d0b97ff3084a201b4b2a0b0dfcac3553;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    PyObject *tmp_return_value = NULL;
    int tmp_res;
    static struct Nuitka_FrameObject *cache_frame_d0b97ff3084a201b4b2a0b0dfcac3553 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_d0b97ff3084a201b4b2a0b0dfcac3553, codeobj_d0b97ff3084a201b4b2a0b0dfcac3553, module_asn1crypto$keys, sizeof(void *)+sizeof(void *) );
    frame_d0b97ff3084a201b4b2a0b0dfcac3553 = cache_frame_d0b97ff3084a201b4b2a0b0dfcac3553;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_d0b97ff3084a201b4b2a0b0dfcac3553 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_d0b97ff3084a201b4b2a0b0dfcac3553 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    CHECK_OBJECT( par_self );
    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 976;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_algorithm;
    tmp_source_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_source_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 976;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_native );
    Py_DECREF( tmp_source_name_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 976;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    assert( var_algorithm == NULL );
    var_algorithm = tmp_assign_source_1;

    }
    {
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_dict_key_1;
    PyObject *tmp_dict_value_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_dict_key_2;
    PyObject *tmp_dict_value_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_dict_key_3;
    PyObject *tmp_dict_value_3;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_dict_key_4;
    PyObject *tmp_dict_value_4;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_dict_key_5;
    PyObject *tmp_dict_value_5;
    PyObject *tmp_mvar_value_5;
    PyObject *tmp_subscript_name_3;
    tmp_dict_key_1 = const_str_plain_rsa;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPublicKey );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_RSAPublicKey );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "RSAPublicKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 978;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_1 = tmp_mvar_value_1;
    tmp_subscribed_name_3 = _PyDict_NewPresized( 5 );
    tmp_res = PyDict_SetItem( tmp_subscribed_name_3, tmp_dict_key_1, tmp_dict_value_1 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_2 = const_str_plain_rsaes_oaep;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPublicKey );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_RSAPublicKey );
    }

    if ( tmp_mvar_value_2 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_3 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "RSAPublicKey" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 979;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_2 = tmp_mvar_value_2;
    tmp_res = PyDict_SetItem( tmp_subscribed_name_3, tmp_dict_key_2, tmp_dict_value_2 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_3 = const_str_plain_dsa;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
    }

    if ( tmp_mvar_value_3 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_3 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 980;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_3 = tmp_mvar_value_3;
    tmp_res = PyDict_SetItem( tmp_subscribed_name_3, tmp_dict_key_3, tmp_dict_value_3 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_4 = const_str_plain_ec;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPointBitString );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECPointBitString );
    }

    if ( tmp_mvar_value_4 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_3 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECPointBitString" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 983;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = tmp_mvar_value_4;
    tmp_dict_value_4 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_dict_value_4, 0, tmp_tuple_element_1 );
    tmp_tuple_element_1 = Py_None;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_dict_value_4, 1, tmp_tuple_element_1 );
    tmp_res = PyDict_SetItem( tmp_subscribed_name_3, tmp_dict_key_4, tmp_dict_value_4 );
    Py_DECREF( tmp_dict_value_4 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_5 = const_str_plain_dh;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
    }

    if ( tmp_mvar_value_5 == NULL )
    {
        Py_DECREF( tmp_subscribed_name_3 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 984;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_dict_value_5 = tmp_mvar_value_5;
    tmp_res = PyDict_SetItem( tmp_subscribed_name_3, tmp_dict_key_5, tmp_dict_value_5 );
    assert( !(tmp_res != 0) );
    CHECK_OBJECT( var_algorithm );
    tmp_subscript_name_3 = var_algorithm;
    tmp_return_value = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    Py_DECREF( tmp_subscribed_name_3 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 977;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_d0b97ff3084a201b4b2a0b0dfcac3553 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_d0b97ff3084a201b4b2a0b0dfcac3553 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_d0b97ff3084a201b4b2a0b0dfcac3553 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_d0b97ff3084a201b4b2a0b0dfcac3553, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_d0b97ff3084a201b4b2a0b0dfcac3553->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_d0b97ff3084a201b4b2a0b0dfcac3553, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_d0b97ff3084a201b4b2a0b0dfcac3553,
        type_description_1,
        par_self,
        var_algorithm
    );


    // Release cached frame.
    if ( frame_d0b97ff3084a201b4b2a0b0dfcac3553 == cache_frame_d0b97ff3084a201b4b2a0b0dfcac3553 )
    {
        Py_DECREF( frame_d0b97ff3084a201b4b2a0b0dfcac3553 );
    }
    cache_frame_d0b97ff3084a201b4b2a0b0dfcac3553 = NULL;

    assertFrameObject( frame_d0b97ff3084a201b4b2a0b0dfcac3553 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_15__public_key_spec );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_algorithm );
    var_algorithm = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_algorithm );
    var_algorithm = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_15__public_key_spec );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_16_wrap( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_cls = python_pars[ 0 ];
    PyObject *par_public_key = python_pars[ 1 ];
    PyObject *par_algorithm = python_pars[ 2 ];
    PyObject *var_algo = NULL;
    PyObject *var_container = NULL;
    struct Nuitka_FrameObject *frame_30d373914fe863d927013c310f0821a8;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_30d373914fe863d927013c310f0821a8 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_30d373914fe863d927013c310f0821a8, codeobj_30d373914fe863d927013c310f0821a8, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_30d373914fe863d927013c310f0821a8 = cache_frame_30d373914fe863d927013c310f0821a8;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_30d373914fe863d927013c310f0821a8 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_30d373914fe863d927013c310f0821a8 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_and_left_truth_1;
    nuitka_bool tmp_and_left_value_1;
    nuitka_bool tmp_and_right_value_1;
    PyObject *tmp_operand_name_1;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_operand_name_2;
    PyObject *tmp_isinstance_inst_2;
    PyObject *tmp_isinstance_cls_2;
    PyObject *tmp_mvar_value_2;
    CHECK_OBJECT( par_public_key );
    tmp_isinstance_inst_1 = par_public_key;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_byte_cls );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_byte_cls );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "byte_cls" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1012;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_1 = tmp_mvar_value_1;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_1, tmp_isinstance_cls_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1012;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_operand_name_1 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1012;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_1 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_1 = tmp_and_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_1 == 1 )
    {
        goto and_right_1;
    }
    else
    {
        goto and_left_1;
    }
    and_right_1:;
    if ( par_public_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1012;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_2 = par_public_key;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Asn1Value );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Asn1Value );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Asn1Value" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1012;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_2 = tmp_mvar_value_2;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_2, tmp_isinstance_cls_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1012;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_operand_name_2 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1012;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_1 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_1 = tmp_and_right_value_1;
    goto and_end_1;
    and_left_1:;
    tmp_condition_result_1 = tmp_and_left_value_1;
    and_end_1:;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_args_element_name_3;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1013;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_3;
    tmp_args_element_name_1 = const_str_digest_db6b68631cf3f38961d4a2283a30f642;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_type_name );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_type_name );
    }

    if ( tmp_mvar_value_4 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "type_name" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1017;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_4;
    if ( par_public_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1017;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_3 = par_public_key;
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1017;
    {
        PyObject *call_args[] = { tmp_args_element_name_3 };
        tmp_args_element_name_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1017;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1013;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_make_exception_arg_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1013;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1013;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 1013;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooooo";
    goto frame_exception_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1020;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = par_algorithm;
    tmp_compexpr_right_1 = const_str_plain_rsa;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1020;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_raise_type_2;
    PyObject *tmp_make_exception_arg_2;
    PyObject *tmp_called_name_3;
    PyObject *tmp_mvar_value_5;
    PyObject *tmp_args_element_name_4;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_operand_name_3;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1021;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_3 = tmp_mvar_value_5;
    tmp_args_element_name_4 = const_str_digest_93efc2a1c4b6d4a7487a1ee36743b91e;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1025;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_3 = par_algorithm;
    tmp_args_element_name_5 = UNARY_OPERATION( PyObject_Repr, tmp_operand_name_3 );
    if ( tmp_args_element_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1025;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1021;
    {
        PyObject *call_args[] = { tmp_args_element_name_4, tmp_args_element_name_5 };
        tmp_make_exception_arg_2 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_3, call_args );
    }

    Py_DECREF( tmp_args_element_name_5 );
    if ( tmp_make_exception_arg_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1021;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1021;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_2 };
        tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_2 );
    assert( !(tmp_raise_type_2 == NULL) );
    exception_type = tmp_raise_type_2;
    exception_lineno = 1021;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooooo";
    goto frame_exception_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_called_name_4;
    PyObject *tmp_mvar_value_6;
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithm );

    if (unlikely( tmp_mvar_value_6 == NULL ))
    {
        tmp_mvar_value_6 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithm );
    }

    if ( tmp_mvar_value_6 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PublicKeyAlgorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1028;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_4 = tmp_mvar_value_6;
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1028;
    tmp_assign_source_1 = CALL_FUNCTION_NO_ARGS( tmp_called_name_4 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1028;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_algo == NULL );
    var_algo = tmp_assign_source_1;

    }
    {
    PyObject *tmp_ass_subvalue_1;
    PyObject *tmp_called_name_5;
    PyObject *tmp_mvar_value_7;
    PyObject *tmp_args_element_name_6;
    PyObject *tmp_ass_subscribed_1;
    PyObject *tmp_ass_subscript_1;
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithmId );

    if (unlikely( tmp_mvar_value_7 == NULL ))
    {
        tmp_mvar_value_7 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithmId );
    }

    if ( tmp_mvar_value_7 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PublicKeyAlgorithmId" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1029;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_5 = tmp_mvar_value_7;
    if ( par_algorithm == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algorithm" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1029;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_6 = par_algorithm;
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1029;
    {
        PyObject *call_args[] = { tmp_args_element_name_6 };
        tmp_ass_subvalue_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_5, call_args );
    }

    if ( tmp_ass_subvalue_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1029;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    if ( var_algo == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algo" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1029;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_1 = var_algo;
    tmp_ass_subscript_1 = const_str_plain_algorithm;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1 );
    Py_DECREF( tmp_ass_subvalue_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1029;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_ass_subvalue_2;
    PyObject *tmp_called_name_6;
    PyObject *tmp_mvar_value_8;
    PyObject *tmp_ass_subscribed_2;
    PyObject *tmp_ass_subscript_2;
    tmp_mvar_value_8 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Null );

    if (unlikely( tmp_mvar_value_8 == NULL ))
    {
        tmp_mvar_value_8 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Null );
    }

    if ( tmp_mvar_value_8 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Null" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1030;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_6 = tmp_mvar_value_8;
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1030;
    tmp_ass_subvalue_2 = CALL_FUNCTION_NO_ARGS( tmp_called_name_6 );
    if ( tmp_ass_subvalue_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1030;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    if ( var_algo == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algo" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1030;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_2 = var_algo;
    tmp_ass_subscript_2 = const_str_plain_parameters;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_2, tmp_ass_subscript_2, tmp_ass_subvalue_2 );
    Py_DECREF( tmp_ass_subvalue_2 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1030;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_name_7;
    if ( par_cls == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "cls" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1032;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_7 = par_cls;
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1032;
    tmp_assign_source_2 = CALL_FUNCTION_NO_ARGS( tmp_called_name_7 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1032;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_container == NULL );
    var_container = tmp_assign_source_2;

    }
    {
    PyObject *tmp_ass_subvalue_3;
    PyObject *tmp_ass_subscribed_3;
    PyObject *tmp_ass_subscript_3;
    if ( var_algo == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "algo" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1033;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subvalue_3 = var_algo;
    CHECK_OBJECT( var_container );
    tmp_ass_subscribed_3 = var_container;
    tmp_ass_subscript_3 = const_str_plain_algorithm;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_3, tmp_ass_subscript_3, tmp_ass_subvalue_3 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1033;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_isinstance_inst_3;
    PyObject *tmp_isinstance_cls_3;
    PyObject *tmp_mvar_value_9;
    if ( par_public_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1034;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_3 = par_public_key;
    tmp_mvar_value_9 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Asn1Value );

    if (unlikely( tmp_mvar_value_9 == NULL ))
    {
        tmp_mvar_value_9 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Asn1Value );
    }

    if ( tmp_mvar_value_9 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Asn1Value" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1034;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_3 = tmp_mvar_value_9;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_3, tmp_isinstance_cls_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1034;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_called_instance_2;
    if ( par_public_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1035;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_2 = par_public_key;
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1035;
    tmp_called_instance_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain_untag );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1035;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1035;
    tmp_assign_source_3 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_dump );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1035;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_public_key;
        par_public_key = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    branch_no_3:;
    }
    {
    PyObject *tmp_ass_subvalue_4;
    PyObject *tmp_called_name_8;
    PyObject *tmp_mvar_value_10;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_ass_subscribed_4;
    PyObject *tmp_ass_subscript_4;
    tmp_mvar_value_10 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ParsableOctetBitString );

    if (unlikely( tmp_mvar_value_10 == NULL ))
    {
        tmp_mvar_value_10 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ParsableOctetBitString );
    }

    if ( tmp_mvar_value_10 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ParsableOctetBitString" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1036;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_8 = tmp_mvar_value_10;
    if ( par_public_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "public_key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1036;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_7 = par_public_key;
    frame_30d373914fe863d927013c310f0821a8->m_frame.f_lineno = 1036;
    {
        PyObject *call_args[] = { tmp_args_element_name_7 };
        tmp_ass_subvalue_4 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_8, call_args );
    }

    if ( tmp_ass_subvalue_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1036;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    if ( var_container == NULL )
    {
        Py_DECREF( tmp_ass_subvalue_4 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "container" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1036;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_4 = var_container;
    tmp_ass_subscript_4 = const_str_plain_public_key;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_4, tmp_ass_subscript_4, tmp_ass_subvalue_4 );
    Py_DECREF( tmp_ass_subvalue_4 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1036;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    if ( var_container == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "container" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1038;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = var_container;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_30d373914fe863d927013c310f0821a8 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_30d373914fe863d927013c310f0821a8 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_30d373914fe863d927013c310f0821a8 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_30d373914fe863d927013c310f0821a8, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_30d373914fe863d927013c310f0821a8->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_30d373914fe863d927013c310f0821a8, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_30d373914fe863d927013c310f0821a8,
        type_description_1,
        par_cls,
        par_public_key,
        par_algorithm,
        var_algo,
        var_container
    );


    // Release cached frame.
    if ( frame_30d373914fe863d927013c310f0821a8 == cache_frame_30d373914fe863d927013c310f0821a8 )
    {
        Py_DECREF( frame_30d373914fe863d927013c310f0821a8 );
    }
    cache_frame_30d373914fe863d927013c310f0821a8 = NULL;

    assertFrameObject( frame_30d373914fe863d927013c310f0821a8 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_16_wrap );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_cls );
    par_cls = NULL;

    }
    {
    Py_XDECREF( par_public_key );
    par_public_key = NULL;

    }
    {
    Py_XDECREF( par_algorithm );
    par_algorithm = NULL;

    }
    {
    Py_XDECREF( var_algo );
    var_algo = NULL;

    }
    {
    Py_XDECREF( var_container );
    var_container = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_cls );
    par_cls = NULL;

    }
    {
    Py_XDECREF( par_public_key );
    par_public_key = NULL;

    }
    {
    Py_XDECREF( par_algorithm );
    par_algorithm = NULL;

    }
    {
    Py_XDECREF( var_algo );
    var_algo = NULL;

    }
    {
    Py_XDECREF( var_container );
    var_container = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_16_wrap );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_17_unwrap( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_key_type = NULL;
    PyObject *var_a_an = NULL;
    struct Nuitka_FrameObject *frame_c716219dcc7e6f4c6e376a0375d11635;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_c716219dcc7e6f4c6e376a0375d11635 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_c716219dcc7e6f4c6e376a0375d11635, codeobj_c716219dcc7e6f4c6e376a0375d11635, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_c716219dcc7e6f4c6e376a0375d11635 = cache_frame_c716219dcc7e6f4c6e376a0375d11635;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_c716219dcc7e6f4c6e376a0375d11635 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_c716219dcc7e6f4c6e376a0375d11635 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_algorithm );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1049;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = const_str_plain_rsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1049;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_source_name_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1050;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_self;
    tmp_subscript_name_1 = const_str_plain_public_key;
    tmp_source_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_source_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1050;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_2 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1050;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_source_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1052;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = par_self;
    tmp_called_instance_1 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_algorithm );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1052;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_c716219dcc7e6f4c6e376a0375d11635->m_frame.f_lineno = 1052;
    tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_upper );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1052;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_key_type == NULL );
    var_key_type = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    CHECK_OBJECT( var_key_type );
    tmp_compexpr_left_2 = var_key_type;
    tmp_compexpr_right_2 = const_str_plain_EC;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1053;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_1;
    }
    else
    {
        goto condexpr_false_1;
    }
    condexpr_true_1:;
    tmp_assign_source_2 = const_str_plain_an;
    goto condexpr_end_1;
    condexpr_false_1:;
    tmp_assign_source_2 = const_str_plain_a;
    condexpr_end_1:;
    assert( var_a_an == NULL );
    Py_INCREF( tmp_assign_source_2 );
    var_a_an = tmp_assign_source_2;

    }
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_args_element_name_3;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1054;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    tmp_args_element_name_1 = const_str_digest_b595cffa984f580e00ae17e9db6cbfac;
    CHECK_OBJECT( var_a_an );
    tmp_args_element_name_2 = var_a_an;
    if ( var_key_type == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key_type" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1060;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_3 = var_key_type;
    frame_c716219dcc7e6f4c6e376a0375d11635->m_frame.f_lineno = 1054;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2, tmp_args_element_name_3 };
        tmp_make_exception_arg_1 = CALL_FUNCTION_WITH_ARGS3( tmp_called_name_1, call_args );
    }

    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1054;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_c716219dcc7e6f4c6e376a0375d11635->m_frame.f_lineno = 1054;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 1054;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooo";
    goto frame_exception_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_c716219dcc7e6f4c6e376a0375d11635 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_c716219dcc7e6f4c6e376a0375d11635 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_c716219dcc7e6f4c6e376a0375d11635 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_c716219dcc7e6f4c6e376a0375d11635, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_c716219dcc7e6f4c6e376a0375d11635->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_c716219dcc7e6f4c6e376a0375d11635, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_c716219dcc7e6f4c6e376a0375d11635,
        type_description_1,
        par_self,
        var_key_type,
        var_a_an
    );


    // Release cached frame.
    if ( frame_c716219dcc7e6f4c6e376a0375d11635 == cache_frame_c716219dcc7e6f4c6e376a0375d11635 )
    {
        Py_DECREF( frame_c716219dcc7e6f4c6e376a0375d11635 );
    }
    cache_frame_c716219dcc7e6f4c6e376a0375d11635 = NULL;

    assertFrameObject( frame_c716219dcc7e6f4c6e376a0375d11635 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_17_unwrap );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_key_type );
    var_key_type = NULL;

    }
    {
    Py_XDECREF( var_a_an );
    var_a_an = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_17_unwrap );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_18_curve( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_params = NULL;
    PyObject *var_chosen = NULL;
    PyObject *var_value = NULL;
    struct Nuitka_FrameObject *frame_9a85b43a7d03589d595f1ac90c0fcf8a;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_9a85b43a7d03589d595f1ac90c0fcf8a = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_9a85b43a7d03589d595f1ac90c0fcf8a, codeobj_9a85b43a7d03589d595f1ac90c0fcf8a, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_9a85b43a7d03589d595f1ac90c0fcf8a = cache_frame_9a85b43a7d03589d595f1ac90c0fcf8a;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_9a85b43a7d03589d595f1ac90c0fcf8a );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_9a85b43a7d03589d595f1ac90c0fcf8a ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_algorithm );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1079;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1079;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_source_name_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1080;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    tmp_args_element_name_1 = const_str_digest_2f4cb4eba960cf9aa9f614dd5336e19e;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1084;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_called_instance_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_algorithm );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1084;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    frame_9a85b43a7d03589d595f1ac90c0fcf8a->m_frame.f_lineno = 1084;
    tmp_args_element_name_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_upper );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1084;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    frame_9a85b43a7d03589d595f1ac90c0fcf8a->m_frame.f_lineno = 1080;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_make_exception_arg_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1080;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    frame_9a85b43a7d03589d595f1ac90c0fcf8a->m_frame.f_lineno = 1080;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 1080;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oooo";
    goto frame_exception_exit_1;
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1087;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1087;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_parameters;
    tmp_assign_source_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1087;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    assert( var_params == NULL );
    var_params = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_source_name_3;
    CHECK_OBJECT( var_params );
    tmp_source_name_3 = var_params;
    tmp_assign_source_2 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_chosen );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1088;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    assert( var_chosen == NULL );
    var_chosen = tmp_assign_source_2;

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_source_name_4;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1090;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_4 = var_params;
    tmp_compexpr_left_2 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_name );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1090;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_plain_implicit_ca;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    Py_DECREF( tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1090;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_3;
    tmp_assign_source_3 = Py_None;
    assert( var_value == NULL );
    Py_INCREF( tmp_assign_source_3 );
    var_value = tmp_assign_source_3;

    }
    goto branch_end_2;
    branch_no_2:;
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_source_name_5;
    if ( var_chosen == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "chosen" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1093;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_5 = var_chosen;
    tmp_assign_source_4 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_native );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1093;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    assert( var_value == NULL );
    var_value = tmp_assign_source_4;

    }
    branch_end_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_source_name_6;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1095;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_6 = var_params;
    tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain_name );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1095;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_return_value = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( var_value == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "value" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1095;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_value;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_1 );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9a85b43a7d03589d595f1ac90c0fcf8a );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_9a85b43a7d03589d595f1ac90c0fcf8a );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9a85b43a7d03589d595f1ac90c0fcf8a );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_9a85b43a7d03589d595f1ac90c0fcf8a, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_9a85b43a7d03589d595f1ac90c0fcf8a->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_9a85b43a7d03589d595f1ac90c0fcf8a, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_9a85b43a7d03589d595f1ac90c0fcf8a,
        type_description_1,
        par_self,
        var_params,
        var_chosen,
        var_value
    );


    // Release cached frame.
    if ( frame_9a85b43a7d03589d595f1ac90c0fcf8a == cache_frame_9a85b43a7d03589d595f1ac90c0fcf8a )
    {
        Py_DECREF( frame_9a85b43a7d03589d595f1ac90c0fcf8a );
    }
    cache_frame_9a85b43a7d03589d595f1ac90c0fcf8a = NULL;

    assertFrameObject( frame_9a85b43a7d03589d595f1ac90c0fcf8a );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_18_curve );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_chosen );
    var_chosen = NULL;

    }
    {
    Py_XDECREF( var_value );
    var_value = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_chosen );
    var_chosen = NULL;

    }
    {
    Py_XDECREF( var_value );
    var_value = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_18_curve );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_19_hash_algo( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_parameters = NULL;
    PyObject *var_byte_len = NULL;
    struct Nuitka_FrameObject *frame_9915ce2c584fbe748c60183574845518;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_9915ce2c584fbe748c60183574845518 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_9915ce2c584fbe748c60183574845518, codeobj_9915ce2c584fbe748c60183574845518, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_9915ce2c584fbe748c60183574845518 = cache_frame_9915ce2c584fbe748c60183574845518;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_9915ce2c584fbe748c60183574845518 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_9915ce2c584fbe748c60183574845518 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_algorithm );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1111;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1111;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_source_name_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unwrap );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unwrap" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1112;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    tmp_args_element_name_1 = const_str_digest_43089fc8b3a03470c55e40b7891aea70;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1117;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_called_instance_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_algorithm );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1117;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_9915ce2c584fbe748c60183574845518->m_frame.f_lineno = 1117;
    tmp_args_element_name_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_upper );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1117;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_9915ce2c584fbe748c60183574845518->m_frame.f_lineno = 1112;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_make_exception_arg_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1112;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_9915ce2c584fbe748c60183574845518->m_frame.f_lineno = 1112;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 1112;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooo";
    goto frame_exception_exit_1;
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1120;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1120;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_parameters;
    tmp_assign_source_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1120;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_parameters == NULL );
    var_parameters = tmp_assign_source_1;

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_source_name_3;
    CHECK_OBJECT( var_parameters );
    tmp_source_name_3 = var_parameters;
    tmp_compexpr_left_2 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_native );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1121;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = Py_None;
    tmp_condition_result_2 = ( tmp_compexpr_left_2 == tmp_compexpr_right_2 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_2 );
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    tmp_return_value = Py_None;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_left_name_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_source_name_4;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_source_name_5;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_args_element_name_4;
    PyObject *tmp_right_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1124;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_4 = tmp_mvar_value_2;
    tmp_called_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_log );
    if ( tmp_called_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1124;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( var_parameters == NULL )
    {
        Py_DECREF( tmp_called_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "parameters" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1124;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = var_parameters;
    tmp_subscript_name_3 = const_str_plain_q;
    tmp_source_name_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    if ( tmp_source_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_2 );

        exception_lineno = 1124;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_native );
    Py_DECREF( tmp_source_name_5 );
    if ( tmp_args_element_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_2 );

        exception_lineno = 1124;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_4 = const_int_pos_2;
    frame_9915ce2c584fbe748c60183574845518->m_frame.f_lineno = 1124;
    {
        PyObject *call_args[] = { tmp_args_element_name_3, tmp_args_element_name_4 };
        tmp_left_name_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_called_name_2 );
    Py_DECREF( tmp_args_element_name_3 );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1124;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_int_pos_8;
    tmp_assign_source_2 = BINARY_OPERATION_TRUEDIV( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1124;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_byte_len == NULL );
    var_byte_len = tmp_assign_source_2;

    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    CHECK_OBJECT( var_byte_len );
    tmp_compexpr_left_3 = var_byte_len;
    tmp_compexpr_right_3 = const_int_pos_20;
    tmp_res = RICH_COMPARE_BOOL_LE( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1126;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_1;
    }
    else
    {
        goto condexpr_false_1;
    }
    condexpr_true_1:;
    tmp_return_value = const_str_plain_sha1;
    goto condexpr_end_1;
    condexpr_false_1:;
    tmp_return_value = const_str_plain_sha2;
    condexpr_end_1:;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9915ce2c584fbe748c60183574845518 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_9915ce2c584fbe748c60183574845518 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9915ce2c584fbe748c60183574845518 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_9915ce2c584fbe748c60183574845518, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_9915ce2c584fbe748c60183574845518->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_9915ce2c584fbe748c60183574845518, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_9915ce2c584fbe748c60183574845518,
        type_description_1,
        par_self,
        var_parameters,
        var_byte_len
    );


    // Release cached frame.
    if ( frame_9915ce2c584fbe748c60183574845518 == cache_frame_9915ce2c584fbe748c60183574845518 )
    {
        Py_DECREF( frame_9915ce2c584fbe748c60183574845518 );
    }
    cache_frame_9915ce2c584fbe748c60183574845518 = NULL;

    assertFrameObject( frame_9915ce2c584fbe748c60183574845518 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_19_hash_algo );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_parameters );
    var_parameters = NULL;

    }
    {
    Py_XDECREF( var_byte_len );
    var_byte_len = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_parameters );
    var_parameters = NULL;

    }
    {
    Py_XDECREF( var_byte_len );
    var_byte_len = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_19_hash_algo );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_20_algorithm( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    struct Nuitka_FrameObject *frame_f591dca1116a2747e0fe8c6c5609d402;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_f591dca1116a2747e0fe8c6c5609d402 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_f591dca1116a2747e0fe8c6c5609d402, codeobj_f591dca1116a2747e0fe8c6c5609d402, module_asn1crypto$keys, sizeof(void *) );
    frame_f591dca1116a2747e0fe8c6c5609d402 = cache_frame_f591dca1116a2747e0fe8c6c5609d402;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_f591dca1116a2747e0fe8c6c5609d402 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_f591dca1116a2747e0fe8c6c5609d402 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain__algorithm );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1135;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_assattr_target_1;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1136;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1136;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_algorithm;
    tmp_source_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_source_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1136;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_assattr_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_native );
    Py_DECREF( tmp_source_name_2 );
    if ( tmp_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1136;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1136;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_1 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__algorithm, tmp_assattr_name_1 );
    Py_DECREF( tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1136;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_source_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1137;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain__algorithm );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1137;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f591dca1116a2747e0fe8c6c5609d402 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_f591dca1116a2747e0fe8c6c5609d402 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f591dca1116a2747e0fe8c6c5609d402 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_f591dca1116a2747e0fe8c6c5609d402, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_f591dca1116a2747e0fe8c6c5609d402->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_f591dca1116a2747e0fe8c6c5609d402, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_f591dca1116a2747e0fe8c6c5609d402,
        type_description_1,
        par_self
    );


    // Release cached frame.
    if ( frame_f591dca1116a2747e0fe8c6c5609d402 == cache_frame_f591dca1116a2747e0fe8c6c5609d402 )
    {
        Py_DECREF( frame_f591dca1116a2747e0fe8c6c5609d402 );
    }
    cache_frame_f591dca1116a2747e0fe8c6c5609d402 = NULL;

    assertFrameObject( frame_f591dca1116a2747e0fe8c6c5609d402 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_20_algorithm );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_20_algorithm );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_21_bit_size( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_prime = NULL;
    PyObject *var_modulus = NULL;
    PyObject *tmp_inplace_assign_attr_1__end = NULL;
    PyObject *tmp_inplace_assign_attr_1__start = NULL;
    struct Nuitka_FrameObject *frame_54eeb9638ceea0f1d9017d9708e25d8f;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    bool tmp_result;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_54eeb9638ceea0f1d9017d9708e25d8f = NULL;
    PyObject *exception_keeper_type_3;
    PyObject *exception_keeper_value_3;
    PyTracebackObject *exception_keeper_tb_3;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_54eeb9638ceea0f1d9017d9708e25d8f, codeobj_54eeb9638ceea0f1d9017d9708e25d8f, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_54eeb9638ceea0f1d9017d9708e25d8f = cache_frame_54eeb9638ceea0f1d9017d9708e25d8f;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_54eeb9638ceea0f1d9017d9708e25d8f );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_54eeb9638ceea0f1d9017d9708e25d8f ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain__bit_size );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1146;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_source_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1147;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_compexpr_left_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_algorithm );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1147;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    Py_DECREF( tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1147;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_left_name_1;
    PyObject *tmp_left_name_2;
    PyObject *tmp_left_name_3;
    PyObject *tmp_len_arg_1;
    PyObject *tmp_source_name_3;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_right_name_2;
    PyObject *tmp_right_name_3;
    PyObject *tmp_assattr_target_1;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1148;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_self;
    tmp_subscript_name_1 = const_str_plain_public_key;
    tmp_source_name_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_source_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1148;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_len_arg_1 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_native );
    Py_DECREF( tmp_source_name_3 );
    if ( tmp_len_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1148;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_left_name_3 = BUILTIN_LEN( tmp_len_arg_1 );
    Py_DECREF( tmp_len_arg_1 );
    if ( tmp_left_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1148;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_int_pos_1;
    tmp_left_name_2 = BINARY_OPERATION_SUB( tmp_left_name_3, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_3 );
    if ( tmp_left_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1148;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_2 = const_int_pos_2;
    tmp_left_name_1 = BINARY_OPERATION_TRUEDIV( tmp_left_name_2, tmp_right_name_2 );
    Py_DECREF( tmp_left_name_2 );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1148;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_3 = const_int_pos_8;
    tmp_assattr_name_1 = BINARY_OPERATION_MUL( tmp_left_name_1, tmp_right_name_3 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1148;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1148;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_1 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__bit_size, tmp_assattr_name_1 );
    Py_DECREF( tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1148;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    }
    goto branch_end_2;
    branch_no_2:;
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    PyObject *tmp_source_name_4;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1150;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_4 = par_self;
    tmp_compexpr_left_3 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_algorithm );
    if ( tmp_compexpr_left_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1150;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_3 = const_str_plain_rsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    Py_DECREF( tmp_compexpr_left_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1150;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_source_name_5;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_source_name_6;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_subscript_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1151;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = par_self;
    tmp_subscript_name_2 = const_str_plain_public_key;
    tmp_source_name_6 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_2 );
    if ( tmp_source_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1151;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscribed_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_6 );
    if ( tmp_subscribed_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1151;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_3 = const_str_plain_modulus;
    tmp_source_name_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_3 );
    Py_DECREF( tmp_subscribed_name_2 );
    if ( tmp_source_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1151;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_1 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_native );
    Py_DECREF( tmp_source_name_5 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1151;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_prime == NULL );
    var_prime = tmp_assign_source_1;

    }
    goto branch_end_3;
    branch_no_3:;
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    PyObject *tmp_source_name_7;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1152;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_7 = par_self;
    tmp_compexpr_left_4 = LOOKUP_ATTRIBUTE( tmp_source_name_7, const_str_plain_algorithm );
    if ( tmp_compexpr_left_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1152;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_4 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_4, tmp_compexpr_right_4 );
    Py_DECREF( tmp_compexpr_left_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1152;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_4 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_4 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_4;
    }
    else
    {
        goto branch_no_4;
    }
    branch_yes_4:;
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_source_name_8;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_subscript_name_4;
    PyObject *tmp_subscript_name_5;
    PyObject *tmp_subscript_name_6;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1153;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_6 = par_self;
    tmp_subscript_name_4 = const_str_plain_algorithm;
    tmp_subscribed_name_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_6, tmp_subscript_name_4 );
    if ( tmp_subscribed_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1153;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_5 = const_str_plain_parameters;
    tmp_subscribed_name_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    Py_DECREF( tmp_subscribed_name_5 );
    if ( tmp_subscribed_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1153;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_6 = const_str_plain_p;
    tmp_source_name_8 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_6 );
    Py_DECREF( tmp_subscribed_name_4 );
    if ( tmp_source_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1153;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_2 = LOOKUP_ATTRIBUTE( tmp_source_name_8, const_str_plain_native );
    Py_DECREF( tmp_source_name_8 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1153;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_prime;
        var_prime = tmp_assign_source_2;
        Py_XDECREF( old );
    }

    }
    branch_no_4:;
    }
    branch_end_3:;
    }
    {
    PyObject *tmp_assattr_name_2;
    PyObject *tmp_int_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_9;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_source_name_10;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_assattr_target_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_9 = tmp_mvar_value_1;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_9, const_str_plain_ceil );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_2 == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_10 = tmp_mvar_value_2;
    tmp_called_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_10, const_str_plain_log );
    if ( tmp_called_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( var_prime == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        Py_DECREF( tmp_called_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "prime" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = var_prime;
    tmp_args_element_name_3 = const_int_pos_2;
    frame_54eeb9638ceea0f1d9017d9708e25d8f->m_frame.f_lineno = 1154;
    {
        PyObject *call_args[] = { tmp_args_element_name_2, tmp_args_element_name_3 };
        tmp_args_element_name_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_called_name_2 );
    if ( tmp_args_element_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_54eeb9638ceea0f1d9017d9708e25d8f->m_frame.f_lineno = 1154;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_int_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_int_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assattr_name_2 = PyNumber_Int( tmp_int_arg_1 );
    Py_DECREF( tmp_int_arg_1 );
    if ( tmp_assattr_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_2 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_2, const_str_plain__bit_size, tmp_assattr_name_2 );
    Py_DECREF( tmp_assattr_name_2 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1154;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_left_name_4;
    PyObject *tmp_source_name_11;
    PyObject *tmp_right_name_4;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1155;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_11 = par_self;
    tmp_left_name_4 = LOOKUP_ATTRIBUTE( tmp_source_name_11, const_str_plain__bit_size );
    if ( tmp_left_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1155;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_4 = const_int_pos_8;
    tmp_assign_source_3 = BINARY_OPERATION_REMAINDER( tmp_left_name_4, tmp_right_name_4 );
    Py_DECREF( tmp_left_name_4 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1155;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_modulus == NULL );
    var_modulus = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_compexpr_left_5;
    PyObject *tmp_compexpr_right_5;
    CHECK_OBJECT( var_modulus );
    tmp_compexpr_left_5 = var_modulus;
    tmp_compexpr_right_5 = const_int_0;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_5, tmp_compexpr_right_5 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1156;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_5 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_5;
    }
    else
    {
        goto branch_no_5;
    }
    branch_yes_5:;
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_source_name_12;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1157;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_12 = par_self;
    tmp_assign_source_4 = LOOKUP_ATTRIBUTE( tmp_source_name_12, const_str_plain__bit_size );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1157;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_inplace_assign_attr_1__start == NULL );
    tmp_inplace_assign_attr_1__start = tmp_assign_source_4;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_left_name_5;
    PyObject *tmp_right_name_5;
    PyObject *tmp_left_name_6;
    PyObject *tmp_right_name_6;
    CHECK_OBJECT( tmp_inplace_assign_attr_1__start );
    tmp_left_name_5 = tmp_inplace_assign_attr_1__start;
    tmp_left_name_6 = const_int_pos_8;
    if ( var_modulus == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "modulus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1157;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }

    tmp_right_name_6 = var_modulus;
    tmp_right_name_5 = BINARY_OPERATION_SUB( tmp_left_name_6, tmp_right_name_6 );
    if ( tmp_right_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1157;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_5 = BINARY_OPERATION( PyNumber_InPlaceAdd, tmp_left_name_5, tmp_right_name_5 );
    Py_DECREF( tmp_right_name_5 );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1157;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    assert( tmp_inplace_assign_attr_1__end == NULL );
    tmp_inplace_assign_attr_1__end = tmp_assign_source_5;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assattr_name_3;
    PyObject *tmp_assattr_target_3;
    CHECK_OBJECT( tmp_inplace_assign_attr_1__end );
    tmp_assattr_name_3 = tmp_inplace_assign_attr_1__end;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1157;
        type_description_1 = "ooo";
        goto try_except_handler_3;
    }

    tmp_assattr_target_3 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_3, const_str_plain__bit_size, tmp_assattr_name_3 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1157;
        type_description_1 = "ooo";
        goto try_except_handler_3;
    }
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_3:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_inplace_assign_attr_1__end );
    Py_DECREF( tmp_inplace_assign_attr_1__end );
    tmp_inplace_assign_attr_1__end = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto try_except_handler_2;
    }
    // End of try:
    try_end_1:;
    }
    goto try_end_2;
    // Exception handler code:
    try_except_handler_2:;
    exception_keeper_type_2 = exception_type;
    exception_keeper_value_2 = exception_value;
    exception_keeper_tb_2 = exception_tb;
    exception_keeper_lineno_2 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_inplace_assign_attr_1__start );
    Py_DECREF( tmp_inplace_assign_attr_1__start );
    tmp_inplace_assign_attr_1__start = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_2;
    exception_value = exception_keeper_value_2;
    exception_tb = exception_keeper_tb_2;
    exception_lineno = exception_keeper_lineno_2;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_2:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_inplace_assign_attr_1__end );
    Py_DECREF( tmp_inplace_assign_attr_1__end );
    tmp_inplace_assign_attr_1__end = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_inplace_assign_attr_1__start );
    Py_DECREF( tmp_inplace_assign_attr_1__start );
    tmp_inplace_assign_attr_1__start = NULL;

    }
    branch_no_5:;
    }
    branch_end_2:;
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_source_name_13;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1159;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_13 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_13, const_str_plain__bit_size );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1159;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_54eeb9638ceea0f1d9017d9708e25d8f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_54eeb9638ceea0f1d9017d9708e25d8f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_54eeb9638ceea0f1d9017d9708e25d8f );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_54eeb9638ceea0f1d9017d9708e25d8f, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_54eeb9638ceea0f1d9017d9708e25d8f->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_54eeb9638ceea0f1d9017d9708e25d8f, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_54eeb9638ceea0f1d9017d9708e25d8f,
        type_description_1,
        par_self,
        var_prime,
        var_modulus
    );


    // Release cached frame.
    if ( frame_54eeb9638ceea0f1d9017d9708e25d8f == cache_frame_54eeb9638ceea0f1d9017d9708e25d8f )
    {
        Py_DECREF( frame_54eeb9638ceea0f1d9017d9708e25d8f );
    }
    cache_frame_54eeb9638ceea0f1d9017d9708e25d8f = NULL;

    assertFrameObject( frame_54eeb9638ceea0f1d9017d9708e25d8f );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_21_bit_size );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_prime );
    var_prime = NULL;

    }
    {
    Py_XDECREF( var_modulus );
    var_modulus = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_3 = exception_type;
    exception_keeper_value_3 = exception_value;
    exception_keeper_tb_3 = exception_tb;
    exception_keeper_lineno_3 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_prime );
    var_prime = NULL;

    }
    {
    Py_XDECREF( var_modulus );
    var_modulus = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_3;
    exception_value = exception_keeper_value_3;
    exception_tb = exception_keeper_tb_3;
    exception_lineno = exception_keeper_lineno_3;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_21_bit_size );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_22_byte_size( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    struct Nuitka_FrameObject *frame_b85ea0285569388236e7997105fca799;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *tmp_return_value = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    static struct Nuitka_FrameObject *cache_frame_b85ea0285569388236e7997105fca799 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_b85ea0285569388236e7997105fca799, codeobj_b85ea0285569388236e7997105fca799, module_asn1crypto$keys, sizeof(void *) );
    frame_b85ea0285569388236e7997105fca799 = cache_frame_b85ea0285569388236e7997105fca799;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_b85ea0285569388236e7997105fca799 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_b85ea0285569388236e7997105fca799 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_int_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_left_name_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_right_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_math );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "math" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1168;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_1;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_ceil );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1168;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1168;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_left_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_bit_size );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 1168;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_int_pos_8;
    tmp_args_element_name_1 = BINARY_OPERATION_TRUEDIV( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_args_element_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 1168;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_b85ea0285569388236e7997105fca799->m_frame.f_lineno = 1168;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_int_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_int_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1168;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_return_value = PyNumber_Int( tmp_int_arg_1 );
    Py_DECREF( tmp_int_arg_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1168;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_b85ea0285569388236e7997105fca799 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_b85ea0285569388236e7997105fca799 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_b85ea0285569388236e7997105fca799 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_b85ea0285569388236e7997105fca799, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_b85ea0285569388236e7997105fca799->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_b85ea0285569388236e7997105fca799, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_b85ea0285569388236e7997105fca799,
        type_description_1,
        par_self
    );


    // Release cached frame.
    if ( frame_b85ea0285569388236e7997105fca799 == cache_frame_b85ea0285569388236e7997105fca799 )
    {
        Py_DECREF( frame_b85ea0285569388236e7997105fca799 );
    }
    cache_frame_b85ea0285569388236e7997105fca799 = NULL;

    assertFrameObject( frame_b85ea0285569388236e7997105fca799 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_22_byte_size );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_22_byte_size );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_23_sha1( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    struct Nuitka_FrameObject *frame_9b7ed5d16b5c925276eb54143f11b38f;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_9b7ed5d16b5c925276eb54143f11b38f = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_9b7ed5d16b5c925276eb54143f11b38f, codeobj_9b7ed5d16b5c925276eb54143f11b38f, module_asn1crypto$keys, sizeof(void *) );
    frame_9b7ed5d16b5c925276eb54143f11b38f = cache_frame_9b7ed5d16b5c925276eb54143f11b38f;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_9b7ed5d16b5c925276eb54143f11b38f );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_9b7ed5d16b5c925276eb54143f11b38f ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain__sha1 );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1177;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_assattr_target_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_hashlib );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_hashlib );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "hashlib" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = tmp_mvar_value_1;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_sha1 );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_byte_cls );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_byte_cls );
    }

    if ( tmp_mvar_value_2 == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "byte_cls" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_2;
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_self;
    tmp_subscript_name_1 = const_str_plain_public_key;
    tmp_args_element_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_9b7ed5d16b5c925276eb54143f11b38f->m_frame.f_lineno = 1178;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_args_element_name_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_args_element_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_9b7ed5d16b5c925276eb54143f11b38f->m_frame.f_lineno = 1178;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_called_instance_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_9b7ed5d16b5c925276eb54143f11b38f->m_frame.f_lineno = 1178;
    tmp_assattr_name_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_digest );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_1 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__sha1, tmp_assattr_name_1 );
    Py_DECREF( tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1178;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_source_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1179;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain__sha1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1179;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9b7ed5d16b5c925276eb54143f11b38f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_9b7ed5d16b5c925276eb54143f11b38f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9b7ed5d16b5c925276eb54143f11b38f );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_9b7ed5d16b5c925276eb54143f11b38f, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_9b7ed5d16b5c925276eb54143f11b38f->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_9b7ed5d16b5c925276eb54143f11b38f, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_9b7ed5d16b5c925276eb54143f11b38f,
        type_description_1,
        par_self
    );


    // Release cached frame.
    if ( frame_9b7ed5d16b5c925276eb54143f11b38f == cache_frame_9b7ed5d16b5c925276eb54143f11b38f )
    {
        Py_DECREF( frame_9b7ed5d16b5c925276eb54143f11b38f );
    }
    cache_frame_9b7ed5d16b5c925276eb54143f11b38f = NULL;

    assertFrameObject( frame_9b7ed5d16b5c925276eb54143f11b38f );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_23_sha1 );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_23_sha1 );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_24_sha256( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    struct Nuitka_FrameObject *frame_63970a3baa99646de643cea3d35eb1c9;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_63970a3baa99646de643cea3d35eb1c9 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_63970a3baa99646de643cea3d35eb1c9, codeobj_63970a3baa99646de643cea3d35eb1c9, module_asn1crypto$keys, sizeof(void *) );
    frame_63970a3baa99646de643cea3d35eb1c9 = cache_frame_63970a3baa99646de643cea3d35eb1c9;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_63970a3baa99646de643cea3d35eb1c9 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_63970a3baa99646de643cea3d35eb1c9 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain__sha256 );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1188;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_assattr_target_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_hashlib );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_hashlib );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "hashlib" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = tmp_mvar_value_1;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_sha256 );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_byte_cls );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_byte_cls );
    }

    if ( tmp_mvar_value_2 == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "byte_cls" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_2;
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_self;
    tmp_subscript_name_1 = const_str_plain_public_key;
    tmp_args_element_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_63970a3baa99646de643cea3d35eb1c9->m_frame.f_lineno = 1189;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_args_element_name_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_args_element_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_1 );

        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_63970a3baa99646de643cea3d35eb1c9->m_frame.f_lineno = 1189;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_called_instance_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_63970a3baa99646de643cea3d35eb1c9->m_frame.f_lineno = 1189;
    tmp_assattr_name_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_digest );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_1 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__sha256, tmp_assattr_name_1 );
    Py_DECREF( tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1189;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_source_name_3;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1190;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain__sha256 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1190;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_63970a3baa99646de643cea3d35eb1c9 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_63970a3baa99646de643cea3d35eb1c9 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_63970a3baa99646de643cea3d35eb1c9 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_63970a3baa99646de643cea3d35eb1c9, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_63970a3baa99646de643cea3d35eb1c9->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_63970a3baa99646de643cea3d35eb1c9, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_63970a3baa99646de643cea3d35eb1c9,
        type_description_1,
        par_self
    );


    // Release cached frame.
    if ( frame_63970a3baa99646de643cea3d35eb1c9 == cache_frame_63970a3baa99646de643cea3d35eb1c9 )
    {
        Py_DECREF( frame_63970a3baa99646de643cea3d35eb1c9 );
    }
    cache_frame_63970a3baa99646de643cea3d35eb1c9 = NULL;

    assertFrameObject( frame_63970a3baa99646de643cea3d35eb1c9 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_24_sha256 );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_24_sha256 );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}


static PyObject *impl_asn1crypto$keys$$$function_25_fingerprint( struct Nuitka_FunctionObject const *self, PyObject **python_pars )
{
    // Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
    NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif

    // Local variable declarations.
    PyObject *par_self = python_pars[ 0 ];
    PyObject *var_key_type = NULL;
    PyObject *var_params = NULL;
    PyObject *var_key = NULL;
    PyObject *var_to_hash = NULL;
    struct Nuitka_FrameObject *frame_dfc351d1af6fcb8438f8fb2f621afb20;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    int tmp_res;
    bool tmp_result;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_dfc351d1af6fcb8438f8fb2f621afb20 = NULL;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_dfc351d1af6fcb8438f8fb2f621afb20, codeobj_dfc351d1af6fcb8438f8fb2f621afb20, module_asn1crypto$keys, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_dfc351d1af6fcb8438f8fb2f621afb20 = cache_frame_dfc351d1af6fcb8438f8fb2f621afb20;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_dfc351d1af6fcb8438f8fb2f621afb20 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_dfc351d1af6fcb8438f8fb2f621afb20 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_left_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain__fingerprint );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1206;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_compexpr_left_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscript_name_2;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1207;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_self;
    tmp_subscript_name_1 = const_str_plain_algorithm;
    tmp_subscribed_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_1 );
    if ( tmp_subscribed_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1207;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_str_plain_algorithm;
    tmp_source_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_source_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1207;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_native );
    Py_DECREF( tmp_source_name_2 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1207;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_key_type == NULL );
    var_key_type = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_subscript_name_4;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1208;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_4 = par_self;
    tmp_subscript_name_3 = const_str_plain_algorithm;
    tmp_subscribed_name_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_3 );
    if ( tmp_subscribed_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1208;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_4 = const_str_plain_parameters;
    tmp_assign_source_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_4 );
    Py_DECREF( tmp_subscribed_name_3 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1208;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_params == NULL );
    var_params = tmp_assign_source_2;

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    if ( var_key_type == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key_type" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1210;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_2 = var_key_type;
    tmp_compexpr_right_2 = const_str_plain_rsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1210;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_source_name_3;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1211;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_5 = par_self;
    tmp_subscript_name_5 = const_str_plain_public_key;
    tmp_source_name_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    if ( tmp_source_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1211;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_3 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_3 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1211;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_key == NULL );
    var_key = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_source_name_4;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_subscript_name_6;
    PyObject *tmp_source_name_5;
    PyObject *tmp_subscribed_name_7;
    PyObject *tmp_subscript_name_7;
    tmp_left_name_1 = const_str_digest_929a672048f66fa4e652c8efac7cfdc9;
    CHECK_OBJECT( var_key );
    tmp_subscribed_name_6 = var_key;
    tmp_subscript_name_6 = const_str_plain_modulus;
    tmp_source_name_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_6, tmp_subscript_name_6 );
    if ( tmp_source_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1213;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_native );
    Py_DECREF( tmp_source_name_4 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1213;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
    if ( var_key == NULL )
    {
        Py_DECREF( tmp_right_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1214;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_7 = var_key;
    tmp_subscript_name_7 = const_str_plain_public_exponent;
    tmp_source_name_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_7, tmp_subscript_name_7 );
    if ( tmp_source_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_1 );

        exception_lineno = 1214;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_1 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_native );
    Py_DECREF( tmp_source_name_5 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_1 );

        exception_lineno = 1214;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
    tmp_assign_source_4 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_right_name_1 );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1212;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_to_hash == NULL );
    var_to_hash = tmp_assign_source_4;

    }
    goto branch_end_2;
    branch_no_2:;
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    if ( var_key_type == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key_type" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1217;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_3 = var_key_type;
    tmp_compexpr_right_3 = const_str_plain_dsa;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1217;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_source_name_6;
    PyObject *tmp_subscribed_name_8;
    PyObject *tmp_subscript_name_8;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1218;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_8 = par_self;
    tmp_subscript_name_8 = const_str_plain_public_key;
    tmp_source_name_6 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_8, tmp_subscript_name_8 );
    if ( tmp_source_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1218;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_5 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain_parsed );
    Py_DECREF( tmp_source_name_6 );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1218;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_key;
        var_key = tmp_assign_source_5;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_left_name_2;
    PyObject *tmp_right_name_2;
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_source_name_7;
    PyObject *tmp_subscribed_name_9;
    PyObject *tmp_subscript_name_9;
    PyObject *tmp_source_name_8;
    PyObject *tmp_subscribed_name_10;
    PyObject *tmp_subscript_name_10;
    PyObject *tmp_source_name_9;
    PyObject *tmp_subscribed_name_11;
    PyObject *tmp_subscript_name_11;
    PyObject *tmp_source_name_10;
    tmp_left_name_2 = const_str_digest_d5c4ff7d1138797719ed9d9fcc558d55;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1220;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_9 = var_params;
    tmp_subscript_name_9 = const_str_plain_p;
    tmp_source_name_7 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_9, tmp_subscript_name_9 );
    if ( tmp_source_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1220;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_7, const_str_plain_native );
    Py_DECREF( tmp_source_name_7 );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1220;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_2 = PyTuple_New( 4 );
    PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_2 );
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_right_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1221;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_10 = var_params;
    tmp_subscript_name_10 = const_str_plain_q;
    tmp_source_name_8 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_10, tmp_subscript_name_10 );
    if ( tmp_source_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 1221;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_8, const_str_plain_native );
    Py_DECREF( tmp_source_name_8 );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 1221;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_right_name_2, 1, tmp_tuple_element_2 );
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_right_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1222;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_11 = var_params;
    tmp_subscript_name_11 = const_str_plain_g;
    tmp_source_name_9 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_11, tmp_subscript_name_11 );
    if ( tmp_source_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 1222;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_9, const_str_plain_native );
    Py_DECREF( tmp_source_name_9 );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 1222;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_right_name_2, 2, tmp_tuple_element_2 );
    if ( var_key == NULL )
    {
        Py_DECREF( tmp_right_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1223;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_10 = var_key;
    tmp_tuple_element_2 = LOOKUP_ATTRIBUTE( tmp_source_name_10, const_str_plain_native );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 1223;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_right_name_2, 3, tmp_tuple_element_2 );
    tmp_assign_source_6 = BINARY_OPERATION_REMAINDER( tmp_left_name_2, tmp_right_name_2 );
    Py_DECREF( tmp_right_name_2 );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1219;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_6;
        Py_XDECREF( old );
    }

    }
    goto branch_end_3;
    branch_no_3:;
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    if ( var_key_type == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key_type" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1226;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_4 = var_key_type;
    tmp_compexpr_right_4 = const_str_plain_ec;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_4, tmp_compexpr_right_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1226;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_4 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_4 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_4;
    }
    else
    {
        goto branch_no_4;
    }
    branch_yes_4:;
    {
    PyObject *tmp_assign_source_7;
    PyObject *tmp_subscribed_name_12;
    PyObject *tmp_subscript_name_12;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1227;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_12 = par_self;
    tmp_subscript_name_12 = const_str_plain_public_key;
    tmp_assign_source_7 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_12, tmp_subscript_name_12 );
    if ( tmp_assign_source_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1227;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_key;
        var_key = tmp_assign_source_7;
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_compexpr_left_5;
    PyObject *tmp_compexpr_right_5;
    PyObject *tmp_source_name_11;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1229;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_11 = var_params;
    tmp_compexpr_left_5 = LOOKUP_ATTRIBUTE( tmp_source_name_11, const_str_plain_name );
    if ( tmp_compexpr_left_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1229;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_5 = const_str_plain_named;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_5, tmp_compexpr_right_5 );
    Py_DECREF( tmp_compexpr_left_5 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1229;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_5 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_5;
    }
    else
    {
        goto branch_no_5;
    }
    branch_yes_5:;
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_left_name_3;
    PyObject *tmp_right_name_3;
    PyObject *tmp_source_name_12;
    PyObject *tmp_source_name_13;
    tmp_left_name_3 = const_str_digest_1bf116e587cdc6ad6e64c6f66c60023d;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1230;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_13 = var_params;
    tmp_source_name_12 = LOOKUP_ATTRIBUTE( tmp_source_name_13, const_str_plain_chosen );
    if ( tmp_source_name_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1230;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_12, const_str_plain_native );
    Py_DECREF( tmp_source_name_12 );
    if ( tmp_right_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1230;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_8 = BINARY_OPERATION_REMAINDER( tmp_left_name_3, tmp_right_name_3 );
    Py_DECREF( tmp_right_name_3 );
    if ( tmp_assign_source_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1230;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_8;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_to_hash );
    tmp_called_instance_1 = var_to_hash;
    frame_dfc351d1af6fcb8438f8fb2f621afb20->m_frame.f_lineno = 1231;
    tmp_assign_source_9 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_encode, &PyTuple_GET_ITEM( const_tuple_str_digest_c075052d723d6707083e869a0e3659bb_tuple, 0 ) );

    if ( tmp_assign_source_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1231;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_9;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_left_name_4;
    PyObject *tmp_right_name_4;
    PyObject *tmp_source_name_14;
    CHECK_OBJECT( var_to_hash );
    tmp_left_name_4 = var_to_hash;
    if ( var_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1232;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_14 = var_key;
    tmp_right_name_4 = LOOKUP_ATTRIBUTE( tmp_source_name_14, const_str_plain_native );
    if ( tmp_right_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1232;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE( &tmp_left_name_4, tmp_right_name_4 );
    tmp_assign_source_10 = tmp_left_name_4;
    Py_DECREF( tmp_right_name_4 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1232;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    var_to_hash = tmp_assign_source_10;

    }
    goto branch_end_5;
    branch_no_5:;
    {
    nuitka_bool tmp_condition_result_6;
    PyObject *tmp_compexpr_left_6;
    PyObject *tmp_compexpr_right_6;
    PyObject *tmp_source_name_15;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1234;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_15 = var_params;
    tmp_compexpr_left_6 = LOOKUP_ATTRIBUTE( tmp_source_name_15, const_str_plain_name );
    if ( tmp_compexpr_left_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1234;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_6 = const_str_plain_implicit_ca;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_6, tmp_compexpr_right_6 );
    Py_DECREF( tmp_compexpr_left_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1234;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_6 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_6 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_6;
    }
    else
    {
        goto branch_no_6;
    }
    branch_yes_6:;
    {
    PyObject *tmp_assign_source_11;
    PyObject *tmp_source_name_16;
    if ( var_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1235;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_16 = var_key;
    tmp_assign_source_11 = LOOKUP_ATTRIBUTE( tmp_source_name_16, const_str_plain_native );
    if ( tmp_assign_source_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1235;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_11;
        Py_XDECREF( old );
    }

    }
    goto branch_end_6;
    branch_no_6:;
    {
    nuitka_bool tmp_condition_result_7;
    PyObject *tmp_compexpr_left_7;
    PyObject *tmp_compexpr_right_7;
    PyObject *tmp_source_name_17;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1237;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_17 = var_params;
    tmp_compexpr_left_7 = LOOKUP_ATTRIBUTE( tmp_source_name_17, const_str_plain_name );
    if ( tmp_compexpr_left_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1237;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_7 = const_str_plain_specified;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_7, tmp_compexpr_right_7 );
    Py_DECREF( tmp_compexpr_left_7 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1237;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_7 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_7 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_7;
    }
    else
    {
        goto branch_no_7;
    }
    branch_yes_7:;
    {
    PyObject *tmp_assign_source_12;
    PyObject *tmp_left_name_5;
    PyObject *tmp_right_name_5;
    PyObject *tmp_source_name_18;
    PyObject *tmp_subscribed_name_13;
    PyObject *tmp_subscribed_name_14;
    PyObject *tmp_source_name_19;
    PyObject *tmp_subscript_name_13;
    PyObject *tmp_subscript_name_14;
    tmp_left_name_5 = const_str_digest_1bf116e587cdc6ad6e64c6f66c60023d;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1238;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_19 = var_params;
    tmp_subscribed_name_14 = LOOKUP_ATTRIBUTE( tmp_source_name_19, const_str_plain_chosen );
    if ( tmp_subscribed_name_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1238;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_13 = const_str_plain_field_id;
    tmp_subscribed_name_13 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_14, tmp_subscript_name_13 );
    Py_DECREF( tmp_subscribed_name_14 );
    if ( tmp_subscribed_name_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1238;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_14 = const_str_plain_parameters;
    tmp_source_name_18 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_13, tmp_subscript_name_14 );
    Py_DECREF( tmp_subscribed_name_13 );
    if ( tmp_source_name_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1238;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_5 = LOOKUP_ATTRIBUTE( tmp_source_name_18, const_str_plain_native );
    Py_DECREF( tmp_source_name_18 );
    if ( tmp_right_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1238;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_12 = BINARY_OPERATION_REMAINDER( tmp_left_name_5, tmp_right_name_5 );
    Py_DECREF( tmp_right_name_5 );
    if ( tmp_assign_source_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1238;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_12;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_13;
    PyObject *tmp_called_instance_2;
    CHECK_OBJECT( var_to_hash );
    tmp_called_instance_2 = var_to_hash;
    frame_dfc351d1af6fcb8438f8fb2f621afb20->m_frame.f_lineno = 1239;
    tmp_assign_source_13 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_encode, &PyTuple_GET_ITEM( const_tuple_str_digest_c075052d723d6707083e869a0e3659bb_tuple, 0 ) );

    if ( tmp_assign_source_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1239;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_13;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_left_name_6;
    PyObject *tmp_right_name_6;
    PyObject *tmp_left_name_7;
    PyObject *tmp_right_name_7;
    PyObject *tmp_source_name_20;
    PyObject *tmp_subscribed_name_15;
    PyObject *tmp_subscribed_name_16;
    PyObject *tmp_source_name_21;
    PyObject *tmp_subscript_name_15;
    PyObject *tmp_subscript_name_16;
    CHECK_OBJECT( var_to_hash );
    tmp_left_name_6 = var_to_hash;
    tmp_left_name_7 = const_bytes_chr_58;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1240;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_21 = var_params;
    tmp_subscribed_name_16 = LOOKUP_ATTRIBUTE( tmp_source_name_21, const_str_plain_chosen );
    if ( tmp_subscribed_name_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1240;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_15 = const_str_plain_curve;
    tmp_subscribed_name_15 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_16, tmp_subscript_name_15 );
    Py_DECREF( tmp_subscribed_name_16 );
    if ( tmp_subscribed_name_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1240;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_16 = const_str_plain_a;
    tmp_source_name_20 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_15, tmp_subscript_name_16 );
    Py_DECREF( tmp_subscribed_name_15 );
    if ( tmp_source_name_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1240;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_7 = LOOKUP_ATTRIBUTE( tmp_source_name_20, const_str_plain_native );
    Py_DECREF( tmp_source_name_20 );
    if ( tmp_right_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1240;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_6 = BINARY_OPERATION_ADD( tmp_left_name_7, tmp_right_name_7 );
    Py_DECREF( tmp_right_name_7 );
    if ( tmp_right_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1240;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE( &tmp_left_name_6, tmp_right_name_6 );
    tmp_assign_source_14 = tmp_left_name_6;
    Py_DECREF( tmp_right_name_6 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1240;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    var_to_hash = tmp_assign_source_14;

    }
    {
    PyObject *tmp_assign_source_15;
    PyObject *tmp_left_name_8;
    PyObject *tmp_right_name_8;
    PyObject *tmp_left_name_9;
    PyObject *tmp_right_name_9;
    PyObject *tmp_source_name_22;
    PyObject *tmp_subscribed_name_17;
    PyObject *tmp_subscribed_name_18;
    PyObject *tmp_source_name_23;
    PyObject *tmp_subscript_name_17;
    PyObject *tmp_subscript_name_18;
    CHECK_OBJECT( var_to_hash );
    tmp_left_name_8 = var_to_hash;
    tmp_left_name_9 = const_bytes_chr_58;
    if ( var_params == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1241;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_23 = var_params;
    tmp_subscribed_name_18 = LOOKUP_ATTRIBUTE( tmp_source_name_23, const_str_plain_chosen );
    if ( tmp_subscribed_name_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1241;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_17 = const_str_plain_curve;
    tmp_subscribed_name_17 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_18, tmp_subscript_name_17 );
    Py_DECREF( tmp_subscribed_name_18 );
    if ( tmp_subscribed_name_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1241;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_18 = const_str_plain_b;
    tmp_source_name_22 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_17, tmp_subscript_name_18 );
    Py_DECREF( tmp_subscribed_name_17 );
    if ( tmp_source_name_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1241;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_9 = LOOKUP_ATTRIBUTE( tmp_source_name_22, const_str_plain_native );
    Py_DECREF( tmp_source_name_22 );
    if ( tmp_right_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1241;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_8 = BINARY_OPERATION_ADD( tmp_left_name_9, tmp_right_name_9 );
    Py_DECREF( tmp_right_name_9 );
    if ( tmp_right_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1241;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE( &tmp_left_name_8, tmp_right_name_8 );
    tmp_assign_source_15 = tmp_left_name_8;
    Py_DECREF( tmp_right_name_8 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1241;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    var_to_hash = tmp_assign_source_15;

    }
    {
    PyObject *tmp_assign_source_16;
    PyObject *tmp_left_name_10;
    PyObject *tmp_right_name_10;
    PyObject *tmp_source_name_24;
    CHECK_OBJECT( var_to_hash );
    tmp_left_name_10 = var_to_hash;
    if ( var_key == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1242;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_24 = var_key;
    tmp_right_name_10 = LOOKUP_ATTRIBUTE( tmp_source_name_24, const_str_plain_native );
    if ( tmp_right_name_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1242;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE( &tmp_left_name_10, tmp_right_name_10 );
    tmp_assign_source_16 = tmp_left_name_10;
    Py_DECREF( tmp_right_name_10 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1242;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    var_to_hash = tmp_assign_source_16;

    }
    branch_no_7:;
    }
    branch_end_6:;
    }
    branch_end_5:;
    }
    branch_no_4:;
    }
    branch_end_3:;
    }
    branch_end_2:;
    }
    {
    nuitka_bool tmp_condition_result_8;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_mvar_value_1;
    if ( var_to_hash == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "to_hash" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1244;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_1 = var_to_hash;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_str_cls );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str_cls );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str_cls" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1244;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_1 = tmp_mvar_value_1;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_1, tmp_isinstance_cls_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1244;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_8 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_8 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_8;
    }
    else
    {
        goto branch_no_8;
    }
    branch_yes_8:;
    {
    PyObject *tmp_assign_source_17;
    PyObject *tmp_called_instance_3;
    if ( var_to_hash == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "to_hash" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1245;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_3 = var_to_hash;
    frame_dfc351d1af6fcb8438f8fb2f621afb20->m_frame.f_lineno = 1245;
    tmp_assign_source_17 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_3, const_str_plain_encode, &PyTuple_GET_ITEM( const_tuple_str_digest_c075052d723d6707083e869a0e3659bb_tuple, 0 ) );

    if ( tmp_assign_source_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1245;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_to_hash;
        var_to_hash = tmp_assign_source_17;
        Py_XDECREF( old );
    }

    }
    branch_no_8:;
    }
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_called_instance_4;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_25;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_assattr_target_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_hashlib );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_hashlib );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "hashlib" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1247;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_25 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_25, const_str_plain_sha256 );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1247;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    if ( var_to_hash == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "to_hash" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1247;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = var_to_hash;
    frame_dfc351d1af6fcb8438f8fb2f621afb20->m_frame.f_lineno = 1247;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_called_instance_4 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_called_instance_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1247;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    frame_dfc351d1af6fcb8438f8fb2f621afb20->m_frame.f_lineno = 1247;
    tmp_assattr_name_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_4, const_str_plain_digest );
    Py_DECREF( tmp_called_instance_4 );
    if ( tmp_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1247;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_assattr_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1247;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_assattr_target_1 = par_self;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__fingerprint, tmp_assattr_name_1 );
    Py_DECREF( tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1247;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_source_name_26;
    if ( par_self == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "self" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1249;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_26 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_26, const_str_plain__fingerprint );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1249;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_dfc351d1af6fcb8438f8fb2f621afb20 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_dfc351d1af6fcb8438f8fb2f621afb20 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_dfc351d1af6fcb8438f8fb2f621afb20 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_dfc351d1af6fcb8438f8fb2f621afb20, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_dfc351d1af6fcb8438f8fb2f621afb20->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_dfc351d1af6fcb8438f8fb2f621afb20, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_dfc351d1af6fcb8438f8fb2f621afb20,
        type_description_1,
        par_self,
        var_key_type,
        var_params,
        var_key,
        var_to_hash
    );


    // Release cached frame.
    if ( frame_dfc351d1af6fcb8438f8fb2f621afb20 == cache_frame_dfc351d1af6fcb8438f8fb2f621afb20 )
    {
        Py_DECREF( frame_dfc351d1af6fcb8438f8fb2f621afb20 );
    }
    cache_frame_dfc351d1af6fcb8438f8fb2f621afb20 = NULL;

    assertFrameObject( frame_dfc351d1af6fcb8438f8fb2f621afb20 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_25_fingerprint );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_key_type );
    var_key_type = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    Py_XDECREF( var_to_hash );
    var_to_hash = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_key_type );
    var_key_type = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    Py_XDECREF( var_to_hash );
    var_to_hash = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys$$$function_25_fingerprint );
    return NULL;

function_exception_exit:
    assert( exception_type );
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );

    return NULL;
function_return_exit:

CHECK_OBJECT( tmp_return_value );
assert( had_error || !ERROR_OCCURRED() );
return tmp_return_value;

}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_10_bit_size(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_10_bit_size,
        const_str_plain_bit_size,
#if PYTHON_VERSION >= 300
        const_str_digest_f2307e7c7ba3872bdfe5ece119c6417f,
#endif
        codeobj_664287ffb80c88fb25456240f250c00f,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_07bbd023e0156f052c69d180eb0cfe60,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_11_byte_size(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_11_byte_size,
        const_str_plain_byte_size,
#if PYTHON_VERSION >= 300
        const_str_digest_d8998442316b8eede93e26b5edaa5a4a,
#endif
        codeobj_3b085a702e4441e871b7a7da604be517,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_c68b2b6c22c3779cc784c24717022602,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_12_public_key(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_12_public_key,
        const_str_plain_public_key,
#if PYTHON_VERSION >= 300
        const_str_digest_ee645ceb34888ae8a2aa5978c9d5ac35,
#endif
        codeobj_cdcee95a7e4125cdb2c7ce8a3052a834,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_6e1fbf29d8eea775262297ac48aabff5,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_13_public_key_info(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_13_public_key_info,
        const_str_plain_public_key_info,
#if PYTHON_VERSION >= 300
        const_str_digest_1a070cdb5471dd689dcd09c7b328986b,
#endif
        codeobj_a29019ed0c31f38dcf6b907a77bc2019,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_f5abcd2d9d9e16aec0fee46649bdc0fe,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_14_fingerprint(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_14_fingerprint,
        const_str_plain_fingerprint,
#if PYTHON_VERSION >= 300
        const_str_digest_6caca7af5590aa015d45458963b984bf,
#endif
        codeobj_725ac334d68543c5b40000df928b75ee,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_4fdd4f1c542fb189af1bd018fd971eb5,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_15__public_key_spec(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_15__public_key_spec,
        const_str_plain__public_key_spec,
#if PYTHON_VERSION >= 300
        const_str_digest_0d72dd45a82194d5069e25533054270b,
#endif
        codeobj_d0b97ff3084a201b4b2a0b0dfcac3553,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_16_wrap(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_16_wrap,
        const_str_plain_wrap,
#if PYTHON_VERSION >= 300
        const_str_digest_ff8b248b59918ce8d761d774c59510c7,
#endif
        codeobj_30d373914fe863d927013c310f0821a8,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_1344c1f9eb1cd8c07885d6634a6aa599,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_17_unwrap(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_17_unwrap,
        const_str_plain_unwrap,
#if PYTHON_VERSION >= 300
        const_str_digest_a73436459f6b32f97365f8ef8b125f86,
#endif
        codeobj_c716219dcc7e6f4c6e376a0375d11635,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_e069e2af92b3209a8e84d8b6828c1a2b,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_18_curve(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_18_curve,
        const_str_plain_curve,
#if PYTHON_VERSION >= 300
        const_str_digest_a1939ce066c480a313306fd5566c37ed,
#endif
        codeobj_9a85b43a7d03589d595f1ac90c0fcf8a,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_a42969f4c775197fe18bda20b53b1e39,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_19_hash_algo(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_19_hash_algo,
        const_str_plain_hash_algo,
#if PYTHON_VERSION >= 300
        const_str_digest_75a3b88728159042960f38af095a775f,
#endif
        codeobj_9915ce2c584fbe748c60183574845518,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_b02d146dce2b64dda0d6e019d791e370,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_1_from_coords(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_1_from_coords,
        const_str_plain_from_coords,
#if PYTHON_VERSION >= 300
        const_str_digest_a5eba49cce22a1dfde7fce0f9e0dc3ef,
#endif
        codeobj_878fc93c25c9d516d61471b6239f1591,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_b3de898419699138060b6e2375a66835,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_20_algorithm(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_20_algorithm,
        const_str_plain_algorithm,
#if PYTHON_VERSION >= 300
        const_str_digest_a858a9d35e67fdda8749fe5270e56bc5,
#endif
        codeobj_f591dca1116a2747e0fe8c6c5609d402,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_12897d9027e8af1ba979c97940529a74,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_21_bit_size(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_21_bit_size,
        const_str_plain_bit_size,
#if PYTHON_VERSION >= 300
        const_str_digest_d0fdf3f4a534a923717e8e77be564fb5,
#endif
        codeobj_54eeb9638ceea0f1d9017d9708e25d8f,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_6420d6fb23f852d3038c9c8bf0a475e3,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_22_byte_size(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_22_byte_size,
        const_str_plain_byte_size,
#if PYTHON_VERSION >= 300
        const_str_digest_55b0940c53121567d386959d91f654fa,
#endif
        codeobj_b85ea0285569388236e7997105fca799,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_a4b210775cb0ec61c86653c818045cf4,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_23_sha1(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_23_sha1,
        const_str_plain_sha1,
#if PYTHON_VERSION >= 300
        const_str_digest_e758bcaa7d01f8d903dbf429b3bd5074,
#endif
        codeobj_9b7ed5d16b5c925276eb54143f11b38f,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_05090b14296826682164cac34e1bf89a,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_24_sha256(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_24_sha256,
        const_str_plain_sha256,
#if PYTHON_VERSION >= 300
        const_str_digest_5dd6de991a7cb408ddd9f9d9ce3b1ef6,
#endif
        codeobj_63970a3baa99646de643cea3d35eb1c9,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_c94860950d152e31470eb175446b8ebe,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_25_fingerprint(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_25_fingerprint,
        const_str_plain_fingerprint,
#if PYTHON_VERSION >= 300
        const_str_digest_322639caefea82e2c4c0804f7d74fb76,
#endif
        codeobj_dfc351d1af6fcb8438f8fb2f621afb20,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_e30b801756ab116878eb48cb245f8041,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_2_to_coords(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_2_to_coords,
        const_str_plain_to_coords,
#if PYTHON_VERSION >= 300
        const_str_digest_a11e48a8f516309a04a701cdfec59bce,
#endif
        codeobj_1ed7c931a0207c478533824e991fb9c9,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_dbb7ed79347b88bc6b5f7dfc486fa0a5,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_3__private_key_spec(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_3__private_key_spec,
        const_str_plain__private_key_spec,
#if PYTHON_VERSION >= 300
        const_str_digest_2dfa87d77d0af11914083c5adf9cf688,
#endif
        codeobj_f94d17b0b16fbf33548cdaa0b4f52613,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_4_wrap(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_4_wrap,
        const_str_plain_wrap,
#if PYTHON_VERSION >= 300
        const_str_digest_b09140222e7283941fba649bb5da9191,
#endif
        codeobj_3ef117a3ce2dacc31a0b7d616a129ff8,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_9c6264e9ae09d68189c3bb9a161057df,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_5__compute_public_key(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_5__compute_public_key,
        const_str_plain__compute_public_key,
#if PYTHON_VERSION >= 300
        const_str_digest_690742ce2de7b4d9d68cc30128ea9f74,
#endif
        codeobj_8b123ff87487ec53decab93bda709771,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_e7b9ae645fa91ac4d8bac023175f4516,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_6_unwrap(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_6_unwrap,
        const_str_plain_unwrap,
#if PYTHON_VERSION >= 300
        const_str_digest_90e233165fd2d2c7cc3a602449f7946e,
#endif
        codeobj_ce35018a95f583c5a775782ab52b36f0,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_0f5a2f889a3516237cf98b8005c7d01c,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_7_curve(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_7_curve,
        const_str_plain_curve,
#if PYTHON_VERSION >= 300
        const_str_digest_222a297efa3c673d0a4be0ada885dcb5,
#endif
        codeobj_eb35e9abf683e22bb85afb18d16216bd,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_a42969f4c775197fe18bda20b53b1e39,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_8_hash_algo(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_8_hash_algo,
        const_str_plain_hash_algo,
#if PYTHON_VERSION >= 300
        const_str_digest_5efd896fd1a6845032e26ec1bdcd7035,
#endif
        codeobj_4aa95320459387d2e17bdfe773acced1,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_5d4ef91b439796188775585c637d54c4,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_asn1crypto$keys$$$function_9_algorithm(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_asn1crypto$keys$$$function_9_algorithm,
        const_str_plain_algorithm,
#if PYTHON_VERSION >= 300
        const_str_digest_452b46bbd38583b62740f783a72ebfb4,
#endif
        codeobj_128796d55b1a6c422907957318106159,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_asn1crypto$keys,
        const_str_digest_12897d9027e8af1ba979c97940529a74,
        0
    );

    return (PyObject *)result;
}



#if PYTHON_VERSION >= 300
static struct PyModuleDef mdef_asn1crypto$keys =
{
    PyModuleDef_HEAD_INIT,
    "asn1crypto.keys",   /* m_name */
    NULL,                /* m_doc */
    -1,                  /* m_size */
    NULL,                /* m_methods */
    NULL,                /* m_reload */
    NULL,                /* m_traverse */
    NULL,                /* m_clear */
    NULL,                /* m_free */
  };
#endif

extern PyObject *const_str_plain___package__;

#if PYTHON_VERSION >= 300
extern PyObject *const_str_dot;

extern PyObject *const_str_plain___loader__;
extern PyObject *metapath_based_loader;
#endif

#if PYTHON_VERSION >= 340
extern PyObject *const_str_plain___spec__;
extern PyObject *const_str_plain__initializing;
#endif

extern void _initCompiledCellType();
extern void _initCompiledGeneratorType();
extern void _initCompiledFunctionType();
extern void _initCompiledMethodType();
extern void _initCompiledFrameType();
#if PYTHON_VERSION >= 350
extern void _initCompiledCoroutineTypes();
#endif
#if PYTHON_VERSION >= 360
extern void _initCompiledAsyncgenTypes();
#endif

// The exported interface to CPython. On import of the module, this function
// gets called. It has to have an exact function name, in cases it's a shared
// library export. This is hidden behind the MOD_INIT_DECL.

MOD_INIT_DECL( asn1crypto$keys )
{
#if defined(_NUITKA_EXE) || PYTHON_VERSION >= 300
    static bool _init_done = false;

    // Modules might be imported repeatedly, which is to be ignored.
    if ( _init_done )
    {
        return MOD_RETURN_VALUE( module_asn1crypto$keys );
    }
    else
    {
        _init_done = true;
    }
#endif

#ifdef _NUITKA_MODULE
    // In case of a stand alone extension module, need to call initialization
    // the init here because that's the first and only time we are going to get
    // called here.

    // Initialize the constant values used.
    _initBuiltinModule();
    createGlobalConstants();

    /* Initialize the compiled types of Nuitka. */
    _initCompiledCellType();
    _initCompiledGeneratorType();
    _initCompiledFunctionType();
    _initCompiledMethodType();
    _initCompiledFrameType();
#if PYTHON_VERSION >= 350
    _initCompiledCoroutineTypes();
#endif
#if PYTHON_VERSION >= 360
    _initCompiledAsyncgenTypes();
#endif

#if PYTHON_VERSION < 300
    _initSlotCompare();
#endif
#if PYTHON_VERSION >= 270
    _initSlotIternext();
#endif

    patchBuiltinModule();
    patchTypeComparison();

    // Enable meta path based loader if not already done.
#ifdef _NUITKA_TRACE
    puts("asn1crypto.keys: Calling setupMetaPathBasedLoader().");
#endif
    setupMetaPathBasedLoader();

#if PYTHON_VERSION >= 300
    patchInspectModule();
#endif

#endif

    /* The constants only used by this module are created now. */
#ifdef _NUITKA_TRACE
    puts("asn1crypto.keys: Calling createModuleConstants().");
#endif
    createModuleConstants();

    /* The code objects used by this module are created now. */
#ifdef _NUITKA_TRACE
    puts("asn1crypto.keys: Calling createModuleCodeObjects().");
#endif
    createModuleCodeObjects();

    // puts( "in initasn1crypto$keys" );

    // Create the module object first. There are no methods initially, all are
    // added dynamically in actual code only.  Also no "__doc__" is initially
    // set at this time, as it could not contain NUL characters this way, they
    // are instead set in early module code.  No "self" for modules, we have no
    // use for it.
#if PYTHON_VERSION < 300
    module_asn1crypto$keys = Py_InitModule4(
        "asn1crypto.keys",       // Module Name
        NULL,                    // No methods initially, all are added
                                 // dynamically in actual module code only.
        NULL,                    // No "__doc__" is initially set, as it could
                                 // not contain NUL this way, added early in
                                 // actual code.
        NULL,                    // No self for modules, we don't use it.
        PYTHON_API_VERSION
    );
#else

    module_asn1crypto$keys = PyModule_Create( &mdef_asn1crypto$keys );
#endif

    moduledict_asn1crypto$keys = MODULE_DICT( module_asn1crypto$keys );

    // Update "__package__" value to what it ought to be.
    {
#if 0
        PyObject *module_name = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___name__ );

        UPDATE_STRING_DICT1(
            moduledict_asn1crypto$keys,
            (Nuitka_StringObject *)const_str_plain___package__,
            module_name
        );

#else

#if PYTHON_VERSION < 300
        PyObject *module_name = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___name__ );
        char const *module_name_cstr = PyString_AS_STRING( module_name );

        char const *last_dot = strrchr( module_name_cstr, '.' );

        if ( last_dot != NULL )
        {
            UPDATE_STRING_DICT1(
                moduledict_asn1crypto$keys,
                (Nuitka_StringObject *)const_str_plain___package__,
                PyString_FromStringAndSize( module_name_cstr, last_dot - module_name_cstr )
            );
        }
#else
        PyObject *module_name = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___name__ );
        Py_ssize_t dot_index = PyUnicode_Find( module_name, const_str_dot, 0, PyUnicode_GetLength( module_name ), -1 );

        if ( dot_index != -1 )
        {
            UPDATE_STRING_DICT1(
                moduledict_asn1crypto$keys,
                (Nuitka_StringObject *)const_str_plain___package__,
                PyUnicode_Substring( module_name, 0, dot_index )
            );
        }
#endif
#endif
    }

    CHECK_OBJECT( module_asn1crypto$keys );

// Seems to work for Python2.7 out of the box, but for Python3, the module
// doesn't automatically enter "sys.modules", so do it manually.
#if PYTHON_VERSION >= 300
    {
        int r = PyObject_SetItem( PySys_GetObject( (char *)"modules" ), const_str_digest_b76ace6e0c7782d7cadb4695052eca5a, module_asn1crypto$keys );

        assert( r != -1 );
    }
#endif

    // For deep importing of a module we need to have "__builtins__", so we set
    // it ourselves in the same way than CPython does. Note: This must be done
    // before the frame object is allocated, or else it may fail.

    if ( GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___builtins__ ) == NULL )
    {
        PyObject *value = (PyObject *)builtin_module;

        // Check if main module, not a dict then but the module itself.
#if !defined(_NUITKA_EXE) || !0
        value = PyModule_GetDict( value );
#endif

        UPDATE_STRING_DICT0( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___builtins__, value );
    }

#if PYTHON_VERSION >= 300
    UPDATE_STRING_DICT0( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___loader__, metapath_based_loader );
#endif

#if PYTHON_VERSION >= 340
#if 0
    UPDATE_STRING_DICT0( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___spec__, Py_None );
#else
    {
        PyObject *bootstrap_module = PyImport_ImportModule("importlib._bootstrap");
        CHECK_OBJECT( bootstrap_module );
        PyObject *module_spec_class = PyObject_GetAttrString( bootstrap_module, "ModuleSpec" );
        Py_DECREF( bootstrap_module );

        PyObject *args[] = {
            GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___name__ ),
            metapath_based_loader
        };

        PyObject *spec_value = CALL_FUNCTION_WITH_ARGS2(
            module_spec_class,
            args
        );

        SET_ATTRIBUTE( spec_value, const_str_plain__initializing, Py_True );

        UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___spec__, spec_value );

        Py_DECREF( module_spec_class );
    }
#endif
#endif


    // Temp variables if any
    PyObject *outline_0_var___class__ = NULL;
    PyObject *outline_1_var___class__ = NULL;
    PyObject *outline_2_var___class__ = NULL;
    PyObject *outline_3_var___class__ = NULL;
    PyObject *outline_4_var___class__ = NULL;
    PyObject *outline_5_var___class__ = NULL;
    PyObject *outline_6_var___class__ = NULL;
    PyObject *outline_7_var___class__ = NULL;
    PyObject *outline_8_var___class__ = NULL;
    PyObject *outline_9_var___class__ = NULL;
    PyObject *outline_10_var___class__ = NULL;
    PyObject *outline_11_var___class__ = NULL;
    PyObject *outline_12_var___class__ = NULL;
    PyObject *outline_13_var___class__ = NULL;
    PyObject *outline_14_var___class__ = NULL;
    PyObject *outline_15_var___class__ = NULL;
    PyObject *outline_16_var___class__ = NULL;
    PyObject *outline_17_var___class__ = NULL;
    PyObject *outline_18_var___class__ = NULL;
    PyObject *outline_19_var___class__ = NULL;
    PyObject *outline_20_var___class__ = NULL;
    PyObject *outline_21_var___class__ = NULL;
    PyObject *outline_22_var___class__ = NULL;
    PyObject *outline_23_var___class__ = NULL;
    PyObject *outline_24_var___class__ = NULL;
    PyObject *outline_25_var___class__ = NULL;
    PyObject *outline_26_var___class__ = NULL;
    PyObject *outline_27_var___class__ = NULL;
    PyObject *outline_28_var___class__ = NULL;
    PyObject *outline_29_var___class__ = NULL;
    PyObject *outline_30_var___class__ = NULL;
    PyObject *outline_31_var___class__ = NULL;
    PyObject *outline_32_var___class__ = NULL;
    PyObject *tmp_class_creation_10__bases = NULL;
    PyObject *tmp_class_creation_10__bases_orig = NULL;
    PyObject *tmp_class_creation_10__class_decl_dict = NULL;
    PyObject *tmp_class_creation_10__metaclass = NULL;
    PyObject *tmp_class_creation_10__prepared = NULL;
    PyObject *tmp_class_creation_11__bases = NULL;
    PyObject *tmp_class_creation_11__bases_orig = NULL;
    PyObject *tmp_class_creation_11__class_decl_dict = NULL;
    PyObject *tmp_class_creation_11__metaclass = NULL;
    PyObject *tmp_class_creation_11__prepared = NULL;
    PyObject *tmp_class_creation_12__bases = NULL;
    PyObject *tmp_class_creation_12__bases_orig = NULL;
    PyObject *tmp_class_creation_12__class_decl_dict = NULL;
    PyObject *tmp_class_creation_12__metaclass = NULL;
    PyObject *tmp_class_creation_12__prepared = NULL;
    PyObject *tmp_class_creation_13__bases = NULL;
    PyObject *tmp_class_creation_13__bases_orig = NULL;
    PyObject *tmp_class_creation_13__class_decl_dict = NULL;
    PyObject *tmp_class_creation_13__metaclass = NULL;
    PyObject *tmp_class_creation_13__prepared = NULL;
    PyObject *tmp_class_creation_14__bases = NULL;
    PyObject *tmp_class_creation_14__bases_orig = NULL;
    PyObject *tmp_class_creation_14__class_decl_dict = NULL;
    PyObject *tmp_class_creation_14__metaclass = NULL;
    PyObject *tmp_class_creation_14__prepared = NULL;
    PyObject *tmp_class_creation_15__bases = NULL;
    PyObject *tmp_class_creation_15__bases_orig = NULL;
    PyObject *tmp_class_creation_15__class_decl_dict = NULL;
    PyObject *tmp_class_creation_15__metaclass = NULL;
    PyObject *tmp_class_creation_15__prepared = NULL;
    PyObject *tmp_class_creation_16__bases = NULL;
    PyObject *tmp_class_creation_16__bases_orig = NULL;
    PyObject *tmp_class_creation_16__class_decl_dict = NULL;
    PyObject *tmp_class_creation_16__metaclass = NULL;
    PyObject *tmp_class_creation_16__prepared = NULL;
    PyObject *tmp_class_creation_17__bases = NULL;
    PyObject *tmp_class_creation_17__bases_orig = NULL;
    PyObject *tmp_class_creation_17__class_decl_dict = NULL;
    PyObject *tmp_class_creation_17__metaclass = NULL;
    PyObject *tmp_class_creation_17__prepared = NULL;
    PyObject *tmp_class_creation_18__bases = NULL;
    PyObject *tmp_class_creation_18__bases_orig = NULL;
    PyObject *tmp_class_creation_18__class_decl_dict = NULL;
    PyObject *tmp_class_creation_18__metaclass = NULL;
    PyObject *tmp_class_creation_18__prepared = NULL;
    PyObject *tmp_class_creation_19__bases = NULL;
    PyObject *tmp_class_creation_19__bases_orig = NULL;
    PyObject *tmp_class_creation_19__class_decl_dict = NULL;
    PyObject *tmp_class_creation_19__metaclass = NULL;
    PyObject *tmp_class_creation_19__prepared = NULL;
    PyObject *tmp_class_creation_1__bases = NULL;
    PyObject *tmp_class_creation_1__bases_orig = NULL;
    PyObject *tmp_class_creation_1__class_decl_dict = NULL;
    PyObject *tmp_class_creation_1__metaclass = NULL;
    PyObject *tmp_class_creation_1__prepared = NULL;
    PyObject *tmp_class_creation_20__bases = NULL;
    PyObject *tmp_class_creation_20__bases_orig = NULL;
    PyObject *tmp_class_creation_20__class_decl_dict = NULL;
    PyObject *tmp_class_creation_20__metaclass = NULL;
    PyObject *tmp_class_creation_20__prepared = NULL;
    PyObject *tmp_class_creation_21__bases = NULL;
    PyObject *tmp_class_creation_21__bases_orig = NULL;
    PyObject *tmp_class_creation_21__class_decl_dict = NULL;
    PyObject *tmp_class_creation_21__metaclass = NULL;
    PyObject *tmp_class_creation_21__prepared = NULL;
    PyObject *tmp_class_creation_22__bases = NULL;
    PyObject *tmp_class_creation_22__bases_orig = NULL;
    PyObject *tmp_class_creation_22__class_decl_dict = NULL;
    PyObject *tmp_class_creation_22__metaclass = NULL;
    PyObject *tmp_class_creation_22__prepared = NULL;
    PyObject *tmp_class_creation_23__bases = NULL;
    PyObject *tmp_class_creation_23__bases_orig = NULL;
    PyObject *tmp_class_creation_23__class_decl_dict = NULL;
    PyObject *tmp_class_creation_23__metaclass = NULL;
    PyObject *tmp_class_creation_23__prepared = NULL;
    PyObject *tmp_class_creation_24__bases = NULL;
    PyObject *tmp_class_creation_24__bases_orig = NULL;
    PyObject *tmp_class_creation_24__class_decl_dict = NULL;
    PyObject *tmp_class_creation_24__metaclass = NULL;
    PyObject *tmp_class_creation_24__prepared = NULL;
    PyObject *tmp_class_creation_25__bases = NULL;
    PyObject *tmp_class_creation_25__bases_orig = NULL;
    PyObject *tmp_class_creation_25__class_decl_dict = NULL;
    PyObject *tmp_class_creation_25__metaclass = NULL;
    PyObject *tmp_class_creation_25__prepared = NULL;
    PyObject *tmp_class_creation_26__bases = NULL;
    PyObject *tmp_class_creation_26__bases_orig = NULL;
    PyObject *tmp_class_creation_26__class_decl_dict = NULL;
    PyObject *tmp_class_creation_26__metaclass = NULL;
    PyObject *tmp_class_creation_26__prepared = NULL;
    PyObject *tmp_class_creation_27__bases = NULL;
    PyObject *tmp_class_creation_27__bases_orig = NULL;
    PyObject *tmp_class_creation_27__class_decl_dict = NULL;
    PyObject *tmp_class_creation_27__metaclass = NULL;
    PyObject *tmp_class_creation_27__prepared = NULL;
    PyObject *tmp_class_creation_28__bases = NULL;
    PyObject *tmp_class_creation_28__bases_orig = NULL;
    PyObject *tmp_class_creation_28__class_decl_dict = NULL;
    PyObject *tmp_class_creation_28__metaclass = NULL;
    PyObject *tmp_class_creation_28__prepared = NULL;
    PyObject *tmp_class_creation_29__bases = NULL;
    PyObject *tmp_class_creation_29__bases_orig = NULL;
    PyObject *tmp_class_creation_29__class_decl_dict = NULL;
    PyObject *tmp_class_creation_29__metaclass = NULL;
    PyObject *tmp_class_creation_29__prepared = NULL;
    PyObject *tmp_class_creation_2__bases = NULL;
    PyObject *tmp_class_creation_2__bases_orig = NULL;
    PyObject *tmp_class_creation_2__class_decl_dict = NULL;
    PyObject *tmp_class_creation_2__metaclass = NULL;
    PyObject *tmp_class_creation_2__prepared = NULL;
    PyObject *tmp_class_creation_30__bases = NULL;
    PyObject *tmp_class_creation_30__bases_orig = NULL;
    PyObject *tmp_class_creation_30__class_decl_dict = NULL;
    PyObject *tmp_class_creation_30__metaclass = NULL;
    PyObject *tmp_class_creation_30__prepared = NULL;
    PyObject *tmp_class_creation_31__bases = NULL;
    PyObject *tmp_class_creation_31__bases_orig = NULL;
    PyObject *tmp_class_creation_31__class_decl_dict = NULL;
    PyObject *tmp_class_creation_31__metaclass = NULL;
    PyObject *tmp_class_creation_31__prepared = NULL;
    PyObject *tmp_class_creation_32__bases = NULL;
    PyObject *tmp_class_creation_32__bases_orig = NULL;
    PyObject *tmp_class_creation_32__class_decl_dict = NULL;
    PyObject *tmp_class_creation_32__metaclass = NULL;
    PyObject *tmp_class_creation_32__prepared = NULL;
    PyObject *tmp_class_creation_33__bases = NULL;
    PyObject *tmp_class_creation_33__bases_orig = NULL;
    PyObject *tmp_class_creation_33__class_decl_dict = NULL;
    PyObject *tmp_class_creation_33__metaclass = NULL;
    PyObject *tmp_class_creation_33__prepared = NULL;
    PyObject *tmp_class_creation_3__bases = NULL;
    PyObject *tmp_class_creation_3__bases_orig = NULL;
    PyObject *tmp_class_creation_3__class_decl_dict = NULL;
    PyObject *tmp_class_creation_3__metaclass = NULL;
    PyObject *tmp_class_creation_3__prepared = NULL;
    PyObject *tmp_class_creation_4__bases = NULL;
    PyObject *tmp_class_creation_4__bases_orig = NULL;
    PyObject *tmp_class_creation_4__class_decl_dict = NULL;
    PyObject *tmp_class_creation_4__metaclass = NULL;
    PyObject *tmp_class_creation_4__prepared = NULL;
    PyObject *tmp_class_creation_5__bases = NULL;
    PyObject *tmp_class_creation_5__bases_orig = NULL;
    PyObject *tmp_class_creation_5__class_decl_dict = NULL;
    PyObject *tmp_class_creation_5__metaclass = NULL;
    PyObject *tmp_class_creation_5__prepared = NULL;
    PyObject *tmp_class_creation_6__bases = NULL;
    PyObject *tmp_class_creation_6__bases_orig = NULL;
    PyObject *tmp_class_creation_6__class_decl_dict = NULL;
    PyObject *tmp_class_creation_6__metaclass = NULL;
    PyObject *tmp_class_creation_6__prepared = NULL;
    PyObject *tmp_class_creation_7__class_decl_dict = NULL;
    PyObject *tmp_class_creation_7__metaclass = NULL;
    PyObject *tmp_class_creation_7__prepared = NULL;
    PyObject *tmp_class_creation_8__bases = NULL;
    PyObject *tmp_class_creation_8__bases_orig = NULL;
    PyObject *tmp_class_creation_8__class_decl_dict = NULL;
    PyObject *tmp_class_creation_8__metaclass = NULL;
    PyObject *tmp_class_creation_8__prepared = NULL;
    PyObject *tmp_class_creation_9__bases = NULL;
    PyObject *tmp_class_creation_9__bases_orig = NULL;
    PyObject *tmp_class_creation_9__class_decl_dict = NULL;
    PyObject *tmp_class_creation_9__metaclass = NULL;
    PyObject *tmp_class_creation_9__prepared = NULL;
    PyObject *tmp_import_from_1__module = NULL;
    PyObject *tmp_import_from_2__module = NULL;
    PyObject *tmp_import_from_3__module = NULL;
    PyObject *tmp_import_from_4__module = NULL;
    PyObject *tmp_import_from_5__module = NULL;
    PyObject *tmp_import_from_6__module = NULL;
    struct Nuitka_FrameObject *frame_cf5bf2f534c650a2176269f5b3860511;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;
    PyObject *exception_keeper_type_3;
    PyObject *exception_keeper_value_3;
    PyTracebackObject *exception_keeper_tb_3;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
    PyObject *exception_keeper_type_4;
    PyObject *exception_keeper_value_4;
    PyTracebackObject *exception_keeper_tb_4;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_4;
    PyObject *exception_keeper_type_5;
    PyObject *exception_keeper_value_5;
    PyTracebackObject *exception_keeper_tb_5;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_5;
    PyObject *exception_keeper_type_6;
    PyObject *exception_keeper_value_6;
    PyTracebackObject *exception_keeper_tb_6;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_6;
    int tmp_res;
    PyObject *tmp_dictdel_dict;
    PyObject *tmp_dictdel_key;
    bool tmp_result;
    PyObject *locals_asn1crypto$keys_54 = NULL;
    PyObject *tmp_dictset_value;
    struct Nuitka_FrameObject *frame_e867e089942b88a6791a96719c030556_2;
    NUITKA_MAY_BE_UNUSED char const *type_description_2 = NULL;
    static struct Nuitka_FrameObject *cache_frame_e867e089942b88a6791a96719c030556_2 = NULL;
    PyObject *exception_keeper_type_7;
    PyObject *exception_keeper_value_7;
    PyTracebackObject *exception_keeper_tb_7;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_7;
    PyObject *exception_keeper_type_8;
    PyObject *exception_keeper_value_8;
    PyTracebackObject *exception_keeper_tb_8;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_8;
    PyObject *exception_keeper_type_9;
    PyObject *exception_keeper_value_9;
    PyTracebackObject *exception_keeper_tb_9;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_9;
    PyObject *locals_asn1crypto$keys_66 = NULL;
    struct Nuitka_FrameObject *frame_7e91bd986ac2503eae60e6459f1c6923_3;
    NUITKA_MAY_BE_UNUSED char const *type_description_3 = NULL;
    static struct Nuitka_FrameObject *cache_frame_7e91bd986ac2503eae60e6459f1c6923_3 = NULL;
    PyObject *exception_keeper_type_10;
    PyObject *exception_keeper_value_10;
    PyTracebackObject *exception_keeper_tb_10;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_10;
    PyObject *exception_keeper_type_11;
    PyObject *exception_keeper_value_11;
    PyTracebackObject *exception_keeper_tb_11;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_11;
    PyObject *exception_keeper_type_12;
    PyObject *exception_keeper_value_12;
    PyTracebackObject *exception_keeper_tb_12;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_12;
    PyObject *locals_asn1crypto$keys_74 = NULL;
    struct Nuitka_FrameObject *frame_f6c7516523489b525b47f38caeee5a81_4;
    NUITKA_MAY_BE_UNUSED char const *type_description_4 = NULL;
    static struct Nuitka_FrameObject *cache_frame_f6c7516523489b525b47f38caeee5a81_4 = NULL;
    PyObject *exception_keeper_type_13;
    PyObject *exception_keeper_value_13;
    PyTracebackObject *exception_keeper_tb_13;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_13;
    PyObject *exception_keeper_type_14;
    PyObject *exception_keeper_value_14;
    PyTracebackObject *exception_keeper_tb_14;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_14;
    PyObject *exception_keeper_type_15;
    PyObject *exception_keeper_value_15;
    PyTracebackObject *exception_keeper_tb_15;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_15;
    PyObject *locals_asn1crypto$keys_86 = NULL;
    struct Nuitka_FrameObject *frame_67895bdc1f5f0572193aced6a6c70bee_5;
    NUITKA_MAY_BE_UNUSED char const *type_description_5 = NULL;
    static struct Nuitka_FrameObject *cache_frame_67895bdc1f5f0572193aced6a6c70bee_5 = NULL;
    PyObject *exception_keeper_type_16;
    PyObject *exception_keeper_value_16;
    PyTracebackObject *exception_keeper_tb_16;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_16;
    PyObject *exception_keeper_type_17;
    PyObject *exception_keeper_value_17;
    PyTracebackObject *exception_keeper_tb_17;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_17;
    PyObject *exception_keeper_type_18;
    PyObject *exception_keeper_value_18;
    PyTracebackObject *exception_keeper_tb_18;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_18;
    PyObject *locals_asn1crypto$keys_105 = NULL;
    struct Nuitka_FrameObject *frame_5d552787634774d4ed8dfe16ef2489f5_6;
    NUITKA_MAY_BE_UNUSED char const *type_description_6 = NULL;
    static struct Nuitka_FrameObject *cache_frame_5d552787634774d4ed8dfe16ef2489f5_6 = NULL;
    PyObject *exception_keeper_type_19;
    PyObject *exception_keeper_value_19;
    PyTracebackObject *exception_keeper_tb_19;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_19;
    PyObject *exception_keeper_type_20;
    PyObject *exception_keeper_value_20;
    PyTracebackObject *exception_keeper_tb_20;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_20;
    PyObject *exception_keeper_type_21;
    PyObject *exception_keeper_value_21;
    PyTracebackObject *exception_keeper_tb_21;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_21;
    PyObject *locals_asn1crypto$keys_116 = NULL;
    struct Nuitka_FrameObject *frame_dab9574ff061a993ee95206778c30aac_7;
    NUITKA_MAY_BE_UNUSED char const *type_description_7 = NULL;
    static struct Nuitka_FrameObject *cache_frame_dab9574ff061a993ee95206778c30aac_7 = NULL;
    PyObject *exception_keeper_type_22;
    PyObject *exception_keeper_value_22;
    PyTracebackObject *exception_keeper_tb_22;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_22;
    PyObject *exception_keeper_type_23;
    PyObject *exception_keeper_value_23;
    PyTracebackObject *exception_keeper_tb_23;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_23;
    PyObject *exception_keeper_type_24;
    PyObject *exception_keeper_value_24;
    PyTracebackObject *exception_keeper_tb_24;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_24;
    PyObject *locals_asn1crypto$keys_136 = NULL;
    struct Nuitka_FrameObject *frame_398c8b28f70d79b8d6c2cfd2bda29956_8;
    NUITKA_MAY_BE_UNUSED char const *type_description_8 = NULL;
    static struct Nuitka_FrameObject *cache_frame_398c8b28f70d79b8d6c2cfd2bda29956_8 = NULL;
    PyObject *exception_keeper_type_25;
    PyObject *exception_keeper_value_25;
    PyTracebackObject *exception_keeper_tb_25;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_25;
    PyObject *exception_keeper_type_26;
    PyObject *exception_keeper_value_26;
    PyTracebackObject *exception_keeper_tb_26;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_26;
    PyObject *exception_keeper_type_27;
    PyObject *exception_keeper_value_27;
    PyTracebackObject *exception_keeper_tb_27;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_27;
    PyObject *locals_asn1crypto$keys_206 = NULL;
    PyObject *exception_keeper_type_28;
    PyObject *exception_keeper_value_28;
    PyTracebackObject *exception_keeper_tb_28;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_28;
    PyObject *exception_keeper_type_29;
    PyObject *exception_keeper_value_29;
    PyTracebackObject *exception_keeper_tb_29;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_29;
    PyObject *exception_keeper_type_30;
    PyObject *exception_keeper_value_30;
    PyTracebackObject *exception_keeper_tb_30;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_30;
    PyObject *locals_asn1crypto$keys_211 = NULL;
    PyObject *exception_keeper_type_31;
    PyObject *exception_keeper_value_31;
    PyTracebackObject *exception_keeper_tb_31;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_31;
    PyObject *exception_keeper_type_32;
    PyObject *exception_keeper_value_32;
    PyTracebackObject *exception_keeper_tb_32;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_32;
    PyObject *exception_keeper_type_33;
    PyObject *exception_keeper_value_33;
    PyTracebackObject *exception_keeper_tb_33;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_33;
    PyObject *locals_asn1crypto$keys_216 = NULL;
    struct Nuitka_FrameObject *frame_013a67a026589514b2d1728ec2c317e3_9;
    NUITKA_MAY_BE_UNUSED char const *type_description_9 = NULL;
    static struct Nuitka_FrameObject *cache_frame_013a67a026589514b2d1728ec2c317e3_9 = NULL;
    PyObject *exception_keeper_type_34;
    PyObject *exception_keeper_value_34;
    PyTracebackObject *exception_keeper_tb_34;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_34;
    PyObject *exception_keeper_type_35;
    PyObject *exception_keeper_value_35;
    PyTracebackObject *exception_keeper_tb_35;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_35;
    PyObject *exception_keeper_type_36;
    PyObject *exception_keeper_value_36;
    PyTracebackObject *exception_keeper_tb_36;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_36;
    PyObject *locals_asn1crypto$keys_227 = NULL;
    struct Nuitka_FrameObject *frame_fde49e0ed0f66a886469861ac70d5128_10;
    NUITKA_MAY_BE_UNUSED char const *type_description_10 = NULL;
    static struct Nuitka_FrameObject *cache_frame_fde49e0ed0f66a886469861ac70d5128_10 = NULL;
    PyObject *exception_keeper_type_37;
    PyObject *exception_keeper_value_37;
    PyTracebackObject *exception_keeper_tb_37;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_37;
    PyObject *exception_keeper_type_38;
    PyObject *exception_keeper_value_38;
    PyTracebackObject *exception_keeper_tb_38;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_38;
    PyObject *exception_keeper_type_39;
    PyObject *exception_keeper_value_39;
    PyTracebackObject *exception_keeper_tb_39;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_39;
    PyObject *locals_asn1crypto$keys_239 = NULL;
    struct Nuitka_FrameObject *frame_da33c70c0ccab83814db26067f8bf129_11;
    NUITKA_MAY_BE_UNUSED char const *type_description_11 = NULL;
    static struct Nuitka_FrameObject *cache_frame_da33c70c0ccab83814db26067f8bf129_11 = NULL;
    PyObject *exception_keeper_type_40;
    PyObject *exception_keeper_value_40;
    PyTracebackObject *exception_keeper_tb_40;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_40;
    PyObject *exception_keeper_type_41;
    PyObject *exception_keeper_value_41;
    PyTracebackObject *exception_keeper_tb_41;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_41;
    PyObject *exception_keeper_type_42;
    PyObject *exception_keeper_value_42;
    PyTracebackObject *exception_keeper_tb_42;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_42;
    PyObject *locals_asn1crypto$keys_252 = NULL;
    struct Nuitka_FrameObject *frame_59e10c086874815c1d98d6ef5bfc133b_12;
    NUITKA_MAY_BE_UNUSED char const *type_description_12 = NULL;
    static struct Nuitka_FrameObject *cache_frame_59e10c086874815c1d98d6ef5bfc133b_12 = NULL;
    PyObject *exception_keeper_type_43;
    PyObject *exception_keeper_value_43;
    PyTracebackObject *exception_keeper_tb_43;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_43;
    PyObject *exception_keeper_type_44;
    PyObject *exception_keeper_value_44;
    PyTracebackObject *exception_keeper_tb_44;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_44;
    PyObject *exception_keeper_type_45;
    PyObject *exception_keeper_value_45;
    PyTracebackObject *exception_keeper_tb_45;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_45;
    PyObject *locals_asn1crypto$keys_264 = NULL;
    struct Nuitka_FrameObject *frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13;
    NUITKA_MAY_BE_UNUSED char const *type_description_13 = NULL;
    static struct Nuitka_FrameObject *cache_frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 = NULL;
    PyObject *exception_keeper_type_46;
    PyObject *exception_keeper_value_46;
    PyTracebackObject *exception_keeper_tb_46;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_46;
    PyObject *exception_keeper_type_47;
    PyObject *exception_keeper_value_47;
    PyTracebackObject *exception_keeper_tb_47;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_47;
    PyObject *exception_keeper_type_48;
    PyObject *exception_keeper_value_48;
    PyTracebackObject *exception_keeper_tb_48;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_48;
    PyObject *locals_asn1crypto$keys_284 = NULL;
    struct Nuitka_FrameObject *frame_da2e20796a35fbacfc405bbccd114f27_14;
    NUITKA_MAY_BE_UNUSED char const *type_description_14 = NULL;
    static struct Nuitka_FrameObject *cache_frame_da2e20796a35fbacfc405bbccd114f27_14 = NULL;
    PyObject *exception_keeper_type_49;
    PyObject *exception_keeper_value_49;
    PyTracebackObject *exception_keeper_tb_49;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_49;
    PyObject *exception_keeper_type_50;
    PyObject *exception_keeper_value_50;
    PyTracebackObject *exception_keeper_tb_50;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_50;
    PyObject *exception_keeper_type_51;
    PyObject *exception_keeper_value_51;
    PyTracebackObject *exception_keeper_tb_51;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_51;
    PyObject *locals_asn1crypto$keys_301 = NULL;
    struct Nuitka_FrameObject *frame_9c6b8a1b5b525220b295a0af710ed0be_15;
    NUITKA_MAY_BE_UNUSED char const *type_description_15 = NULL;
    static struct Nuitka_FrameObject *cache_frame_9c6b8a1b5b525220b295a0af710ed0be_15 = NULL;
    PyObject *exception_keeper_type_52;
    PyObject *exception_keeper_value_52;
    PyTracebackObject *exception_keeper_tb_52;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_52;
    PyObject *exception_keeper_type_53;
    PyObject *exception_keeper_value_53;
    PyTracebackObject *exception_keeper_tb_53;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_53;
    PyObject *exception_keeper_type_54;
    PyObject *exception_keeper_value_54;
    PyTracebackObject *exception_keeper_tb_54;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_54;
    PyObject *locals_asn1crypto$keys_313 = NULL;
    struct Nuitka_FrameObject *frame_2579abb66f64b36c9c64dd327feb4834_16;
    NUITKA_MAY_BE_UNUSED char const *type_description_16 = NULL;
    static struct Nuitka_FrameObject *cache_frame_2579abb66f64b36c9c64dd327feb4834_16 = NULL;
    PyObject *exception_keeper_type_55;
    PyObject *exception_keeper_value_55;
    PyTracebackObject *exception_keeper_tb_55;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_55;
    PyObject *exception_keeper_type_56;
    PyObject *exception_keeper_value_56;
    PyTracebackObject *exception_keeper_tb_56;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_56;
    PyObject *exception_keeper_type_57;
    PyObject *exception_keeper_value_57;
    PyTracebackObject *exception_keeper_tb_57;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_57;
    PyObject *locals_asn1crypto$keys_329 = NULL;
    struct Nuitka_FrameObject *frame_b59376757203eda2910bcf10fc6e7826_17;
    NUITKA_MAY_BE_UNUSED char const *type_description_17 = NULL;
    static struct Nuitka_FrameObject *cache_frame_b59376757203eda2910bcf10fc6e7826_17 = NULL;
    PyObject *exception_keeper_type_58;
    PyObject *exception_keeper_value_58;
    PyTracebackObject *exception_keeper_tb_58;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_58;
    PyObject *exception_keeper_type_59;
    PyObject *exception_keeper_value_59;
    PyTracebackObject *exception_keeper_tb_59;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_59;
    PyObject *exception_keeper_type_60;
    PyObject *exception_keeper_value_60;
    PyTracebackObject *exception_keeper_tb_60;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_60;
    PyObject *locals_asn1crypto$keys_384 = NULL;
    struct Nuitka_FrameObject *frame_65d16e056741f7f573908c8fd9ce77eb_18;
    NUITKA_MAY_BE_UNUSED char const *type_description_18 = NULL;
    static struct Nuitka_FrameObject *cache_frame_65d16e056741f7f573908c8fd9ce77eb_18 = NULL;
    PyObject *exception_keeper_type_61;
    PyObject *exception_keeper_value_61;
    PyTracebackObject *exception_keeper_tb_61;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_61;
    PyObject *exception_keeper_type_62;
    PyObject *exception_keeper_value_62;
    PyTracebackObject *exception_keeper_tb_62;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_62;
    PyObject *exception_keeper_type_63;
    PyObject *exception_keeper_value_63;
    PyTracebackObject *exception_keeper_tb_63;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_63;
    PyObject *locals_asn1crypto$keys_396 = NULL;
    struct Nuitka_FrameObject *frame_522ae78f39acaf1efdba4ff31c3f161f_19;
    NUITKA_MAY_BE_UNUSED char const *type_description_19 = NULL;
    static struct Nuitka_FrameObject *cache_frame_522ae78f39acaf1efdba4ff31c3f161f_19 = NULL;
    PyObject *exception_keeper_type_64;
    PyObject *exception_keeper_value_64;
    PyTracebackObject *exception_keeper_tb_64;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_64;
    PyObject *exception_keeper_type_65;
    PyObject *exception_keeper_value_65;
    PyTracebackObject *exception_keeper_tb_65;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_65;
    PyObject *exception_keeper_type_66;
    PyObject *exception_keeper_value_66;
    PyTracebackObject *exception_keeper_tb_66;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_66;
    PyObject *locals_asn1crypto$keys_407 = NULL;
    struct Nuitka_FrameObject *frame_19de530795d0c7cdddac2a941436faa3_20;
    NUITKA_MAY_BE_UNUSED char const *type_description_20 = NULL;
    static struct Nuitka_FrameObject *cache_frame_19de530795d0c7cdddac2a941436faa3_20 = NULL;
    PyObject *exception_keeper_type_67;
    PyObject *exception_keeper_value_67;
    PyTracebackObject *exception_keeper_tb_67;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_67;
    PyObject *exception_keeper_type_68;
    PyObject *exception_keeper_value_68;
    PyTracebackObject *exception_keeper_tb_68;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_68;
    PyObject *exception_keeper_type_69;
    PyObject *exception_keeper_value_69;
    PyTracebackObject *exception_keeper_tb_69;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_69;
    PyObject *locals_asn1crypto$keys_420 = NULL;
    struct Nuitka_FrameObject *frame_35533ecef68d7d5a23ebdd360e308ddc_21;
    NUITKA_MAY_BE_UNUSED char const *type_description_21 = NULL;
    static struct Nuitka_FrameObject *cache_frame_35533ecef68d7d5a23ebdd360e308ddc_21 = NULL;
    PyObject *exception_keeper_type_70;
    PyObject *exception_keeper_value_70;
    PyTracebackObject *exception_keeper_tb_70;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_70;
    PyObject *exception_keeper_type_71;
    PyObject *exception_keeper_value_71;
    PyTracebackObject *exception_keeper_tb_71;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_71;
    PyObject *exception_keeper_type_72;
    PyObject *exception_keeper_value_72;
    PyTracebackObject *exception_keeper_tb_72;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_72;
    PyObject *locals_asn1crypto$keys_435 = NULL;
    struct Nuitka_FrameObject *frame_3255315aa1216e9ee821a1f6cdfd5f49_22;
    NUITKA_MAY_BE_UNUSED char const *type_description_22 = NULL;
    static struct Nuitka_FrameObject *cache_frame_3255315aa1216e9ee821a1f6cdfd5f49_22 = NULL;
    PyObject *exception_keeper_type_73;
    PyObject *exception_keeper_value_73;
    PyTracebackObject *exception_keeper_tb_73;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_73;
    PyObject *exception_keeper_type_74;
    PyObject *exception_keeper_value_74;
    PyTracebackObject *exception_keeper_tb_74;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_74;
    PyObject *exception_keeper_type_75;
    PyObject *exception_keeper_value_75;
    PyTracebackObject *exception_keeper_tb_75;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_75;
    PyObject *locals_asn1crypto$keys_446 = NULL;
    struct Nuitka_FrameObject *frame_bd016beb59a2fc17c0e073d38fa6518e_23;
    NUITKA_MAY_BE_UNUSED char const *type_description_23 = NULL;
    static struct Nuitka_FrameObject *cache_frame_bd016beb59a2fc17c0e073d38fa6518e_23 = NULL;
    PyObject *exception_keeper_type_76;
    PyObject *exception_keeper_value_76;
    PyTracebackObject *exception_keeper_tb_76;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_76;
    PyObject *exception_keeper_type_77;
    PyObject *exception_keeper_value_77;
    PyTracebackObject *exception_keeper_tb_77;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_77;
    PyObject *exception_keeper_type_78;
    PyObject *exception_keeper_value_78;
    PyTracebackObject *exception_keeper_tb_78;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_78;
    PyObject *locals_asn1crypto$keys_454 = NULL;
    struct Nuitka_FrameObject *frame_d9f931ba84bc97837e4f2d8933b0221d_24;
    NUITKA_MAY_BE_UNUSED char const *type_description_24 = NULL;
    static struct Nuitka_FrameObject *cache_frame_d9f931ba84bc97837e4f2d8933b0221d_24 = NULL;
    PyObject *exception_keeper_type_79;
    PyObject *exception_keeper_value_79;
    PyTracebackObject *exception_keeper_tb_79;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_79;
    PyObject *exception_keeper_type_80;
    PyObject *exception_keeper_value_80;
    PyTracebackObject *exception_keeper_tb_80;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_80;
    PyObject *exception_keeper_type_81;
    PyObject *exception_keeper_value_81;
    PyTracebackObject *exception_keeper_tb_81;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_81;
    PyObject *locals_asn1crypto$keys_473 = NULL;
    struct Nuitka_FrameObject *frame_a6738716f277793498fb1a6edeb14a74_25;
    NUITKA_MAY_BE_UNUSED char const *type_description_25 = NULL;
    static struct Nuitka_FrameObject *cache_frame_a6738716f277793498fb1a6edeb14a74_25 = NULL;
    PyObject *exception_keeper_type_82;
    PyObject *exception_keeper_value_82;
    PyTracebackObject *exception_keeper_tb_82;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_82;
    PyObject *exception_keeper_type_83;
    PyObject *exception_keeper_value_83;
    PyTracebackObject *exception_keeper_tb_83;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_83;
    PyObject *exception_keeper_type_84;
    PyObject *exception_keeper_value_84;
    PyTracebackObject *exception_keeper_tb_84;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_84;
    PyObject *locals_asn1crypto$keys_491 = NULL;
    struct Nuitka_FrameObject *frame_f440fc6d1f94dddf9550081ffcfd724c_26;
    NUITKA_MAY_BE_UNUSED char const *type_description_26 = NULL;
    static struct Nuitka_FrameObject *cache_frame_f440fc6d1f94dddf9550081ffcfd724c_26 = NULL;
    PyObject *exception_keeper_type_85;
    PyObject *exception_keeper_value_85;
    PyTracebackObject *exception_keeper_tb_85;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_85;
    PyObject *exception_keeper_type_86;
    PyObject *exception_keeper_value_86;
    PyTracebackObject *exception_keeper_tb_86;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_86;
    PyObject *exception_keeper_type_87;
    PyObject *exception_keeper_value_87;
    PyTracebackObject *exception_keeper_tb_87;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_87;
    PyObject *locals_asn1crypto$keys_886 = NULL;
    struct Nuitka_FrameObject *frame_d50510642a34d2a2ba25fde794bfff40_27;
    NUITKA_MAY_BE_UNUSED char const *type_description_27 = NULL;
    static struct Nuitka_FrameObject *cache_frame_d50510642a34d2a2ba25fde794bfff40_27 = NULL;
    PyObject *exception_keeper_type_88;
    PyObject *exception_keeper_value_88;
    PyTracebackObject *exception_keeper_tb_88;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_88;
    PyObject *exception_keeper_type_89;
    PyObject *exception_keeper_value_89;
    PyTracebackObject *exception_keeper_tb_89;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_89;
    PyObject *exception_keeper_type_90;
    PyObject *exception_keeper_value_90;
    PyTracebackObject *exception_keeper_tb_90;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_90;
    PyObject *locals_asn1crypto$keys_899 = NULL;
    struct Nuitka_FrameObject *frame_05ecca324a47f085a042d0b5e290c994_28;
    NUITKA_MAY_BE_UNUSED char const *type_description_28 = NULL;
    static struct Nuitka_FrameObject *cache_frame_05ecca324a47f085a042d0b5e290c994_28 = NULL;
    PyObject *exception_keeper_type_91;
    PyObject *exception_keeper_value_91;
    PyTracebackObject *exception_keeper_tb_91;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_91;
    PyObject *exception_keeper_type_92;
    PyObject *exception_keeper_value_92;
    PyTracebackObject *exception_keeper_tb_92;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_92;
    PyObject *exception_keeper_type_93;
    PyObject *exception_keeper_value_93;
    PyTracebackObject *exception_keeper_tb_93;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_93;
    PyObject *locals_asn1crypto$keys_910 = NULL;
    struct Nuitka_FrameObject *frame_15d7cb43c14c279363c99db0057de4d2_29;
    NUITKA_MAY_BE_UNUSED char const *type_description_29 = NULL;
    static struct Nuitka_FrameObject *cache_frame_15d7cb43c14c279363c99db0057de4d2_29 = NULL;
    PyObject *exception_keeper_type_94;
    PyObject *exception_keeper_value_94;
    PyTracebackObject *exception_keeper_tb_94;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_94;
    PyObject *exception_keeper_type_95;
    PyObject *exception_keeper_value_95;
    PyTracebackObject *exception_keeper_tb_95;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_95;
    PyObject *exception_keeper_type_96;
    PyObject *exception_keeper_value_96;
    PyTracebackObject *exception_keeper_tb_96;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_96;
    PyObject *locals_asn1crypto$keys_924 = NULL;
    struct Nuitka_FrameObject *frame_4194eb0757b9bff460b1bd05ed44cd67_30;
    NUITKA_MAY_BE_UNUSED char const *type_description_30 = NULL;
    static struct Nuitka_FrameObject *cache_frame_4194eb0757b9bff460b1bd05ed44cd67_30 = NULL;
    PyObject *exception_keeper_type_97;
    PyObject *exception_keeper_value_97;
    PyTracebackObject *exception_keeper_tb_97;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_97;
    PyObject *exception_keeper_type_98;
    PyObject *exception_keeper_value_98;
    PyTracebackObject *exception_keeper_tb_98;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_98;
    PyObject *exception_keeper_type_99;
    PyObject *exception_keeper_value_99;
    PyTracebackObject *exception_keeper_tb_99;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_99;
    PyObject *locals_asn1crypto$keys_944 = NULL;
    struct Nuitka_FrameObject *frame_35a9bb2556c9cfd4384040c9780cb3db_31;
    NUITKA_MAY_BE_UNUSED char const *type_description_31 = NULL;
    static struct Nuitka_FrameObject *cache_frame_35a9bb2556c9cfd4384040c9780cb3db_31 = NULL;
    PyObject *exception_keeper_type_100;
    PyObject *exception_keeper_value_100;
    PyTracebackObject *exception_keeper_tb_100;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_100;
    PyObject *exception_keeper_type_101;
    PyObject *exception_keeper_value_101;
    PyTracebackObject *exception_keeper_tb_101;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_101;
    PyObject *exception_keeper_type_102;
    PyObject *exception_keeper_value_102;
    PyTracebackObject *exception_keeper_tb_102;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_102;
    PyObject *locals_asn1crypto$keys_964 = NULL;
    struct Nuitka_FrameObject *frame_ecc1927e64c5ceca026400bb56facb78_32;
    NUITKA_MAY_BE_UNUSED char const *type_description_32 = NULL;
    static struct Nuitka_FrameObject *cache_frame_ecc1927e64c5ceca026400bb56facb78_32 = NULL;
    PyObject *exception_keeper_type_103;
    PyObject *exception_keeper_value_103;
    PyTracebackObject *exception_keeper_tb_103;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_103;
    PyObject *exception_keeper_type_104;
    PyObject *exception_keeper_value_104;
    PyTracebackObject *exception_keeper_tb_104;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_104;
    PyObject *exception_keeper_type_105;
    PyObject *exception_keeper_value_105;
    PyTracebackObject *exception_keeper_tb_105;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_105;

    // Module code.
    {
    PyObject *tmp_assign_source_1;
    tmp_assign_source_1 = const_str_digest_5f3c7c5396fc01aa49bf630b30d53ef7;
    UPDATE_STRING_DICT0( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___doc__, tmp_assign_source_1 );
    }
    {
    PyObject *tmp_assign_source_2;
    tmp_assign_source_2 = const_str_digest_14d1e295162c0919a8989cad84e4f4b8;
    UPDATE_STRING_DICT0( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___file__, tmp_assign_source_2 );
    }
    {
    PyObject *tmp_assign_source_3;
    tmp_assign_source_3 = Py_None;
    UPDATE_STRING_DICT0( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain___cached__, tmp_assign_source_3 );
    }
    {
    PyObject *tmp_assign_source_4;
    tmp_assign_source_4 = PyImport_ImportModule("__future__");
    assert( !(tmp_assign_source_4 == NULL) );
    assert( tmp_import_from_1__module == NULL );
    Py_INCREF( tmp_assign_source_4 );
    tmp_import_from_1__module = tmp_assign_source_4;

    }
    // Frame without reuse.
    frame_cf5bf2f534c650a2176269f5b3860511 = MAKE_MODULE_FRAME( codeobj_cf5bf2f534c650a2176269f5b3860511, module_asn1crypto$keys );

    // Push the new frame as the currently active one, and we should be exclusively
    // owning it.
    pushFrameStack( frame_cf5bf2f534c650a2176269f5b3860511 );
    assert( Py_REFCNT( frame_cf5bf2f534c650a2176269f5b3860511 ) == 2 );

    // Framed code:
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_import_name_from_1;
    CHECK_OBJECT( tmp_import_from_1__module );
    tmp_import_name_from_1 = tmp_import_from_1__module;
    tmp_assign_source_5 = IMPORT_NAME( tmp_import_name_from_1, const_str_plain_unicode_literals );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 17;

        goto try_except_handler_1;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unicode_literals, tmp_assign_source_5 );
    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_import_name_from_2;
    CHECK_OBJECT( tmp_import_from_1__module );
    tmp_import_name_from_2 = tmp_import_from_1__module;
    tmp_assign_source_6 = IMPORT_NAME( tmp_import_name_from_2, const_str_plain_division );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 17;

        goto try_except_handler_1;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_division, tmp_assign_source_6 );
    }
    {
    PyObject *tmp_assign_source_7;
    PyObject *tmp_import_name_from_3;
    CHECK_OBJECT( tmp_import_from_1__module );
    tmp_import_name_from_3 = tmp_import_from_1__module;
    tmp_assign_source_7 = IMPORT_NAME( tmp_import_name_from_3, const_str_plain_absolute_import );
    if ( tmp_assign_source_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 17;

        goto try_except_handler_1;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_absolute_import, tmp_assign_source_7 );
    }
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_import_name_from_4;
    CHECK_OBJECT( tmp_import_from_1__module );
    tmp_import_name_from_4 = tmp_import_from_1__module;
    tmp_assign_source_8 = IMPORT_NAME( tmp_import_name_from_4, const_str_plain_print_function );
    if ( tmp_assign_source_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 17;

        goto try_except_handler_1;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_print_function, tmp_assign_source_8 );
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_1:;
    exception_keeper_type_1 = exception_type;
    exception_keeper_value_1 = exception_value;
    exception_keeper_tb_1 = exception_tb;
    exception_keeper_lineno_1 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_1__module );
    Py_DECREF( tmp_import_from_1__module );
    tmp_import_from_1__module = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_1;
    exception_value = exception_keeper_value_1;
    exception_tb = exception_keeper_tb_1;
    exception_lineno = exception_keeper_lineno_1;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_1:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_1__module );
    Py_DECREF( tmp_import_from_1__module );
    tmp_import_from_1__module = NULL;

    }
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_name_name_1;
    PyObject *tmp_globals_name_1;
    PyObject *tmp_locals_name_1;
    PyObject *tmp_fromlist_name_1;
    PyObject *tmp_level_name_1;
    tmp_name_name_1 = const_str_plain_hashlib;
    tmp_globals_name_1 = (PyObject *)moduledict_asn1crypto$keys;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 19;
    tmp_assign_source_9 = IMPORT_MODULE5( tmp_name_name_1, tmp_globals_name_1, tmp_locals_name_1, tmp_fromlist_name_1, tmp_level_name_1 );
    if ( tmp_assign_source_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 19;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_hashlib, tmp_assign_source_9 );
    }
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_name_name_2;
    PyObject *tmp_globals_name_2;
    PyObject *tmp_locals_name_2;
    PyObject *tmp_fromlist_name_2;
    PyObject *tmp_level_name_2;
    tmp_name_name_2 = const_str_plain_math;
    tmp_globals_name_2 = (PyObject *)moduledict_asn1crypto$keys;
    tmp_locals_name_2 = Py_None;
    tmp_fromlist_name_2 = Py_None;
    tmp_level_name_2 = const_int_0;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 20;
    tmp_assign_source_10 = IMPORT_MODULE5( tmp_name_name_2, tmp_globals_name_2, tmp_locals_name_2, tmp_fromlist_name_2, tmp_level_name_2 );
    if ( tmp_assign_source_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 20;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_math, tmp_assign_source_10 );
    }
    {
    PyObject *tmp_assign_source_11;
    PyObject *tmp_name_name_3;
    PyObject *tmp_globals_name_3;
    PyObject *tmp_locals_name_3;
    PyObject *tmp_fromlist_name_3;
    PyObject *tmp_level_name_3;
    tmp_name_name_3 = const_str_plain__elliptic_curve;
    tmp_globals_name_3 = (PyObject *)moduledict_asn1crypto$keys;
    tmp_locals_name_3 = Py_None;
    tmp_fromlist_name_3 = const_tuple_43e430ef8d8e4b2b655894ae9bdb6516_tuple;
    tmp_level_name_3 = const_int_pos_1;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 22;
    tmp_assign_source_11 = IMPORT_MODULE5( tmp_name_name_3, tmp_globals_name_3, tmp_locals_name_3, tmp_fromlist_name_3, tmp_level_name_3 );
    if ( tmp_assign_source_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 22;

        goto frame_exception_exit_1;
    }
    assert( tmp_import_from_2__module == NULL );
    tmp_import_from_2__module = tmp_assign_source_11;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_12;
    PyObject *tmp_import_name_from_5;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_5 = tmp_import_from_2__module;
    if ( PyModule_Check( tmp_import_name_from_5 ) )
    {
       tmp_assign_source_12 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_5,
            (PyObject *)MODULE_DICT(tmp_import_name_from_5),
            const_str_plain_SECP192R1_BASE_POINT,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_12 = IMPORT_NAME( tmp_import_name_from_5, const_str_plain_SECP192R1_BASE_POINT );
    }

    if ( tmp_assign_source_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 22;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP192R1_BASE_POINT, tmp_assign_source_12 );
    }
    {
    PyObject *tmp_assign_source_13;
    PyObject *tmp_import_name_from_6;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_6 = tmp_import_from_2__module;
    if ( PyModule_Check( tmp_import_name_from_6 ) )
    {
       tmp_assign_source_13 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_6,
            (PyObject *)MODULE_DICT(tmp_import_name_from_6),
            const_str_plain_SECP224R1_BASE_POINT,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_13 = IMPORT_NAME( tmp_import_name_from_6, const_str_plain_SECP224R1_BASE_POINT );
    }

    if ( tmp_assign_source_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 22;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP224R1_BASE_POINT, tmp_assign_source_13 );
    }
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_import_name_from_7;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_7 = tmp_import_from_2__module;
    if ( PyModule_Check( tmp_import_name_from_7 ) )
    {
       tmp_assign_source_14 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_7,
            (PyObject *)MODULE_DICT(tmp_import_name_from_7),
            const_str_plain_SECP256R1_BASE_POINT,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_14 = IMPORT_NAME( tmp_import_name_from_7, const_str_plain_SECP256R1_BASE_POINT );
    }

    if ( tmp_assign_source_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 22;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP256R1_BASE_POINT, tmp_assign_source_14 );
    }
    {
    PyObject *tmp_assign_source_15;
    PyObject *tmp_import_name_from_8;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_8 = tmp_import_from_2__module;
    if ( PyModule_Check( tmp_import_name_from_8 ) )
    {
       tmp_assign_source_15 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_8,
            (PyObject *)MODULE_DICT(tmp_import_name_from_8),
            const_str_plain_SECP384R1_BASE_POINT,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_15 = IMPORT_NAME( tmp_import_name_from_8, const_str_plain_SECP384R1_BASE_POINT );
    }

    if ( tmp_assign_source_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 22;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP384R1_BASE_POINT, tmp_assign_source_15 );
    }
    {
    PyObject *tmp_assign_source_16;
    PyObject *tmp_import_name_from_9;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_9 = tmp_import_from_2__module;
    if ( PyModule_Check( tmp_import_name_from_9 ) )
    {
       tmp_assign_source_16 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_9,
            (PyObject *)MODULE_DICT(tmp_import_name_from_9),
            const_str_plain_SECP521R1_BASE_POINT,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_16 = IMPORT_NAME( tmp_import_name_from_9, const_str_plain_SECP521R1_BASE_POINT );
    }

    if ( tmp_assign_source_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 22;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SECP521R1_BASE_POINT, tmp_assign_source_16 );
    }
    {
    PyObject *tmp_assign_source_17;
    PyObject *tmp_import_name_from_10;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_10 = tmp_import_from_2__module;
    if ( PyModule_Check( tmp_import_name_from_10 ) )
    {
       tmp_assign_source_17 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_10,
            (PyObject *)MODULE_DICT(tmp_import_name_from_10),
            const_str_plain_PrimeCurve,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_17 = IMPORT_NAME( tmp_import_name_from_10, const_str_plain_PrimeCurve );
    }

    if ( tmp_assign_source_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 22;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrimeCurve, tmp_assign_source_17 );
    }
    {
    PyObject *tmp_assign_source_18;
    PyObject *tmp_import_name_from_11;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_11 = tmp_import_from_2__module;
    if ( PyModule_Check( tmp_import_name_from_11 ) )
    {
       tmp_assign_source_18 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_11,
            (PyObject *)MODULE_DICT(tmp_import_name_from_11),
            const_str_plain_PrimePoint,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_18 = IMPORT_NAME( tmp_import_name_from_11, const_str_plain_PrimePoint );
    }

    if ( tmp_assign_source_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 22;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrimePoint, tmp_assign_source_18 );
    }
    goto try_end_2;
    // Exception handler code:
    try_except_handler_2:;
    exception_keeper_type_2 = exception_type;
    exception_keeper_value_2 = exception_value;
    exception_keeper_tb_2 = exception_tb;
    exception_keeper_lineno_2 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_2__module );
    Py_DECREF( tmp_import_from_2__module );
    tmp_import_from_2__module = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_2;
    exception_value = exception_keeper_value_2;
    exception_tb = exception_keeper_tb_2;
    exception_lineno = exception_keeper_lineno_2;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_2:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_2__module );
    Py_DECREF( tmp_import_from_2__module );
    tmp_import_from_2__module = NULL;

    }
    {
    PyObject *tmp_assign_source_19;
    PyObject *tmp_import_name_from_12;
    PyObject *tmp_name_name_4;
    PyObject *tmp_globals_name_4;
    PyObject *tmp_locals_name_4;
    PyObject *tmp_fromlist_name_4;
    PyObject *tmp_level_name_4;
    tmp_name_name_4 = const_str_plain__errors;
    tmp_globals_name_4 = (PyObject *)moduledict_asn1crypto$keys;
    tmp_locals_name_4 = Py_None;
    tmp_fromlist_name_4 = const_tuple_str_plain_unwrap_tuple;
    tmp_level_name_4 = const_int_pos_1;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 31;
    tmp_import_name_from_12 = IMPORT_MODULE5( tmp_name_name_4, tmp_globals_name_4, tmp_locals_name_4, tmp_fromlist_name_4, tmp_level_name_4 );
    if ( tmp_import_name_from_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 31;

        goto frame_exception_exit_1;
    }
    if ( PyModule_Check( tmp_import_name_from_12 ) )
    {
       tmp_assign_source_19 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_12,
            (PyObject *)MODULE_DICT(tmp_import_name_from_12),
            const_str_plain_unwrap,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_19 = IMPORT_NAME( tmp_import_name_from_12, const_str_plain_unwrap );
    }

    Py_DECREF( tmp_import_name_from_12 );
    if ( tmp_assign_source_19 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 31;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_unwrap, tmp_assign_source_19 );
    }
    {
    PyObject *tmp_assign_source_20;
    PyObject *tmp_name_name_5;
    PyObject *tmp_globals_name_5;
    PyObject *tmp_locals_name_5;
    PyObject *tmp_fromlist_name_5;
    PyObject *tmp_level_name_5;
    tmp_name_name_5 = const_str_plain__types;
    tmp_globals_name_5 = (PyObject *)moduledict_asn1crypto$keys;
    tmp_locals_name_5 = Py_None;
    tmp_fromlist_name_5 = const_tuple_str_plain_type_name_str_plain_str_cls_str_plain_byte_cls_tuple;
    tmp_level_name_5 = const_int_pos_1;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 32;
    tmp_assign_source_20 = IMPORT_MODULE5( tmp_name_name_5, tmp_globals_name_5, tmp_locals_name_5, tmp_fromlist_name_5, tmp_level_name_5 );
    if ( tmp_assign_source_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 32;

        goto frame_exception_exit_1;
    }
    assert( tmp_import_from_3__module == NULL );
    tmp_import_from_3__module = tmp_assign_source_20;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_21;
    PyObject *tmp_import_name_from_13;
    CHECK_OBJECT( tmp_import_from_3__module );
    tmp_import_name_from_13 = tmp_import_from_3__module;
    if ( PyModule_Check( tmp_import_name_from_13 ) )
    {
       tmp_assign_source_21 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_13,
            (PyObject *)MODULE_DICT(tmp_import_name_from_13),
            const_str_plain_type_name,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_21 = IMPORT_NAME( tmp_import_name_from_13, const_str_plain_type_name );
    }

    if ( tmp_assign_source_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 32;

        goto try_except_handler_3;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_type_name, tmp_assign_source_21 );
    }
    {
    PyObject *tmp_assign_source_22;
    PyObject *tmp_import_name_from_14;
    CHECK_OBJECT( tmp_import_from_3__module );
    tmp_import_name_from_14 = tmp_import_from_3__module;
    if ( PyModule_Check( tmp_import_name_from_14 ) )
    {
       tmp_assign_source_22 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_14,
            (PyObject *)MODULE_DICT(tmp_import_name_from_14),
            const_str_plain_str_cls,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_22 = IMPORT_NAME( tmp_import_name_from_14, const_str_plain_str_cls );
    }

    if ( tmp_assign_source_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 32;

        goto try_except_handler_3;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_str_cls, tmp_assign_source_22 );
    }
    {
    PyObject *tmp_assign_source_23;
    PyObject *tmp_import_name_from_15;
    CHECK_OBJECT( tmp_import_from_3__module );
    tmp_import_name_from_15 = tmp_import_from_3__module;
    if ( PyModule_Check( tmp_import_name_from_15 ) )
    {
       tmp_assign_source_23 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_15,
            (PyObject *)MODULE_DICT(tmp_import_name_from_15),
            const_str_plain_byte_cls,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_23 = IMPORT_NAME( tmp_import_name_from_15, const_str_plain_byte_cls );
    }

    if ( tmp_assign_source_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 32;

        goto try_except_handler_3;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_byte_cls, tmp_assign_source_23 );
    }
    goto try_end_3;
    // Exception handler code:
    try_except_handler_3:;
    exception_keeper_type_3 = exception_type;
    exception_keeper_value_3 = exception_value;
    exception_keeper_tb_3 = exception_tb;
    exception_keeper_lineno_3 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_3__module );
    Py_DECREF( tmp_import_from_3__module );
    tmp_import_from_3__module = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_3;
    exception_value = exception_keeper_value_3;
    exception_tb = exception_keeper_tb_3;
    exception_lineno = exception_keeper_lineno_3;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_3:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_3__module );
    Py_DECREF( tmp_import_from_3__module );
    tmp_import_from_3__module = NULL;

    }
    {
    PyObject *tmp_assign_source_24;
    PyObject *tmp_name_name_6;
    PyObject *tmp_globals_name_6;
    PyObject *tmp_locals_name_6;
    PyObject *tmp_fromlist_name_6;
    PyObject *tmp_level_name_6;
    tmp_name_name_6 = const_str_plain_algos;
    tmp_globals_name_6 = (PyObject *)moduledict_asn1crypto$keys;
    tmp_locals_name_6 = Py_None;
    tmp_fromlist_name_6 = const_tuple_ef3394628cb9a6a94ffd2eb69d8a7cf1_tuple;
    tmp_level_name_6 = const_int_pos_1;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 33;
    tmp_assign_source_24 = IMPORT_MODULE5( tmp_name_name_6, tmp_globals_name_6, tmp_locals_name_6, tmp_fromlist_name_6, tmp_level_name_6 );
    if ( tmp_assign_source_24 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto frame_exception_exit_1;
    }
    assert( tmp_import_from_4__module == NULL );
    tmp_import_from_4__module = tmp_assign_source_24;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_25;
    PyObject *tmp_import_name_from_16;
    CHECK_OBJECT( tmp_import_from_4__module );
    tmp_import_name_from_16 = tmp_import_from_4__module;
    if ( PyModule_Check( tmp_import_name_from_16 ) )
    {
       tmp_assign_source_25 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_16,
            (PyObject *)MODULE_DICT(tmp_import_name_from_16),
            const_str_plain__ForceNullParameters,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_25 = IMPORT_NAME( tmp_import_name_from_16, const_str_plain__ForceNullParameters );
    }

    if ( tmp_assign_source_25 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_4;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain__ForceNullParameters, tmp_assign_source_25 );
    }
    {
    PyObject *tmp_assign_source_26;
    PyObject *tmp_import_name_from_17;
    CHECK_OBJECT( tmp_import_from_4__module );
    tmp_import_name_from_17 = tmp_import_from_4__module;
    if ( PyModule_Check( tmp_import_name_from_17 ) )
    {
       tmp_assign_source_26 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_17,
            (PyObject *)MODULE_DICT(tmp_import_name_from_17),
            const_str_plain_DigestAlgorithm,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_26 = IMPORT_NAME( tmp_import_name_from_17, const_str_plain_DigestAlgorithm );
    }

    if ( tmp_assign_source_26 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_4;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DigestAlgorithm, tmp_assign_source_26 );
    }
    {
    PyObject *tmp_assign_source_27;
    PyObject *tmp_import_name_from_18;
    CHECK_OBJECT( tmp_import_from_4__module );
    tmp_import_name_from_18 = tmp_import_from_4__module;
    if ( PyModule_Check( tmp_import_name_from_18 ) )
    {
       tmp_assign_source_27 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_18,
            (PyObject *)MODULE_DICT(tmp_import_name_from_18),
            const_str_plain_EncryptionAlgorithm,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_27 = IMPORT_NAME( tmp_import_name_from_18, const_str_plain_EncryptionAlgorithm );
    }

    if ( tmp_assign_source_27 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_4;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_EncryptionAlgorithm, tmp_assign_source_27 );
    }
    {
    PyObject *tmp_assign_source_28;
    PyObject *tmp_import_name_from_19;
    CHECK_OBJECT( tmp_import_from_4__module );
    tmp_import_name_from_19 = tmp_import_from_4__module;
    if ( PyModule_Check( tmp_import_name_from_19 ) )
    {
       tmp_assign_source_28 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_19,
            (PyObject *)MODULE_DICT(tmp_import_name_from_19),
            const_str_plain_RSAESOAEPParams,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_28 = IMPORT_NAME( tmp_import_name_from_19, const_str_plain_RSAESOAEPParams );
    }

    if ( tmp_assign_source_28 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_4;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAESOAEPParams, tmp_assign_source_28 );
    }
    goto try_end_4;
    // Exception handler code:
    try_except_handler_4:;
    exception_keeper_type_4 = exception_type;
    exception_keeper_value_4 = exception_value;
    exception_keeper_tb_4 = exception_tb;
    exception_keeper_lineno_4 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_4__module );
    Py_DECREF( tmp_import_from_4__module );
    tmp_import_from_4__module = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_4;
    exception_value = exception_keeper_value_4;
    exception_tb = exception_keeper_tb_4;
    exception_lineno = exception_keeper_lineno_4;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_4:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_4__module );
    Py_DECREF( tmp_import_from_4__module );
    tmp_import_from_4__module = NULL;

    }
    {
    PyObject *tmp_assign_source_29;
    PyObject *tmp_name_name_7;
    PyObject *tmp_globals_name_7;
    PyObject *tmp_locals_name_7;
    PyObject *tmp_fromlist_name_7;
    PyObject *tmp_level_name_7;
    tmp_name_name_7 = const_str_plain_core;
    tmp_globals_name_7 = (PyObject *)moduledict_asn1crypto$keys;
    tmp_locals_name_7 = Py_None;
    tmp_fromlist_name_7 = const_tuple_fc069d7f68e3af3539b5419e92eb7d10_tuple;
    tmp_level_name_7 = const_int_pos_1;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 34;
    tmp_assign_source_29 = IMPORT_MODULE5( tmp_name_name_7, tmp_globals_name_7, tmp_locals_name_7, tmp_fromlist_name_7, tmp_level_name_7 );
    if ( tmp_assign_source_29 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto frame_exception_exit_1;
    }
    assert( tmp_import_from_5__module == NULL );
    tmp_import_from_5__module = tmp_assign_source_29;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_30;
    PyObject *tmp_import_name_from_20;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_20 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_20 ) )
    {
       tmp_assign_source_30 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_20,
            (PyObject *)MODULE_DICT(tmp_import_name_from_20),
            const_str_plain_Any,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_30 = IMPORT_NAME( tmp_import_name_from_20, const_str_plain_Any );
    }

    if ( tmp_assign_source_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Any, tmp_assign_source_30 );
    }
    {
    PyObject *tmp_assign_source_31;
    PyObject *tmp_import_name_from_21;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_21 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_21 ) )
    {
       tmp_assign_source_31 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_21,
            (PyObject *)MODULE_DICT(tmp_import_name_from_21),
            const_str_plain_Asn1Value,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_31 = IMPORT_NAME( tmp_import_name_from_21, const_str_plain_Asn1Value );
    }

    if ( tmp_assign_source_31 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Asn1Value, tmp_assign_source_31 );
    }
    {
    PyObject *tmp_assign_source_32;
    PyObject *tmp_import_name_from_22;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_22 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_22 ) )
    {
       tmp_assign_source_32 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_22,
            (PyObject *)MODULE_DICT(tmp_import_name_from_22),
            const_str_plain_BitString,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_32 = IMPORT_NAME( tmp_import_name_from_22, const_str_plain_BitString );
    }

    if ( tmp_assign_source_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_BitString, tmp_assign_source_32 );
    }
    {
    PyObject *tmp_assign_source_33;
    PyObject *tmp_import_name_from_23;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_23 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_23 ) )
    {
       tmp_assign_source_33 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_23,
            (PyObject *)MODULE_DICT(tmp_import_name_from_23),
            const_str_plain_Choice,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_33 = IMPORT_NAME( tmp_import_name_from_23, const_str_plain_Choice );
    }

    if ( tmp_assign_source_33 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Choice, tmp_assign_source_33 );
    }
    {
    PyObject *tmp_assign_source_34;
    PyObject *tmp_import_name_from_24;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_24 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_24 ) )
    {
       tmp_assign_source_34 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_24,
            (PyObject *)MODULE_DICT(tmp_import_name_from_24),
            const_str_plain_Integer,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_34 = IMPORT_NAME( tmp_import_name_from_24, const_str_plain_Integer );
    }

    if ( tmp_assign_source_34 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer, tmp_assign_source_34 );
    }
    {
    PyObject *tmp_assign_source_35;
    PyObject *tmp_import_name_from_25;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_25 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_25 ) )
    {
       tmp_assign_source_35 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_25,
            (PyObject *)MODULE_DICT(tmp_import_name_from_25),
            const_str_plain_IntegerOctetString,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_35 = IMPORT_NAME( tmp_import_name_from_25, const_str_plain_IntegerOctetString );
    }

    if ( tmp_assign_source_35 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_IntegerOctetString, tmp_assign_source_35 );
    }
    {
    PyObject *tmp_assign_source_36;
    PyObject *tmp_import_name_from_26;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_26 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_26 ) )
    {
       tmp_assign_source_36 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_26,
            (PyObject *)MODULE_DICT(tmp_import_name_from_26),
            const_str_plain_Null,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_36 = IMPORT_NAME( tmp_import_name_from_26, const_str_plain_Null );
    }

    if ( tmp_assign_source_36 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Null, tmp_assign_source_36 );
    }
    {
    PyObject *tmp_assign_source_37;
    PyObject *tmp_import_name_from_27;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_27 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_27 ) )
    {
       tmp_assign_source_37 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_27,
            (PyObject *)MODULE_DICT(tmp_import_name_from_27),
            const_str_plain_ObjectIdentifier,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_37 = IMPORT_NAME( tmp_import_name_from_27, const_str_plain_ObjectIdentifier );
    }

    if ( tmp_assign_source_37 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier, tmp_assign_source_37 );
    }
    {
    PyObject *tmp_assign_source_38;
    PyObject *tmp_import_name_from_28;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_28 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_28 ) )
    {
       tmp_assign_source_38 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_28,
            (PyObject *)MODULE_DICT(tmp_import_name_from_28),
            const_str_plain_OctetBitString,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_38 = IMPORT_NAME( tmp_import_name_from_28, const_str_plain_OctetBitString );
    }

    if ( tmp_assign_source_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OctetBitString, tmp_assign_source_38 );
    }
    {
    PyObject *tmp_assign_source_39;
    PyObject *tmp_import_name_from_29;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_29 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_29 ) )
    {
       tmp_assign_source_39 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_29,
            (PyObject *)MODULE_DICT(tmp_import_name_from_29),
            const_str_plain_OctetString,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_39 = IMPORT_NAME( tmp_import_name_from_29, const_str_plain_OctetString );
    }

    if ( tmp_assign_source_39 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OctetString, tmp_assign_source_39 );
    }
    {
    PyObject *tmp_assign_source_40;
    PyObject *tmp_import_name_from_30;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_30 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_30 ) )
    {
       tmp_assign_source_40 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_30,
            (PyObject *)MODULE_DICT(tmp_import_name_from_30),
            const_str_plain_ParsableOctetString,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_40 = IMPORT_NAME( tmp_import_name_from_30, const_str_plain_ParsableOctetString );
    }

    if ( tmp_assign_source_40 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ParsableOctetString, tmp_assign_source_40 );
    }
    {
    PyObject *tmp_assign_source_41;
    PyObject *tmp_import_name_from_31;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_31 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_31 ) )
    {
       tmp_assign_source_41 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_31,
            (PyObject *)MODULE_DICT(tmp_import_name_from_31),
            const_str_plain_ParsableOctetBitString,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_41 = IMPORT_NAME( tmp_import_name_from_31, const_str_plain_ParsableOctetBitString );
    }

    if ( tmp_assign_source_41 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ParsableOctetBitString, tmp_assign_source_41 );
    }
    {
    PyObject *tmp_assign_source_42;
    PyObject *tmp_import_name_from_32;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_32 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_32 ) )
    {
       tmp_assign_source_42 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_32,
            (PyObject *)MODULE_DICT(tmp_import_name_from_32),
            const_str_plain_Sequence,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_42 = IMPORT_NAME( tmp_import_name_from_32, const_str_plain_Sequence );
    }

    if ( tmp_assign_source_42 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence, tmp_assign_source_42 );
    }
    {
    PyObject *tmp_assign_source_43;
    PyObject *tmp_import_name_from_33;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_33 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_33 ) )
    {
       tmp_assign_source_43 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_33,
            (PyObject *)MODULE_DICT(tmp_import_name_from_33),
            const_str_plain_SequenceOf,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_43 = IMPORT_NAME( tmp_import_name_from_33, const_str_plain_SequenceOf );
    }

    if ( tmp_assign_source_43 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SequenceOf, tmp_assign_source_43 );
    }
    {
    PyObject *tmp_assign_source_44;
    PyObject *tmp_import_name_from_34;
    CHECK_OBJECT( tmp_import_from_5__module );
    tmp_import_name_from_34 = tmp_import_from_5__module;
    if ( PyModule_Check( tmp_import_name_from_34 ) )
    {
       tmp_assign_source_44 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_34,
            (PyObject *)MODULE_DICT(tmp_import_name_from_34),
            const_str_plain_SetOf,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_44 = IMPORT_NAME( tmp_import_name_from_34, const_str_plain_SetOf );
    }

    if ( tmp_assign_source_44 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto try_except_handler_5;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SetOf, tmp_assign_source_44 );
    }
    goto try_end_5;
    // Exception handler code:
    try_except_handler_5:;
    exception_keeper_type_5 = exception_type;
    exception_keeper_value_5 = exception_value;
    exception_keeper_tb_5 = exception_tb;
    exception_keeper_lineno_5 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_5__module );
    Py_DECREF( tmp_import_from_5__module );
    tmp_import_from_5__module = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_5;
    exception_value = exception_keeper_value_5;
    exception_tb = exception_keeper_tb_5;
    exception_lineno = exception_keeper_lineno_5;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_5:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_5__module );
    Py_DECREF( tmp_import_from_5__module );
    tmp_import_from_5__module = NULL;

    }
    {
    PyObject *tmp_assign_source_45;
    PyObject *tmp_name_name_8;
    PyObject *tmp_globals_name_8;
    PyObject *tmp_locals_name_8;
    PyObject *tmp_fromlist_name_8;
    PyObject *tmp_level_name_8;
    tmp_name_name_8 = const_str_plain_util;
    tmp_globals_name_8 = (PyObject *)moduledict_asn1crypto$keys;
    tmp_locals_name_8 = Py_None;
    tmp_fromlist_name_8 = const_tuple_str_plain_int_from_bytes_str_plain_int_to_bytes_tuple;
    tmp_level_name_8 = const_int_pos_1;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 51;
    tmp_assign_source_45 = IMPORT_MODULE5( tmp_name_name_8, tmp_globals_name_8, tmp_locals_name_8, tmp_fromlist_name_8, tmp_level_name_8 );
    if ( tmp_assign_source_45 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 51;

        goto frame_exception_exit_1;
    }
    assert( tmp_import_from_6__module == NULL );
    tmp_import_from_6__module = tmp_assign_source_45;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_46;
    PyObject *tmp_import_name_from_35;
    CHECK_OBJECT( tmp_import_from_6__module );
    tmp_import_name_from_35 = tmp_import_from_6__module;
    if ( PyModule_Check( tmp_import_name_from_35 ) )
    {
       tmp_assign_source_46 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_35,
            (PyObject *)MODULE_DICT(tmp_import_name_from_35),
            const_str_plain_int_from_bytes,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_46 = IMPORT_NAME( tmp_import_name_from_35, const_str_plain_int_from_bytes );
    }

    if ( tmp_assign_source_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 51;

        goto try_except_handler_6;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_int_from_bytes, tmp_assign_source_46 );
    }
    {
    PyObject *tmp_assign_source_47;
    PyObject *tmp_import_name_from_36;
    CHECK_OBJECT( tmp_import_from_6__module );
    tmp_import_name_from_36 = tmp_import_from_6__module;
    if ( PyModule_Check( tmp_import_name_from_36 ) )
    {
       tmp_assign_source_47 = IMPORT_NAME_OR_MODULE(
            tmp_import_name_from_36,
            (PyObject *)MODULE_DICT(tmp_import_name_from_36),
            const_str_plain_int_to_bytes,
            const_int_pos_1
        );
    }
    else
    {
       tmp_assign_source_47 = IMPORT_NAME( tmp_import_name_from_36, const_str_plain_int_to_bytes );
    }

    if ( tmp_assign_source_47 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 51;

        goto try_except_handler_6;
    }
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_int_to_bytes, tmp_assign_source_47 );
    }
    goto try_end_6;
    // Exception handler code:
    try_except_handler_6:;
    exception_keeper_type_6 = exception_type;
    exception_keeper_value_6 = exception_value;
    exception_keeper_tb_6 = exception_tb;
    exception_keeper_lineno_6 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_6__module );
    Py_DECREF( tmp_import_from_6__module );
    tmp_import_from_6__module = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_6;
    exception_value = exception_keeper_value_6;
    exception_tb = exception_keeper_tb_6;
    exception_lineno = exception_keeper_lineno_6;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_6:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_import_from_6__module );
    Py_DECREF( tmp_import_from_6__module );
    tmp_import_from_6__module = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_48;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 54;

        goto try_except_handler_7;
    }

    tmp_tuple_element_1 = tmp_mvar_value_1;
    tmp_assign_source_48 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_assign_source_48, 0, tmp_tuple_element_1 );
    assert( tmp_class_creation_1__bases_orig == NULL );
    tmp_class_creation_1__bases_orig = tmp_assign_source_48;

    }
    {
    PyObject *tmp_assign_source_49;
    PyObject *tmp_dircall_arg1_1;
    CHECK_OBJECT( tmp_class_creation_1__bases_orig );
    tmp_dircall_arg1_1 = tmp_class_creation_1__bases_orig;
    Py_INCREF( tmp_dircall_arg1_1 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_1};
        tmp_assign_source_49 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_49 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    assert( tmp_class_creation_1__bases == NULL );
    tmp_class_creation_1__bases = tmp_assign_source_49;

    }
    {
    PyObject *tmp_assign_source_50;
    tmp_assign_source_50 = PyDict_New();
    assert( tmp_class_creation_1__class_decl_dict == NULL );
    tmp_class_creation_1__class_decl_dict = tmp_assign_source_50;

    }
    {
    PyObject *tmp_assign_source_51;
    PyObject *tmp_metaclass_name_1;
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_key_name_1;
    PyObject *tmp_dict_name_1;
    PyObject *tmp_dict_name_2;
    PyObject *tmp_key_name_2;
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    PyObject *tmp_type_arg_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_bases_name_1;
    tmp_key_name_1 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_1__class_decl_dict );
    tmp_dict_name_1 = tmp_class_creation_1__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_1, tmp_key_name_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    tmp_condition_result_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_1;
    }
    else
    {
        goto condexpr_false_1;
    }
    condexpr_true_1:;
    CHECK_OBJECT( tmp_class_creation_1__class_decl_dict );
    tmp_dict_name_2 = tmp_class_creation_1__class_decl_dict;
    tmp_key_name_2 = const_str_plain_metaclass;
    tmp_metaclass_name_1 = DICT_GET_ITEM( tmp_dict_name_2, tmp_key_name_2 );
    if ( tmp_metaclass_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    goto condexpr_end_1;
    condexpr_false_1:;
    CHECK_OBJECT( tmp_class_creation_1__bases );
    tmp_truth_name_1 = CHECK_IF_TRUE( tmp_class_creation_1__bases );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_2;
    }
    else
    {
        goto condexpr_false_2;
    }
    condexpr_true_2:;
    CHECK_OBJECT( tmp_class_creation_1__bases );
    tmp_subscribed_name_1 = tmp_class_creation_1__bases;
    tmp_subscript_name_1 = const_int_0;
    tmp_type_arg_1 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 0 );
    if ( tmp_type_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    tmp_metaclass_name_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
    Py_DECREF( tmp_type_arg_1 );
    if ( tmp_metaclass_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    goto condexpr_end_2;
    condexpr_false_2:;
    tmp_metaclass_name_1 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_1 );
    condexpr_end_2:;
    condexpr_end_1:;
    CHECK_OBJECT( tmp_class_creation_1__bases );
    tmp_bases_name_1 = tmp_class_creation_1__bases;
    tmp_assign_source_51 = SELECT_METACLASS( tmp_metaclass_name_1, tmp_bases_name_1 );
    Py_DECREF( tmp_metaclass_name_1 );
    if ( tmp_assign_source_51 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    assert( tmp_class_creation_1__metaclass == NULL );
    tmp_class_creation_1__metaclass = tmp_assign_source_51;

    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_key_name_3;
    PyObject *tmp_dict_name_3;
    tmp_key_name_3 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_1__class_decl_dict );
    tmp_dict_name_3 = tmp_class_creation_1__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_3, tmp_key_name_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    tmp_condition_result_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    CHECK_OBJECT( tmp_class_creation_1__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_1__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_source_name_1;
    CHECK_OBJECT( tmp_class_creation_1__metaclass );
    tmp_source_name_1 = tmp_class_creation_1__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_1, const_str_plain___prepare__ );
    tmp_condition_result_4 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_4 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_52;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_args_name_1;
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_kw_name_1;
    CHECK_OBJECT( tmp_class_creation_1__metaclass );
    tmp_source_name_2 = tmp_class_creation_1__metaclass;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain___prepare__ );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    tmp_tuple_element_2 = const_str_plain_OtherPrimeInfo;
    tmp_args_name_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_name_1, 0, tmp_tuple_element_2 );
    CHECK_OBJECT( tmp_class_creation_1__bases );
    tmp_tuple_element_2 = tmp_class_creation_1__bases;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_name_1, 1, tmp_tuple_element_2 );
    CHECK_OBJECT( tmp_class_creation_1__class_decl_dict );
    tmp_kw_name_1 = tmp_class_creation_1__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 54;
    tmp_assign_source_52 = CALL_FUNCTION( tmp_called_name_1, tmp_args_name_1, tmp_kw_name_1 );
    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_name_1 );
    if ( tmp_assign_source_52 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    assert( tmp_class_creation_1__prepared == NULL );
    tmp_class_creation_1__prepared = tmp_assign_source_52;

    }
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_operand_name_1;
    PyObject *tmp_source_name_3;
    CHECK_OBJECT( tmp_class_creation_1__prepared );
    tmp_source_name_3 = tmp_class_creation_1__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_3, const_str_plain___getitem__ );
    tmp_operand_name_1 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    tmp_condition_result_5 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_raise_value_1;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_tuple_element_3;
    PyObject *tmp_getattr_target_1;
    PyObject *tmp_getattr_attr_1;
    PyObject *tmp_getattr_default_1;
    PyObject *tmp_source_name_4;
    PyObject *tmp_type_arg_2;
    tmp_raise_type_1 = PyExc_TypeError;
    tmp_left_name_1 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_1__metaclass );
    tmp_getattr_target_1 = tmp_class_creation_1__metaclass;
    tmp_getattr_attr_1 = const_str_plain___name__;
    tmp_getattr_default_1 = const_str_angle_metaclass;
    tmp_tuple_element_3 = BUILTIN_GETATTR( tmp_getattr_target_1, tmp_getattr_attr_1, tmp_getattr_default_1 );
    if ( tmp_tuple_element_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    tmp_right_name_1 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_3 );
    CHECK_OBJECT( tmp_class_creation_1__prepared );
    tmp_type_arg_2 = tmp_class_creation_1__prepared;
    tmp_source_name_4 = BUILTIN_TYPE1( tmp_type_arg_2 );
    assert( !(tmp_source_name_4 == NULL) );
    tmp_tuple_element_3 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_4 );
    if ( tmp_tuple_element_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_1 );

        exception_lineno = 54;

        goto try_except_handler_7;
    }
    PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_3 );
    tmp_raise_value_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_right_name_1 );
    if ( tmp_raise_value_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_7;
    }
    exception_type = tmp_raise_type_1;
    Py_INCREF( tmp_raise_type_1 );
    exception_value = tmp_raise_value_1;
    exception_lineno = 54;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_7;
    }
    branch_no_3:;
    }
    goto branch_end_2;
    branch_no_2:;
    {
    PyObject *tmp_assign_source_53;
    tmp_assign_source_53 = PyDict_New();
    assert( tmp_class_creation_1__prepared == NULL );
    tmp_class_creation_1__prepared = tmp_assign_source_53;

    }
    branch_end_2:;
    }
    {
    PyObject *tmp_assign_source_54;
    {
    PyObject *tmp_set_locals_1;
    CHECK_OBJECT( tmp_class_creation_1__prepared );
    tmp_set_locals_1 = tmp_class_creation_1__prepared;
    locals_asn1crypto$keys_54 = tmp_set_locals_1;
    Py_INCREF( tmp_set_locals_1 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_54, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_9;
    }
    }
    {
    tmp_dictset_value = const_str_digest_6537508676d5b583406dee7181efc7d5;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_54, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_9;
    }
    }
    {
    tmp_dictset_value = const_str_plain_OtherPrimeInfo;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_54, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_9;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_e867e089942b88a6791a96719c030556_2, codeobj_e867e089942b88a6791a96719c030556, module_asn1crypto$keys, sizeof(void *) );
    frame_e867e089942b88a6791a96719c030556_2 = cache_frame_e867e089942b88a6791a96719c030556_2;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_e867e089942b88a6791a96719c030556_2 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_e867e089942b88a6791a96719c030556_2 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_1;
    PyObject *tmp_tuple_element_4;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_tuple_element_5;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_tuple_element_6;
    PyObject *tmp_mvar_value_4;
    tmp_tuple_element_4 = const_str_plain_prime;
    tmp_list_element_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_list_element_1, 0, tmp_tuple_element_4 );
    tmp_tuple_element_4 = PyObject_GetItem( locals_asn1crypto$keys_54, const_str_plain_Integer );

    if ( tmp_tuple_element_4 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_2 == NULL ))
        {
            tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_2 == NULL )
        {
            Py_DECREF( tmp_list_element_1 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 60;
            type_description_2 = "o";
            goto frame_exception_exit_2;
        }

        tmp_tuple_element_4 = tmp_mvar_value_2;
        Py_INCREF( tmp_tuple_element_4 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_1, 1, tmp_tuple_element_4 );
    tmp_dictset_value = PyList_New( 3 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_1 );
    tmp_tuple_element_5 = const_str_plain_exponent;
    tmp_list_element_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_5 );
    PyTuple_SET_ITEM( tmp_list_element_1, 0, tmp_tuple_element_5 );
    tmp_tuple_element_5 = PyObject_GetItem( locals_asn1crypto$keys_54, const_str_plain_Integer );

    if ( tmp_tuple_element_5 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_3 == NULL ))
        {
            tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_3 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_1 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 61;
            type_description_2 = "o";
            goto frame_exception_exit_2;
        }

        tmp_tuple_element_5 = tmp_mvar_value_3;
        Py_INCREF( tmp_tuple_element_5 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_1, 1, tmp_tuple_element_5 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_1 );
    tmp_tuple_element_6 = const_str_plain_coefficient;
    tmp_list_element_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_6 );
    PyTuple_SET_ITEM( tmp_list_element_1, 0, tmp_tuple_element_6 );
    tmp_tuple_element_6 = PyObject_GetItem( locals_asn1crypto$keys_54, const_str_plain_Integer );

    if ( tmp_tuple_element_6 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_4 == NULL ))
        {
            tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_4 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_1 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 62;
            type_description_2 = "o";
            goto frame_exception_exit_2;
        }

        tmp_tuple_element_6 = tmp_mvar_value_4;
        Py_INCREF( tmp_tuple_element_6 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_1, 1, tmp_tuple_element_6 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_1 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_54, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 59;
        type_description_2 = "o";
        goto frame_exception_exit_2;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_e867e089942b88a6791a96719c030556_2 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_exception_exit_2:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_e867e089942b88a6791a96719c030556_2 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_e867e089942b88a6791a96719c030556_2, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_e867e089942b88a6791a96719c030556_2->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_e867e089942b88a6791a96719c030556_2, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_e867e089942b88a6791a96719c030556_2,
        type_description_2,
        outline_0_var___class__
    );


    // Release cached frame.
    if ( frame_e867e089942b88a6791a96719c030556_2 == cache_frame_e867e089942b88a6791a96719c030556_2 )
    {
        Py_DECREF( frame_e867e089942b88a6791a96719c030556_2 );
    }
    cache_frame_e867e089942b88a6791a96719c030556_2 = NULL;

    assertFrameObject( frame_e867e089942b88a6791a96719c030556_2 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_1;

    frame_no_exception_1:;
    goto skip_nested_handling_1;
    nested_frame_exit_1:;

    goto try_except_handler_9;
    skip_nested_handling_1:;
    {
    nuitka_bool tmp_condition_result_6;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    CHECK_OBJECT( tmp_class_creation_1__bases );
    tmp_compexpr_left_1 = tmp_class_creation_1__bases;
    CHECK_OBJECT( tmp_class_creation_1__bases_orig );
    tmp_compexpr_right_1 = tmp_class_creation_1__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_1, tmp_compexpr_right_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_9;
    }
    tmp_condition_result_6 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_6 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_4;
    }
    else
    {
        goto branch_no_4;
    }
    branch_yes_4:;
    {
    CHECK_OBJECT( tmp_class_creation_1__bases_orig );
    tmp_dictset_value = tmp_class_creation_1__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_54, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_9;
    }
    }
    branch_no_4:;
    }
    {
    PyObject *tmp_assign_source_55;
    PyObject *tmp_called_name_2;
    PyObject *tmp_args_name_2;
    PyObject *tmp_tuple_element_7;
    PyObject *tmp_kw_name_2;
    CHECK_OBJECT( tmp_class_creation_1__metaclass );
    tmp_called_name_2 = tmp_class_creation_1__metaclass;
    tmp_tuple_element_7 = const_str_plain_OtherPrimeInfo;
    tmp_args_name_2 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_7 );
    PyTuple_SET_ITEM( tmp_args_name_2, 0, tmp_tuple_element_7 );
    CHECK_OBJECT( tmp_class_creation_1__bases );
    tmp_tuple_element_7 = tmp_class_creation_1__bases;
    Py_INCREF( tmp_tuple_element_7 );
    PyTuple_SET_ITEM( tmp_args_name_2, 1, tmp_tuple_element_7 );
    tmp_tuple_element_7 = locals_asn1crypto$keys_54;
    Py_INCREF( tmp_tuple_element_7 );
    PyTuple_SET_ITEM( tmp_args_name_2, 2, tmp_tuple_element_7 );
    CHECK_OBJECT( tmp_class_creation_1__class_decl_dict );
    tmp_kw_name_2 = tmp_class_creation_1__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 54;
    tmp_assign_source_55 = CALL_FUNCTION( tmp_called_name_2, tmp_args_name_2, tmp_kw_name_2 );
    Py_DECREF( tmp_args_name_2 );
    if ( tmp_assign_source_55 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 54;

        goto try_except_handler_9;
    }
    assert( outline_0_var___class__ == NULL );
    outline_0_var___class__ = tmp_assign_source_55;

    }
    {
    CHECK_OBJECT( outline_0_var___class__ );
    tmp_assign_source_54 = outline_0_var___class__;
    Py_INCREF( tmp_assign_source_54 );
    goto try_return_handler_9;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_9:;
    {
    Py_DECREF( locals_asn1crypto$keys_54 );
    locals_asn1crypto$keys_54 = NULL;
    }
    {
    goto try_return_handler_8;
    }
    // Exception handler code:
    try_except_handler_9:;
    exception_keeper_type_7 = exception_type;
    exception_keeper_value_7 = exception_value;
    exception_keeper_tb_7 = exception_tb;
    exception_keeper_lineno_7 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_54 );
    locals_asn1crypto$keys_54 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_7;
    exception_value = exception_keeper_value_7;
    exception_tb = exception_keeper_tb_7;
    exception_lineno = exception_keeper_lineno_7;

    goto try_except_handler_8;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_8:;
    {
    CHECK_OBJECT( (PyObject *)outline_0_var___class__ );
    Py_DECREF( outline_0_var___class__ );
    outline_0_var___class__ = NULL;

    }
    {
    goto outline_result_1;
    }
    // Exception handler code:
    try_except_handler_8:;
    exception_keeper_type_8 = exception_type;
    exception_keeper_value_8 = exception_value;
    exception_keeper_tb_8 = exception_tb;
    exception_keeper_lineno_8 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_8;
    exception_value = exception_keeper_value_8;
    exception_tb = exception_keeper_tb_8;
    exception_lineno = exception_keeper_lineno_8;

    goto outline_exception_1;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_1:;
    exception_lineno = 54;
    goto try_except_handler_7;
    outline_result_1:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OtherPrimeInfo, tmp_assign_source_54 );
    }
    goto try_end_7;
    // Exception handler code:
    try_except_handler_7:;
    exception_keeper_type_9 = exception_type;
    exception_keeper_value_9 = exception_value;
    exception_keeper_tb_9 = exception_tb;
    exception_keeper_lineno_9 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_1__bases );
    tmp_class_creation_1__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_1__class_decl_dict );
    tmp_class_creation_1__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_1__metaclass );
    tmp_class_creation_1__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_1__prepared );
    tmp_class_creation_1__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_9;
    exception_value = exception_keeper_value_9;
    exception_tb = exception_keeper_tb_9;
    exception_lineno = exception_keeper_lineno_9;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_7:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_1__bases );
    Py_DECREF( tmp_class_creation_1__bases );
    tmp_class_creation_1__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_1__class_decl_dict );
    Py_DECREF( tmp_class_creation_1__class_decl_dict );
    tmp_class_creation_1__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_1__metaclass );
    Py_DECREF( tmp_class_creation_1__metaclass );
    tmp_class_creation_1__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_1__prepared );
    Py_DECREF( tmp_class_creation_1__prepared );
    tmp_class_creation_1__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_56;
    PyObject *tmp_tuple_element_8;
    PyObject *tmp_mvar_value_5;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SequenceOf );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SequenceOf );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SequenceOf" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 66;

        goto try_except_handler_10;
    }

    tmp_tuple_element_8 = tmp_mvar_value_5;
    tmp_assign_source_56 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_8 );
    PyTuple_SET_ITEM( tmp_assign_source_56, 0, tmp_tuple_element_8 );
    assert( tmp_class_creation_2__bases_orig == NULL );
    tmp_class_creation_2__bases_orig = tmp_assign_source_56;

    }
    {
    PyObject *tmp_assign_source_57;
    PyObject *tmp_dircall_arg1_2;
    CHECK_OBJECT( tmp_class_creation_2__bases_orig );
    tmp_dircall_arg1_2 = tmp_class_creation_2__bases_orig;
    Py_INCREF( tmp_dircall_arg1_2 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_2};
        tmp_assign_source_57 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_57 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    assert( tmp_class_creation_2__bases == NULL );
    tmp_class_creation_2__bases = tmp_assign_source_57;

    }
    {
    PyObject *tmp_assign_source_58;
    tmp_assign_source_58 = PyDict_New();
    assert( tmp_class_creation_2__class_decl_dict == NULL );
    tmp_class_creation_2__class_decl_dict = tmp_assign_source_58;

    }
    {
    PyObject *tmp_assign_source_59;
    PyObject *tmp_metaclass_name_2;
    nuitka_bool tmp_condition_result_7;
    PyObject *tmp_key_name_4;
    PyObject *tmp_dict_name_4;
    PyObject *tmp_dict_name_5;
    PyObject *tmp_key_name_5;
    nuitka_bool tmp_condition_result_8;
    int tmp_truth_name_2;
    PyObject *tmp_type_arg_3;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_bases_name_2;
    tmp_key_name_4 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_2__class_decl_dict );
    tmp_dict_name_4 = tmp_class_creation_2__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_4, tmp_key_name_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    tmp_condition_result_7 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_7 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_3;
    }
    else
    {
        goto condexpr_false_3;
    }
    condexpr_true_3:;
    CHECK_OBJECT( tmp_class_creation_2__class_decl_dict );
    tmp_dict_name_5 = tmp_class_creation_2__class_decl_dict;
    tmp_key_name_5 = const_str_plain_metaclass;
    tmp_metaclass_name_2 = DICT_GET_ITEM( tmp_dict_name_5, tmp_key_name_5 );
    if ( tmp_metaclass_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    goto condexpr_end_3;
    condexpr_false_3:;
    CHECK_OBJECT( tmp_class_creation_2__bases );
    tmp_truth_name_2 = CHECK_IF_TRUE( tmp_class_creation_2__bases );
    if ( tmp_truth_name_2 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    tmp_condition_result_8 = tmp_truth_name_2 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_8 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_4;
    }
    else
    {
        goto condexpr_false_4;
    }
    condexpr_true_4:;
    CHECK_OBJECT( tmp_class_creation_2__bases );
    tmp_subscribed_name_2 = tmp_class_creation_2__bases;
    tmp_subscript_name_2 = const_int_0;
    tmp_type_arg_3 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_2, tmp_subscript_name_2, 0 );
    if ( tmp_type_arg_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    tmp_metaclass_name_2 = BUILTIN_TYPE1( tmp_type_arg_3 );
    Py_DECREF( tmp_type_arg_3 );
    if ( tmp_metaclass_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    goto condexpr_end_4;
    condexpr_false_4:;
    tmp_metaclass_name_2 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_2 );
    condexpr_end_4:;
    condexpr_end_3:;
    CHECK_OBJECT( tmp_class_creation_2__bases );
    tmp_bases_name_2 = tmp_class_creation_2__bases;
    tmp_assign_source_59 = SELECT_METACLASS( tmp_metaclass_name_2, tmp_bases_name_2 );
    Py_DECREF( tmp_metaclass_name_2 );
    if ( tmp_assign_source_59 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    assert( tmp_class_creation_2__metaclass == NULL );
    tmp_class_creation_2__metaclass = tmp_assign_source_59;

    }
    {
    nuitka_bool tmp_condition_result_9;
    PyObject *tmp_key_name_6;
    PyObject *tmp_dict_name_6;
    tmp_key_name_6 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_2__class_decl_dict );
    tmp_dict_name_6 = tmp_class_creation_2__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_6, tmp_key_name_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    tmp_condition_result_9 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_9 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_5;
    }
    else
    {
        goto branch_no_5;
    }
    branch_yes_5:;
    {
    CHECK_OBJECT( tmp_class_creation_2__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_2__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    }
    branch_no_5:;
    }
    {
    nuitka_bool tmp_condition_result_10;
    PyObject *tmp_source_name_5;
    CHECK_OBJECT( tmp_class_creation_2__metaclass );
    tmp_source_name_5 = tmp_class_creation_2__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_5, const_str_plain___prepare__ );
    tmp_condition_result_10 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_10 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_6;
    }
    else
    {
        goto branch_no_6;
    }
    branch_yes_6:;
    {
    PyObject *tmp_assign_source_60;
    PyObject *tmp_called_name_3;
    PyObject *tmp_source_name_6;
    PyObject *tmp_args_name_3;
    PyObject *tmp_tuple_element_9;
    PyObject *tmp_kw_name_3;
    CHECK_OBJECT( tmp_class_creation_2__metaclass );
    tmp_source_name_6 = tmp_class_creation_2__metaclass;
    tmp_called_name_3 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain___prepare__ );
    if ( tmp_called_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    tmp_tuple_element_9 = const_str_plain_OtherPrimeInfos;
    tmp_args_name_3 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_9 );
    PyTuple_SET_ITEM( tmp_args_name_3, 0, tmp_tuple_element_9 );
    CHECK_OBJECT( tmp_class_creation_2__bases );
    tmp_tuple_element_9 = tmp_class_creation_2__bases;
    Py_INCREF( tmp_tuple_element_9 );
    PyTuple_SET_ITEM( tmp_args_name_3, 1, tmp_tuple_element_9 );
    CHECK_OBJECT( tmp_class_creation_2__class_decl_dict );
    tmp_kw_name_3 = tmp_class_creation_2__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 66;
    tmp_assign_source_60 = CALL_FUNCTION( tmp_called_name_3, tmp_args_name_3, tmp_kw_name_3 );
    Py_DECREF( tmp_called_name_3 );
    Py_DECREF( tmp_args_name_3 );
    if ( tmp_assign_source_60 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    assert( tmp_class_creation_2__prepared == NULL );
    tmp_class_creation_2__prepared = tmp_assign_source_60;

    }
    {
    nuitka_bool tmp_condition_result_11;
    PyObject *tmp_operand_name_2;
    PyObject *tmp_source_name_7;
    CHECK_OBJECT( tmp_class_creation_2__prepared );
    tmp_source_name_7 = tmp_class_creation_2__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_7, const_str_plain___getitem__ );
    tmp_operand_name_2 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    tmp_condition_result_11 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_11 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_7;
    }
    else
    {
        goto branch_no_7;
    }
    branch_yes_7:;
    {
    PyObject *tmp_raise_type_2;
    PyObject *tmp_raise_value_2;
    PyObject *tmp_left_name_2;
    PyObject *tmp_right_name_2;
    PyObject *tmp_tuple_element_10;
    PyObject *tmp_getattr_target_2;
    PyObject *tmp_getattr_attr_2;
    PyObject *tmp_getattr_default_2;
    PyObject *tmp_source_name_8;
    PyObject *tmp_type_arg_4;
    tmp_raise_type_2 = PyExc_TypeError;
    tmp_left_name_2 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_2__metaclass );
    tmp_getattr_target_2 = tmp_class_creation_2__metaclass;
    tmp_getattr_attr_2 = const_str_plain___name__;
    tmp_getattr_default_2 = const_str_angle_metaclass;
    tmp_tuple_element_10 = BUILTIN_GETATTR( tmp_getattr_target_2, tmp_getattr_attr_2, tmp_getattr_default_2 );
    if ( tmp_tuple_element_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    tmp_right_name_2 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_10 );
    CHECK_OBJECT( tmp_class_creation_2__prepared );
    tmp_type_arg_4 = tmp_class_creation_2__prepared;
    tmp_source_name_8 = BUILTIN_TYPE1( tmp_type_arg_4 );
    assert( !(tmp_source_name_8 == NULL) );
    tmp_tuple_element_10 = LOOKUP_ATTRIBUTE( tmp_source_name_8, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_8 );
    if ( tmp_tuple_element_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 66;

        goto try_except_handler_10;
    }
    PyTuple_SET_ITEM( tmp_right_name_2, 1, tmp_tuple_element_10 );
    tmp_raise_value_2 = BINARY_OPERATION_REMAINDER( tmp_left_name_2, tmp_right_name_2 );
    Py_DECREF( tmp_right_name_2 );
    if ( tmp_raise_value_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_10;
    }
    exception_type = tmp_raise_type_2;
    Py_INCREF( tmp_raise_type_2 );
    exception_value = tmp_raise_value_2;
    exception_lineno = 66;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_10;
    }
    branch_no_7:;
    }
    goto branch_end_6;
    branch_no_6:;
    {
    PyObject *tmp_assign_source_61;
    tmp_assign_source_61 = PyDict_New();
    assert( tmp_class_creation_2__prepared == NULL );
    tmp_class_creation_2__prepared = tmp_assign_source_61;

    }
    branch_end_6:;
    }
    {
    PyObject *tmp_assign_source_62;
    {
    PyObject *tmp_set_locals_2;
    CHECK_OBJECT( tmp_class_creation_2__prepared );
    tmp_set_locals_2 = tmp_class_creation_2__prepared;
    locals_asn1crypto$keys_66 = tmp_set_locals_2;
    Py_INCREF( tmp_set_locals_2 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_66, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_12;
    }
    }
    {
    tmp_dictset_value = const_str_digest_6537508676d5b583406dee7181efc7d5;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_66, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_12;
    }
    }
    {
    tmp_dictset_value = const_str_plain_OtherPrimeInfos;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_66, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_12;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_7e91bd986ac2503eae60e6459f1c6923_3, codeobj_7e91bd986ac2503eae60e6459f1c6923, module_asn1crypto$keys, sizeof(void *) );
    frame_7e91bd986ac2503eae60e6459f1c6923_3 = cache_frame_7e91bd986ac2503eae60e6459f1c6923_3;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_7e91bd986ac2503eae60e6459f1c6923_3 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_7e91bd986ac2503eae60e6459f1c6923_3 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_mvar_value_6;
    tmp_dictset_value = PyObject_GetItem( locals_asn1crypto$keys_66, const_str_plain_OtherPrimeInfo );

    if ( tmp_dictset_value == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OtherPrimeInfo );

        if (unlikely( tmp_mvar_value_6 == NULL ))
        {
            tmp_mvar_value_6 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_OtherPrimeInfo );
        }

        if ( tmp_mvar_value_6 == NULL )
        {

            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "OtherPrimeInfo" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 71;
            type_description_2 = "o";
            goto frame_exception_exit_3;
        }

        tmp_dictset_value = tmp_mvar_value_6;
        Py_INCREF( tmp_dictset_value );
        }
    }

    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_66, const_str_plain__child_spec, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 71;
        type_description_2 = "o";
        goto frame_exception_exit_3;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_7e91bd986ac2503eae60e6459f1c6923_3 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_2;

    frame_exception_exit_3:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_7e91bd986ac2503eae60e6459f1c6923_3 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_7e91bd986ac2503eae60e6459f1c6923_3, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_7e91bd986ac2503eae60e6459f1c6923_3->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_7e91bd986ac2503eae60e6459f1c6923_3, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_7e91bd986ac2503eae60e6459f1c6923_3,
        type_description_2,
        outline_1_var___class__
    );


    // Release cached frame.
    if ( frame_7e91bd986ac2503eae60e6459f1c6923_3 == cache_frame_7e91bd986ac2503eae60e6459f1c6923_3 )
    {
        Py_DECREF( frame_7e91bd986ac2503eae60e6459f1c6923_3 );
    }
    cache_frame_7e91bd986ac2503eae60e6459f1c6923_3 = NULL;

    assertFrameObject( frame_7e91bd986ac2503eae60e6459f1c6923_3 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_2;

    frame_no_exception_2:;
    goto skip_nested_handling_2;
    nested_frame_exit_2:;

    goto try_except_handler_12;
    skip_nested_handling_2:;
    {
    nuitka_bool tmp_condition_result_12;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    CHECK_OBJECT( tmp_class_creation_2__bases );
    tmp_compexpr_left_2 = tmp_class_creation_2__bases;
    CHECK_OBJECT( tmp_class_creation_2__bases_orig );
    tmp_compexpr_right_2 = tmp_class_creation_2__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_12;
    }
    tmp_condition_result_12 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_12 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_8;
    }
    else
    {
        goto branch_no_8;
    }
    branch_yes_8:;
    {
    CHECK_OBJECT( tmp_class_creation_2__bases_orig );
    tmp_dictset_value = tmp_class_creation_2__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_66, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_12;
    }
    }
    branch_no_8:;
    }
    {
    PyObject *tmp_assign_source_63;
    PyObject *tmp_called_name_4;
    PyObject *tmp_args_name_4;
    PyObject *tmp_tuple_element_11;
    PyObject *tmp_kw_name_4;
    CHECK_OBJECT( tmp_class_creation_2__metaclass );
    tmp_called_name_4 = tmp_class_creation_2__metaclass;
    tmp_tuple_element_11 = const_str_plain_OtherPrimeInfos;
    tmp_args_name_4 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_11 );
    PyTuple_SET_ITEM( tmp_args_name_4, 0, tmp_tuple_element_11 );
    CHECK_OBJECT( tmp_class_creation_2__bases );
    tmp_tuple_element_11 = tmp_class_creation_2__bases;
    Py_INCREF( tmp_tuple_element_11 );
    PyTuple_SET_ITEM( tmp_args_name_4, 1, tmp_tuple_element_11 );
    tmp_tuple_element_11 = locals_asn1crypto$keys_66;
    Py_INCREF( tmp_tuple_element_11 );
    PyTuple_SET_ITEM( tmp_args_name_4, 2, tmp_tuple_element_11 );
    CHECK_OBJECT( tmp_class_creation_2__class_decl_dict );
    tmp_kw_name_4 = tmp_class_creation_2__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 66;
    tmp_assign_source_63 = CALL_FUNCTION( tmp_called_name_4, tmp_args_name_4, tmp_kw_name_4 );
    Py_DECREF( tmp_args_name_4 );
    if ( tmp_assign_source_63 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 66;

        goto try_except_handler_12;
    }
    assert( outline_1_var___class__ == NULL );
    outline_1_var___class__ = tmp_assign_source_63;

    }
    {
    CHECK_OBJECT( outline_1_var___class__ );
    tmp_assign_source_62 = outline_1_var___class__;
    Py_INCREF( tmp_assign_source_62 );
    goto try_return_handler_12;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_12:;
    {
    Py_DECREF( locals_asn1crypto$keys_66 );
    locals_asn1crypto$keys_66 = NULL;
    }
    {
    goto try_return_handler_11;
    }
    // Exception handler code:
    try_except_handler_12:;
    exception_keeper_type_10 = exception_type;
    exception_keeper_value_10 = exception_value;
    exception_keeper_tb_10 = exception_tb;
    exception_keeper_lineno_10 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_66 );
    locals_asn1crypto$keys_66 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_10;
    exception_value = exception_keeper_value_10;
    exception_tb = exception_keeper_tb_10;
    exception_lineno = exception_keeper_lineno_10;

    goto try_except_handler_11;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_11:;
    {
    CHECK_OBJECT( (PyObject *)outline_1_var___class__ );
    Py_DECREF( outline_1_var___class__ );
    outline_1_var___class__ = NULL;

    }
    {
    goto outline_result_2;
    }
    // Exception handler code:
    try_except_handler_11:;
    exception_keeper_type_11 = exception_type;
    exception_keeper_value_11 = exception_value;
    exception_keeper_tb_11 = exception_tb;
    exception_keeper_lineno_11 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_11;
    exception_value = exception_keeper_value_11;
    exception_tb = exception_keeper_tb_11;
    exception_lineno = exception_keeper_lineno_11;

    goto outline_exception_2;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_2:;
    exception_lineno = 66;
    goto try_except_handler_10;
    outline_result_2:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OtherPrimeInfos, tmp_assign_source_62 );
    }
    goto try_end_8;
    // Exception handler code:
    try_except_handler_10:;
    exception_keeper_type_12 = exception_type;
    exception_keeper_value_12 = exception_value;
    exception_keeper_tb_12 = exception_tb;
    exception_keeper_lineno_12 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_2__bases );
    tmp_class_creation_2__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_2__class_decl_dict );
    tmp_class_creation_2__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_2__metaclass );
    tmp_class_creation_2__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_2__prepared );
    tmp_class_creation_2__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_12;
    exception_value = exception_keeper_value_12;
    exception_tb = exception_keeper_tb_12;
    exception_lineno = exception_keeper_lineno_12;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_8:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_2__bases );
    Py_DECREF( tmp_class_creation_2__bases );
    tmp_class_creation_2__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_2__class_decl_dict );
    Py_DECREF( tmp_class_creation_2__class_decl_dict );
    tmp_class_creation_2__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_2__metaclass );
    Py_DECREF( tmp_class_creation_2__metaclass );
    tmp_class_creation_2__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_2__prepared );
    Py_DECREF( tmp_class_creation_2__prepared );
    tmp_class_creation_2__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_64;
    PyObject *tmp_tuple_element_12;
    PyObject *tmp_mvar_value_7;
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

    if (unlikely( tmp_mvar_value_7 == NULL ))
    {
        tmp_mvar_value_7 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
    }

    if ( tmp_mvar_value_7 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 74;

        goto try_except_handler_13;
    }

    tmp_tuple_element_12 = tmp_mvar_value_7;
    tmp_assign_source_64 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_12 );
    PyTuple_SET_ITEM( tmp_assign_source_64, 0, tmp_tuple_element_12 );
    assert( tmp_class_creation_3__bases_orig == NULL );
    tmp_class_creation_3__bases_orig = tmp_assign_source_64;

    }
    {
    PyObject *tmp_assign_source_65;
    PyObject *tmp_dircall_arg1_3;
    CHECK_OBJECT( tmp_class_creation_3__bases_orig );
    tmp_dircall_arg1_3 = tmp_class_creation_3__bases_orig;
    Py_INCREF( tmp_dircall_arg1_3 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_3};
        tmp_assign_source_65 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_65 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    assert( tmp_class_creation_3__bases == NULL );
    tmp_class_creation_3__bases = tmp_assign_source_65;

    }
    {
    PyObject *tmp_assign_source_66;
    tmp_assign_source_66 = PyDict_New();
    assert( tmp_class_creation_3__class_decl_dict == NULL );
    tmp_class_creation_3__class_decl_dict = tmp_assign_source_66;

    }
    {
    PyObject *tmp_assign_source_67;
    PyObject *tmp_metaclass_name_3;
    nuitka_bool tmp_condition_result_13;
    PyObject *tmp_key_name_7;
    PyObject *tmp_dict_name_7;
    PyObject *tmp_dict_name_8;
    PyObject *tmp_key_name_8;
    nuitka_bool tmp_condition_result_14;
    int tmp_truth_name_3;
    PyObject *tmp_type_arg_5;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_bases_name_3;
    tmp_key_name_7 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_3__class_decl_dict );
    tmp_dict_name_7 = tmp_class_creation_3__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_7, tmp_key_name_7 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    tmp_condition_result_13 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_13 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_5;
    }
    else
    {
        goto condexpr_false_5;
    }
    condexpr_true_5:;
    CHECK_OBJECT( tmp_class_creation_3__class_decl_dict );
    tmp_dict_name_8 = tmp_class_creation_3__class_decl_dict;
    tmp_key_name_8 = const_str_plain_metaclass;
    tmp_metaclass_name_3 = DICT_GET_ITEM( tmp_dict_name_8, tmp_key_name_8 );
    if ( tmp_metaclass_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    goto condexpr_end_5;
    condexpr_false_5:;
    CHECK_OBJECT( tmp_class_creation_3__bases );
    tmp_truth_name_3 = CHECK_IF_TRUE( tmp_class_creation_3__bases );
    if ( tmp_truth_name_3 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    tmp_condition_result_14 = tmp_truth_name_3 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_14 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_6;
    }
    else
    {
        goto condexpr_false_6;
    }
    condexpr_true_6:;
    CHECK_OBJECT( tmp_class_creation_3__bases );
    tmp_subscribed_name_3 = tmp_class_creation_3__bases;
    tmp_subscript_name_3 = const_int_0;
    tmp_type_arg_5 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_3, tmp_subscript_name_3, 0 );
    if ( tmp_type_arg_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    tmp_metaclass_name_3 = BUILTIN_TYPE1( tmp_type_arg_5 );
    Py_DECREF( tmp_type_arg_5 );
    if ( tmp_metaclass_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    goto condexpr_end_6;
    condexpr_false_6:;
    tmp_metaclass_name_3 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_3 );
    condexpr_end_6:;
    condexpr_end_5:;
    CHECK_OBJECT( tmp_class_creation_3__bases );
    tmp_bases_name_3 = tmp_class_creation_3__bases;
    tmp_assign_source_67 = SELECT_METACLASS( tmp_metaclass_name_3, tmp_bases_name_3 );
    Py_DECREF( tmp_metaclass_name_3 );
    if ( tmp_assign_source_67 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    assert( tmp_class_creation_3__metaclass == NULL );
    tmp_class_creation_3__metaclass = tmp_assign_source_67;

    }
    {
    nuitka_bool tmp_condition_result_15;
    PyObject *tmp_key_name_9;
    PyObject *tmp_dict_name_9;
    tmp_key_name_9 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_3__class_decl_dict );
    tmp_dict_name_9 = tmp_class_creation_3__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_9, tmp_key_name_9 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    tmp_condition_result_15 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_15 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_9;
    }
    else
    {
        goto branch_no_9;
    }
    branch_yes_9:;
    {
    CHECK_OBJECT( tmp_class_creation_3__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_3__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    }
    branch_no_9:;
    }
    {
    nuitka_bool tmp_condition_result_16;
    PyObject *tmp_source_name_9;
    CHECK_OBJECT( tmp_class_creation_3__metaclass );
    tmp_source_name_9 = tmp_class_creation_3__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_9, const_str_plain___prepare__ );
    tmp_condition_result_16 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_16 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_10;
    }
    else
    {
        goto branch_no_10;
    }
    branch_yes_10:;
    {
    PyObject *tmp_assign_source_68;
    PyObject *tmp_called_name_5;
    PyObject *tmp_source_name_10;
    PyObject *tmp_args_name_5;
    PyObject *tmp_tuple_element_13;
    PyObject *tmp_kw_name_5;
    CHECK_OBJECT( tmp_class_creation_3__metaclass );
    tmp_source_name_10 = tmp_class_creation_3__metaclass;
    tmp_called_name_5 = LOOKUP_ATTRIBUTE( tmp_source_name_10, const_str_plain___prepare__ );
    if ( tmp_called_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    tmp_tuple_element_13 = const_str_plain_RSAPrivateKeyVersion;
    tmp_args_name_5 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_13 );
    PyTuple_SET_ITEM( tmp_args_name_5, 0, tmp_tuple_element_13 );
    CHECK_OBJECT( tmp_class_creation_3__bases );
    tmp_tuple_element_13 = tmp_class_creation_3__bases;
    Py_INCREF( tmp_tuple_element_13 );
    PyTuple_SET_ITEM( tmp_args_name_5, 1, tmp_tuple_element_13 );
    CHECK_OBJECT( tmp_class_creation_3__class_decl_dict );
    tmp_kw_name_5 = tmp_class_creation_3__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 74;
    tmp_assign_source_68 = CALL_FUNCTION( tmp_called_name_5, tmp_args_name_5, tmp_kw_name_5 );
    Py_DECREF( tmp_called_name_5 );
    Py_DECREF( tmp_args_name_5 );
    if ( tmp_assign_source_68 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    assert( tmp_class_creation_3__prepared == NULL );
    tmp_class_creation_3__prepared = tmp_assign_source_68;

    }
    {
    nuitka_bool tmp_condition_result_17;
    PyObject *tmp_operand_name_3;
    PyObject *tmp_source_name_11;
    CHECK_OBJECT( tmp_class_creation_3__prepared );
    tmp_source_name_11 = tmp_class_creation_3__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_11, const_str_plain___getitem__ );
    tmp_operand_name_3 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    tmp_condition_result_17 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_17 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_11;
    }
    else
    {
        goto branch_no_11;
    }
    branch_yes_11:;
    {
    PyObject *tmp_raise_type_3;
    PyObject *tmp_raise_value_3;
    PyObject *tmp_left_name_3;
    PyObject *tmp_right_name_3;
    PyObject *tmp_tuple_element_14;
    PyObject *tmp_getattr_target_3;
    PyObject *tmp_getattr_attr_3;
    PyObject *tmp_getattr_default_3;
    PyObject *tmp_source_name_12;
    PyObject *tmp_type_arg_6;
    tmp_raise_type_3 = PyExc_TypeError;
    tmp_left_name_3 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_3__metaclass );
    tmp_getattr_target_3 = tmp_class_creation_3__metaclass;
    tmp_getattr_attr_3 = const_str_plain___name__;
    tmp_getattr_default_3 = const_str_angle_metaclass;
    tmp_tuple_element_14 = BUILTIN_GETATTR( tmp_getattr_target_3, tmp_getattr_attr_3, tmp_getattr_default_3 );
    if ( tmp_tuple_element_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    tmp_right_name_3 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_3, 0, tmp_tuple_element_14 );
    CHECK_OBJECT( tmp_class_creation_3__prepared );
    tmp_type_arg_6 = tmp_class_creation_3__prepared;
    tmp_source_name_12 = BUILTIN_TYPE1( tmp_type_arg_6 );
    assert( !(tmp_source_name_12 == NULL) );
    tmp_tuple_element_14 = LOOKUP_ATTRIBUTE( tmp_source_name_12, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_12 );
    if ( tmp_tuple_element_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_3 );

        exception_lineno = 74;

        goto try_except_handler_13;
    }
    PyTuple_SET_ITEM( tmp_right_name_3, 1, tmp_tuple_element_14 );
    tmp_raise_value_3 = BINARY_OPERATION_REMAINDER( tmp_left_name_3, tmp_right_name_3 );
    Py_DECREF( tmp_right_name_3 );
    if ( tmp_raise_value_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_13;
    }
    exception_type = tmp_raise_type_3;
    Py_INCREF( tmp_raise_type_3 );
    exception_value = tmp_raise_value_3;
    exception_lineno = 74;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_13;
    }
    branch_no_11:;
    }
    goto branch_end_10;
    branch_no_10:;
    {
    PyObject *tmp_assign_source_69;
    tmp_assign_source_69 = PyDict_New();
    assert( tmp_class_creation_3__prepared == NULL );
    tmp_class_creation_3__prepared = tmp_assign_source_69;

    }
    branch_end_10:;
    }
    {
    PyObject *tmp_assign_source_70;
    {
    PyObject *tmp_set_locals_3;
    CHECK_OBJECT( tmp_class_creation_3__prepared );
    tmp_set_locals_3 = tmp_class_creation_3__prepared;
    locals_asn1crypto$keys_74 = tmp_set_locals_3;
    Py_INCREF( tmp_set_locals_3 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_74, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_15;
    }
    }
    {
    tmp_dictset_value = const_str_digest_46cb53cd3909ffccb445c56329d37d55;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_74, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_15;
    }
    }
    {
    tmp_dictset_value = const_str_plain_RSAPrivateKeyVersion;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_74, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_15;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_f6c7516523489b525b47f38caeee5a81_4, codeobj_f6c7516523489b525b47f38caeee5a81, module_asn1crypto$keys, sizeof(void *) );
    frame_f6c7516523489b525b47f38caeee5a81_4 = cache_frame_f6c7516523489b525b47f38caeee5a81_4;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_f6c7516523489b525b47f38caeee5a81_4 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_f6c7516523489b525b47f38caeee5a81_4 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = PyDict_Copy( const_dict_fc766c040c291e927941f45a56c418fe );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_74, const_str_plain__map, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 80;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f6c7516523489b525b47f38caeee5a81_4 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_3;

    frame_exception_exit_4:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f6c7516523489b525b47f38caeee5a81_4 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_f6c7516523489b525b47f38caeee5a81_4, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_f6c7516523489b525b47f38caeee5a81_4->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_f6c7516523489b525b47f38caeee5a81_4, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_f6c7516523489b525b47f38caeee5a81_4,
        type_description_2,
        outline_2_var___class__
    );


    // Release cached frame.
    if ( frame_f6c7516523489b525b47f38caeee5a81_4 == cache_frame_f6c7516523489b525b47f38caeee5a81_4 )
    {
        Py_DECREF( frame_f6c7516523489b525b47f38caeee5a81_4 );
    }
    cache_frame_f6c7516523489b525b47f38caeee5a81_4 = NULL;

    assertFrameObject( frame_f6c7516523489b525b47f38caeee5a81_4 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_3;

    frame_no_exception_3:;
    goto skip_nested_handling_3;
    nested_frame_exit_3:;

    goto try_except_handler_15;
    skip_nested_handling_3:;
    {
    nuitka_bool tmp_condition_result_18;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    CHECK_OBJECT( tmp_class_creation_3__bases );
    tmp_compexpr_left_3 = tmp_class_creation_3__bases;
    CHECK_OBJECT( tmp_class_creation_3__bases_orig );
    tmp_compexpr_right_3 = tmp_class_creation_3__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_15;
    }
    tmp_condition_result_18 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_18 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_12;
    }
    else
    {
        goto branch_no_12;
    }
    branch_yes_12:;
    {
    CHECK_OBJECT( tmp_class_creation_3__bases_orig );
    tmp_dictset_value = tmp_class_creation_3__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_74, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_15;
    }
    }
    branch_no_12:;
    }
    {
    PyObject *tmp_assign_source_71;
    PyObject *tmp_called_name_6;
    PyObject *tmp_args_name_6;
    PyObject *tmp_tuple_element_15;
    PyObject *tmp_kw_name_6;
    CHECK_OBJECT( tmp_class_creation_3__metaclass );
    tmp_called_name_6 = tmp_class_creation_3__metaclass;
    tmp_tuple_element_15 = const_str_plain_RSAPrivateKeyVersion;
    tmp_args_name_6 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_15 );
    PyTuple_SET_ITEM( tmp_args_name_6, 0, tmp_tuple_element_15 );
    CHECK_OBJECT( tmp_class_creation_3__bases );
    tmp_tuple_element_15 = tmp_class_creation_3__bases;
    Py_INCREF( tmp_tuple_element_15 );
    PyTuple_SET_ITEM( tmp_args_name_6, 1, tmp_tuple_element_15 );
    tmp_tuple_element_15 = locals_asn1crypto$keys_74;
    Py_INCREF( tmp_tuple_element_15 );
    PyTuple_SET_ITEM( tmp_args_name_6, 2, tmp_tuple_element_15 );
    CHECK_OBJECT( tmp_class_creation_3__class_decl_dict );
    tmp_kw_name_6 = tmp_class_creation_3__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 74;
    tmp_assign_source_71 = CALL_FUNCTION( tmp_called_name_6, tmp_args_name_6, tmp_kw_name_6 );
    Py_DECREF( tmp_args_name_6 );
    if ( tmp_assign_source_71 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 74;

        goto try_except_handler_15;
    }
    assert( outline_2_var___class__ == NULL );
    outline_2_var___class__ = tmp_assign_source_71;

    }
    {
    CHECK_OBJECT( outline_2_var___class__ );
    tmp_assign_source_70 = outline_2_var___class__;
    Py_INCREF( tmp_assign_source_70 );
    goto try_return_handler_15;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_15:;
    {
    Py_DECREF( locals_asn1crypto$keys_74 );
    locals_asn1crypto$keys_74 = NULL;
    }
    {
    goto try_return_handler_14;
    }
    // Exception handler code:
    try_except_handler_15:;
    exception_keeper_type_13 = exception_type;
    exception_keeper_value_13 = exception_value;
    exception_keeper_tb_13 = exception_tb;
    exception_keeper_lineno_13 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_74 );
    locals_asn1crypto$keys_74 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_13;
    exception_value = exception_keeper_value_13;
    exception_tb = exception_keeper_tb_13;
    exception_lineno = exception_keeper_lineno_13;

    goto try_except_handler_14;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_14:;
    {
    CHECK_OBJECT( (PyObject *)outline_2_var___class__ );
    Py_DECREF( outline_2_var___class__ );
    outline_2_var___class__ = NULL;

    }
    {
    goto outline_result_3;
    }
    // Exception handler code:
    try_except_handler_14:;
    exception_keeper_type_14 = exception_type;
    exception_keeper_value_14 = exception_value;
    exception_keeper_tb_14 = exception_tb;
    exception_keeper_lineno_14 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_14;
    exception_value = exception_keeper_value_14;
    exception_tb = exception_keeper_tb_14;
    exception_lineno = exception_keeper_lineno_14;

    goto outline_exception_3;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_3:;
    exception_lineno = 74;
    goto try_except_handler_13;
    outline_result_3:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPrivateKeyVersion, tmp_assign_source_70 );
    }
    goto try_end_9;
    // Exception handler code:
    try_except_handler_13:;
    exception_keeper_type_15 = exception_type;
    exception_keeper_value_15 = exception_value;
    exception_keeper_tb_15 = exception_tb;
    exception_keeper_lineno_15 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_3__bases );
    tmp_class_creation_3__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_3__class_decl_dict );
    tmp_class_creation_3__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_3__metaclass );
    tmp_class_creation_3__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_3__prepared );
    tmp_class_creation_3__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_15;
    exception_value = exception_keeper_value_15;
    exception_tb = exception_keeper_tb_15;
    exception_lineno = exception_keeper_lineno_15;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_9:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_3__bases );
    Py_DECREF( tmp_class_creation_3__bases );
    tmp_class_creation_3__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_3__class_decl_dict );
    Py_DECREF( tmp_class_creation_3__class_decl_dict );
    tmp_class_creation_3__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_3__metaclass );
    Py_DECREF( tmp_class_creation_3__metaclass );
    tmp_class_creation_3__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_3__prepared );
    Py_DECREF( tmp_class_creation_3__prepared );
    tmp_class_creation_3__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_72;
    PyObject *tmp_tuple_element_16;
    PyObject *tmp_mvar_value_8;
    tmp_mvar_value_8 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_8 == NULL ))
    {
        tmp_mvar_value_8 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_8 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 86;

        goto try_except_handler_16;
    }

    tmp_tuple_element_16 = tmp_mvar_value_8;
    tmp_assign_source_72 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_16 );
    PyTuple_SET_ITEM( tmp_assign_source_72, 0, tmp_tuple_element_16 );
    assert( tmp_class_creation_4__bases_orig == NULL );
    tmp_class_creation_4__bases_orig = tmp_assign_source_72;

    }
    {
    PyObject *tmp_assign_source_73;
    PyObject *tmp_dircall_arg1_4;
    CHECK_OBJECT( tmp_class_creation_4__bases_orig );
    tmp_dircall_arg1_4 = tmp_class_creation_4__bases_orig;
    Py_INCREF( tmp_dircall_arg1_4 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_4};
        tmp_assign_source_73 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_73 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    assert( tmp_class_creation_4__bases == NULL );
    tmp_class_creation_4__bases = tmp_assign_source_73;

    }
    {
    PyObject *tmp_assign_source_74;
    tmp_assign_source_74 = PyDict_New();
    assert( tmp_class_creation_4__class_decl_dict == NULL );
    tmp_class_creation_4__class_decl_dict = tmp_assign_source_74;

    }
    {
    PyObject *tmp_assign_source_75;
    PyObject *tmp_metaclass_name_4;
    nuitka_bool tmp_condition_result_19;
    PyObject *tmp_key_name_10;
    PyObject *tmp_dict_name_10;
    PyObject *tmp_dict_name_11;
    PyObject *tmp_key_name_11;
    nuitka_bool tmp_condition_result_20;
    int tmp_truth_name_4;
    PyObject *tmp_type_arg_7;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    PyObject *tmp_bases_name_4;
    tmp_key_name_10 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_4__class_decl_dict );
    tmp_dict_name_10 = tmp_class_creation_4__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_10, tmp_key_name_10 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    tmp_condition_result_19 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_19 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_7;
    }
    else
    {
        goto condexpr_false_7;
    }
    condexpr_true_7:;
    CHECK_OBJECT( tmp_class_creation_4__class_decl_dict );
    tmp_dict_name_11 = tmp_class_creation_4__class_decl_dict;
    tmp_key_name_11 = const_str_plain_metaclass;
    tmp_metaclass_name_4 = DICT_GET_ITEM( tmp_dict_name_11, tmp_key_name_11 );
    if ( tmp_metaclass_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    goto condexpr_end_7;
    condexpr_false_7:;
    CHECK_OBJECT( tmp_class_creation_4__bases );
    tmp_truth_name_4 = CHECK_IF_TRUE( tmp_class_creation_4__bases );
    if ( tmp_truth_name_4 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    tmp_condition_result_20 = tmp_truth_name_4 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_20 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_8;
    }
    else
    {
        goto condexpr_false_8;
    }
    condexpr_true_8:;
    CHECK_OBJECT( tmp_class_creation_4__bases );
    tmp_subscribed_name_4 = tmp_class_creation_4__bases;
    tmp_subscript_name_4 = const_int_0;
    tmp_type_arg_7 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_4, tmp_subscript_name_4, 0 );
    if ( tmp_type_arg_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    tmp_metaclass_name_4 = BUILTIN_TYPE1( tmp_type_arg_7 );
    Py_DECREF( tmp_type_arg_7 );
    if ( tmp_metaclass_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    goto condexpr_end_8;
    condexpr_false_8:;
    tmp_metaclass_name_4 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_4 );
    condexpr_end_8:;
    condexpr_end_7:;
    CHECK_OBJECT( tmp_class_creation_4__bases );
    tmp_bases_name_4 = tmp_class_creation_4__bases;
    tmp_assign_source_75 = SELECT_METACLASS( tmp_metaclass_name_4, tmp_bases_name_4 );
    Py_DECREF( tmp_metaclass_name_4 );
    if ( tmp_assign_source_75 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    assert( tmp_class_creation_4__metaclass == NULL );
    tmp_class_creation_4__metaclass = tmp_assign_source_75;

    }
    {
    nuitka_bool tmp_condition_result_21;
    PyObject *tmp_key_name_12;
    PyObject *tmp_dict_name_12;
    tmp_key_name_12 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_4__class_decl_dict );
    tmp_dict_name_12 = tmp_class_creation_4__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_12, tmp_key_name_12 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    tmp_condition_result_21 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_21 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_13;
    }
    else
    {
        goto branch_no_13;
    }
    branch_yes_13:;
    {
    CHECK_OBJECT( tmp_class_creation_4__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_4__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    }
    branch_no_13:;
    }
    {
    nuitka_bool tmp_condition_result_22;
    PyObject *tmp_source_name_13;
    CHECK_OBJECT( tmp_class_creation_4__metaclass );
    tmp_source_name_13 = tmp_class_creation_4__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_13, const_str_plain___prepare__ );
    tmp_condition_result_22 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_22 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_14;
    }
    else
    {
        goto branch_no_14;
    }
    branch_yes_14:;
    {
    PyObject *tmp_assign_source_76;
    PyObject *tmp_called_name_7;
    PyObject *tmp_source_name_14;
    PyObject *tmp_args_name_7;
    PyObject *tmp_tuple_element_17;
    PyObject *tmp_kw_name_7;
    CHECK_OBJECT( tmp_class_creation_4__metaclass );
    tmp_source_name_14 = tmp_class_creation_4__metaclass;
    tmp_called_name_7 = LOOKUP_ATTRIBUTE( tmp_source_name_14, const_str_plain___prepare__ );
    if ( tmp_called_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    tmp_tuple_element_17 = const_str_plain_RSAPrivateKey;
    tmp_args_name_7 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_17 );
    PyTuple_SET_ITEM( tmp_args_name_7, 0, tmp_tuple_element_17 );
    CHECK_OBJECT( tmp_class_creation_4__bases );
    tmp_tuple_element_17 = tmp_class_creation_4__bases;
    Py_INCREF( tmp_tuple_element_17 );
    PyTuple_SET_ITEM( tmp_args_name_7, 1, tmp_tuple_element_17 );
    CHECK_OBJECT( tmp_class_creation_4__class_decl_dict );
    tmp_kw_name_7 = tmp_class_creation_4__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 86;
    tmp_assign_source_76 = CALL_FUNCTION( tmp_called_name_7, tmp_args_name_7, tmp_kw_name_7 );
    Py_DECREF( tmp_called_name_7 );
    Py_DECREF( tmp_args_name_7 );
    if ( tmp_assign_source_76 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    assert( tmp_class_creation_4__prepared == NULL );
    tmp_class_creation_4__prepared = tmp_assign_source_76;

    }
    {
    nuitka_bool tmp_condition_result_23;
    PyObject *tmp_operand_name_4;
    PyObject *tmp_source_name_15;
    CHECK_OBJECT( tmp_class_creation_4__prepared );
    tmp_source_name_15 = tmp_class_creation_4__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_15, const_str_plain___getitem__ );
    tmp_operand_name_4 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    tmp_condition_result_23 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_23 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_15;
    }
    else
    {
        goto branch_no_15;
    }
    branch_yes_15:;
    {
    PyObject *tmp_raise_type_4;
    PyObject *tmp_raise_value_4;
    PyObject *tmp_left_name_4;
    PyObject *tmp_right_name_4;
    PyObject *tmp_tuple_element_18;
    PyObject *tmp_getattr_target_4;
    PyObject *tmp_getattr_attr_4;
    PyObject *tmp_getattr_default_4;
    PyObject *tmp_source_name_16;
    PyObject *tmp_type_arg_8;
    tmp_raise_type_4 = PyExc_TypeError;
    tmp_left_name_4 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_4__metaclass );
    tmp_getattr_target_4 = tmp_class_creation_4__metaclass;
    tmp_getattr_attr_4 = const_str_plain___name__;
    tmp_getattr_default_4 = const_str_angle_metaclass;
    tmp_tuple_element_18 = BUILTIN_GETATTR( tmp_getattr_target_4, tmp_getattr_attr_4, tmp_getattr_default_4 );
    if ( tmp_tuple_element_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    tmp_right_name_4 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_4, 0, tmp_tuple_element_18 );
    CHECK_OBJECT( tmp_class_creation_4__prepared );
    tmp_type_arg_8 = tmp_class_creation_4__prepared;
    tmp_source_name_16 = BUILTIN_TYPE1( tmp_type_arg_8 );
    assert( !(tmp_source_name_16 == NULL) );
    tmp_tuple_element_18 = LOOKUP_ATTRIBUTE( tmp_source_name_16, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_16 );
    if ( tmp_tuple_element_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_4 );

        exception_lineno = 86;

        goto try_except_handler_16;
    }
    PyTuple_SET_ITEM( tmp_right_name_4, 1, tmp_tuple_element_18 );
    tmp_raise_value_4 = BINARY_OPERATION_REMAINDER( tmp_left_name_4, tmp_right_name_4 );
    Py_DECREF( tmp_right_name_4 );
    if ( tmp_raise_value_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_16;
    }
    exception_type = tmp_raise_type_4;
    Py_INCREF( tmp_raise_type_4 );
    exception_value = tmp_raise_value_4;
    exception_lineno = 86;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_16;
    }
    branch_no_15:;
    }
    goto branch_end_14;
    branch_no_14:;
    {
    PyObject *tmp_assign_source_77;
    tmp_assign_source_77 = PyDict_New();
    assert( tmp_class_creation_4__prepared == NULL );
    tmp_class_creation_4__prepared = tmp_assign_source_77;

    }
    branch_end_14:;
    }
    {
    PyObject *tmp_assign_source_78;
    {
    PyObject *tmp_set_locals_4;
    CHECK_OBJECT( tmp_class_creation_4__prepared );
    tmp_set_locals_4 = tmp_class_creation_4__prepared;
    locals_asn1crypto$keys_86 = tmp_set_locals_4;
    Py_INCREF( tmp_set_locals_4 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_86, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_18;
    }
    }
    {
    tmp_dictset_value = const_str_digest_dfffa57b1c079280c865f4e54db3ec77;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_86, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_18;
    }
    }
    {
    tmp_dictset_value = const_str_plain_RSAPrivateKey;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_86, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_18;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_67895bdc1f5f0572193aced6a6c70bee_5, codeobj_67895bdc1f5f0572193aced6a6c70bee, module_asn1crypto$keys, sizeof(void *) );
    frame_67895bdc1f5f0572193aced6a6c70bee_5 = cache_frame_67895bdc1f5f0572193aced6a6c70bee_5;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_67895bdc1f5f0572193aced6a6c70bee_5 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_67895bdc1f5f0572193aced6a6c70bee_5 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_2;
    PyObject *tmp_tuple_element_19;
    PyObject *tmp_mvar_value_9;
    PyObject *tmp_tuple_element_20;
    PyObject *tmp_mvar_value_10;
    PyObject *tmp_tuple_element_21;
    PyObject *tmp_mvar_value_11;
    PyObject *tmp_tuple_element_22;
    PyObject *tmp_mvar_value_12;
    PyObject *tmp_tuple_element_23;
    PyObject *tmp_mvar_value_13;
    PyObject *tmp_tuple_element_24;
    PyObject *tmp_mvar_value_14;
    PyObject *tmp_tuple_element_25;
    PyObject *tmp_mvar_value_15;
    PyObject *tmp_tuple_element_26;
    PyObject *tmp_mvar_value_16;
    PyObject *tmp_tuple_element_27;
    PyObject *tmp_mvar_value_17;
    PyObject *tmp_tuple_element_28;
    PyObject *tmp_mvar_value_18;
    tmp_tuple_element_19 = const_str_plain_version;
    tmp_list_element_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_19 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_19 );
    tmp_tuple_element_19 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_RSAPrivateKeyVersion );

    if ( tmp_tuple_element_19 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_9 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPrivateKeyVersion );

        if (unlikely( tmp_mvar_value_9 == NULL ))
        {
            tmp_mvar_value_9 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_RSAPrivateKeyVersion );
        }

        if ( tmp_mvar_value_9 == NULL )
        {
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "RSAPrivateKeyVersion" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 92;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_19 = tmp_mvar_value_9;
        Py_INCREF( tmp_tuple_element_19 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_19 );
    tmp_dictset_value = PyList_New( 10 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_2 );
    tmp_tuple_element_20 = const_str_plain_modulus;
    tmp_list_element_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_20 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_20 );
    tmp_tuple_element_20 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_Integer );

    if ( tmp_tuple_element_20 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_10 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_10 == NULL ))
        {
            tmp_mvar_value_10 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_10 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 93;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_20 = tmp_mvar_value_10;
        Py_INCREF( tmp_tuple_element_20 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_20 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_2 );
    tmp_tuple_element_21 = const_str_plain_public_exponent;
    tmp_list_element_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_21 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_21 );
    tmp_tuple_element_21 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_Integer );

    if ( tmp_tuple_element_21 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_11 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_11 == NULL ))
        {
            tmp_mvar_value_11 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_11 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 94;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_21 = tmp_mvar_value_11;
        Py_INCREF( tmp_tuple_element_21 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_21 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_2 );
    tmp_tuple_element_22 = const_str_plain_private_exponent;
    tmp_list_element_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_22 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_22 );
    tmp_tuple_element_22 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_Integer );

    if ( tmp_tuple_element_22 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_12 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_12 == NULL ))
        {
            tmp_mvar_value_12 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_12 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 95;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_22 = tmp_mvar_value_12;
        Py_INCREF( tmp_tuple_element_22 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_22 );
    PyList_SET_ITEM( tmp_dictset_value, 3, tmp_list_element_2 );
    tmp_tuple_element_23 = const_str_plain_prime1;
    tmp_list_element_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_23 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_23 );
    tmp_tuple_element_23 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_Integer );

    if ( tmp_tuple_element_23 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_13 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_13 == NULL ))
        {
            tmp_mvar_value_13 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_13 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 96;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_23 = tmp_mvar_value_13;
        Py_INCREF( tmp_tuple_element_23 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_23 );
    PyList_SET_ITEM( tmp_dictset_value, 4, tmp_list_element_2 );
    tmp_tuple_element_24 = const_str_plain_prime2;
    tmp_list_element_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_24 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_24 );
    tmp_tuple_element_24 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_Integer );

    if ( tmp_tuple_element_24 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_14 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_14 == NULL ))
        {
            tmp_mvar_value_14 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_14 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 97;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_24 = tmp_mvar_value_14;
        Py_INCREF( tmp_tuple_element_24 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_24 );
    PyList_SET_ITEM( tmp_dictset_value, 5, tmp_list_element_2 );
    tmp_tuple_element_25 = const_str_plain_exponent1;
    tmp_list_element_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_25 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_25 );
    tmp_tuple_element_25 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_Integer );

    if ( tmp_tuple_element_25 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_15 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_15 == NULL ))
        {
            tmp_mvar_value_15 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_15 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 98;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_25 = tmp_mvar_value_15;
        Py_INCREF( tmp_tuple_element_25 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_25 );
    PyList_SET_ITEM( tmp_dictset_value, 6, tmp_list_element_2 );
    tmp_tuple_element_26 = const_str_plain_exponent2;
    tmp_list_element_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_26 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_26 );
    tmp_tuple_element_26 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_Integer );

    if ( tmp_tuple_element_26 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_16 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_16 == NULL ))
        {
            tmp_mvar_value_16 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_16 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 99;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_26 = tmp_mvar_value_16;
        Py_INCREF( tmp_tuple_element_26 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_26 );
    PyList_SET_ITEM( tmp_dictset_value, 7, tmp_list_element_2 );
    tmp_tuple_element_27 = const_str_plain_coefficient;
    tmp_list_element_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_27 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_27 );
    tmp_tuple_element_27 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_Integer );

    if ( tmp_tuple_element_27 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_17 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_17 == NULL ))
        {
            tmp_mvar_value_17 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_17 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 100;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_27 = tmp_mvar_value_17;
        Py_INCREF( tmp_tuple_element_27 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_27 );
    PyList_SET_ITEM( tmp_dictset_value, 8, tmp_list_element_2 );
    tmp_tuple_element_28 = const_str_plain_other_prime_infos;
    tmp_list_element_2 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_28 );
    PyTuple_SET_ITEM( tmp_list_element_2, 0, tmp_tuple_element_28 );
    tmp_tuple_element_28 = PyObject_GetItem( locals_asn1crypto$keys_86, const_str_plain_OtherPrimeInfos );

    if ( tmp_tuple_element_28 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_18 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OtherPrimeInfos );

        if (unlikely( tmp_mvar_value_18 == NULL ))
        {
            tmp_mvar_value_18 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_OtherPrimeInfos );
        }

        if ( tmp_mvar_value_18 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_2 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "OtherPrimeInfos" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 101;
            type_description_2 = "o";
            goto frame_exception_exit_5;
        }

        tmp_tuple_element_28 = tmp_mvar_value_18;
        Py_INCREF( tmp_tuple_element_28 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_2, 1, tmp_tuple_element_28 );
    tmp_tuple_element_28 = PyDict_Copy( const_dict_e0d63c4beb9400e233c3204dcf4f1861 );
    PyTuple_SET_ITEM( tmp_list_element_2, 2, tmp_tuple_element_28 );
    PyList_SET_ITEM( tmp_dictset_value, 9, tmp_list_element_2 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_86, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 91;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_67895bdc1f5f0572193aced6a6c70bee_5 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_4;

    frame_exception_exit_5:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_67895bdc1f5f0572193aced6a6c70bee_5 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_67895bdc1f5f0572193aced6a6c70bee_5, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_67895bdc1f5f0572193aced6a6c70bee_5->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_67895bdc1f5f0572193aced6a6c70bee_5, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_67895bdc1f5f0572193aced6a6c70bee_5,
        type_description_2,
        outline_3_var___class__
    );


    // Release cached frame.
    if ( frame_67895bdc1f5f0572193aced6a6c70bee_5 == cache_frame_67895bdc1f5f0572193aced6a6c70bee_5 )
    {
        Py_DECREF( frame_67895bdc1f5f0572193aced6a6c70bee_5 );
    }
    cache_frame_67895bdc1f5f0572193aced6a6c70bee_5 = NULL;

    assertFrameObject( frame_67895bdc1f5f0572193aced6a6c70bee_5 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_4;

    frame_no_exception_4:;
    goto skip_nested_handling_4;
    nested_frame_exit_4:;

    goto try_except_handler_18;
    skip_nested_handling_4:;
    {
    nuitka_bool tmp_condition_result_24;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    CHECK_OBJECT( tmp_class_creation_4__bases );
    tmp_compexpr_left_4 = tmp_class_creation_4__bases;
    CHECK_OBJECT( tmp_class_creation_4__bases_orig );
    tmp_compexpr_right_4 = tmp_class_creation_4__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_4, tmp_compexpr_right_4 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_18;
    }
    tmp_condition_result_24 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_24 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_16;
    }
    else
    {
        goto branch_no_16;
    }
    branch_yes_16:;
    {
    CHECK_OBJECT( tmp_class_creation_4__bases_orig );
    tmp_dictset_value = tmp_class_creation_4__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_86, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_18;
    }
    }
    branch_no_16:;
    }
    {
    PyObject *tmp_assign_source_79;
    PyObject *tmp_called_name_8;
    PyObject *tmp_args_name_8;
    PyObject *tmp_tuple_element_29;
    PyObject *tmp_kw_name_8;
    CHECK_OBJECT( tmp_class_creation_4__metaclass );
    tmp_called_name_8 = tmp_class_creation_4__metaclass;
    tmp_tuple_element_29 = const_str_plain_RSAPrivateKey;
    tmp_args_name_8 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_29 );
    PyTuple_SET_ITEM( tmp_args_name_8, 0, tmp_tuple_element_29 );
    CHECK_OBJECT( tmp_class_creation_4__bases );
    tmp_tuple_element_29 = tmp_class_creation_4__bases;
    Py_INCREF( tmp_tuple_element_29 );
    PyTuple_SET_ITEM( tmp_args_name_8, 1, tmp_tuple_element_29 );
    tmp_tuple_element_29 = locals_asn1crypto$keys_86;
    Py_INCREF( tmp_tuple_element_29 );
    PyTuple_SET_ITEM( tmp_args_name_8, 2, tmp_tuple_element_29 );
    CHECK_OBJECT( tmp_class_creation_4__class_decl_dict );
    tmp_kw_name_8 = tmp_class_creation_4__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 86;
    tmp_assign_source_79 = CALL_FUNCTION( tmp_called_name_8, tmp_args_name_8, tmp_kw_name_8 );
    Py_DECREF( tmp_args_name_8 );
    if ( tmp_assign_source_79 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 86;

        goto try_except_handler_18;
    }
    assert( outline_3_var___class__ == NULL );
    outline_3_var___class__ = tmp_assign_source_79;

    }
    {
    CHECK_OBJECT( outline_3_var___class__ );
    tmp_assign_source_78 = outline_3_var___class__;
    Py_INCREF( tmp_assign_source_78 );
    goto try_return_handler_18;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_18:;
    {
    Py_DECREF( locals_asn1crypto$keys_86 );
    locals_asn1crypto$keys_86 = NULL;
    }
    {
    goto try_return_handler_17;
    }
    // Exception handler code:
    try_except_handler_18:;
    exception_keeper_type_16 = exception_type;
    exception_keeper_value_16 = exception_value;
    exception_keeper_tb_16 = exception_tb;
    exception_keeper_lineno_16 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_86 );
    locals_asn1crypto$keys_86 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_16;
    exception_value = exception_keeper_value_16;
    exception_tb = exception_keeper_tb_16;
    exception_lineno = exception_keeper_lineno_16;

    goto try_except_handler_17;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_17:;
    {
    CHECK_OBJECT( (PyObject *)outline_3_var___class__ );
    Py_DECREF( outline_3_var___class__ );
    outline_3_var___class__ = NULL;

    }
    {
    goto outline_result_4;
    }
    // Exception handler code:
    try_except_handler_17:;
    exception_keeper_type_17 = exception_type;
    exception_keeper_value_17 = exception_value;
    exception_keeper_tb_17 = exception_tb;
    exception_keeper_lineno_17 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_17;
    exception_value = exception_keeper_value_17;
    exception_tb = exception_keeper_tb_17;
    exception_lineno = exception_keeper_lineno_17;

    goto outline_exception_4;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_4:;
    exception_lineno = 86;
    goto try_except_handler_16;
    outline_result_4:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPrivateKey, tmp_assign_source_78 );
    }
    goto try_end_10;
    // Exception handler code:
    try_except_handler_16:;
    exception_keeper_type_18 = exception_type;
    exception_keeper_value_18 = exception_value;
    exception_keeper_tb_18 = exception_tb;
    exception_keeper_lineno_18 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_4__bases );
    tmp_class_creation_4__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_4__class_decl_dict );
    tmp_class_creation_4__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_4__metaclass );
    tmp_class_creation_4__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_4__prepared );
    tmp_class_creation_4__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_18;
    exception_value = exception_keeper_value_18;
    exception_tb = exception_keeper_tb_18;
    exception_lineno = exception_keeper_lineno_18;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_10:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_4__bases );
    Py_DECREF( tmp_class_creation_4__bases );
    tmp_class_creation_4__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_4__class_decl_dict );
    Py_DECREF( tmp_class_creation_4__class_decl_dict );
    tmp_class_creation_4__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_4__metaclass );
    Py_DECREF( tmp_class_creation_4__metaclass );
    tmp_class_creation_4__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_4__prepared );
    Py_DECREF( tmp_class_creation_4__prepared );
    tmp_class_creation_4__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_80;
    PyObject *tmp_tuple_element_30;
    PyObject *tmp_mvar_value_19;
    tmp_mvar_value_19 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_19 == NULL ))
    {
        tmp_mvar_value_19 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_19 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 105;

        goto try_except_handler_19;
    }

    tmp_tuple_element_30 = tmp_mvar_value_19;
    tmp_assign_source_80 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_30 );
    PyTuple_SET_ITEM( tmp_assign_source_80, 0, tmp_tuple_element_30 );
    assert( tmp_class_creation_5__bases_orig == NULL );
    tmp_class_creation_5__bases_orig = tmp_assign_source_80;

    }
    {
    PyObject *tmp_assign_source_81;
    PyObject *tmp_dircall_arg1_5;
    CHECK_OBJECT( tmp_class_creation_5__bases_orig );
    tmp_dircall_arg1_5 = tmp_class_creation_5__bases_orig;
    Py_INCREF( tmp_dircall_arg1_5 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_5};
        tmp_assign_source_81 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_81 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    assert( tmp_class_creation_5__bases == NULL );
    tmp_class_creation_5__bases = tmp_assign_source_81;

    }
    {
    PyObject *tmp_assign_source_82;
    tmp_assign_source_82 = PyDict_New();
    assert( tmp_class_creation_5__class_decl_dict == NULL );
    tmp_class_creation_5__class_decl_dict = tmp_assign_source_82;

    }
    {
    PyObject *tmp_assign_source_83;
    PyObject *tmp_metaclass_name_5;
    nuitka_bool tmp_condition_result_25;
    PyObject *tmp_key_name_13;
    PyObject *tmp_dict_name_13;
    PyObject *tmp_dict_name_14;
    PyObject *tmp_key_name_14;
    nuitka_bool tmp_condition_result_26;
    int tmp_truth_name_5;
    PyObject *tmp_type_arg_9;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    PyObject *tmp_bases_name_5;
    tmp_key_name_13 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_5__class_decl_dict );
    tmp_dict_name_13 = tmp_class_creation_5__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_13, tmp_key_name_13 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    tmp_condition_result_25 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_25 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_9;
    }
    else
    {
        goto condexpr_false_9;
    }
    condexpr_true_9:;
    CHECK_OBJECT( tmp_class_creation_5__class_decl_dict );
    tmp_dict_name_14 = tmp_class_creation_5__class_decl_dict;
    tmp_key_name_14 = const_str_plain_metaclass;
    tmp_metaclass_name_5 = DICT_GET_ITEM( tmp_dict_name_14, tmp_key_name_14 );
    if ( tmp_metaclass_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    goto condexpr_end_9;
    condexpr_false_9:;
    CHECK_OBJECT( tmp_class_creation_5__bases );
    tmp_truth_name_5 = CHECK_IF_TRUE( tmp_class_creation_5__bases );
    if ( tmp_truth_name_5 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    tmp_condition_result_26 = tmp_truth_name_5 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_26 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_10;
    }
    else
    {
        goto condexpr_false_10;
    }
    condexpr_true_10:;
    CHECK_OBJECT( tmp_class_creation_5__bases );
    tmp_subscribed_name_5 = tmp_class_creation_5__bases;
    tmp_subscript_name_5 = const_int_0;
    tmp_type_arg_9 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_5, tmp_subscript_name_5, 0 );
    if ( tmp_type_arg_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    tmp_metaclass_name_5 = BUILTIN_TYPE1( tmp_type_arg_9 );
    Py_DECREF( tmp_type_arg_9 );
    if ( tmp_metaclass_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    goto condexpr_end_10;
    condexpr_false_10:;
    tmp_metaclass_name_5 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_5 );
    condexpr_end_10:;
    condexpr_end_9:;
    CHECK_OBJECT( tmp_class_creation_5__bases );
    tmp_bases_name_5 = tmp_class_creation_5__bases;
    tmp_assign_source_83 = SELECT_METACLASS( tmp_metaclass_name_5, tmp_bases_name_5 );
    Py_DECREF( tmp_metaclass_name_5 );
    if ( tmp_assign_source_83 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    assert( tmp_class_creation_5__metaclass == NULL );
    tmp_class_creation_5__metaclass = tmp_assign_source_83;

    }
    {
    nuitka_bool tmp_condition_result_27;
    PyObject *tmp_key_name_15;
    PyObject *tmp_dict_name_15;
    tmp_key_name_15 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_5__class_decl_dict );
    tmp_dict_name_15 = tmp_class_creation_5__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_15, tmp_key_name_15 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    tmp_condition_result_27 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_27 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_17;
    }
    else
    {
        goto branch_no_17;
    }
    branch_yes_17:;
    {
    CHECK_OBJECT( tmp_class_creation_5__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_5__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    }
    branch_no_17:;
    }
    {
    nuitka_bool tmp_condition_result_28;
    PyObject *tmp_source_name_17;
    CHECK_OBJECT( tmp_class_creation_5__metaclass );
    tmp_source_name_17 = tmp_class_creation_5__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_17, const_str_plain___prepare__ );
    tmp_condition_result_28 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_28 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_18;
    }
    else
    {
        goto branch_no_18;
    }
    branch_yes_18:;
    {
    PyObject *tmp_assign_source_84;
    PyObject *tmp_called_name_9;
    PyObject *tmp_source_name_18;
    PyObject *tmp_args_name_9;
    PyObject *tmp_tuple_element_31;
    PyObject *tmp_kw_name_9;
    CHECK_OBJECT( tmp_class_creation_5__metaclass );
    tmp_source_name_18 = tmp_class_creation_5__metaclass;
    tmp_called_name_9 = LOOKUP_ATTRIBUTE( tmp_source_name_18, const_str_plain___prepare__ );
    if ( tmp_called_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    tmp_tuple_element_31 = const_str_plain_RSAPublicKey;
    tmp_args_name_9 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_31 );
    PyTuple_SET_ITEM( tmp_args_name_9, 0, tmp_tuple_element_31 );
    CHECK_OBJECT( tmp_class_creation_5__bases );
    tmp_tuple_element_31 = tmp_class_creation_5__bases;
    Py_INCREF( tmp_tuple_element_31 );
    PyTuple_SET_ITEM( tmp_args_name_9, 1, tmp_tuple_element_31 );
    CHECK_OBJECT( tmp_class_creation_5__class_decl_dict );
    tmp_kw_name_9 = tmp_class_creation_5__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 105;
    tmp_assign_source_84 = CALL_FUNCTION( tmp_called_name_9, tmp_args_name_9, tmp_kw_name_9 );
    Py_DECREF( tmp_called_name_9 );
    Py_DECREF( tmp_args_name_9 );
    if ( tmp_assign_source_84 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    assert( tmp_class_creation_5__prepared == NULL );
    tmp_class_creation_5__prepared = tmp_assign_source_84;

    }
    {
    nuitka_bool tmp_condition_result_29;
    PyObject *tmp_operand_name_5;
    PyObject *tmp_source_name_19;
    CHECK_OBJECT( tmp_class_creation_5__prepared );
    tmp_source_name_19 = tmp_class_creation_5__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_19, const_str_plain___getitem__ );
    tmp_operand_name_5 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_5 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    tmp_condition_result_29 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_29 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_19;
    }
    else
    {
        goto branch_no_19;
    }
    branch_yes_19:;
    {
    PyObject *tmp_raise_type_5;
    PyObject *tmp_raise_value_5;
    PyObject *tmp_left_name_5;
    PyObject *tmp_right_name_5;
    PyObject *tmp_tuple_element_32;
    PyObject *tmp_getattr_target_5;
    PyObject *tmp_getattr_attr_5;
    PyObject *tmp_getattr_default_5;
    PyObject *tmp_source_name_20;
    PyObject *tmp_type_arg_10;
    tmp_raise_type_5 = PyExc_TypeError;
    tmp_left_name_5 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_5__metaclass );
    tmp_getattr_target_5 = tmp_class_creation_5__metaclass;
    tmp_getattr_attr_5 = const_str_plain___name__;
    tmp_getattr_default_5 = const_str_angle_metaclass;
    tmp_tuple_element_32 = BUILTIN_GETATTR( tmp_getattr_target_5, tmp_getattr_attr_5, tmp_getattr_default_5 );
    if ( tmp_tuple_element_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    tmp_right_name_5 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_5, 0, tmp_tuple_element_32 );
    CHECK_OBJECT( tmp_class_creation_5__prepared );
    tmp_type_arg_10 = tmp_class_creation_5__prepared;
    tmp_source_name_20 = BUILTIN_TYPE1( tmp_type_arg_10 );
    assert( !(tmp_source_name_20 == NULL) );
    tmp_tuple_element_32 = LOOKUP_ATTRIBUTE( tmp_source_name_20, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_20 );
    if ( tmp_tuple_element_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_5 );

        exception_lineno = 105;

        goto try_except_handler_19;
    }
    PyTuple_SET_ITEM( tmp_right_name_5, 1, tmp_tuple_element_32 );
    tmp_raise_value_5 = BINARY_OPERATION_REMAINDER( tmp_left_name_5, tmp_right_name_5 );
    Py_DECREF( tmp_right_name_5 );
    if ( tmp_raise_value_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_19;
    }
    exception_type = tmp_raise_type_5;
    Py_INCREF( tmp_raise_type_5 );
    exception_value = tmp_raise_value_5;
    exception_lineno = 105;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_19;
    }
    branch_no_19:;
    }
    goto branch_end_18;
    branch_no_18:;
    {
    PyObject *tmp_assign_source_85;
    tmp_assign_source_85 = PyDict_New();
    assert( tmp_class_creation_5__prepared == NULL );
    tmp_class_creation_5__prepared = tmp_assign_source_85;

    }
    branch_end_18:;
    }
    {
    PyObject *tmp_assign_source_86;
    {
    PyObject *tmp_set_locals_5;
    CHECK_OBJECT( tmp_class_creation_5__prepared );
    tmp_set_locals_5 = tmp_class_creation_5__prepared;
    locals_asn1crypto$keys_105 = tmp_set_locals_5;
    Py_INCREF( tmp_set_locals_5 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_105, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_21;
    }
    }
    {
    tmp_dictset_value = const_str_digest_8a431f309df2e6317313743fcd7d82d1;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_105, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_21;
    }
    }
    {
    tmp_dictset_value = const_str_plain_RSAPublicKey;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_105, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_21;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_5d552787634774d4ed8dfe16ef2489f5_6, codeobj_5d552787634774d4ed8dfe16ef2489f5, module_asn1crypto$keys, sizeof(void *) );
    frame_5d552787634774d4ed8dfe16ef2489f5_6 = cache_frame_5d552787634774d4ed8dfe16ef2489f5_6;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_5d552787634774d4ed8dfe16ef2489f5_6 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_5d552787634774d4ed8dfe16ef2489f5_6 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_3;
    PyObject *tmp_tuple_element_33;
    PyObject *tmp_mvar_value_20;
    PyObject *tmp_tuple_element_34;
    PyObject *tmp_mvar_value_21;
    tmp_tuple_element_33 = const_str_plain_modulus;
    tmp_list_element_3 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_33 );
    PyTuple_SET_ITEM( tmp_list_element_3, 0, tmp_tuple_element_33 );
    tmp_tuple_element_33 = PyObject_GetItem( locals_asn1crypto$keys_105, const_str_plain_Integer );

    if ( tmp_tuple_element_33 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_20 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_20 == NULL ))
        {
            tmp_mvar_value_20 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_20 == NULL )
        {
            Py_DECREF( tmp_list_element_3 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 111;
            type_description_2 = "o";
            goto frame_exception_exit_6;
        }

        tmp_tuple_element_33 = tmp_mvar_value_20;
        Py_INCREF( tmp_tuple_element_33 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_3, 1, tmp_tuple_element_33 );
    tmp_dictset_value = PyList_New( 2 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_3 );
    tmp_tuple_element_34 = const_str_plain_public_exponent;
    tmp_list_element_3 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_34 );
    PyTuple_SET_ITEM( tmp_list_element_3, 0, tmp_tuple_element_34 );
    tmp_tuple_element_34 = PyObject_GetItem( locals_asn1crypto$keys_105, const_str_plain_Integer );

    if ( tmp_tuple_element_34 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_21 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_21 == NULL ))
        {
            tmp_mvar_value_21 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_21 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_3 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 112;
            type_description_2 = "o";
            goto frame_exception_exit_6;
        }

        tmp_tuple_element_34 = tmp_mvar_value_21;
        Py_INCREF( tmp_tuple_element_34 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_3, 1, tmp_tuple_element_34 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_3 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_105, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 110;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_5d552787634774d4ed8dfe16ef2489f5_6 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_5;

    frame_exception_exit_6:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_5d552787634774d4ed8dfe16ef2489f5_6 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_5d552787634774d4ed8dfe16ef2489f5_6, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_5d552787634774d4ed8dfe16ef2489f5_6->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_5d552787634774d4ed8dfe16ef2489f5_6, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_5d552787634774d4ed8dfe16ef2489f5_6,
        type_description_2,
        outline_4_var___class__
    );


    // Release cached frame.
    if ( frame_5d552787634774d4ed8dfe16ef2489f5_6 == cache_frame_5d552787634774d4ed8dfe16ef2489f5_6 )
    {
        Py_DECREF( frame_5d552787634774d4ed8dfe16ef2489f5_6 );
    }
    cache_frame_5d552787634774d4ed8dfe16ef2489f5_6 = NULL;

    assertFrameObject( frame_5d552787634774d4ed8dfe16ef2489f5_6 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_5;

    frame_no_exception_5:;
    goto skip_nested_handling_5;
    nested_frame_exit_5:;

    goto try_except_handler_21;
    skip_nested_handling_5:;
    {
    nuitka_bool tmp_condition_result_30;
    PyObject *tmp_compexpr_left_5;
    PyObject *tmp_compexpr_right_5;
    CHECK_OBJECT( tmp_class_creation_5__bases );
    tmp_compexpr_left_5 = tmp_class_creation_5__bases;
    CHECK_OBJECT( tmp_class_creation_5__bases_orig );
    tmp_compexpr_right_5 = tmp_class_creation_5__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_5, tmp_compexpr_right_5 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_21;
    }
    tmp_condition_result_30 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_30 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_20;
    }
    else
    {
        goto branch_no_20;
    }
    branch_yes_20:;
    {
    CHECK_OBJECT( tmp_class_creation_5__bases_orig );
    tmp_dictset_value = tmp_class_creation_5__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_105, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_21;
    }
    }
    branch_no_20:;
    }
    {
    PyObject *tmp_assign_source_87;
    PyObject *tmp_called_name_10;
    PyObject *tmp_args_name_10;
    PyObject *tmp_tuple_element_35;
    PyObject *tmp_kw_name_10;
    CHECK_OBJECT( tmp_class_creation_5__metaclass );
    tmp_called_name_10 = tmp_class_creation_5__metaclass;
    tmp_tuple_element_35 = const_str_plain_RSAPublicKey;
    tmp_args_name_10 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_35 );
    PyTuple_SET_ITEM( tmp_args_name_10, 0, tmp_tuple_element_35 );
    CHECK_OBJECT( tmp_class_creation_5__bases );
    tmp_tuple_element_35 = tmp_class_creation_5__bases;
    Py_INCREF( tmp_tuple_element_35 );
    PyTuple_SET_ITEM( tmp_args_name_10, 1, tmp_tuple_element_35 );
    tmp_tuple_element_35 = locals_asn1crypto$keys_105;
    Py_INCREF( tmp_tuple_element_35 );
    PyTuple_SET_ITEM( tmp_args_name_10, 2, tmp_tuple_element_35 );
    CHECK_OBJECT( tmp_class_creation_5__class_decl_dict );
    tmp_kw_name_10 = tmp_class_creation_5__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 105;
    tmp_assign_source_87 = CALL_FUNCTION( tmp_called_name_10, tmp_args_name_10, tmp_kw_name_10 );
    Py_DECREF( tmp_args_name_10 );
    if ( tmp_assign_source_87 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 105;

        goto try_except_handler_21;
    }
    assert( outline_4_var___class__ == NULL );
    outline_4_var___class__ = tmp_assign_source_87;

    }
    {
    CHECK_OBJECT( outline_4_var___class__ );
    tmp_assign_source_86 = outline_4_var___class__;
    Py_INCREF( tmp_assign_source_86 );
    goto try_return_handler_21;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_21:;
    {
    Py_DECREF( locals_asn1crypto$keys_105 );
    locals_asn1crypto$keys_105 = NULL;
    }
    {
    goto try_return_handler_20;
    }
    // Exception handler code:
    try_except_handler_21:;
    exception_keeper_type_19 = exception_type;
    exception_keeper_value_19 = exception_value;
    exception_keeper_tb_19 = exception_tb;
    exception_keeper_lineno_19 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_105 );
    locals_asn1crypto$keys_105 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_19;
    exception_value = exception_keeper_value_19;
    exception_tb = exception_keeper_tb_19;
    exception_lineno = exception_keeper_lineno_19;

    goto try_except_handler_20;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_20:;
    {
    CHECK_OBJECT( (PyObject *)outline_4_var___class__ );
    Py_DECREF( outline_4_var___class__ );
    outline_4_var___class__ = NULL;

    }
    {
    goto outline_result_5;
    }
    // Exception handler code:
    try_except_handler_20:;
    exception_keeper_type_20 = exception_type;
    exception_keeper_value_20 = exception_value;
    exception_keeper_tb_20 = exception_tb;
    exception_keeper_lineno_20 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_20;
    exception_value = exception_keeper_value_20;
    exception_tb = exception_keeper_tb_20;
    exception_lineno = exception_keeper_lineno_20;

    goto outline_exception_5;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_5:;
    exception_lineno = 105;
    goto try_except_handler_19;
    outline_result_5:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAPublicKey, tmp_assign_source_86 );
    }
    goto try_end_11;
    // Exception handler code:
    try_except_handler_19:;
    exception_keeper_type_21 = exception_type;
    exception_keeper_value_21 = exception_value;
    exception_keeper_tb_21 = exception_tb;
    exception_keeper_lineno_21 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_5__bases );
    tmp_class_creation_5__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_5__class_decl_dict );
    tmp_class_creation_5__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_5__metaclass );
    tmp_class_creation_5__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_5__prepared );
    tmp_class_creation_5__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_21;
    exception_value = exception_keeper_value_21;
    exception_tb = exception_keeper_tb_21;
    exception_lineno = exception_keeper_lineno_21;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_11:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_5__bases );
    Py_DECREF( tmp_class_creation_5__bases );
    tmp_class_creation_5__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_5__class_decl_dict );
    Py_DECREF( tmp_class_creation_5__class_decl_dict );
    tmp_class_creation_5__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_5__metaclass );
    Py_DECREF( tmp_class_creation_5__metaclass );
    tmp_class_creation_5__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_5__prepared );
    Py_DECREF( tmp_class_creation_5__prepared );
    tmp_class_creation_5__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_88;
    PyObject *tmp_tuple_element_36;
    PyObject *tmp_mvar_value_22;
    tmp_mvar_value_22 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_22 == NULL ))
    {
        tmp_mvar_value_22 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_22 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 116;

        goto try_except_handler_22;
    }

    tmp_tuple_element_36 = tmp_mvar_value_22;
    tmp_assign_source_88 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_36 );
    PyTuple_SET_ITEM( tmp_assign_source_88, 0, tmp_tuple_element_36 );
    assert( tmp_class_creation_6__bases_orig == NULL );
    tmp_class_creation_6__bases_orig = tmp_assign_source_88;

    }
    {
    PyObject *tmp_assign_source_89;
    PyObject *tmp_dircall_arg1_6;
    CHECK_OBJECT( tmp_class_creation_6__bases_orig );
    tmp_dircall_arg1_6 = tmp_class_creation_6__bases_orig;
    Py_INCREF( tmp_dircall_arg1_6 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_6};
        tmp_assign_source_89 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_89 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    assert( tmp_class_creation_6__bases == NULL );
    tmp_class_creation_6__bases = tmp_assign_source_89;

    }
    {
    PyObject *tmp_assign_source_90;
    tmp_assign_source_90 = PyDict_New();
    assert( tmp_class_creation_6__class_decl_dict == NULL );
    tmp_class_creation_6__class_decl_dict = tmp_assign_source_90;

    }
    {
    PyObject *tmp_assign_source_91;
    PyObject *tmp_metaclass_name_6;
    nuitka_bool tmp_condition_result_31;
    PyObject *tmp_key_name_16;
    PyObject *tmp_dict_name_16;
    PyObject *tmp_dict_name_17;
    PyObject *tmp_key_name_17;
    nuitka_bool tmp_condition_result_32;
    int tmp_truth_name_6;
    PyObject *tmp_type_arg_11;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_subscript_name_6;
    PyObject *tmp_bases_name_6;
    tmp_key_name_16 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_6__class_decl_dict );
    tmp_dict_name_16 = tmp_class_creation_6__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_16, tmp_key_name_16 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    tmp_condition_result_31 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_31 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_11;
    }
    else
    {
        goto condexpr_false_11;
    }
    condexpr_true_11:;
    CHECK_OBJECT( tmp_class_creation_6__class_decl_dict );
    tmp_dict_name_17 = tmp_class_creation_6__class_decl_dict;
    tmp_key_name_17 = const_str_plain_metaclass;
    tmp_metaclass_name_6 = DICT_GET_ITEM( tmp_dict_name_17, tmp_key_name_17 );
    if ( tmp_metaclass_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    goto condexpr_end_11;
    condexpr_false_11:;
    CHECK_OBJECT( tmp_class_creation_6__bases );
    tmp_truth_name_6 = CHECK_IF_TRUE( tmp_class_creation_6__bases );
    if ( tmp_truth_name_6 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    tmp_condition_result_32 = tmp_truth_name_6 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_32 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_12;
    }
    else
    {
        goto condexpr_false_12;
    }
    condexpr_true_12:;
    CHECK_OBJECT( tmp_class_creation_6__bases );
    tmp_subscribed_name_6 = tmp_class_creation_6__bases;
    tmp_subscript_name_6 = const_int_0;
    tmp_type_arg_11 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_6, tmp_subscript_name_6, 0 );
    if ( tmp_type_arg_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    tmp_metaclass_name_6 = BUILTIN_TYPE1( tmp_type_arg_11 );
    Py_DECREF( tmp_type_arg_11 );
    if ( tmp_metaclass_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    goto condexpr_end_12;
    condexpr_false_12:;
    tmp_metaclass_name_6 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_6 );
    condexpr_end_12:;
    condexpr_end_11:;
    CHECK_OBJECT( tmp_class_creation_6__bases );
    tmp_bases_name_6 = tmp_class_creation_6__bases;
    tmp_assign_source_91 = SELECT_METACLASS( tmp_metaclass_name_6, tmp_bases_name_6 );
    Py_DECREF( tmp_metaclass_name_6 );
    if ( tmp_assign_source_91 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    assert( tmp_class_creation_6__metaclass == NULL );
    tmp_class_creation_6__metaclass = tmp_assign_source_91;

    }
    {
    nuitka_bool tmp_condition_result_33;
    PyObject *tmp_key_name_18;
    PyObject *tmp_dict_name_18;
    tmp_key_name_18 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_6__class_decl_dict );
    tmp_dict_name_18 = tmp_class_creation_6__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_18, tmp_key_name_18 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    tmp_condition_result_33 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_33 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_21;
    }
    else
    {
        goto branch_no_21;
    }
    branch_yes_21:;
    {
    CHECK_OBJECT( tmp_class_creation_6__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_6__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    }
    branch_no_21:;
    }
    {
    nuitka_bool tmp_condition_result_34;
    PyObject *tmp_source_name_21;
    CHECK_OBJECT( tmp_class_creation_6__metaclass );
    tmp_source_name_21 = tmp_class_creation_6__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_21, const_str_plain___prepare__ );
    tmp_condition_result_34 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_34 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_22;
    }
    else
    {
        goto branch_no_22;
    }
    branch_yes_22:;
    {
    PyObject *tmp_assign_source_92;
    PyObject *tmp_called_name_11;
    PyObject *tmp_source_name_22;
    PyObject *tmp_args_name_11;
    PyObject *tmp_tuple_element_37;
    PyObject *tmp_kw_name_11;
    CHECK_OBJECT( tmp_class_creation_6__metaclass );
    tmp_source_name_22 = tmp_class_creation_6__metaclass;
    tmp_called_name_11 = LOOKUP_ATTRIBUTE( tmp_source_name_22, const_str_plain___prepare__ );
    if ( tmp_called_name_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    tmp_tuple_element_37 = const_str_plain_DSAPrivateKey;
    tmp_args_name_11 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_37 );
    PyTuple_SET_ITEM( tmp_args_name_11, 0, tmp_tuple_element_37 );
    CHECK_OBJECT( tmp_class_creation_6__bases );
    tmp_tuple_element_37 = tmp_class_creation_6__bases;
    Py_INCREF( tmp_tuple_element_37 );
    PyTuple_SET_ITEM( tmp_args_name_11, 1, tmp_tuple_element_37 );
    CHECK_OBJECT( tmp_class_creation_6__class_decl_dict );
    tmp_kw_name_11 = tmp_class_creation_6__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 116;
    tmp_assign_source_92 = CALL_FUNCTION( tmp_called_name_11, tmp_args_name_11, tmp_kw_name_11 );
    Py_DECREF( tmp_called_name_11 );
    Py_DECREF( tmp_args_name_11 );
    if ( tmp_assign_source_92 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    assert( tmp_class_creation_6__prepared == NULL );
    tmp_class_creation_6__prepared = tmp_assign_source_92;

    }
    {
    nuitka_bool tmp_condition_result_35;
    PyObject *tmp_operand_name_6;
    PyObject *tmp_source_name_23;
    CHECK_OBJECT( tmp_class_creation_6__prepared );
    tmp_source_name_23 = tmp_class_creation_6__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_23, const_str_plain___getitem__ );
    tmp_operand_name_6 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    tmp_condition_result_35 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_35 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_23;
    }
    else
    {
        goto branch_no_23;
    }
    branch_yes_23:;
    {
    PyObject *tmp_raise_type_6;
    PyObject *tmp_raise_value_6;
    PyObject *tmp_left_name_6;
    PyObject *tmp_right_name_6;
    PyObject *tmp_tuple_element_38;
    PyObject *tmp_getattr_target_6;
    PyObject *tmp_getattr_attr_6;
    PyObject *tmp_getattr_default_6;
    PyObject *tmp_source_name_24;
    PyObject *tmp_type_arg_12;
    tmp_raise_type_6 = PyExc_TypeError;
    tmp_left_name_6 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_6__metaclass );
    tmp_getattr_target_6 = tmp_class_creation_6__metaclass;
    tmp_getattr_attr_6 = const_str_plain___name__;
    tmp_getattr_default_6 = const_str_angle_metaclass;
    tmp_tuple_element_38 = BUILTIN_GETATTR( tmp_getattr_target_6, tmp_getattr_attr_6, tmp_getattr_default_6 );
    if ( tmp_tuple_element_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    tmp_right_name_6 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_6, 0, tmp_tuple_element_38 );
    CHECK_OBJECT( tmp_class_creation_6__prepared );
    tmp_type_arg_12 = tmp_class_creation_6__prepared;
    tmp_source_name_24 = BUILTIN_TYPE1( tmp_type_arg_12 );
    assert( !(tmp_source_name_24 == NULL) );
    tmp_tuple_element_38 = LOOKUP_ATTRIBUTE( tmp_source_name_24, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_24 );
    if ( tmp_tuple_element_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_6 );

        exception_lineno = 116;

        goto try_except_handler_22;
    }
    PyTuple_SET_ITEM( tmp_right_name_6, 1, tmp_tuple_element_38 );
    tmp_raise_value_6 = BINARY_OPERATION_REMAINDER( tmp_left_name_6, tmp_right_name_6 );
    Py_DECREF( tmp_right_name_6 );
    if ( tmp_raise_value_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_22;
    }
    exception_type = tmp_raise_type_6;
    Py_INCREF( tmp_raise_type_6 );
    exception_value = tmp_raise_value_6;
    exception_lineno = 116;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_22;
    }
    branch_no_23:;
    }
    goto branch_end_22;
    branch_no_22:;
    {
    PyObject *tmp_assign_source_93;
    tmp_assign_source_93 = PyDict_New();
    assert( tmp_class_creation_6__prepared == NULL );
    tmp_class_creation_6__prepared = tmp_assign_source_93;

    }
    branch_end_22:;
    }
    {
    PyObject *tmp_assign_source_94;
    {
    PyObject *tmp_set_locals_6;
    CHECK_OBJECT( tmp_class_creation_6__prepared );
    tmp_set_locals_6 = tmp_class_creation_6__prepared;
    locals_asn1crypto$keys_116 = tmp_set_locals_6;
    Py_INCREF( tmp_set_locals_6 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_116, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_24;
    }
    }
    {
    tmp_dictset_value = const_str_digest_07fbf69b6b4690d2f55094d5b14bb1ec;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_116, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_24;
    }
    }
    {
    tmp_dictset_value = const_str_plain_DSAPrivateKey;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_116, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_24;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_dab9574ff061a993ee95206778c30aac_7, codeobj_dab9574ff061a993ee95206778c30aac, module_asn1crypto$keys, sizeof(void *) );
    frame_dab9574ff061a993ee95206778c30aac_7 = cache_frame_dab9574ff061a993ee95206778c30aac_7;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_dab9574ff061a993ee95206778c30aac_7 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_dab9574ff061a993ee95206778c30aac_7 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_4;
    PyObject *tmp_tuple_element_39;
    PyObject *tmp_mvar_value_23;
    PyObject *tmp_tuple_element_40;
    PyObject *tmp_mvar_value_24;
    PyObject *tmp_tuple_element_41;
    PyObject *tmp_mvar_value_25;
    PyObject *tmp_tuple_element_42;
    PyObject *tmp_mvar_value_26;
    PyObject *tmp_tuple_element_43;
    PyObject *tmp_mvar_value_27;
    PyObject *tmp_tuple_element_44;
    PyObject *tmp_mvar_value_28;
    tmp_tuple_element_39 = const_str_plain_version;
    tmp_list_element_4 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_39 );
    PyTuple_SET_ITEM( tmp_list_element_4, 0, tmp_tuple_element_39 );
    tmp_tuple_element_39 = PyObject_GetItem( locals_asn1crypto$keys_116, const_str_plain_Integer );

    if ( tmp_tuple_element_39 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_23 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_23 == NULL ))
        {
            tmp_mvar_value_23 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_23 == NULL )
        {
            Py_DECREF( tmp_list_element_4 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 127;
            type_description_2 = "o";
            goto frame_exception_exit_7;
        }

        tmp_tuple_element_39 = tmp_mvar_value_23;
        Py_INCREF( tmp_tuple_element_39 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_4, 1, tmp_tuple_element_39 );
    tmp_dictset_value = PyList_New( 6 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_4 );
    tmp_tuple_element_40 = const_str_plain_p;
    tmp_list_element_4 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_40 );
    PyTuple_SET_ITEM( tmp_list_element_4, 0, tmp_tuple_element_40 );
    tmp_tuple_element_40 = PyObject_GetItem( locals_asn1crypto$keys_116, const_str_plain_Integer );

    if ( tmp_tuple_element_40 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_24 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_24 == NULL ))
        {
            tmp_mvar_value_24 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_24 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_4 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 128;
            type_description_2 = "o";
            goto frame_exception_exit_7;
        }

        tmp_tuple_element_40 = tmp_mvar_value_24;
        Py_INCREF( tmp_tuple_element_40 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_4, 1, tmp_tuple_element_40 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_4 );
    tmp_tuple_element_41 = const_str_plain_q;
    tmp_list_element_4 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_41 );
    PyTuple_SET_ITEM( tmp_list_element_4, 0, tmp_tuple_element_41 );
    tmp_tuple_element_41 = PyObject_GetItem( locals_asn1crypto$keys_116, const_str_plain_Integer );

    if ( tmp_tuple_element_41 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_25 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_25 == NULL ))
        {
            tmp_mvar_value_25 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_25 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_4 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 129;
            type_description_2 = "o";
            goto frame_exception_exit_7;
        }

        tmp_tuple_element_41 = tmp_mvar_value_25;
        Py_INCREF( tmp_tuple_element_41 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_4, 1, tmp_tuple_element_41 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_4 );
    tmp_tuple_element_42 = const_str_plain_g;
    tmp_list_element_4 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_42 );
    PyTuple_SET_ITEM( tmp_list_element_4, 0, tmp_tuple_element_42 );
    tmp_tuple_element_42 = PyObject_GetItem( locals_asn1crypto$keys_116, const_str_plain_Integer );

    if ( tmp_tuple_element_42 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_26 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_26 == NULL ))
        {
            tmp_mvar_value_26 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_26 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_4 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 130;
            type_description_2 = "o";
            goto frame_exception_exit_7;
        }

        tmp_tuple_element_42 = tmp_mvar_value_26;
        Py_INCREF( tmp_tuple_element_42 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_4, 1, tmp_tuple_element_42 );
    PyList_SET_ITEM( tmp_dictset_value, 3, tmp_list_element_4 );
    tmp_tuple_element_43 = const_str_plain_public_key;
    tmp_list_element_4 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_43 );
    PyTuple_SET_ITEM( tmp_list_element_4, 0, tmp_tuple_element_43 );
    tmp_tuple_element_43 = PyObject_GetItem( locals_asn1crypto$keys_116, const_str_plain_Integer );

    if ( tmp_tuple_element_43 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_27 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_27 == NULL ))
        {
            tmp_mvar_value_27 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_27 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_4 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 131;
            type_description_2 = "o";
            goto frame_exception_exit_7;
        }

        tmp_tuple_element_43 = tmp_mvar_value_27;
        Py_INCREF( tmp_tuple_element_43 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_4, 1, tmp_tuple_element_43 );
    PyList_SET_ITEM( tmp_dictset_value, 4, tmp_list_element_4 );
    tmp_tuple_element_44 = const_str_plain_private_key;
    tmp_list_element_4 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_44 );
    PyTuple_SET_ITEM( tmp_list_element_4, 0, tmp_tuple_element_44 );
    tmp_tuple_element_44 = PyObject_GetItem( locals_asn1crypto$keys_116, const_str_plain_Integer );

    if ( tmp_tuple_element_44 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_28 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_28 == NULL ))
        {
            tmp_mvar_value_28 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_28 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_4 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 132;
            type_description_2 = "o";
            goto frame_exception_exit_7;
        }

        tmp_tuple_element_44 = tmp_mvar_value_28;
        Py_INCREF( tmp_tuple_element_44 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_4, 1, tmp_tuple_element_44 );
    PyList_SET_ITEM( tmp_dictset_value, 5, tmp_list_element_4 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_116, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 126;
        type_description_2 = "o";
        goto frame_exception_exit_7;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_dab9574ff061a993ee95206778c30aac_7 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_6;

    frame_exception_exit_7:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_dab9574ff061a993ee95206778c30aac_7 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_dab9574ff061a993ee95206778c30aac_7, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_dab9574ff061a993ee95206778c30aac_7->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_dab9574ff061a993ee95206778c30aac_7, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_dab9574ff061a993ee95206778c30aac_7,
        type_description_2,
        outline_5_var___class__
    );


    // Release cached frame.
    if ( frame_dab9574ff061a993ee95206778c30aac_7 == cache_frame_dab9574ff061a993ee95206778c30aac_7 )
    {
        Py_DECREF( frame_dab9574ff061a993ee95206778c30aac_7 );
    }
    cache_frame_dab9574ff061a993ee95206778c30aac_7 = NULL;

    assertFrameObject( frame_dab9574ff061a993ee95206778c30aac_7 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_6;

    frame_no_exception_6:;
    goto skip_nested_handling_6;
    nested_frame_exit_6:;

    goto try_except_handler_24;
    skip_nested_handling_6:;
    {
    nuitka_bool tmp_condition_result_36;
    PyObject *tmp_compexpr_left_6;
    PyObject *tmp_compexpr_right_6;
    CHECK_OBJECT( tmp_class_creation_6__bases );
    tmp_compexpr_left_6 = tmp_class_creation_6__bases;
    CHECK_OBJECT( tmp_class_creation_6__bases_orig );
    tmp_compexpr_right_6 = tmp_class_creation_6__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_6, tmp_compexpr_right_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_24;
    }
    tmp_condition_result_36 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_36 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_24;
    }
    else
    {
        goto branch_no_24;
    }
    branch_yes_24:;
    {
    CHECK_OBJECT( tmp_class_creation_6__bases_orig );
    tmp_dictset_value = tmp_class_creation_6__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_116, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_24;
    }
    }
    branch_no_24:;
    }
    {
    PyObject *tmp_assign_source_95;
    PyObject *tmp_called_name_12;
    PyObject *tmp_args_name_12;
    PyObject *tmp_tuple_element_45;
    PyObject *tmp_kw_name_12;
    CHECK_OBJECT( tmp_class_creation_6__metaclass );
    tmp_called_name_12 = tmp_class_creation_6__metaclass;
    tmp_tuple_element_45 = const_str_plain_DSAPrivateKey;
    tmp_args_name_12 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_45 );
    PyTuple_SET_ITEM( tmp_args_name_12, 0, tmp_tuple_element_45 );
    CHECK_OBJECT( tmp_class_creation_6__bases );
    tmp_tuple_element_45 = tmp_class_creation_6__bases;
    Py_INCREF( tmp_tuple_element_45 );
    PyTuple_SET_ITEM( tmp_args_name_12, 1, tmp_tuple_element_45 );
    tmp_tuple_element_45 = locals_asn1crypto$keys_116;
    Py_INCREF( tmp_tuple_element_45 );
    PyTuple_SET_ITEM( tmp_args_name_12, 2, tmp_tuple_element_45 );
    CHECK_OBJECT( tmp_class_creation_6__class_decl_dict );
    tmp_kw_name_12 = tmp_class_creation_6__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 116;
    tmp_assign_source_95 = CALL_FUNCTION( tmp_called_name_12, tmp_args_name_12, tmp_kw_name_12 );
    Py_DECREF( tmp_args_name_12 );
    if ( tmp_assign_source_95 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 116;

        goto try_except_handler_24;
    }
    assert( outline_5_var___class__ == NULL );
    outline_5_var___class__ = tmp_assign_source_95;

    }
    {
    CHECK_OBJECT( outline_5_var___class__ );
    tmp_assign_source_94 = outline_5_var___class__;
    Py_INCREF( tmp_assign_source_94 );
    goto try_return_handler_24;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_24:;
    {
    Py_DECREF( locals_asn1crypto$keys_116 );
    locals_asn1crypto$keys_116 = NULL;
    }
    {
    goto try_return_handler_23;
    }
    // Exception handler code:
    try_except_handler_24:;
    exception_keeper_type_22 = exception_type;
    exception_keeper_value_22 = exception_value;
    exception_keeper_tb_22 = exception_tb;
    exception_keeper_lineno_22 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_116 );
    locals_asn1crypto$keys_116 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_22;
    exception_value = exception_keeper_value_22;
    exception_tb = exception_keeper_tb_22;
    exception_lineno = exception_keeper_lineno_22;

    goto try_except_handler_23;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_23:;
    {
    CHECK_OBJECT( (PyObject *)outline_5_var___class__ );
    Py_DECREF( outline_5_var___class__ );
    outline_5_var___class__ = NULL;

    }
    {
    goto outline_result_6;
    }
    // Exception handler code:
    try_except_handler_23:;
    exception_keeper_type_23 = exception_type;
    exception_keeper_value_23 = exception_value;
    exception_keeper_tb_23 = exception_tb;
    exception_keeper_lineno_23 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_23;
    exception_value = exception_keeper_value_23;
    exception_tb = exception_keeper_tb_23;
    exception_lineno = exception_keeper_lineno_23;

    goto outline_exception_6;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_6:;
    exception_lineno = 116;
    goto try_except_handler_22;
    outline_result_6:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DSAPrivateKey, tmp_assign_source_94 );
    }
    goto try_end_12;
    // Exception handler code:
    try_except_handler_22:;
    exception_keeper_type_24 = exception_type;
    exception_keeper_value_24 = exception_value;
    exception_keeper_tb_24 = exception_tb;
    exception_keeper_lineno_24 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_6__bases );
    tmp_class_creation_6__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_6__class_decl_dict );
    tmp_class_creation_6__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_6__metaclass );
    tmp_class_creation_6__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_6__prepared );
    tmp_class_creation_6__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_24;
    exception_value = exception_keeper_value_24;
    exception_tb = exception_keeper_tb_24;
    exception_lineno = exception_keeper_lineno_24;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_12:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_6__bases );
    Py_DECREF( tmp_class_creation_6__bases );
    tmp_class_creation_6__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_6__class_decl_dict );
    Py_DECREF( tmp_class_creation_6__class_decl_dict );
    tmp_class_creation_6__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_6__metaclass );
    Py_DECREF( tmp_class_creation_6__metaclass );
    tmp_class_creation_6__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_6__prepared );
    Py_DECREF( tmp_class_creation_6__prepared );
    tmp_class_creation_6__prepared = NULL;

    }
    {
    PyObject *tmp_assign_source_96;
    tmp_assign_source_96 = PyDict_New();
    assert( tmp_class_creation_7__class_decl_dict == NULL );
    tmp_class_creation_7__class_decl_dict = tmp_assign_source_96;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_97;
    PyObject *tmp_metaclass_name_7;
    nuitka_bool tmp_condition_result_37;
    PyObject *tmp_key_name_19;
    PyObject *tmp_dict_name_19;
    PyObject *tmp_dict_name_20;
    PyObject *tmp_key_name_20;
    PyObject *tmp_bases_name_7;
    tmp_key_name_19 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_7__class_decl_dict );
    tmp_dict_name_19 = tmp_class_creation_7__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_19, tmp_key_name_19 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    tmp_condition_result_37 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_37 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_13;
    }
    else
    {
        goto condexpr_false_13;
    }
    condexpr_true_13:;
    CHECK_OBJECT( tmp_class_creation_7__class_decl_dict );
    tmp_dict_name_20 = tmp_class_creation_7__class_decl_dict;
    tmp_key_name_20 = const_str_plain_metaclass;
    tmp_metaclass_name_7 = DICT_GET_ITEM( tmp_dict_name_20, tmp_key_name_20 );
    if ( tmp_metaclass_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    goto condexpr_end_13;
    condexpr_false_13:;
    tmp_metaclass_name_7 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_7 );
    condexpr_end_13:;
    tmp_bases_name_7 = const_tuple_empty;
    tmp_assign_source_97 = SELECT_METACLASS( tmp_metaclass_name_7, tmp_bases_name_7 );
    Py_DECREF( tmp_metaclass_name_7 );
    if ( tmp_assign_source_97 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    assert( tmp_class_creation_7__metaclass == NULL );
    tmp_class_creation_7__metaclass = tmp_assign_source_97;

    }
    {
    nuitka_bool tmp_condition_result_38;
    PyObject *tmp_key_name_21;
    PyObject *tmp_dict_name_21;
    tmp_key_name_21 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_7__class_decl_dict );
    tmp_dict_name_21 = tmp_class_creation_7__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_21, tmp_key_name_21 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    tmp_condition_result_38 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_38 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_25;
    }
    else
    {
        goto branch_no_25;
    }
    branch_yes_25:;
    {
    CHECK_OBJECT( tmp_class_creation_7__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_7__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    }
    branch_no_25:;
    }
    {
    nuitka_bool tmp_condition_result_39;
    PyObject *tmp_source_name_25;
    CHECK_OBJECT( tmp_class_creation_7__metaclass );
    tmp_source_name_25 = tmp_class_creation_7__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_25, const_str_plain___prepare__ );
    tmp_condition_result_39 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_39 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_26;
    }
    else
    {
        goto branch_no_26;
    }
    branch_yes_26:;
    {
    PyObject *tmp_assign_source_98;
    PyObject *tmp_called_name_13;
    PyObject *tmp_source_name_26;
    PyObject *tmp_args_name_13;
    PyObject *tmp_kw_name_13;
    CHECK_OBJECT( tmp_class_creation_7__metaclass );
    tmp_source_name_26 = tmp_class_creation_7__metaclass;
    tmp_called_name_13 = LOOKUP_ATTRIBUTE( tmp_source_name_26, const_str_plain___prepare__ );
    if ( tmp_called_name_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    tmp_args_name_13 = const_tuple_str_plain__ECPoint_tuple_empty_tuple;
    CHECK_OBJECT( tmp_class_creation_7__class_decl_dict );
    tmp_kw_name_13 = tmp_class_creation_7__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 136;
    tmp_assign_source_98 = CALL_FUNCTION( tmp_called_name_13, tmp_args_name_13, tmp_kw_name_13 );
    Py_DECREF( tmp_called_name_13 );
    if ( tmp_assign_source_98 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    assert( tmp_class_creation_7__prepared == NULL );
    tmp_class_creation_7__prepared = tmp_assign_source_98;

    }
    {
    nuitka_bool tmp_condition_result_40;
    PyObject *tmp_operand_name_7;
    PyObject *tmp_source_name_27;
    CHECK_OBJECT( tmp_class_creation_7__prepared );
    tmp_source_name_27 = tmp_class_creation_7__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_27, const_str_plain___getitem__ );
    tmp_operand_name_7 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_7 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    tmp_condition_result_40 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_40 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_27;
    }
    else
    {
        goto branch_no_27;
    }
    branch_yes_27:;
    {
    PyObject *tmp_raise_type_7;
    PyObject *tmp_raise_value_7;
    PyObject *tmp_left_name_7;
    PyObject *tmp_right_name_7;
    PyObject *tmp_tuple_element_46;
    PyObject *tmp_getattr_target_7;
    PyObject *tmp_getattr_attr_7;
    PyObject *tmp_getattr_default_7;
    PyObject *tmp_source_name_28;
    PyObject *tmp_type_arg_13;
    tmp_raise_type_7 = PyExc_TypeError;
    tmp_left_name_7 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_7__metaclass );
    tmp_getattr_target_7 = tmp_class_creation_7__metaclass;
    tmp_getattr_attr_7 = const_str_plain___name__;
    tmp_getattr_default_7 = const_str_angle_metaclass;
    tmp_tuple_element_46 = BUILTIN_GETATTR( tmp_getattr_target_7, tmp_getattr_attr_7, tmp_getattr_default_7 );
    if ( tmp_tuple_element_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    tmp_right_name_7 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_7, 0, tmp_tuple_element_46 );
    CHECK_OBJECT( tmp_class_creation_7__prepared );
    tmp_type_arg_13 = tmp_class_creation_7__prepared;
    tmp_source_name_28 = BUILTIN_TYPE1( tmp_type_arg_13 );
    assert( !(tmp_source_name_28 == NULL) );
    tmp_tuple_element_46 = LOOKUP_ATTRIBUTE( tmp_source_name_28, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_28 );
    if ( tmp_tuple_element_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_7 );

        exception_lineno = 136;

        goto try_except_handler_25;
    }
    PyTuple_SET_ITEM( tmp_right_name_7, 1, tmp_tuple_element_46 );
    tmp_raise_value_7 = BINARY_OPERATION_REMAINDER( tmp_left_name_7, tmp_right_name_7 );
    Py_DECREF( tmp_right_name_7 );
    if ( tmp_raise_value_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_25;
    }
    exception_type = tmp_raise_type_7;
    Py_INCREF( tmp_raise_type_7 );
    exception_value = tmp_raise_value_7;
    exception_lineno = 136;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_25;
    }
    branch_no_27:;
    }
    goto branch_end_26;
    branch_no_26:;
    {
    PyObject *tmp_assign_source_99;
    tmp_assign_source_99 = PyDict_New();
    assert( tmp_class_creation_7__prepared == NULL );
    tmp_class_creation_7__prepared = tmp_assign_source_99;

    }
    branch_end_26:;
    }
    {
    PyObject *tmp_assign_source_100;
    {
    PyObject *tmp_set_locals_7;
    CHECK_OBJECT( tmp_class_creation_7__prepared );
    tmp_set_locals_7 = tmp_class_creation_7__prepared;
    locals_asn1crypto$keys_136 = tmp_set_locals_7;
    Py_INCREF( tmp_set_locals_7 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_136, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_27;
    }
    }
    {
    tmp_dictset_value = const_str_digest_2fcede1b030bc7dfbc8ca39823e493be;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_136, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_27;
    }
    }
    {
    tmp_dictset_value = const_str_plain__ECPoint;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_136, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_27;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_398c8b28f70d79b8d6c2cfd2bda29956_8, codeobj_398c8b28f70d79b8d6c2cfd2bda29956, module_asn1crypto$keys, sizeof(void *) );
    frame_398c8b28f70d79b8d6c2cfd2bda29956_8 = cache_frame_398c8b28f70d79b8d6c2cfd2bda29956_8;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_398c8b28f70d79b8d6c2cfd2bda29956_8 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_398c8b28f70d79b8d6c2cfd2bda29956_8 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_41;
    PyObject *tmp_called_name_14;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_classmethod_arg_1;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_136, const_str_plain_classmethod );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 144;
        type_description_2 = "o";
        goto frame_exception_exit_8;
    }
    tmp_condition_result_41 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_41 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_14;
    }
    else
    {
        goto condexpr_false_14;
    }
    condexpr_true_14:;
    tmp_called_name_14 = PyObject_GetItem( locals_asn1crypto$keys_136, const_str_plain_classmethod );

    if ( tmp_called_name_14 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "classmethod" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 144;
        type_description_2 = "o";
        goto frame_exception_exit_8;
    }

    if ( tmp_called_name_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 144;
        type_description_2 = "o";
        goto frame_exception_exit_8;
    }
    tmp_args_element_name_1 = MAKE_FUNCTION_asn1crypto$keys$$$function_1_from_coords(  );



    frame_398c8b28f70d79b8d6c2cfd2bda29956_8->m_frame.f_lineno = 144;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_14, call_args );
    }

    Py_DECREF( tmp_called_name_14 );
    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 144;
        type_description_2 = "o";
        goto frame_exception_exit_8;
    }
    goto condexpr_end_14;
    condexpr_false_14:;
    tmp_classmethod_arg_1 = MAKE_FUNCTION_asn1crypto$keys$$$function_1_from_coords(  );



    tmp_dictset_value = BUILTIN_CLASSMETHOD( tmp_classmethod_arg_1 );
    Py_DECREF( tmp_classmethod_arg_1 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 144;
        type_description_2 = "o";
        goto frame_exception_exit_8;
    }
    condexpr_end_14:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_136, const_str_plain_from_coords, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 144;
        type_description_2 = "o";
        goto frame_exception_exit_8;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_asn1crypto$keys$$$function_2_to_coords(  );



    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_136, const_str_plain_to_coords, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 171;
        type_description_2 = "o";
        goto frame_exception_exit_8;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_398c8b28f70d79b8d6c2cfd2bda29956_8 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_7;

    frame_exception_exit_8:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_398c8b28f70d79b8d6c2cfd2bda29956_8 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_398c8b28f70d79b8d6c2cfd2bda29956_8, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_398c8b28f70d79b8d6c2cfd2bda29956_8->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_398c8b28f70d79b8d6c2cfd2bda29956_8, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_398c8b28f70d79b8d6c2cfd2bda29956_8,
        type_description_2,
        outline_6_var___class__
    );


    // Release cached frame.
    if ( frame_398c8b28f70d79b8d6c2cfd2bda29956_8 == cache_frame_398c8b28f70d79b8d6c2cfd2bda29956_8 )
    {
        Py_DECREF( frame_398c8b28f70d79b8d6c2cfd2bda29956_8 );
    }
    cache_frame_398c8b28f70d79b8d6c2cfd2bda29956_8 = NULL;

    assertFrameObject( frame_398c8b28f70d79b8d6c2cfd2bda29956_8 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_7;

    frame_no_exception_7:;
    goto skip_nested_handling_7;
    nested_frame_exit_7:;

    goto try_except_handler_27;
    skip_nested_handling_7:;
    {
    PyObject *tmp_assign_source_101;
    PyObject *tmp_called_name_15;
    PyObject *tmp_args_name_14;
    PyObject *tmp_tuple_element_47;
    PyObject *tmp_kw_name_14;
    CHECK_OBJECT( tmp_class_creation_7__metaclass );
    tmp_called_name_15 = tmp_class_creation_7__metaclass;
    tmp_tuple_element_47 = const_str_plain__ECPoint;
    tmp_args_name_14 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_47 );
    PyTuple_SET_ITEM( tmp_args_name_14, 0, tmp_tuple_element_47 );
    tmp_tuple_element_47 = const_tuple_empty;
    Py_INCREF( tmp_tuple_element_47 );
    PyTuple_SET_ITEM( tmp_args_name_14, 1, tmp_tuple_element_47 );
    tmp_tuple_element_47 = locals_asn1crypto$keys_136;
    Py_INCREF( tmp_tuple_element_47 );
    PyTuple_SET_ITEM( tmp_args_name_14, 2, tmp_tuple_element_47 );
    CHECK_OBJECT( tmp_class_creation_7__class_decl_dict );
    tmp_kw_name_14 = tmp_class_creation_7__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 136;
    tmp_assign_source_101 = CALL_FUNCTION( tmp_called_name_15, tmp_args_name_14, tmp_kw_name_14 );
    Py_DECREF( tmp_args_name_14 );
    if ( tmp_assign_source_101 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 136;

        goto try_except_handler_27;
    }
    assert( outline_6_var___class__ == NULL );
    outline_6_var___class__ = tmp_assign_source_101;

    }
    {
    CHECK_OBJECT( outline_6_var___class__ );
    tmp_assign_source_100 = outline_6_var___class__;
    Py_INCREF( tmp_assign_source_100 );
    goto try_return_handler_27;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_27:;
    {
    Py_DECREF( locals_asn1crypto$keys_136 );
    locals_asn1crypto$keys_136 = NULL;
    }
    {
    goto try_return_handler_26;
    }
    // Exception handler code:
    try_except_handler_27:;
    exception_keeper_type_25 = exception_type;
    exception_keeper_value_25 = exception_value;
    exception_keeper_tb_25 = exception_tb;
    exception_keeper_lineno_25 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_136 );
    locals_asn1crypto$keys_136 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_25;
    exception_value = exception_keeper_value_25;
    exception_tb = exception_keeper_tb_25;
    exception_lineno = exception_keeper_lineno_25;

    goto try_except_handler_26;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_26:;
    {
    CHECK_OBJECT( (PyObject *)outline_6_var___class__ );
    Py_DECREF( outline_6_var___class__ );
    outline_6_var___class__ = NULL;

    }
    {
    goto outline_result_7;
    }
    // Exception handler code:
    try_except_handler_26:;
    exception_keeper_type_26 = exception_type;
    exception_keeper_value_26 = exception_value;
    exception_keeper_tb_26 = exception_tb;
    exception_keeper_lineno_26 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_26;
    exception_value = exception_keeper_value_26;
    exception_tb = exception_keeper_tb_26;
    exception_lineno = exception_keeper_lineno_26;

    goto outline_exception_7;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_7:;
    exception_lineno = 136;
    goto try_except_handler_25;
    outline_result_7:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain__ECPoint, tmp_assign_source_100 );
    }
    goto try_end_13;
    // Exception handler code:
    try_except_handler_25:;
    exception_keeper_type_27 = exception_type;
    exception_keeper_value_27 = exception_value;
    exception_keeper_tb_27 = exception_tb;
    exception_keeper_lineno_27 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_7__class_decl_dict );
    Py_DECREF( tmp_class_creation_7__class_decl_dict );
    tmp_class_creation_7__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_7__metaclass );
    tmp_class_creation_7__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_7__prepared );
    tmp_class_creation_7__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_27;
    exception_value = exception_keeper_value_27;
    exception_tb = exception_keeper_tb_27;
    exception_lineno = exception_keeper_lineno_27;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_13:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_7__class_decl_dict );
    Py_DECREF( tmp_class_creation_7__class_decl_dict );
    tmp_class_creation_7__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_7__metaclass );
    Py_DECREF( tmp_class_creation_7__metaclass );
    tmp_class_creation_7__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_7__prepared );
    Py_DECREF( tmp_class_creation_7__prepared );
    tmp_class_creation_7__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_102;
    PyObject *tmp_tuple_element_48;
    PyObject *tmp_mvar_value_29;
    PyObject *tmp_mvar_value_30;
    tmp_mvar_value_29 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OctetString );

    if (unlikely( tmp_mvar_value_29 == NULL ))
    {
        tmp_mvar_value_29 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_OctetString );
    }

    if ( tmp_mvar_value_29 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "OctetString" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 206;

        goto try_except_handler_28;
    }

    tmp_tuple_element_48 = tmp_mvar_value_29;
    tmp_assign_source_102 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_48 );
    PyTuple_SET_ITEM( tmp_assign_source_102, 0, tmp_tuple_element_48 );
    tmp_mvar_value_30 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain__ECPoint );

    if (unlikely( tmp_mvar_value_30 == NULL ))
    {
        tmp_mvar_value_30 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ECPoint );
    }

    if ( tmp_mvar_value_30 == NULL )
    {
        Py_DECREF( tmp_assign_source_102 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ECPoint" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 206;

        goto try_except_handler_28;
    }

    tmp_tuple_element_48 = tmp_mvar_value_30;
    Py_INCREF( tmp_tuple_element_48 );
    PyTuple_SET_ITEM( tmp_assign_source_102, 1, tmp_tuple_element_48 );
    assert( tmp_class_creation_8__bases_orig == NULL );
    tmp_class_creation_8__bases_orig = tmp_assign_source_102;

    }
    {
    PyObject *tmp_assign_source_103;
    PyObject *tmp_dircall_arg1_7;
    CHECK_OBJECT( tmp_class_creation_8__bases_orig );
    tmp_dircall_arg1_7 = tmp_class_creation_8__bases_orig;
    Py_INCREF( tmp_dircall_arg1_7 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_7};
        tmp_assign_source_103 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_103 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    assert( tmp_class_creation_8__bases == NULL );
    tmp_class_creation_8__bases = tmp_assign_source_103;

    }
    {
    PyObject *tmp_assign_source_104;
    tmp_assign_source_104 = PyDict_New();
    assert( tmp_class_creation_8__class_decl_dict == NULL );
    tmp_class_creation_8__class_decl_dict = tmp_assign_source_104;

    }
    {
    PyObject *tmp_assign_source_105;
    PyObject *tmp_metaclass_name_8;
    nuitka_bool tmp_condition_result_42;
    PyObject *tmp_key_name_22;
    PyObject *tmp_dict_name_22;
    PyObject *tmp_dict_name_23;
    PyObject *tmp_key_name_23;
    nuitka_bool tmp_condition_result_43;
    int tmp_truth_name_7;
    PyObject *tmp_type_arg_14;
    PyObject *tmp_subscribed_name_7;
    PyObject *tmp_subscript_name_7;
    PyObject *tmp_bases_name_8;
    tmp_key_name_22 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_8__class_decl_dict );
    tmp_dict_name_22 = tmp_class_creation_8__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_22, tmp_key_name_22 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    tmp_condition_result_42 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_42 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_15;
    }
    else
    {
        goto condexpr_false_15;
    }
    condexpr_true_15:;
    CHECK_OBJECT( tmp_class_creation_8__class_decl_dict );
    tmp_dict_name_23 = tmp_class_creation_8__class_decl_dict;
    tmp_key_name_23 = const_str_plain_metaclass;
    tmp_metaclass_name_8 = DICT_GET_ITEM( tmp_dict_name_23, tmp_key_name_23 );
    if ( tmp_metaclass_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    goto condexpr_end_15;
    condexpr_false_15:;
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_truth_name_7 = CHECK_IF_TRUE( tmp_class_creation_8__bases );
    if ( tmp_truth_name_7 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    tmp_condition_result_43 = tmp_truth_name_7 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_43 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_16;
    }
    else
    {
        goto condexpr_false_16;
    }
    condexpr_true_16:;
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_subscribed_name_7 = tmp_class_creation_8__bases;
    tmp_subscript_name_7 = const_int_0;
    tmp_type_arg_14 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_7, tmp_subscript_name_7, 0 );
    if ( tmp_type_arg_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    tmp_metaclass_name_8 = BUILTIN_TYPE1( tmp_type_arg_14 );
    Py_DECREF( tmp_type_arg_14 );
    if ( tmp_metaclass_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    goto condexpr_end_16;
    condexpr_false_16:;
    tmp_metaclass_name_8 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_8 );
    condexpr_end_16:;
    condexpr_end_15:;
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_bases_name_8 = tmp_class_creation_8__bases;
    tmp_assign_source_105 = SELECT_METACLASS( tmp_metaclass_name_8, tmp_bases_name_8 );
    Py_DECREF( tmp_metaclass_name_8 );
    if ( tmp_assign_source_105 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    assert( tmp_class_creation_8__metaclass == NULL );
    tmp_class_creation_8__metaclass = tmp_assign_source_105;

    }
    {
    nuitka_bool tmp_condition_result_44;
    PyObject *tmp_key_name_24;
    PyObject *tmp_dict_name_24;
    tmp_key_name_24 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_8__class_decl_dict );
    tmp_dict_name_24 = tmp_class_creation_8__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_24, tmp_key_name_24 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    tmp_condition_result_44 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_44 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_28;
    }
    else
    {
        goto branch_no_28;
    }
    branch_yes_28:;
    {
    CHECK_OBJECT( tmp_class_creation_8__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_8__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    }
    branch_no_28:;
    }
    {
    nuitka_bool tmp_condition_result_45;
    PyObject *tmp_source_name_29;
    CHECK_OBJECT( tmp_class_creation_8__metaclass );
    tmp_source_name_29 = tmp_class_creation_8__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_29, const_str_plain___prepare__ );
    tmp_condition_result_45 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_45 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_29;
    }
    else
    {
        goto branch_no_29;
    }
    branch_yes_29:;
    {
    PyObject *tmp_assign_source_106;
    PyObject *tmp_called_name_16;
    PyObject *tmp_source_name_30;
    PyObject *tmp_args_name_15;
    PyObject *tmp_tuple_element_49;
    PyObject *tmp_kw_name_15;
    CHECK_OBJECT( tmp_class_creation_8__metaclass );
    tmp_source_name_30 = tmp_class_creation_8__metaclass;
    tmp_called_name_16 = LOOKUP_ATTRIBUTE( tmp_source_name_30, const_str_plain___prepare__ );
    if ( tmp_called_name_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    tmp_tuple_element_49 = const_str_plain_ECPoint;
    tmp_args_name_15 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_49 );
    PyTuple_SET_ITEM( tmp_args_name_15, 0, tmp_tuple_element_49 );
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_tuple_element_49 = tmp_class_creation_8__bases;
    Py_INCREF( tmp_tuple_element_49 );
    PyTuple_SET_ITEM( tmp_args_name_15, 1, tmp_tuple_element_49 );
    CHECK_OBJECT( tmp_class_creation_8__class_decl_dict );
    tmp_kw_name_15 = tmp_class_creation_8__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 206;
    tmp_assign_source_106 = CALL_FUNCTION( tmp_called_name_16, tmp_args_name_15, tmp_kw_name_15 );
    Py_DECREF( tmp_called_name_16 );
    Py_DECREF( tmp_args_name_15 );
    if ( tmp_assign_source_106 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    assert( tmp_class_creation_8__prepared == NULL );
    tmp_class_creation_8__prepared = tmp_assign_source_106;

    }
    {
    nuitka_bool tmp_condition_result_46;
    PyObject *tmp_operand_name_8;
    PyObject *tmp_source_name_31;
    CHECK_OBJECT( tmp_class_creation_8__prepared );
    tmp_source_name_31 = tmp_class_creation_8__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_31, const_str_plain___getitem__ );
    tmp_operand_name_8 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_8 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    tmp_condition_result_46 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_46 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_30;
    }
    else
    {
        goto branch_no_30;
    }
    branch_yes_30:;
    {
    PyObject *tmp_raise_type_8;
    PyObject *tmp_raise_value_8;
    PyObject *tmp_left_name_8;
    PyObject *tmp_right_name_8;
    PyObject *tmp_tuple_element_50;
    PyObject *tmp_getattr_target_8;
    PyObject *tmp_getattr_attr_8;
    PyObject *tmp_getattr_default_8;
    PyObject *tmp_source_name_32;
    PyObject *tmp_type_arg_15;
    tmp_raise_type_8 = PyExc_TypeError;
    tmp_left_name_8 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_8__metaclass );
    tmp_getattr_target_8 = tmp_class_creation_8__metaclass;
    tmp_getattr_attr_8 = const_str_plain___name__;
    tmp_getattr_default_8 = const_str_angle_metaclass;
    tmp_tuple_element_50 = BUILTIN_GETATTR( tmp_getattr_target_8, tmp_getattr_attr_8, tmp_getattr_default_8 );
    if ( tmp_tuple_element_50 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    tmp_right_name_8 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_8, 0, tmp_tuple_element_50 );
    CHECK_OBJECT( tmp_class_creation_8__prepared );
    tmp_type_arg_15 = tmp_class_creation_8__prepared;
    tmp_source_name_32 = BUILTIN_TYPE1( tmp_type_arg_15 );
    assert( !(tmp_source_name_32 == NULL) );
    tmp_tuple_element_50 = LOOKUP_ATTRIBUTE( tmp_source_name_32, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_32 );
    if ( tmp_tuple_element_50 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_8 );

        exception_lineno = 206;

        goto try_except_handler_28;
    }
    PyTuple_SET_ITEM( tmp_right_name_8, 1, tmp_tuple_element_50 );
    tmp_raise_value_8 = BINARY_OPERATION_REMAINDER( tmp_left_name_8, tmp_right_name_8 );
    Py_DECREF( tmp_right_name_8 );
    if ( tmp_raise_value_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_28;
    }
    exception_type = tmp_raise_type_8;
    Py_INCREF( tmp_raise_type_8 );
    exception_value = tmp_raise_value_8;
    exception_lineno = 206;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_28;
    }
    branch_no_30:;
    }
    goto branch_end_29;
    branch_no_29:;
    {
    PyObject *tmp_assign_source_107;
    tmp_assign_source_107 = PyDict_New();
    assert( tmp_class_creation_8__prepared == NULL );
    tmp_class_creation_8__prepared = tmp_assign_source_107;

    }
    branch_end_29:;
    }
    {
    PyObject *tmp_assign_source_108;
    {
    PyObject *tmp_set_locals_8;
    CHECK_OBJECT( tmp_class_creation_8__prepared );
    tmp_set_locals_8 = tmp_class_creation_8__prepared;
    locals_asn1crypto$keys_206 = tmp_set_locals_8;
    Py_INCREF( tmp_set_locals_8 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_206, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_30;
    }
    }
    {
    tmp_dictset_value = const_str_plain_ECPoint;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_206, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_30;
    }
    }
    {
    nuitka_bool tmp_condition_result_47;
    PyObject *tmp_compexpr_left_7;
    PyObject *tmp_compexpr_right_7;
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_compexpr_left_7 = tmp_class_creation_8__bases;
    CHECK_OBJECT( tmp_class_creation_8__bases_orig );
    tmp_compexpr_right_7 = tmp_class_creation_8__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_7, tmp_compexpr_right_7 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_30;
    }
    tmp_condition_result_47 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_47 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_31;
    }
    else
    {
        goto branch_no_31;
    }
    branch_yes_31:;
    {
    CHECK_OBJECT( tmp_class_creation_8__bases_orig );
    tmp_dictset_value = tmp_class_creation_8__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_206, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_30;
    }
    }
    branch_no_31:;
    }
    {
    PyObject *tmp_assign_source_109;
    PyObject *tmp_called_name_17;
    PyObject *tmp_args_name_16;
    PyObject *tmp_tuple_element_51;
    PyObject *tmp_kw_name_16;
    CHECK_OBJECT( tmp_class_creation_8__metaclass );
    tmp_called_name_17 = tmp_class_creation_8__metaclass;
    tmp_tuple_element_51 = const_str_plain_ECPoint;
    tmp_args_name_16 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_51 );
    PyTuple_SET_ITEM( tmp_args_name_16, 0, tmp_tuple_element_51 );
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_tuple_element_51 = tmp_class_creation_8__bases;
    Py_INCREF( tmp_tuple_element_51 );
    PyTuple_SET_ITEM( tmp_args_name_16, 1, tmp_tuple_element_51 );
    tmp_tuple_element_51 = locals_asn1crypto$keys_206;
    Py_INCREF( tmp_tuple_element_51 );
    PyTuple_SET_ITEM( tmp_args_name_16, 2, tmp_tuple_element_51 );
    CHECK_OBJECT( tmp_class_creation_8__class_decl_dict );
    tmp_kw_name_16 = tmp_class_creation_8__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 206;
    tmp_assign_source_109 = CALL_FUNCTION( tmp_called_name_17, tmp_args_name_16, tmp_kw_name_16 );
    Py_DECREF( tmp_args_name_16 );
    if ( tmp_assign_source_109 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 206;

        goto try_except_handler_30;
    }
    assert( outline_7_var___class__ == NULL );
    outline_7_var___class__ = tmp_assign_source_109;

    }
    {
    CHECK_OBJECT( outline_7_var___class__ );
    tmp_assign_source_108 = outline_7_var___class__;
    Py_INCREF( tmp_assign_source_108 );
    goto try_return_handler_30;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_30:;
    {
    Py_DECREF( locals_asn1crypto$keys_206 );
    locals_asn1crypto$keys_206 = NULL;
    }
    {
    goto try_return_handler_29;
    }
    // Exception handler code:
    try_except_handler_30:;
    exception_keeper_type_28 = exception_type;
    exception_keeper_value_28 = exception_value;
    exception_keeper_tb_28 = exception_tb;
    exception_keeper_lineno_28 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_206 );
    locals_asn1crypto$keys_206 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_28;
    exception_value = exception_keeper_value_28;
    exception_tb = exception_keeper_tb_28;
    exception_lineno = exception_keeper_lineno_28;

    goto try_except_handler_29;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_29:;
    {
    CHECK_OBJECT( (PyObject *)outline_7_var___class__ );
    Py_DECREF( outline_7_var___class__ );
    outline_7_var___class__ = NULL;

    }
    {
    goto outline_result_8;
    }
    // Exception handler code:
    try_except_handler_29:;
    exception_keeper_type_29 = exception_type;
    exception_keeper_value_29 = exception_value;
    exception_keeper_tb_29 = exception_tb;
    exception_keeper_lineno_29 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_29;
    exception_value = exception_keeper_value_29;
    exception_tb = exception_keeper_tb_29;
    exception_lineno = exception_keeper_lineno_29;

    goto outline_exception_8;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_8:;
    exception_lineno = 206;
    goto try_except_handler_28;
    outline_result_8:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPoint, tmp_assign_source_108 );
    }
    goto try_end_14;
    // Exception handler code:
    try_except_handler_28:;
    exception_keeper_type_30 = exception_type;
    exception_keeper_value_30 = exception_value;
    exception_keeper_tb_30 = exception_tb;
    exception_keeper_lineno_30 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_8__bases );
    tmp_class_creation_8__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_8__class_decl_dict );
    tmp_class_creation_8__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_8__metaclass );
    tmp_class_creation_8__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_8__prepared );
    tmp_class_creation_8__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_30;
    exception_value = exception_keeper_value_30;
    exception_tb = exception_keeper_tb_30;
    exception_lineno = exception_keeper_lineno_30;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_14:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_8__bases );
    Py_DECREF( tmp_class_creation_8__bases );
    tmp_class_creation_8__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_8__class_decl_dict );
    Py_DECREF( tmp_class_creation_8__class_decl_dict );
    tmp_class_creation_8__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_8__metaclass );
    Py_DECREF( tmp_class_creation_8__metaclass );
    tmp_class_creation_8__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_8__prepared );
    Py_DECREF( tmp_class_creation_8__prepared );
    tmp_class_creation_8__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_110;
    PyObject *tmp_tuple_element_52;
    PyObject *tmp_mvar_value_31;
    PyObject *tmp_mvar_value_32;
    tmp_mvar_value_31 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OctetBitString );

    if (unlikely( tmp_mvar_value_31 == NULL ))
    {
        tmp_mvar_value_31 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_OctetBitString );
    }

    if ( tmp_mvar_value_31 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "OctetBitString" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 211;

        goto try_except_handler_31;
    }

    tmp_tuple_element_52 = tmp_mvar_value_31;
    tmp_assign_source_110 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_52 );
    PyTuple_SET_ITEM( tmp_assign_source_110, 0, tmp_tuple_element_52 );
    tmp_mvar_value_32 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain__ECPoint );

    if (unlikely( tmp_mvar_value_32 == NULL ))
    {
        tmp_mvar_value_32 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ECPoint );
    }

    if ( tmp_mvar_value_32 == NULL )
    {
        Py_DECREF( tmp_assign_source_110 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ECPoint" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 211;

        goto try_except_handler_31;
    }

    tmp_tuple_element_52 = tmp_mvar_value_32;
    Py_INCREF( tmp_tuple_element_52 );
    PyTuple_SET_ITEM( tmp_assign_source_110, 1, tmp_tuple_element_52 );
    assert( tmp_class_creation_9__bases_orig == NULL );
    tmp_class_creation_9__bases_orig = tmp_assign_source_110;

    }
    {
    PyObject *tmp_assign_source_111;
    PyObject *tmp_dircall_arg1_8;
    CHECK_OBJECT( tmp_class_creation_9__bases_orig );
    tmp_dircall_arg1_8 = tmp_class_creation_9__bases_orig;
    Py_INCREF( tmp_dircall_arg1_8 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_8};
        tmp_assign_source_111 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_111 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    assert( tmp_class_creation_9__bases == NULL );
    tmp_class_creation_9__bases = tmp_assign_source_111;

    }
    {
    PyObject *tmp_assign_source_112;
    tmp_assign_source_112 = PyDict_New();
    assert( tmp_class_creation_9__class_decl_dict == NULL );
    tmp_class_creation_9__class_decl_dict = tmp_assign_source_112;

    }
    {
    PyObject *tmp_assign_source_113;
    PyObject *tmp_metaclass_name_9;
    nuitka_bool tmp_condition_result_48;
    PyObject *tmp_key_name_25;
    PyObject *tmp_dict_name_25;
    PyObject *tmp_dict_name_26;
    PyObject *tmp_key_name_26;
    nuitka_bool tmp_condition_result_49;
    int tmp_truth_name_8;
    PyObject *tmp_type_arg_16;
    PyObject *tmp_subscribed_name_8;
    PyObject *tmp_subscript_name_8;
    PyObject *tmp_bases_name_9;
    tmp_key_name_25 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_9__class_decl_dict );
    tmp_dict_name_25 = tmp_class_creation_9__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_25, tmp_key_name_25 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    tmp_condition_result_48 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_48 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_17;
    }
    else
    {
        goto condexpr_false_17;
    }
    condexpr_true_17:;
    CHECK_OBJECT( tmp_class_creation_9__class_decl_dict );
    tmp_dict_name_26 = tmp_class_creation_9__class_decl_dict;
    tmp_key_name_26 = const_str_plain_metaclass;
    tmp_metaclass_name_9 = DICT_GET_ITEM( tmp_dict_name_26, tmp_key_name_26 );
    if ( tmp_metaclass_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    goto condexpr_end_17;
    condexpr_false_17:;
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_truth_name_8 = CHECK_IF_TRUE( tmp_class_creation_9__bases );
    if ( tmp_truth_name_8 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    tmp_condition_result_49 = tmp_truth_name_8 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_49 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_18;
    }
    else
    {
        goto condexpr_false_18;
    }
    condexpr_true_18:;
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_subscribed_name_8 = tmp_class_creation_9__bases;
    tmp_subscript_name_8 = const_int_0;
    tmp_type_arg_16 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_8, tmp_subscript_name_8, 0 );
    if ( tmp_type_arg_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    tmp_metaclass_name_9 = BUILTIN_TYPE1( tmp_type_arg_16 );
    Py_DECREF( tmp_type_arg_16 );
    if ( tmp_metaclass_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    goto condexpr_end_18;
    condexpr_false_18:;
    tmp_metaclass_name_9 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_9 );
    condexpr_end_18:;
    condexpr_end_17:;
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_bases_name_9 = tmp_class_creation_9__bases;
    tmp_assign_source_113 = SELECT_METACLASS( tmp_metaclass_name_9, tmp_bases_name_9 );
    Py_DECREF( tmp_metaclass_name_9 );
    if ( tmp_assign_source_113 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    assert( tmp_class_creation_9__metaclass == NULL );
    tmp_class_creation_9__metaclass = tmp_assign_source_113;

    }
    {
    nuitka_bool tmp_condition_result_50;
    PyObject *tmp_key_name_27;
    PyObject *tmp_dict_name_27;
    tmp_key_name_27 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_9__class_decl_dict );
    tmp_dict_name_27 = tmp_class_creation_9__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_27, tmp_key_name_27 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    tmp_condition_result_50 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_50 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_32;
    }
    else
    {
        goto branch_no_32;
    }
    branch_yes_32:;
    {
    CHECK_OBJECT( tmp_class_creation_9__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_9__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    }
    branch_no_32:;
    }
    {
    nuitka_bool tmp_condition_result_51;
    PyObject *tmp_source_name_33;
    CHECK_OBJECT( tmp_class_creation_9__metaclass );
    tmp_source_name_33 = tmp_class_creation_9__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_33, const_str_plain___prepare__ );
    tmp_condition_result_51 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_51 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_33;
    }
    else
    {
        goto branch_no_33;
    }
    branch_yes_33:;
    {
    PyObject *tmp_assign_source_114;
    PyObject *tmp_called_name_18;
    PyObject *tmp_source_name_34;
    PyObject *tmp_args_name_17;
    PyObject *tmp_tuple_element_53;
    PyObject *tmp_kw_name_17;
    CHECK_OBJECT( tmp_class_creation_9__metaclass );
    tmp_source_name_34 = tmp_class_creation_9__metaclass;
    tmp_called_name_18 = LOOKUP_ATTRIBUTE( tmp_source_name_34, const_str_plain___prepare__ );
    if ( tmp_called_name_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    tmp_tuple_element_53 = const_str_plain_ECPointBitString;
    tmp_args_name_17 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_53 );
    PyTuple_SET_ITEM( tmp_args_name_17, 0, tmp_tuple_element_53 );
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_tuple_element_53 = tmp_class_creation_9__bases;
    Py_INCREF( tmp_tuple_element_53 );
    PyTuple_SET_ITEM( tmp_args_name_17, 1, tmp_tuple_element_53 );
    CHECK_OBJECT( tmp_class_creation_9__class_decl_dict );
    tmp_kw_name_17 = tmp_class_creation_9__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 211;
    tmp_assign_source_114 = CALL_FUNCTION( tmp_called_name_18, tmp_args_name_17, tmp_kw_name_17 );
    Py_DECREF( tmp_called_name_18 );
    Py_DECREF( tmp_args_name_17 );
    if ( tmp_assign_source_114 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    assert( tmp_class_creation_9__prepared == NULL );
    tmp_class_creation_9__prepared = tmp_assign_source_114;

    }
    {
    nuitka_bool tmp_condition_result_52;
    PyObject *tmp_operand_name_9;
    PyObject *tmp_source_name_35;
    CHECK_OBJECT( tmp_class_creation_9__prepared );
    tmp_source_name_35 = tmp_class_creation_9__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_35, const_str_plain___getitem__ );
    tmp_operand_name_9 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_9 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    tmp_condition_result_52 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_52 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_34;
    }
    else
    {
        goto branch_no_34;
    }
    branch_yes_34:;
    {
    PyObject *tmp_raise_type_9;
    PyObject *tmp_raise_value_9;
    PyObject *tmp_left_name_9;
    PyObject *tmp_right_name_9;
    PyObject *tmp_tuple_element_54;
    PyObject *tmp_getattr_target_9;
    PyObject *tmp_getattr_attr_9;
    PyObject *tmp_getattr_default_9;
    PyObject *tmp_source_name_36;
    PyObject *tmp_type_arg_17;
    tmp_raise_type_9 = PyExc_TypeError;
    tmp_left_name_9 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_9__metaclass );
    tmp_getattr_target_9 = tmp_class_creation_9__metaclass;
    tmp_getattr_attr_9 = const_str_plain___name__;
    tmp_getattr_default_9 = const_str_angle_metaclass;
    tmp_tuple_element_54 = BUILTIN_GETATTR( tmp_getattr_target_9, tmp_getattr_attr_9, tmp_getattr_default_9 );
    if ( tmp_tuple_element_54 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    tmp_right_name_9 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_9, 0, tmp_tuple_element_54 );
    CHECK_OBJECT( tmp_class_creation_9__prepared );
    tmp_type_arg_17 = tmp_class_creation_9__prepared;
    tmp_source_name_36 = BUILTIN_TYPE1( tmp_type_arg_17 );
    assert( !(tmp_source_name_36 == NULL) );
    tmp_tuple_element_54 = LOOKUP_ATTRIBUTE( tmp_source_name_36, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_36 );
    if ( tmp_tuple_element_54 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_9 );

        exception_lineno = 211;

        goto try_except_handler_31;
    }
    PyTuple_SET_ITEM( tmp_right_name_9, 1, tmp_tuple_element_54 );
    tmp_raise_value_9 = BINARY_OPERATION_REMAINDER( tmp_left_name_9, tmp_right_name_9 );
    Py_DECREF( tmp_right_name_9 );
    if ( tmp_raise_value_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_31;
    }
    exception_type = tmp_raise_type_9;
    Py_INCREF( tmp_raise_type_9 );
    exception_value = tmp_raise_value_9;
    exception_lineno = 211;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_31;
    }
    branch_no_34:;
    }
    goto branch_end_33;
    branch_no_33:;
    {
    PyObject *tmp_assign_source_115;
    tmp_assign_source_115 = PyDict_New();
    assert( tmp_class_creation_9__prepared == NULL );
    tmp_class_creation_9__prepared = tmp_assign_source_115;

    }
    branch_end_33:;
    }
    {
    PyObject *tmp_assign_source_116;
    {
    PyObject *tmp_set_locals_9;
    CHECK_OBJECT( tmp_class_creation_9__prepared );
    tmp_set_locals_9 = tmp_class_creation_9__prepared;
    locals_asn1crypto$keys_211 = tmp_set_locals_9;
    Py_INCREF( tmp_set_locals_9 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_211, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_33;
    }
    }
    {
    tmp_dictset_value = const_str_plain_ECPointBitString;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_211, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_33;
    }
    }
    {
    nuitka_bool tmp_condition_result_53;
    PyObject *tmp_compexpr_left_8;
    PyObject *tmp_compexpr_right_8;
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_compexpr_left_8 = tmp_class_creation_9__bases;
    CHECK_OBJECT( tmp_class_creation_9__bases_orig );
    tmp_compexpr_right_8 = tmp_class_creation_9__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_8, tmp_compexpr_right_8 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_33;
    }
    tmp_condition_result_53 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_53 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_35;
    }
    else
    {
        goto branch_no_35;
    }
    branch_yes_35:;
    {
    CHECK_OBJECT( tmp_class_creation_9__bases_orig );
    tmp_dictset_value = tmp_class_creation_9__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_211, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_33;
    }
    }
    branch_no_35:;
    }
    {
    PyObject *tmp_assign_source_117;
    PyObject *tmp_called_name_19;
    PyObject *tmp_args_name_18;
    PyObject *tmp_tuple_element_55;
    PyObject *tmp_kw_name_18;
    CHECK_OBJECT( tmp_class_creation_9__metaclass );
    tmp_called_name_19 = tmp_class_creation_9__metaclass;
    tmp_tuple_element_55 = const_str_plain_ECPointBitString;
    tmp_args_name_18 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_55 );
    PyTuple_SET_ITEM( tmp_args_name_18, 0, tmp_tuple_element_55 );
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_tuple_element_55 = tmp_class_creation_9__bases;
    Py_INCREF( tmp_tuple_element_55 );
    PyTuple_SET_ITEM( tmp_args_name_18, 1, tmp_tuple_element_55 );
    tmp_tuple_element_55 = locals_asn1crypto$keys_211;
    Py_INCREF( tmp_tuple_element_55 );
    PyTuple_SET_ITEM( tmp_args_name_18, 2, tmp_tuple_element_55 );
    CHECK_OBJECT( tmp_class_creation_9__class_decl_dict );
    tmp_kw_name_18 = tmp_class_creation_9__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 211;
    tmp_assign_source_117 = CALL_FUNCTION( tmp_called_name_19, tmp_args_name_18, tmp_kw_name_18 );
    Py_DECREF( tmp_args_name_18 );
    if ( tmp_assign_source_117 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 211;

        goto try_except_handler_33;
    }
    assert( outline_8_var___class__ == NULL );
    outline_8_var___class__ = tmp_assign_source_117;

    }
    {
    CHECK_OBJECT( outline_8_var___class__ );
    tmp_assign_source_116 = outline_8_var___class__;
    Py_INCREF( tmp_assign_source_116 );
    goto try_return_handler_33;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_33:;
    {
    Py_DECREF( locals_asn1crypto$keys_211 );
    locals_asn1crypto$keys_211 = NULL;
    }
    {
    goto try_return_handler_32;
    }
    // Exception handler code:
    try_except_handler_33:;
    exception_keeper_type_31 = exception_type;
    exception_keeper_value_31 = exception_value;
    exception_keeper_tb_31 = exception_tb;
    exception_keeper_lineno_31 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_211 );
    locals_asn1crypto$keys_211 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_31;
    exception_value = exception_keeper_value_31;
    exception_tb = exception_keeper_tb_31;
    exception_lineno = exception_keeper_lineno_31;

    goto try_except_handler_32;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_32:;
    {
    CHECK_OBJECT( (PyObject *)outline_8_var___class__ );
    Py_DECREF( outline_8_var___class__ );
    outline_8_var___class__ = NULL;

    }
    {
    goto outline_result_9;
    }
    // Exception handler code:
    try_except_handler_32:;
    exception_keeper_type_32 = exception_type;
    exception_keeper_value_32 = exception_value;
    exception_keeper_tb_32 = exception_tb;
    exception_keeper_lineno_32 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_32;
    exception_value = exception_keeper_value_32;
    exception_tb = exception_keeper_tb_32;
    exception_lineno = exception_keeper_lineno_32;

    goto outline_exception_9;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_9:;
    exception_lineno = 211;
    goto try_except_handler_31;
    outline_result_9:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPointBitString, tmp_assign_source_116 );
    }
    goto try_end_15;
    // Exception handler code:
    try_except_handler_31:;
    exception_keeper_type_33 = exception_type;
    exception_keeper_value_33 = exception_value;
    exception_keeper_tb_33 = exception_tb;
    exception_keeper_lineno_33 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_9__bases );
    tmp_class_creation_9__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_9__class_decl_dict );
    tmp_class_creation_9__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_9__metaclass );
    tmp_class_creation_9__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_9__prepared );
    tmp_class_creation_9__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_33;
    exception_value = exception_keeper_value_33;
    exception_tb = exception_keeper_tb_33;
    exception_lineno = exception_keeper_lineno_33;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_15:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_9__bases );
    Py_DECREF( tmp_class_creation_9__bases );
    tmp_class_creation_9__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_9__class_decl_dict );
    Py_DECREF( tmp_class_creation_9__class_decl_dict );
    tmp_class_creation_9__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_9__metaclass );
    Py_DECREF( tmp_class_creation_9__metaclass );
    tmp_class_creation_9__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_9__prepared );
    Py_DECREF( tmp_class_creation_9__prepared );
    tmp_class_creation_9__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_118;
    PyObject *tmp_tuple_element_56;
    PyObject *tmp_mvar_value_33;
    tmp_mvar_value_33 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

    if (unlikely( tmp_mvar_value_33 == NULL ))
    {
        tmp_mvar_value_33 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
    }

    if ( tmp_mvar_value_33 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 216;

        goto try_except_handler_34;
    }

    tmp_tuple_element_56 = tmp_mvar_value_33;
    tmp_assign_source_118 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_56 );
    PyTuple_SET_ITEM( tmp_assign_source_118, 0, tmp_tuple_element_56 );
    assert( tmp_class_creation_10__bases_orig == NULL );
    tmp_class_creation_10__bases_orig = tmp_assign_source_118;

    }
    {
    PyObject *tmp_assign_source_119;
    PyObject *tmp_dircall_arg1_9;
    CHECK_OBJECT( tmp_class_creation_10__bases_orig );
    tmp_dircall_arg1_9 = tmp_class_creation_10__bases_orig;
    Py_INCREF( tmp_dircall_arg1_9 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_9};
        tmp_assign_source_119 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_119 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    assert( tmp_class_creation_10__bases == NULL );
    tmp_class_creation_10__bases = tmp_assign_source_119;

    }
    {
    PyObject *tmp_assign_source_120;
    tmp_assign_source_120 = PyDict_New();
    assert( tmp_class_creation_10__class_decl_dict == NULL );
    tmp_class_creation_10__class_decl_dict = tmp_assign_source_120;

    }
    {
    PyObject *tmp_assign_source_121;
    PyObject *tmp_metaclass_name_10;
    nuitka_bool tmp_condition_result_54;
    PyObject *tmp_key_name_28;
    PyObject *tmp_dict_name_28;
    PyObject *tmp_dict_name_29;
    PyObject *tmp_key_name_29;
    nuitka_bool tmp_condition_result_55;
    int tmp_truth_name_9;
    PyObject *tmp_type_arg_18;
    PyObject *tmp_subscribed_name_9;
    PyObject *tmp_subscript_name_9;
    PyObject *tmp_bases_name_10;
    tmp_key_name_28 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_10__class_decl_dict );
    tmp_dict_name_28 = tmp_class_creation_10__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_28, tmp_key_name_28 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    tmp_condition_result_54 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_54 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_19;
    }
    else
    {
        goto condexpr_false_19;
    }
    condexpr_true_19:;
    CHECK_OBJECT( tmp_class_creation_10__class_decl_dict );
    tmp_dict_name_29 = tmp_class_creation_10__class_decl_dict;
    tmp_key_name_29 = const_str_plain_metaclass;
    tmp_metaclass_name_10 = DICT_GET_ITEM( tmp_dict_name_29, tmp_key_name_29 );
    if ( tmp_metaclass_name_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    goto condexpr_end_19;
    condexpr_false_19:;
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_truth_name_9 = CHECK_IF_TRUE( tmp_class_creation_10__bases );
    if ( tmp_truth_name_9 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    tmp_condition_result_55 = tmp_truth_name_9 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_55 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_20;
    }
    else
    {
        goto condexpr_false_20;
    }
    condexpr_true_20:;
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_subscribed_name_9 = tmp_class_creation_10__bases;
    tmp_subscript_name_9 = const_int_0;
    tmp_type_arg_18 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_9, tmp_subscript_name_9, 0 );
    if ( tmp_type_arg_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    tmp_metaclass_name_10 = BUILTIN_TYPE1( tmp_type_arg_18 );
    Py_DECREF( tmp_type_arg_18 );
    if ( tmp_metaclass_name_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    goto condexpr_end_20;
    condexpr_false_20:;
    tmp_metaclass_name_10 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_10 );
    condexpr_end_20:;
    condexpr_end_19:;
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_bases_name_10 = tmp_class_creation_10__bases;
    tmp_assign_source_121 = SELECT_METACLASS( tmp_metaclass_name_10, tmp_bases_name_10 );
    Py_DECREF( tmp_metaclass_name_10 );
    if ( tmp_assign_source_121 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    assert( tmp_class_creation_10__metaclass == NULL );
    tmp_class_creation_10__metaclass = tmp_assign_source_121;

    }
    {
    nuitka_bool tmp_condition_result_56;
    PyObject *tmp_key_name_30;
    PyObject *tmp_dict_name_30;
    tmp_key_name_30 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_10__class_decl_dict );
    tmp_dict_name_30 = tmp_class_creation_10__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_30, tmp_key_name_30 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    tmp_condition_result_56 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_56 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_36;
    }
    else
    {
        goto branch_no_36;
    }
    branch_yes_36:;
    {
    CHECK_OBJECT( tmp_class_creation_10__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_10__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    }
    branch_no_36:;
    }
    {
    nuitka_bool tmp_condition_result_57;
    PyObject *tmp_source_name_37;
    CHECK_OBJECT( tmp_class_creation_10__metaclass );
    tmp_source_name_37 = tmp_class_creation_10__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_37, const_str_plain___prepare__ );
    tmp_condition_result_57 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_57 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_37;
    }
    else
    {
        goto branch_no_37;
    }
    branch_yes_37:;
    {
    PyObject *tmp_assign_source_122;
    PyObject *tmp_called_name_20;
    PyObject *tmp_source_name_38;
    PyObject *tmp_args_name_19;
    PyObject *tmp_tuple_element_57;
    PyObject *tmp_kw_name_19;
    CHECK_OBJECT( tmp_class_creation_10__metaclass );
    tmp_source_name_38 = tmp_class_creation_10__metaclass;
    tmp_called_name_20 = LOOKUP_ATTRIBUTE( tmp_source_name_38, const_str_plain___prepare__ );
    if ( tmp_called_name_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    tmp_tuple_element_57 = const_str_plain_SpecifiedECDomainVersion;
    tmp_args_name_19 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_57 );
    PyTuple_SET_ITEM( tmp_args_name_19, 0, tmp_tuple_element_57 );
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_tuple_element_57 = tmp_class_creation_10__bases;
    Py_INCREF( tmp_tuple_element_57 );
    PyTuple_SET_ITEM( tmp_args_name_19, 1, tmp_tuple_element_57 );
    CHECK_OBJECT( tmp_class_creation_10__class_decl_dict );
    tmp_kw_name_19 = tmp_class_creation_10__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 216;
    tmp_assign_source_122 = CALL_FUNCTION( tmp_called_name_20, tmp_args_name_19, tmp_kw_name_19 );
    Py_DECREF( tmp_called_name_20 );
    Py_DECREF( tmp_args_name_19 );
    if ( tmp_assign_source_122 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    assert( tmp_class_creation_10__prepared == NULL );
    tmp_class_creation_10__prepared = tmp_assign_source_122;

    }
    {
    nuitka_bool tmp_condition_result_58;
    PyObject *tmp_operand_name_10;
    PyObject *tmp_source_name_39;
    CHECK_OBJECT( tmp_class_creation_10__prepared );
    tmp_source_name_39 = tmp_class_creation_10__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_39, const_str_plain___getitem__ );
    tmp_operand_name_10 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_10 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    tmp_condition_result_58 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_58 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_38;
    }
    else
    {
        goto branch_no_38;
    }
    branch_yes_38:;
    {
    PyObject *tmp_raise_type_10;
    PyObject *tmp_raise_value_10;
    PyObject *tmp_left_name_10;
    PyObject *tmp_right_name_10;
    PyObject *tmp_tuple_element_58;
    PyObject *tmp_getattr_target_10;
    PyObject *tmp_getattr_attr_10;
    PyObject *tmp_getattr_default_10;
    PyObject *tmp_source_name_40;
    PyObject *tmp_type_arg_19;
    tmp_raise_type_10 = PyExc_TypeError;
    tmp_left_name_10 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_10__metaclass );
    tmp_getattr_target_10 = tmp_class_creation_10__metaclass;
    tmp_getattr_attr_10 = const_str_plain___name__;
    tmp_getattr_default_10 = const_str_angle_metaclass;
    tmp_tuple_element_58 = BUILTIN_GETATTR( tmp_getattr_target_10, tmp_getattr_attr_10, tmp_getattr_default_10 );
    if ( tmp_tuple_element_58 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    tmp_right_name_10 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_10, 0, tmp_tuple_element_58 );
    CHECK_OBJECT( tmp_class_creation_10__prepared );
    tmp_type_arg_19 = tmp_class_creation_10__prepared;
    tmp_source_name_40 = BUILTIN_TYPE1( tmp_type_arg_19 );
    assert( !(tmp_source_name_40 == NULL) );
    tmp_tuple_element_58 = LOOKUP_ATTRIBUTE( tmp_source_name_40, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_40 );
    if ( tmp_tuple_element_58 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_10 );

        exception_lineno = 216;

        goto try_except_handler_34;
    }
    PyTuple_SET_ITEM( tmp_right_name_10, 1, tmp_tuple_element_58 );
    tmp_raise_value_10 = BINARY_OPERATION_REMAINDER( tmp_left_name_10, tmp_right_name_10 );
    Py_DECREF( tmp_right_name_10 );
    if ( tmp_raise_value_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_34;
    }
    exception_type = tmp_raise_type_10;
    Py_INCREF( tmp_raise_type_10 );
    exception_value = tmp_raise_value_10;
    exception_lineno = 216;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_34;
    }
    branch_no_38:;
    }
    goto branch_end_37;
    branch_no_37:;
    {
    PyObject *tmp_assign_source_123;
    tmp_assign_source_123 = PyDict_New();
    assert( tmp_class_creation_10__prepared == NULL );
    tmp_class_creation_10__prepared = tmp_assign_source_123;

    }
    branch_end_37:;
    }
    {
    PyObject *tmp_assign_source_124;
    {
    PyObject *tmp_set_locals_10;
    CHECK_OBJECT( tmp_class_creation_10__prepared );
    tmp_set_locals_10 = tmp_class_creation_10__prepared;
    locals_asn1crypto$keys_216 = tmp_set_locals_10;
    Py_INCREF( tmp_set_locals_10 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_216, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_36;
    }
    }
    {
    tmp_dictset_value = const_str_digest_76b515156306057bcf1cc01c6673d8e2;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_216, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_36;
    }
    }
    {
    tmp_dictset_value = const_str_plain_SpecifiedECDomainVersion;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_216, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_36;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_013a67a026589514b2d1728ec2c317e3_9, codeobj_013a67a026589514b2d1728ec2c317e3, module_asn1crypto$keys, sizeof(void *) );
    frame_013a67a026589514b2d1728ec2c317e3_9 = cache_frame_013a67a026589514b2d1728ec2c317e3_9;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_013a67a026589514b2d1728ec2c317e3_9 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_013a67a026589514b2d1728ec2c317e3_9 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = PyDict_Copy( const_dict_1138ab410c53f6449ed861ab6ff94184 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_216, const_str_plain__map, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 220;
        type_description_2 = "o";
        goto frame_exception_exit_9;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_013a67a026589514b2d1728ec2c317e3_9 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_8;

    frame_exception_exit_9:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_013a67a026589514b2d1728ec2c317e3_9 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_013a67a026589514b2d1728ec2c317e3_9, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_013a67a026589514b2d1728ec2c317e3_9->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_013a67a026589514b2d1728ec2c317e3_9, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_013a67a026589514b2d1728ec2c317e3_9,
        type_description_2,
        outline_9_var___class__
    );


    // Release cached frame.
    if ( frame_013a67a026589514b2d1728ec2c317e3_9 == cache_frame_013a67a026589514b2d1728ec2c317e3_9 )
    {
        Py_DECREF( frame_013a67a026589514b2d1728ec2c317e3_9 );
    }
    cache_frame_013a67a026589514b2d1728ec2c317e3_9 = NULL;

    assertFrameObject( frame_013a67a026589514b2d1728ec2c317e3_9 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_8;

    frame_no_exception_8:;
    goto skip_nested_handling_8;
    nested_frame_exit_8:;

    goto try_except_handler_36;
    skip_nested_handling_8:;
    {
    nuitka_bool tmp_condition_result_59;
    PyObject *tmp_compexpr_left_9;
    PyObject *tmp_compexpr_right_9;
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_compexpr_left_9 = tmp_class_creation_10__bases;
    CHECK_OBJECT( tmp_class_creation_10__bases_orig );
    tmp_compexpr_right_9 = tmp_class_creation_10__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_9, tmp_compexpr_right_9 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_36;
    }
    tmp_condition_result_59 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_59 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_39;
    }
    else
    {
        goto branch_no_39;
    }
    branch_yes_39:;
    {
    CHECK_OBJECT( tmp_class_creation_10__bases_orig );
    tmp_dictset_value = tmp_class_creation_10__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_216, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_36;
    }
    }
    branch_no_39:;
    }
    {
    PyObject *tmp_assign_source_125;
    PyObject *tmp_called_name_21;
    PyObject *tmp_args_name_20;
    PyObject *tmp_tuple_element_59;
    PyObject *tmp_kw_name_20;
    CHECK_OBJECT( tmp_class_creation_10__metaclass );
    tmp_called_name_21 = tmp_class_creation_10__metaclass;
    tmp_tuple_element_59 = const_str_plain_SpecifiedECDomainVersion;
    tmp_args_name_20 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_59 );
    PyTuple_SET_ITEM( tmp_args_name_20, 0, tmp_tuple_element_59 );
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_tuple_element_59 = tmp_class_creation_10__bases;
    Py_INCREF( tmp_tuple_element_59 );
    PyTuple_SET_ITEM( tmp_args_name_20, 1, tmp_tuple_element_59 );
    tmp_tuple_element_59 = locals_asn1crypto$keys_216;
    Py_INCREF( tmp_tuple_element_59 );
    PyTuple_SET_ITEM( tmp_args_name_20, 2, tmp_tuple_element_59 );
    CHECK_OBJECT( tmp_class_creation_10__class_decl_dict );
    tmp_kw_name_20 = tmp_class_creation_10__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 216;
    tmp_assign_source_125 = CALL_FUNCTION( tmp_called_name_21, tmp_args_name_20, tmp_kw_name_20 );
    Py_DECREF( tmp_args_name_20 );
    if ( tmp_assign_source_125 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 216;

        goto try_except_handler_36;
    }
    assert( outline_9_var___class__ == NULL );
    outline_9_var___class__ = tmp_assign_source_125;

    }
    {
    CHECK_OBJECT( outline_9_var___class__ );
    tmp_assign_source_124 = outline_9_var___class__;
    Py_INCREF( tmp_assign_source_124 );
    goto try_return_handler_36;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_36:;
    {
    Py_DECREF( locals_asn1crypto$keys_216 );
    locals_asn1crypto$keys_216 = NULL;
    }
    {
    goto try_return_handler_35;
    }
    // Exception handler code:
    try_except_handler_36:;
    exception_keeper_type_34 = exception_type;
    exception_keeper_value_34 = exception_value;
    exception_keeper_tb_34 = exception_tb;
    exception_keeper_lineno_34 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_216 );
    locals_asn1crypto$keys_216 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_34;
    exception_value = exception_keeper_value_34;
    exception_tb = exception_keeper_tb_34;
    exception_lineno = exception_keeper_lineno_34;

    goto try_except_handler_35;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_35:;
    {
    CHECK_OBJECT( (PyObject *)outline_9_var___class__ );
    Py_DECREF( outline_9_var___class__ );
    outline_9_var___class__ = NULL;

    }
    {
    goto outline_result_10;
    }
    // Exception handler code:
    try_except_handler_35:;
    exception_keeper_type_35 = exception_type;
    exception_keeper_value_35 = exception_value;
    exception_keeper_tb_35 = exception_tb;
    exception_keeper_lineno_35 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_35;
    exception_value = exception_keeper_value_35;
    exception_tb = exception_keeper_tb_35;
    exception_lineno = exception_keeper_lineno_35;

    goto outline_exception_10;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_10:;
    exception_lineno = 216;
    goto try_except_handler_34;
    outline_result_10:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SpecifiedECDomainVersion, tmp_assign_source_124 );
    }
    goto try_end_16;
    // Exception handler code:
    try_except_handler_34:;
    exception_keeper_type_36 = exception_type;
    exception_keeper_value_36 = exception_value;
    exception_keeper_tb_36 = exception_tb;
    exception_keeper_lineno_36 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_10__bases );
    tmp_class_creation_10__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_10__class_decl_dict );
    tmp_class_creation_10__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_10__metaclass );
    tmp_class_creation_10__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_10__prepared );
    tmp_class_creation_10__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_36;
    exception_value = exception_keeper_value_36;
    exception_tb = exception_keeper_tb_36;
    exception_lineno = exception_keeper_lineno_36;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_16:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_10__bases );
    Py_DECREF( tmp_class_creation_10__bases );
    tmp_class_creation_10__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_10__class_decl_dict );
    Py_DECREF( tmp_class_creation_10__class_decl_dict );
    tmp_class_creation_10__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_10__metaclass );
    Py_DECREF( tmp_class_creation_10__metaclass );
    tmp_class_creation_10__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_10__prepared );
    Py_DECREF( tmp_class_creation_10__prepared );
    tmp_class_creation_10__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_126;
    PyObject *tmp_tuple_element_60;
    PyObject *tmp_mvar_value_34;
    tmp_mvar_value_34 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );

    if (unlikely( tmp_mvar_value_34 == NULL ))
    {
        tmp_mvar_value_34 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );
    }

    if ( tmp_mvar_value_34 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ObjectIdentifier" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 227;

        goto try_except_handler_37;
    }

    tmp_tuple_element_60 = tmp_mvar_value_34;
    tmp_assign_source_126 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_60 );
    PyTuple_SET_ITEM( tmp_assign_source_126, 0, tmp_tuple_element_60 );
    assert( tmp_class_creation_11__bases_orig == NULL );
    tmp_class_creation_11__bases_orig = tmp_assign_source_126;

    }
    {
    PyObject *tmp_assign_source_127;
    PyObject *tmp_dircall_arg1_10;
    CHECK_OBJECT( tmp_class_creation_11__bases_orig );
    tmp_dircall_arg1_10 = tmp_class_creation_11__bases_orig;
    Py_INCREF( tmp_dircall_arg1_10 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_10};
        tmp_assign_source_127 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_127 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    assert( tmp_class_creation_11__bases == NULL );
    tmp_class_creation_11__bases = tmp_assign_source_127;

    }
    {
    PyObject *tmp_assign_source_128;
    tmp_assign_source_128 = PyDict_New();
    assert( tmp_class_creation_11__class_decl_dict == NULL );
    tmp_class_creation_11__class_decl_dict = tmp_assign_source_128;

    }
    {
    PyObject *tmp_assign_source_129;
    PyObject *tmp_metaclass_name_11;
    nuitka_bool tmp_condition_result_60;
    PyObject *tmp_key_name_31;
    PyObject *tmp_dict_name_31;
    PyObject *tmp_dict_name_32;
    PyObject *tmp_key_name_32;
    nuitka_bool tmp_condition_result_61;
    int tmp_truth_name_10;
    PyObject *tmp_type_arg_20;
    PyObject *tmp_subscribed_name_10;
    PyObject *tmp_subscript_name_10;
    PyObject *tmp_bases_name_11;
    tmp_key_name_31 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_11__class_decl_dict );
    tmp_dict_name_31 = tmp_class_creation_11__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_31, tmp_key_name_31 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    tmp_condition_result_60 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_60 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_21;
    }
    else
    {
        goto condexpr_false_21;
    }
    condexpr_true_21:;
    CHECK_OBJECT( tmp_class_creation_11__class_decl_dict );
    tmp_dict_name_32 = tmp_class_creation_11__class_decl_dict;
    tmp_key_name_32 = const_str_plain_metaclass;
    tmp_metaclass_name_11 = DICT_GET_ITEM( tmp_dict_name_32, tmp_key_name_32 );
    if ( tmp_metaclass_name_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    goto condexpr_end_21;
    condexpr_false_21:;
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_truth_name_10 = CHECK_IF_TRUE( tmp_class_creation_11__bases );
    if ( tmp_truth_name_10 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    tmp_condition_result_61 = tmp_truth_name_10 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_61 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_22;
    }
    else
    {
        goto condexpr_false_22;
    }
    condexpr_true_22:;
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_subscribed_name_10 = tmp_class_creation_11__bases;
    tmp_subscript_name_10 = const_int_0;
    tmp_type_arg_20 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_10, tmp_subscript_name_10, 0 );
    if ( tmp_type_arg_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    tmp_metaclass_name_11 = BUILTIN_TYPE1( tmp_type_arg_20 );
    Py_DECREF( tmp_type_arg_20 );
    if ( tmp_metaclass_name_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    goto condexpr_end_22;
    condexpr_false_22:;
    tmp_metaclass_name_11 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_11 );
    condexpr_end_22:;
    condexpr_end_21:;
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_bases_name_11 = tmp_class_creation_11__bases;
    tmp_assign_source_129 = SELECT_METACLASS( tmp_metaclass_name_11, tmp_bases_name_11 );
    Py_DECREF( tmp_metaclass_name_11 );
    if ( tmp_assign_source_129 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    assert( tmp_class_creation_11__metaclass == NULL );
    tmp_class_creation_11__metaclass = tmp_assign_source_129;

    }
    {
    nuitka_bool tmp_condition_result_62;
    PyObject *tmp_key_name_33;
    PyObject *tmp_dict_name_33;
    tmp_key_name_33 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_11__class_decl_dict );
    tmp_dict_name_33 = tmp_class_creation_11__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_33, tmp_key_name_33 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    tmp_condition_result_62 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_62 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_40;
    }
    else
    {
        goto branch_no_40;
    }
    branch_yes_40:;
    {
    CHECK_OBJECT( tmp_class_creation_11__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_11__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    }
    branch_no_40:;
    }
    {
    nuitka_bool tmp_condition_result_63;
    PyObject *tmp_source_name_41;
    CHECK_OBJECT( tmp_class_creation_11__metaclass );
    tmp_source_name_41 = tmp_class_creation_11__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_41, const_str_plain___prepare__ );
    tmp_condition_result_63 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_63 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_41;
    }
    else
    {
        goto branch_no_41;
    }
    branch_yes_41:;
    {
    PyObject *tmp_assign_source_130;
    PyObject *tmp_called_name_22;
    PyObject *tmp_source_name_42;
    PyObject *tmp_args_name_21;
    PyObject *tmp_tuple_element_61;
    PyObject *tmp_kw_name_21;
    CHECK_OBJECT( tmp_class_creation_11__metaclass );
    tmp_source_name_42 = tmp_class_creation_11__metaclass;
    tmp_called_name_22 = LOOKUP_ATTRIBUTE( tmp_source_name_42, const_str_plain___prepare__ );
    if ( tmp_called_name_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    tmp_tuple_element_61 = const_str_plain_FieldType;
    tmp_args_name_21 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_61 );
    PyTuple_SET_ITEM( tmp_args_name_21, 0, tmp_tuple_element_61 );
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_tuple_element_61 = tmp_class_creation_11__bases;
    Py_INCREF( tmp_tuple_element_61 );
    PyTuple_SET_ITEM( tmp_args_name_21, 1, tmp_tuple_element_61 );
    CHECK_OBJECT( tmp_class_creation_11__class_decl_dict );
    tmp_kw_name_21 = tmp_class_creation_11__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 227;
    tmp_assign_source_130 = CALL_FUNCTION( tmp_called_name_22, tmp_args_name_21, tmp_kw_name_21 );
    Py_DECREF( tmp_called_name_22 );
    Py_DECREF( tmp_args_name_21 );
    if ( tmp_assign_source_130 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    assert( tmp_class_creation_11__prepared == NULL );
    tmp_class_creation_11__prepared = tmp_assign_source_130;

    }
    {
    nuitka_bool tmp_condition_result_64;
    PyObject *tmp_operand_name_11;
    PyObject *tmp_source_name_43;
    CHECK_OBJECT( tmp_class_creation_11__prepared );
    tmp_source_name_43 = tmp_class_creation_11__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_43, const_str_plain___getitem__ );
    tmp_operand_name_11 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_11 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    tmp_condition_result_64 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_64 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_42;
    }
    else
    {
        goto branch_no_42;
    }
    branch_yes_42:;
    {
    PyObject *tmp_raise_type_11;
    PyObject *tmp_raise_value_11;
    PyObject *tmp_left_name_11;
    PyObject *tmp_right_name_11;
    PyObject *tmp_tuple_element_62;
    PyObject *tmp_getattr_target_11;
    PyObject *tmp_getattr_attr_11;
    PyObject *tmp_getattr_default_11;
    PyObject *tmp_source_name_44;
    PyObject *tmp_type_arg_21;
    tmp_raise_type_11 = PyExc_TypeError;
    tmp_left_name_11 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_11__metaclass );
    tmp_getattr_target_11 = tmp_class_creation_11__metaclass;
    tmp_getattr_attr_11 = const_str_plain___name__;
    tmp_getattr_default_11 = const_str_angle_metaclass;
    tmp_tuple_element_62 = BUILTIN_GETATTR( tmp_getattr_target_11, tmp_getattr_attr_11, tmp_getattr_default_11 );
    if ( tmp_tuple_element_62 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    tmp_right_name_11 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_11, 0, tmp_tuple_element_62 );
    CHECK_OBJECT( tmp_class_creation_11__prepared );
    tmp_type_arg_21 = tmp_class_creation_11__prepared;
    tmp_source_name_44 = BUILTIN_TYPE1( tmp_type_arg_21 );
    assert( !(tmp_source_name_44 == NULL) );
    tmp_tuple_element_62 = LOOKUP_ATTRIBUTE( tmp_source_name_44, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_44 );
    if ( tmp_tuple_element_62 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_11 );

        exception_lineno = 227;

        goto try_except_handler_37;
    }
    PyTuple_SET_ITEM( tmp_right_name_11, 1, tmp_tuple_element_62 );
    tmp_raise_value_11 = BINARY_OPERATION_REMAINDER( tmp_left_name_11, tmp_right_name_11 );
    Py_DECREF( tmp_right_name_11 );
    if ( tmp_raise_value_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_37;
    }
    exception_type = tmp_raise_type_11;
    Py_INCREF( tmp_raise_type_11 );
    exception_value = tmp_raise_value_11;
    exception_lineno = 227;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_37;
    }
    branch_no_42:;
    }
    goto branch_end_41;
    branch_no_41:;
    {
    PyObject *tmp_assign_source_131;
    tmp_assign_source_131 = PyDict_New();
    assert( tmp_class_creation_11__prepared == NULL );
    tmp_class_creation_11__prepared = tmp_assign_source_131;

    }
    branch_end_41:;
    }
    {
    PyObject *tmp_assign_source_132;
    {
    PyObject *tmp_set_locals_11;
    CHECK_OBJECT( tmp_class_creation_11__prepared );
    tmp_set_locals_11 = tmp_class_creation_11__prepared;
    locals_asn1crypto$keys_227 = tmp_set_locals_11;
    Py_INCREF( tmp_set_locals_11 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_227, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_39;
    }
    }
    {
    tmp_dictset_value = const_str_digest_6c7a05edbd9f7192d6cc5e5bab4a5c8e;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_227, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_39;
    }
    }
    {
    tmp_dictset_value = const_str_plain_FieldType;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_227, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_39;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_fde49e0ed0f66a886469861ac70d5128_10, codeobj_fde49e0ed0f66a886469861ac70d5128, module_asn1crypto$keys, sizeof(void *) );
    frame_fde49e0ed0f66a886469861ac70d5128_10 = cache_frame_fde49e0ed0f66a886469861ac70d5128_10;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_fde49e0ed0f66a886469861ac70d5128_10 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_fde49e0ed0f66a886469861ac70d5128_10 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = PyDict_Copy( const_dict_d6786db0217579c2cb844b9b4ddcccf6 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_227, const_str_plain__map, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 233;
        type_description_2 = "o";
        goto frame_exception_exit_10;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_fde49e0ed0f66a886469861ac70d5128_10 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_9;

    frame_exception_exit_10:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_fde49e0ed0f66a886469861ac70d5128_10 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_fde49e0ed0f66a886469861ac70d5128_10, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_fde49e0ed0f66a886469861ac70d5128_10->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_fde49e0ed0f66a886469861ac70d5128_10, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_fde49e0ed0f66a886469861ac70d5128_10,
        type_description_2,
        outline_10_var___class__
    );


    // Release cached frame.
    if ( frame_fde49e0ed0f66a886469861ac70d5128_10 == cache_frame_fde49e0ed0f66a886469861ac70d5128_10 )
    {
        Py_DECREF( frame_fde49e0ed0f66a886469861ac70d5128_10 );
    }
    cache_frame_fde49e0ed0f66a886469861ac70d5128_10 = NULL;

    assertFrameObject( frame_fde49e0ed0f66a886469861ac70d5128_10 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_9;

    frame_no_exception_9:;
    goto skip_nested_handling_9;
    nested_frame_exit_9:;

    goto try_except_handler_39;
    skip_nested_handling_9:;
    {
    nuitka_bool tmp_condition_result_65;
    PyObject *tmp_compexpr_left_10;
    PyObject *tmp_compexpr_right_10;
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_compexpr_left_10 = tmp_class_creation_11__bases;
    CHECK_OBJECT( tmp_class_creation_11__bases_orig );
    tmp_compexpr_right_10 = tmp_class_creation_11__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_10, tmp_compexpr_right_10 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_39;
    }
    tmp_condition_result_65 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_65 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_43;
    }
    else
    {
        goto branch_no_43;
    }
    branch_yes_43:;
    {
    CHECK_OBJECT( tmp_class_creation_11__bases_orig );
    tmp_dictset_value = tmp_class_creation_11__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_227, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_39;
    }
    }
    branch_no_43:;
    }
    {
    PyObject *tmp_assign_source_133;
    PyObject *tmp_called_name_23;
    PyObject *tmp_args_name_22;
    PyObject *tmp_tuple_element_63;
    PyObject *tmp_kw_name_22;
    CHECK_OBJECT( tmp_class_creation_11__metaclass );
    tmp_called_name_23 = tmp_class_creation_11__metaclass;
    tmp_tuple_element_63 = const_str_plain_FieldType;
    tmp_args_name_22 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_63 );
    PyTuple_SET_ITEM( tmp_args_name_22, 0, tmp_tuple_element_63 );
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_tuple_element_63 = tmp_class_creation_11__bases;
    Py_INCREF( tmp_tuple_element_63 );
    PyTuple_SET_ITEM( tmp_args_name_22, 1, tmp_tuple_element_63 );
    tmp_tuple_element_63 = locals_asn1crypto$keys_227;
    Py_INCREF( tmp_tuple_element_63 );
    PyTuple_SET_ITEM( tmp_args_name_22, 2, tmp_tuple_element_63 );
    CHECK_OBJECT( tmp_class_creation_11__class_decl_dict );
    tmp_kw_name_22 = tmp_class_creation_11__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 227;
    tmp_assign_source_133 = CALL_FUNCTION( tmp_called_name_23, tmp_args_name_22, tmp_kw_name_22 );
    Py_DECREF( tmp_args_name_22 );
    if ( tmp_assign_source_133 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 227;

        goto try_except_handler_39;
    }
    assert( outline_10_var___class__ == NULL );
    outline_10_var___class__ = tmp_assign_source_133;

    }
    {
    CHECK_OBJECT( outline_10_var___class__ );
    tmp_assign_source_132 = outline_10_var___class__;
    Py_INCREF( tmp_assign_source_132 );
    goto try_return_handler_39;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_39:;
    {
    Py_DECREF( locals_asn1crypto$keys_227 );
    locals_asn1crypto$keys_227 = NULL;
    }
    {
    goto try_return_handler_38;
    }
    // Exception handler code:
    try_except_handler_39:;
    exception_keeper_type_37 = exception_type;
    exception_keeper_value_37 = exception_value;
    exception_keeper_tb_37 = exception_tb;
    exception_keeper_lineno_37 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_227 );
    locals_asn1crypto$keys_227 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_37;
    exception_value = exception_keeper_value_37;
    exception_tb = exception_keeper_tb_37;
    exception_lineno = exception_keeper_lineno_37;

    goto try_except_handler_38;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_38:;
    {
    CHECK_OBJECT( (PyObject *)outline_10_var___class__ );
    Py_DECREF( outline_10_var___class__ );
    outline_10_var___class__ = NULL;

    }
    {
    goto outline_result_11;
    }
    // Exception handler code:
    try_except_handler_38:;
    exception_keeper_type_38 = exception_type;
    exception_keeper_value_38 = exception_value;
    exception_keeper_tb_38 = exception_tb;
    exception_keeper_lineno_38 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_38;
    exception_value = exception_keeper_value_38;
    exception_tb = exception_keeper_tb_38;
    exception_lineno = exception_keeper_lineno_38;

    goto outline_exception_11;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_11:;
    exception_lineno = 227;
    goto try_except_handler_37;
    outline_result_11:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_FieldType, tmp_assign_source_132 );
    }
    goto try_end_17;
    // Exception handler code:
    try_except_handler_37:;
    exception_keeper_type_39 = exception_type;
    exception_keeper_value_39 = exception_value;
    exception_keeper_tb_39 = exception_tb;
    exception_keeper_lineno_39 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_11__bases );
    tmp_class_creation_11__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_11__class_decl_dict );
    tmp_class_creation_11__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_11__metaclass );
    tmp_class_creation_11__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_11__prepared );
    tmp_class_creation_11__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_39;
    exception_value = exception_keeper_value_39;
    exception_tb = exception_keeper_tb_39;
    exception_lineno = exception_keeper_lineno_39;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_17:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_11__bases );
    Py_DECREF( tmp_class_creation_11__bases );
    tmp_class_creation_11__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_11__class_decl_dict );
    Py_DECREF( tmp_class_creation_11__class_decl_dict );
    tmp_class_creation_11__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_11__metaclass );
    Py_DECREF( tmp_class_creation_11__metaclass );
    tmp_class_creation_11__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_11__prepared );
    Py_DECREF( tmp_class_creation_11__prepared );
    tmp_class_creation_11__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_134;
    PyObject *tmp_tuple_element_64;
    PyObject *tmp_mvar_value_35;
    tmp_mvar_value_35 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );

    if (unlikely( tmp_mvar_value_35 == NULL ))
    {
        tmp_mvar_value_35 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );
    }

    if ( tmp_mvar_value_35 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ObjectIdentifier" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 239;

        goto try_except_handler_40;
    }

    tmp_tuple_element_64 = tmp_mvar_value_35;
    tmp_assign_source_134 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_64 );
    PyTuple_SET_ITEM( tmp_assign_source_134, 0, tmp_tuple_element_64 );
    assert( tmp_class_creation_12__bases_orig == NULL );
    tmp_class_creation_12__bases_orig = tmp_assign_source_134;

    }
    {
    PyObject *tmp_assign_source_135;
    PyObject *tmp_dircall_arg1_11;
    CHECK_OBJECT( tmp_class_creation_12__bases_orig );
    tmp_dircall_arg1_11 = tmp_class_creation_12__bases_orig;
    Py_INCREF( tmp_dircall_arg1_11 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_11};
        tmp_assign_source_135 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_135 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    assert( tmp_class_creation_12__bases == NULL );
    tmp_class_creation_12__bases = tmp_assign_source_135;

    }
    {
    PyObject *tmp_assign_source_136;
    tmp_assign_source_136 = PyDict_New();
    assert( tmp_class_creation_12__class_decl_dict == NULL );
    tmp_class_creation_12__class_decl_dict = tmp_assign_source_136;

    }
    {
    PyObject *tmp_assign_source_137;
    PyObject *tmp_metaclass_name_12;
    nuitka_bool tmp_condition_result_66;
    PyObject *tmp_key_name_34;
    PyObject *tmp_dict_name_34;
    PyObject *tmp_dict_name_35;
    PyObject *tmp_key_name_35;
    nuitka_bool tmp_condition_result_67;
    int tmp_truth_name_11;
    PyObject *tmp_type_arg_22;
    PyObject *tmp_subscribed_name_11;
    PyObject *tmp_subscript_name_11;
    PyObject *tmp_bases_name_12;
    tmp_key_name_34 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_12__class_decl_dict );
    tmp_dict_name_34 = tmp_class_creation_12__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_34, tmp_key_name_34 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    tmp_condition_result_66 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_66 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_23;
    }
    else
    {
        goto condexpr_false_23;
    }
    condexpr_true_23:;
    CHECK_OBJECT( tmp_class_creation_12__class_decl_dict );
    tmp_dict_name_35 = tmp_class_creation_12__class_decl_dict;
    tmp_key_name_35 = const_str_plain_metaclass;
    tmp_metaclass_name_12 = DICT_GET_ITEM( tmp_dict_name_35, tmp_key_name_35 );
    if ( tmp_metaclass_name_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    goto condexpr_end_23;
    condexpr_false_23:;
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_truth_name_11 = CHECK_IF_TRUE( tmp_class_creation_12__bases );
    if ( tmp_truth_name_11 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    tmp_condition_result_67 = tmp_truth_name_11 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_67 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_24;
    }
    else
    {
        goto condexpr_false_24;
    }
    condexpr_true_24:;
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_subscribed_name_11 = tmp_class_creation_12__bases;
    tmp_subscript_name_11 = const_int_0;
    tmp_type_arg_22 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_11, tmp_subscript_name_11, 0 );
    if ( tmp_type_arg_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    tmp_metaclass_name_12 = BUILTIN_TYPE1( tmp_type_arg_22 );
    Py_DECREF( tmp_type_arg_22 );
    if ( tmp_metaclass_name_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    goto condexpr_end_24;
    condexpr_false_24:;
    tmp_metaclass_name_12 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_12 );
    condexpr_end_24:;
    condexpr_end_23:;
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_bases_name_12 = tmp_class_creation_12__bases;
    tmp_assign_source_137 = SELECT_METACLASS( tmp_metaclass_name_12, tmp_bases_name_12 );
    Py_DECREF( tmp_metaclass_name_12 );
    if ( tmp_assign_source_137 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    assert( tmp_class_creation_12__metaclass == NULL );
    tmp_class_creation_12__metaclass = tmp_assign_source_137;

    }
    {
    nuitka_bool tmp_condition_result_68;
    PyObject *tmp_key_name_36;
    PyObject *tmp_dict_name_36;
    tmp_key_name_36 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_12__class_decl_dict );
    tmp_dict_name_36 = tmp_class_creation_12__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_36, tmp_key_name_36 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    tmp_condition_result_68 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_68 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_44;
    }
    else
    {
        goto branch_no_44;
    }
    branch_yes_44:;
    {
    CHECK_OBJECT( tmp_class_creation_12__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_12__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    }
    branch_no_44:;
    }
    {
    nuitka_bool tmp_condition_result_69;
    PyObject *tmp_source_name_45;
    CHECK_OBJECT( tmp_class_creation_12__metaclass );
    tmp_source_name_45 = tmp_class_creation_12__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_45, const_str_plain___prepare__ );
    tmp_condition_result_69 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_69 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_45;
    }
    else
    {
        goto branch_no_45;
    }
    branch_yes_45:;
    {
    PyObject *tmp_assign_source_138;
    PyObject *tmp_called_name_24;
    PyObject *tmp_source_name_46;
    PyObject *tmp_args_name_23;
    PyObject *tmp_tuple_element_65;
    PyObject *tmp_kw_name_23;
    CHECK_OBJECT( tmp_class_creation_12__metaclass );
    tmp_source_name_46 = tmp_class_creation_12__metaclass;
    tmp_called_name_24 = LOOKUP_ATTRIBUTE( tmp_source_name_46, const_str_plain___prepare__ );
    if ( tmp_called_name_24 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    tmp_tuple_element_65 = const_str_plain_CharacteristicTwoBasis;
    tmp_args_name_23 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_65 );
    PyTuple_SET_ITEM( tmp_args_name_23, 0, tmp_tuple_element_65 );
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_tuple_element_65 = tmp_class_creation_12__bases;
    Py_INCREF( tmp_tuple_element_65 );
    PyTuple_SET_ITEM( tmp_args_name_23, 1, tmp_tuple_element_65 );
    CHECK_OBJECT( tmp_class_creation_12__class_decl_dict );
    tmp_kw_name_23 = tmp_class_creation_12__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 239;
    tmp_assign_source_138 = CALL_FUNCTION( tmp_called_name_24, tmp_args_name_23, tmp_kw_name_23 );
    Py_DECREF( tmp_called_name_24 );
    Py_DECREF( tmp_args_name_23 );
    if ( tmp_assign_source_138 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    assert( tmp_class_creation_12__prepared == NULL );
    tmp_class_creation_12__prepared = tmp_assign_source_138;

    }
    {
    nuitka_bool tmp_condition_result_70;
    PyObject *tmp_operand_name_12;
    PyObject *tmp_source_name_47;
    CHECK_OBJECT( tmp_class_creation_12__prepared );
    tmp_source_name_47 = tmp_class_creation_12__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_47, const_str_plain___getitem__ );
    tmp_operand_name_12 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_12 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    tmp_condition_result_70 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_70 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_46;
    }
    else
    {
        goto branch_no_46;
    }
    branch_yes_46:;
    {
    PyObject *tmp_raise_type_12;
    PyObject *tmp_raise_value_12;
    PyObject *tmp_left_name_12;
    PyObject *tmp_right_name_12;
    PyObject *tmp_tuple_element_66;
    PyObject *tmp_getattr_target_12;
    PyObject *tmp_getattr_attr_12;
    PyObject *tmp_getattr_default_12;
    PyObject *tmp_source_name_48;
    PyObject *tmp_type_arg_23;
    tmp_raise_type_12 = PyExc_TypeError;
    tmp_left_name_12 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_12__metaclass );
    tmp_getattr_target_12 = tmp_class_creation_12__metaclass;
    tmp_getattr_attr_12 = const_str_plain___name__;
    tmp_getattr_default_12 = const_str_angle_metaclass;
    tmp_tuple_element_66 = BUILTIN_GETATTR( tmp_getattr_target_12, tmp_getattr_attr_12, tmp_getattr_default_12 );
    if ( tmp_tuple_element_66 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    tmp_right_name_12 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_12, 0, tmp_tuple_element_66 );
    CHECK_OBJECT( tmp_class_creation_12__prepared );
    tmp_type_arg_23 = tmp_class_creation_12__prepared;
    tmp_source_name_48 = BUILTIN_TYPE1( tmp_type_arg_23 );
    assert( !(tmp_source_name_48 == NULL) );
    tmp_tuple_element_66 = LOOKUP_ATTRIBUTE( tmp_source_name_48, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_48 );
    if ( tmp_tuple_element_66 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_12 );

        exception_lineno = 239;

        goto try_except_handler_40;
    }
    PyTuple_SET_ITEM( tmp_right_name_12, 1, tmp_tuple_element_66 );
    tmp_raise_value_12 = BINARY_OPERATION_REMAINDER( tmp_left_name_12, tmp_right_name_12 );
    Py_DECREF( tmp_right_name_12 );
    if ( tmp_raise_value_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_40;
    }
    exception_type = tmp_raise_type_12;
    Py_INCREF( tmp_raise_type_12 );
    exception_value = tmp_raise_value_12;
    exception_lineno = 239;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_40;
    }
    branch_no_46:;
    }
    goto branch_end_45;
    branch_no_45:;
    {
    PyObject *tmp_assign_source_139;
    tmp_assign_source_139 = PyDict_New();
    assert( tmp_class_creation_12__prepared == NULL );
    tmp_class_creation_12__prepared = tmp_assign_source_139;

    }
    branch_end_45:;
    }
    {
    PyObject *tmp_assign_source_140;
    {
    PyObject *tmp_set_locals_12;
    CHECK_OBJECT( tmp_class_creation_12__prepared );
    tmp_set_locals_12 = tmp_class_creation_12__prepared;
    locals_asn1crypto$keys_239 = tmp_set_locals_12;
    Py_INCREF( tmp_set_locals_12 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_239, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_42;
    }
    }
    {
    tmp_dictset_value = const_str_digest_223b311df80c4a1255700b97994a39c0;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_239, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_42;
    }
    }
    {
    tmp_dictset_value = const_str_plain_CharacteristicTwoBasis;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_239, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_42;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_da33c70c0ccab83814db26067f8bf129_11, codeobj_da33c70c0ccab83814db26067f8bf129, module_asn1crypto$keys, sizeof(void *) );
    frame_da33c70c0ccab83814db26067f8bf129_11 = cache_frame_da33c70c0ccab83814db26067f8bf129_11;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_da33c70c0ccab83814db26067f8bf129_11 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_da33c70c0ccab83814db26067f8bf129_11 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = PyDict_Copy( const_dict_d63a121f731656c202363b32071b0671 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_239, const_str_plain__map, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 245;
        type_description_2 = "o";
        goto frame_exception_exit_11;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_da33c70c0ccab83814db26067f8bf129_11 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_10;

    frame_exception_exit_11:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_da33c70c0ccab83814db26067f8bf129_11 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_da33c70c0ccab83814db26067f8bf129_11, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_da33c70c0ccab83814db26067f8bf129_11->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_da33c70c0ccab83814db26067f8bf129_11, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_da33c70c0ccab83814db26067f8bf129_11,
        type_description_2,
        outline_11_var___class__
    );


    // Release cached frame.
    if ( frame_da33c70c0ccab83814db26067f8bf129_11 == cache_frame_da33c70c0ccab83814db26067f8bf129_11 )
    {
        Py_DECREF( frame_da33c70c0ccab83814db26067f8bf129_11 );
    }
    cache_frame_da33c70c0ccab83814db26067f8bf129_11 = NULL;

    assertFrameObject( frame_da33c70c0ccab83814db26067f8bf129_11 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_10;

    frame_no_exception_10:;
    goto skip_nested_handling_10;
    nested_frame_exit_10:;

    goto try_except_handler_42;
    skip_nested_handling_10:;
    {
    nuitka_bool tmp_condition_result_71;
    PyObject *tmp_compexpr_left_11;
    PyObject *tmp_compexpr_right_11;
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_compexpr_left_11 = tmp_class_creation_12__bases;
    CHECK_OBJECT( tmp_class_creation_12__bases_orig );
    tmp_compexpr_right_11 = tmp_class_creation_12__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_11, tmp_compexpr_right_11 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_42;
    }
    tmp_condition_result_71 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_71 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_47;
    }
    else
    {
        goto branch_no_47;
    }
    branch_yes_47:;
    {
    CHECK_OBJECT( tmp_class_creation_12__bases_orig );
    tmp_dictset_value = tmp_class_creation_12__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_239, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_42;
    }
    }
    branch_no_47:;
    }
    {
    PyObject *tmp_assign_source_141;
    PyObject *tmp_called_name_25;
    PyObject *tmp_args_name_24;
    PyObject *tmp_tuple_element_67;
    PyObject *tmp_kw_name_24;
    CHECK_OBJECT( tmp_class_creation_12__metaclass );
    tmp_called_name_25 = tmp_class_creation_12__metaclass;
    tmp_tuple_element_67 = const_str_plain_CharacteristicTwoBasis;
    tmp_args_name_24 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_67 );
    PyTuple_SET_ITEM( tmp_args_name_24, 0, tmp_tuple_element_67 );
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_tuple_element_67 = tmp_class_creation_12__bases;
    Py_INCREF( tmp_tuple_element_67 );
    PyTuple_SET_ITEM( tmp_args_name_24, 1, tmp_tuple_element_67 );
    tmp_tuple_element_67 = locals_asn1crypto$keys_239;
    Py_INCREF( tmp_tuple_element_67 );
    PyTuple_SET_ITEM( tmp_args_name_24, 2, tmp_tuple_element_67 );
    CHECK_OBJECT( tmp_class_creation_12__class_decl_dict );
    tmp_kw_name_24 = tmp_class_creation_12__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 239;
    tmp_assign_source_141 = CALL_FUNCTION( tmp_called_name_25, tmp_args_name_24, tmp_kw_name_24 );
    Py_DECREF( tmp_args_name_24 );
    if ( tmp_assign_source_141 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 239;

        goto try_except_handler_42;
    }
    assert( outline_11_var___class__ == NULL );
    outline_11_var___class__ = tmp_assign_source_141;

    }
    {
    CHECK_OBJECT( outline_11_var___class__ );
    tmp_assign_source_140 = outline_11_var___class__;
    Py_INCREF( tmp_assign_source_140 );
    goto try_return_handler_42;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_42:;
    {
    Py_DECREF( locals_asn1crypto$keys_239 );
    locals_asn1crypto$keys_239 = NULL;
    }
    {
    goto try_return_handler_41;
    }
    // Exception handler code:
    try_except_handler_42:;
    exception_keeper_type_40 = exception_type;
    exception_keeper_value_40 = exception_value;
    exception_keeper_tb_40 = exception_tb;
    exception_keeper_lineno_40 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_239 );
    locals_asn1crypto$keys_239 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_40;
    exception_value = exception_keeper_value_40;
    exception_tb = exception_keeper_tb_40;
    exception_lineno = exception_keeper_lineno_40;

    goto try_except_handler_41;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_41:;
    {
    CHECK_OBJECT( (PyObject *)outline_11_var___class__ );
    Py_DECREF( outline_11_var___class__ );
    outline_11_var___class__ = NULL;

    }
    {
    goto outline_result_12;
    }
    // Exception handler code:
    try_except_handler_41:;
    exception_keeper_type_41 = exception_type;
    exception_keeper_value_41 = exception_value;
    exception_keeper_tb_41 = exception_tb;
    exception_keeper_lineno_41 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_41;
    exception_value = exception_keeper_value_41;
    exception_tb = exception_keeper_tb_41;
    exception_lineno = exception_keeper_lineno_41;

    goto outline_exception_12;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_12:;
    exception_lineno = 239;
    goto try_except_handler_40;
    outline_result_12:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_CharacteristicTwoBasis, tmp_assign_source_140 );
    }
    goto try_end_18;
    // Exception handler code:
    try_except_handler_40:;
    exception_keeper_type_42 = exception_type;
    exception_keeper_value_42 = exception_value;
    exception_keeper_tb_42 = exception_tb;
    exception_keeper_lineno_42 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_12__bases );
    tmp_class_creation_12__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_12__class_decl_dict );
    tmp_class_creation_12__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_12__metaclass );
    tmp_class_creation_12__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_12__prepared );
    tmp_class_creation_12__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_42;
    exception_value = exception_keeper_value_42;
    exception_tb = exception_keeper_tb_42;
    exception_lineno = exception_keeper_lineno_42;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_18:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_12__bases );
    Py_DECREF( tmp_class_creation_12__bases );
    tmp_class_creation_12__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_12__class_decl_dict );
    Py_DECREF( tmp_class_creation_12__class_decl_dict );
    tmp_class_creation_12__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_12__metaclass );
    Py_DECREF( tmp_class_creation_12__metaclass );
    tmp_class_creation_12__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_12__prepared );
    Py_DECREF( tmp_class_creation_12__prepared );
    tmp_class_creation_12__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_142;
    PyObject *tmp_tuple_element_68;
    PyObject *tmp_mvar_value_36;
    tmp_mvar_value_36 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_36 == NULL ))
    {
        tmp_mvar_value_36 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_36 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 252;

        goto try_except_handler_43;
    }

    tmp_tuple_element_68 = tmp_mvar_value_36;
    tmp_assign_source_142 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_68 );
    PyTuple_SET_ITEM( tmp_assign_source_142, 0, tmp_tuple_element_68 );
    assert( tmp_class_creation_13__bases_orig == NULL );
    tmp_class_creation_13__bases_orig = tmp_assign_source_142;

    }
    {
    PyObject *tmp_assign_source_143;
    PyObject *tmp_dircall_arg1_12;
    CHECK_OBJECT( tmp_class_creation_13__bases_orig );
    tmp_dircall_arg1_12 = tmp_class_creation_13__bases_orig;
    Py_INCREF( tmp_dircall_arg1_12 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_12};
        tmp_assign_source_143 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_143 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    assert( tmp_class_creation_13__bases == NULL );
    tmp_class_creation_13__bases = tmp_assign_source_143;

    }
    {
    PyObject *tmp_assign_source_144;
    tmp_assign_source_144 = PyDict_New();
    assert( tmp_class_creation_13__class_decl_dict == NULL );
    tmp_class_creation_13__class_decl_dict = tmp_assign_source_144;

    }
    {
    PyObject *tmp_assign_source_145;
    PyObject *tmp_metaclass_name_13;
    nuitka_bool tmp_condition_result_72;
    PyObject *tmp_key_name_37;
    PyObject *tmp_dict_name_37;
    PyObject *tmp_dict_name_38;
    PyObject *tmp_key_name_38;
    nuitka_bool tmp_condition_result_73;
    int tmp_truth_name_12;
    PyObject *tmp_type_arg_24;
    PyObject *tmp_subscribed_name_12;
    PyObject *tmp_subscript_name_12;
    PyObject *tmp_bases_name_13;
    tmp_key_name_37 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_13__class_decl_dict );
    tmp_dict_name_37 = tmp_class_creation_13__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_37, tmp_key_name_37 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    tmp_condition_result_72 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_72 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_25;
    }
    else
    {
        goto condexpr_false_25;
    }
    condexpr_true_25:;
    CHECK_OBJECT( tmp_class_creation_13__class_decl_dict );
    tmp_dict_name_38 = tmp_class_creation_13__class_decl_dict;
    tmp_key_name_38 = const_str_plain_metaclass;
    tmp_metaclass_name_13 = DICT_GET_ITEM( tmp_dict_name_38, tmp_key_name_38 );
    if ( tmp_metaclass_name_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    goto condexpr_end_25;
    condexpr_false_25:;
    CHECK_OBJECT( tmp_class_creation_13__bases );
    tmp_truth_name_12 = CHECK_IF_TRUE( tmp_class_creation_13__bases );
    if ( tmp_truth_name_12 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    tmp_condition_result_73 = tmp_truth_name_12 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_73 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_26;
    }
    else
    {
        goto condexpr_false_26;
    }
    condexpr_true_26:;
    CHECK_OBJECT( tmp_class_creation_13__bases );
    tmp_subscribed_name_12 = tmp_class_creation_13__bases;
    tmp_subscript_name_12 = const_int_0;
    tmp_type_arg_24 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_12, tmp_subscript_name_12, 0 );
    if ( tmp_type_arg_24 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    tmp_metaclass_name_13 = BUILTIN_TYPE1( tmp_type_arg_24 );
    Py_DECREF( tmp_type_arg_24 );
    if ( tmp_metaclass_name_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    goto condexpr_end_26;
    condexpr_false_26:;
    tmp_metaclass_name_13 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_13 );
    condexpr_end_26:;
    condexpr_end_25:;
    CHECK_OBJECT( tmp_class_creation_13__bases );
    tmp_bases_name_13 = tmp_class_creation_13__bases;
    tmp_assign_source_145 = SELECT_METACLASS( tmp_metaclass_name_13, tmp_bases_name_13 );
    Py_DECREF( tmp_metaclass_name_13 );
    if ( tmp_assign_source_145 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    assert( tmp_class_creation_13__metaclass == NULL );
    tmp_class_creation_13__metaclass = tmp_assign_source_145;

    }
    {
    nuitka_bool tmp_condition_result_74;
    PyObject *tmp_key_name_39;
    PyObject *tmp_dict_name_39;
    tmp_key_name_39 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_13__class_decl_dict );
    tmp_dict_name_39 = tmp_class_creation_13__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_39, tmp_key_name_39 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    tmp_condition_result_74 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_74 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_48;
    }
    else
    {
        goto branch_no_48;
    }
    branch_yes_48:;
    {
    CHECK_OBJECT( tmp_class_creation_13__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_13__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    }
    branch_no_48:;
    }
    {
    nuitka_bool tmp_condition_result_75;
    PyObject *tmp_source_name_49;
    CHECK_OBJECT( tmp_class_creation_13__metaclass );
    tmp_source_name_49 = tmp_class_creation_13__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_49, const_str_plain___prepare__ );
    tmp_condition_result_75 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_75 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_49;
    }
    else
    {
        goto branch_no_49;
    }
    branch_yes_49:;
    {
    PyObject *tmp_assign_source_146;
    PyObject *tmp_called_name_26;
    PyObject *tmp_source_name_50;
    PyObject *tmp_args_name_25;
    PyObject *tmp_tuple_element_69;
    PyObject *tmp_kw_name_25;
    CHECK_OBJECT( tmp_class_creation_13__metaclass );
    tmp_source_name_50 = tmp_class_creation_13__metaclass;
    tmp_called_name_26 = LOOKUP_ATTRIBUTE( tmp_source_name_50, const_str_plain___prepare__ );
    if ( tmp_called_name_26 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    tmp_tuple_element_69 = const_str_plain_Pentanomial;
    tmp_args_name_25 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_69 );
    PyTuple_SET_ITEM( tmp_args_name_25, 0, tmp_tuple_element_69 );
    CHECK_OBJECT( tmp_class_creation_13__bases );
    tmp_tuple_element_69 = tmp_class_creation_13__bases;
    Py_INCREF( tmp_tuple_element_69 );
    PyTuple_SET_ITEM( tmp_args_name_25, 1, tmp_tuple_element_69 );
    CHECK_OBJECT( tmp_class_creation_13__class_decl_dict );
    tmp_kw_name_25 = tmp_class_creation_13__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 252;
    tmp_assign_source_146 = CALL_FUNCTION( tmp_called_name_26, tmp_args_name_25, tmp_kw_name_25 );
    Py_DECREF( tmp_called_name_26 );
    Py_DECREF( tmp_args_name_25 );
    if ( tmp_assign_source_146 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    assert( tmp_class_creation_13__prepared == NULL );
    tmp_class_creation_13__prepared = tmp_assign_source_146;

    }
    {
    nuitka_bool tmp_condition_result_76;
    PyObject *tmp_operand_name_13;
    PyObject *tmp_source_name_51;
    CHECK_OBJECT( tmp_class_creation_13__prepared );
    tmp_source_name_51 = tmp_class_creation_13__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_51, const_str_plain___getitem__ );
    tmp_operand_name_13 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_13 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    tmp_condition_result_76 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_76 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_50;
    }
    else
    {
        goto branch_no_50;
    }
    branch_yes_50:;
    {
    PyObject *tmp_raise_type_13;
    PyObject *tmp_raise_value_13;
    PyObject *tmp_left_name_13;
    PyObject *tmp_right_name_13;
    PyObject *tmp_tuple_element_70;
    PyObject *tmp_getattr_target_13;
    PyObject *tmp_getattr_attr_13;
    PyObject *tmp_getattr_default_13;
    PyObject *tmp_source_name_52;
    PyObject *tmp_type_arg_25;
    tmp_raise_type_13 = PyExc_TypeError;
    tmp_left_name_13 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_13__metaclass );
    tmp_getattr_target_13 = tmp_class_creation_13__metaclass;
    tmp_getattr_attr_13 = const_str_plain___name__;
    tmp_getattr_default_13 = const_str_angle_metaclass;
    tmp_tuple_element_70 = BUILTIN_GETATTR( tmp_getattr_target_13, tmp_getattr_attr_13, tmp_getattr_default_13 );
    if ( tmp_tuple_element_70 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    tmp_right_name_13 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_13, 0, tmp_tuple_element_70 );
    CHECK_OBJECT( tmp_class_creation_13__prepared );
    tmp_type_arg_25 = tmp_class_creation_13__prepared;
    tmp_source_name_52 = BUILTIN_TYPE1( tmp_type_arg_25 );
    assert( !(tmp_source_name_52 == NULL) );
    tmp_tuple_element_70 = LOOKUP_ATTRIBUTE( tmp_source_name_52, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_52 );
    if ( tmp_tuple_element_70 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_13 );

        exception_lineno = 252;

        goto try_except_handler_43;
    }
    PyTuple_SET_ITEM( tmp_right_name_13, 1, tmp_tuple_element_70 );
    tmp_raise_value_13 = BINARY_OPERATION_REMAINDER( tmp_left_name_13, tmp_right_name_13 );
    Py_DECREF( tmp_right_name_13 );
    if ( tmp_raise_value_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_43;
    }
    exception_type = tmp_raise_type_13;
    Py_INCREF( tmp_raise_type_13 );
    exception_value = tmp_raise_value_13;
    exception_lineno = 252;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_43;
    }
    branch_no_50:;
    }
    goto branch_end_49;
    branch_no_49:;
    {
    PyObject *tmp_assign_source_147;
    tmp_assign_source_147 = PyDict_New();
    assert( tmp_class_creation_13__prepared == NULL );
    tmp_class_creation_13__prepared = tmp_assign_source_147;

    }
    branch_end_49:;
    }
    {
    PyObject *tmp_assign_source_148;
    {
    PyObject *tmp_set_locals_13;
    CHECK_OBJECT( tmp_class_creation_13__prepared );
    tmp_set_locals_13 = tmp_class_creation_13__prepared;
    locals_asn1crypto$keys_252 = tmp_set_locals_13;
    Py_INCREF( tmp_set_locals_13 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_252, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_45;
    }
    }
    {
    tmp_dictset_value = const_str_digest_ccbe969184452b2e900daa5eb024f15e;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_252, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_45;
    }
    }
    {
    tmp_dictset_value = const_str_plain_Pentanomial;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_252, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_45;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_59e10c086874815c1d98d6ef5bfc133b_12, codeobj_59e10c086874815c1d98d6ef5bfc133b, module_asn1crypto$keys, sizeof(void *) );
    frame_59e10c086874815c1d98d6ef5bfc133b_12 = cache_frame_59e10c086874815c1d98d6ef5bfc133b_12;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_59e10c086874815c1d98d6ef5bfc133b_12 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_59e10c086874815c1d98d6ef5bfc133b_12 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_5;
    PyObject *tmp_tuple_element_71;
    PyObject *tmp_mvar_value_37;
    PyObject *tmp_tuple_element_72;
    PyObject *tmp_mvar_value_38;
    PyObject *tmp_tuple_element_73;
    PyObject *tmp_mvar_value_39;
    tmp_tuple_element_71 = const_str_plain_k1;
    tmp_list_element_5 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_71 );
    PyTuple_SET_ITEM( tmp_list_element_5, 0, tmp_tuple_element_71 );
    tmp_tuple_element_71 = PyObject_GetItem( locals_asn1crypto$keys_252, const_str_plain_Integer );

    if ( tmp_tuple_element_71 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_37 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_37 == NULL ))
        {
            tmp_mvar_value_37 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_37 == NULL )
        {
            Py_DECREF( tmp_list_element_5 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 258;
            type_description_2 = "o";
            goto frame_exception_exit_12;
        }

        tmp_tuple_element_71 = tmp_mvar_value_37;
        Py_INCREF( tmp_tuple_element_71 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_5, 1, tmp_tuple_element_71 );
    tmp_dictset_value = PyList_New( 3 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_5 );
    tmp_tuple_element_72 = const_str_plain_k2;
    tmp_list_element_5 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_72 );
    PyTuple_SET_ITEM( tmp_list_element_5, 0, tmp_tuple_element_72 );
    tmp_tuple_element_72 = PyObject_GetItem( locals_asn1crypto$keys_252, const_str_plain_Integer );

    if ( tmp_tuple_element_72 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_38 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_38 == NULL ))
        {
            tmp_mvar_value_38 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_38 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_5 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 259;
            type_description_2 = "o";
            goto frame_exception_exit_12;
        }

        tmp_tuple_element_72 = tmp_mvar_value_38;
        Py_INCREF( tmp_tuple_element_72 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_5, 1, tmp_tuple_element_72 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_5 );
    tmp_tuple_element_73 = const_str_plain_k3;
    tmp_list_element_5 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_73 );
    PyTuple_SET_ITEM( tmp_list_element_5, 0, tmp_tuple_element_73 );
    tmp_tuple_element_73 = PyObject_GetItem( locals_asn1crypto$keys_252, const_str_plain_Integer );

    if ( tmp_tuple_element_73 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_39 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_39 == NULL ))
        {
            tmp_mvar_value_39 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_39 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_5 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 260;
            type_description_2 = "o";
            goto frame_exception_exit_12;
        }

        tmp_tuple_element_73 = tmp_mvar_value_39;
        Py_INCREF( tmp_tuple_element_73 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_5, 1, tmp_tuple_element_73 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_5 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_252, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 257;
        type_description_2 = "o";
        goto frame_exception_exit_12;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_59e10c086874815c1d98d6ef5bfc133b_12 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_11;

    frame_exception_exit_12:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_59e10c086874815c1d98d6ef5bfc133b_12 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_59e10c086874815c1d98d6ef5bfc133b_12, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_59e10c086874815c1d98d6ef5bfc133b_12->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_59e10c086874815c1d98d6ef5bfc133b_12, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_59e10c086874815c1d98d6ef5bfc133b_12,
        type_description_2,
        outline_12_var___class__
    );


    // Release cached frame.
    if ( frame_59e10c086874815c1d98d6ef5bfc133b_12 == cache_frame_59e10c086874815c1d98d6ef5bfc133b_12 )
    {
        Py_DECREF( frame_59e10c086874815c1d98d6ef5bfc133b_12 );
    }
    cache_frame_59e10c086874815c1d98d6ef5bfc133b_12 = NULL;

    assertFrameObject( frame_59e10c086874815c1d98d6ef5bfc133b_12 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_11;

    frame_no_exception_11:;
    goto skip_nested_handling_11;
    nested_frame_exit_11:;

    goto try_except_handler_45;
    skip_nested_handling_11:;
    {
    nuitka_bool tmp_condition_result_77;
    PyObject *tmp_compexpr_left_12;
    PyObject *tmp_compexpr_right_12;
    CHECK_OBJECT( tmp_class_creation_13__bases );
    tmp_compexpr_left_12 = tmp_class_creation_13__bases;
    CHECK_OBJECT( tmp_class_creation_13__bases_orig );
    tmp_compexpr_right_12 = tmp_class_creation_13__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_12, tmp_compexpr_right_12 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_45;
    }
    tmp_condition_result_77 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_77 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_51;
    }
    else
    {
        goto branch_no_51;
    }
    branch_yes_51:;
    {
    CHECK_OBJECT( tmp_class_creation_13__bases_orig );
    tmp_dictset_value = tmp_class_creation_13__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_252, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_45;
    }
    }
    branch_no_51:;
    }
    {
    PyObject *tmp_assign_source_149;
    PyObject *tmp_called_name_27;
    PyObject *tmp_args_name_26;
    PyObject *tmp_tuple_element_74;
    PyObject *tmp_kw_name_26;
    CHECK_OBJECT( tmp_class_creation_13__metaclass );
    tmp_called_name_27 = tmp_class_creation_13__metaclass;
    tmp_tuple_element_74 = const_str_plain_Pentanomial;
    tmp_args_name_26 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_74 );
    PyTuple_SET_ITEM( tmp_args_name_26, 0, tmp_tuple_element_74 );
    CHECK_OBJECT( tmp_class_creation_13__bases );
    tmp_tuple_element_74 = tmp_class_creation_13__bases;
    Py_INCREF( tmp_tuple_element_74 );
    PyTuple_SET_ITEM( tmp_args_name_26, 1, tmp_tuple_element_74 );
    tmp_tuple_element_74 = locals_asn1crypto$keys_252;
    Py_INCREF( tmp_tuple_element_74 );
    PyTuple_SET_ITEM( tmp_args_name_26, 2, tmp_tuple_element_74 );
    CHECK_OBJECT( tmp_class_creation_13__class_decl_dict );
    tmp_kw_name_26 = tmp_class_creation_13__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 252;
    tmp_assign_source_149 = CALL_FUNCTION( tmp_called_name_27, tmp_args_name_26, tmp_kw_name_26 );
    Py_DECREF( tmp_args_name_26 );
    if ( tmp_assign_source_149 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 252;

        goto try_except_handler_45;
    }
    assert( outline_12_var___class__ == NULL );
    outline_12_var___class__ = tmp_assign_source_149;

    }
    {
    CHECK_OBJECT( outline_12_var___class__ );
    tmp_assign_source_148 = outline_12_var___class__;
    Py_INCREF( tmp_assign_source_148 );
    goto try_return_handler_45;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_45:;
    {
    Py_DECREF( locals_asn1crypto$keys_252 );
    locals_asn1crypto$keys_252 = NULL;
    }
    {
    goto try_return_handler_44;
    }
    // Exception handler code:
    try_except_handler_45:;
    exception_keeper_type_43 = exception_type;
    exception_keeper_value_43 = exception_value;
    exception_keeper_tb_43 = exception_tb;
    exception_keeper_lineno_43 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_252 );
    locals_asn1crypto$keys_252 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_43;
    exception_value = exception_keeper_value_43;
    exception_tb = exception_keeper_tb_43;
    exception_lineno = exception_keeper_lineno_43;

    goto try_except_handler_44;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_44:;
    {
    CHECK_OBJECT( (PyObject *)outline_12_var___class__ );
    Py_DECREF( outline_12_var___class__ );
    outline_12_var___class__ = NULL;

    }
    {
    goto outline_result_13;
    }
    // Exception handler code:
    try_except_handler_44:;
    exception_keeper_type_44 = exception_type;
    exception_keeper_value_44 = exception_value;
    exception_keeper_tb_44 = exception_tb;
    exception_keeper_lineno_44 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_44;
    exception_value = exception_keeper_value_44;
    exception_tb = exception_keeper_tb_44;
    exception_lineno = exception_keeper_lineno_44;

    goto outline_exception_13;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_13:;
    exception_lineno = 252;
    goto try_except_handler_43;
    outline_result_13:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Pentanomial, tmp_assign_source_148 );
    }
    goto try_end_19;
    // Exception handler code:
    try_except_handler_43:;
    exception_keeper_type_45 = exception_type;
    exception_keeper_value_45 = exception_value;
    exception_keeper_tb_45 = exception_tb;
    exception_keeper_lineno_45 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_13__bases );
    tmp_class_creation_13__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_13__class_decl_dict );
    tmp_class_creation_13__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_13__metaclass );
    tmp_class_creation_13__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_13__prepared );
    tmp_class_creation_13__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_45;
    exception_value = exception_keeper_value_45;
    exception_tb = exception_keeper_tb_45;
    exception_lineno = exception_keeper_lineno_45;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_19:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_13__bases );
    Py_DECREF( tmp_class_creation_13__bases );
    tmp_class_creation_13__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_13__class_decl_dict );
    Py_DECREF( tmp_class_creation_13__class_decl_dict );
    tmp_class_creation_13__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_13__metaclass );
    Py_DECREF( tmp_class_creation_13__metaclass );
    tmp_class_creation_13__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_13__prepared );
    Py_DECREF( tmp_class_creation_13__prepared );
    tmp_class_creation_13__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_150;
    PyObject *tmp_tuple_element_75;
    PyObject *tmp_mvar_value_40;
    tmp_mvar_value_40 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_40 == NULL ))
    {
        tmp_mvar_value_40 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_40 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 264;

        goto try_except_handler_46;
    }

    tmp_tuple_element_75 = tmp_mvar_value_40;
    tmp_assign_source_150 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_75 );
    PyTuple_SET_ITEM( tmp_assign_source_150, 0, tmp_tuple_element_75 );
    assert( tmp_class_creation_14__bases_orig == NULL );
    tmp_class_creation_14__bases_orig = tmp_assign_source_150;

    }
    {
    PyObject *tmp_assign_source_151;
    PyObject *tmp_dircall_arg1_13;
    CHECK_OBJECT( tmp_class_creation_14__bases_orig );
    tmp_dircall_arg1_13 = tmp_class_creation_14__bases_orig;
    Py_INCREF( tmp_dircall_arg1_13 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_13};
        tmp_assign_source_151 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_151 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    assert( tmp_class_creation_14__bases == NULL );
    tmp_class_creation_14__bases = tmp_assign_source_151;

    }
    {
    PyObject *tmp_assign_source_152;
    tmp_assign_source_152 = PyDict_New();
    assert( tmp_class_creation_14__class_decl_dict == NULL );
    tmp_class_creation_14__class_decl_dict = tmp_assign_source_152;

    }
    {
    PyObject *tmp_assign_source_153;
    PyObject *tmp_metaclass_name_14;
    nuitka_bool tmp_condition_result_78;
    PyObject *tmp_key_name_40;
    PyObject *tmp_dict_name_40;
    PyObject *tmp_dict_name_41;
    PyObject *tmp_key_name_41;
    nuitka_bool tmp_condition_result_79;
    int tmp_truth_name_13;
    PyObject *tmp_type_arg_26;
    PyObject *tmp_subscribed_name_13;
    PyObject *tmp_subscript_name_13;
    PyObject *tmp_bases_name_14;
    tmp_key_name_40 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_14__class_decl_dict );
    tmp_dict_name_40 = tmp_class_creation_14__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_40, tmp_key_name_40 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    tmp_condition_result_78 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_78 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_27;
    }
    else
    {
        goto condexpr_false_27;
    }
    condexpr_true_27:;
    CHECK_OBJECT( tmp_class_creation_14__class_decl_dict );
    tmp_dict_name_41 = tmp_class_creation_14__class_decl_dict;
    tmp_key_name_41 = const_str_plain_metaclass;
    tmp_metaclass_name_14 = DICT_GET_ITEM( tmp_dict_name_41, tmp_key_name_41 );
    if ( tmp_metaclass_name_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    goto condexpr_end_27;
    condexpr_false_27:;
    CHECK_OBJECT( tmp_class_creation_14__bases );
    tmp_truth_name_13 = CHECK_IF_TRUE( tmp_class_creation_14__bases );
    if ( tmp_truth_name_13 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    tmp_condition_result_79 = tmp_truth_name_13 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_79 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_28;
    }
    else
    {
        goto condexpr_false_28;
    }
    condexpr_true_28:;
    CHECK_OBJECT( tmp_class_creation_14__bases );
    tmp_subscribed_name_13 = tmp_class_creation_14__bases;
    tmp_subscript_name_13 = const_int_0;
    tmp_type_arg_26 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_13, tmp_subscript_name_13, 0 );
    if ( tmp_type_arg_26 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    tmp_metaclass_name_14 = BUILTIN_TYPE1( tmp_type_arg_26 );
    Py_DECREF( tmp_type_arg_26 );
    if ( tmp_metaclass_name_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    goto condexpr_end_28;
    condexpr_false_28:;
    tmp_metaclass_name_14 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_14 );
    condexpr_end_28:;
    condexpr_end_27:;
    CHECK_OBJECT( tmp_class_creation_14__bases );
    tmp_bases_name_14 = tmp_class_creation_14__bases;
    tmp_assign_source_153 = SELECT_METACLASS( tmp_metaclass_name_14, tmp_bases_name_14 );
    Py_DECREF( tmp_metaclass_name_14 );
    if ( tmp_assign_source_153 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    assert( tmp_class_creation_14__metaclass == NULL );
    tmp_class_creation_14__metaclass = tmp_assign_source_153;

    }
    {
    nuitka_bool tmp_condition_result_80;
    PyObject *tmp_key_name_42;
    PyObject *tmp_dict_name_42;
    tmp_key_name_42 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_14__class_decl_dict );
    tmp_dict_name_42 = tmp_class_creation_14__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_42, tmp_key_name_42 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    tmp_condition_result_80 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_80 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_52;
    }
    else
    {
        goto branch_no_52;
    }
    branch_yes_52:;
    {
    CHECK_OBJECT( tmp_class_creation_14__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_14__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    }
    branch_no_52:;
    }
    {
    nuitka_bool tmp_condition_result_81;
    PyObject *tmp_source_name_53;
    CHECK_OBJECT( tmp_class_creation_14__metaclass );
    tmp_source_name_53 = tmp_class_creation_14__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_53, const_str_plain___prepare__ );
    tmp_condition_result_81 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_81 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_53;
    }
    else
    {
        goto branch_no_53;
    }
    branch_yes_53:;
    {
    PyObject *tmp_assign_source_154;
    PyObject *tmp_called_name_28;
    PyObject *tmp_source_name_54;
    PyObject *tmp_args_name_27;
    PyObject *tmp_tuple_element_76;
    PyObject *tmp_kw_name_27;
    CHECK_OBJECT( tmp_class_creation_14__metaclass );
    tmp_source_name_54 = tmp_class_creation_14__metaclass;
    tmp_called_name_28 = LOOKUP_ATTRIBUTE( tmp_source_name_54, const_str_plain___prepare__ );
    if ( tmp_called_name_28 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    tmp_tuple_element_76 = const_str_plain_CharacteristicTwo;
    tmp_args_name_27 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_76 );
    PyTuple_SET_ITEM( tmp_args_name_27, 0, tmp_tuple_element_76 );
    CHECK_OBJECT( tmp_class_creation_14__bases );
    tmp_tuple_element_76 = tmp_class_creation_14__bases;
    Py_INCREF( tmp_tuple_element_76 );
    PyTuple_SET_ITEM( tmp_args_name_27, 1, tmp_tuple_element_76 );
    CHECK_OBJECT( tmp_class_creation_14__class_decl_dict );
    tmp_kw_name_27 = tmp_class_creation_14__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 264;
    tmp_assign_source_154 = CALL_FUNCTION( tmp_called_name_28, tmp_args_name_27, tmp_kw_name_27 );
    Py_DECREF( tmp_called_name_28 );
    Py_DECREF( tmp_args_name_27 );
    if ( tmp_assign_source_154 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    assert( tmp_class_creation_14__prepared == NULL );
    tmp_class_creation_14__prepared = tmp_assign_source_154;

    }
    {
    nuitka_bool tmp_condition_result_82;
    PyObject *tmp_operand_name_14;
    PyObject *tmp_source_name_55;
    CHECK_OBJECT( tmp_class_creation_14__prepared );
    tmp_source_name_55 = tmp_class_creation_14__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_55, const_str_plain___getitem__ );
    tmp_operand_name_14 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_14 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    tmp_condition_result_82 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_82 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_54;
    }
    else
    {
        goto branch_no_54;
    }
    branch_yes_54:;
    {
    PyObject *tmp_raise_type_14;
    PyObject *tmp_raise_value_14;
    PyObject *tmp_left_name_14;
    PyObject *tmp_right_name_14;
    PyObject *tmp_tuple_element_77;
    PyObject *tmp_getattr_target_14;
    PyObject *tmp_getattr_attr_14;
    PyObject *tmp_getattr_default_14;
    PyObject *tmp_source_name_56;
    PyObject *tmp_type_arg_27;
    tmp_raise_type_14 = PyExc_TypeError;
    tmp_left_name_14 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_14__metaclass );
    tmp_getattr_target_14 = tmp_class_creation_14__metaclass;
    tmp_getattr_attr_14 = const_str_plain___name__;
    tmp_getattr_default_14 = const_str_angle_metaclass;
    tmp_tuple_element_77 = BUILTIN_GETATTR( tmp_getattr_target_14, tmp_getattr_attr_14, tmp_getattr_default_14 );
    if ( tmp_tuple_element_77 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    tmp_right_name_14 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_14, 0, tmp_tuple_element_77 );
    CHECK_OBJECT( tmp_class_creation_14__prepared );
    tmp_type_arg_27 = tmp_class_creation_14__prepared;
    tmp_source_name_56 = BUILTIN_TYPE1( tmp_type_arg_27 );
    assert( !(tmp_source_name_56 == NULL) );
    tmp_tuple_element_77 = LOOKUP_ATTRIBUTE( tmp_source_name_56, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_56 );
    if ( tmp_tuple_element_77 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_14 );

        exception_lineno = 264;

        goto try_except_handler_46;
    }
    PyTuple_SET_ITEM( tmp_right_name_14, 1, tmp_tuple_element_77 );
    tmp_raise_value_14 = BINARY_OPERATION_REMAINDER( tmp_left_name_14, tmp_right_name_14 );
    Py_DECREF( tmp_right_name_14 );
    if ( tmp_raise_value_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_46;
    }
    exception_type = tmp_raise_type_14;
    Py_INCREF( tmp_raise_type_14 );
    exception_value = tmp_raise_value_14;
    exception_lineno = 264;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_46;
    }
    branch_no_54:;
    }
    goto branch_end_53;
    branch_no_53:;
    {
    PyObject *tmp_assign_source_155;
    tmp_assign_source_155 = PyDict_New();
    assert( tmp_class_creation_14__prepared == NULL );
    tmp_class_creation_14__prepared = tmp_assign_source_155;

    }
    branch_end_53:;
    }
    {
    PyObject *tmp_assign_source_156;
    {
    PyObject *tmp_set_locals_14;
    CHECK_OBJECT( tmp_class_creation_14__prepared );
    tmp_set_locals_14 = tmp_class_creation_14__prepared;
    locals_asn1crypto$keys_264 = tmp_set_locals_14;
    Py_INCREF( tmp_set_locals_14 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_264, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_48;
    }
    }
    {
    tmp_dictset_value = const_str_digest_8db375950c7509a247c57784722e1209;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_264, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_48;
    }
    }
    {
    tmp_dictset_value = const_str_plain_CharacteristicTwo;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_264, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_48;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13, codeobj_a3bdbf9cc342a6508cc43b6f3eac39a1, module_asn1crypto$keys, sizeof(void *) );
    frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 = cache_frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_6;
    PyObject *tmp_tuple_element_78;
    PyObject *tmp_mvar_value_41;
    PyObject *tmp_tuple_element_79;
    PyObject *tmp_mvar_value_42;
    PyObject *tmp_tuple_element_80;
    PyObject *tmp_mvar_value_43;
    tmp_tuple_element_78 = const_str_plain_m;
    tmp_list_element_6 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_78 );
    PyTuple_SET_ITEM( tmp_list_element_6, 0, tmp_tuple_element_78 );
    tmp_tuple_element_78 = PyObject_GetItem( locals_asn1crypto$keys_264, const_str_plain_Integer );

    if ( tmp_tuple_element_78 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_41 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_41 == NULL ))
        {
            tmp_mvar_value_41 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_41 == NULL )
        {
            Py_DECREF( tmp_list_element_6 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 271;
            type_description_2 = "o";
            goto frame_exception_exit_13;
        }

        tmp_tuple_element_78 = tmp_mvar_value_41;
        Py_INCREF( tmp_tuple_element_78 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_6, 1, tmp_tuple_element_78 );
    tmp_dictset_value = PyList_New( 3 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_6 );
    tmp_tuple_element_79 = const_str_plain_basis;
    tmp_list_element_6 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_79 );
    PyTuple_SET_ITEM( tmp_list_element_6, 0, tmp_tuple_element_79 );
    tmp_tuple_element_79 = PyObject_GetItem( locals_asn1crypto$keys_264, const_str_plain_CharacteristicTwoBasis );

    if ( tmp_tuple_element_79 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_42 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_CharacteristicTwoBasis );

        if (unlikely( tmp_mvar_value_42 == NULL ))
        {
            tmp_mvar_value_42 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_CharacteristicTwoBasis );
        }

        if ( tmp_mvar_value_42 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_6 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "CharacteristicTwoBasis" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 272;
            type_description_2 = "o";
            goto frame_exception_exit_13;
        }

        tmp_tuple_element_79 = tmp_mvar_value_42;
        Py_INCREF( tmp_tuple_element_79 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_6, 1, tmp_tuple_element_79 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_6 );
    tmp_tuple_element_80 = const_str_plain_parameters;
    tmp_list_element_6 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_80 );
    PyTuple_SET_ITEM( tmp_list_element_6, 0, tmp_tuple_element_80 );
    tmp_tuple_element_80 = PyObject_GetItem( locals_asn1crypto$keys_264, const_str_plain_Any );

    if ( tmp_tuple_element_80 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_43 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Any );

        if (unlikely( tmp_mvar_value_43 == NULL ))
        {
            tmp_mvar_value_43 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Any );
        }

        if ( tmp_mvar_value_43 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_6 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Any" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 273;
            type_description_2 = "o";
            goto frame_exception_exit_13;
        }

        tmp_tuple_element_80 = tmp_mvar_value_43;
        Py_INCREF( tmp_tuple_element_80 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_6, 1, tmp_tuple_element_80 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_6 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_264, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 270;
        type_description_2 = "o";
        goto frame_exception_exit_13;
    }
    }
    {
    tmp_dictset_value = const_tuple_str_plain_basis_str_plain_parameters_tuple;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_264, const_str_plain__oid_pair, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 276;
        type_description_2 = "o";
        goto frame_exception_exit_13;
    }
    }
    {
    PyObject *tmp_dict_key_1;
    PyObject *tmp_dict_value_1;
    PyObject *tmp_mvar_value_44;
    PyObject *tmp_dict_key_2;
    PyObject *tmp_dict_value_2;
    PyObject *tmp_mvar_value_45;
    PyObject *tmp_dict_key_3;
    PyObject *tmp_dict_value_3;
    PyObject *tmp_mvar_value_46;
    tmp_dict_key_1 = const_str_plain_gn_basis;
    tmp_dict_value_1 = PyObject_GetItem( locals_asn1crypto$keys_264, const_str_plain_Null );

    if ( tmp_dict_value_1 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_44 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Null );

        if (unlikely( tmp_mvar_value_44 == NULL ))
        {
            tmp_mvar_value_44 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Null );
        }

        if ( tmp_mvar_value_44 == NULL )
        {

            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Null" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 278;
            type_description_2 = "o";
            goto frame_exception_exit_13;
        }

        tmp_dict_value_1 = tmp_mvar_value_44;
        Py_INCREF( tmp_dict_value_1 );
        }
    }

    tmp_dictset_value = _PyDict_NewPresized( 3 );
    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_1, tmp_dict_value_1 );
    Py_DECREF( tmp_dict_value_1 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_2 = const_str_plain_tp_basis;
    tmp_dict_value_2 = PyObject_GetItem( locals_asn1crypto$keys_264, const_str_plain_Integer );

    if ( tmp_dict_value_2 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_45 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_45 == NULL ))
        {
            tmp_mvar_value_45 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_45 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 279;
            type_description_2 = "o";
            goto frame_exception_exit_13;
        }

        tmp_dict_value_2 = tmp_mvar_value_45;
        Py_INCREF( tmp_dict_value_2 );
        }
    }

    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_2, tmp_dict_value_2 );
    Py_DECREF( tmp_dict_value_2 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_3 = const_str_plain_pp_basis;
    tmp_dict_value_3 = PyObject_GetItem( locals_asn1crypto$keys_264, const_str_plain_Pentanomial );

    if ( tmp_dict_value_3 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_46 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Pentanomial );

        if (unlikely( tmp_mvar_value_46 == NULL ))
        {
            tmp_mvar_value_46 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Pentanomial );
        }

        if ( tmp_mvar_value_46 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Pentanomial" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 280;
            type_description_2 = "o";
            goto frame_exception_exit_13;
        }

        tmp_dict_value_3 = tmp_mvar_value_46;
        Py_INCREF( tmp_dict_value_3 );
        }
    }

    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_3, tmp_dict_value_3 );
    Py_DECREF( tmp_dict_value_3 );
    assert( !(tmp_res != 0) );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_264, const_str_plain__oid_specs, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 277;
        type_description_2 = "o";
        goto frame_exception_exit_13;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_12;

    frame_exception_exit_13:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13,
        type_description_2,
        outline_13_var___class__
    );


    // Release cached frame.
    if ( frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 == cache_frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 )
    {
        Py_DECREF( frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 );
    }
    cache_frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 = NULL;

    assertFrameObject( frame_a3bdbf9cc342a6508cc43b6f3eac39a1_13 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_12;

    frame_no_exception_12:;
    goto skip_nested_handling_12;
    nested_frame_exit_12:;

    goto try_except_handler_48;
    skip_nested_handling_12:;
    {
    nuitka_bool tmp_condition_result_83;
    PyObject *tmp_compexpr_left_13;
    PyObject *tmp_compexpr_right_13;
    CHECK_OBJECT( tmp_class_creation_14__bases );
    tmp_compexpr_left_13 = tmp_class_creation_14__bases;
    CHECK_OBJECT( tmp_class_creation_14__bases_orig );
    tmp_compexpr_right_13 = tmp_class_creation_14__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_13, tmp_compexpr_right_13 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_48;
    }
    tmp_condition_result_83 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_83 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_55;
    }
    else
    {
        goto branch_no_55;
    }
    branch_yes_55:;
    {
    CHECK_OBJECT( tmp_class_creation_14__bases_orig );
    tmp_dictset_value = tmp_class_creation_14__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_264, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_48;
    }
    }
    branch_no_55:;
    }
    {
    PyObject *tmp_assign_source_157;
    PyObject *tmp_called_name_29;
    PyObject *tmp_args_name_28;
    PyObject *tmp_tuple_element_81;
    PyObject *tmp_kw_name_28;
    CHECK_OBJECT( tmp_class_creation_14__metaclass );
    tmp_called_name_29 = tmp_class_creation_14__metaclass;
    tmp_tuple_element_81 = const_str_plain_CharacteristicTwo;
    tmp_args_name_28 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_81 );
    PyTuple_SET_ITEM( tmp_args_name_28, 0, tmp_tuple_element_81 );
    CHECK_OBJECT( tmp_class_creation_14__bases );
    tmp_tuple_element_81 = tmp_class_creation_14__bases;
    Py_INCREF( tmp_tuple_element_81 );
    PyTuple_SET_ITEM( tmp_args_name_28, 1, tmp_tuple_element_81 );
    tmp_tuple_element_81 = locals_asn1crypto$keys_264;
    Py_INCREF( tmp_tuple_element_81 );
    PyTuple_SET_ITEM( tmp_args_name_28, 2, tmp_tuple_element_81 );
    CHECK_OBJECT( tmp_class_creation_14__class_decl_dict );
    tmp_kw_name_28 = tmp_class_creation_14__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 264;
    tmp_assign_source_157 = CALL_FUNCTION( tmp_called_name_29, tmp_args_name_28, tmp_kw_name_28 );
    Py_DECREF( tmp_args_name_28 );
    if ( tmp_assign_source_157 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 264;

        goto try_except_handler_48;
    }
    assert( outline_13_var___class__ == NULL );
    outline_13_var___class__ = tmp_assign_source_157;

    }
    {
    CHECK_OBJECT( outline_13_var___class__ );
    tmp_assign_source_156 = outline_13_var___class__;
    Py_INCREF( tmp_assign_source_156 );
    goto try_return_handler_48;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_48:;
    {
    Py_DECREF( locals_asn1crypto$keys_264 );
    locals_asn1crypto$keys_264 = NULL;
    }
    {
    goto try_return_handler_47;
    }
    // Exception handler code:
    try_except_handler_48:;
    exception_keeper_type_46 = exception_type;
    exception_keeper_value_46 = exception_value;
    exception_keeper_tb_46 = exception_tb;
    exception_keeper_lineno_46 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_264 );
    locals_asn1crypto$keys_264 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_46;
    exception_value = exception_keeper_value_46;
    exception_tb = exception_keeper_tb_46;
    exception_lineno = exception_keeper_lineno_46;

    goto try_except_handler_47;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_47:;
    {
    CHECK_OBJECT( (PyObject *)outline_13_var___class__ );
    Py_DECREF( outline_13_var___class__ );
    outline_13_var___class__ = NULL;

    }
    {
    goto outline_result_14;
    }
    // Exception handler code:
    try_except_handler_47:;
    exception_keeper_type_47 = exception_type;
    exception_keeper_value_47 = exception_value;
    exception_keeper_tb_47 = exception_tb;
    exception_keeper_lineno_47 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_47;
    exception_value = exception_keeper_value_47;
    exception_tb = exception_keeper_tb_47;
    exception_lineno = exception_keeper_lineno_47;

    goto outline_exception_14;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_14:;
    exception_lineno = 264;
    goto try_except_handler_46;
    outline_result_14:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_CharacteristicTwo, tmp_assign_source_156 );
    }
    goto try_end_20;
    // Exception handler code:
    try_except_handler_46:;
    exception_keeper_type_48 = exception_type;
    exception_keeper_value_48 = exception_value;
    exception_keeper_tb_48 = exception_tb;
    exception_keeper_lineno_48 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_14__bases );
    tmp_class_creation_14__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_14__class_decl_dict );
    tmp_class_creation_14__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_14__metaclass );
    tmp_class_creation_14__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_14__prepared );
    tmp_class_creation_14__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_48;
    exception_value = exception_keeper_value_48;
    exception_tb = exception_keeper_tb_48;
    exception_lineno = exception_keeper_lineno_48;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_20:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_14__bases );
    Py_DECREF( tmp_class_creation_14__bases );
    tmp_class_creation_14__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_14__class_decl_dict );
    Py_DECREF( tmp_class_creation_14__class_decl_dict );
    tmp_class_creation_14__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_14__metaclass );
    Py_DECREF( tmp_class_creation_14__metaclass );
    tmp_class_creation_14__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_14__prepared );
    Py_DECREF( tmp_class_creation_14__prepared );
    tmp_class_creation_14__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_158;
    PyObject *tmp_tuple_element_82;
    PyObject *tmp_mvar_value_47;
    tmp_mvar_value_47 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_47 == NULL ))
    {
        tmp_mvar_value_47 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_47 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 284;

        goto try_except_handler_49;
    }

    tmp_tuple_element_82 = tmp_mvar_value_47;
    tmp_assign_source_158 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_82 );
    PyTuple_SET_ITEM( tmp_assign_source_158, 0, tmp_tuple_element_82 );
    assert( tmp_class_creation_15__bases_orig == NULL );
    tmp_class_creation_15__bases_orig = tmp_assign_source_158;

    }
    {
    PyObject *tmp_assign_source_159;
    PyObject *tmp_dircall_arg1_14;
    CHECK_OBJECT( tmp_class_creation_15__bases_orig );
    tmp_dircall_arg1_14 = tmp_class_creation_15__bases_orig;
    Py_INCREF( tmp_dircall_arg1_14 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_14};
        tmp_assign_source_159 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_159 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    assert( tmp_class_creation_15__bases == NULL );
    tmp_class_creation_15__bases = tmp_assign_source_159;

    }
    {
    PyObject *tmp_assign_source_160;
    tmp_assign_source_160 = PyDict_New();
    assert( tmp_class_creation_15__class_decl_dict == NULL );
    tmp_class_creation_15__class_decl_dict = tmp_assign_source_160;

    }
    {
    PyObject *tmp_assign_source_161;
    PyObject *tmp_metaclass_name_15;
    nuitka_bool tmp_condition_result_84;
    PyObject *tmp_key_name_43;
    PyObject *tmp_dict_name_43;
    PyObject *tmp_dict_name_44;
    PyObject *tmp_key_name_44;
    nuitka_bool tmp_condition_result_85;
    int tmp_truth_name_14;
    PyObject *tmp_type_arg_28;
    PyObject *tmp_subscribed_name_14;
    PyObject *tmp_subscript_name_14;
    PyObject *tmp_bases_name_15;
    tmp_key_name_43 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_15__class_decl_dict );
    tmp_dict_name_43 = tmp_class_creation_15__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_43, tmp_key_name_43 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    tmp_condition_result_84 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_84 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_29;
    }
    else
    {
        goto condexpr_false_29;
    }
    condexpr_true_29:;
    CHECK_OBJECT( tmp_class_creation_15__class_decl_dict );
    tmp_dict_name_44 = tmp_class_creation_15__class_decl_dict;
    tmp_key_name_44 = const_str_plain_metaclass;
    tmp_metaclass_name_15 = DICT_GET_ITEM( tmp_dict_name_44, tmp_key_name_44 );
    if ( tmp_metaclass_name_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    goto condexpr_end_29;
    condexpr_false_29:;
    CHECK_OBJECT( tmp_class_creation_15__bases );
    tmp_truth_name_14 = CHECK_IF_TRUE( tmp_class_creation_15__bases );
    if ( tmp_truth_name_14 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    tmp_condition_result_85 = tmp_truth_name_14 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_85 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_30;
    }
    else
    {
        goto condexpr_false_30;
    }
    condexpr_true_30:;
    CHECK_OBJECT( tmp_class_creation_15__bases );
    tmp_subscribed_name_14 = tmp_class_creation_15__bases;
    tmp_subscript_name_14 = const_int_0;
    tmp_type_arg_28 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_14, tmp_subscript_name_14, 0 );
    if ( tmp_type_arg_28 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    tmp_metaclass_name_15 = BUILTIN_TYPE1( tmp_type_arg_28 );
    Py_DECREF( tmp_type_arg_28 );
    if ( tmp_metaclass_name_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    goto condexpr_end_30;
    condexpr_false_30:;
    tmp_metaclass_name_15 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_15 );
    condexpr_end_30:;
    condexpr_end_29:;
    CHECK_OBJECT( tmp_class_creation_15__bases );
    tmp_bases_name_15 = tmp_class_creation_15__bases;
    tmp_assign_source_161 = SELECT_METACLASS( tmp_metaclass_name_15, tmp_bases_name_15 );
    Py_DECREF( tmp_metaclass_name_15 );
    if ( tmp_assign_source_161 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    assert( tmp_class_creation_15__metaclass == NULL );
    tmp_class_creation_15__metaclass = tmp_assign_source_161;

    }
    {
    nuitka_bool tmp_condition_result_86;
    PyObject *tmp_key_name_45;
    PyObject *tmp_dict_name_45;
    tmp_key_name_45 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_15__class_decl_dict );
    tmp_dict_name_45 = tmp_class_creation_15__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_45, tmp_key_name_45 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    tmp_condition_result_86 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_86 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_56;
    }
    else
    {
        goto branch_no_56;
    }
    branch_yes_56:;
    {
    CHECK_OBJECT( tmp_class_creation_15__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_15__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    }
    branch_no_56:;
    }
    {
    nuitka_bool tmp_condition_result_87;
    PyObject *tmp_source_name_57;
    CHECK_OBJECT( tmp_class_creation_15__metaclass );
    tmp_source_name_57 = tmp_class_creation_15__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_57, const_str_plain___prepare__ );
    tmp_condition_result_87 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_87 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_57;
    }
    else
    {
        goto branch_no_57;
    }
    branch_yes_57:;
    {
    PyObject *tmp_assign_source_162;
    PyObject *tmp_called_name_30;
    PyObject *tmp_source_name_58;
    PyObject *tmp_args_name_29;
    PyObject *tmp_tuple_element_83;
    PyObject *tmp_kw_name_29;
    CHECK_OBJECT( tmp_class_creation_15__metaclass );
    tmp_source_name_58 = tmp_class_creation_15__metaclass;
    tmp_called_name_30 = LOOKUP_ATTRIBUTE( tmp_source_name_58, const_str_plain___prepare__ );
    if ( tmp_called_name_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    tmp_tuple_element_83 = const_str_plain_FieldID;
    tmp_args_name_29 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_83 );
    PyTuple_SET_ITEM( tmp_args_name_29, 0, tmp_tuple_element_83 );
    CHECK_OBJECT( tmp_class_creation_15__bases );
    tmp_tuple_element_83 = tmp_class_creation_15__bases;
    Py_INCREF( tmp_tuple_element_83 );
    PyTuple_SET_ITEM( tmp_args_name_29, 1, tmp_tuple_element_83 );
    CHECK_OBJECT( tmp_class_creation_15__class_decl_dict );
    tmp_kw_name_29 = tmp_class_creation_15__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 284;
    tmp_assign_source_162 = CALL_FUNCTION( tmp_called_name_30, tmp_args_name_29, tmp_kw_name_29 );
    Py_DECREF( tmp_called_name_30 );
    Py_DECREF( tmp_args_name_29 );
    if ( tmp_assign_source_162 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    assert( tmp_class_creation_15__prepared == NULL );
    tmp_class_creation_15__prepared = tmp_assign_source_162;

    }
    {
    nuitka_bool tmp_condition_result_88;
    PyObject *tmp_operand_name_15;
    PyObject *tmp_source_name_59;
    CHECK_OBJECT( tmp_class_creation_15__prepared );
    tmp_source_name_59 = tmp_class_creation_15__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_59, const_str_plain___getitem__ );
    tmp_operand_name_15 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_15 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    tmp_condition_result_88 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_88 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_58;
    }
    else
    {
        goto branch_no_58;
    }
    branch_yes_58:;
    {
    PyObject *tmp_raise_type_15;
    PyObject *tmp_raise_value_15;
    PyObject *tmp_left_name_15;
    PyObject *tmp_right_name_15;
    PyObject *tmp_tuple_element_84;
    PyObject *tmp_getattr_target_15;
    PyObject *tmp_getattr_attr_15;
    PyObject *tmp_getattr_default_15;
    PyObject *tmp_source_name_60;
    PyObject *tmp_type_arg_29;
    tmp_raise_type_15 = PyExc_TypeError;
    tmp_left_name_15 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_15__metaclass );
    tmp_getattr_target_15 = tmp_class_creation_15__metaclass;
    tmp_getattr_attr_15 = const_str_plain___name__;
    tmp_getattr_default_15 = const_str_angle_metaclass;
    tmp_tuple_element_84 = BUILTIN_GETATTR( tmp_getattr_target_15, tmp_getattr_attr_15, tmp_getattr_default_15 );
    if ( tmp_tuple_element_84 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    tmp_right_name_15 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_15, 0, tmp_tuple_element_84 );
    CHECK_OBJECT( tmp_class_creation_15__prepared );
    tmp_type_arg_29 = tmp_class_creation_15__prepared;
    tmp_source_name_60 = BUILTIN_TYPE1( tmp_type_arg_29 );
    assert( !(tmp_source_name_60 == NULL) );
    tmp_tuple_element_84 = LOOKUP_ATTRIBUTE( tmp_source_name_60, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_60 );
    if ( tmp_tuple_element_84 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_15 );

        exception_lineno = 284;

        goto try_except_handler_49;
    }
    PyTuple_SET_ITEM( tmp_right_name_15, 1, tmp_tuple_element_84 );
    tmp_raise_value_15 = BINARY_OPERATION_REMAINDER( tmp_left_name_15, tmp_right_name_15 );
    Py_DECREF( tmp_right_name_15 );
    if ( tmp_raise_value_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_49;
    }
    exception_type = tmp_raise_type_15;
    Py_INCREF( tmp_raise_type_15 );
    exception_value = tmp_raise_value_15;
    exception_lineno = 284;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_49;
    }
    branch_no_58:;
    }
    goto branch_end_57;
    branch_no_57:;
    {
    PyObject *tmp_assign_source_163;
    tmp_assign_source_163 = PyDict_New();
    assert( tmp_class_creation_15__prepared == NULL );
    tmp_class_creation_15__prepared = tmp_assign_source_163;

    }
    branch_end_57:;
    }
    {
    PyObject *tmp_assign_source_164;
    {
    PyObject *tmp_set_locals_15;
    CHECK_OBJECT( tmp_class_creation_15__prepared );
    tmp_set_locals_15 = tmp_class_creation_15__prepared;
    locals_asn1crypto$keys_284 = tmp_set_locals_15;
    Py_INCREF( tmp_set_locals_15 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_284, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_51;
    }
    }
    {
    tmp_dictset_value = const_str_digest_ec1129a74d106b7ff13b974e3af836c1;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_284, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_51;
    }
    }
    {
    tmp_dictset_value = const_str_plain_FieldID;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_284, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_51;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_da2e20796a35fbacfc405bbccd114f27_14, codeobj_da2e20796a35fbacfc405bbccd114f27, module_asn1crypto$keys, sizeof(void *) );
    frame_da2e20796a35fbacfc405bbccd114f27_14 = cache_frame_da2e20796a35fbacfc405bbccd114f27_14;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_da2e20796a35fbacfc405bbccd114f27_14 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_da2e20796a35fbacfc405bbccd114f27_14 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_7;
    PyObject *tmp_tuple_element_85;
    PyObject *tmp_mvar_value_48;
    PyObject *tmp_tuple_element_86;
    PyObject *tmp_mvar_value_49;
    tmp_tuple_element_85 = const_str_plain_field_type;
    tmp_list_element_7 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_85 );
    PyTuple_SET_ITEM( tmp_list_element_7, 0, tmp_tuple_element_85 );
    tmp_tuple_element_85 = PyObject_GetItem( locals_asn1crypto$keys_284, const_str_plain_FieldType );

    if ( tmp_tuple_element_85 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_48 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_FieldType );

        if (unlikely( tmp_mvar_value_48 == NULL ))
        {
            tmp_mvar_value_48 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_FieldType );
        }

        if ( tmp_mvar_value_48 == NULL )
        {
            Py_DECREF( tmp_list_element_7 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "FieldType" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 290;
            type_description_2 = "o";
            goto frame_exception_exit_14;
        }

        tmp_tuple_element_85 = tmp_mvar_value_48;
        Py_INCREF( tmp_tuple_element_85 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_7, 1, tmp_tuple_element_85 );
    tmp_dictset_value = PyList_New( 2 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_7 );
    tmp_tuple_element_86 = const_str_plain_parameters;
    tmp_list_element_7 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_86 );
    PyTuple_SET_ITEM( tmp_list_element_7, 0, tmp_tuple_element_86 );
    tmp_tuple_element_86 = PyObject_GetItem( locals_asn1crypto$keys_284, const_str_plain_Any );

    if ( tmp_tuple_element_86 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_49 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Any );

        if (unlikely( tmp_mvar_value_49 == NULL ))
        {
            tmp_mvar_value_49 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Any );
        }

        if ( tmp_mvar_value_49 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_7 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Any" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 291;
            type_description_2 = "o";
            goto frame_exception_exit_14;
        }

        tmp_tuple_element_86 = tmp_mvar_value_49;
        Py_INCREF( tmp_tuple_element_86 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_7, 1, tmp_tuple_element_86 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_7 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_284, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 289;
        type_description_2 = "o";
        goto frame_exception_exit_14;
    }
    }
    {
    tmp_dictset_value = const_tuple_str_plain_field_type_str_plain_parameters_tuple;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_284, const_str_plain__oid_pair, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 294;
        type_description_2 = "o";
        goto frame_exception_exit_14;
    }
    }
    {
    PyObject *tmp_dict_key_4;
    PyObject *tmp_dict_value_4;
    PyObject *tmp_mvar_value_50;
    PyObject *tmp_dict_key_5;
    PyObject *tmp_dict_value_5;
    PyObject *tmp_mvar_value_51;
    tmp_dict_key_4 = const_str_plain_prime_field;
    tmp_dict_value_4 = PyObject_GetItem( locals_asn1crypto$keys_284, const_str_plain_Integer );

    if ( tmp_dict_value_4 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_50 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_50 == NULL ))
        {
            tmp_mvar_value_50 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_50 == NULL )
        {

            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 296;
            type_description_2 = "o";
            goto frame_exception_exit_14;
        }

        tmp_dict_value_4 = tmp_mvar_value_50;
        Py_INCREF( tmp_dict_value_4 );
        }
    }

    tmp_dictset_value = _PyDict_NewPresized( 2 );
    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_4, tmp_dict_value_4 );
    Py_DECREF( tmp_dict_value_4 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_5 = const_str_plain_characteristic_two_field;
    tmp_dict_value_5 = PyObject_GetItem( locals_asn1crypto$keys_284, const_str_plain_CharacteristicTwo );

    if ( tmp_dict_value_5 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_51 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_CharacteristicTwo );

        if (unlikely( tmp_mvar_value_51 == NULL ))
        {
            tmp_mvar_value_51 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_CharacteristicTwo );
        }

        if ( tmp_mvar_value_51 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "CharacteristicTwo" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 297;
            type_description_2 = "o";
            goto frame_exception_exit_14;
        }

        tmp_dict_value_5 = tmp_mvar_value_51;
        Py_INCREF( tmp_dict_value_5 );
        }
    }

    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_5, tmp_dict_value_5 );
    Py_DECREF( tmp_dict_value_5 );
    assert( !(tmp_res != 0) );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_284, const_str_plain__oid_specs, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 295;
        type_description_2 = "o";
        goto frame_exception_exit_14;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_da2e20796a35fbacfc405bbccd114f27_14 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_13;

    frame_exception_exit_14:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_da2e20796a35fbacfc405bbccd114f27_14 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_da2e20796a35fbacfc405bbccd114f27_14, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_da2e20796a35fbacfc405bbccd114f27_14->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_da2e20796a35fbacfc405bbccd114f27_14, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_da2e20796a35fbacfc405bbccd114f27_14,
        type_description_2,
        outline_14_var___class__
    );


    // Release cached frame.
    if ( frame_da2e20796a35fbacfc405bbccd114f27_14 == cache_frame_da2e20796a35fbacfc405bbccd114f27_14 )
    {
        Py_DECREF( frame_da2e20796a35fbacfc405bbccd114f27_14 );
    }
    cache_frame_da2e20796a35fbacfc405bbccd114f27_14 = NULL;

    assertFrameObject( frame_da2e20796a35fbacfc405bbccd114f27_14 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_13;

    frame_no_exception_13:;
    goto skip_nested_handling_13;
    nested_frame_exit_13:;

    goto try_except_handler_51;
    skip_nested_handling_13:;
    {
    nuitka_bool tmp_condition_result_89;
    PyObject *tmp_compexpr_left_14;
    PyObject *tmp_compexpr_right_14;
    CHECK_OBJECT( tmp_class_creation_15__bases );
    tmp_compexpr_left_14 = tmp_class_creation_15__bases;
    CHECK_OBJECT( tmp_class_creation_15__bases_orig );
    tmp_compexpr_right_14 = tmp_class_creation_15__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_14, tmp_compexpr_right_14 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_51;
    }
    tmp_condition_result_89 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_89 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_59;
    }
    else
    {
        goto branch_no_59;
    }
    branch_yes_59:;
    {
    CHECK_OBJECT( tmp_class_creation_15__bases_orig );
    tmp_dictset_value = tmp_class_creation_15__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_284, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_51;
    }
    }
    branch_no_59:;
    }
    {
    PyObject *tmp_assign_source_165;
    PyObject *tmp_called_name_31;
    PyObject *tmp_args_name_30;
    PyObject *tmp_tuple_element_87;
    PyObject *tmp_kw_name_30;
    CHECK_OBJECT( tmp_class_creation_15__metaclass );
    tmp_called_name_31 = tmp_class_creation_15__metaclass;
    tmp_tuple_element_87 = const_str_plain_FieldID;
    tmp_args_name_30 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_87 );
    PyTuple_SET_ITEM( tmp_args_name_30, 0, tmp_tuple_element_87 );
    CHECK_OBJECT( tmp_class_creation_15__bases );
    tmp_tuple_element_87 = tmp_class_creation_15__bases;
    Py_INCREF( tmp_tuple_element_87 );
    PyTuple_SET_ITEM( tmp_args_name_30, 1, tmp_tuple_element_87 );
    tmp_tuple_element_87 = locals_asn1crypto$keys_284;
    Py_INCREF( tmp_tuple_element_87 );
    PyTuple_SET_ITEM( tmp_args_name_30, 2, tmp_tuple_element_87 );
    CHECK_OBJECT( tmp_class_creation_15__class_decl_dict );
    tmp_kw_name_30 = tmp_class_creation_15__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 284;
    tmp_assign_source_165 = CALL_FUNCTION( tmp_called_name_31, tmp_args_name_30, tmp_kw_name_30 );
    Py_DECREF( tmp_args_name_30 );
    if ( tmp_assign_source_165 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 284;

        goto try_except_handler_51;
    }
    assert( outline_14_var___class__ == NULL );
    outline_14_var___class__ = tmp_assign_source_165;

    }
    {
    CHECK_OBJECT( outline_14_var___class__ );
    tmp_assign_source_164 = outline_14_var___class__;
    Py_INCREF( tmp_assign_source_164 );
    goto try_return_handler_51;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_51:;
    {
    Py_DECREF( locals_asn1crypto$keys_284 );
    locals_asn1crypto$keys_284 = NULL;
    }
    {
    goto try_return_handler_50;
    }
    // Exception handler code:
    try_except_handler_51:;
    exception_keeper_type_49 = exception_type;
    exception_keeper_value_49 = exception_value;
    exception_keeper_tb_49 = exception_tb;
    exception_keeper_lineno_49 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_284 );
    locals_asn1crypto$keys_284 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_49;
    exception_value = exception_keeper_value_49;
    exception_tb = exception_keeper_tb_49;
    exception_lineno = exception_keeper_lineno_49;

    goto try_except_handler_50;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_50:;
    {
    CHECK_OBJECT( (PyObject *)outline_14_var___class__ );
    Py_DECREF( outline_14_var___class__ );
    outline_14_var___class__ = NULL;

    }
    {
    goto outline_result_15;
    }
    // Exception handler code:
    try_except_handler_50:;
    exception_keeper_type_50 = exception_type;
    exception_keeper_value_50 = exception_value;
    exception_keeper_tb_50 = exception_tb;
    exception_keeper_lineno_50 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_50;
    exception_value = exception_keeper_value_50;
    exception_tb = exception_keeper_tb_50;
    exception_lineno = exception_keeper_lineno_50;

    goto outline_exception_15;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_15:;
    exception_lineno = 284;
    goto try_except_handler_49;
    outline_result_15:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_FieldID, tmp_assign_source_164 );
    }
    goto try_end_21;
    // Exception handler code:
    try_except_handler_49:;
    exception_keeper_type_51 = exception_type;
    exception_keeper_value_51 = exception_value;
    exception_keeper_tb_51 = exception_tb;
    exception_keeper_lineno_51 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_15__bases );
    tmp_class_creation_15__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_15__class_decl_dict );
    tmp_class_creation_15__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_15__metaclass );
    tmp_class_creation_15__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_15__prepared );
    tmp_class_creation_15__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_51;
    exception_value = exception_keeper_value_51;
    exception_tb = exception_keeper_tb_51;
    exception_lineno = exception_keeper_lineno_51;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_21:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_15__bases );
    Py_DECREF( tmp_class_creation_15__bases );
    tmp_class_creation_15__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_15__class_decl_dict );
    Py_DECREF( tmp_class_creation_15__class_decl_dict );
    tmp_class_creation_15__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_15__metaclass );
    Py_DECREF( tmp_class_creation_15__metaclass );
    tmp_class_creation_15__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_15__prepared );
    Py_DECREF( tmp_class_creation_15__prepared );
    tmp_class_creation_15__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_166;
    PyObject *tmp_tuple_element_88;
    PyObject *tmp_mvar_value_52;
    tmp_mvar_value_52 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_52 == NULL ))
    {
        tmp_mvar_value_52 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_52 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 301;

        goto try_except_handler_52;
    }

    tmp_tuple_element_88 = tmp_mvar_value_52;
    tmp_assign_source_166 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_88 );
    PyTuple_SET_ITEM( tmp_assign_source_166, 0, tmp_tuple_element_88 );
    assert( tmp_class_creation_16__bases_orig == NULL );
    tmp_class_creation_16__bases_orig = tmp_assign_source_166;

    }
    {
    PyObject *tmp_assign_source_167;
    PyObject *tmp_dircall_arg1_15;
    CHECK_OBJECT( tmp_class_creation_16__bases_orig );
    tmp_dircall_arg1_15 = tmp_class_creation_16__bases_orig;
    Py_INCREF( tmp_dircall_arg1_15 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_15};
        tmp_assign_source_167 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_167 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    assert( tmp_class_creation_16__bases == NULL );
    tmp_class_creation_16__bases = tmp_assign_source_167;

    }
    {
    PyObject *tmp_assign_source_168;
    tmp_assign_source_168 = PyDict_New();
    assert( tmp_class_creation_16__class_decl_dict == NULL );
    tmp_class_creation_16__class_decl_dict = tmp_assign_source_168;

    }
    {
    PyObject *tmp_assign_source_169;
    PyObject *tmp_metaclass_name_16;
    nuitka_bool tmp_condition_result_90;
    PyObject *tmp_key_name_46;
    PyObject *tmp_dict_name_46;
    PyObject *tmp_dict_name_47;
    PyObject *tmp_key_name_47;
    nuitka_bool tmp_condition_result_91;
    int tmp_truth_name_15;
    PyObject *tmp_type_arg_30;
    PyObject *tmp_subscribed_name_15;
    PyObject *tmp_subscript_name_15;
    PyObject *tmp_bases_name_16;
    tmp_key_name_46 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_16__class_decl_dict );
    tmp_dict_name_46 = tmp_class_creation_16__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_46, tmp_key_name_46 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    tmp_condition_result_90 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_90 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_31;
    }
    else
    {
        goto condexpr_false_31;
    }
    condexpr_true_31:;
    CHECK_OBJECT( tmp_class_creation_16__class_decl_dict );
    tmp_dict_name_47 = tmp_class_creation_16__class_decl_dict;
    tmp_key_name_47 = const_str_plain_metaclass;
    tmp_metaclass_name_16 = DICT_GET_ITEM( tmp_dict_name_47, tmp_key_name_47 );
    if ( tmp_metaclass_name_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    goto condexpr_end_31;
    condexpr_false_31:;
    CHECK_OBJECT( tmp_class_creation_16__bases );
    tmp_truth_name_15 = CHECK_IF_TRUE( tmp_class_creation_16__bases );
    if ( tmp_truth_name_15 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    tmp_condition_result_91 = tmp_truth_name_15 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_91 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_32;
    }
    else
    {
        goto condexpr_false_32;
    }
    condexpr_true_32:;
    CHECK_OBJECT( tmp_class_creation_16__bases );
    tmp_subscribed_name_15 = tmp_class_creation_16__bases;
    tmp_subscript_name_15 = const_int_0;
    tmp_type_arg_30 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_15, tmp_subscript_name_15, 0 );
    if ( tmp_type_arg_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    tmp_metaclass_name_16 = BUILTIN_TYPE1( tmp_type_arg_30 );
    Py_DECREF( tmp_type_arg_30 );
    if ( tmp_metaclass_name_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    goto condexpr_end_32;
    condexpr_false_32:;
    tmp_metaclass_name_16 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_16 );
    condexpr_end_32:;
    condexpr_end_31:;
    CHECK_OBJECT( tmp_class_creation_16__bases );
    tmp_bases_name_16 = tmp_class_creation_16__bases;
    tmp_assign_source_169 = SELECT_METACLASS( tmp_metaclass_name_16, tmp_bases_name_16 );
    Py_DECREF( tmp_metaclass_name_16 );
    if ( tmp_assign_source_169 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    assert( tmp_class_creation_16__metaclass == NULL );
    tmp_class_creation_16__metaclass = tmp_assign_source_169;

    }
    {
    nuitka_bool tmp_condition_result_92;
    PyObject *tmp_key_name_48;
    PyObject *tmp_dict_name_48;
    tmp_key_name_48 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_16__class_decl_dict );
    tmp_dict_name_48 = tmp_class_creation_16__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_48, tmp_key_name_48 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    tmp_condition_result_92 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_92 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_60;
    }
    else
    {
        goto branch_no_60;
    }
    branch_yes_60:;
    {
    CHECK_OBJECT( tmp_class_creation_16__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_16__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    }
    branch_no_60:;
    }
    {
    nuitka_bool tmp_condition_result_93;
    PyObject *tmp_source_name_61;
    CHECK_OBJECT( tmp_class_creation_16__metaclass );
    tmp_source_name_61 = tmp_class_creation_16__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_61, const_str_plain___prepare__ );
    tmp_condition_result_93 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_93 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_61;
    }
    else
    {
        goto branch_no_61;
    }
    branch_yes_61:;
    {
    PyObject *tmp_assign_source_170;
    PyObject *tmp_called_name_32;
    PyObject *tmp_source_name_62;
    PyObject *tmp_args_name_31;
    PyObject *tmp_tuple_element_89;
    PyObject *tmp_kw_name_31;
    CHECK_OBJECT( tmp_class_creation_16__metaclass );
    tmp_source_name_62 = tmp_class_creation_16__metaclass;
    tmp_called_name_32 = LOOKUP_ATTRIBUTE( tmp_source_name_62, const_str_plain___prepare__ );
    if ( tmp_called_name_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    tmp_tuple_element_89 = const_str_plain_Curve;
    tmp_args_name_31 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_89 );
    PyTuple_SET_ITEM( tmp_args_name_31, 0, tmp_tuple_element_89 );
    CHECK_OBJECT( tmp_class_creation_16__bases );
    tmp_tuple_element_89 = tmp_class_creation_16__bases;
    Py_INCREF( tmp_tuple_element_89 );
    PyTuple_SET_ITEM( tmp_args_name_31, 1, tmp_tuple_element_89 );
    CHECK_OBJECT( tmp_class_creation_16__class_decl_dict );
    tmp_kw_name_31 = tmp_class_creation_16__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 301;
    tmp_assign_source_170 = CALL_FUNCTION( tmp_called_name_32, tmp_args_name_31, tmp_kw_name_31 );
    Py_DECREF( tmp_called_name_32 );
    Py_DECREF( tmp_args_name_31 );
    if ( tmp_assign_source_170 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    assert( tmp_class_creation_16__prepared == NULL );
    tmp_class_creation_16__prepared = tmp_assign_source_170;

    }
    {
    nuitka_bool tmp_condition_result_94;
    PyObject *tmp_operand_name_16;
    PyObject *tmp_source_name_63;
    CHECK_OBJECT( tmp_class_creation_16__prepared );
    tmp_source_name_63 = tmp_class_creation_16__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_63, const_str_plain___getitem__ );
    tmp_operand_name_16 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_16 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    tmp_condition_result_94 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_94 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_62;
    }
    else
    {
        goto branch_no_62;
    }
    branch_yes_62:;
    {
    PyObject *tmp_raise_type_16;
    PyObject *tmp_raise_value_16;
    PyObject *tmp_left_name_16;
    PyObject *tmp_right_name_16;
    PyObject *tmp_tuple_element_90;
    PyObject *tmp_getattr_target_16;
    PyObject *tmp_getattr_attr_16;
    PyObject *tmp_getattr_default_16;
    PyObject *tmp_source_name_64;
    PyObject *tmp_type_arg_31;
    tmp_raise_type_16 = PyExc_TypeError;
    tmp_left_name_16 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_16__metaclass );
    tmp_getattr_target_16 = tmp_class_creation_16__metaclass;
    tmp_getattr_attr_16 = const_str_plain___name__;
    tmp_getattr_default_16 = const_str_angle_metaclass;
    tmp_tuple_element_90 = BUILTIN_GETATTR( tmp_getattr_target_16, tmp_getattr_attr_16, tmp_getattr_default_16 );
    if ( tmp_tuple_element_90 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    tmp_right_name_16 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_16, 0, tmp_tuple_element_90 );
    CHECK_OBJECT( tmp_class_creation_16__prepared );
    tmp_type_arg_31 = tmp_class_creation_16__prepared;
    tmp_source_name_64 = BUILTIN_TYPE1( tmp_type_arg_31 );
    assert( !(tmp_source_name_64 == NULL) );
    tmp_tuple_element_90 = LOOKUP_ATTRIBUTE( tmp_source_name_64, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_64 );
    if ( tmp_tuple_element_90 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_16 );

        exception_lineno = 301;

        goto try_except_handler_52;
    }
    PyTuple_SET_ITEM( tmp_right_name_16, 1, tmp_tuple_element_90 );
    tmp_raise_value_16 = BINARY_OPERATION_REMAINDER( tmp_left_name_16, tmp_right_name_16 );
    Py_DECREF( tmp_right_name_16 );
    if ( tmp_raise_value_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_52;
    }
    exception_type = tmp_raise_type_16;
    Py_INCREF( tmp_raise_type_16 );
    exception_value = tmp_raise_value_16;
    exception_lineno = 301;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_52;
    }
    branch_no_62:;
    }
    goto branch_end_61;
    branch_no_61:;
    {
    PyObject *tmp_assign_source_171;
    tmp_assign_source_171 = PyDict_New();
    assert( tmp_class_creation_16__prepared == NULL );
    tmp_class_creation_16__prepared = tmp_assign_source_171;

    }
    branch_end_61:;
    }
    {
    PyObject *tmp_assign_source_172;
    {
    PyObject *tmp_set_locals_16;
    CHECK_OBJECT( tmp_class_creation_16__prepared );
    tmp_set_locals_16 = tmp_class_creation_16__prepared;
    locals_asn1crypto$keys_301 = tmp_set_locals_16;
    Py_INCREF( tmp_set_locals_16 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_301, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_54;
    }
    }
    {
    tmp_dictset_value = const_str_digest_76b515156306057bcf1cc01c6673d8e2;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_301, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_54;
    }
    }
    {
    tmp_dictset_value = const_str_plain_Curve;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_301, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_54;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_9c6b8a1b5b525220b295a0af710ed0be_15, codeobj_9c6b8a1b5b525220b295a0af710ed0be, module_asn1crypto$keys, sizeof(void *) );
    frame_9c6b8a1b5b525220b295a0af710ed0be_15 = cache_frame_9c6b8a1b5b525220b295a0af710ed0be_15;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_9c6b8a1b5b525220b295a0af710ed0be_15 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_9c6b8a1b5b525220b295a0af710ed0be_15 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_8;
    PyObject *tmp_tuple_element_91;
    PyObject *tmp_mvar_value_53;
    PyObject *tmp_tuple_element_92;
    PyObject *tmp_mvar_value_54;
    PyObject *tmp_tuple_element_93;
    PyObject *tmp_mvar_value_55;
    tmp_tuple_element_91 = const_str_plain_a;
    tmp_list_element_8 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_91 );
    PyTuple_SET_ITEM( tmp_list_element_8, 0, tmp_tuple_element_91 );
    tmp_tuple_element_91 = PyObject_GetItem( locals_asn1crypto$keys_301, const_str_plain_OctetString );

    if ( tmp_tuple_element_91 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_53 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OctetString );

        if (unlikely( tmp_mvar_value_53 == NULL ))
        {
            tmp_mvar_value_53 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_OctetString );
        }

        if ( tmp_mvar_value_53 == NULL )
        {
            Py_DECREF( tmp_list_element_8 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "OctetString" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 307;
            type_description_2 = "o";
            goto frame_exception_exit_15;
        }

        tmp_tuple_element_91 = tmp_mvar_value_53;
        Py_INCREF( tmp_tuple_element_91 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_8, 1, tmp_tuple_element_91 );
    tmp_dictset_value = PyList_New( 3 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_8 );
    tmp_tuple_element_92 = const_str_plain_b;
    tmp_list_element_8 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_92 );
    PyTuple_SET_ITEM( tmp_list_element_8, 0, tmp_tuple_element_92 );
    tmp_tuple_element_92 = PyObject_GetItem( locals_asn1crypto$keys_301, const_str_plain_OctetString );

    if ( tmp_tuple_element_92 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_54 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OctetString );

        if (unlikely( tmp_mvar_value_54 == NULL ))
        {
            tmp_mvar_value_54 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_OctetString );
        }

        if ( tmp_mvar_value_54 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_8 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "OctetString" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 308;
            type_description_2 = "o";
            goto frame_exception_exit_15;
        }

        tmp_tuple_element_92 = tmp_mvar_value_54;
        Py_INCREF( tmp_tuple_element_92 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_8, 1, tmp_tuple_element_92 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_8 );
    tmp_tuple_element_93 = const_str_plain_seed;
    tmp_list_element_8 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_93 );
    PyTuple_SET_ITEM( tmp_list_element_8, 0, tmp_tuple_element_93 );
    tmp_tuple_element_93 = PyObject_GetItem( locals_asn1crypto$keys_301, const_str_plain_OctetBitString );

    if ( tmp_tuple_element_93 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_55 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OctetBitString );

        if (unlikely( tmp_mvar_value_55 == NULL ))
        {
            tmp_mvar_value_55 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_OctetBitString );
        }

        if ( tmp_mvar_value_55 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_8 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "OctetBitString" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 309;
            type_description_2 = "o";
            goto frame_exception_exit_15;
        }

        tmp_tuple_element_93 = tmp_mvar_value_55;
        Py_INCREF( tmp_tuple_element_93 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_8, 1, tmp_tuple_element_93 );
    tmp_tuple_element_93 = PyDict_Copy( const_dict_e0d63c4beb9400e233c3204dcf4f1861 );
    PyTuple_SET_ITEM( tmp_list_element_8, 2, tmp_tuple_element_93 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_8 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_301, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 306;
        type_description_2 = "o";
        goto frame_exception_exit_15;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9c6b8a1b5b525220b295a0af710ed0be_15 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_14;

    frame_exception_exit_15:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9c6b8a1b5b525220b295a0af710ed0be_15 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_9c6b8a1b5b525220b295a0af710ed0be_15, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_9c6b8a1b5b525220b295a0af710ed0be_15->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_9c6b8a1b5b525220b295a0af710ed0be_15, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_9c6b8a1b5b525220b295a0af710ed0be_15,
        type_description_2,
        outline_15_var___class__
    );


    // Release cached frame.
    if ( frame_9c6b8a1b5b525220b295a0af710ed0be_15 == cache_frame_9c6b8a1b5b525220b295a0af710ed0be_15 )
    {
        Py_DECREF( frame_9c6b8a1b5b525220b295a0af710ed0be_15 );
    }
    cache_frame_9c6b8a1b5b525220b295a0af710ed0be_15 = NULL;

    assertFrameObject( frame_9c6b8a1b5b525220b295a0af710ed0be_15 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_14;

    frame_no_exception_14:;
    goto skip_nested_handling_14;
    nested_frame_exit_14:;

    goto try_except_handler_54;
    skip_nested_handling_14:;
    {
    nuitka_bool tmp_condition_result_95;
    PyObject *tmp_compexpr_left_15;
    PyObject *tmp_compexpr_right_15;
    CHECK_OBJECT( tmp_class_creation_16__bases );
    tmp_compexpr_left_15 = tmp_class_creation_16__bases;
    CHECK_OBJECT( tmp_class_creation_16__bases_orig );
    tmp_compexpr_right_15 = tmp_class_creation_16__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_15, tmp_compexpr_right_15 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_54;
    }
    tmp_condition_result_95 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_95 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_63;
    }
    else
    {
        goto branch_no_63;
    }
    branch_yes_63:;
    {
    CHECK_OBJECT( tmp_class_creation_16__bases_orig );
    tmp_dictset_value = tmp_class_creation_16__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_301, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_54;
    }
    }
    branch_no_63:;
    }
    {
    PyObject *tmp_assign_source_173;
    PyObject *tmp_called_name_33;
    PyObject *tmp_args_name_32;
    PyObject *tmp_tuple_element_94;
    PyObject *tmp_kw_name_32;
    CHECK_OBJECT( tmp_class_creation_16__metaclass );
    tmp_called_name_33 = tmp_class_creation_16__metaclass;
    tmp_tuple_element_94 = const_str_plain_Curve;
    tmp_args_name_32 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_94 );
    PyTuple_SET_ITEM( tmp_args_name_32, 0, tmp_tuple_element_94 );
    CHECK_OBJECT( tmp_class_creation_16__bases );
    tmp_tuple_element_94 = tmp_class_creation_16__bases;
    Py_INCREF( tmp_tuple_element_94 );
    PyTuple_SET_ITEM( tmp_args_name_32, 1, tmp_tuple_element_94 );
    tmp_tuple_element_94 = locals_asn1crypto$keys_301;
    Py_INCREF( tmp_tuple_element_94 );
    PyTuple_SET_ITEM( tmp_args_name_32, 2, tmp_tuple_element_94 );
    CHECK_OBJECT( tmp_class_creation_16__class_decl_dict );
    tmp_kw_name_32 = tmp_class_creation_16__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 301;
    tmp_assign_source_173 = CALL_FUNCTION( tmp_called_name_33, tmp_args_name_32, tmp_kw_name_32 );
    Py_DECREF( tmp_args_name_32 );
    if ( tmp_assign_source_173 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 301;

        goto try_except_handler_54;
    }
    assert( outline_15_var___class__ == NULL );
    outline_15_var___class__ = tmp_assign_source_173;

    }
    {
    CHECK_OBJECT( outline_15_var___class__ );
    tmp_assign_source_172 = outline_15_var___class__;
    Py_INCREF( tmp_assign_source_172 );
    goto try_return_handler_54;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_54:;
    {
    Py_DECREF( locals_asn1crypto$keys_301 );
    locals_asn1crypto$keys_301 = NULL;
    }
    {
    goto try_return_handler_53;
    }
    // Exception handler code:
    try_except_handler_54:;
    exception_keeper_type_52 = exception_type;
    exception_keeper_value_52 = exception_value;
    exception_keeper_tb_52 = exception_tb;
    exception_keeper_lineno_52 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_301 );
    locals_asn1crypto$keys_301 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_52;
    exception_value = exception_keeper_value_52;
    exception_tb = exception_keeper_tb_52;
    exception_lineno = exception_keeper_lineno_52;

    goto try_except_handler_53;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_53:;
    {
    CHECK_OBJECT( (PyObject *)outline_15_var___class__ );
    Py_DECREF( outline_15_var___class__ );
    outline_15_var___class__ = NULL;

    }
    {
    goto outline_result_16;
    }
    // Exception handler code:
    try_except_handler_53:;
    exception_keeper_type_53 = exception_type;
    exception_keeper_value_53 = exception_value;
    exception_keeper_tb_53 = exception_tb;
    exception_keeper_lineno_53 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_53;
    exception_value = exception_keeper_value_53;
    exception_tb = exception_keeper_tb_53;
    exception_lineno = exception_keeper_lineno_53;

    goto outline_exception_16;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_16:;
    exception_lineno = 301;
    goto try_except_handler_52;
    outline_result_16:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Curve, tmp_assign_source_172 );
    }
    goto try_end_22;
    // Exception handler code:
    try_except_handler_52:;
    exception_keeper_type_54 = exception_type;
    exception_keeper_value_54 = exception_value;
    exception_keeper_tb_54 = exception_tb;
    exception_keeper_lineno_54 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_16__bases );
    tmp_class_creation_16__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_16__class_decl_dict );
    tmp_class_creation_16__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_16__metaclass );
    tmp_class_creation_16__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_16__prepared );
    tmp_class_creation_16__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_54;
    exception_value = exception_keeper_value_54;
    exception_tb = exception_keeper_tb_54;
    exception_lineno = exception_keeper_lineno_54;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_22:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_16__bases );
    Py_DECREF( tmp_class_creation_16__bases );
    tmp_class_creation_16__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_16__class_decl_dict );
    Py_DECREF( tmp_class_creation_16__class_decl_dict );
    tmp_class_creation_16__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_16__metaclass );
    Py_DECREF( tmp_class_creation_16__metaclass );
    tmp_class_creation_16__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_16__prepared );
    Py_DECREF( tmp_class_creation_16__prepared );
    tmp_class_creation_16__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_174;
    PyObject *tmp_tuple_element_95;
    PyObject *tmp_mvar_value_56;
    tmp_mvar_value_56 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_56 == NULL ))
    {
        tmp_mvar_value_56 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_56 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 313;

        goto try_except_handler_55;
    }

    tmp_tuple_element_95 = tmp_mvar_value_56;
    tmp_assign_source_174 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_95 );
    PyTuple_SET_ITEM( tmp_assign_source_174, 0, tmp_tuple_element_95 );
    assert( tmp_class_creation_17__bases_orig == NULL );
    tmp_class_creation_17__bases_orig = tmp_assign_source_174;

    }
    {
    PyObject *tmp_assign_source_175;
    PyObject *tmp_dircall_arg1_16;
    CHECK_OBJECT( tmp_class_creation_17__bases_orig );
    tmp_dircall_arg1_16 = tmp_class_creation_17__bases_orig;
    Py_INCREF( tmp_dircall_arg1_16 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_16};
        tmp_assign_source_175 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_175 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    assert( tmp_class_creation_17__bases == NULL );
    tmp_class_creation_17__bases = tmp_assign_source_175;

    }
    {
    PyObject *tmp_assign_source_176;
    tmp_assign_source_176 = PyDict_New();
    assert( tmp_class_creation_17__class_decl_dict == NULL );
    tmp_class_creation_17__class_decl_dict = tmp_assign_source_176;

    }
    {
    PyObject *tmp_assign_source_177;
    PyObject *tmp_metaclass_name_17;
    nuitka_bool tmp_condition_result_96;
    PyObject *tmp_key_name_49;
    PyObject *tmp_dict_name_49;
    PyObject *tmp_dict_name_50;
    PyObject *tmp_key_name_50;
    nuitka_bool tmp_condition_result_97;
    int tmp_truth_name_16;
    PyObject *tmp_type_arg_32;
    PyObject *tmp_subscribed_name_16;
    PyObject *tmp_subscript_name_16;
    PyObject *tmp_bases_name_17;
    tmp_key_name_49 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_17__class_decl_dict );
    tmp_dict_name_49 = tmp_class_creation_17__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_49, tmp_key_name_49 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    tmp_condition_result_96 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_96 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_33;
    }
    else
    {
        goto condexpr_false_33;
    }
    condexpr_true_33:;
    CHECK_OBJECT( tmp_class_creation_17__class_decl_dict );
    tmp_dict_name_50 = tmp_class_creation_17__class_decl_dict;
    tmp_key_name_50 = const_str_plain_metaclass;
    tmp_metaclass_name_17 = DICT_GET_ITEM( tmp_dict_name_50, tmp_key_name_50 );
    if ( tmp_metaclass_name_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    goto condexpr_end_33;
    condexpr_false_33:;
    CHECK_OBJECT( tmp_class_creation_17__bases );
    tmp_truth_name_16 = CHECK_IF_TRUE( tmp_class_creation_17__bases );
    if ( tmp_truth_name_16 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    tmp_condition_result_97 = tmp_truth_name_16 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_97 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_34;
    }
    else
    {
        goto condexpr_false_34;
    }
    condexpr_true_34:;
    CHECK_OBJECT( tmp_class_creation_17__bases );
    tmp_subscribed_name_16 = tmp_class_creation_17__bases;
    tmp_subscript_name_16 = const_int_0;
    tmp_type_arg_32 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_16, tmp_subscript_name_16, 0 );
    if ( tmp_type_arg_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    tmp_metaclass_name_17 = BUILTIN_TYPE1( tmp_type_arg_32 );
    Py_DECREF( tmp_type_arg_32 );
    if ( tmp_metaclass_name_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    goto condexpr_end_34;
    condexpr_false_34:;
    tmp_metaclass_name_17 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_17 );
    condexpr_end_34:;
    condexpr_end_33:;
    CHECK_OBJECT( tmp_class_creation_17__bases );
    tmp_bases_name_17 = tmp_class_creation_17__bases;
    tmp_assign_source_177 = SELECT_METACLASS( tmp_metaclass_name_17, tmp_bases_name_17 );
    Py_DECREF( tmp_metaclass_name_17 );
    if ( tmp_assign_source_177 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    assert( tmp_class_creation_17__metaclass == NULL );
    tmp_class_creation_17__metaclass = tmp_assign_source_177;

    }
    {
    nuitka_bool tmp_condition_result_98;
    PyObject *tmp_key_name_51;
    PyObject *tmp_dict_name_51;
    tmp_key_name_51 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_17__class_decl_dict );
    tmp_dict_name_51 = tmp_class_creation_17__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_51, tmp_key_name_51 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    tmp_condition_result_98 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_98 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_64;
    }
    else
    {
        goto branch_no_64;
    }
    branch_yes_64:;
    {
    CHECK_OBJECT( tmp_class_creation_17__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_17__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    }
    branch_no_64:;
    }
    {
    nuitka_bool tmp_condition_result_99;
    PyObject *tmp_source_name_65;
    CHECK_OBJECT( tmp_class_creation_17__metaclass );
    tmp_source_name_65 = tmp_class_creation_17__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_65, const_str_plain___prepare__ );
    tmp_condition_result_99 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_99 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_65;
    }
    else
    {
        goto branch_no_65;
    }
    branch_yes_65:;
    {
    PyObject *tmp_assign_source_178;
    PyObject *tmp_called_name_34;
    PyObject *tmp_source_name_66;
    PyObject *tmp_args_name_33;
    PyObject *tmp_tuple_element_96;
    PyObject *tmp_kw_name_33;
    CHECK_OBJECT( tmp_class_creation_17__metaclass );
    tmp_source_name_66 = tmp_class_creation_17__metaclass;
    tmp_called_name_34 = LOOKUP_ATTRIBUTE( tmp_source_name_66, const_str_plain___prepare__ );
    if ( tmp_called_name_34 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    tmp_tuple_element_96 = const_str_plain_SpecifiedECDomain;
    tmp_args_name_33 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_96 );
    PyTuple_SET_ITEM( tmp_args_name_33, 0, tmp_tuple_element_96 );
    CHECK_OBJECT( tmp_class_creation_17__bases );
    tmp_tuple_element_96 = tmp_class_creation_17__bases;
    Py_INCREF( tmp_tuple_element_96 );
    PyTuple_SET_ITEM( tmp_args_name_33, 1, tmp_tuple_element_96 );
    CHECK_OBJECT( tmp_class_creation_17__class_decl_dict );
    tmp_kw_name_33 = tmp_class_creation_17__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 313;
    tmp_assign_source_178 = CALL_FUNCTION( tmp_called_name_34, tmp_args_name_33, tmp_kw_name_33 );
    Py_DECREF( tmp_called_name_34 );
    Py_DECREF( tmp_args_name_33 );
    if ( tmp_assign_source_178 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    assert( tmp_class_creation_17__prepared == NULL );
    tmp_class_creation_17__prepared = tmp_assign_source_178;

    }
    {
    nuitka_bool tmp_condition_result_100;
    PyObject *tmp_operand_name_17;
    PyObject *tmp_source_name_67;
    CHECK_OBJECT( tmp_class_creation_17__prepared );
    tmp_source_name_67 = tmp_class_creation_17__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_67, const_str_plain___getitem__ );
    tmp_operand_name_17 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_17 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    tmp_condition_result_100 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_100 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_66;
    }
    else
    {
        goto branch_no_66;
    }
    branch_yes_66:;
    {
    PyObject *tmp_raise_type_17;
    PyObject *tmp_raise_value_17;
    PyObject *tmp_left_name_17;
    PyObject *tmp_right_name_17;
    PyObject *tmp_tuple_element_97;
    PyObject *tmp_getattr_target_17;
    PyObject *tmp_getattr_attr_17;
    PyObject *tmp_getattr_default_17;
    PyObject *tmp_source_name_68;
    PyObject *tmp_type_arg_33;
    tmp_raise_type_17 = PyExc_TypeError;
    tmp_left_name_17 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_17__metaclass );
    tmp_getattr_target_17 = tmp_class_creation_17__metaclass;
    tmp_getattr_attr_17 = const_str_plain___name__;
    tmp_getattr_default_17 = const_str_angle_metaclass;
    tmp_tuple_element_97 = BUILTIN_GETATTR( tmp_getattr_target_17, tmp_getattr_attr_17, tmp_getattr_default_17 );
    if ( tmp_tuple_element_97 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    tmp_right_name_17 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_17, 0, tmp_tuple_element_97 );
    CHECK_OBJECT( tmp_class_creation_17__prepared );
    tmp_type_arg_33 = tmp_class_creation_17__prepared;
    tmp_source_name_68 = BUILTIN_TYPE1( tmp_type_arg_33 );
    assert( !(tmp_source_name_68 == NULL) );
    tmp_tuple_element_97 = LOOKUP_ATTRIBUTE( tmp_source_name_68, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_68 );
    if ( tmp_tuple_element_97 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_17 );

        exception_lineno = 313;

        goto try_except_handler_55;
    }
    PyTuple_SET_ITEM( tmp_right_name_17, 1, tmp_tuple_element_97 );
    tmp_raise_value_17 = BINARY_OPERATION_REMAINDER( tmp_left_name_17, tmp_right_name_17 );
    Py_DECREF( tmp_right_name_17 );
    if ( tmp_raise_value_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_55;
    }
    exception_type = tmp_raise_type_17;
    Py_INCREF( tmp_raise_type_17 );
    exception_value = tmp_raise_value_17;
    exception_lineno = 313;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_55;
    }
    branch_no_66:;
    }
    goto branch_end_65;
    branch_no_65:;
    {
    PyObject *tmp_assign_source_179;
    tmp_assign_source_179 = PyDict_New();
    assert( tmp_class_creation_17__prepared == NULL );
    tmp_class_creation_17__prepared = tmp_assign_source_179;

    }
    branch_end_65:;
    }
    {
    PyObject *tmp_assign_source_180;
    {
    PyObject *tmp_set_locals_17;
    CHECK_OBJECT( tmp_class_creation_17__prepared );
    tmp_set_locals_17 = tmp_class_creation_17__prepared;
    locals_asn1crypto$keys_313 = tmp_set_locals_17;
    Py_INCREF( tmp_set_locals_17 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_313, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_57;
    }
    }
    {
    tmp_dictset_value = const_str_digest_4dbafb397a3ef338e376d6626413d1a4;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_313, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_57;
    }
    }
    {
    tmp_dictset_value = const_str_plain_SpecifiedECDomain;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_313, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_57;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_2579abb66f64b36c9c64dd327feb4834_16, codeobj_2579abb66f64b36c9c64dd327feb4834, module_asn1crypto$keys, sizeof(void *) );
    frame_2579abb66f64b36c9c64dd327feb4834_16 = cache_frame_2579abb66f64b36c9c64dd327feb4834_16;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_2579abb66f64b36c9c64dd327feb4834_16 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_2579abb66f64b36c9c64dd327feb4834_16 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_9;
    PyObject *tmp_tuple_element_98;
    PyObject *tmp_mvar_value_57;
    PyObject *tmp_tuple_element_99;
    PyObject *tmp_mvar_value_58;
    PyObject *tmp_tuple_element_100;
    PyObject *tmp_mvar_value_59;
    PyObject *tmp_tuple_element_101;
    PyObject *tmp_mvar_value_60;
    PyObject *tmp_tuple_element_102;
    PyObject *tmp_mvar_value_61;
    PyObject *tmp_tuple_element_103;
    PyObject *tmp_mvar_value_62;
    PyObject *tmp_tuple_element_104;
    PyObject *tmp_mvar_value_63;
    tmp_tuple_element_98 = const_str_plain_version;
    tmp_list_element_9 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_98 );
    PyTuple_SET_ITEM( tmp_list_element_9, 0, tmp_tuple_element_98 );
    tmp_tuple_element_98 = PyObject_GetItem( locals_asn1crypto$keys_313, const_str_plain_SpecifiedECDomainVersion );

    if ( tmp_tuple_element_98 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_57 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SpecifiedECDomainVersion );

        if (unlikely( tmp_mvar_value_57 == NULL ))
        {
            tmp_mvar_value_57 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SpecifiedECDomainVersion );
        }

        if ( tmp_mvar_value_57 == NULL )
        {
            Py_DECREF( tmp_list_element_9 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SpecifiedECDomainVersion" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 319;
            type_description_2 = "o";
            goto frame_exception_exit_16;
        }

        tmp_tuple_element_98 = tmp_mvar_value_57;
        Py_INCREF( tmp_tuple_element_98 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_9, 1, tmp_tuple_element_98 );
    tmp_dictset_value = PyList_New( 7 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_9 );
    tmp_tuple_element_99 = const_str_plain_field_id;
    tmp_list_element_9 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_99 );
    PyTuple_SET_ITEM( tmp_list_element_9, 0, tmp_tuple_element_99 );
    tmp_tuple_element_99 = PyObject_GetItem( locals_asn1crypto$keys_313, const_str_plain_FieldID );

    if ( tmp_tuple_element_99 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_58 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_FieldID );

        if (unlikely( tmp_mvar_value_58 == NULL ))
        {
            tmp_mvar_value_58 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_FieldID );
        }

        if ( tmp_mvar_value_58 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_9 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "FieldID" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 320;
            type_description_2 = "o";
            goto frame_exception_exit_16;
        }

        tmp_tuple_element_99 = tmp_mvar_value_58;
        Py_INCREF( tmp_tuple_element_99 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_9, 1, tmp_tuple_element_99 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_9 );
    tmp_tuple_element_100 = const_str_plain_curve;
    tmp_list_element_9 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_100 );
    PyTuple_SET_ITEM( tmp_list_element_9, 0, tmp_tuple_element_100 );
    tmp_tuple_element_100 = PyObject_GetItem( locals_asn1crypto$keys_313, const_str_plain_Curve );

    if ( tmp_tuple_element_100 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_59 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Curve );

        if (unlikely( tmp_mvar_value_59 == NULL ))
        {
            tmp_mvar_value_59 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Curve );
        }

        if ( tmp_mvar_value_59 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_9 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Curve" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 321;
            type_description_2 = "o";
            goto frame_exception_exit_16;
        }

        tmp_tuple_element_100 = tmp_mvar_value_59;
        Py_INCREF( tmp_tuple_element_100 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_9, 1, tmp_tuple_element_100 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_9 );
    tmp_tuple_element_101 = const_str_plain_base;
    tmp_list_element_9 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_101 );
    PyTuple_SET_ITEM( tmp_list_element_9, 0, tmp_tuple_element_101 );
    tmp_tuple_element_101 = PyObject_GetItem( locals_asn1crypto$keys_313, const_str_plain_ECPoint );

    if ( tmp_tuple_element_101 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_60 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPoint );

        if (unlikely( tmp_mvar_value_60 == NULL ))
        {
            tmp_mvar_value_60 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECPoint );
        }

        if ( tmp_mvar_value_60 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_9 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECPoint" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 322;
            type_description_2 = "o";
            goto frame_exception_exit_16;
        }

        tmp_tuple_element_101 = tmp_mvar_value_60;
        Py_INCREF( tmp_tuple_element_101 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_9, 1, tmp_tuple_element_101 );
    PyList_SET_ITEM( tmp_dictset_value, 3, tmp_list_element_9 );
    tmp_tuple_element_102 = const_str_plain_order;
    tmp_list_element_9 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_102 );
    PyTuple_SET_ITEM( tmp_list_element_9, 0, tmp_tuple_element_102 );
    tmp_tuple_element_102 = PyObject_GetItem( locals_asn1crypto$keys_313, const_str_plain_Integer );

    if ( tmp_tuple_element_102 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_61 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_61 == NULL ))
        {
            tmp_mvar_value_61 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_61 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_9 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 323;
            type_description_2 = "o";
            goto frame_exception_exit_16;
        }

        tmp_tuple_element_102 = tmp_mvar_value_61;
        Py_INCREF( tmp_tuple_element_102 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_9, 1, tmp_tuple_element_102 );
    PyList_SET_ITEM( tmp_dictset_value, 4, tmp_list_element_9 );
    tmp_tuple_element_103 = const_str_plain_cofactor;
    tmp_list_element_9 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_103 );
    PyTuple_SET_ITEM( tmp_list_element_9, 0, tmp_tuple_element_103 );
    tmp_tuple_element_103 = PyObject_GetItem( locals_asn1crypto$keys_313, const_str_plain_Integer );

    if ( tmp_tuple_element_103 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_62 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_62 == NULL ))
        {
            tmp_mvar_value_62 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_62 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_9 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 324;
            type_description_2 = "o";
            goto frame_exception_exit_16;
        }

        tmp_tuple_element_103 = tmp_mvar_value_62;
        Py_INCREF( tmp_tuple_element_103 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_9, 1, tmp_tuple_element_103 );
    tmp_tuple_element_103 = PyDict_Copy( const_dict_e0d63c4beb9400e233c3204dcf4f1861 );
    PyTuple_SET_ITEM( tmp_list_element_9, 2, tmp_tuple_element_103 );
    PyList_SET_ITEM( tmp_dictset_value, 5, tmp_list_element_9 );
    tmp_tuple_element_104 = const_str_plain_hash;
    tmp_list_element_9 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_104 );
    PyTuple_SET_ITEM( tmp_list_element_9, 0, tmp_tuple_element_104 );
    tmp_tuple_element_104 = PyObject_GetItem( locals_asn1crypto$keys_313, const_str_plain_DigestAlgorithm );

    if ( tmp_tuple_element_104 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_63 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DigestAlgorithm );

        if (unlikely( tmp_mvar_value_63 == NULL ))
        {
            tmp_mvar_value_63 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DigestAlgorithm );
        }

        if ( tmp_mvar_value_63 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_9 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DigestAlgorithm" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 325;
            type_description_2 = "o";
            goto frame_exception_exit_16;
        }

        tmp_tuple_element_104 = tmp_mvar_value_63;
        Py_INCREF( tmp_tuple_element_104 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_9, 1, tmp_tuple_element_104 );
    tmp_tuple_element_104 = PyDict_Copy( const_dict_e0d63c4beb9400e233c3204dcf4f1861 );
    PyTuple_SET_ITEM( tmp_list_element_9, 2, tmp_tuple_element_104 );
    PyList_SET_ITEM( tmp_dictset_value, 6, tmp_list_element_9 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_313, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 318;
        type_description_2 = "o";
        goto frame_exception_exit_16;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_2579abb66f64b36c9c64dd327feb4834_16 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_15;

    frame_exception_exit_16:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_2579abb66f64b36c9c64dd327feb4834_16 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_2579abb66f64b36c9c64dd327feb4834_16, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_2579abb66f64b36c9c64dd327feb4834_16->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_2579abb66f64b36c9c64dd327feb4834_16, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_2579abb66f64b36c9c64dd327feb4834_16,
        type_description_2,
        outline_16_var___class__
    );


    // Release cached frame.
    if ( frame_2579abb66f64b36c9c64dd327feb4834_16 == cache_frame_2579abb66f64b36c9c64dd327feb4834_16 )
    {
        Py_DECREF( frame_2579abb66f64b36c9c64dd327feb4834_16 );
    }
    cache_frame_2579abb66f64b36c9c64dd327feb4834_16 = NULL;

    assertFrameObject( frame_2579abb66f64b36c9c64dd327feb4834_16 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_15;

    frame_no_exception_15:;
    goto skip_nested_handling_15;
    nested_frame_exit_15:;

    goto try_except_handler_57;
    skip_nested_handling_15:;
    {
    nuitka_bool tmp_condition_result_101;
    PyObject *tmp_compexpr_left_16;
    PyObject *tmp_compexpr_right_16;
    CHECK_OBJECT( tmp_class_creation_17__bases );
    tmp_compexpr_left_16 = tmp_class_creation_17__bases;
    CHECK_OBJECT( tmp_class_creation_17__bases_orig );
    tmp_compexpr_right_16 = tmp_class_creation_17__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_16, tmp_compexpr_right_16 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_57;
    }
    tmp_condition_result_101 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_101 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_67;
    }
    else
    {
        goto branch_no_67;
    }
    branch_yes_67:;
    {
    CHECK_OBJECT( tmp_class_creation_17__bases_orig );
    tmp_dictset_value = tmp_class_creation_17__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_313, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_57;
    }
    }
    branch_no_67:;
    }
    {
    PyObject *tmp_assign_source_181;
    PyObject *tmp_called_name_35;
    PyObject *tmp_args_name_34;
    PyObject *tmp_tuple_element_105;
    PyObject *tmp_kw_name_34;
    CHECK_OBJECT( tmp_class_creation_17__metaclass );
    tmp_called_name_35 = tmp_class_creation_17__metaclass;
    tmp_tuple_element_105 = const_str_plain_SpecifiedECDomain;
    tmp_args_name_34 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_105 );
    PyTuple_SET_ITEM( tmp_args_name_34, 0, tmp_tuple_element_105 );
    CHECK_OBJECT( tmp_class_creation_17__bases );
    tmp_tuple_element_105 = tmp_class_creation_17__bases;
    Py_INCREF( tmp_tuple_element_105 );
    PyTuple_SET_ITEM( tmp_args_name_34, 1, tmp_tuple_element_105 );
    tmp_tuple_element_105 = locals_asn1crypto$keys_313;
    Py_INCREF( tmp_tuple_element_105 );
    PyTuple_SET_ITEM( tmp_args_name_34, 2, tmp_tuple_element_105 );
    CHECK_OBJECT( tmp_class_creation_17__class_decl_dict );
    tmp_kw_name_34 = tmp_class_creation_17__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 313;
    tmp_assign_source_181 = CALL_FUNCTION( tmp_called_name_35, tmp_args_name_34, tmp_kw_name_34 );
    Py_DECREF( tmp_args_name_34 );
    if ( tmp_assign_source_181 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 313;

        goto try_except_handler_57;
    }
    assert( outline_16_var___class__ == NULL );
    outline_16_var___class__ = tmp_assign_source_181;

    }
    {
    CHECK_OBJECT( outline_16_var___class__ );
    tmp_assign_source_180 = outline_16_var___class__;
    Py_INCREF( tmp_assign_source_180 );
    goto try_return_handler_57;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_57:;
    {
    Py_DECREF( locals_asn1crypto$keys_313 );
    locals_asn1crypto$keys_313 = NULL;
    }
    {
    goto try_return_handler_56;
    }
    // Exception handler code:
    try_except_handler_57:;
    exception_keeper_type_55 = exception_type;
    exception_keeper_value_55 = exception_value;
    exception_keeper_tb_55 = exception_tb;
    exception_keeper_lineno_55 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_313 );
    locals_asn1crypto$keys_313 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_55;
    exception_value = exception_keeper_value_55;
    exception_tb = exception_keeper_tb_55;
    exception_lineno = exception_keeper_lineno_55;

    goto try_except_handler_56;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_56:;
    {
    CHECK_OBJECT( (PyObject *)outline_16_var___class__ );
    Py_DECREF( outline_16_var___class__ );
    outline_16_var___class__ = NULL;

    }
    {
    goto outline_result_17;
    }
    // Exception handler code:
    try_except_handler_56:;
    exception_keeper_type_56 = exception_type;
    exception_keeper_value_56 = exception_value;
    exception_keeper_tb_56 = exception_tb;
    exception_keeper_lineno_56 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_56;
    exception_value = exception_keeper_value_56;
    exception_tb = exception_keeper_tb_56;
    exception_lineno = exception_keeper_lineno_56;

    goto outline_exception_17;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_17:;
    exception_lineno = 313;
    goto try_except_handler_55;
    outline_result_17:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SpecifiedECDomain, tmp_assign_source_180 );
    }
    goto try_end_23;
    // Exception handler code:
    try_except_handler_55:;
    exception_keeper_type_57 = exception_type;
    exception_keeper_value_57 = exception_value;
    exception_keeper_tb_57 = exception_tb;
    exception_keeper_lineno_57 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_17__bases );
    tmp_class_creation_17__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_17__class_decl_dict );
    tmp_class_creation_17__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_17__metaclass );
    tmp_class_creation_17__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_17__prepared );
    tmp_class_creation_17__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_57;
    exception_value = exception_keeper_value_57;
    exception_tb = exception_keeper_tb_57;
    exception_lineno = exception_keeper_lineno_57;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_23:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_17__bases );
    Py_DECREF( tmp_class_creation_17__bases );
    tmp_class_creation_17__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_17__class_decl_dict );
    Py_DECREF( tmp_class_creation_17__class_decl_dict );
    tmp_class_creation_17__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_17__metaclass );
    Py_DECREF( tmp_class_creation_17__metaclass );
    tmp_class_creation_17__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_17__prepared );
    Py_DECREF( tmp_class_creation_17__prepared );
    tmp_class_creation_17__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_182;
    PyObject *tmp_tuple_element_106;
    PyObject *tmp_mvar_value_64;
    tmp_mvar_value_64 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );

    if (unlikely( tmp_mvar_value_64 == NULL ))
    {
        tmp_mvar_value_64 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );
    }

    if ( tmp_mvar_value_64 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ObjectIdentifier" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 329;

        goto try_except_handler_58;
    }

    tmp_tuple_element_106 = tmp_mvar_value_64;
    tmp_assign_source_182 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_106 );
    PyTuple_SET_ITEM( tmp_assign_source_182, 0, tmp_tuple_element_106 );
    assert( tmp_class_creation_18__bases_orig == NULL );
    tmp_class_creation_18__bases_orig = tmp_assign_source_182;

    }
    {
    PyObject *tmp_assign_source_183;
    PyObject *tmp_dircall_arg1_17;
    CHECK_OBJECT( tmp_class_creation_18__bases_orig );
    tmp_dircall_arg1_17 = tmp_class_creation_18__bases_orig;
    Py_INCREF( tmp_dircall_arg1_17 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_17};
        tmp_assign_source_183 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_183 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    assert( tmp_class_creation_18__bases == NULL );
    tmp_class_creation_18__bases = tmp_assign_source_183;

    }
    {
    PyObject *tmp_assign_source_184;
    tmp_assign_source_184 = PyDict_New();
    assert( tmp_class_creation_18__class_decl_dict == NULL );
    tmp_class_creation_18__class_decl_dict = tmp_assign_source_184;

    }
    {
    PyObject *tmp_assign_source_185;
    PyObject *tmp_metaclass_name_18;
    nuitka_bool tmp_condition_result_102;
    PyObject *tmp_key_name_52;
    PyObject *tmp_dict_name_52;
    PyObject *tmp_dict_name_53;
    PyObject *tmp_key_name_53;
    nuitka_bool tmp_condition_result_103;
    int tmp_truth_name_17;
    PyObject *tmp_type_arg_34;
    PyObject *tmp_subscribed_name_17;
    PyObject *tmp_subscript_name_17;
    PyObject *tmp_bases_name_18;
    tmp_key_name_52 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_18__class_decl_dict );
    tmp_dict_name_52 = tmp_class_creation_18__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_52, tmp_key_name_52 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    tmp_condition_result_102 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_102 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_35;
    }
    else
    {
        goto condexpr_false_35;
    }
    condexpr_true_35:;
    CHECK_OBJECT( tmp_class_creation_18__class_decl_dict );
    tmp_dict_name_53 = tmp_class_creation_18__class_decl_dict;
    tmp_key_name_53 = const_str_plain_metaclass;
    tmp_metaclass_name_18 = DICT_GET_ITEM( tmp_dict_name_53, tmp_key_name_53 );
    if ( tmp_metaclass_name_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    goto condexpr_end_35;
    condexpr_false_35:;
    CHECK_OBJECT( tmp_class_creation_18__bases );
    tmp_truth_name_17 = CHECK_IF_TRUE( tmp_class_creation_18__bases );
    if ( tmp_truth_name_17 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    tmp_condition_result_103 = tmp_truth_name_17 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_103 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_36;
    }
    else
    {
        goto condexpr_false_36;
    }
    condexpr_true_36:;
    CHECK_OBJECT( tmp_class_creation_18__bases );
    tmp_subscribed_name_17 = tmp_class_creation_18__bases;
    tmp_subscript_name_17 = const_int_0;
    tmp_type_arg_34 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_17, tmp_subscript_name_17, 0 );
    if ( tmp_type_arg_34 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    tmp_metaclass_name_18 = BUILTIN_TYPE1( tmp_type_arg_34 );
    Py_DECREF( tmp_type_arg_34 );
    if ( tmp_metaclass_name_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    goto condexpr_end_36;
    condexpr_false_36:;
    tmp_metaclass_name_18 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_18 );
    condexpr_end_36:;
    condexpr_end_35:;
    CHECK_OBJECT( tmp_class_creation_18__bases );
    tmp_bases_name_18 = tmp_class_creation_18__bases;
    tmp_assign_source_185 = SELECT_METACLASS( tmp_metaclass_name_18, tmp_bases_name_18 );
    Py_DECREF( tmp_metaclass_name_18 );
    if ( tmp_assign_source_185 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    assert( tmp_class_creation_18__metaclass == NULL );
    tmp_class_creation_18__metaclass = tmp_assign_source_185;

    }
    {
    nuitka_bool tmp_condition_result_104;
    PyObject *tmp_key_name_54;
    PyObject *tmp_dict_name_54;
    tmp_key_name_54 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_18__class_decl_dict );
    tmp_dict_name_54 = tmp_class_creation_18__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_54, tmp_key_name_54 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    tmp_condition_result_104 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_104 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_68;
    }
    else
    {
        goto branch_no_68;
    }
    branch_yes_68:;
    {
    CHECK_OBJECT( tmp_class_creation_18__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_18__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    }
    branch_no_68:;
    }
    {
    nuitka_bool tmp_condition_result_105;
    PyObject *tmp_source_name_69;
    CHECK_OBJECT( tmp_class_creation_18__metaclass );
    tmp_source_name_69 = tmp_class_creation_18__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_69, const_str_plain___prepare__ );
    tmp_condition_result_105 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_105 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_69;
    }
    else
    {
        goto branch_no_69;
    }
    branch_yes_69:;
    {
    PyObject *tmp_assign_source_186;
    PyObject *tmp_called_name_36;
    PyObject *tmp_source_name_70;
    PyObject *tmp_args_name_35;
    PyObject *tmp_tuple_element_107;
    PyObject *tmp_kw_name_35;
    CHECK_OBJECT( tmp_class_creation_18__metaclass );
    tmp_source_name_70 = tmp_class_creation_18__metaclass;
    tmp_called_name_36 = LOOKUP_ATTRIBUTE( tmp_source_name_70, const_str_plain___prepare__ );
    if ( tmp_called_name_36 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    tmp_tuple_element_107 = const_str_plain_NamedCurve;
    tmp_args_name_35 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_107 );
    PyTuple_SET_ITEM( tmp_args_name_35, 0, tmp_tuple_element_107 );
    CHECK_OBJECT( tmp_class_creation_18__bases );
    tmp_tuple_element_107 = tmp_class_creation_18__bases;
    Py_INCREF( tmp_tuple_element_107 );
    PyTuple_SET_ITEM( tmp_args_name_35, 1, tmp_tuple_element_107 );
    CHECK_OBJECT( tmp_class_creation_18__class_decl_dict );
    tmp_kw_name_35 = tmp_class_creation_18__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 329;
    tmp_assign_source_186 = CALL_FUNCTION( tmp_called_name_36, tmp_args_name_35, tmp_kw_name_35 );
    Py_DECREF( tmp_called_name_36 );
    Py_DECREF( tmp_args_name_35 );
    if ( tmp_assign_source_186 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    assert( tmp_class_creation_18__prepared == NULL );
    tmp_class_creation_18__prepared = tmp_assign_source_186;

    }
    {
    nuitka_bool tmp_condition_result_106;
    PyObject *tmp_operand_name_18;
    PyObject *tmp_source_name_71;
    CHECK_OBJECT( tmp_class_creation_18__prepared );
    tmp_source_name_71 = tmp_class_creation_18__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_71, const_str_plain___getitem__ );
    tmp_operand_name_18 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_18 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    tmp_condition_result_106 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_106 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_70;
    }
    else
    {
        goto branch_no_70;
    }
    branch_yes_70:;
    {
    PyObject *tmp_raise_type_18;
    PyObject *tmp_raise_value_18;
    PyObject *tmp_left_name_18;
    PyObject *tmp_right_name_18;
    PyObject *tmp_tuple_element_108;
    PyObject *tmp_getattr_target_18;
    PyObject *tmp_getattr_attr_18;
    PyObject *tmp_getattr_default_18;
    PyObject *tmp_source_name_72;
    PyObject *tmp_type_arg_35;
    tmp_raise_type_18 = PyExc_TypeError;
    tmp_left_name_18 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_18__metaclass );
    tmp_getattr_target_18 = tmp_class_creation_18__metaclass;
    tmp_getattr_attr_18 = const_str_plain___name__;
    tmp_getattr_default_18 = const_str_angle_metaclass;
    tmp_tuple_element_108 = BUILTIN_GETATTR( tmp_getattr_target_18, tmp_getattr_attr_18, tmp_getattr_default_18 );
    if ( tmp_tuple_element_108 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    tmp_right_name_18 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_18, 0, tmp_tuple_element_108 );
    CHECK_OBJECT( tmp_class_creation_18__prepared );
    tmp_type_arg_35 = tmp_class_creation_18__prepared;
    tmp_source_name_72 = BUILTIN_TYPE1( tmp_type_arg_35 );
    assert( !(tmp_source_name_72 == NULL) );
    tmp_tuple_element_108 = LOOKUP_ATTRIBUTE( tmp_source_name_72, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_72 );
    if ( tmp_tuple_element_108 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_18 );

        exception_lineno = 329;

        goto try_except_handler_58;
    }
    PyTuple_SET_ITEM( tmp_right_name_18, 1, tmp_tuple_element_108 );
    tmp_raise_value_18 = BINARY_OPERATION_REMAINDER( tmp_left_name_18, tmp_right_name_18 );
    Py_DECREF( tmp_right_name_18 );
    if ( tmp_raise_value_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_58;
    }
    exception_type = tmp_raise_type_18;
    Py_INCREF( tmp_raise_type_18 );
    exception_value = tmp_raise_value_18;
    exception_lineno = 329;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_58;
    }
    branch_no_70:;
    }
    goto branch_end_69;
    branch_no_69:;
    {
    PyObject *tmp_assign_source_187;
    tmp_assign_source_187 = PyDict_New();
    assert( tmp_class_creation_18__prepared == NULL );
    tmp_class_creation_18__prepared = tmp_assign_source_187;

    }
    branch_end_69:;
    }
    {
    PyObject *tmp_assign_source_188;
    {
    PyObject *tmp_set_locals_18;
    CHECK_OBJECT( tmp_class_creation_18__prepared );
    tmp_set_locals_18 = tmp_class_creation_18__prepared;
    locals_asn1crypto$keys_329 = tmp_set_locals_18;
    Py_INCREF( tmp_set_locals_18 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_329, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_60;
    }
    }
    {
    tmp_dictset_value = const_str_digest_3a99172a76945b41cf99fbb28ddf9e76;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_329, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_60;
    }
    }
    {
    tmp_dictset_value = const_str_plain_NamedCurve;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_329, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_60;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_b59376757203eda2910bcf10fc6e7826_17, codeobj_b59376757203eda2910bcf10fc6e7826, module_asn1crypto$keys, sizeof(void *) );
    frame_b59376757203eda2910bcf10fc6e7826_17 = cache_frame_b59376757203eda2910bcf10fc6e7826_17;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_b59376757203eda2910bcf10fc6e7826_17 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_b59376757203eda2910bcf10fc6e7826_17 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = PyDict_Copy( const_dict_f517d4cb27b13afefbad9648331f7f8c );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_329, const_str_plain__map, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 338;
        type_description_2 = "o";
        goto frame_exception_exit_17;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_b59376757203eda2910bcf10fc6e7826_17 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_16;

    frame_exception_exit_17:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_b59376757203eda2910bcf10fc6e7826_17 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_b59376757203eda2910bcf10fc6e7826_17, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_b59376757203eda2910bcf10fc6e7826_17->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_b59376757203eda2910bcf10fc6e7826_17, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_b59376757203eda2910bcf10fc6e7826_17,
        type_description_2,
        outline_17_var___class__
    );


    // Release cached frame.
    if ( frame_b59376757203eda2910bcf10fc6e7826_17 == cache_frame_b59376757203eda2910bcf10fc6e7826_17 )
    {
        Py_DECREF( frame_b59376757203eda2910bcf10fc6e7826_17 );
    }
    cache_frame_b59376757203eda2910bcf10fc6e7826_17 = NULL;

    assertFrameObject( frame_b59376757203eda2910bcf10fc6e7826_17 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_16;

    frame_no_exception_16:;
    goto skip_nested_handling_16;
    nested_frame_exit_16:;

    goto try_except_handler_60;
    skip_nested_handling_16:;
    {
    nuitka_bool tmp_condition_result_107;
    PyObject *tmp_compexpr_left_17;
    PyObject *tmp_compexpr_right_17;
    CHECK_OBJECT( tmp_class_creation_18__bases );
    tmp_compexpr_left_17 = tmp_class_creation_18__bases;
    CHECK_OBJECT( tmp_class_creation_18__bases_orig );
    tmp_compexpr_right_17 = tmp_class_creation_18__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_17, tmp_compexpr_right_17 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_60;
    }
    tmp_condition_result_107 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_107 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_71;
    }
    else
    {
        goto branch_no_71;
    }
    branch_yes_71:;
    {
    CHECK_OBJECT( tmp_class_creation_18__bases_orig );
    tmp_dictset_value = tmp_class_creation_18__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_329, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_60;
    }
    }
    branch_no_71:;
    }
    {
    PyObject *tmp_assign_source_189;
    PyObject *tmp_called_name_37;
    PyObject *tmp_args_name_36;
    PyObject *tmp_tuple_element_109;
    PyObject *tmp_kw_name_36;
    CHECK_OBJECT( tmp_class_creation_18__metaclass );
    tmp_called_name_37 = tmp_class_creation_18__metaclass;
    tmp_tuple_element_109 = const_str_plain_NamedCurve;
    tmp_args_name_36 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_109 );
    PyTuple_SET_ITEM( tmp_args_name_36, 0, tmp_tuple_element_109 );
    CHECK_OBJECT( tmp_class_creation_18__bases );
    tmp_tuple_element_109 = tmp_class_creation_18__bases;
    Py_INCREF( tmp_tuple_element_109 );
    PyTuple_SET_ITEM( tmp_args_name_36, 1, tmp_tuple_element_109 );
    tmp_tuple_element_109 = locals_asn1crypto$keys_329;
    Py_INCREF( tmp_tuple_element_109 );
    PyTuple_SET_ITEM( tmp_args_name_36, 2, tmp_tuple_element_109 );
    CHECK_OBJECT( tmp_class_creation_18__class_decl_dict );
    tmp_kw_name_36 = tmp_class_creation_18__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 329;
    tmp_assign_source_189 = CALL_FUNCTION( tmp_called_name_37, tmp_args_name_36, tmp_kw_name_36 );
    Py_DECREF( tmp_args_name_36 );
    if ( tmp_assign_source_189 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 329;

        goto try_except_handler_60;
    }
    assert( outline_17_var___class__ == NULL );
    outline_17_var___class__ = tmp_assign_source_189;

    }
    {
    CHECK_OBJECT( outline_17_var___class__ );
    tmp_assign_source_188 = outline_17_var___class__;
    Py_INCREF( tmp_assign_source_188 );
    goto try_return_handler_60;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_60:;
    {
    Py_DECREF( locals_asn1crypto$keys_329 );
    locals_asn1crypto$keys_329 = NULL;
    }
    {
    goto try_return_handler_59;
    }
    // Exception handler code:
    try_except_handler_60:;
    exception_keeper_type_58 = exception_type;
    exception_keeper_value_58 = exception_value;
    exception_keeper_tb_58 = exception_tb;
    exception_keeper_lineno_58 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_329 );
    locals_asn1crypto$keys_329 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_58;
    exception_value = exception_keeper_value_58;
    exception_tb = exception_keeper_tb_58;
    exception_lineno = exception_keeper_lineno_58;

    goto try_except_handler_59;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_59:;
    {
    CHECK_OBJECT( (PyObject *)outline_17_var___class__ );
    Py_DECREF( outline_17_var___class__ );
    outline_17_var___class__ = NULL;

    }
    {
    goto outline_result_18;
    }
    // Exception handler code:
    try_except_handler_59:;
    exception_keeper_type_59 = exception_type;
    exception_keeper_value_59 = exception_value;
    exception_keeper_tb_59 = exception_tb;
    exception_keeper_lineno_59 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_59;
    exception_value = exception_keeper_value_59;
    exception_tb = exception_keeper_tb_59;
    exception_lineno = exception_keeper_lineno_59;

    goto outline_exception_18;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_18:;
    exception_lineno = 329;
    goto try_except_handler_58;
    outline_result_18:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_NamedCurve, tmp_assign_source_188 );
    }
    goto try_end_24;
    // Exception handler code:
    try_except_handler_58:;
    exception_keeper_type_60 = exception_type;
    exception_keeper_value_60 = exception_value;
    exception_keeper_tb_60 = exception_tb;
    exception_keeper_lineno_60 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_18__bases );
    tmp_class_creation_18__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_18__class_decl_dict );
    tmp_class_creation_18__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_18__metaclass );
    tmp_class_creation_18__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_18__prepared );
    tmp_class_creation_18__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_60;
    exception_value = exception_keeper_value_60;
    exception_tb = exception_keeper_tb_60;
    exception_lineno = exception_keeper_lineno_60;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_24:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_18__bases );
    Py_DECREF( tmp_class_creation_18__bases );
    tmp_class_creation_18__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_18__class_decl_dict );
    Py_DECREF( tmp_class_creation_18__class_decl_dict );
    tmp_class_creation_18__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_18__metaclass );
    Py_DECREF( tmp_class_creation_18__metaclass );
    tmp_class_creation_18__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_18__prepared );
    Py_DECREF( tmp_class_creation_18__prepared );
    tmp_class_creation_18__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_190;
    PyObject *tmp_tuple_element_110;
    PyObject *tmp_mvar_value_65;
    tmp_mvar_value_65 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Choice );

    if (unlikely( tmp_mvar_value_65 == NULL ))
    {
        tmp_mvar_value_65 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Choice );
    }

    if ( tmp_mvar_value_65 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Choice" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 384;

        goto try_except_handler_61;
    }

    tmp_tuple_element_110 = tmp_mvar_value_65;
    tmp_assign_source_190 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_110 );
    PyTuple_SET_ITEM( tmp_assign_source_190, 0, tmp_tuple_element_110 );
    assert( tmp_class_creation_19__bases_orig == NULL );
    tmp_class_creation_19__bases_orig = tmp_assign_source_190;

    }
    {
    PyObject *tmp_assign_source_191;
    PyObject *tmp_dircall_arg1_18;
    CHECK_OBJECT( tmp_class_creation_19__bases_orig );
    tmp_dircall_arg1_18 = tmp_class_creation_19__bases_orig;
    Py_INCREF( tmp_dircall_arg1_18 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_18};
        tmp_assign_source_191 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_191 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    assert( tmp_class_creation_19__bases == NULL );
    tmp_class_creation_19__bases = tmp_assign_source_191;

    }
    {
    PyObject *tmp_assign_source_192;
    tmp_assign_source_192 = PyDict_New();
    assert( tmp_class_creation_19__class_decl_dict == NULL );
    tmp_class_creation_19__class_decl_dict = tmp_assign_source_192;

    }
    {
    PyObject *tmp_assign_source_193;
    PyObject *tmp_metaclass_name_19;
    nuitka_bool tmp_condition_result_108;
    PyObject *tmp_key_name_55;
    PyObject *tmp_dict_name_55;
    PyObject *tmp_dict_name_56;
    PyObject *tmp_key_name_56;
    nuitka_bool tmp_condition_result_109;
    int tmp_truth_name_18;
    PyObject *tmp_type_arg_36;
    PyObject *tmp_subscribed_name_18;
    PyObject *tmp_subscript_name_18;
    PyObject *tmp_bases_name_19;
    tmp_key_name_55 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_19__class_decl_dict );
    tmp_dict_name_55 = tmp_class_creation_19__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_55, tmp_key_name_55 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    tmp_condition_result_108 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_108 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_37;
    }
    else
    {
        goto condexpr_false_37;
    }
    condexpr_true_37:;
    CHECK_OBJECT( tmp_class_creation_19__class_decl_dict );
    tmp_dict_name_56 = tmp_class_creation_19__class_decl_dict;
    tmp_key_name_56 = const_str_plain_metaclass;
    tmp_metaclass_name_19 = DICT_GET_ITEM( tmp_dict_name_56, tmp_key_name_56 );
    if ( tmp_metaclass_name_19 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    goto condexpr_end_37;
    condexpr_false_37:;
    CHECK_OBJECT( tmp_class_creation_19__bases );
    tmp_truth_name_18 = CHECK_IF_TRUE( tmp_class_creation_19__bases );
    if ( tmp_truth_name_18 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    tmp_condition_result_109 = tmp_truth_name_18 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_109 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_38;
    }
    else
    {
        goto condexpr_false_38;
    }
    condexpr_true_38:;
    CHECK_OBJECT( tmp_class_creation_19__bases );
    tmp_subscribed_name_18 = tmp_class_creation_19__bases;
    tmp_subscript_name_18 = const_int_0;
    tmp_type_arg_36 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_18, tmp_subscript_name_18, 0 );
    if ( tmp_type_arg_36 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    tmp_metaclass_name_19 = BUILTIN_TYPE1( tmp_type_arg_36 );
    Py_DECREF( tmp_type_arg_36 );
    if ( tmp_metaclass_name_19 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    goto condexpr_end_38;
    condexpr_false_38:;
    tmp_metaclass_name_19 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_19 );
    condexpr_end_38:;
    condexpr_end_37:;
    CHECK_OBJECT( tmp_class_creation_19__bases );
    tmp_bases_name_19 = tmp_class_creation_19__bases;
    tmp_assign_source_193 = SELECT_METACLASS( tmp_metaclass_name_19, tmp_bases_name_19 );
    Py_DECREF( tmp_metaclass_name_19 );
    if ( tmp_assign_source_193 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    assert( tmp_class_creation_19__metaclass == NULL );
    tmp_class_creation_19__metaclass = tmp_assign_source_193;

    }
    {
    nuitka_bool tmp_condition_result_110;
    PyObject *tmp_key_name_57;
    PyObject *tmp_dict_name_57;
    tmp_key_name_57 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_19__class_decl_dict );
    tmp_dict_name_57 = tmp_class_creation_19__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_57, tmp_key_name_57 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    tmp_condition_result_110 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_110 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_72;
    }
    else
    {
        goto branch_no_72;
    }
    branch_yes_72:;
    {
    CHECK_OBJECT( tmp_class_creation_19__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_19__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    }
    branch_no_72:;
    }
    {
    nuitka_bool tmp_condition_result_111;
    PyObject *tmp_source_name_73;
    CHECK_OBJECT( tmp_class_creation_19__metaclass );
    tmp_source_name_73 = tmp_class_creation_19__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_73, const_str_plain___prepare__ );
    tmp_condition_result_111 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_111 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_73;
    }
    else
    {
        goto branch_no_73;
    }
    branch_yes_73:;
    {
    PyObject *tmp_assign_source_194;
    PyObject *tmp_called_name_38;
    PyObject *tmp_source_name_74;
    PyObject *tmp_args_name_37;
    PyObject *tmp_tuple_element_111;
    PyObject *tmp_kw_name_37;
    CHECK_OBJECT( tmp_class_creation_19__metaclass );
    tmp_source_name_74 = tmp_class_creation_19__metaclass;
    tmp_called_name_38 = LOOKUP_ATTRIBUTE( tmp_source_name_74, const_str_plain___prepare__ );
    if ( tmp_called_name_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    tmp_tuple_element_111 = const_str_plain_ECDomainParameters;
    tmp_args_name_37 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_111 );
    PyTuple_SET_ITEM( tmp_args_name_37, 0, tmp_tuple_element_111 );
    CHECK_OBJECT( tmp_class_creation_19__bases );
    tmp_tuple_element_111 = tmp_class_creation_19__bases;
    Py_INCREF( tmp_tuple_element_111 );
    PyTuple_SET_ITEM( tmp_args_name_37, 1, tmp_tuple_element_111 );
    CHECK_OBJECT( tmp_class_creation_19__class_decl_dict );
    tmp_kw_name_37 = tmp_class_creation_19__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 384;
    tmp_assign_source_194 = CALL_FUNCTION( tmp_called_name_38, tmp_args_name_37, tmp_kw_name_37 );
    Py_DECREF( tmp_called_name_38 );
    Py_DECREF( tmp_args_name_37 );
    if ( tmp_assign_source_194 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    assert( tmp_class_creation_19__prepared == NULL );
    tmp_class_creation_19__prepared = tmp_assign_source_194;

    }
    {
    nuitka_bool tmp_condition_result_112;
    PyObject *tmp_operand_name_19;
    PyObject *tmp_source_name_75;
    CHECK_OBJECT( tmp_class_creation_19__prepared );
    tmp_source_name_75 = tmp_class_creation_19__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_75, const_str_plain___getitem__ );
    tmp_operand_name_19 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_19 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    tmp_condition_result_112 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_112 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_74;
    }
    else
    {
        goto branch_no_74;
    }
    branch_yes_74:;
    {
    PyObject *tmp_raise_type_19;
    PyObject *tmp_raise_value_19;
    PyObject *tmp_left_name_19;
    PyObject *tmp_right_name_19;
    PyObject *tmp_tuple_element_112;
    PyObject *tmp_getattr_target_19;
    PyObject *tmp_getattr_attr_19;
    PyObject *tmp_getattr_default_19;
    PyObject *tmp_source_name_76;
    PyObject *tmp_type_arg_37;
    tmp_raise_type_19 = PyExc_TypeError;
    tmp_left_name_19 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_19__metaclass );
    tmp_getattr_target_19 = tmp_class_creation_19__metaclass;
    tmp_getattr_attr_19 = const_str_plain___name__;
    tmp_getattr_default_19 = const_str_angle_metaclass;
    tmp_tuple_element_112 = BUILTIN_GETATTR( tmp_getattr_target_19, tmp_getattr_attr_19, tmp_getattr_default_19 );
    if ( tmp_tuple_element_112 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    tmp_right_name_19 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_19, 0, tmp_tuple_element_112 );
    CHECK_OBJECT( tmp_class_creation_19__prepared );
    tmp_type_arg_37 = tmp_class_creation_19__prepared;
    tmp_source_name_76 = BUILTIN_TYPE1( tmp_type_arg_37 );
    assert( !(tmp_source_name_76 == NULL) );
    tmp_tuple_element_112 = LOOKUP_ATTRIBUTE( tmp_source_name_76, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_76 );
    if ( tmp_tuple_element_112 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_19 );

        exception_lineno = 384;

        goto try_except_handler_61;
    }
    PyTuple_SET_ITEM( tmp_right_name_19, 1, tmp_tuple_element_112 );
    tmp_raise_value_19 = BINARY_OPERATION_REMAINDER( tmp_left_name_19, tmp_right_name_19 );
    Py_DECREF( tmp_right_name_19 );
    if ( tmp_raise_value_19 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_61;
    }
    exception_type = tmp_raise_type_19;
    Py_INCREF( tmp_raise_type_19 );
    exception_value = tmp_raise_value_19;
    exception_lineno = 384;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_61;
    }
    branch_no_74:;
    }
    goto branch_end_73;
    branch_no_73:;
    {
    PyObject *tmp_assign_source_195;
    tmp_assign_source_195 = PyDict_New();
    assert( tmp_class_creation_19__prepared == NULL );
    tmp_class_creation_19__prepared = tmp_assign_source_195;

    }
    branch_end_73:;
    }
    {
    PyObject *tmp_assign_source_196;
    {
    PyObject *tmp_set_locals_19;
    CHECK_OBJECT( tmp_class_creation_19__prepared );
    tmp_set_locals_19 = tmp_class_creation_19__prepared;
    locals_asn1crypto$keys_384 = tmp_set_locals_19;
    Py_INCREF( tmp_set_locals_19 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_384, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_63;
    }
    }
    {
    tmp_dictset_value = const_str_digest_ccbe969184452b2e900daa5eb024f15e;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_384, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_63;
    }
    }
    {
    tmp_dictset_value = const_str_plain_ECDomainParameters;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_384, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_63;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_65d16e056741f7f573908c8fd9ce77eb_18, codeobj_65d16e056741f7f573908c8fd9ce77eb, module_asn1crypto$keys, sizeof(void *) );
    frame_65d16e056741f7f573908c8fd9ce77eb_18 = cache_frame_65d16e056741f7f573908c8fd9ce77eb_18;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_65d16e056741f7f573908c8fd9ce77eb_18 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_65d16e056741f7f573908c8fd9ce77eb_18 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_10;
    PyObject *tmp_tuple_element_113;
    PyObject *tmp_mvar_value_66;
    PyObject *tmp_tuple_element_114;
    PyObject *tmp_mvar_value_67;
    PyObject *tmp_tuple_element_115;
    PyObject *tmp_mvar_value_68;
    tmp_tuple_element_113 = const_str_plain_specified;
    tmp_list_element_10 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_113 );
    PyTuple_SET_ITEM( tmp_list_element_10, 0, tmp_tuple_element_113 );
    tmp_tuple_element_113 = PyObject_GetItem( locals_asn1crypto$keys_384, const_str_plain_SpecifiedECDomain );

    if ( tmp_tuple_element_113 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_66 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SpecifiedECDomain );

        if (unlikely( tmp_mvar_value_66 == NULL ))
        {
            tmp_mvar_value_66 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SpecifiedECDomain );
        }

        if ( tmp_mvar_value_66 == NULL )
        {
            Py_DECREF( tmp_list_element_10 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SpecifiedECDomain" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 390;
            type_description_2 = "o";
            goto frame_exception_exit_18;
        }

        tmp_tuple_element_113 = tmp_mvar_value_66;
        Py_INCREF( tmp_tuple_element_113 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_10, 1, tmp_tuple_element_113 );
    tmp_dictset_value = PyList_New( 3 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_10 );
    tmp_tuple_element_114 = const_str_plain_named;
    tmp_list_element_10 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_114 );
    PyTuple_SET_ITEM( tmp_list_element_10, 0, tmp_tuple_element_114 );
    tmp_tuple_element_114 = PyObject_GetItem( locals_asn1crypto$keys_384, const_str_plain_NamedCurve );

    if ( tmp_tuple_element_114 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_67 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_NamedCurve );

        if (unlikely( tmp_mvar_value_67 == NULL ))
        {
            tmp_mvar_value_67 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_NamedCurve );
        }

        if ( tmp_mvar_value_67 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_10 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "NamedCurve" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 391;
            type_description_2 = "o";
            goto frame_exception_exit_18;
        }

        tmp_tuple_element_114 = tmp_mvar_value_67;
        Py_INCREF( tmp_tuple_element_114 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_10, 1, tmp_tuple_element_114 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_10 );
    tmp_tuple_element_115 = const_str_plain_implicit_ca;
    tmp_list_element_10 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_115 );
    PyTuple_SET_ITEM( tmp_list_element_10, 0, tmp_tuple_element_115 );
    tmp_tuple_element_115 = PyObject_GetItem( locals_asn1crypto$keys_384, const_str_plain_Null );

    if ( tmp_tuple_element_115 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_68 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Null );

        if (unlikely( tmp_mvar_value_68 == NULL ))
        {
            tmp_mvar_value_68 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Null );
        }

        if ( tmp_mvar_value_68 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_10 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Null" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 392;
            type_description_2 = "o";
            goto frame_exception_exit_18;
        }

        tmp_tuple_element_115 = tmp_mvar_value_68;
        Py_INCREF( tmp_tuple_element_115 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_10, 1, tmp_tuple_element_115 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_10 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_384, const_str_plain__alternatives, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 389;
        type_description_2 = "o";
        goto frame_exception_exit_18;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_65d16e056741f7f573908c8fd9ce77eb_18 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_17;

    frame_exception_exit_18:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_65d16e056741f7f573908c8fd9ce77eb_18 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_65d16e056741f7f573908c8fd9ce77eb_18, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_65d16e056741f7f573908c8fd9ce77eb_18->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_65d16e056741f7f573908c8fd9ce77eb_18, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_65d16e056741f7f573908c8fd9ce77eb_18,
        type_description_2,
        outline_18_var___class__
    );


    // Release cached frame.
    if ( frame_65d16e056741f7f573908c8fd9ce77eb_18 == cache_frame_65d16e056741f7f573908c8fd9ce77eb_18 )
    {
        Py_DECREF( frame_65d16e056741f7f573908c8fd9ce77eb_18 );
    }
    cache_frame_65d16e056741f7f573908c8fd9ce77eb_18 = NULL;

    assertFrameObject( frame_65d16e056741f7f573908c8fd9ce77eb_18 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_17;

    frame_no_exception_17:;
    goto skip_nested_handling_17;
    nested_frame_exit_17:;

    goto try_except_handler_63;
    skip_nested_handling_17:;
    {
    nuitka_bool tmp_condition_result_113;
    PyObject *tmp_compexpr_left_18;
    PyObject *tmp_compexpr_right_18;
    CHECK_OBJECT( tmp_class_creation_19__bases );
    tmp_compexpr_left_18 = tmp_class_creation_19__bases;
    CHECK_OBJECT( tmp_class_creation_19__bases_orig );
    tmp_compexpr_right_18 = tmp_class_creation_19__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_18, tmp_compexpr_right_18 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_63;
    }
    tmp_condition_result_113 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_113 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_75;
    }
    else
    {
        goto branch_no_75;
    }
    branch_yes_75:;
    {
    CHECK_OBJECT( tmp_class_creation_19__bases_orig );
    tmp_dictset_value = tmp_class_creation_19__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_384, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_63;
    }
    }
    branch_no_75:;
    }
    {
    PyObject *tmp_assign_source_197;
    PyObject *tmp_called_name_39;
    PyObject *tmp_args_name_38;
    PyObject *tmp_tuple_element_116;
    PyObject *tmp_kw_name_38;
    CHECK_OBJECT( tmp_class_creation_19__metaclass );
    tmp_called_name_39 = tmp_class_creation_19__metaclass;
    tmp_tuple_element_116 = const_str_plain_ECDomainParameters;
    tmp_args_name_38 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_116 );
    PyTuple_SET_ITEM( tmp_args_name_38, 0, tmp_tuple_element_116 );
    CHECK_OBJECT( tmp_class_creation_19__bases );
    tmp_tuple_element_116 = tmp_class_creation_19__bases;
    Py_INCREF( tmp_tuple_element_116 );
    PyTuple_SET_ITEM( tmp_args_name_38, 1, tmp_tuple_element_116 );
    tmp_tuple_element_116 = locals_asn1crypto$keys_384;
    Py_INCREF( tmp_tuple_element_116 );
    PyTuple_SET_ITEM( tmp_args_name_38, 2, tmp_tuple_element_116 );
    CHECK_OBJECT( tmp_class_creation_19__class_decl_dict );
    tmp_kw_name_38 = tmp_class_creation_19__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 384;
    tmp_assign_source_197 = CALL_FUNCTION( tmp_called_name_39, tmp_args_name_38, tmp_kw_name_38 );
    Py_DECREF( tmp_args_name_38 );
    if ( tmp_assign_source_197 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 384;

        goto try_except_handler_63;
    }
    assert( outline_18_var___class__ == NULL );
    outline_18_var___class__ = tmp_assign_source_197;

    }
    {
    CHECK_OBJECT( outline_18_var___class__ );
    tmp_assign_source_196 = outline_18_var___class__;
    Py_INCREF( tmp_assign_source_196 );
    goto try_return_handler_63;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_63:;
    {
    Py_DECREF( locals_asn1crypto$keys_384 );
    locals_asn1crypto$keys_384 = NULL;
    }
    {
    goto try_return_handler_62;
    }
    // Exception handler code:
    try_except_handler_63:;
    exception_keeper_type_61 = exception_type;
    exception_keeper_value_61 = exception_value;
    exception_keeper_tb_61 = exception_tb;
    exception_keeper_lineno_61 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_384 );
    locals_asn1crypto$keys_384 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_61;
    exception_value = exception_keeper_value_61;
    exception_tb = exception_keeper_tb_61;
    exception_lineno = exception_keeper_lineno_61;

    goto try_except_handler_62;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_62:;
    {
    CHECK_OBJECT( (PyObject *)outline_18_var___class__ );
    Py_DECREF( outline_18_var___class__ );
    outline_18_var___class__ = NULL;

    }
    {
    goto outline_result_19;
    }
    // Exception handler code:
    try_except_handler_62:;
    exception_keeper_type_62 = exception_type;
    exception_keeper_value_62 = exception_value;
    exception_keeper_tb_62 = exception_tb;
    exception_keeper_lineno_62 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_62;
    exception_value = exception_keeper_value_62;
    exception_tb = exception_keeper_tb_62;
    exception_lineno = exception_keeper_lineno_62;

    goto outline_exception_19;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_19:;
    exception_lineno = 384;
    goto try_except_handler_61;
    outline_result_19:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECDomainParameters, tmp_assign_source_196 );
    }
    goto try_end_25;
    // Exception handler code:
    try_except_handler_61:;
    exception_keeper_type_63 = exception_type;
    exception_keeper_value_63 = exception_value;
    exception_keeper_tb_63 = exception_tb;
    exception_keeper_lineno_63 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_19__bases );
    tmp_class_creation_19__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_19__class_decl_dict );
    tmp_class_creation_19__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_19__metaclass );
    tmp_class_creation_19__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_19__prepared );
    tmp_class_creation_19__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_63;
    exception_value = exception_keeper_value_63;
    exception_tb = exception_keeper_tb_63;
    exception_lineno = exception_keeper_lineno_63;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_25:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_19__bases );
    Py_DECREF( tmp_class_creation_19__bases );
    tmp_class_creation_19__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_19__class_decl_dict );
    Py_DECREF( tmp_class_creation_19__class_decl_dict );
    tmp_class_creation_19__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_19__metaclass );
    Py_DECREF( tmp_class_creation_19__metaclass );
    tmp_class_creation_19__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_19__prepared );
    Py_DECREF( tmp_class_creation_19__prepared );
    tmp_class_creation_19__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_198;
    PyObject *tmp_tuple_element_117;
    PyObject *tmp_mvar_value_69;
    tmp_mvar_value_69 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

    if (unlikely( tmp_mvar_value_69 == NULL ))
    {
        tmp_mvar_value_69 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
    }

    if ( tmp_mvar_value_69 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 396;

        goto try_except_handler_64;
    }

    tmp_tuple_element_117 = tmp_mvar_value_69;
    tmp_assign_source_198 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_117 );
    PyTuple_SET_ITEM( tmp_assign_source_198, 0, tmp_tuple_element_117 );
    assert( tmp_class_creation_20__bases_orig == NULL );
    tmp_class_creation_20__bases_orig = tmp_assign_source_198;

    }
    {
    PyObject *tmp_assign_source_199;
    PyObject *tmp_dircall_arg1_19;
    CHECK_OBJECT( tmp_class_creation_20__bases_orig );
    tmp_dircall_arg1_19 = tmp_class_creation_20__bases_orig;
    Py_INCREF( tmp_dircall_arg1_19 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_19};
        tmp_assign_source_199 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_199 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    assert( tmp_class_creation_20__bases == NULL );
    tmp_class_creation_20__bases = tmp_assign_source_199;

    }
    {
    PyObject *tmp_assign_source_200;
    tmp_assign_source_200 = PyDict_New();
    assert( tmp_class_creation_20__class_decl_dict == NULL );
    tmp_class_creation_20__class_decl_dict = tmp_assign_source_200;

    }
    {
    PyObject *tmp_assign_source_201;
    PyObject *tmp_metaclass_name_20;
    nuitka_bool tmp_condition_result_114;
    PyObject *tmp_key_name_58;
    PyObject *tmp_dict_name_58;
    PyObject *tmp_dict_name_59;
    PyObject *tmp_key_name_59;
    nuitka_bool tmp_condition_result_115;
    int tmp_truth_name_19;
    PyObject *tmp_type_arg_38;
    PyObject *tmp_subscribed_name_19;
    PyObject *tmp_subscript_name_19;
    PyObject *tmp_bases_name_20;
    tmp_key_name_58 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_20__class_decl_dict );
    tmp_dict_name_58 = tmp_class_creation_20__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_58, tmp_key_name_58 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    tmp_condition_result_114 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_114 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_39;
    }
    else
    {
        goto condexpr_false_39;
    }
    condexpr_true_39:;
    CHECK_OBJECT( tmp_class_creation_20__class_decl_dict );
    tmp_dict_name_59 = tmp_class_creation_20__class_decl_dict;
    tmp_key_name_59 = const_str_plain_metaclass;
    tmp_metaclass_name_20 = DICT_GET_ITEM( tmp_dict_name_59, tmp_key_name_59 );
    if ( tmp_metaclass_name_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    goto condexpr_end_39;
    condexpr_false_39:;
    CHECK_OBJECT( tmp_class_creation_20__bases );
    tmp_truth_name_19 = CHECK_IF_TRUE( tmp_class_creation_20__bases );
    if ( tmp_truth_name_19 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    tmp_condition_result_115 = tmp_truth_name_19 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_115 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_40;
    }
    else
    {
        goto condexpr_false_40;
    }
    condexpr_true_40:;
    CHECK_OBJECT( tmp_class_creation_20__bases );
    tmp_subscribed_name_19 = tmp_class_creation_20__bases;
    tmp_subscript_name_19 = const_int_0;
    tmp_type_arg_38 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_19, tmp_subscript_name_19, 0 );
    if ( tmp_type_arg_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    tmp_metaclass_name_20 = BUILTIN_TYPE1( tmp_type_arg_38 );
    Py_DECREF( tmp_type_arg_38 );
    if ( tmp_metaclass_name_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    goto condexpr_end_40;
    condexpr_false_40:;
    tmp_metaclass_name_20 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_20 );
    condexpr_end_40:;
    condexpr_end_39:;
    CHECK_OBJECT( tmp_class_creation_20__bases );
    tmp_bases_name_20 = tmp_class_creation_20__bases;
    tmp_assign_source_201 = SELECT_METACLASS( tmp_metaclass_name_20, tmp_bases_name_20 );
    Py_DECREF( tmp_metaclass_name_20 );
    if ( tmp_assign_source_201 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    assert( tmp_class_creation_20__metaclass == NULL );
    tmp_class_creation_20__metaclass = tmp_assign_source_201;

    }
    {
    nuitka_bool tmp_condition_result_116;
    PyObject *tmp_key_name_60;
    PyObject *tmp_dict_name_60;
    tmp_key_name_60 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_20__class_decl_dict );
    tmp_dict_name_60 = tmp_class_creation_20__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_60, tmp_key_name_60 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    tmp_condition_result_116 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_116 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_76;
    }
    else
    {
        goto branch_no_76;
    }
    branch_yes_76:;
    {
    CHECK_OBJECT( tmp_class_creation_20__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_20__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    }
    branch_no_76:;
    }
    {
    nuitka_bool tmp_condition_result_117;
    PyObject *tmp_source_name_77;
    CHECK_OBJECT( tmp_class_creation_20__metaclass );
    tmp_source_name_77 = tmp_class_creation_20__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_77, const_str_plain___prepare__ );
    tmp_condition_result_117 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_117 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_77;
    }
    else
    {
        goto branch_no_77;
    }
    branch_yes_77:;
    {
    PyObject *tmp_assign_source_202;
    PyObject *tmp_called_name_40;
    PyObject *tmp_source_name_78;
    PyObject *tmp_args_name_39;
    PyObject *tmp_tuple_element_118;
    PyObject *tmp_kw_name_39;
    CHECK_OBJECT( tmp_class_creation_20__metaclass );
    tmp_source_name_78 = tmp_class_creation_20__metaclass;
    tmp_called_name_40 = LOOKUP_ATTRIBUTE( tmp_source_name_78, const_str_plain___prepare__ );
    if ( tmp_called_name_40 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    tmp_tuple_element_118 = const_str_plain_ECPrivateKeyVersion;
    tmp_args_name_39 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_118 );
    PyTuple_SET_ITEM( tmp_args_name_39, 0, tmp_tuple_element_118 );
    CHECK_OBJECT( tmp_class_creation_20__bases );
    tmp_tuple_element_118 = tmp_class_creation_20__bases;
    Py_INCREF( tmp_tuple_element_118 );
    PyTuple_SET_ITEM( tmp_args_name_39, 1, tmp_tuple_element_118 );
    CHECK_OBJECT( tmp_class_creation_20__class_decl_dict );
    tmp_kw_name_39 = tmp_class_creation_20__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 396;
    tmp_assign_source_202 = CALL_FUNCTION( tmp_called_name_40, tmp_args_name_39, tmp_kw_name_39 );
    Py_DECREF( tmp_called_name_40 );
    Py_DECREF( tmp_args_name_39 );
    if ( tmp_assign_source_202 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    assert( tmp_class_creation_20__prepared == NULL );
    tmp_class_creation_20__prepared = tmp_assign_source_202;

    }
    {
    nuitka_bool tmp_condition_result_118;
    PyObject *tmp_operand_name_20;
    PyObject *tmp_source_name_79;
    CHECK_OBJECT( tmp_class_creation_20__prepared );
    tmp_source_name_79 = tmp_class_creation_20__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_79, const_str_plain___getitem__ );
    tmp_operand_name_20 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_20 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    tmp_condition_result_118 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_118 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_78;
    }
    else
    {
        goto branch_no_78;
    }
    branch_yes_78:;
    {
    PyObject *tmp_raise_type_20;
    PyObject *tmp_raise_value_20;
    PyObject *tmp_left_name_20;
    PyObject *tmp_right_name_20;
    PyObject *tmp_tuple_element_119;
    PyObject *tmp_getattr_target_20;
    PyObject *tmp_getattr_attr_20;
    PyObject *tmp_getattr_default_20;
    PyObject *tmp_source_name_80;
    PyObject *tmp_type_arg_39;
    tmp_raise_type_20 = PyExc_TypeError;
    tmp_left_name_20 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_20__metaclass );
    tmp_getattr_target_20 = tmp_class_creation_20__metaclass;
    tmp_getattr_attr_20 = const_str_plain___name__;
    tmp_getattr_default_20 = const_str_angle_metaclass;
    tmp_tuple_element_119 = BUILTIN_GETATTR( tmp_getattr_target_20, tmp_getattr_attr_20, tmp_getattr_default_20 );
    if ( tmp_tuple_element_119 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    tmp_right_name_20 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_20, 0, tmp_tuple_element_119 );
    CHECK_OBJECT( tmp_class_creation_20__prepared );
    tmp_type_arg_39 = tmp_class_creation_20__prepared;
    tmp_source_name_80 = BUILTIN_TYPE1( tmp_type_arg_39 );
    assert( !(tmp_source_name_80 == NULL) );
    tmp_tuple_element_119 = LOOKUP_ATTRIBUTE( tmp_source_name_80, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_80 );
    if ( tmp_tuple_element_119 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_20 );

        exception_lineno = 396;

        goto try_except_handler_64;
    }
    PyTuple_SET_ITEM( tmp_right_name_20, 1, tmp_tuple_element_119 );
    tmp_raise_value_20 = BINARY_OPERATION_REMAINDER( tmp_left_name_20, tmp_right_name_20 );
    Py_DECREF( tmp_right_name_20 );
    if ( tmp_raise_value_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_64;
    }
    exception_type = tmp_raise_type_20;
    Py_INCREF( tmp_raise_type_20 );
    exception_value = tmp_raise_value_20;
    exception_lineno = 396;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_64;
    }
    branch_no_78:;
    }
    goto branch_end_77;
    branch_no_77:;
    {
    PyObject *tmp_assign_source_203;
    tmp_assign_source_203 = PyDict_New();
    assert( tmp_class_creation_20__prepared == NULL );
    tmp_class_creation_20__prepared = tmp_assign_source_203;

    }
    branch_end_77:;
    }
    {
    PyObject *tmp_assign_source_204;
    {
    PyObject *tmp_set_locals_20;
    CHECK_OBJECT( tmp_class_creation_20__prepared );
    tmp_set_locals_20 = tmp_class_creation_20__prepared;
    locals_asn1crypto$keys_396 = tmp_set_locals_20;
    Py_INCREF( tmp_set_locals_20 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_396, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_66;
    }
    }
    {
    tmp_dictset_value = const_str_digest_5d73b58352d38f5fcdce2b4c5e1d9143;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_396, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_66;
    }
    }
    {
    tmp_dictset_value = const_str_plain_ECPrivateKeyVersion;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_396, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_66;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_522ae78f39acaf1efdba4ff31c3f161f_19, codeobj_522ae78f39acaf1efdba4ff31c3f161f, module_asn1crypto$keys, sizeof(void *) );
    frame_522ae78f39acaf1efdba4ff31c3f161f_19 = cache_frame_522ae78f39acaf1efdba4ff31c3f161f_19;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_522ae78f39acaf1efdba4ff31c3f161f_19 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_522ae78f39acaf1efdba4ff31c3f161f_19 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = PyDict_Copy( const_dict_8ba9d7dbbf4b27829937f8dce51e0f69 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_396, const_str_plain__map, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 402;
        type_description_2 = "o";
        goto frame_exception_exit_19;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_522ae78f39acaf1efdba4ff31c3f161f_19 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_18;

    frame_exception_exit_19:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_522ae78f39acaf1efdba4ff31c3f161f_19 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_522ae78f39acaf1efdba4ff31c3f161f_19, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_522ae78f39acaf1efdba4ff31c3f161f_19->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_522ae78f39acaf1efdba4ff31c3f161f_19, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_522ae78f39acaf1efdba4ff31c3f161f_19,
        type_description_2,
        outline_19_var___class__
    );


    // Release cached frame.
    if ( frame_522ae78f39acaf1efdba4ff31c3f161f_19 == cache_frame_522ae78f39acaf1efdba4ff31c3f161f_19 )
    {
        Py_DECREF( frame_522ae78f39acaf1efdba4ff31c3f161f_19 );
    }
    cache_frame_522ae78f39acaf1efdba4ff31c3f161f_19 = NULL;

    assertFrameObject( frame_522ae78f39acaf1efdba4ff31c3f161f_19 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_18;

    frame_no_exception_18:;
    goto skip_nested_handling_18;
    nested_frame_exit_18:;

    goto try_except_handler_66;
    skip_nested_handling_18:;
    {
    nuitka_bool tmp_condition_result_119;
    PyObject *tmp_compexpr_left_19;
    PyObject *tmp_compexpr_right_19;
    CHECK_OBJECT( tmp_class_creation_20__bases );
    tmp_compexpr_left_19 = tmp_class_creation_20__bases;
    CHECK_OBJECT( tmp_class_creation_20__bases_orig );
    tmp_compexpr_right_19 = tmp_class_creation_20__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_19, tmp_compexpr_right_19 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_66;
    }
    tmp_condition_result_119 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_119 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_79;
    }
    else
    {
        goto branch_no_79;
    }
    branch_yes_79:;
    {
    CHECK_OBJECT( tmp_class_creation_20__bases_orig );
    tmp_dictset_value = tmp_class_creation_20__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_396, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_66;
    }
    }
    branch_no_79:;
    }
    {
    PyObject *tmp_assign_source_205;
    PyObject *tmp_called_name_41;
    PyObject *tmp_args_name_40;
    PyObject *tmp_tuple_element_120;
    PyObject *tmp_kw_name_40;
    CHECK_OBJECT( tmp_class_creation_20__metaclass );
    tmp_called_name_41 = tmp_class_creation_20__metaclass;
    tmp_tuple_element_120 = const_str_plain_ECPrivateKeyVersion;
    tmp_args_name_40 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_120 );
    PyTuple_SET_ITEM( tmp_args_name_40, 0, tmp_tuple_element_120 );
    CHECK_OBJECT( tmp_class_creation_20__bases );
    tmp_tuple_element_120 = tmp_class_creation_20__bases;
    Py_INCREF( tmp_tuple_element_120 );
    PyTuple_SET_ITEM( tmp_args_name_40, 1, tmp_tuple_element_120 );
    tmp_tuple_element_120 = locals_asn1crypto$keys_396;
    Py_INCREF( tmp_tuple_element_120 );
    PyTuple_SET_ITEM( tmp_args_name_40, 2, tmp_tuple_element_120 );
    CHECK_OBJECT( tmp_class_creation_20__class_decl_dict );
    tmp_kw_name_40 = tmp_class_creation_20__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 396;
    tmp_assign_source_205 = CALL_FUNCTION( tmp_called_name_41, tmp_args_name_40, tmp_kw_name_40 );
    Py_DECREF( tmp_args_name_40 );
    if ( tmp_assign_source_205 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 396;

        goto try_except_handler_66;
    }
    assert( outline_19_var___class__ == NULL );
    outline_19_var___class__ = tmp_assign_source_205;

    }
    {
    CHECK_OBJECT( outline_19_var___class__ );
    tmp_assign_source_204 = outline_19_var___class__;
    Py_INCREF( tmp_assign_source_204 );
    goto try_return_handler_66;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_66:;
    {
    Py_DECREF( locals_asn1crypto$keys_396 );
    locals_asn1crypto$keys_396 = NULL;
    }
    {
    goto try_return_handler_65;
    }
    // Exception handler code:
    try_except_handler_66:;
    exception_keeper_type_64 = exception_type;
    exception_keeper_value_64 = exception_value;
    exception_keeper_tb_64 = exception_tb;
    exception_keeper_lineno_64 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_396 );
    locals_asn1crypto$keys_396 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_64;
    exception_value = exception_keeper_value_64;
    exception_tb = exception_keeper_tb_64;
    exception_lineno = exception_keeper_lineno_64;

    goto try_except_handler_65;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_65:;
    {
    CHECK_OBJECT( (PyObject *)outline_19_var___class__ );
    Py_DECREF( outline_19_var___class__ );
    outline_19_var___class__ = NULL;

    }
    {
    goto outline_result_20;
    }
    // Exception handler code:
    try_except_handler_65:;
    exception_keeper_type_65 = exception_type;
    exception_keeper_value_65 = exception_value;
    exception_keeper_tb_65 = exception_tb;
    exception_keeper_lineno_65 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_65;
    exception_value = exception_keeper_value_65;
    exception_tb = exception_keeper_tb_65;
    exception_lineno = exception_keeper_lineno_65;

    goto outline_exception_20;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_20:;
    exception_lineno = 396;
    goto try_except_handler_64;
    outline_result_20:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPrivateKeyVersion, tmp_assign_source_204 );
    }
    goto try_end_26;
    // Exception handler code:
    try_except_handler_64:;
    exception_keeper_type_66 = exception_type;
    exception_keeper_value_66 = exception_value;
    exception_keeper_tb_66 = exception_tb;
    exception_keeper_lineno_66 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_20__bases );
    tmp_class_creation_20__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_20__class_decl_dict );
    tmp_class_creation_20__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_20__metaclass );
    tmp_class_creation_20__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_20__prepared );
    tmp_class_creation_20__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_66;
    exception_value = exception_keeper_value_66;
    exception_tb = exception_keeper_tb_66;
    exception_lineno = exception_keeper_lineno_66;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_26:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_20__bases );
    Py_DECREF( tmp_class_creation_20__bases );
    tmp_class_creation_20__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_20__class_decl_dict );
    Py_DECREF( tmp_class_creation_20__class_decl_dict );
    tmp_class_creation_20__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_20__metaclass );
    Py_DECREF( tmp_class_creation_20__metaclass );
    tmp_class_creation_20__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_20__prepared );
    Py_DECREF( tmp_class_creation_20__prepared );
    tmp_class_creation_20__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_206;
    PyObject *tmp_tuple_element_121;
    PyObject *tmp_mvar_value_70;
    tmp_mvar_value_70 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_70 == NULL ))
    {
        tmp_mvar_value_70 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_70 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 407;

        goto try_except_handler_67;
    }

    tmp_tuple_element_121 = tmp_mvar_value_70;
    tmp_assign_source_206 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_121 );
    PyTuple_SET_ITEM( tmp_assign_source_206, 0, tmp_tuple_element_121 );
    assert( tmp_class_creation_21__bases_orig == NULL );
    tmp_class_creation_21__bases_orig = tmp_assign_source_206;

    }
    {
    PyObject *tmp_assign_source_207;
    PyObject *tmp_dircall_arg1_20;
    CHECK_OBJECT( tmp_class_creation_21__bases_orig );
    tmp_dircall_arg1_20 = tmp_class_creation_21__bases_orig;
    Py_INCREF( tmp_dircall_arg1_20 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_20};
        tmp_assign_source_207 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_207 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    assert( tmp_class_creation_21__bases == NULL );
    tmp_class_creation_21__bases = tmp_assign_source_207;

    }
    {
    PyObject *tmp_assign_source_208;
    tmp_assign_source_208 = PyDict_New();
    assert( tmp_class_creation_21__class_decl_dict == NULL );
    tmp_class_creation_21__class_decl_dict = tmp_assign_source_208;

    }
    {
    PyObject *tmp_assign_source_209;
    PyObject *tmp_metaclass_name_21;
    nuitka_bool tmp_condition_result_120;
    PyObject *tmp_key_name_61;
    PyObject *tmp_dict_name_61;
    PyObject *tmp_dict_name_62;
    PyObject *tmp_key_name_62;
    nuitka_bool tmp_condition_result_121;
    int tmp_truth_name_20;
    PyObject *tmp_type_arg_40;
    PyObject *tmp_subscribed_name_20;
    PyObject *tmp_subscript_name_20;
    PyObject *tmp_bases_name_21;
    tmp_key_name_61 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_21__class_decl_dict );
    tmp_dict_name_61 = tmp_class_creation_21__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_61, tmp_key_name_61 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    tmp_condition_result_120 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_120 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_41;
    }
    else
    {
        goto condexpr_false_41;
    }
    condexpr_true_41:;
    CHECK_OBJECT( tmp_class_creation_21__class_decl_dict );
    tmp_dict_name_62 = tmp_class_creation_21__class_decl_dict;
    tmp_key_name_62 = const_str_plain_metaclass;
    tmp_metaclass_name_21 = DICT_GET_ITEM( tmp_dict_name_62, tmp_key_name_62 );
    if ( tmp_metaclass_name_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    goto condexpr_end_41;
    condexpr_false_41:;
    CHECK_OBJECT( tmp_class_creation_21__bases );
    tmp_truth_name_20 = CHECK_IF_TRUE( tmp_class_creation_21__bases );
    if ( tmp_truth_name_20 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    tmp_condition_result_121 = tmp_truth_name_20 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_121 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_42;
    }
    else
    {
        goto condexpr_false_42;
    }
    condexpr_true_42:;
    CHECK_OBJECT( tmp_class_creation_21__bases );
    tmp_subscribed_name_20 = tmp_class_creation_21__bases;
    tmp_subscript_name_20 = const_int_0;
    tmp_type_arg_40 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_20, tmp_subscript_name_20, 0 );
    if ( tmp_type_arg_40 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    tmp_metaclass_name_21 = BUILTIN_TYPE1( tmp_type_arg_40 );
    Py_DECREF( tmp_type_arg_40 );
    if ( tmp_metaclass_name_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    goto condexpr_end_42;
    condexpr_false_42:;
    tmp_metaclass_name_21 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_21 );
    condexpr_end_42:;
    condexpr_end_41:;
    CHECK_OBJECT( tmp_class_creation_21__bases );
    tmp_bases_name_21 = tmp_class_creation_21__bases;
    tmp_assign_source_209 = SELECT_METACLASS( tmp_metaclass_name_21, tmp_bases_name_21 );
    Py_DECREF( tmp_metaclass_name_21 );
    if ( tmp_assign_source_209 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    assert( tmp_class_creation_21__metaclass == NULL );
    tmp_class_creation_21__metaclass = tmp_assign_source_209;

    }
    {
    nuitka_bool tmp_condition_result_122;
    PyObject *tmp_key_name_63;
    PyObject *tmp_dict_name_63;
    tmp_key_name_63 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_21__class_decl_dict );
    tmp_dict_name_63 = tmp_class_creation_21__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_63, tmp_key_name_63 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    tmp_condition_result_122 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_122 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_80;
    }
    else
    {
        goto branch_no_80;
    }
    branch_yes_80:;
    {
    CHECK_OBJECT( tmp_class_creation_21__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_21__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    }
    branch_no_80:;
    }
    {
    nuitka_bool tmp_condition_result_123;
    PyObject *tmp_source_name_81;
    CHECK_OBJECT( tmp_class_creation_21__metaclass );
    tmp_source_name_81 = tmp_class_creation_21__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_81, const_str_plain___prepare__ );
    tmp_condition_result_123 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_123 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_81;
    }
    else
    {
        goto branch_no_81;
    }
    branch_yes_81:;
    {
    PyObject *tmp_assign_source_210;
    PyObject *tmp_called_name_42;
    PyObject *tmp_source_name_82;
    PyObject *tmp_args_name_41;
    PyObject *tmp_tuple_element_122;
    PyObject *tmp_kw_name_41;
    CHECK_OBJECT( tmp_class_creation_21__metaclass );
    tmp_source_name_82 = tmp_class_creation_21__metaclass;
    tmp_called_name_42 = LOOKUP_ATTRIBUTE( tmp_source_name_82, const_str_plain___prepare__ );
    if ( tmp_called_name_42 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    tmp_tuple_element_122 = const_str_plain_ECPrivateKey;
    tmp_args_name_41 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_122 );
    PyTuple_SET_ITEM( tmp_args_name_41, 0, tmp_tuple_element_122 );
    CHECK_OBJECT( tmp_class_creation_21__bases );
    tmp_tuple_element_122 = tmp_class_creation_21__bases;
    Py_INCREF( tmp_tuple_element_122 );
    PyTuple_SET_ITEM( tmp_args_name_41, 1, tmp_tuple_element_122 );
    CHECK_OBJECT( tmp_class_creation_21__class_decl_dict );
    tmp_kw_name_41 = tmp_class_creation_21__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 407;
    tmp_assign_source_210 = CALL_FUNCTION( tmp_called_name_42, tmp_args_name_41, tmp_kw_name_41 );
    Py_DECREF( tmp_called_name_42 );
    Py_DECREF( tmp_args_name_41 );
    if ( tmp_assign_source_210 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    assert( tmp_class_creation_21__prepared == NULL );
    tmp_class_creation_21__prepared = tmp_assign_source_210;

    }
    {
    nuitka_bool tmp_condition_result_124;
    PyObject *tmp_operand_name_21;
    PyObject *tmp_source_name_83;
    CHECK_OBJECT( tmp_class_creation_21__prepared );
    tmp_source_name_83 = tmp_class_creation_21__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_83, const_str_plain___getitem__ );
    tmp_operand_name_21 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_21 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    tmp_condition_result_124 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_124 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_82;
    }
    else
    {
        goto branch_no_82;
    }
    branch_yes_82:;
    {
    PyObject *tmp_raise_type_21;
    PyObject *tmp_raise_value_21;
    PyObject *tmp_left_name_21;
    PyObject *tmp_right_name_21;
    PyObject *tmp_tuple_element_123;
    PyObject *tmp_getattr_target_21;
    PyObject *tmp_getattr_attr_21;
    PyObject *tmp_getattr_default_21;
    PyObject *tmp_source_name_84;
    PyObject *tmp_type_arg_41;
    tmp_raise_type_21 = PyExc_TypeError;
    tmp_left_name_21 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_21__metaclass );
    tmp_getattr_target_21 = tmp_class_creation_21__metaclass;
    tmp_getattr_attr_21 = const_str_plain___name__;
    tmp_getattr_default_21 = const_str_angle_metaclass;
    tmp_tuple_element_123 = BUILTIN_GETATTR( tmp_getattr_target_21, tmp_getattr_attr_21, tmp_getattr_default_21 );
    if ( tmp_tuple_element_123 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    tmp_right_name_21 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_21, 0, tmp_tuple_element_123 );
    CHECK_OBJECT( tmp_class_creation_21__prepared );
    tmp_type_arg_41 = tmp_class_creation_21__prepared;
    tmp_source_name_84 = BUILTIN_TYPE1( tmp_type_arg_41 );
    assert( !(tmp_source_name_84 == NULL) );
    tmp_tuple_element_123 = LOOKUP_ATTRIBUTE( tmp_source_name_84, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_84 );
    if ( tmp_tuple_element_123 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_21 );

        exception_lineno = 407;

        goto try_except_handler_67;
    }
    PyTuple_SET_ITEM( tmp_right_name_21, 1, tmp_tuple_element_123 );
    tmp_raise_value_21 = BINARY_OPERATION_REMAINDER( tmp_left_name_21, tmp_right_name_21 );
    Py_DECREF( tmp_right_name_21 );
    if ( tmp_raise_value_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_67;
    }
    exception_type = tmp_raise_type_21;
    Py_INCREF( tmp_raise_type_21 );
    exception_value = tmp_raise_value_21;
    exception_lineno = 407;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_67;
    }
    branch_no_82:;
    }
    goto branch_end_81;
    branch_no_81:;
    {
    PyObject *tmp_assign_source_211;
    tmp_assign_source_211 = PyDict_New();
    assert( tmp_class_creation_21__prepared == NULL );
    tmp_class_creation_21__prepared = tmp_assign_source_211;

    }
    branch_end_81:;
    }
    {
    PyObject *tmp_assign_source_212;
    {
    PyObject *tmp_set_locals_21;
    CHECK_OBJECT( tmp_class_creation_21__prepared );
    tmp_set_locals_21 = tmp_class_creation_21__prepared;
    locals_asn1crypto$keys_407 = tmp_set_locals_21;
    Py_INCREF( tmp_set_locals_21 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_407, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_69;
    }
    }
    {
    tmp_dictset_value = const_str_digest_78dfca51b91d1e7de47d0af4024efb6e;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_407, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_69;
    }
    }
    {
    tmp_dictset_value = const_str_plain_ECPrivateKey;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_407, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_69;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_19de530795d0c7cdddac2a941436faa3_20, codeobj_19de530795d0c7cdddac2a941436faa3, module_asn1crypto$keys, sizeof(void *) );
    frame_19de530795d0c7cdddac2a941436faa3_20 = cache_frame_19de530795d0c7cdddac2a941436faa3_20;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_19de530795d0c7cdddac2a941436faa3_20 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_19de530795d0c7cdddac2a941436faa3_20 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_11;
    PyObject *tmp_tuple_element_124;
    PyObject *tmp_mvar_value_71;
    PyObject *tmp_tuple_element_125;
    PyObject *tmp_mvar_value_72;
    PyObject *tmp_tuple_element_126;
    PyObject *tmp_mvar_value_73;
    PyObject *tmp_tuple_element_127;
    PyObject *tmp_mvar_value_74;
    tmp_tuple_element_124 = const_str_plain_version;
    tmp_list_element_11 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_124 );
    PyTuple_SET_ITEM( tmp_list_element_11, 0, tmp_tuple_element_124 );
    tmp_tuple_element_124 = PyObject_GetItem( locals_asn1crypto$keys_407, const_str_plain_ECPrivateKeyVersion );

    if ( tmp_tuple_element_124 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_71 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPrivateKeyVersion );

        if (unlikely( tmp_mvar_value_71 == NULL ))
        {
            tmp_mvar_value_71 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECPrivateKeyVersion );
        }

        if ( tmp_mvar_value_71 == NULL )
        {
            Py_DECREF( tmp_list_element_11 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECPrivateKeyVersion" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 413;
            type_description_2 = "o";
            goto frame_exception_exit_20;
        }

        tmp_tuple_element_124 = tmp_mvar_value_71;
        Py_INCREF( tmp_tuple_element_124 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_11, 1, tmp_tuple_element_124 );
    tmp_dictset_value = PyList_New( 4 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_11 );
    tmp_tuple_element_125 = const_str_plain_private_key;
    tmp_list_element_11 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_125 );
    PyTuple_SET_ITEM( tmp_list_element_11, 0, tmp_tuple_element_125 );
    tmp_tuple_element_125 = PyObject_GetItem( locals_asn1crypto$keys_407, const_str_plain_IntegerOctetString );

    if ( tmp_tuple_element_125 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_72 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_IntegerOctetString );

        if (unlikely( tmp_mvar_value_72 == NULL ))
        {
            tmp_mvar_value_72 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_IntegerOctetString );
        }

        if ( tmp_mvar_value_72 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_11 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "IntegerOctetString" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 414;
            type_description_2 = "o";
            goto frame_exception_exit_20;
        }

        tmp_tuple_element_125 = tmp_mvar_value_72;
        Py_INCREF( tmp_tuple_element_125 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_11, 1, tmp_tuple_element_125 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_11 );
    tmp_tuple_element_126 = const_str_plain_parameters;
    tmp_list_element_11 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_126 );
    PyTuple_SET_ITEM( tmp_list_element_11, 0, tmp_tuple_element_126 );
    tmp_tuple_element_126 = PyObject_GetItem( locals_asn1crypto$keys_407, const_str_plain_ECDomainParameters );

    if ( tmp_tuple_element_126 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_73 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECDomainParameters );

        if (unlikely( tmp_mvar_value_73 == NULL ))
        {
            tmp_mvar_value_73 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECDomainParameters );
        }

        if ( tmp_mvar_value_73 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_11 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECDomainParameters" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 415;
            type_description_2 = "o";
            goto frame_exception_exit_20;
        }

        tmp_tuple_element_126 = tmp_mvar_value_73;
        Py_INCREF( tmp_tuple_element_126 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_11, 1, tmp_tuple_element_126 );
    tmp_tuple_element_126 = PyDict_Copy( const_dict_fad4426b5586583c2ba74a27437130be );
    PyTuple_SET_ITEM( tmp_list_element_11, 2, tmp_tuple_element_126 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_11 );
    tmp_tuple_element_127 = const_str_plain_public_key;
    tmp_list_element_11 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_127 );
    PyTuple_SET_ITEM( tmp_list_element_11, 0, tmp_tuple_element_127 );
    tmp_tuple_element_127 = PyObject_GetItem( locals_asn1crypto$keys_407, const_str_plain_ECPointBitString );

    if ( tmp_tuple_element_127 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_74 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPointBitString );

        if (unlikely( tmp_mvar_value_74 == NULL ))
        {
            tmp_mvar_value_74 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECPointBitString );
        }

        if ( tmp_mvar_value_74 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_11 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECPointBitString" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 416;
            type_description_2 = "o";
            goto frame_exception_exit_20;
        }

        tmp_tuple_element_127 = tmp_mvar_value_74;
        Py_INCREF( tmp_tuple_element_127 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_11, 1, tmp_tuple_element_127 );
    tmp_tuple_element_127 = PyDict_Copy( const_dict_2272cb154e0e0aad99bdcc5fdf1b540a );
    PyTuple_SET_ITEM( tmp_list_element_11, 2, tmp_tuple_element_127 );
    PyList_SET_ITEM( tmp_dictset_value, 3, tmp_list_element_11 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_407, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 412;
        type_description_2 = "o";
        goto frame_exception_exit_20;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_19de530795d0c7cdddac2a941436faa3_20 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_19;

    frame_exception_exit_20:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_19de530795d0c7cdddac2a941436faa3_20 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_19de530795d0c7cdddac2a941436faa3_20, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_19de530795d0c7cdddac2a941436faa3_20->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_19de530795d0c7cdddac2a941436faa3_20, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_19de530795d0c7cdddac2a941436faa3_20,
        type_description_2,
        outline_20_var___class__
    );


    // Release cached frame.
    if ( frame_19de530795d0c7cdddac2a941436faa3_20 == cache_frame_19de530795d0c7cdddac2a941436faa3_20 )
    {
        Py_DECREF( frame_19de530795d0c7cdddac2a941436faa3_20 );
    }
    cache_frame_19de530795d0c7cdddac2a941436faa3_20 = NULL;

    assertFrameObject( frame_19de530795d0c7cdddac2a941436faa3_20 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_19;

    frame_no_exception_19:;
    goto skip_nested_handling_19;
    nested_frame_exit_19:;

    goto try_except_handler_69;
    skip_nested_handling_19:;
    {
    nuitka_bool tmp_condition_result_125;
    PyObject *tmp_compexpr_left_20;
    PyObject *tmp_compexpr_right_20;
    CHECK_OBJECT( tmp_class_creation_21__bases );
    tmp_compexpr_left_20 = tmp_class_creation_21__bases;
    CHECK_OBJECT( tmp_class_creation_21__bases_orig );
    tmp_compexpr_right_20 = tmp_class_creation_21__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_20, tmp_compexpr_right_20 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_69;
    }
    tmp_condition_result_125 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_125 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_83;
    }
    else
    {
        goto branch_no_83;
    }
    branch_yes_83:;
    {
    CHECK_OBJECT( tmp_class_creation_21__bases_orig );
    tmp_dictset_value = tmp_class_creation_21__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_407, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_69;
    }
    }
    branch_no_83:;
    }
    {
    PyObject *tmp_assign_source_213;
    PyObject *tmp_called_name_43;
    PyObject *tmp_args_name_42;
    PyObject *tmp_tuple_element_128;
    PyObject *tmp_kw_name_42;
    CHECK_OBJECT( tmp_class_creation_21__metaclass );
    tmp_called_name_43 = tmp_class_creation_21__metaclass;
    tmp_tuple_element_128 = const_str_plain_ECPrivateKey;
    tmp_args_name_42 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_128 );
    PyTuple_SET_ITEM( tmp_args_name_42, 0, tmp_tuple_element_128 );
    CHECK_OBJECT( tmp_class_creation_21__bases );
    tmp_tuple_element_128 = tmp_class_creation_21__bases;
    Py_INCREF( tmp_tuple_element_128 );
    PyTuple_SET_ITEM( tmp_args_name_42, 1, tmp_tuple_element_128 );
    tmp_tuple_element_128 = locals_asn1crypto$keys_407;
    Py_INCREF( tmp_tuple_element_128 );
    PyTuple_SET_ITEM( tmp_args_name_42, 2, tmp_tuple_element_128 );
    CHECK_OBJECT( tmp_class_creation_21__class_decl_dict );
    tmp_kw_name_42 = tmp_class_creation_21__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 407;
    tmp_assign_source_213 = CALL_FUNCTION( tmp_called_name_43, tmp_args_name_42, tmp_kw_name_42 );
    Py_DECREF( tmp_args_name_42 );
    if ( tmp_assign_source_213 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 407;

        goto try_except_handler_69;
    }
    assert( outline_20_var___class__ == NULL );
    outline_20_var___class__ = tmp_assign_source_213;

    }
    {
    CHECK_OBJECT( outline_20_var___class__ );
    tmp_assign_source_212 = outline_20_var___class__;
    Py_INCREF( tmp_assign_source_212 );
    goto try_return_handler_69;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_69:;
    {
    Py_DECREF( locals_asn1crypto$keys_407 );
    locals_asn1crypto$keys_407 = NULL;
    }
    {
    goto try_return_handler_68;
    }
    // Exception handler code:
    try_except_handler_69:;
    exception_keeper_type_67 = exception_type;
    exception_keeper_value_67 = exception_value;
    exception_keeper_tb_67 = exception_tb;
    exception_keeper_lineno_67 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_407 );
    locals_asn1crypto$keys_407 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_67;
    exception_value = exception_keeper_value_67;
    exception_tb = exception_keeper_tb_67;
    exception_lineno = exception_keeper_lineno_67;

    goto try_except_handler_68;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_68:;
    {
    CHECK_OBJECT( (PyObject *)outline_20_var___class__ );
    Py_DECREF( outline_20_var___class__ );
    outline_20_var___class__ = NULL;

    }
    {
    goto outline_result_21;
    }
    // Exception handler code:
    try_except_handler_68:;
    exception_keeper_type_68 = exception_type;
    exception_keeper_value_68 = exception_value;
    exception_keeper_tb_68 = exception_tb;
    exception_keeper_lineno_68 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_68;
    exception_value = exception_keeper_value_68;
    exception_tb = exception_keeper_tb_68;
    exception_lineno = exception_keeper_lineno_68;

    goto outline_exception_21;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_21:;
    exception_lineno = 407;
    goto try_except_handler_67;
    outline_result_21:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECPrivateKey, tmp_assign_source_212 );
    }
    goto try_end_27;
    // Exception handler code:
    try_except_handler_67:;
    exception_keeper_type_69 = exception_type;
    exception_keeper_value_69 = exception_value;
    exception_keeper_tb_69 = exception_tb;
    exception_keeper_lineno_69 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_21__bases );
    tmp_class_creation_21__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_21__class_decl_dict );
    tmp_class_creation_21__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_21__metaclass );
    tmp_class_creation_21__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_21__prepared );
    tmp_class_creation_21__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_69;
    exception_value = exception_keeper_value_69;
    exception_tb = exception_keeper_tb_69;
    exception_lineno = exception_keeper_lineno_69;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_27:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_21__bases );
    Py_DECREF( tmp_class_creation_21__bases );
    tmp_class_creation_21__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_21__class_decl_dict );
    Py_DECREF( tmp_class_creation_21__class_decl_dict );
    tmp_class_creation_21__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_21__metaclass );
    Py_DECREF( tmp_class_creation_21__metaclass );
    tmp_class_creation_21__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_21__prepared );
    Py_DECREF( tmp_class_creation_21__prepared );
    tmp_class_creation_21__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_214;
    PyObject *tmp_tuple_element_129;
    PyObject *tmp_mvar_value_75;
    tmp_mvar_value_75 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_75 == NULL ))
    {
        tmp_mvar_value_75 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_75 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 420;

        goto try_except_handler_70;
    }

    tmp_tuple_element_129 = tmp_mvar_value_75;
    tmp_assign_source_214 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_129 );
    PyTuple_SET_ITEM( tmp_assign_source_214, 0, tmp_tuple_element_129 );
    assert( tmp_class_creation_22__bases_orig == NULL );
    tmp_class_creation_22__bases_orig = tmp_assign_source_214;

    }
    {
    PyObject *tmp_assign_source_215;
    PyObject *tmp_dircall_arg1_21;
    CHECK_OBJECT( tmp_class_creation_22__bases_orig );
    tmp_dircall_arg1_21 = tmp_class_creation_22__bases_orig;
    Py_INCREF( tmp_dircall_arg1_21 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_21};
        tmp_assign_source_215 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_215 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    assert( tmp_class_creation_22__bases == NULL );
    tmp_class_creation_22__bases = tmp_assign_source_215;

    }
    {
    PyObject *tmp_assign_source_216;
    tmp_assign_source_216 = PyDict_New();
    assert( tmp_class_creation_22__class_decl_dict == NULL );
    tmp_class_creation_22__class_decl_dict = tmp_assign_source_216;

    }
    {
    PyObject *tmp_assign_source_217;
    PyObject *tmp_metaclass_name_22;
    nuitka_bool tmp_condition_result_126;
    PyObject *tmp_key_name_64;
    PyObject *tmp_dict_name_64;
    PyObject *tmp_dict_name_65;
    PyObject *tmp_key_name_65;
    nuitka_bool tmp_condition_result_127;
    int tmp_truth_name_21;
    PyObject *tmp_type_arg_42;
    PyObject *tmp_subscribed_name_21;
    PyObject *tmp_subscript_name_21;
    PyObject *tmp_bases_name_22;
    tmp_key_name_64 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_22__class_decl_dict );
    tmp_dict_name_64 = tmp_class_creation_22__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_64, tmp_key_name_64 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    tmp_condition_result_126 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_126 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_43;
    }
    else
    {
        goto condexpr_false_43;
    }
    condexpr_true_43:;
    CHECK_OBJECT( tmp_class_creation_22__class_decl_dict );
    tmp_dict_name_65 = tmp_class_creation_22__class_decl_dict;
    tmp_key_name_65 = const_str_plain_metaclass;
    tmp_metaclass_name_22 = DICT_GET_ITEM( tmp_dict_name_65, tmp_key_name_65 );
    if ( tmp_metaclass_name_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    goto condexpr_end_43;
    condexpr_false_43:;
    CHECK_OBJECT( tmp_class_creation_22__bases );
    tmp_truth_name_21 = CHECK_IF_TRUE( tmp_class_creation_22__bases );
    if ( tmp_truth_name_21 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    tmp_condition_result_127 = tmp_truth_name_21 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_127 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_44;
    }
    else
    {
        goto condexpr_false_44;
    }
    condexpr_true_44:;
    CHECK_OBJECT( tmp_class_creation_22__bases );
    tmp_subscribed_name_21 = tmp_class_creation_22__bases;
    tmp_subscript_name_21 = const_int_0;
    tmp_type_arg_42 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_21, tmp_subscript_name_21, 0 );
    if ( tmp_type_arg_42 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    tmp_metaclass_name_22 = BUILTIN_TYPE1( tmp_type_arg_42 );
    Py_DECREF( tmp_type_arg_42 );
    if ( tmp_metaclass_name_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    goto condexpr_end_44;
    condexpr_false_44:;
    tmp_metaclass_name_22 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_22 );
    condexpr_end_44:;
    condexpr_end_43:;
    CHECK_OBJECT( tmp_class_creation_22__bases );
    tmp_bases_name_22 = tmp_class_creation_22__bases;
    tmp_assign_source_217 = SELECT_METACLASS( tmp_metaclass_name_22, tmp_bases_name_22 );
    Py_DECREF( tmp_metaclass_name_22 );
    if ( tmp_assign_source_217 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    assert( tmp_class_creation_22__metaclass == NULL );
    tmp_class_creation_22__metaclass = tmp_assign_source_217;

    }
    {
    nuitka_bool tmp_condition_result_128;
    PyObject *tmp_key_name_66;
    PyObject *tmp_dict_name_66;
    tmp_key_name_66 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_22__class_decl_dict );
    tmp_dict_name_66 = tmp_class_creation_22__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_66, tmp_key_name_66 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    tmp_condition_result_128 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_128 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_84;
    }
    else
    {
        goto branch_no_84;
    }
    branch_yes_84:;
    {
    CHECK_OBJECT( tmp_class_creation_22__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_22__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    }
    branch_no_84:;
    }
    {
    nuitka_bool tmp_condition_result_129;
    PyObject *tmp_source_name_85;
    CHECK_OBJECT( tmp_class_creation_22__metaclass );
    tmp_source_name_85 = tmp_class_creation_22__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_85, const_str_plain___prepare__ );
    tmp_condition_result_129 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_129 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_85;
    }
    else
    {
        goto branch_no_85;
    }
    branch_yes_85:;
    {
    PyObject *tmp_assign_source_218;
    PyObject *tmp_called_name_44;
    PyObject *tmp_source_name_86;
    PyObject *tmp_args_name_43;
    PyObject *tmp_tuple_element_130;
    PyObject *tmp_kw_name_43;
    CHECK_OBJECT( tmp_class_creation_22__metaclass );
    tmp_source_name_86 = tmp_class_creation_22__metaclass;
    tmp_called_name_44 = LOOKUP_ATTRIBUTE( tmp_source_name_86, const_str_plain___prepare__ );
    if ( tmp_called_name_44 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    tmp_tuple_element_130 = const_str_plain_DSAParams;
    tmp_args_name_43 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_130 );
    PyTuple_SET_ITEM( tmp_args_name_43, 0, tmp_tuple_element_130 );
    CHECK_OBJECT( tmp_class_creation_22__bases );
    tmp_tuple_element_130 = tmp_class_creation_22__bases;
    Py_INCREF( tmp_tuple_element_130 );
    PyTuple_SET_ITEM( tmp_args_name_43, 1, tmp_tuple_element_130 );
    CHECK_OBJECT( tmp_class_creation_22__class_decl_dict );
    tmp_kw_name_43 = tmp_class_creation_22__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 420;
    tmp_assign_source_218 = CALL_FUNCTION( tmp_called_name_44, tmp_args_name_43, tmp_kw_name_43 );
    Py_DECREF( tmp_called_name_44 );
    Py_DECREF( tmp_args_name_43 );
    if ( tmp_assign_source_218 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    assert( tmp_class_creation_22__prepared == NULL );
    tmp_class_creation_22__prepared = tmp_assign_source_218;

    }
    {
    nuitka_bool tmp_condition_result_130;
    PyObject *tmp_operand_name_22;
    PyObject *tmp_source_name_87;
    CHECK_OBJECT( tmp_class_creation_22__prepared );
    tmp_source_name_87 = tmp_class_creation_22__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_87, const_str_plain___getitem__ );
    tmp_operand_name_22 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_22 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    tmp_condition_result_130 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_130 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_86;
    }
    else
    {
        goto branch_no_86;
    }
    branch_yes_86:;
    {
    PyObject *tmp_raise_type_22;
    PyObject *tmp_raise_value_22;
    PyObject *tmp_left_name_22;
    PyObject *tmp_right_name_22;
    PyObject *tmp_tuple_element_131;
    PyObject *tmp_getattr_target_22;
    PyObject *tmp_getattr_attr_22;
    PyObject *tmp_getattr_default_22;
    PyObject *tmp_source_name_88;
    PyObject *tmp_type_arg_43;
    tmp_raise_type_22 = PyExc_TypeError;
    tmp_left_name_22 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_22__metaclass );
    tmp_getattr_target_22 = tmp_class_creation_22__metaclass;
    tmp_getattr_attr_22 = const_str_plain___name__;
    tmp_getattr_default_22 = const_str_angle_metaclass;
    tmp_tuple_element_131 = BUILTIN_GETATTR( tmp_getattr_target_22, tmp_getattr_attr_22, tmp_getattr_default_22 );
    if ( tmp_tuple_element_131 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    tmp_right_name_22 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_22, 0, tmp_tuple_element_131 );
    CHECK_OBJECT( tmp_class_creation_22__prepared );
    tmp_type_arg_43 = tmp_class_creation_22__prepared;
    tmp_source_name_88 = BUILTIN_TYPE1( tmp_type_arg_43 );
    assert( !(tmp_source_name_88 == NULL) );
    tmp_tuple_element_131 = LOOKUP_ATTRIBUTE( tmp_source_name_88, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_88 );
    if ( tmp_tuple_element_131 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_22 );

        exception_lineno = 420;

        goto try_except_handler_70;
    }
    PyTuple_SET_ITEM( tmp_right_name_22, 1, tmp_tuple_element_131 );
    tmp_raise_value_22 = BINARY_OPERATION_REMAINDER( tmp_left_name_22, tmp_right_name_22 );
    Py_DECREF( tmp_right_name_22 );
    if ( tmp_raise_value_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_70;
    }
    exception_type = tmp_raise_type_22;
    Py_INCREF( tmp_raise_type_22 );
    exception_value = tmp_raise_value_22;
    exception_lineno = 420;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_70;
    }
    branch_no_86:;
    }
    goto branch_end_85;
    branch_no_85:;
    {
    PyObject *tmp_assign_source_219;
    tmp_assign_source_219 = PyDict_New();
    assert( tmp_class_creation_22__prepared == NULL );
    tmp_class_creation_22__prepared = tmp_assign_source_219;

    }
    branch_end_85:;
    }
    {
    PyObject *tmp_assign_source_220;
    {
    PyObject *tmp_set_locals_22;
    CHECK_OBJECT( tmp_class_creation_22__prepared );
    tmp_set_locals_22 = tmp_class_creation_22__prepared;
    locals_asn1crypto$keys_420 = tmp_set_locals_22;
    Py_INCREF( tmp_set_locals_22 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_420, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_72;
    }
    }
    {
    tmp_dictset_value = const_str_digest_c4d8f135eb39909f018c0cb7474ae696;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_420, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_72;
    }
    }
    {
    tmp_dictset_value = const_str_plain_DSAParams;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_420, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_72;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_35533ecef68d7d5a23ebdd360e308ddc_21, codeobj_35533ecef68d7d5a23ebdd360e308ddc, module_asn1crypto$keys, sizeof(void *) );
    frame_35533ecef68d7d5a23ebdd360e308ddc_21 = cache_frame_35533ecef68d7d5a23ebdd360e308ddc_21;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_35533ecef68d7d5a23ebdd360e308ddc_21 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_35533ecef68d7d5a23ebdd360e308ddc_21 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_12;
    PyObject *tmp_tuple_element_132;
    PyObject *tmp_mvar_value_76;
    PyObject *tmp_tuple_element_133;
    PyObject *tmp_mvar_value_77;
    PyObject *tmp_tuple_element_134;
    PyObject *tmp_mvar_value_78;
    tmp_tuple_element_132 = const_str_plain_p;
    tmp_list_element_12 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_132 );
    PyTuple_SET_ITEM( tmp_list_element_12, 0, tmp_tuple_element_132 );
    tmp_tuple_element_132 = PyObject_GetItem( locals_asn1crypto$keys_420, const_str_plain_Integer );

    if ( tmp_tuple_element_132 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_76 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_76 == NULL ))
        {
            tmp_mvar_value_76 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_76 == NULL )
        {
            Py_DECREF( tmp_list_element_12 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 429;
            type_description_2 = "o";
            goto frame_exception_exit_21;
        }

        tmp_tuple_element_132 = tmp_mvar_value_76;
        Py_INCREF( tmp_tuple_element_132 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_12, 1, tmp_tuple_element_132 );
    tmp_dictset_value = PyList_New( 3 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_12 );
    tmp_tuple_element_133 = const_str_plain_q;
    tmp_list_element_12 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_133 );
    PyTuple_SET_ITEM( tmp_list_element_12, 0, tmp_tuple_element_133 );
    tmp_tuple_element_133 = PyObject_GetItem( locals_asn1crypto$keys_420, const_str_plain_Integer );

    if ( tmp_tuple_element_133 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_77 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_77 == NULL ))
        {
            tmp_mvar_value_77 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_77 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_12 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 430;
            type_description_2 = "o";
            goto frame_exception_exit_21;
        }

        tmp_tuple_element_133 = tmp_mvar_value_77;
        Py_INCREF( tmp_tuple_element_133 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_12, 1, tmp_tuple_element_133 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_12 );
    tmp_tuple_element_134 = const_str_plain_g;
    tmp_list_element_12 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_134 );
    PyTuple_SET_ITEM( tmp_list_element_12, 0, tmp_tuple_element_134 );
    tmp_tuple_element_134 = PyObject_GetItem( locals_asn1crypto$keys_420, const_str_plain_Integer );

    if ( tmp_tuple_element_134 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_78 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_78 == NULL ))
        {
            tmp_mvar_value_78 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_78 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_12 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 431;
            type_description_2 = "o";
            goto frame_exception_exit_21;
        }

        tmp_tuple_element_134 = tmp_mvar_value_78;
        Py_INCREF( tmp_tuple_element_134 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_12, 1, tmp_tuple_element_134 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_12 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_420, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 428;
        type_description_2 = "o";
        goto frame_exception_exit_21;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_35533ecef68d7d5a23ebdd360e308ddc_21 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_20;

    frame_exception_exit_21:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_35533ecef68d7d5a23ebdd360e308ddc_21 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_35533ecef68d7d5a23ebdd360e308ddc_21, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_35533ecef68d7d5a23ebdd360e308ddc_21->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_35533ecef68d7d5a23ebdd360e308ddc_21, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_35533ecef68d7d5a23ebdd360e308ddc_21,
        type_description_2,
        outline_21_var___class__
    );


    // Release cached frame.
    if ( frame_35533ecef68d7d5a23ebdd360e308ddc_21 == cache_frame_35533ecef68d7d5a23ebdd360e308ddc_21 )
    {
        Py_DECREF( frame_35533ecef68d7d5a23ebdd360e308ddc_21 );
    }
    cache_frame_35533ecef68d7d5a23ebdd360e308ddc_21 = NULL;

    assertFrameObject( frame_35533ecef68d7d5a23ebdd360e308ddc_21 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_20;

    frame_no_exception_20:;
    goto skip_nested_handling_20;
    nested_frame_exit_20:;

    goto try_except_handler_72;
    skip_nested_handling_20:;
    {
    nuitka_bool tmp_condition_result_131;
    PyObject *tmp_compexpr_left_21;
    PyObject *tmp_compexpr_right_21;
    CHECK_OBJECT( tmp_class_creation_22__bases );
    tmp_compexpr_left_21 = tmp_class_creation_22__bases;
    CHECK_OBJECT( tmp_class_creation_22__bases_orig );
    tmp_compexpr_right_21 = tmp_class_creation_22__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_21, tmp_compexpr_right_21 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_72;
    }
    tmp_condition_result_131 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_131 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_87;
    }
    else
    {
        goto branch_no_87;
    }
    branch_yes_87:;
    {
    CHECK_OBJECT( tmp_class_creation_22__bases_orig );
    tmp_dictset_value = tmp_class_creation_22__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_420, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_72;
    }
    }
    branch_no_87:;
    }
    {
    PyObject *tmp_assign_source_221;
    PyObject *tmp_called_name_45;
    PyObject *tmp_args_name_44;
    PyObject *tmp_tuple_element_135;
    PyObject *tmp_kw_name_44;
    CHECK_OBJECT( tmp_class_creation_22__metaclass );
    tmp_called_name_45 = tmp_class_creation_22__metaclass;
    tmp_tuple_element_135 = const_str_plain_DSAParams;
    tmp_args_name_44 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_135 );
    PyTuple_SET_ITEM( tmp_args_name_44, 0, tmp_tuple_element_135 );
    CHECK_OBJECT( tmp_class_creation_22__bases );
    tmp_tuple_element_135 = tmp_class_creation_22__bases;
    Py_INCREF( tmp_tuple_element_135 );
    PyTuple_SET_ITEM( tmp_args_name_44, 1, tmp_tuple_element_135 );
    tmp_tuple_element_135 = locals_asn1crypto$keys_420;
    Py_INCREF( tmp_tuple_element_135 );
    PyTuple_SET_ITEM( tmp_args_name_44, 2, tmp_tuple_element_135 );
    CHECK_OBJECT( tmp_class_creation_22__class_decl_dict );
    tmp_kw_name_44 = tmp_class_creation_22__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 420;
    tmp_assign_source_221 = CALL_FUNCTION( tmp_called_name_45, tmp_args_name_44, tmp_kw_name_44 );
    Py_DECREF( tmp_args_name_44 );
    if ( tmp_assign_source_221 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 420;

        goto try_except_handler_72;
    }
    assert( outline_21_var___class__ == NULL );
    outline_21_var___class__ = tmp_assign_source_221;

    }
    {
    CHECK_OBJECT( outline_21_var___class__ );
    tmp_assign_source_220 = outline_21_var___class__;
    Py_INCREF( tmp_assign_source_220 );
    goto try_return_handler_72;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_72:;
    {
    Py_DECREF( locals_asn1crypto$keys_420 );
    locals_asn1crypto$keys_420 = NULL;
    }
    {
    goto try_return_handler_71;
    }
    // Exception handler code:
    try_except_handler_72:;
    exception_keeper_type_70 = exception_type;
    exception_keeper_value_70 = exception_value;
    exception_keeper_tb_70 = exception_tb;
    exception_keeper_lineno_70 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_420 );
    locals_asn1crypto$keys_420 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_70;
    exception_value = exception_keeper_value_70;
    exception_tb = exception_keeper_tb_70;
    exception_lineno = exception_keeper_lineno_70;

    goto try_except_handler_71;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_71:;
    {
    CHECK_OBJECT( (PyObject *)outline_21_var___class__ );
    Py_DECREF( outline_21_var___class__ );
    outline_21_var___class__ = NULL;

    }
    {
    goto outline_result_22;
    }
    // Exception handler code:
    try_except_handler_71:;
    exception_keeper_type_71 = exception_type;
    exception_keeper_value_71 = exception_value;
    exception_keeper_tb_71 = exception_tb;
    exception_keeper_lineno_71 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_71;
    exception_value = exception_keeper_value_71;
    exception_tb = exception_keeper_tb_71;
    exception_lineno = exception_keeper_lineno_71;

    goto outline_exception_22;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_22:;
    exception_lineno = 420;
    goto try_except_handler_70;
    outline_result_22:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DSAParams, tmp_assign_source_220 );
    }
    goto try_end_28;
    // Exception handler code:
    try_except_handler_70:;
    exception_keeper_type_72 = exception_type;
    exception_keeper_value_72 = exception_value;
    exception_keeper_tb_72 = exception_tb;
    exception_keeper_lineno_72 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_22__bases );
    tmp_class_creation_22__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_22__class_decl_dict );
    tmp_class_creation_22__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_22__metaclass );
    tmp_class_creation_22__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_22__prepared );
    tmp_class_creation_22__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_72;
    exception_value = exception_keeper_value_72;
    exception_tb = exception_keeper_tb_72;
    exception_lineno = exception_keeper_lineno_72;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_28:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_22__bases );
    Py_DECREF( tmp_class_creation_22__bases );
    tmp_class_creation_22__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_22__class_decl_dict );
    Py_DECREF( tmp_class_creation_22__class_decl_dict );
    tmp_class_creation_22__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_22__metaclass );
    Py_DECREF( tmp_class_creation_22__metaclass );
    tmp_class_creation_22__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_22__prepared );
    Py_DECREF( tmp_class_creation_22__prepared );
    tmp_class_creation_22__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_222;
    PyObject *tmp_tuple_element_136;
    PyObject *tmp_mvar_value_79;
    tmp_mvar_value_79 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_79 == NULL ))
    {
        tmp_mvar_value_79 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_79 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 435;

        goto try_except_handler_73;
    }

    tmp_tuple_element_136 = tmp_mvar_value_79;
    tmp_assign_source_222 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_136 );
    PyTuple_SET_ITEM( tmp_assign_source_222, 0, tmp_tuple_element_136 );
    assert( tmp_class_creation_23__bases_orig == NULL );
    tmp_class_creation_23__bases_orig = tmp_assign_source_222;

    }
    {
    PyObject *tmp_assign_source_223;
    PyObject *tmp_dircall_arg1_22;
    CHECK_OBJECT( tmp_class_creation_23__bases_orig );
    tmp_dircall_arg1_22 = tmp_class_creation_23__bases_orig;
    Py_INCREF( tmp_dircall_arg1_22 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_22};
        tmp_assign_source_223 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_223 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    assert( tmp_class_creation_23__bases == NULL );
    tmp_class_creation_23__bases = tmp_assign_source_223;

    }
    {
    PyObject *tmp_assign_source_224;
    tmp_assign_source_224 = PyDict_New();
    assert( tmp_class_creation_23__class_decl_dict == NULL );
    tmp_class_creation_23__class_decl_dict = tmp_assign_source_224;

    }
    {
    PyObject *tmp_assign_source_225;
    PyObject *tmp_metaclass_name_23;
    nuitka_bool tmp_condition_result_132;
    PyObject *tmp_key_name_67;
    PyObject *tmp_dict_name_67;
    PyObject *tmp_dict_name_68;
    PyObject *tmp_key_name_68;
    nuitka_bool tmp_condition_result_133;
    int tmp_truth_name_22;
    PyObject *tmp_type_arg_44;
    PyObject *tmp_subscribed_name_22;
    PyObject *tmp_subscript_name_22;
    PyObject *tmp_bases_name_23;
    tmp_key_name_67 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_23__class_decl_dict );
    tmp_dict_name_67 = tmp_class_creation_23__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_67, tmp_key_name_67 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    tmp_condition_result_132 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_132 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_45;
    }
    else
    {
        goto condexpr_false_45;
    }
    condexpr_true_45:;
    CHECK_OBJECT( tmp_class_creation_23__class_decl_dict );
    tmp_dict_name_68 = tmp_class_creation_23__class_decl_dict;
    tmp_key_name_68 = const_str_plain_metaclass;
    tmp_metaclass_name_23 = DICT_GET_ITEM( tmp_dict_name_68, tmp_key_name_68 );
    if ( tmp_metaclass_name_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    goto condexpr_end_45;
    condexpr_false_45:;
    CHECK_OBJECT( tmp_class_creation_23__bases );
    tmp_truth_name_22 = CHECK_IF_TRUE( tmp_class_creation_23__bases );
    if ( tmp_truth_name_22 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    tmp_condition_result_133 = tmp_truth_name_22 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_133 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_46;
    }
    else
    {
        goto condexpr_false_46;
    }
    condexpr_true_46:;
    CHECK_OBJECT( tmp_class_creation_23__bases );
    tmp_subscribed_name_22 = tmp_class_creation_23__bases;
    tmp_subscript_name_22 = const_int_0;
    tmp_type_arg_44 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_22, tmp_subscript_name_22, 0 );
    if ( tmp_type_arg_44 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    tmp_metaclass_name_23 = BUILTIN_TYPE1( tmp_type_arg_44 );
    Py_DECREF( tmp_type_arg_44 );
    if ( tmp_metaclass_name_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    goto condexpr_end_46;
    condexpr_false_46:;
    tmp_metaclass_name_23 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_23 );
    condexpr_end_46:;
    condexpr_end_45:;
    CHECK_OBJECT( tmp_class_creation_23__bases );
    tmp_bases_name_23 = tmp_class_creation_23__bases;
    tmp_assign_source_225 = SELECT_METACLASS( tmp_metaclass_name_23, tmp_bases_name_23 );
    Py_DECREF( tmp_metaclass_name_23 );
    if ( tmp_assign_source_225 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    assert( tmp_class_creation_23__metaclass == NULL );
    tmp_class_creation_23__metaclass = tmp_assign_source_225;

    }
    {
    nuitka_bool tmp_condition_result_134;
    PyObject *tmp_key_name_69;
    PyObject *tmp_dict_name_69;
    tmp_key_name_69 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_23__class_decl_dict );
    tmp_dict_name_69 = tmp_class_creation_23__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_69, tmp_key_name_69 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    tmp_condition_result_134 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_134 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_88;
    }
    else
    {
        goto branch_no_88;
    }
    branch_yes_88:;
    {
    CHECK_OBJECT( tmp_class_creation_23__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_23__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    }
    branch_no_88:;
    }
    {
    nuitka_bool tmp_condition_result_135;
    PyObject *tmp_source_name_89;
    CHECK_OBJECT( tmp_class_creation_23__metaclass );
    tmp_source_name_89 = tmp_class_creation_23__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_89, const_str_plain___prepare__ );
    tmp_condition_result_135 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_135 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_89;
    }
    else
    {
        goto branch_no_89;
    }
    branch_yes_89:;
    {
    PyObject *tmp_assign_source_226;
    PyObject *tmp_called_name_46;
    PyObject *tmp_source_name_90;
    PyObject *tmp_args_name_45;
    PyObject *tmp_tuple_element_137;
    PyObject *tmp_kw_name_45;
    CHECK_OBJECT( tmp_class_creation_23__metaclass );
    tmp_source_name_90 = tmp_class_creation_23__metaclass;
    tmp_called_name_46 = LOOKUP_ATTRIBUTE( tmp_source_name_90, const_str_plain___prepare__ );
    if ( tmp_called_name_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    tmp_tuple_element_137 = const_str_plain_Attribute;
    tmp_args_name_45 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_137 );
    PyTuple_SET_ITEM( tmp_args_name_45, 0, tmp_tuple_element_137 );
    CHECK_OBJECT( tmp_class_creation_23__bases );
    tmp_tuple_element_137 = tmp_class_creation_23__bases;
    Py_INCREF( tmp_tuple_element_137 );
    PyTuple_SET_ITEM( tmp_args_name_45, 1, tmp_tuple_element_137 );
    CHECK_OBJECT( tmp_class_creation_23__class_decl_dict );
    tmp_kw_name_45 = tmp_class_creation_23__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 435;
    tmp_assign_source_226 = CALL_FUNCTION( tmp_called_name_46, tmp_args_name_45, tmp_kw_name_45 );
    Py_DECREF( tmp_called_name_46 );
    Py_DECREF( tmp_args_name_45 );
    if ( tmp_assign_source_226 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    assert( tmp_class_creation_23__prepared == NULL );
    tmp_class_creation_23__prepared = tmp_assign_source_226;

    }
    {
    nuitka_bool tmp_condition_result_136;
    PyObject *tmp_operand_name_23;
    PyObject *tmp_source_name_91;
    CHECK_OBJECT( tmp_class_creation_23__prepared );
    tmp_source_name_91 = tmp_class_creation_23__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_91, const_str_plain___getitem__ );
    tmp_operand_name_23 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_23 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    tmp_condition_result_136 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_136 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_90;
    }
    else
    {
        goto branch_no_90;
    }
    branch_yes_90:;
    {
    PyObject *tmp_raise_type_23;
    PyObject *tmp_raise_value_23;
    PyObject *tmp_left_name_23;
    PyObject *tmp_right_name_23;
    PyObject *tmp_tuple_element_138;
    PyObject *tmp_getattr_target_23;
    PyObject *tmp_getattr_attr_23;
    PyObject *tmp_getattr_default_23;
    PyObject *tmp_source_name_92;
    PyObject *tmp_type_arg_45;
    tmp_raise_type_23 = PyExc_TypeError;
    tmp_left_name_23 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_23__metaclass );
    tmp_getattr_target_23 = tmp_class_creation_23__metaclass;
    tmp_getattr_attr_23 = const_str_plain___name__;
    tmp_getattr_default_23 = const_str_angle_metaclass;
    tmp_tuple_element_138 = BUILTIN_GETATTR( tmp_getattr_target_23, tmp_getattr_attr_23, tmp_getattr_default_23 );
    if ( tmp_tuple_element_138 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    tmp_right_name_23 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_23, 0, tmp_tuple_element_138 );
    CHECK_OBJECT( tmp_class_creation_23__prepared );
    tmp_type_arg_45 = tmp_class_creation_23__prepared;
    tmp_source_name_92 = BUILTIN_TYPE1( tmp_type_arg_45 );
    assert( !(tmp_source_name_92 == NULL) );
    tmp_tuple_element_138 = LOOKUP_ATTRIBUTE( tmp_source_name_92, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_92 );
    if ( tmp_tuple_element_138 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_23 );

        exception_lineno = 435;

        goto try_except_handler_73;
    }
    PyTuple_SET_ITEM( tmp_right_name_23, 1, tmp_tuple_element_138 );
    tmp_raise_value_23 = BINARY_OPERATION_REMAINDER( tmp_left_name_23, tmp_right_name_23 );
    Py_DECREF( tmp_right_name_23 );
    if ( tmp_raise_value_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_73;
    }
    exception_type = tmp_raise_type_23;
    Py_INCREF( tmp_raise_type_23 );
    exception_value = tmp_raise_value_23;
    exception_lineno = 435;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_73;
    }
    branch_no_90:;
    }
    goto branch_end_89;
    branch_no_89:;
    {
    PyObject *tmp_assign_source_227;
    tmp_assign_source_227 = PyDict_New();
    assert( tmp_class_creation_23__prepared == NULL );
    tmp_class_creation_23__prepared = tmp_assign_source_227;

    }
    branch_end_89:;
    }
    {
    PyObject *tmp_assign_source_228;
    {
    PyObject *tmp_set_locals_23;
    CHECK_OBJECT( tmp_class_creation_23__prepared );
    tmp_set_locals_23 = tmp_class_creation_23__prepared;
    locals_asn1crypto$keys_435 = tmp_set_locals_23;
    Py_INCREF( tmp_set_locals_23 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_435, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_75;
    }
    }
    {
    tmp_dictset_value = const_str_digest_52e926ac8ea8bf3750086bcfca45f51b;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_435, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_75;
    }
    }
    {
    tmp_dictset_value = const_str_plain_Attribute;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_435, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_75;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_3255315aa1216e9ee821a1f6cdfd5f49_22, codeobj_3255315aa1216e9ee821a1f6cdfd5f49, module_asn1crypto$keys, sizeof(void *) );
    frame_3255315aa1216e9ee821a1f6cdfd5f49_22 = cache_frame_3255315aa1216e9ee821a1f6cdfd5f49_22;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_3255315aa1216e9ee821a1f6cdfd5f49_22 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_3255315aa1216e9ee821a1f6cdfd5f49_22 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_13;
    PyObject *tmp_tuple_element_139;
    PyObject *tmp_mvar_value_80;
    PyObject *tmp_tuple_element_140;
    PyObject *tmp_mvar_value_81;
    PyObject *tmp_dict_key_6;
    PyObject *tmp_dict_value_6;
    PyObject *tmp_mvar_value_82;
    tmp_tuple_element_139 = const_str_plain_type;
    tmp_list_element_13 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_139 );
    PyTuple_SET_ITEM( tmp_list_element_13, 0, tmp_tuple_element_139 );
    tmp_tuple_element_139 = PyObject_GetItem( locals_asn1crypto$keys_435, const_str_plain_ObjectIdentifier );

    if ( tmp_tuple_element_139 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_80 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );

        if (unlikely( tmp_mvar_value_80 == NULL ))
        {
            tmp_mvar_value_80 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );
        }

        if ( tmp_mvar_value_80 == NULL )
        {
            Py_DECREF( tmp_list_element_13 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ObjectIdentifier" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 441;
            type_description_2 = "o";
            goto frame_exception_exit_22;
        }

        tmp_tuple_element_139 = tmp_mvar_value_80;
        Py_INCREF( tmp_tuple_element_139 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_13, 1, tmp_tuple_element_139 );
    tmp_dictset_value = PyList_New( 2 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_13 );
    tmp_tuple_element_140 = const_str_plain_values;
    tmp_list_element_13 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_140 );
    PyTuple_SET_ITEM( tmp_list_element_13, 0, tmp_tuple_element_140 );
    tmp_tuple_element_140 = PyObject_GetItem( locals_asn1crypto$keys_435, const_str_plain_SetOf );

    if ( tmp_tuple_element_140 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_81 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SetOf );

        if (unlikely( tmp_mvar_value_81 == NULL ))
        {
            tmp_mvar_value_81 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SetOf );
        }

        if ( tmp_mvar_value_81 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_13 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SetOf" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 442;
            type_description_2 = "o";
            goto frame_exception_exit_22;
        }

        tmp_tuple_element_140 = tmp_mvar_value_81;
        Py_INCREF( tmp_tuple_element_140 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_13, 1, tmp_tuple_element_140 );
    tmp_dict_key_6 = const_str_plain_spec;
    tmp_dict_value_6 = PyObject_GetItem( locals_asn1crypto$keys_435, const_str_plain_Any );

    if ( tmp_dict_value_6 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_82 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Any );

        if (unlikely( tmp_mvar_value_82 == NULL ))
        {
            tmp_mvar_value_82 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Any );
        }

        if ( tmp_mvar_value_82 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_13 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Any" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 442;
            type_description_2 = "o";
            goto frame_exception_exit_22;
        }

        tmp_dict_value_6 = tmp_mvar_value_82;
        Py_INCREF( tmp_dict_value_6 );
        }
    }

    tmp_tuple_element_140 = _PyDict_NewPresized( 1 );
    tmp_res = PyDict_SetItem( tmp_tuple_element_140, tmp_dict_key_6, tmp_dict_value_6 );
    Py_DECREF( tmp_dict_value_6 );
    assert( !(tmp_res != 0) );
    PyTuple_SET_ITEM( tmp_list_element_13, 2, tmp_tuple_element_140 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_13 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_435, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 440;
        type_description_2 = "o";
        goto frame_exception_exit_22;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_3255315aa1216e9ee821a1f6cdfd5f49_22 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_21;

    frame_exception_exit_22:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_3255315aa1216e9ee821a1f6cdfd5f49_22 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_3255315aa1216e9ee821a1f6cdfd5f49_22, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_3255315aa1216e9ee821a1f6cdfd5f49_22->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_3255315aa1216e9ee821a1f6cdfd5f49_22, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_3255315aa1216e9ee821a1f6cdfd5f49_22,
        type_description_2,
        outline_22_var___class__
    );


    // Release cached frame.
    if ( frame_3255315aa1216e9ee821a1f6cdfd5f49_22 == cache_frame_3255315aa1216e9ee821a1f6cdfd5f49_22 )
    {
        Py_DECREF( frame_3255315aa1216e9ee821a1f6cdfd5f49_22 );
    }
    cache_frame_3255315aa1216e9ee821a1f6cdfd5f49_22 = NULL;

    assertFrameObject( frame_3255315aa1216e9ee821a1f6cdfd5f49_22 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_21;

    frame_no_exception_21:;
    goto skip_nested_handling_21;
    nested_frame_exit_21:;

    goto try_except_handler_75;
    skip_nested_handling_21:;
    {
    nuitka_bool tmp_condition_result_137;
    PyObject *tmp_compexpr_left_22;
    PyObject *tmp_compexpr_right_22;
    CHECK_OBJECT( tmp_class_creation_23__bases );
    tmp_compexpr_left_22 = tmp_class_creation_23__bases;
    CHECK_OBJECT( tmp_class_creation_23__bases_orig );
    tmp_compexpr_right_22 = tmp_class_creation_23__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_22, tmp_compexpr_right_22 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_75;
    }
    tmp_condition_result_137 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_137 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_91;
    }
    else
    {
        goto branch_no_91;
    }
    branch_yes_91:;
    {
    CHECK_OBJECT( tmp_class_creation_23__bases_orig );
    tmp_dictset_value = tmp_class_creation_23__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_435, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_75;
    }
    }
    branch_no_91:;
    }
    {
    PyObject *tmp_assign_source_229;
    PyObject *tmp_called_name_47;
    PyObject *tmp_args_name_46;
    PyObject *tmp_tuple_element_141;
    PyObject *tmp_kw_name_46;
    CHECK_OBJECT( tmp_class_creation_23__metaclass );
    tmp_called_name_47 = tmp_class_creation_23__metaclass;
    tmp_tuple_element_141 = const_str_plain_Attribute;
    tmp_args_name_46 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_141 );
    PyTuple_SET_ITEM( tmp_args_name_46, 0, tmp_tuple_element_141 );
    CHECK_OBJECT( tmp_class_creation_23__bases );
    tmp_tuple_element_141 = tmp_class_creation_23__bases;
    Py_INCREF( tmp_tuple_element_141 );
    PyTuple_SET_ITEM( tmp_args_name_46, 1, tmp_tuple_element_141 );
    tmp_tuple_element_141 = locals_asn1crypto$keys_435;
    Py_INCREF( tmp_tuple_element_141 );
    PyTuple_SET_ITEM( tmp_args_name_46, 2, tmp_tuple_element_141 );
    CHECK_OBJECT( tmp_class_creation_23__class_decl_dict );
    tmp_kw_name_46 = tmp_class_creation_23__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 435;
    tmp_assign_source_229 = CALL_FUNCTION( tmp_called_name_47, tmp_args_name_46, tmp_kw_name_46 );
    Py_DECREF( tmp_args_name_46 );
    if ( tmp_assign_source_229 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 435;

        goto try_except_handler_75;
    }
    assert( outline_22_var___class__ == NULL );
    outline_22_var___class__ = tmp_assign_source_229;

    }
    {
    CHECK_OBJECT( outline_22_var___class__ );
    tmp_assign_source_228 = outline_22_var___class__;
    Py_INCREF( tmp_assign_source_228 );
    goto try_return_handler_75;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_75:;
    {
    Py_DECREF( locals_asn1crypto$keys_435 );
    locals_asn1crypto$keys_435 = NULL;
    }
    {
    goto try_return_handler_74;
    }
    // Exception handler code:
    try_except_handler_75:;
    exception_keeper_type_73 = exception_type;
    exception_keeper_value_73 = exception_value;
    exception_keeper_tb_73 = exception_tb;
    exception_keeper_lineno_73 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_435 );
    locals_asn1crypto$keys_435 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_73;
    exception_value = exception_keeper_value_73;
    exception_tb = exception_keeper_tb_73;
    exception_lineno = exception_keeper_lineno_73;

    goto try_except_handler_74;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_74:;
    {
    CHECK_OBJECT( (PyObject *)outline_22_var___class__ );
    Py_DECREF( outline_22_var___class__ );
    outline_22_var___class__ = NULL;

    }
    {
    goto outline_result_23;
    }
    // Exception handler code:
    try_except_handler_74:;
    exception_keeper_type_74 = exception_type;
    exception_keeper_value_74 = exception_value;
    exception_keeper_tb_74 = exception_tb;
    exception_keeper_lineno_74 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_74;
    exception_value = exception_keeper_value_74;
    exception_tb = exception_keeper_tb_74;
    exception_lineno = exception_keeper_lineno_74;

    goto outline_exception_23;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_23:;
    exception_lineno = 435;
    goto try_except_handler_73;
    outline_result_23:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Attribute, tmp_assign_source_228 );
    }
    goto try_end_29;
    // Exception handler code:
    try_except_handler_73:;
    exception_keeper_type_75 = exception_type;
    exception_keeper_value_75 = exception_value;
    exception_keeper_tb_75 = exception_tb;
    exception_keeper_lineno_75 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_23__bases );
    tmp_class_creation_23__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_23__class_decl_dict );
    tmp_class_creation_23__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_23__metaclass );
    tmp_class_creation_23__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_23__prepared );
    tmp_class_creation_23__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_75;
    exception_value = exception_keeper_value_75;
    exception_tb = exception_keeper_tb_75;
    exception_lineno = exception_keeper_lineno_75;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_29:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_23__bases );
    Py_DECREF( tmp_class_creation_23__bases );
    tmp_class_creation_23__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_23__class_decl_dict );
    Py_DECREF( tmp_class_creation_23__class_decl_dict );
    tmp_class_creation_23__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_23__metaclass );
    Py_DECREF( tmp_class_creation_23__metaclass );
    tmp_class_creation_23__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_23__prepared );
    Py_DECREF( tmp_class_creation_23__prepared );
    tmp_class_creation_23__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_230;
    PyObject *tmp_tuple_element_142;
    PyObject *tmp_mvar_value_83;
    tmp_mvar_value_83 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_SetOf );

    if (unlikely( tmp_mvar_value_83 == NULL ))
    {
        tmp_mvar_value_83 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_SetOf );
    }

    if ( tmp_mvar_value_83 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "SetOf" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 446;

        goto try_except_handler_76;
    }

    tmp_tuple_element_142 = tmp_mvar_value_83;
    tmp_assign_source_230 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_142 );
    PyTuple_SET_ITEM( tmp_assign_source_230, 0, tmp_tuple_element_142 );
    assert( tmp_class_creation_24__bases_orig == NULL );
    tmp_class_creation_24__bases_orig = tmp_assign_source_230;

    }
    {
    PyObject *tmp_assign_source_231;
    PyObject *tmp_dircall_arg1_23;
    CHECK_OBJECT( tmp_class_creation_24__bases_orig );
    tmp_dircall_arg1_23 = tmp_class_creation_24__bases_orig;
    Py_INCREF( tmp_dircall_arg1_23 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_23};
        tmp_assign_source_231 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_231 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    assert( tmp_class_creation_24__bases == NULL );
    tmp_class_creation_24__bases = tmp_assign_source_231;

    }
    {
    PyObject *tmp_assign_source_232;
    tmp_assign_source_232 = PyDict_New();
    assert( tmp_class_creation_24__class_decl_dict == NULL );
    tmp_class_creation_24__class_decl_dict = tmp_assign_source_232;

    }
    {
    PyObject *tmp_assign_source_233;
    PyObject *tmp_metaclass_name_24;
    nuitka_bool tmp_condition_result_138;
    PyObject *tmp_key_name_70;
    PyObject *tmp_dict_name_70;
    PyObject *tmp_dict_name_71;
    PyObject *tmp_key_name_71;
    nuitka_bool tmp_condition_result_139;
    int tmp_truth_name_23;
    PyObject *tmp_type_arg_46;
    PyObject *tmp_subscribed_name_23;
    PyObject *tmp_subscript_name_23;
    PyObject *tmp_bases_name_24;
    tmp_key_name_70 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_24__class_decl_dict );
    tmp_dict_name_70 = tmp_class_creation_24__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_70, tmp_key_name_70 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    tmp_condition_result_138 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_138 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_47;
    }
    else
    {
        goto condexpr_false_47;
    }
    condexpr_true_47:;
    CHECK_OBJECT( tmp_class_creation_24__class_decl_dict );
    tmp_dict_name_71 = tmp_class_creation_24__class_decl_dict;
    tmp_key_name_71 = const_str_plain_metaclass;
    tmp_metaclass_name_24 = DICT_GET_ITEM( tmp_dict_name_71, tmp_key_name_71 );
    if ( tmp_metaclass_name_24 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    goto condexpr_end_47;
    condexpr_false_47:;
    CHECK_OBJECT( tmp_class_creation_24__bases );
    tmp_truth_name_23 = CHECK_IF_TRUE( tmp_class_creation_24__bases );
    if ( tmp_truth_name_23 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    tmp_condition_result_139 = tmp_truth_name_23 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_139 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_48;
    }
    else
    {
        goto condexpr_false_48;
    }
    condexpr_true_48:;
    CHECK_OBJECT( tmp_class_creation_24__bases );
    tmp_subscribed_name_23 = tmp_class_creation_24__bases;
    tmp_subscript_name_23 = const_int_0;
    tmp_type_arg_46 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_23, tmp_subscript_name_23, 0 );
    if ( tmp_type_arg_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    tmp_metaclass_name_24 = BUILTIN_TYPE1( tmp_type_arg_46 );
    Py_DECREF( tmp_type_arg_46 );
    if ( tmp_metaclass_name_24 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    goto condexpr_end_48;
    condexpr_false_48:;
    tmp_metaclass_name_24 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_24 );
    condexpr_end_48:;
    condexpr_end_47:;
    CHECK_OBJECT( tmp_class_creation_24__bases );
    tmp_bases_name_24 = tmp_class_creation_24__bases;
    tmp_assign_source_233 = SELECT_METACLASS( tmp_metaclass_name_24, tmp_bases_name_24 );
    Py_DECREF( tmp_metaclass_name_24 );
    if ( tmp_assign_source_233 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    assert( tmp_class_creation_24__metaclass == NULL );
    tmp_class_creation_24__metaclass = tmp_assign_source_233;

    }
    {
    nuitka_bool tmp_condition_result_140;
    PyObject *tmp_key_name_72;
    PyObject *tmp_dict_name_72;
    tmp_key_name_72 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_24__class_decl_dict );
    tmp_dict_name_72 = tmp_class_creation_24__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_72, tmp_key_name_72 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    tmp_condition_result_140 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_140 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_92;
    }
    else
    {
        goto branch_no_92;
    }
    branch_yes_92:;
    {
    CHECK_OBJECT( tmp_class_creation_24__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_24__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    }
    branch_no_92:;
    }
    {
    nuitka_bool tmp_condition_result_141;
    PyObject *tmp_source_name_93;
    CHECK_OBJECT( tmp_class_creation_24__metaclass );
    tmp_source_name_93 = tmp_class_creation_24__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_93, const_str_plain___prepare__ );
    tmp_condition_result_141 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_141 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_93;
    }
    else
    {
        goto branch_no_93;
    }
    branch_yes_93:;
    {
    PyObject *tmp_assign_source_234;
    PyObject *tmp_called_name_48;
    PyObject *tmp_source_name_94;
    PyObject *tmp_args_name_47;
    PyObject *tmp_tuple_element_143;
    PyObject *tmp_kw_name_47;
    CHECK_OBJECT( tmp_class_creation_24__metaclass );
    tmp_source_name_94 = tmp_class_creation_24__metaclass;
    tmp_called_name_48 = LOOKUP_ATTRIBUTE( tmp_source_name_94, const_str_plain___prepare__ );
    if ( tmp_called_name_48 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    tmp_tuple_element_143 = const_str_plain_Attributes;
    tmp_args_name_47 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_143 );
    PyTuple_SET_ITEM( tmp_args_name_47, 0, tmp_tuple_element_143 );
    CHECK_OBJECT( tmp_class_creation_24__bases );
    tmp_tuple_element_143 = tmp_class_creation_24__bases;
    Py_INCREF( tmp_tuple_element_143 );
    PyTuple_SET_ITEM( tmp_args_name_47, 1, tmp_tuple_element_143 );
    CHECK_OBJECT( tmp_class_creation_24__class_decl_dict );
    tmp_kw_name_47 = tmp_class_creation_24__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 446;
    tmp_assign_source_234 = CALL_FUNCTION( tmp_called_name_48, tmp_args_name_47, tmp_kw_name_47 );
    Py_DECREF( tmp_called_name_48 );
    Py_DECREF( tmp_args_name_47 );
    if ( tmp_assign_source_234 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    assert( tmp_class_creation_24__prepared == NULL );
    tmp_class_creation_24__prepared = tmp_assign_source_234;

    }
    {
    nuitka_bool tmp_condition_result_142;
    PyObject *tmp_operand_name_24;
    PyObject *tmp_source_name_95;
    CHECK_OBJECT( tmp_class_creation_24__prepared );
    tmp_source_name_95 = tmp_class_creation_24__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_95, const_str_plain___getitem__ );
    tmp_operand_name_24 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_24 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    tmp_condition_result_142 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_142 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_94;
    }
    else
    {
        goto branch_no_94;
    }
    branch_yes_94:;
    {
    PyObject *tmp_raise_type_24;
    PyObject *tmp_raise_value_24;
    PyObject *tmp_left_name_24;
    PyObject *tmp_right_name_24;
    PyObject *tmp_tuple_element_144;
    PyObject *tmp_getattr_target_24;
    PyObject *tmp_getattr_attr_24;
    PyObject *tmp_getattr_default_24;
    PyObject *tmp_source_name_96;
    PyObject *tmp_type_arg_47;
    tmp_raise_type_24 = PyExc_TypeError;
    tmp_left_name_24 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_24__metaclass );
    tmp_getattr_target_24 = tmp_class_creation_24__metaclass;
    tmp_getattr_attr_24 = const_str_plain___name__;
    tmp_getattr_default_24 = const_str_angle_metaclass;
    tmp_tuple_element_144 = BUILTIN_GETATTR( tmp_getattr_target_24, tmp_getattr_attr_24, tmp_getattr_default_24 );
    if ( tmp_tuple_element_144 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    tmp_right_name_24 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_24, 0, tmp_tuple_element_144 );
    CHECK_OBJECT( tmp_class_creation_24__prepared );
    tmp_type_arg_47 = tmp_class_creation_24__prepared;
    tmp_source_name_96 = BUILTIN_TYPE1( tmp_type_arg_47 );
    assert( !(tmp_source_name_96 == NULL) );
    tmp_tuple_element_144 = LOOKUP_ATTRIBUTE( tmp_source_name_96, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_96 );
    if ( tmp_tuple_element_144 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_24 );

        exception_lineno = 446;

        goto try_except_handler_76;
    }
    PyTuple_SET_ITEM( tmp_right_name_24, 1, tmp_tuple_element_144 );
    tmp_raise_value_24 = BINARY_OPERATION_REMAINDER( tmp_left_name_24, tmp_right_name_24 );
    Py_DECREF( tmp_right_name_24 );
    if ( tmp_raise_value_24 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_76;
    }
    exception_type = tmp_raise_type_24;
    Py_INCREF( tmp_raise_type_24 );
    exception_value = tmp_raise_value_24;
    exception_lineno = 446;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_76;
    }
    branch_no_94:;
    }
    goto branch_end_93;
    branch_no_93:;
    {
    PyObject *tmp_assign_source_235;
    tmp_assign_source_235 = PyDict_New();
    assert( tmp_class_creation_24__prepared == NULL );
    tmp_class_creation_24__prepared = tmp_assign_source_235;

    }
    branch_end_93:;
    }
    {
    PyObject *tmp_assign_source_236;
    {
    PyObject *tmp_set_locals_24;
    CHECK_OBJECT( tmp_class_creation_24__prepared );
    tmp_set_locals_24 = tmp_class_creation_24__prepared;
    locals_asn1crypto$keys_446 = tmp_set_locals_24;
    Py_INCREF( tmp_set_locals_24 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_446, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_78;
    }
    }
    {
    tmp_dictset_value = const_str_digest_b47e3d7166e51a227677f98f9d05e5ce;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_446, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_78;
    }
    }
    {
    tmp_dictset_value = const_str_plain_Attributes;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_446, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_78;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_bd016beb59a2fc17c0e073d38fa6518e_23, codeobj_bd016beb59a2fc17c0e073d38fa6518e, module_asn1crypto$keys, sizeof(void *) );
    frame_bd016beb59a2fc17c0e073d38fa6518e_23 = cache_frame_bd016beb59a2fc17c0e073d38fa6518e_23;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_bd016beb59a2fc17c0e073d38fa6518e_23 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_bd016beb59a2fc17c0e073d38fa6518e_23 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_mvar_value_84;
    tmp_dictset_value = PyObject_GetItem( locals_asn1crypto$keys_446, const_str_plain_Attribute );

    if ( tmp_dictset_value == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_84 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Attribute );

        if (unlikely( tmp_mvar_value_84 == NULL ))
        {
            tmp_mvar_value_84 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Attribute );
        }

        if ( tmp_mvar_value_84 == NULL )
        {

            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Attribute" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 451;
            type_description_2 = "o";
            goto frame_exception_exit_23;
        }

        tmp_dictset_value = tmp_mvar_value_84;
        Py_INCREF( tmp_dictset_value );
        }
    }

    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_446, const_str_plain__child_spec, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 451;
        type_description_2 = "o";
        goto frame_exception_exit_23;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_bd016beb59a2fc17c0e073d38fa6518e_23 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_22;

    frame_exception_exit_23:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_bd016beb59a2fc17c0e073d38fa6518e_23 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_bd016beb59a2fc17c0e073d38fa6518e_23, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_bd016beb59a2fc17c0e073d38fa6518e_23->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_bd016beb59a2fc17c0e073d38fa6518e_23, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_bd016beb59a2fc17c0e073d38fa6518e_23,
        type_description_2,
        outline_23_var___class__
    );


    // Release cached frame.
    if ( frame_bd016beb59a2fc17c0e073d38fa6518e_23 == cache_frame_bd016beb59a2fc17c0e073d38fa6518e_23 )
    {
        Py_DECREF( frame_bd016beb59a2fc17c0e073d38fa6518e_23 );
    }
    cache_frame_bd016beb59a2fc17c0e073d38fa6518e_23 = NULL;

    assertFrameObject( frame_bd016beb59a2fc17c0e073d38fa6518e_23 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_22;

    frame_no_exception_22:;
    goto skip_nested_handling_22;
    nested_frame_exit_22:;

    goto try_except_handler_78;
    skip_nested_handling_22:;
    {
    nuitka_bool tmp_condition_result_143;
    PyObject *tmp_compexpr_left_23;
    PyObject *tmp_compexpr_right_23;
    CHECK_OBJECT( tmp_class_creation_24__bases );
    tmp_compexpr_left_23 = tmp_class_creation_24__bases;
    CHECK_OBJECT( tmp_class_creation_24__bases_orig );
    tmp_compexpr_right_23 = tmp_class_creation_24__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_23, tmp_compexpr_right_23 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_78;
    }
    tmp_condition_result_143 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_143 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_95;
    }
    else
    {
        goto branch_no_95;
    }
    branch_yes_95:;
    {
    CHECK_OBJECT( tmp_class_creation_24__bases_orig );
    tmp_dictset_value = tmp_class_creation_24__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_446, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_78;
    }
    }
    branch_no_95:;
    }
    {
    PyObject *tmp_assign_source_237;
    PyObject *tmp_called_name_49;
    PyObject *tmp_args_name_48;
    PyObject *tmp_tuple_element_145;
    PyObject *tmp_kw_name_48;
    CHECK_OBJECT( tmp_class_creation_24__metaclass );
    tmp_called_name_49 = tmp_class_creation_24__metaclass;
    tmp_tuple_element_145 = const_str_plain_Attributes;
    tmp_args_name_48 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_145 );
    PyTuple_SET_ITEM( tmp_args_name_48, 0, tmp_tuple_element_145 );
    CHECK_OBJECT( tmp_class_creation_24__bases );
    tmp_tuple_element_145 = tmp_class_creation_24__bases;
    Py_INCREF( tmp_tuple_element_145 );
    PyTuple_SET_ITEM( tmp_args_name_48, 1, tmp_tuple_element_145 );
    tmp_tuple_element_145 = locals_asn1crypto$keys_446;
    Py_INCREF( tmp_tuple_element_145 );
    PyTuple_SET_ITEM( tmp_args_name_48, 2, tmp_tuple_element_145 );
    CHECK_OBJECT( tmp_class_creation_24__class_decl_dict );
    tmp_kw_name_48 = tmp_class_creation_24__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 446;
    tmp_assign_source_237 = CALL_FUNCTION( tmp_called_name_49, tmp_args_name_48, tmp_kw_name_48 );
    Py_DECREF( tmp_args_name_48 );
    if ( tmp_assign_source_237 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;

        goto try_except_handler_78;
    }
    assert( outline_23_var___class__ == NULL );
    outline_23_var___class__ = tmp_assign_source_237;

    }
    {
    CHECK_OBJECT( outline_23_var___class__ );
    tmp_assign_source_236 = outline_23_var___class__;
    Py_INCREF( tmp_assign_source_236 );
    goto try_return_handler_78;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_78:;
    {
    Py_DECREF( locals_asn1crypto$keys_446 );
    locals_asn1crypto$keys_446 = NULL;
    }
    {
    goto try_return_handler_77;
    }
    // Exception handler code:
    try_except_handler_78:;
    exception_keeper_type_76 = exception_type;
    exception_keeper_value_76 = exception_value;
    exception_keeper_tb_76 = exception_tb;
    exception_keeper_lineno_76 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_446 );
    locals_asn1crypto$keys_446 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_76;
    exception_value = exception_keeper_value_76;
    exception_tb = exception_keeper_tb_76;
    exception_lineno = exception_keeper_lineno_76;

    goto try_except_handler_77;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_77:;
    {
    CHECK_OBJECT( (PyObject *)outline_23_var___class__ );
    Py_DECREF( outline_23_var___class__ );
    outline_23_var___class__ = NULL;

    }
    {
    goto outline_result_24;
    }
    // Exception handler code:
    try_except_handler_77:;
    exception_keeper_type_77 = exception_type;
    exception_keeper_value_77 = exception_value;
    exception_keeper_tb_77 = exception_tb;
    exception_keeper_lineno_77 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_77;
    exception_value = exception_keeper_value_77;
    exception_tb = exception_keeper_tb_77;
    exception_lineno = exception_keeper_lineno_77;

    goto outline_exception_24;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_24:;
    exception_lineno = 446;
    goto try_except_handler_76;
    outline_result_24:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Attributes, tmp_assign_source_236 );
    }
    goto try_end_30;
    // Exception handler code:
    try_except_handler_76:;
    exception_keeper_type_78 = exception_type;
    exception_keeper_value_78 = exception_value;
    exception_keeper_tb_78 = exception_tb;
    exception_keeper_lineno_78 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_24__bases );
    tmp_class_creation_24__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_24__class_decl_dict );
    tmp_class_creation_24__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_24__metaclass );
    tmp_class_creation_24__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_24__prepared );
    tmp_class_creation_24__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_78;
    exception_value = exception_keeper_value_78;
    exception_tb = exception_keeper_tb_78;
    exception_lineno = exception_keeper_lineno_78;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_30:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_24__bases );
    Py_DECREF( tmp_class_creation_24__bases );
    tmp_class_creation_24__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_24__class_decl_dict );
    Py_DECREF( tmp_class_creation_24__class_decl_dict );
    tmp_class_creation_24__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_24__metaclass );
    Py_DECREF( tmp_class_creation_24__metaclass );
    tmp_class_creation_24__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_24__prepared );
    Py_DECREF( tmp_class_creation_24__prepared );
    tmp_class_creation_24__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_238;
    PyObject *tmp_tuple_element_146;
    PyObject *tmp_mvar_value_85;
    tmp_mvar_value_85 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );

    if (unlikely( tmp_mvar_value_85 == NULL ))
    {
        tmp_mvar_value_85 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );
    }

    if ( tmp_mvar_value_85 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ObjectIdentifier" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 454;

        goto try_except_handler_79;
    }

    tmp_tuple_element_146 = tmp_mvar_value_85;
    tmp_assign_source_238 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_146 );
    PyTuple_SET_ITEM( tmp_assign_source_238, 0, tmp_tuple_element_146 );
    assert( tmp_class_creation_25__bases_orig == NULL );
    tmp_class_creation_25__bases_orig = tmp_assign_source_238;

    }
    {
    PyObject *tmp_assign_source_239;
    PyObject *tmp_dircall_arg1_24;
    CHECK_OBJECT( tmp_class_creation_25__bases_orig );
    tmp_dircall_arg1_24 = tmp_class_creation_25__bases_orig;
    Py_INCREF( tmp_dircall_arg1_24 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_24};
        tmp_assign_source_239 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_239 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    assert( tmp_class_creation_25__bases == NULL );
    tmp_class_creation_25__bases = tmp_assign_source_239;

    }
    {
    PyObject *tmp_assign_source_240;
    tmp_assign_source_240 = PyDict_New();
    assert( tmp_class_creation_25__class_decl_dict == NULL );
    tmp_class_creation_25__class_decl_dict = tmp_assign_source_240;

    }
    {
    PyObject *tmp_assign_source_241;
    PyObject *tmp_metaclass_name_25;
    nuitka_bool tmp_condition_result_144;
    PyObject *tmp_key_name_73;
    PyObject *tmp_dict_name_73;
    PyObject *tmp_dict_name_74;
    PyObject *tmp_key_name_74;
    nuitka_bool tmp_condition_result_145;
    int tmp_truth_name_24;
    PyObject *tmp_type_arg_48;
    PyObject *tmp_subscribed_name_24;
    PyObject *tmp_subscript_name_24;
    PyObject *tmp_bases_name_25;
    tmp_key_name_73 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_25__class_decl_dict );
    tmp_dict_name_73 = tmp_class_creation_25__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_73, tmp_key_name_73 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    tmp_condition_result_144 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_144 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_49;
    }
    else
    {
        goto condexpr_false_49;
    }
    condexpr_true_49:;
    CHECK_OBJECT( tmp_class_creation_25__class_decl_dict );
    tmp_dict_name_74 = tmp_class_creation_25__class_decl_dict;
    tmp_key_name_74 = const_str_plain_metaclass;
    tmp_metaclass_name_25 = DICT_GET_ITEM( tmp_dict_name_74, tmp_key_name_74 );
    if ( tmp_metaclass_name_25 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    goto condexpr_end_49;
    condexpr_false_49:;
    CHECK_OBJECT( tmp_class_creation_25__bases );
    tmp_truth_name_24 = CHECK_IF_TRUE( tmp_class_creation_25__bases );
    if ( tmp_truth_name_24 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    tmp_condition_result_145 = tmp_truth_name_24 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_145 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_50;
    }
    else
    {
        goto condexpr_false_50;
    }
    condexpr_true_50:;
    CHECK_OBJECT( tmp_class_creation_25__bases );
    tmp_subscribed_name_24 = tmp_class_creation_25__bases;
    tmp_subscript_name_24 = const_int_0;
    tmp_type_arg_48 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_24, tmp_subscript_name_24, 0 );
    if ( tmp_type_arg_48 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    tmp_metaclass_name_25 = BUILTIN_TYPE1( tmp_type_arg_48 );
    Py_DECREF( tmp_type_arg_48 );
    if ( tmp_metaclass_name_25 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    goto condexpr_end_50;
    condexpr_false_50:;
    tmp_metaclass_name_25 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_25 );
    condexpr_end_50:;
    condexpr_end_49:;
    CHECK_OBJECT( tmp_class_creation_25__bases );
    tmp_bases_name_25 = tmp_class_creation_25__bases;
    tmp_assign_source_241 = SELECT_METACLASS( tmp_metaclass_name_25, tmp_bases_name_25 );
    Py_DECREF( tmp_metaclass_name_25 );
    if ( tmp_assign_source_241 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    assert( tmp_class_creation_25__metaclass == NULL );
    tmp_class_creation_25__metaclass = tmp_assign_source_241;

    }
    {
    nuitka_bool tmp_condition_result_146;
    PyObject *tmp_key_name_75;
    PyObject *tmp_dict_name_75;
    tmp_key_name_75 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_25__class_decl_dict );
    tmp_dict_name_75 = tmp_class_creation_25__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_75, tmp_key_name_75 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    tmp_condition_result_146 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_146 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_96;
    }
    else
    {
        goto branch_no_96;
    }
    branch_yes_96:;
    {
    CHECK_OBJECT( tmp_class_creation_25__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_25__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    }
    branch_no_96:;
    }
    {
    nuitka_bool tmp_condition_result_147;
    PyObject *tmp_source_name_97;
    CHECK_OBJECT( tmp_class_creation_25__metaclass );
    tmp_source_name_97 = tmp_class_creation_25__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_97, const_str_plain___prepare__ );
    tmp_condition_result_147 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_147 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_97;
    }
    else
    {
        goto branch_no_97;
    }
    branch_yes_97:;
    {
    PyObject *tmp_assign_source_242;
    PyObject *tmp_called_name_50;
    PyObject *tmp_source_name_98;
    PyObject *tmp_args_name_49;
    PyObject *tmp_tuple_element_147;
    PyObject *tmp_kw_name_49;
    CHECK_OBJECT( tmp_class_creation_25__metaclass );
    tmp_source_name_98 = tmp_class_creation_25__metaclass;
    tmp_called_name_50 = LOOKUP_ATTRIBUTE( tmp_source_name_98, const_str_plain___prepare__ );
    if ( tmp_called_name_50 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    tmp_tuple_element_147 = const_str_plain_PrivateKeyAlgorithmId;
    tmp_args_name_49 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_147 );
    PyTuple_SET_ITEM( tmp_args_name_49, 0, tmp_tuple_element_147 );
    CHECK_OBJECT( tmp_class_creation_25__bases );
    tmp_tuple_element_147 = tmp_class_creation_25__bases;
    Py_INCREF( tmp_tuple_element_147 );
    PyTuple_SET_ITEM( tmp_args_name_49, 1, tmp_tuple_element_147 );
    CHECK_OBJECT( tmp_class_creation_25__class_decl_dict );
    tmp_kw_name_49 = tmp_class_creation_25__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 454;
    tmp_assign_source_242 = CALL_FUNCTION( tmp_called_name_50, tmp_args_name_49, tmp_kw_name_49 );
    Py_DECREF( tmp_called_name_50 );
    Py_DECREF( tmp_args_name_49 );
    if ( tmp_assign_source_242 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    assert( tmp_class_creation_25__prepared == NULL );
    tmp_class_creation_25__prepared = tmp_assign_source_242;

    }
    {
    nuitka_bool tmp_condition_result_148;
    PyObject *tmp_operand_name_25;
    PyObject *tmp_source_name_99;
    CHECK_OBJECT( tmp_class_creation_25__prepared );
    tmp_source_name_99 = tmp_class_creation_25__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_99, const_str_plain___getitem__ );
    tmp_operand_name_25 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_25 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    tmp_condition_result_148 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_148 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_98;
    }
    else
    {
        goto branch_no_98;
    }
    branch_yes_98:;
    {
    PyObject *tmp_raise_type_25;
    PyObject *tmp_raise_value_25;
    PyObject *tmp_left_name_25;
    PyObject *tmp_right_name_25;
    PyObject *tmp_tuple_element_148;
    PyObject *tmp_getattr_target_25;
    PyObject *tmp_getattr_attr_25;
    PyObject *tmp_getattr_default_25;
    PyObject *tmp_source_name_100;
    PyObject *tmp_type_arg_49;
    tmp_raise_type_25 = PyExc_TypeError;
    tmp_left_name_25 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_25__metaclass );
    tmp_getattr_target_25 = tmp_class_creation_25__metaclass;
    tmp_getattr_attr_25 = const_str_plain___name__;
    tmp_getattr_default_25 = const_str_angle_metaclass;
    tmp_tuple_element_148 = BUILTIN_GETATTR( tmp_getattr_target_25, tmp_getattr_attr_25, tmp_getattr_default_25 );
    if ( tmp_tuple_element_148 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    tmp_right_name_25 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_25, 0, tmp_tuple_element_148 );
    CHECK_OBJECT( tmp_class_creation_25__prepared );
    tmp_type_arg_49 = tmp_class_creation_25__prepared;
    tmp_source_name_100 = BUILTIN_TYPE1( tmp_type_arg_49 );
    assert( !(tmp_source_name_100 == NULL) );
    tmp_tuple_element_148 = LOOKUP_ATTRIBUTE( tmp_source_name_100, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_100 );
    if ( tmp_tuple_element_148 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_25 );

        exception_lineno = 454;

        goto try_except_handler_79;
    }
    PyTuple_SET_ITEM( tmp_right_name_25, 1, tmp_tuple_element_148 );
    tmp_raise_value_25 = BINARY_OPERATION_REMAINDER( tmp_left_name_25, tmp_right_name_25 );
    Py_DECREF( tmp_right_name_25 );
    if ( tmp_raise_value_25 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_79;
    }
    exception_type = tmp_raise_type_25;
    Py_INCREF( tmp_raise_type_25 );
    exception_value = tmp_raise_value_25;
    exception_lineno = 454;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_79;
    }
    branch_no_98:;
    }
    goto branch_end_97;
    branch_no_97:;
    {
    PyObject *tmp_assign_source_243;
    tmp_assign_source_243 = PyDict_New();
    assert( tmp_class_creation_25__prepared == NULL );
    tmp_class_creation_25__prepared = tmp_assign_source_243;

    }
    branch_end_97:;
    }
    {
    PyObject *tmp_assign_source_244;
    {
    PyObject *tmp_set_locals_25;
    CHECK_OBJECT( tmp_class_creation_25__prepared );
    tmp_set_locals_25 = tmp_class_creation_25__prepared;
    locals_asn1crypto$keys_454 = tmp_set_locals_25;
    Py_INCREF( tmp_set_locals_25 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_454, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_81;
    }
    }
    {
    tmp_dictset_value = const_str_digest_54c5f949e6f060375bee002a4b16175c;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_454, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_81;
    }
    }
    {
    tmp_dictset_value = const_str_plain_PrivateKeyAlgorithmId;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_454, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_81;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_d9f931ba84bc97837e4f2d8933b0221d_24, codeobj_d9f931ba84bc97837e4f2d8933b0221d, module_asn1crypto$keys, sizeof(void *) );
    frame_d9f931ba84bc97837e4f2d8933b0221d_24 = cache_frame_d9f931ba84bc97837e4f2d8933b0221d_24;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_d9f931ba84bc97837e4f2d8933b0221d_24 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_d9f931ba84bc97837e4f2d8933b0221d_24 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = PyDict_Copy( const_dict_358c8392f97c9c9ab13928ad959c95a7 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_454, const_str_plain__map, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 463;
        type_description_2 = "o";
        goto frame_exception_exit_24;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_d9f931ba84bc97837e4f2d8933b0221d_24 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_23;

    frame_exception_exit_24:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_d9f931ba84bc97837e4f2d8933b0221d_24 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_d9f931ba84bc97837e4f2d8933b0221d_24, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_d9f931ba84bc97837e4f2d8933b0221d_24->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_d9f931ba84bc97837e4f2d8933b0221d_24, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_d9f931ba84bc97837e4f2d8933b0221d_24,
        type_description_2,
        outline_24_var___class__
    );


    // Release cached frame.
    if ( frame_d9f931ba84bc97837e4f2d8933b0221d_24 == cache_frame_d9f931ba84bc97837e4f2d8933b0221d_24 )
    {
        Py_DECREF( frame_d9f931ba84bc97837e4f2d8933b0221d_24 );
    }
    cache_frame_d9f931ba84bc97837e4f2d8933b0221d_24 = NULL;

    assertFrameObject( frame_d9f931ba84bc97837e4f2d8933b0221d_24 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_23;

    frame_no_exception_23:;
    goto skip_nested_handling_23;
    nested_frame_exit_23:;

    goto try_except_handler_81;
    skip_nested_handling_23:;
    {
    nuitka_bool tmp_condition_result_149;
    PyObject *tmp_compexpr_left_24;
    PyObject *tmp_compexpr_right_24;
    CHECK_OBJECT( tmp_class_creation_25__bases );
    tmp_compexpr_left_24 = tmp_class_creation_25__bases;
    CHECK_OBJECT( tmp_class_creation_25__bases_orig );
    tmp_compexpr_right_24 = tmp_class_creation_25__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_24, tmp_compexpr_right_24 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_81;
    }
    tmp_condition_result_149 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_149 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_99;
    }
    else
    {
        goto branch_no_99;
    }
    branch_yes_99:;
    {
    CHECK_OBJECT( tmp_class_creation_25__bases_orig );
    tmp_dictset_value = tmp_class_creation_25__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_454, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_81;
    }
    }
    branch_no_99:;
    }
    {
    PyObject *tmp_assign_source_245;
    PyObject *tmp_called_name_51;
    PyObject *tmp_args_name_50;
    PyObject *tmp_tuple_element_149;
    PyObject *tmp_kw_name_50;
    CHECK_OBJECT( tmp_class_creation_25__metaclass );
    tmp_called_name_51 = tmp_class_creation_25__metaclass;
    tmp_tuple_element_149 = const_str_plain_PrivateKeyAlgorithmId;
    tmp_args_name_50 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_149 );
    PyTuple_SET_ITEM( tmp_args_name_50, 0, tmp_tuple_element_149 );
    CHECK_OBJECT( tmp_class_creation_25__bases );
    tmp_tuple_element_149 = tmp_class_creation_25__bases;
    Py_INCREF( tmp_tuple_element_149 );
    PyTuple_SET_ITEM( tmp_args_name_50, 1, tmp_tuple_element_149 );
    tmp_tuple_element_149 = locals_asn1crypto$keys_454;
    Py_INCREF( tmp_tuple_element_149 );
    PyTuple_SET_ITEM( tmp_args_name_50, 2, tmp_tuple_element_149 );
    CHECK_OBJECT( tmp_class_creation_25__class_decl_dict );
    tmp_kw_name_50 = tmp_class_creation_25__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 454;
    tmp_assign_source_245 = CALL_FUNCTION( tmp_called_name_51, tmp_args_name_50, tmp_kw_name_50 );
    Py_DECREF( tmp_args_name_50 );
    if ( tmp_assign_source_245 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;

        goto try_except_handler_81;
    }
    assert( outline_24_var___class__ == NULL );
    outline_24_var___class__ = tmp_assign_source_245;

    }
    {
    CHECK_OBJECT( outline_24_var___class__ );
    tmp_assign_source_244 = outline_24_var___class__;
    Py_INCREF( tmp_assign_source_244 );
    goto try_return_handler_81;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_81:;
    {
    Py_DECREF( locals_asn1crypto$keys_454 );
    locals_asn1crypto$keys_454 = NULL;
    }
    {
    goto try_return_handler_80;
    }
    // Exception handler code:
    try_except_handler_81:;
    exception_keeper_type_79 = exception_type;
    exception_keeper_value_79 = exception_value;
    exception_keeper_tb_79 = exception_tb;
    exception_keeper_lineno_79 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_454 );
    locals_asn1crypto$keys_454 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_79;
    exception_value = exception_keeper_value_79;
    exception_tb = exception_keeper_tb_79;
    exception_lineno = exception_keeper_lineno_79;

    goto try_except_handler_80;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_80:;
    {
    CHECK_OBJECT( (PyObject *)outline_24_var___class__ );
    Py_DECREF( outline_24_var___class__ );
    outline_24_var___class__ = NULL;

    }
    {
    goto outline_result_25;
    }
    // Exception handler code:
    try_except_handler_80:;
    exception_keeper_type_80 = exception_type;
    exception_keeper_value_80 = exception_value;
    exception_keeper_tb_80 = exception_tb;
    exception_keeper_lineno_80 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_80;
    exception_value = exception_keeper_value_80;
    exception_tb = exception_keeper_tb_80;
    exception_lineno = exception_keeper_lineno_80;

    goto outline_exception_25;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_25:;
    exception_lineno = 454;
    goto try_except_handler_79;
    outline_result_25:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithmId, tmp_assign_source_244 );
    }
    goto try_end_31;
    // Exception handler code:
    try_except_handler_79:;
    exception_keeper_type_81 = exception_type;
    exception_keeper_value_81 = exception_value;
    exception_keeper_tb_81 = exception_tb;
    exception_keeper_lineno_81 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_25__bases );
    tmp_class_creation_25__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_25__class_decl_dict );
    tmp_class_creation_25__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_25__metaclass );
    tmp_class_creation_25__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_25__prepared );
    tmp_class_creation_25__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_81;
    exception_value = exception_keeper_value_81;
    exception_tb = exception_keeper_tb_81;
    exception_lineno = exception_keeper_lineno_81;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_31:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_25__bases );
    Py_DECREF( tmp_class_creation_25__bases );
    tmp_class_creation_25__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_25__class_decl_dict );
    Py_DECREF( tmp_class_creation_25__class_decl_dict );
    tmp_class_creation_25__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_25__metaclass );
    Py_DECREF( tmp_class_creation_25__metaclass );
    tmp_class_creation_25__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_25__prepared );
    Py_DECREF( tmp_class_creation_25__prepared );
    tmp_class_creation_25__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_246;
    PyObject *tmp_tuple_element_150;
    PyObject *tmp_mvar_value_86;
    PyObject *tmp_mvar_value_87;
    tmp_mvar_value_86 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain__ForceNullParameters );

    if (unlikely( tmp_mvar_value_86 == NULL ))
    {
        tmp_mvar_value_86 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ForceNullParameters );
    }

    if ( tmp_mvar_value_86 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ForceNullParameters" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 473;

        goto try_except_handler_82;
    }

    tmp_tuple_element_150 = tmp_mvar_value_86;
    tmp_assign_source_246 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_150 );
    PyTuple_SET_ITEM( tmp_assign_source_246, 0, tmp_tuple_element_150 );
    tmp_mvar_value_87 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_87 == NULL ))
    {
        tmp_mvar_value_87 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_87 == NULL )
    {
        Py_DECREF( tmp_assign_source_246 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 473;

        goto try_except_handler_82;
    }

    tmp_tuple_element_150 = tmp_mvar_value_87;
    Py_INCREF( tmp_tuple_element_150 );
    PyTuple_SET_ITEM( tmp_assign_source_246, 1, tmp_tuple_element_150 );
    assert( tmp_class_creation_26__bases_orig == NULL );
    tmp_class_creation_26__bases_orig = tmp_assign_source_246;

    }
    {
    PyObject *tmp_assign_source_247;
    PyObject *tmp_dircall_arg1_25;
    CHECK_OBJECT( tmp_class_creation_26__bases_orig );
    tmp_dircall_arg1_25 = tmp_class_creation_26__bases_orig;
    Py_INCREF( tmp_dircall_arg1_25 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_25};
        tmp_assign_source_247 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_247 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    assert( tmp_class_creation_26__bases == NULL );
    tmp_class_creation_26__bases = tmp_assign_source_247;

    }
    {
    PyObject *tmp_assign_source_248;
    tmp_assign_source_248 = PyDict_New();
    assert( tmp_class_creation_26__class_decl_dict == NULL );
    tmp_class_creation_26__class_decl_dict = tmp_assign_source_248;

    }
    {
    PyObject *tmp_assign_source_249;
    PyObject *tmp_metaclass_name_26;
    nuitka_bool tmp_condition_result_150;
    PyObject *tmp_key_name_76;
    PyObject *tmp_dict_name_76;
    PyObject *tmp_dict_name_77;
    PyObject *tmp_key_name_77;
    nuitka_bool tmp_condition_result_151;
    int tmp_truth_name_25;
    PyObject *tmp_type_arg_50;
    PyObject *tmp_subscribed_name_25;
    PyObject *tmp_subscript_name_25;
    PyObject *tmp_bases_name_26;
    tmp_key_name_76 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_26__class_decl_dict );
    tmp_dict_name_76 = tmp_class_creation_26__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_76, tmp_key_name_76 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    tmp_condition_result_150 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_150 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_51;
    }
    else
    {
        goto condexpr_false_51;
    }
    condexpr_true_51:;
    CHECK_OBJECT( tmp_class_creation_26__class_decl_dict );
    tmp_dict_name_77 = tmp_class_creation_26__class_decl_dict;
    tmp_key_name_77 = const_str_plain_metaclass;
    tmp_metaclass_name_26 = DICT_GET_ITEM( tmp_dict_name_77, tmp_key_name_77 );
    if ( tmp_metaclass_name_26 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    goto condexpr_end_51;
    condexpr_false_51:;
    CHECK_OBJECT( tmp_class_creation_26__bases );
    tmp_truth_name_25 = CHECK_IF_TRUE( tmp_class_creation_26__bases );
    if ( tmp_truth_name_25 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    tmp_condition_result_151 = tmp_truth_name_25 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_151 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_52;
    }
    else
    {
        goto condexpr_false_52;
    }
    condexpr_true_52:;
    CHECK_OBJECT( tmp_class_creation_26__bases );
    tmp_subscribed_name_25 = tmp_class_creation_26__bases;
    tmp_subscript_name_25 = const_int_0;
    tmp_type_arg_50 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_25, tmp_subscript_name_25, 0 );
    if ( tmp_type_arg_50 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    tmp_metaclass_name_26 = BUILTIN_TYPE1( tmp_type_arg_50 );
    Py_DECREF( tmp_type_arg_50 );
    if ( tmp_metaclass_name_26 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    goto condexpr_end_52;
    condexpr_false_52:;
    tmp_metaclass_name_26 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_26 );
    condexpr_end_52:;
    condexpr_end_51:;
    CHECK_OBJECT( tmp_class_creation_26__bases );
    tmp_bases_name_26 = tmp_class_creation_26__bases;
    tmp_assign_source_249 = SELECT_METACLASS( tmp_metaclass_name_26, tmp_bases_name_26 );
    Py_DECREF( tmp_metaclass_name_26 );
    if ( tmp_assign_source_249 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    assert( tmp_class_creation_26__metaclass == NULL );
    tmp_class_creation_26__metaclass = tmp_assign_source_249;

    }
    {
    nuitka_bool tmp_condition_result_152;
    PyObject *tmp_key_name_78;
    PyObject *tmp_dict_name_78;
    tmp_key_name_78 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_26__class_decl_dict );
    tmp_dict_name_78 = tmp_class_creation_26__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_78, tmp_key_name_78 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    tmp_condition_result_152 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_152 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_100;
    }
    else
    {
        goto branch_no_100;
    }
    branch_yes_100:;
    {
    CHECK_OBJECT( tmp_class_creation_26__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_26__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    }
    branch_no_100:;
    }
    {
    nuitka_bool tmp_condition_result_153;
    PyObject *tmp_source_name_101;
    CHECK_OBJECT( tmp_class_creation_26__metaclass );
    tmp_source_name_101 = tmp_class_creation_26__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_101, const_str_plain___prepare__ );
    tmp_condition_result_153 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_153 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_101;
    }
    else
    {
        goto branch_no_101;
    }
    branch_yes_101:;
    {
    PyObject *tmp_assign_source_250;
    PyObject *tmp_called_name_52;
    PyObject *tmp_source_name_102;
    PyObject *tmp_args_name_51;
    PyObject *tmp_tuple_element_151;
    PyObject *tmp_kw_name_51;
    CHECK_OBJECT( tmp_class_creation_26__metaclass );
    tmp_source_name_102 = tmp_class_creation_26__metaclass;
    tmp_called_name_52 = LOOKUP_ATTRIBUTE( tmp_source_name_102, const_str_plain___prepare__ );
    if ( tmp_called_name_52 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    tmp_tuple_element_151 = const_str_plain_PrivateKeyAlgorithm;
    tmp_args_name_51 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_151 );
    PyTuple_SET_ITEM( tmp_args_name_51, 0, tmp_tuple_element_151 );
    CHECK_OBJECT( tmp_class_creation_26__bases );
    tmp_tuple_element_151 = tmp_class_creation_26__bases;
    Py_INCREF( tmp_tuple_element_151 );
    PyTuple_SET_ITEM( tmp_args_name_51, 1, tmp_tuple_element_151 );
    CHECK_OBJECT( tmp_class_creation_26__class_decl_dict );
    tmp_kw_name_51 = tmp_class_creation_26__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 473;
    tmp_assign_source_250 = CALL_FUNCTION( tmp_called_name_52, tmp_args_name_51, tmp_kw_name_51 );
    Py_DECREF( tmp_called_name_52 );
    Py_DECREF( tmp_args_name_51 );
    if ( tmp_assign_source_250 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    assert( tmp_class_creation_26__prepared == NULL );
    tmp_class_creation_26__prepared = tmp_assign_source_250;

    }
    {
    nuitka_bool tmp_condition_result_154;
    PyObject *tmp_operand_name_26;
    PyObject *tmp_source_name_103;
    CHECK_OBJECT( tmp_class_creation_26__prepared );
    tmp_source_name_103 = tmp_class_creation_26__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_103, const_str_plain___getitem__ );
    tmp_operand_name_26 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_26 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    tmp_condition_result_154 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_154 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_102;
    }
    else
    {
        goto branch_no_102;
    }
    branch_yes_102:;
    {
    PyObject *tmp_raise_type_26;
    PyObject *tmp_raise_value_26;
    PyObject *tmp_left_name_26;
    PyObject *tmp_right_name_26;
    PyObject *tmp_tuple_element_152;
    PyObject *tmp_getattr_target_26;
    PyObject *tmp_getattr_attr_26;
    PyObject *tmp_getattr_default_26;
    PyObject *tmp_source_name_104;
    PyObject *tmp_type_arg_51;
    tmp_raise_type_26 = PyExc_TypeError;
    tmp_left_name_26 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_26__metaclass );
    tmp_getattr_target_26 = tmp_class_creation_26__metaclass;
    tmp_getattr_attr_26 = const_str_plain___name__;
    tmp_getattr_default_26 = const_str_angle_metaclass;
    tmp_tuple_element_152 = BUILTIN_GETATTR( tmp_getattr_target_26, tmp_getattr_attr_26, tmp_getattr_default_26 );
    if ( tmp_tuple_element_152 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    tmp_right_name_26 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_26, 0, tmp_tuple_element_152 );
    CHECK_OBJECT( tmp_class_creation_26__prepared );
    tmp_type_arg_51 = tmp_class_creation_26__prepared;
    tmp_source_name_104 = BUILTIN_TYPE1( tmp_type_arg_51 );
    assert( !(tmp_source_name_104 == NULL) );
    tmp_tuple_element_152 = LOOKUP_ATTRIBUTE( tmp_source_name_104, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_104 );
    if ( tmp_tuple_element_152 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_26 );

        exception_lineno = 473;

        goto try_except_handler_82;
    }
    PyTuple_SET_ITEM( tmp_right_name_26, 1, tmp_tuple_element_152 );
    tmp_raise_value_26 = BINARY_OPERATION_REMAINDER( tmp_left_name_26, tmp_right_name_26 );
    Py_DECREF( tmp_right_name_26 );
    if ( tmp_raise_value_26 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_82;
    }
    exception_type = tmp_raise_type_26;
    Py_INCREF( tmp_raise_type_26 );
    exception_value = tmp_raise_value_26;
    exception_lineno = 473;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_82;
    }
    branch_no_102:;
    }
    goto branch_end_101;
    branch_no_101:;
    {
    PyObject *tmp_assign_source_251;
    tmp_assign_source_251 = PyDict_New();
    assert( tmp_class_creation_26__prepared == NULL );
    tmp_class_creation_26__prepared = tmp_assign_source_251;

    }
    branch_end_101:;
    }
    {
    PyObject *tmp_assign_source_252;
    {
    PyObject *tmp_set_locals_26;
    CHECK_OBJECT( tmp_class_creation_26__prepared );
    tmp_set_locals_26 = tmp_class_creation_26__prepared;
    locals_asn1crypto$keys_473 = tmp_set_locals_26;
    Py_INCREF( tmp_set_locals_26 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_473, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_84;
    }
    }
    {
    tmp_dictset_value = const_str_digest_54aca1b98e28ccf6683291fe12f196c6;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_473, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_84;
    }
    }
    {
    tmp_dictset_value = const_str_plain_PrivateKeyAlgorithm;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_473, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_84;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_a6738716f277793498fb1a6edeb14a74_25, codeobj_a6738716f277793498fb1a6edeb14a74, module_asn1crypto$keys, sizeof(void *) );
    frame_a6738716f277793498fb1a6edeb14a74_25 = cache_frame_a6738716f277793498fb1a6edeb14a74_25;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_a6738716f277793498fb1a6edeb14a74_25 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_a6738716f277793498fb1a6edeb14a74_25 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_14;
    PyObject *tmp_tuple_element_153;
    PyObject *tmp_mvar_value_88;
    PyObject *tmp_tuple_element_154;
    PyObject *tmp_mvar_value_89;
    tmp_tuple_element_153 = const_str_plain_algorithm;
    tmp_list_element_14 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_153 );
    PyTuple_SET_ITEM( tmp_list_element_14, 0, tmp_tuple_element_153 );
    tmp_tuple_element_153 = PyObject_GetItem( locals_asn1crypto$keys_473, const_str_plain_PrivateKeyAlgorithmId );

    if ( tmp_tuple_element_153 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_88 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithmId );

        if (unlikely( tmp_mvar_value_88 == NULL ))
        {
            tmp_mvar_value_88 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithmId );
        }

        if ( tmp_mvar_value_88 == NULL )
        {
            Py_DECREF( tmp_list_element_14 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PrivateKeyAlgorithmId" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 480;
            type_description_2 = "o";
            goto frame_exception_exit_25;
        }

        tmp_tuple_element_153 = tmp_mvar_value_88;
        Py_INCREF( tmp_tuple_element_153 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_14, 1, tmp_tuple_element_153 );
    tmp_dictset_value = PyList_New( 2 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_14 );
    tmp_tuple_element_154 = const_str_plain_parameters;
    tmp_list_element_14 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_154 );
    PyTuple_SET_ITEM( tmp_list_element_14, 0, tmp_tuple_element_154 );
    tmp_tuple_element_154 = PyObject_GetItem( locals_asn1crypto$keys_473, const_str_plain_Any );

    if ( tmp_tuple_element_154 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_89 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Any );

        if (unlikely( tmp_mvar_value_89 == NULL ))
        {
            tmp_mvar_value_89 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Any );
        }

        if ( tmp_mvar_value_89 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_14 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Any" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 481;
            type_description_2 = "o";
            goto frame_exception_exit_25;
        }

        tmp_tuple_element_154 = tmp_mvar_value_89;
        Py_INCREF( tmp_tuple_element_154 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_14, 1, tmp_tuple_element_154 );
    tmp_tuple_element_154 = PyDict_Copy( const_dict_e0d63c4beb9400e233c3204dcf4f1861 );
    PyTuple_SET_ITEM( tmp_list_element_14, 2, tmp_tuple_element_154 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_14 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_473, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 479;
        type_description_2 = "o";
        goto frame_exception_exit_25;
    }
    }
    {
    tmp_dictset_value = const_tuple_str_plain_algorithm_str_plain_parameters_tuple;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_473, const_str_plain__oid_pair, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 484;
        type_description_2 = "o";
        goto frame_exception_exit_25;
    }
    }
    {
    PyObject *tmp_dict_key_7;
    PyObject *tmp_dict_value_7;
    PyObject *tmp_mvar_value_90;
    PyObject *tmp_dict_key_8;
    PyObject *tmp_dict_value_8;
    PyObject *tmp_mvar_value_91;
    tmp_dict_key_7 = const_str_plain_dsa;
    tmp_dict_value_7 = PyObject_GetItem( locals_asn1crypto$keys_473, const_str_plain_DSAParams );

    if ( tmp_dict_value_7 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_90 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DSAParams );

        if (unlikely( tmp_mvar_value_90 == NULL ))
        {
            tmp_mvar_value_90 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DSAParams );
        }

        if ( tmp_mvar_value_90 == NULL )
        {

            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DSAParams" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 486;
            type_description_2 = "o";
            goto frame_exception_exit_25;
        }

        tmp_dict_value_7 = tmp_mvar_value_90;
        Py_INCREF( tmp_dict_value_7 );
        }
    }

    tmp_dictset_value = _PyDict_NewPresized( 2 );
    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_7, tmp_dict_value_7 );
    Py_DECREF( tmp_dict_value_7 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_8 = const_str_plain_ec;
    tmp_dict_value_8 = PyObject_GetItem( locals_asn1crypto$keys_473, const_str_plain_ECDomainParameters );

    if ( tmp_dict_value_8 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_91 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECDomainParameters );

        if (unlikely( tmp_mvar_value_91 == NULL ))
        {
            tmp_mvar_value_91 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECDomainParameters );
        }

        if ( tmp_mvar_value_91 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECDomainParameters" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 487;
            type_description_2 = "o";
            goto frame_exception_exit_25;
        }

        tmp_dict_value_8 = tmp_mvar_value_91;
        Py_INCREF( tmp_dict_value_8 );
        }
    }

    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_8, tmp_dict_value_8 );
    Py_DECREF( tmp_dict_value_8 );
    assert( !(tmp_res != 0) );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_473, const_str_plain__oid_specs, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 485;
        type_description_2 = "o";
        goto frame_exception_exit_25;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a6738716f277793498fb1a6edeb14a74_25 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_24;

    frame_exception_exit_25:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a6738716f277793498fb1a6edeb14a74_25 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_a6738716f277793498fb1a6edeb14a74_25, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_a6738716f277793498fb1a6edeb14a74_25->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_a6738716f277793498fb1a6edeb14a74_25, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_a6738716f277793498fb1a6edeb14a74_25,
        type_description_2,
        outline_25_var___class__
    );


    // Release cached frame.
    if ( frame_a6738716f277793498fb1a6edeb14a74_25 == cache_frame_a6738716f277793498fb1a6edeb14a74_25 )
    {
        Py_DECREF( frame_a6738716f277793498fb1a6edeb14a74_25 );
    }
    cache_frame_a6738716f277793498fb1a6edeb14a74_25 = NULL;

    assertFrameObject( frame_a6738716f277793498fb1a6edeb14a74_25 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_24;

    frame_no_exception_24:;
    goto skip_nested_handling_24;
    nested_frame_exit_24:;

    goto try_except_handler_84;
    skip_nested_handling_24:;
    {
    nuitka_bool tmp_condition_result_155;
    PyObject *tmp_compexpr_left_25;
    PyObject *tmp_compexpr_right_25;
    CHECK_OBJECT( tmp_class_creation_26__bases );
    tmp_compexpr_left_25 = tmp_class_creation_26__bases;
    CHECK_OBJECT( tmp_class_creation_26__bases_orig );
    tmp_compexpr_right_25 = tmp_class_creation_26__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_25, tmp_compexpr_right_25 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_84;
    }
    tmp_condition_result_155 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_155 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_103;
    }
    else
    {
        goto branch_no_103;
    }
    branch_yes_103:;
    {
    CHECK_OBJECT( tmp_class_creation_26__bases_orig );
    tmp_dictset_value = tmp_class_creation_26__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_473, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_84;
    }
    }
    branch_no_103:;
    }
    {
    PyObject *tmp_assign_source_253;
    PyObject *tmp_called_name_53;
    PyObject *tmp_args_name_52;
    PyObject *tmp_tuple_element_155;
    PyObject *tmp_kw_name_52;
    CHECK_OBJECT( tmp_class_creation_26__metaclass );
    tmp_called_name_53 = tmp_class_creation_26__metaclass;
    tmp_tuple_element_155 = const_str_plain_PrivateKeyAlgorithm;
    tmp_args_name_52 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_155 );
    PyTuple_SET_ITEM( tmp_args_name_52, 0, tmp_tuple_element_155 );
    CHECK_OBJECT( tmp_class_creation_26__bases );
    tmp_tuple_element_155 = tmp_class_creation_26__bases;
    Py_INCREF( tmp_tuple_element_155 );
    PyTuple_SET_ITEM( tmp_args_name_52, 1, tmp_tuple_element_155 );
    tmp_tuple_element_155 = locals_asn1crypto$keys_473;
    Py_INCREF( tmp_tuple_element_155 );
    PyTuple_SET_ITEM( tmp_args_name_52, 2, tmp_tuple_element_155 );
    CHECK_OBJECT( tmp_class_creation_26__class_decl_dict );
    tmp_kw_name_52 = tmp_class_creation_26__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 473;
    tmp_assign_source_253 = CALL_FUNCTION( tmp_called_name_53, tmp_args_name_52, tmp_kw_name_52 );
    Py_DECREF( tmp_args_name_52 );
    if ( tmp_assign_source_253 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;

        goto try_except_handler_84;
    }
    assert( outline_25_var___class__ == NULL );
    outline_25_var___class__ = tmp_assign_source_253;

    }
    {
    CHECK_OBJECT( outline_25_var___class__ );
    tmp_assign_source_252 = outline_25_var___class__;
    Py_INCREF( tmp_assign_source_252 );
    goto try_return_handler_84;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_84:;
    {
    Py_DECREF( locals_asn1crypto$keys_473 );
    locals_asn1crypto$keys_473 = NULL;
    }
    {
    goto try_return_handler_83;
    }
    // Exception handler code:
    try_except_handler_84:;
    exception_keeper_type_82 = exception_type;
    exception_keeper_value_82 = exception_value;
    exception_keeper_tb_82 = exception_tb;
    exception_keeper_lineno_82 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_473 );
    locals_asn1crypto$keys_473 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_82;
    exception_value = exception_keeper_value_82;
    exception_tb = exception_keeper_tb_82;
    exception_lineno = exception_keeper_lineno_82;

    goto try_except_handler_83;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_83:;
    {
    CHECK_OBJECT( (PyObject *)outline_25_var___class__ );
    Py_DECREF( outline_25_var___class__ );
    outline_25_var___class__ = NULL;

    }
    {
    goto outline_result_26;
    }
    // Exception handler code:
    try_except_handler_83:;
    exception_keeper_type_83 = exception_type;
    exception_keeper_value_83 = exception_value;
    exception_keeper_tb_83 = exception_tb;
    exception_keeper_lineno_83 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_83;
    exception_value = exception_keeper_value_83;
    exception_tb = exception_keeper_tb_83;
    exception_lineno = exception_keeper_lineno_83;

    goto outline_exception_26;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_26:;
    exception_lineno = 473;
    goto try_except_handler_82;
    outline_result_26:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithm, tmp_assign_source_252 );
    }
    goto try_end_32;
    // Exception handler code:
    try_except_handler_82:;
    exception_keeper_type_84 = exception_type;
    exception_keeper_value_84 = exception_value;
    exception_keeper_tb_84 = exception_tb;
    exception_keeper_lineno_84 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_26__bases );
    tmp_class_creation_26__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_26__class_decl_dict );
    tmp_class_creation_26__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_26__metaclass );
    tmp_class_creation_26__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_26__prepared );
    tmp_class_creation_26__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_84;
    exception_value = exception_keeper_value_84;
    exception_tb = exception_keeper_tb_84;
    exception_lineno = exception_keeper_lineno_84;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_32:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_26__bases );
    Py_DECREF( tmp_class_creation_26__bases );
    tmp_class_creation_26__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_26__class_decl_dict );
    Py_DECREF( tmp_class_creation_26__class_decl_dict );
    tmp_class_creation_26__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_26__metaclass );
    Py_DECREF( tmp_class_creation_26__metaclass );
    tmp_class_creation_26__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_26__prepared );
    Py_DECREF( tmp_class_creation_26__prepared );
    tmp_class_creation_26__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_254;
    PyObject *tmp_tuple_element_156;
    PyObject *tmp_mvar_value_92;
    tmp_mvar_value_92 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_92 == NULL ))
    {
        tmp_mvar_value_92 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_92 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 491;

        goto try_except_handler_85;
    }

    tmp_tuple_element_156 = tmp_mvar_value_92;
    tmp_assign_source_254 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_156 );
    PyTuple_SET_ITEM( tmp_assign_source_254, 0, tmp_tuple_element_156 );
    assert( tmp_class_creation_27__bases_orig == NULL );
    tmp_class_creation_27__bases_orig = tmp_assign_source_254;

    }
    {
    PyObject *tmp_assign_source_255;
    PyObject *tmp_dircall_arg1_26;
    CHECK_OBJECT( tmp_class_creation_27__bases_orig );
    tmp_dircall_arg1_26 = tmp_class_creation_27__bases_orig;
    Py_INCREF( tmp_dircall_arg1_26 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_26};
        tmp_assign_source_255 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_255 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    assert( tmp_class_creation_27__bases == NULL );
    tmp_class_creation_27__bases = tmp_assign_source_255;

    }
    {
    PyObject *tmp_assign_source_256;
    tmp_assign_source_256 = PyDict_New();
    assert( tmp_class_creation_27__class_decl_dict == NULL );
    tmp_class_creation_27__class_decl_dict = tmp_assign_source_256;

    }
    {
    PyObject *tmp_assign_source_257;
    PyObject *tmp_metaclass_name_27;
    nuitka_bool tmp_condition_result_156;
    PyObject *tmp_key_name_79;
    PyObject *tmp_dict_name_79;
    PyObject *tmp_dict_name_80;
    PyObject *tmp_key_name_80;
    nuitka_bool tmp_condition_result_157;
    int tmp_truth_name_26;
    PyObject *tmp_type_arg_52;
    PyObject *tmp_subscribed_name_26;
    PyObject *tmp_subscript_name_26;
    PyObject *tmp_bases_name_27;
    tmp_key_name_79 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_27__class_decl_dict );
    tmp_dict_name_79 = tmp_class_creation_27__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_79, tmp_key_name_79 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    tmp_condition_result_156 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_156 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_53;
    }
    else
    {
        goto condexpr_false_53;
    }
    condexpr_true_53:;
    CHECK_OBJECT( tmp_class_creation_27__class_decl_dict );
    tmp_dict_name_80 = tmp_class_creation_27__class_decl_dict;
    tmp_key_name_80 = const_str_plain_metaclass;
    tmp_metaclass_name_27 = DICT_GET_ITEM( tmp_dict_name_80, tmp_key_name_80 );
    if ( tmp_metaclass_name_27 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    goto condexpr_end_53;
    condexpr_false_53:;
    CHECK_OBJECT( tmp_class_creation_27__bases );
    tmp_truth_name_26 = CHECK_IF_TRUE( tmp_class_creation_27__bases );
    if ( tmp_truth_name_26 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    tmp_condition_result_157 = tmp_truth_name_26 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_157 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_54;
    }
    else
    {
        goto condexpr_false_54;
    }
    condexpr_true_54:;
    CHECK_OBJECT( tmp_class_creation_27__bases );
    tmp_subscribed_name_26 = tmp_class_creation_27__bases;
    tmp_subscript_name_26 = const_int_0;
    tmp_type_arg_52 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_26, tmp_subscript_name_26, 0 );
    if ( tmp_type_arg_52 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    tmp_metaclass_name_27 = BUILTIN_TYPE1( tmp_type_arg_52 );
    Py_DECREF( tmp_type_arg_52 );
    if ( tmp_metaclass_name_27 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    goto condexpr_end_54;
    condexpr_false_54:;
    tmp_metaclass_name_27 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_27 );
    condexpr_end_54:;
    condexpr_end_53:;
    CHECK_OBJECT( tmp_class_creation_27__bases );
    tmp_bases_name_27 = tmp_class_creation_27__bases;
    tmp_assign_source_257 = SELECT_METACLASS( tmp_metaclass_name_27, tmp_bases_name_27 );
    Py_DECREF( tmp_metaclass_name_27 );
    if ( tmp_assign_source_257 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    assert( tmp_class_creation_27__metaclass == NULL );
    tmp_class_creation_27__metaclass = tmp_assign_source_257;

    }
    {
    nuitka_bool tmp_condition_result_158;
    PyObject *tmp_key_name_81;
    PyObject *tmp_dict_name_81;
    tmp_key_name_81 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_27__class_decl_dict );
    tmp_dict_name_81 = tmp_class_creation_27__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_81, tmp_key_name_81 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    tmp_condition_result_158 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_158 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_104;
    }
    else
    {
        goto branch_no_104;
    }
    branch_yes_104:;
    {
    CHECK_OBJECT( tmp_class_creation_27__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_27__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    }
    branch_no_104:;
    }
    {
    nuitka_bool tmp_condition_result_159;
    PyObject *tmp_source_name_105;
    CHECK_OBJECT( tmp_class_creation_27__metaclass );
    tmp_source_name_105 = tmp_class_creation_27__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_105, const_str_plain___prepare__ );
    tmp_condition_result_159 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_159 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_105;
    }
    else
    {
        goto branch_no_105;
    }
    branch_yes_105:;
    {
    PyObject *tmp_assign_source_258;
    PyObject *tmp_called_name_54;
    PyObject *tmp_source_name_106;
    PyObject *tmp_args_name_53;
    PyObject *tmp_tuple_element_157;
    PyObject *tmp_kw_name_53;
    CHECK_OBJECT( tmp_class_creation_27__metaclass );
    tmp_source_name_106 = tmp_class_creation_27__metaclass;
    tmp_called_name_54 = LOOKUP_ATTRIBUTE( tmp_source_name_106, const_str_plain___prepare__ );
    if ( tmp_called_name_54 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    tmp_tuple_element_157 = const_str_plain_PrivateKeyInfo;
    tmp_args_name_53 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_157 );
    PyTuple_SET_ITEM( tmp_args_name_53, 0, tmp_tuple_element_157 );
    CHECK_OBJECT( tmp_class_creation_27__bases );
    tmp_tuple_element_157 = tmp_class_creation_27__bases;
    Py_INCREF( tmp_tuple_element_157 );
    PyTuple_SET_ITEM( tmp_args_name_53, 1, tmp_tuple_element_157 );
    CHECK_OBJECT( tmp_class_creation_27__class_decl_dict );
    tmp_kw_name_53 = tmp_class_creation_27__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 491;
    tmp_assign_source_258 = CALL_FUNCTION( tmp_called_name_54, tmp_args_name_53, tmp_kw_name_53 );
    Py_DECREF( tmp_called_name_54 );
    Py_DECREF( tmp_args_name_53 );
    if ( tmp_assign_source_258 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    assert( tmp_class_creation_27__prepared == NULL );
    tmp_class_creation_27__prepared = tmp_assign_source_258;

    }
    {
    nuitka_bool tmp_condition_result_160;
    PyObject *tmp_operand_name_27;
    PyObject *tmp_source_name_107;
    CHECK_OBJECT( tmp_class_creation_27__prepared );
    tmp_source_name_107 = tmp_class_creation_27__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_107, const_str_plain___getitem__ );
    tmp_operand_name_27 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_27 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    tmp_condition_result_160 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_160 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_106;
    }
    else
    {
        goto branch_no_106;
    }
    branch_yes_106:;
    {
    PyObject *tmp_raise_type_27;
    PyObject *tmp_raise_value_27;
    PyObject *tmp_left_name_27;
    PyObject *tmp_right_name_27;
    PyObject *tmp_tuple_element_158;
    PyObject *tmp_getattr_target_27;
    PyObject *tmp_getattr_attr_27;
    PyObject *tmp_getattr_default_27;
    PyObject *tmp_source_name_108;
    PyObject *tmp_type_arg_53;
    tmp_raise_type_27 = PyExc_TypeError;
    tmp_left_name_27 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_27__metaclass );
    tmp_getattr_target_27 = tmp_class_creation_27__metaclass;
    tmp_getattr_attr_27 = const_str_plain___name__;
    tmp_getattr_default_27 = const_str_angle_metaclass;
    tmp_tuple_element_158 = BUILTIN_GETATTR( tmp_getattr_target_27, tmp_getattr_attr_27, tmp_getattr_default_27 );
    if ( tmp_tuple_element_158 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    tmp_right_name_27 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_27, 0, tmp_tuple_element_158 );
    CHECK_OBJECT( tmp_class_creation_27__prepared );
    tmp_type_arg_53 = tmp_class_creation_27__prepared;
    tmp_source_name_108 = BUILTIN_TYPE1( tmp_type_arg_53 );
    assert( !(tmp_source_name_108 == NULL) );
    tmp_tuple_element_158 = LOOKUP_ATTRIBUTE( tmp_source_name_108, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_108 );
    if ( tmp_tuple_element_158 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_27 );

        exception_lineno = 491;

        goto try_except_handler_85;
    }
    PyTuple_SET_ITEM( tmp_right_name_27, 1, tmp_tuple_element_158 );
    tmp_raise_value_27 = BINARY_OPERATION_REMAINDER( tmp_left_name_27, tmp_right_name_27 );
    Py_DECREF( tmp_right_name_27 );
    if ( tmp_raise_value_27 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_85;
    }
    exception_type = tmp_raise_type_27;
    Py_INCREF( tmp_raise_type_27 );
    exception_value = tmp_raise_value_27;
    exception_lineno = 491;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_85;
    }
    branch_no_106:;
    }
    goto branch_end_105;
    branch_no_105:;
    {
    PyObject *tmp_assign_source_259;
    tmp_assign_source_259 = PyDict_New();
    assert( tmp_class_creation_27__prepared == NULL );
    tmp_class_creation_27__prepared = tmp_assign_source_259;

    }
    branch_end_105:;
    }
    {
    PyObject *tmp_assign_source_260;
    {
    PyObject *tmp_set_locals_27;
    CHECK_OBJECT( tmp_class_creation_27__prepared );
    tmp_set_locals_27 = tmp_class_creation_27__prepared;
    locals_asn1crypto$keys_491 = tmp_set_locals_27;
    Py_INCREF( tmp_set_locals_27 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_87;
    }
    }
    {
    tmp_dictset_value = const_str_digest_b47e3d7166e51a227677f98f9d05e5ce;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_87;
    }
    }
    {
    tmp_dictset_value = const_str_plain_PrivateKeyInfo;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_87;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_f440fc6d1f94dddf9550081ffcfd724c_26, codeobj_f440fc6d1f94dddf9550081ffcfd724c, module_asn1crypto$keys, sizeof(void *) );
    frame_f440fc6d1f94dddf9550081ffcfd724c_26 = cache_frame_f440fc6d1f94dddf9550081ffcfd724c_26;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_f440fc6d1f94dddf9550081ffcfd724c_26 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_f440fc6d1f94dddf9550081ffcfd724c_26 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_15;
    PyObject *tmp_tuple_element_159;
    PyObject *tmp_mvar_value_93;
    PyObject *tmp_tuple_element_160;
    PyObject *tmp_mvar_value_94;
    PyObject *tmp_tuple_element_161;
    PyObject *tmp_mvar_value_95;
    PyObject *tmp_tuple_element_162;
    PyObject *tmp_mvar_value_96;
    tmp_tuple_element_159 = const_str_plain_version;
    tmp_list_element_15 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_159 );
    PyTuple_SET_ITEM( tmp_list_element_15, 0, tmp_tuple_element_159 );
    tmp_tuple_element_159 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_Integer );

    if ( tmp_tuple_element_159 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_93 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_93 == NULL ))
        {
            tmp_mvar_value_93 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_93 == NULL )
        {
            Py_DECREF( tmp_list_element_15 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 497;
            type_description_2 = "o";
            goto frame_exception_exit_26;
        }

        tmp_tuple_element_159 = tmp_mvar_value_93;
        Py_INCREF( tmp_tuple_element_159 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_15, 1, tmp_tuple_element_159 );
    tmp_dictset_value = PyList_New( 4 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_15 );
    tmp_tuple_element_160 = const_str_plain_private_key_algorithm;
    tmp_list_element_15 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_160 );
    PyTuple_SET_ITEM( tmp_list_element_15, 0, tmp_tuple_element_160 );
    tmp_tuple_element_160 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_PrivateKeyAlgorithm );

    if ( tmp_tuple_element_160 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_94 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithm );

        if (unlikely( tmp_mvar_value_94 == NULL ))
        {
            tmp_mvar_value_94 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PrivateKeyAlgorithm );
        }

        if ( tmp_mvar_value_94 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_15 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PrivateKeyAlgorithm" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 498;
            type_description_2 = "o";
            goto frame_exception_exit_26;
        }

        tmp_tuple_element_160 = tmp_mvar_value_94;
        Py_INCREF( tmp_tuple_element_160 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_15, 1, tmp_tuple_element_160 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_15 );
    tmp_tuple_element_161 = const_str_plain_private_key;
    tmp_list_element_15 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_161 );
    PyTuple_SET_ITEM( tmp_list_element_15, 0, tmp_tuple_element_161 );
    tmp_tuple_element_161 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_ParsableOctetString );

    if ( tmp_tuple_element_161 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_95 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ParsableOctetString );

        if (unlikely( tmp_mvar_value_95 == NULL ))
        {
            tmp_mvar_value_95 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ParsableOctetString );
        }

        if ( tmp_mvar_value_95 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_15 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ParsableOctetString" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 499;
            type_description_2 = "o";
            goto frame_exception_exit_26;
        }

        tmp_tuple_element_161 = tmp_mvar_value_95;
        Py_INCREF( tmp_tuple_element_161 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_15, 1, tmp_tuple_element_161 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_15 );
    tmp_tuple_element_162 = const_str_plain_attributes;
    tmp_list_element_15 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_162 );
    PyTuple_SET_ITEM( tmp_list_element_15, 0, tmp_tuple_element_162 );
    tmp_tuple_element_162 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_Attributes );

    if ( tmp_tuple_element_162 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_96 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Attributes );

        if (unlikely( tmp_mvar_value_96 == NULL ))
        {
            tmp_mvar_value_96 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Attributes );
        }

        if ( tmp_mvar_value_96 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_15 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Attributes" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 500;
            type_description_2 = "o";
            goto frame_exception_exit_26;
        }

        tmp_tuple_element_162 = tmp_mvar_value_96;
        Py_INCREF( tmp_tuple_element_162 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_15, 1, tmp_tuple_element_162 );
    tmp_tuple_element_162 = PyDict_Copy( const_dict_e89840a5cde026eb5086db18bcd1cb73 );
    PyTuple_SET_ITEM( tmp_list_element_15, 2, tmp_tuple_element_162 );
    PyList_SET_ITEM( tmp_dictset_value, 3, tmp_list_element_15 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 496;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_asn1crypto$keys$$$function_3__private_key_spec(  );



    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain__private_key_spec, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 503;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    PyObject *tmp_dict_key_9;
    PyObject *tmp_dict_value_9;
    tmp_dict_key_9 = const_str_plain_private_key;
    tmp_dict_value_9 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain__private_key_spec );

    if ( tmp_dict_value_9 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_private_key_spec" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 512;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_dict_value_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 512;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_dictset_value = _PyDict_NewPresized( 1 );
    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_9, tmp_dict_value_9 );
    Py_DECREF( tmp_dict_value_9 );
    assert( !(tmp_res != 0) );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain__spec_callbacks, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 511;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    tmp_dictset_value = Py_None;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain__algorithm, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 515;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    tmp_dictset_value = Py_None;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain__bit_size, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 516;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    tmp_dictset_value = Py_None;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain__public_key, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 517;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    tmp_dictset_value = Py_None;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain__fingerprint, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 518;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    nuitka_bool tmp_condition_result_161;
    PyObject *tmp_called_name_55;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_classmethod_arg_2;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_491, const_str_plain_classmethod );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 520;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_condition_result_161 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_161 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_55;
    }
    else
    {
        goto condexpr_false_55;
    }
    condexpr_true_55:;
    tmp_called_name_55 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_classmethod );

    if ( tmp_called_name_55 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "classmethod" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 520;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_called_name_55 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 520;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_args_element_name_2 = MAKE_FUNCTION_asn1crypto$keys$$$function_4_wrap(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 520;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_55, call_args );
    }

    Py_DECREF( tmp_called_name_55 );
    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 520;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    goto condexpr_end_55;
    condexpr_false_55:;
    tmp_classmethod_arg_2 = MAKE_FUNCTION_asn1crypto$keys$$$function_4_wrap(  );



    tmp_dictset_value = BUILTIN_CLASSMETHOD( tmp_classmethod_arg_2 );
    Py_DECREF( tmp_classmethod_arg_2 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 520;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    condexpr_end_55:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_wrap, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 520;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_asn1crypto$keys$$$function_5__compute_public_key(  );



    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain__compute_public_key, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 588;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_asn1crypto$keys$$$function_6_unwrap(  );



    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_unwrap, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 661;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    nuitka_bool tmp_condition_result_162;
    PyObject *tmp_called_name_56;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_called_name_57;
    PyObject *tmp_args_element_name_4;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 690;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_condition_result_162 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_162 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_56;
    }
    else
    {
        goto condexpr_false_56;
    }
    condexpr_true_56:;
    tmp_called_name_56 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_called_name_56 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 690;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_called_name_56 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 690;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_args_element_name_3 = MAKE_FUNCTION_asn1crypto$keys$$$function_7_curve(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 690;
    {
        PyObject *call_args[] = { tmp_args_element_name_3 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_56, call_args );
    }

    Py_DECREF( tmp_called_name_56 );
    Py_DECREF( tmp_args_element_name_3 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 690;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    goto condexpr_end_56;
    condexpr_false_56:;
    tmp_called_name_57 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_4 = MAKE_FUNCTION_asn1crypto$keys$$$function_7_curve(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 690;
    {
        PyObject *call_args[] = { tmp_args_element_name_4 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_57, call_args );
    }

    Py_DECREF( tmp_args_element_name_4 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 690;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    condexpr_end_56:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_curve, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 690;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    nuitka_bool tmp_condition_result_163;
    PyObject *tmp_called_name_58;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_called_name_59;
    PyObject *tmp_args_element_name_6;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 724;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_condition_result_163 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_163 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_57;
    }
    else
    {
        goto condexpr_false_57;
    }
    condexpr_true_57:;
    tmp_called_name_58 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_called_name_58 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 724;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_called_name_58 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 724;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_args_element_name_5 = MAKE_FUNCTION_asn1crypto$keys$$$function_8_hash_algo(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 724;
    {
        PyObject *call_args[] = { tmp_args_element_name_5 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_58, call_args );
    }

    Py_DECREF( tmp_called_name_58 );
    Py_DECREF( tmp_args_element_name_5 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 724;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    goto condexpr_end_57;
    condexpr_false_57:;
    tmp_called_name_59 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_6 = MAKE_FUNCTION_asn1crypto$keys$$$function_8_hash_algo(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 724;
    {
        PyObject *call_args[] = { tmp_args_element_name_6 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_59, call_args );
    }

    Py_DECREF( tmp_args_element_name_6 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 724;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    condexpr_end_57:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_hash_algo, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 724;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    nuitka_bool tmp_condition_result_164;
    PyObject *tmp_called_name_60;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_called_name_61;
    PyObject *tmp_args_element_name_8;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 750;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_condition_result_164 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_164 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_58;
    }
    else
    {
        goto condexpr_false_58;
    }
    condexpr_true_58:;
    tmp_called_name_60 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_called_name_60 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 750;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_called_name_60 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 750;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_args_element_name_7 = MAKE_FUNCTION_asn1crypto$keys$$$function_9_algorithm(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 750;
    {
        PyObject *call_args[] = { tmp_args_element_name_7 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_60, call_args );
    }

    Py_DECREF( tmp_called_name_60 );
    Py_DECREF( tmp_args_element_name_7 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 750;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    goto condexpr_end_58;
    condexpr_false_58:;
    tmp_called_name_61 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_8 = MAKE_FUNCTION_asn1crypto$keys$$$function_9_algorithm(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 750;
    {
        PyObject *call_args[] = { tmp_args_element_name_8 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_61, call_args );
    }

    Py_DECREF( tmp_args_element_name_8 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 750;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    condexpr_end_58:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_algorithm, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 750;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    nuitka_bool tmp_condition_result_165;
    PyObject *tmp_called_name_62;
    PyObject *tmp_args_element_name_9;
    PyObject *tmp_called_name_63;
    PyObject *tmp_args_element_name_10;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 761;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_condition_result_165 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_165 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_59;
    }
    else
    {
        goto condexpr_false_59;
    }
    condexpr_true_59:;
    tmp_called_name_62 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_called_name_62 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 761;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_called_name_62 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 761;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_args_element_name_9 = MAKE_FUNCTION_asn1crypto$keys$$$function_10_bit_size(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 761;
    {
        PyObject *call_args[] = { tmp_args_element_name_9 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_62, call_args );
    }

    Py_DECREF( tmp_called_name_62 );
    Py_DECREF( tmp_args_element_name_9 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 761;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    goto condexpr_end_59;
    condexpr_false_59:;
    tmp_called_name_63 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_10 = MAKE_FUNCTION_asn1crypto$keys$$$function_10_bit_size(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 761;
    {
        PyObject *call_args[] = { tmp_args_element_name_10 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_63, call_args );
    }

    Py_DECREF( tmp_args_element_name_10 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 761;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    condexpr_end_59:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_bit_size, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 761;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    nuitka_bool tmp_condition_result_166;
    PyObject *tmp_called_name_64;
    PyObject *tmp_args_element_name_11;
    PyObject *tmp_called_name_65;
    PyObject *tmp_args_element_name_12;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 781;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_condition_result_166 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_166 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_60;
    }
    else
    {
        goto condexpr_false_60;
    }
    condexpr_true_60:;
    tmp_called_name_64 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_called_name_64 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 781;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_called_name_64 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 781;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_args_element_name_11 = MAKE_FUNCTION_asn1crypto$keys$$$function_11_byte_size(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 781;
    {
        PyObject *call_args[] = { tmp_args_element_name_11 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_64, call_args );
    }

    Py_DECREF( tmp_called_name_64 );
    Py_DECREF( tmp_args_element_name_11 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 781;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    goto condexpr_end_60;
    condexpr_false_60:;
    tmp_called_name_65 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_12 = MAKE_FUNCTION_asn1crypto$keys$$$function_11_byte_size(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 781;
    {
        PyObject *call_args[] = { tmp_args_element_name_12 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_65, call_args );
    }

    Py_DECREF( tmp_args_element_name_12 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 781;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    condexpr_end_60:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_byte_size, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 781;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    nuitka_bool tmp_condition_result_167;
    PyObject *tmp_called_name_66;
    PyObject *tmp_args_element_name_13;
    PyObject *tmp_called_name_67;
    PyObject *tmp_args_element_name_14;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 790;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_condition_result_167 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_167 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_61;
    }
    else
    {
        goto condexpr_false_61;
    }
    condexpr_true_61:;
    tmp_called_name_66 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_called_name_66 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 790;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_called_name_66 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 790;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_args_element_name_13 = MAKE_FUNCTION_asn1crypto$keys$$$function_12_public_key(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 790;
    {
        PyObject *call_args[] = { tmp_args_element_name_13 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_66, call_args );
    }

    Py_DECREF( tmp_called_name_66 );
    Py_DECREF( tmp_args_element_name_13 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 790;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    goto condexpr_end_61;
    condexpr_false_61:;
    tmp_called_name_67 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_14 = MAKE_FUNCTION_asn1crypto$keys$$$function_12_public_key(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 790;
    {
        PyObject *call_args[] = { tmp_args_element_name_14 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_67, call_args );
    }

    Py_DECREF( tmp_args_element_name_14 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 790;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    condexpr_end_61:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_public_key, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 790;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    nuitka_bool tmp_condition_result_168;
    PyObject *tmp_called_name_68;
    PyObject *tmp_args_element_name_15;
    PyObject *tmp_called_name_69;
    PyObject *tmp_args_element_name_16;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 810;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_condition_result_168 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_168 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_62;
    }
    else
    {
        goto condexpr_false_62;
    }
    condexpr_true_62:;
    tmp_called_name_68 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_called_name_68 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 810;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_called_name_68 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 810;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_args_element_name_15 = MAKE_FUNCTION_asn1crypto$keys$$$function_13_public_key_info(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 810;
    {
        PyObject *call_args[] = { tmp_args_element_name_15 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_68, call_args );
    }

    Py_DECREF( tmp_called_name_68 );
    Py_DECREF( tmp_args_element_name_15 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 810;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    goto condexpr_end_62;
    condexpr_false_62:;
    tmp_called_name_69 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_16 = MAKE_FUNCTION_asn1crypto$keys$$$function_13_public_key_info(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 810;
    {
        PyObject *call_args[] = { tmp_args_element_name_16 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_69, call_args );
    }

    Py_DECREF( tmp_args_element_name_16 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 810;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    condexpr_end_62:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_public_key_info, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 810;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }
    {
    nuitka_bool tmp_condition_result_169;
    PyObject *tmp_called_name_70;
    PyObject *tmp_args_element_name_17;
    PyObject *tmp_called_name_71;
    PyObject *tmp_args_element_name_18;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 825;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_condition_result_169 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_169 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_63;
    }
    else
    {
        goto condexpr_false_63;
    }
    condexpr_true_63:;
    tmp_called_name_70 = PyObject_GetItem( locals_asn1crypto$keys_491, const_str_plain_property );

    if ( tmp_called_name_70 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 825;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }

    if ( tmp_called_name_70 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 825;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    tmp_args_element_name_17 = MAKE_FUNCTION_asn1crypto$keys$$$function_14_fingerprint(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 825;
    {
        PyObject *call_args[] = { tmp_args_element_name_17 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_70, call_args );
    }

    Py_DECREF( tmp_called_name_70 );
    Py_DECREF( tmp_args_element_name_17 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 825;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    goto condexpr_end_63;
    condexpr_false_63:;
    tmp_called_name_71 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_18 = MAKE_FUNCTION_asn1crypto$keys$$$function_14_fingerprint(  );



    frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame.f_lineno = 825;
    {
        PyObject *call_args[] = { tmp_args_element_name_18 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_71, call_args );
    }

    Py_DECREF( tmp_args_element_name_18 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 825;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    condexpr_end_63:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain_fingerprint, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 825;
        type_description_2 = "o";
        goto frame_exception_exit_26;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f440fc6d1f94dddf9550081ffcfd724c_26 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_25;

    frame_exception_exit_26:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f440fc6d1f94dddf9550081ffcfd724c_26 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_f440fc6d1f94dddf9550081ffcfd724c_26, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_f440fc6d1f94dddf9550081ffcfd724c_26->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_f440fc6d1f94dddf9550081ffcfd724c_26, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_f440fc6d1f94dddf9550081ffcfd724c_26,
        type_description_2,
        outline_26_var___class__
    );


    // Release cached frame.
    if ( frame_f440fc6d1f94dddf9550081ffcfd724c_26 == cache_frame_f440fc6d1f94dddf9550081ffcfd724c_26 )
    {
        Py_DECREF( frame_f440fc6d1f94dddf9550081ffcfd724c_26 );
    }
    cache_frame_f440fc6d1f94dddf9550081ffcfd724c_26 = NULL;

    assertFrameObject( frame_f440fc6d1f94dddf9550081ffcfd724c_26 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_25;

    frame_no_exception_25:;
    goto skip_nested_handling_25;
    nested_frame_exit_25:;

    goto try_except_handler_87;
    skip_nested_handling_25:;
    {
    nuitka_bool tmp_condition_result_170;
    PyObject *tmp_compexpr_left_26;
    PyObject *tmp_compexpr_right_26;
    CHECK_OBJECT( tmp_class_creation_27__bases );
    tmp_compexpr_left_26 = tmp_class_creation_27__bases;
    CHECK_OBJECT( tmp_class_creation_27__bases_orig );
    tmp_compexpr_right_26 = tmp_class_creation_27__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_26, tmp_compexpr_right_26 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_87;
    }
    tmp_condition_result_170 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_170 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_107;
    }
    else
    {
        goto branch_no_107;
    }
    branch_yes_107:;
    {
    CHECK_OBJECT( tmp_class_creation_27__bases_orig );
    tmp_dictset_value = tmp_class_creation_27__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_491, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_87;
    }
    }
    branch_no_107:;
    }
    {
    PyObject *tmp_assign_source_261;
    PyObject *tmp_called_name_72;
    PyObject *tmp_args_name_54;
    PyObject *tmp_tuple_element_163;
    PyObject *tmp_kw_name_54;
    CHECK_OBJECT( tmp_class_creation_27__metaclass );
    tmp_called_name_72 = tmp_class_creation_27__metaclass;
    tmp_tuple_element_163 = const_str_plain_PrivateKeyInfo;
    tmp_args_name_54 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_163 );
    PyTuple_SET_ITEM( tmp_args_name_54, 0, tmp_tuple_element_163 );
    CHECK_OBJECT( tmp_class_creation_27__bases );
    tmp_tuple_element_163 = tmp_class_creation_27__bases;
    Py_INCREF( tmp_tuple_element_163 );
    PyTuple_SET_ITEM( tmp_args_name_54, 1, tmp_tuple_element_163 );
    tmp_tuple_element_163 = locals_asn1crypto$keys_491;
    Py_INCREF( tmp_tuple_element_163 );
    PyTuple_SET_ITEM( tmp_args_name_54, 2, tmp_tuple_element_163 );
    CHECK_OBJECT( tmp_class_creation_27__class_decl_dict );
    tmp_kw_name_54 = tmp_class_creation_27__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 491;
    tmp_assign_source_261 = CALL_FUNCTION( tmp_called_name_72, tmp_args_name_54, tmp_kw_name_54 );
    Py_DECREF( tmp_args_name_54 );
    if ( tmp_assign_source_261 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;

        goto try_except_handler_87;
    }
    assert( outline_26_var___class__ == NULL );
    outline_26_var___class__ = tmp_assign_source_261;

    }
    {
    CHECK_OBJECT( outline_26_var___class__ );
    tmp_assign_source_260 = outline_26_var___class__;
    Py_INCREF( tmp_assign_source_260 );
    goto try_return_handler_87;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_87:;
    {
    Py_DECREF( locals_asn1crypto$keys_491 );
    locals_asn1crypto$keys_491 = NULL;
    }
    {
    goto try_return_handler_86;
    }
    // Exception handler code:
    try_except_handler_87:;
    exception_keeper_type_85 = exception_type;
    exception_keeper_value_85 = exception_value;
    exception_keeper_tb_85 = exception_tb;
    exception_keeper_lineno_85 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_491 );
    locals_asn1crypto$keys_491 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_85;
    exception_value = exception_keeper_value_85;
    exception_tb = exception_keeper_tb_85;
    exception_lineno = exception_keeper_lineno_85;

    goto try_except_handler_86;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_86:;
    {
    CHECK_OBJECT( (PyObject *)outline_26_var___class__ );
    Py_DECREF( outline_26_var___class__ );
    outline_26_var___class__ = NULL;

    }
    {
    goto outline_result_27;
    }
    // Exception handler code:
    try_except_handler_86:;
    exception_keeper_type_86 = exception_type;
    exception_keeper_value_86 = exception_value;
    exception_keeper_tb_86 = exception_tb;
    exception_keeper_lineno_86 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_86;
    exception_value = exception_keeper_value_86;
    exception_tb = exception_keeper_tb_86;
    exception_lineno = exception_keeper_lineno_86;

    goto outline_exception_27;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_27:;
    exception_lineno = 491;
    goto try_except_handler_85;
    outline_result_27:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PrivateKeyInfo, tmp_assign_source_260 );
    }
    goto try_end_33;
    // Exception handler code:
    try_except_handler_85:;
    exception_keeper_type_87 = exception_type;
    exception_keeper_value_87 = exception_value;
    exception_keeper_tb_87 = exception_tb;
    exception_keeper_lineno_87 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_27__bases );
    tmp_class_creation_27__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_27__class_decl_dict );
    tmp_class_creation_27__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_27__metaclass );
    tmp_class_creation_27__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_27__prepared );
    tmp_class_creation_27__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_87;
    exception_value = exception_keeper_value_87;
    exception_tb = exception_keeper_tb_87;
    exception_lineno = exception_keeper_lineno_87;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_33:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_27__bases );
    Py_DECREF( tmp_class_creation_27__bases );
    tmp_class_creation_27__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_27__class_decl_dict );
    Py_DECREF( tmp_class_creation_27__class_decl_dict );
    tmp_class_creation_27__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_27__metaclass );
    Py_DECREF( tmp_class_creation_27__metaclass );
    tmp_class_creation_27__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_27__prepared );
    Py_DECREF( tmp_class_creation_27__prepared );
    tmp_class_creation_27__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_262;
    PyObject *tmp_tuple_element_164;
    PyObject *tmp_mvar_value_97;
    tmp_mvar_value_97 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_97 == NULL ))
    {
        tmp_mvar_value_97 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_97 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 886;

        goto try_except_handler_88;
    }

    tmp_tuple_element_164 = tmp_mvar_value_97;
    tmp_assign_source_262 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_164 );
    PyTuple_SET_ITEM( tmp_assign_source_262, 0, tmp_tuple_element_164 );
    assert( tmp_class_creation_28__bases_orig == NULL );
    tmp_class_creation_28__bases_orig = tmp_assign_source_262;

    }
    {
    PyObject *tmp_assign_source_263;
    PyObject *tmp_dircall_arg1_27;
    CHECK_OBJECT( tmp_class_creation_28__bases_orig );
    tmp_dircall_arg1_27 = tmp_class_creation_28__bases_orig;
    Py_INCREF( tmp_dircall_arg1_27 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_27};
        tmp_assign_source_263 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_263 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    assert( tmp_class_creation_28__bases == NULL );
    tmp_class_creation_28__bases = tmp_assign_source_263;

    }
    {
    PyObject *tmp_assign_source_264;
    tmp_assign_source_264 = PyDict_New();
    assert( tmp_class_creation_28__class_decl_dict == NULL );
    tmp_class_creation_28__class_decl_dict = tmp_assign_source_264;

    }
    {
    PyObject *tmp_assign_source_265;
    PyObject *tmp_metaclass_name_28;
    nuitka_bool tmp_condition_result_171;
    PyObject *tmp_key_name_82;
    PyObject *tmp_dict_name_82;
    PyObject *tmp_dict_name_83;
    PyObject *tmp_key_name_83;
    nuitka_bool tmp_condition_result_172;
    int tmp_truth_name_27;
    PyObject *tmp_type_arg_54;
    PyObject *tmp_subscribed_name_27;
    PyObject *tmp_subscript_name_27;
    PyObject *tmp_bases_name_28;
    tmp_key_name_82 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_28__class_decl_dict );
    tmp_dict_name_82 = tmp_class_creation_28__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_82, tmp_key_name_82 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    tmp_condition_result_171 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_171 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_64;
    }
    else
    {
        goto condexpr_false_64;
    }
    condexpr_true_64:;
    CHECK_OBJECT( tmp_class_creation_28__class_decl_dict );
    tmp_dict_name_83 = tmp_class_creation_28__class_decl_dict;
    tmp_key_name_83 = const_str_plain_metaclass;
    tmp_metaclass_name_28 = DICT_GET_ITEM( tmp_dict_name_83, tmp_key_name_83 );
    if ( tmp_metaclass_name_28 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    goto condexpr_end_64;
    condexpr_false_64:;
    CHECK_OBJECT( tmp_class_creation_28__bases );
    tmp_truth_name_27 = CHECK_IF_TRUE( tmp_class_creation_28__bases );
    if ( tmp_truth_name_27 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    tmp_condition_result_172 = tmp_truth_name_27 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_172 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_65;
    }
    else
    {
        goto condexpr_false_65;
    }
    condexpr_true_65:;
    CHECK_OBJECT( tmp_class_creation_28__bases );
    tmp_subscribed_name_27 = tmp_class_creation_28__bases;
    tmp_subscript_name_27 = const_int_0;
    tmp_type_arg_54 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_27, tmp_subscript_name_27, 0 );
    if ( tmp_type_arg_54 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    tmp_metaclass_name_28 = BUILTIN_TYPE1( tmp_type_arg_54 );
    Py_DECREF( tmp_type_arg_54 );
    if ( tmp_metaclass_name_28 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    goto condexpr_end_65;
    condexpr_false_65:;
    tmp_metaclass_name_28 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_28 );
    condexpr_end_65:;
    condexpr_end_64:;
    CHECK_OBJECT( tmp_class_creation_28__bases );
    tmp_bases_name_28 = tmp_class_creation_28__bases;
    tmp_assign_source_265 = SELECT_METACLASS( tmp_metaclass_name_28, tmp_bases_name_28 );
    Py_DECREF( tmp_metaclass_name_28 );
    if ( tmp_assign_source_265 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    assert( tmp_class_creation_28__metaclass == NULL );
    tmp_class_creation_28__metaclass = tmp_assign_source_265;

    }
    {
    nuitka_bool tmp_condition_result_173;
    PyObject *tmp_key_name_84;
    PyObject *tmp_dict_name_84;
    tmp_key_name_84 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_28__class_decl_dict );
    tmp_dict_name_84 = tmp_class_creation_28__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_84, tmp_key_name_84 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    tmp_condition_result_173 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_173 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_108;
    }
    else
    {
        goto branch_no_108;
    }
    branch_yes_108:;
    {
    CHECK_OBJECT( tmp_class_creation_28__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_28__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    }
    branch_no_108:;
    }
    {
    nuitka_bool tmp_condition_result_174;
    PyObject *tmp_source_name_109;
    CHECK_OBJECT( tmp_class_creation_28__metaclass );
    tmp_source_name_109 = tmp_class_creation_28__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_109, const_str_plain___prepare__ );
    tmp_condition_result_174 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_174 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_109;
    }
    else
    {
        goto branch_no_109;
    }
    branch_yes_109:;
    {
    PyObject *tmp_assign_source_266;
    PyObject *tmp_called_name_73;
    PyObject *tmp_source_name_110;
    PyObject *tmp_args_name_55;
    PyObject *tmp_tuple_element_165;
    PyObject *tmp_kw_name_55;
    CHECK_OBJECT( tmp_class_creation_28__metaclass );
    tmp_source_name_110 = tmp_class_creation_28__metaclass;
    tmp_called_name_73 = LOOKUP_ATTRIBUTE( tmp_source_name_110, const_str_plain___prepare__ );
    if ( tmp_called_name_73 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    tmp_tuple_element_165 = const_str_plain_EncryptedPrivateKeyInfo;
    tmp_args_name_55 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_165 );
    PyTuple_SET_ITEM( tmp_args_name_55, 0, tmp_tuple_element_165 );
    CHECK_OBJECT( tmp_class_creation_28__bases );
    tmp_tuple_element_165 = tmp_class_creation_28__bases;
    Py_INCREF( tmp_tuple_element_165 );
    PyTuple_SET_ITEM( tmp_args_name_55, 1, tmp_tuple_element_165 );
    CHECK_OBJECT( tmp_class_creation_28__class_decl_dict );
    tmp_kw_name_55 = tmp_class_creation_28__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 886;
    tmp_assign_source_266 = CALL_FUNCTION( tmp_called_name_73, tmp_args_name_55, tmp_kw_name_55 );
    Py_DECREF( tmp_called_name_73 );
    Py_DECREF( tmp_args_name_55 );
    if ( tmp_assign_source_266 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    assert( tmp_class_creation_28__prepared == NULL );
    tmp_class_creation_28__prepared = tmp_assign_source_266;

    }
    {
    nuitka_bool tmp_condition_result_175;
    PyObject *tmp_operand_name_28;
    PyObject *tmp_source_name_111;
    CHECK_OBJECT( tmp_class_creation_28__prepared );
    tmp_source_name_111 = tmp_class_creation_28__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_111, const_str_plain___getitem__ );
    tmp_operand_name_28 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_28 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    tmp_condition_result_175 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_175 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_110;
    }
    else
    {
        goto branch_no_110;
    }
    branch_yes_110:;
    {
    PyObject *tmp_raise_type_28;
    PyObject *tmp_raise_value_28;
    PyObject *tmp_left_name_28;
    PyObject *tmp_right_name_28;
    PyObject *tmp_tuple_element_166;
    PyObject *tmp_getattr_target_28;
    PyObject *tmp_getattr_attr_28;
    PyObject *tmp_getattr_default_28;
    PyObject *tmp_source_name_112;
    PyObject *tmp_type_arg_55;
    tmp_raise_type_28 = PyExc_TypeError;
    tmp_left_name_28 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_28__metaclass );
    tmp_getattr_target_28 = tmp_class_creation_28__metaclass;
    tmp_getattr_attr_28 = const_str_plain___name__;
    tmp_getattr_default_28 = const_str_angle_metaclass;
    tmp_tuple_element_166 = BUILTIN_GETATTR( tmp_getattr_target_28, tmp_getattr_attr_28, tmp_getattr_default_28 );
    if ( tmp_tuple_element_166 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    tmp_right_name_28 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_28, 0, tmp_tuple_element_166 );
    CHECK_OBJECT( tmp_class_creation_28__prepared );
    tmp_type_arg_55 = tmp_class_creation_28__prepared;
    tmp_source_name_112 = BUILTIN_TYPE1( tmp_type_arg_55 );
    assert( !(tmp_source_name_112 == NULL) );
    tmp_tuple_element_166 = LOOKUP_ATTRIBUTE( tmp_source_name_112, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_112 );
    if ( tmp_tuple_element_166 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_28 );

        exception_lineno = 886;

        goto try_except_handler_88;
    }
    PyTuple_SET_ITEM( tmp_right_name_28, 1, tmp_tuple_element_166 );
    tmp_raise_value_28 = BINARY_OPERATION_REMAINDER( tmp_left_name_28, tmp_right_name_28 );
    Py_DECREF( tmp_right_name_28 );
    if ( tmp_raise_value_28 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_88;
    }
    exception_type = tmp_raise_type_28;
    Py_INCREF( tmp_raise_type_28 );
    exception_value = tmp_raise_value_28;
    exception_lineno = 886;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_88;
    }
    branch_no_110:;
    }
    goto branch_end_109;
    branch_no_109:;
    {
    PyObject *tmp_assign_source_267;
    tmp_assign_source_267 = PyDict_New();
    assert( tmp_class_creation_28__prepared == NULL );
    tmp_class_creation_28__prepared = tmp_assign_source_267;

    }
    branch_end_109:;
    }
    {
    PyObject *tmp_assign_source_268;
    {
    PyObject *tmp_set_locals_28;
    CHECK_OBJECT( tmp_class_creation_28__prepared );
    tmp_set_locals_28 = tmp_class_creation_28__prepared;
    locals_asn1crypto$keys_886 = tmp_set_locals_28;
    Py_INCREF( tmp_set_locals_28 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_886, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_90;
    }
    }
    {
    tmp_dictset_value = const_str_digest_dd938853cff8f6ec63a1613eab01b438;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_886, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_90;
    }
    }
    {
    tmp_dictset_value = const_str_plain_EncryptedPrivateKeyInfo;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_886, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_90;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_d50510642a34d2a2ba25fde794bfff40_27, codeobj_d50510642a34d2a2ba25fde794bfff40, module_asn1crypto$keys, sizeof(void *) );
    frame_d50510642a34d2a2ba25fde794bfff40_27 = cache_frame_d50510642a34d2a2ba25fde794bfff40_27;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_d50510642a34d2a2ba25fde794bfff40_27 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_d50510642a34d2a2ba25fde794bfff40_27 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_16;
    PyObject *tmp_tuple_element_167;
    PyObject *tmp_mvar_value_98;
    PyObject *tmp_tuple_element_168;
    PyObject *tmp_mvar_value_99;
    tmp_tuple_element_167 = const_str_plain_encryption_algorithm;
    tmp_list_element_16 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_167 );
    PyTuple_SET_ITEM( tmp_list_element_16, 0, tmp_tuple_element_167 );
    tmp_tuple_element_167 = PyObject_GetItem( locals_asn1crypto$keys_886, const_str_plain_EncryptionAlgorithm );

    if ( tmp_tuple_element_167 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_98 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_EncryptionAlgorithm );

        if (unlikely( tmp_mvar_value_98 == NULL ))
        {
            tmp_mvar_value_98 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_EncryptionAlgorithm );
        }

        if ( tmp_mvar_value_98 == NULL )
        {
            Py_DECREF( tmp_list_element_16 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "EncryptionAlgorithm" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 892;
            type_description_2 = "o";
            goto frame_exception_exit_27;
        }

        tmp_tuple_element_167 = tmp_mvar_value_98;
        Py_INCREF( tmp_tuple_element_167 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_16, 1, tmp_tuple_element_167 );
    tmp_dictset_value = PyList_New( 2 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_16 );
    tmp_tuple_element_168 = const_str_plain_encrypted_data;
    tmp_list_element_16 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_168 );
    PyTuple_SET_ITEM( tmp_list_element_16, 0, tmp_tuple_element_168 );
    tmp_tuple_element_168 = PyObject_GetItem( locals_asn1crypto$keys_886, const_str_plain_OctetString );

    if ( tmp_tuple_element_168 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_99 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_OctetString );

        if (unlikely( tmp_mvar_value_99 == NULL ))
        {
            tmp_mvar_value_99 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_OctetString );
        }

        if ( tmp_mvar_value_99 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_16 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "OctetString" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 893;
            type_description_2 = "o";
            goto frame_exception_exit_27;
        }

        tmp_tuple_element_168 = tmp_mvar_value_99;
        Py_INCREF( tmp_tuple_element_168 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_16, 1, tmp_tuple_element_168 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_16 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_886, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 891;
        type_description_2 = "o";
        goto frame_exception_exit_27;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_d50510642a34d2a2ba25fde794bfff40_27 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_26;

    frame_exception_exit_27:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_d50510642a34d2a2ba25fde794bfff40_27 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_d50510642a34d2a2ba25fde794bfff40_27, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_d50510642a34d2a2ba25fde794bfff40_27->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_d50510642a34d2a2ba25fde794bfff40_27, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_d50510642a34d2a2ba25fde794bfff40_27,
        type_description_2,
        outline_27_var___class__
    );


    // Release cached frame.
    if ( frame_d50510642a34d2a2ba25fde794bfff40_27 == cache_frame_d50510642a34d2a2ba25fde794bfff40_27 )
    {
        Py_DECREF( frame_d50510642a34d2a2ba25fde794bfff40_27 );
    }
    cache_frame_d50510642a34d2a2ba25fde794bfff40_27 = NULL;

    assertFrameObject( frame_d50510642a34d2a2ba25fde794bfff40_27 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_26;

    frame_no_exception_26:;
    goto skip_nested_handling_26;
    nested_frame_exit_26:;

    goto try_except_handler_90;
    skip_nested_handling_26:;
    {
    nuitka_bool tmp_condition_result_176;
    PyObject *tmp_compexpr_left_27;
    PyObject *tmp_compexpr_right_27;
    CHECK_OBJECT( tmp_class_creation_28__bases );
    tmp_compexpr_left_27 = tmp_class_creation_28__bases;
    CHECK_OBJECT( tmp_class_creation_28__bases_orig );
    tmp_compexpr_right_27 = tmp_class_creation_28__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_27, tmp_compexpr_right_27 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_90;
    }
    tmp_condition_result_176 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_176 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_111;
    }
    else
    {
        goto branch_no_111;
    }
    branch_yes_111:;
    {
    CHECK_OBJECT( tmp_class_creation_28__bases_orig );
    tmp_dictset_value = tmp_class_creation_28__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_886, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_90;
    }
    }
    branch_no_111:;
    }
    {
    PyObject *tmp_assign_source_269;
    PyObject *tmp_called_name_74;
    PyObject *tmp_args_name_56;
    PyObject *tmp_tuple_element_169;
    PyObject *tmp_kw_name_56;
    CHECK_OBJECT( tmp_class_creation_28__metaclass );
    tmp_called_name_74 = tmp_class_creation_28__metaclass;
    tmp_tuple_element_169 = const_str_plain_EncryptedPrivateKeyInfo;
    tmp_args_name_56 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_169 );
    PyTuple_SET_ITEM( tmp_args_name_56, 0, tmp_tuple_element_169 );
    CHECK_OBJECT( tmp_class_creation_28__bases );
    tmp_tuple_element_169 = tmp_class_creation_28__bases;
    Py_INCREF( tmp_tuple_element_169 );
    PyTuple_SET_ITEM( tmp_args_name_56, 1, tmp_tuple_element_169 );
    tmp_tuple_element_169 = locals_asn1crypto$keys_886;
    Py_INCREF( tmp_tuple_element_169 );
    PyTuple_SET_ITEM( tmp_args_name_56, 2, tmp_tuple_element_169 );
    CHECK_OBJECT( tmp_class_creation_28__class_decl_dict );
    tmp_kw_name_56 = tmp_class_creation_28__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 886;
    tmp_assign_source_269 = CALL_FUNCTION( tmp_called_name_74, tmp_args_name_56, tmp_kw_name_56 );
    Py_DECREF( tmp_args_name_56 );
    if ( tmp_assign_source_269 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;

        goto try_except_handler_90;
    }
    assert( outline_27_var___class__ == NULL );
    outline_27_var___class__ = tmp_assign_source_269;

    }
    {
    CHECK_OBJECT( outline_27_var___class__ );
    tmp_assign_source_268 = outline_27_var___class__;
    Py_INCREF( tmp_assign_source_268 );
    goto try_return_handler_90;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_90:;
    {
    Py_DECREF( locals_asn1crypto$keys_886 );
    locals_asn1crypto$keys_886 = NULL;
    }
    {
    goto try_return_handler_89;
    }
    // Exception handler code:
    try_except_handler_90:;
    exception_keeper_type_88 = exception_type;
    exception_keeper_value_88 = exception_value;
    exception_keeper_tb_88 = exception_tb;
    exception_keeper_lineno_88 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_886 );
    locals_asn1crypto$keys_886 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_88;
    exception_value = exception_keeper_value_88;
    exception_tb = exception_keeper_tb_88;
    exception_lineno = exception_keeper_lineno_88;

    goto try_except_handler_89;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_89:;
    {
    CHECK_OBJECT( (PyObject *)outline_27_var___class__ );
    Py_DECREF( outline_27_var___class__ );
    outline_27_var___class__ = NULL;

    }
    {
    goto outline_result_28;
    }
    // Exception handler code:
    try_except_handler_89:;
    exception_keeper_type_89 = exception_type;
    exception_keeper_value_89 = exception_value;
    exception_keeper_tb_89 = exception_tb;
    exception_keeper_lineno_89 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_89;
    exception_value = exception_keeper_value_89;
    exception_tb = exception_keeper_tb_89;
    exception_lineno = exception_keeper_lineno_89;

    goto outline_exception_28;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_28:;
    exception_lineno = 886;
    goto try_except_handler_88;
    outline_result_28:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_EncryptedPrivateKeyInfo, tmp_assign_source_268 );
    }
    goto try_end_34;
    // Exception handler code:
    try_except_handler_88:;
    exception_keeper_type_90 = exception_type;
    exception_keeper_value_90 = exception_value;
    exception_keeper_tb_90 = exception_tb;
    exception_keeper_lineno_90 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_28__bases );
    tmp_class_creation_28__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_28__class_decl_dict );
    tmp_class_creation_28__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_28__metaclass );
    tmp_class_creation_28__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_28__prepared );
    tmp_class_creation_28__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_90;
    exception_value = exception_keeper_value_90;
    exception_tb = exception_keeper_tb_90;
    exception_lineno = exception_keeper_lineno_90;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_34:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_28__bases );
    Py_DECREF( tmp_class_creation_28__bases );
    tmp_class_creation_28__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_28__class_decl_dict );
    Py_DECREF( tmp_class_creation_28__class_decl_dict );
    tmp_class_creation_28__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_28__metaclass );
    Py_DECREF( tmp_class_creation_28__metaclass );
    tmp_class_creation_28__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_28__prepared );
    Py_DECREF( tmp_class_creation_28__prepared );
    tmp_class_creation_28__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_270;
    PyObject *tmp_tuple_element_170;
    PyObject *tmp_mvar_value_100;
    tmp_mvar_value_100 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_100 == NULL ))
    {
        tmp_mvar_value_100 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_100 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 899;

        goto try_except_handler_91;
    }

    tmp_tuple_element_170 = tmp_mvar_value_100;
    tmp_assign_source_270 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_170 );
    PyTuple_SET_ITEM( tmp_assign_source_270, 0, tmp_tuple_element_170 );
    assert( tmp_class_creation_29__bases_orig == NULL );
    tmp_class_creation_29__bases_orig = tmp_assign_source_270;

    }
    {
    PyObject *tmp_assign_source_271;
    PyObject *tmp_dircall_arg1_28;
    CHECK_OBJECT( tmp_class_creation_29__bases_orig );
    tmp_dircall_arg1_28 = tmp_class_creation_29__bases_orig;
    Py_INCREF( tmp_dircall_arg1_28 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_28};
        tmp_assign_source_271 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_271 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    assert( tmp_class_creation_29__bases == NULL );
    tmp_class_creation_29__bases = tmp_assign_source_271;

    }
    {
    PyObject *tmp_assign_source_272;
    tmp_assign_source_272 = PyDict_New();
    assert( tmp_class_creation_29__class_decl_dict == NULL );
    tmp_class_creation_29__class_decl_dict = tmp_assign_source_272;

    }
    {
    PyObject *tmp_assign_source_273;
    PyObject *tmp_metaclass_name_29;
    nuitka_bool tmp_condition_result_177;
    PyObject *tmp_key_name_85;
    PyObject *tmp_dict_name_85;
    PyObject *tmp_dict_name_86;
    PyObject *tmp_key_name_86;
    nuitka_bool tmp_condition_result_178;
    int tmp_truth_name_28;
    PyObject *tmp_type_arg_56;
    PyObject *tmp_subscribed_name_28;
    PyObject *tmp_subscript_name_28;
    PyObject *tmp_bases_name_29;
    tmp_key_name_85 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_29__class_decl_dict );
    tmp_dict_name_85 = tmp_class_creation_29__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_85, tmp_key_name_85 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    tmp_condition_result_177 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_177 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_66;
    }
    else
    {
        goto condexpr_false_66;
    }
    condexpr_true_66:;
    CHECK_OBJECT( tmp_class_creation_29__class_decl_dict );
    tmp_dict_name_86 = tmp_class_creation_29__class_decl_dict;
    tmp_key_name_86 = const_str_plain_metaclass;
    tmp_metaclass_name_29 = DICT_GET_ITEM( tmp_dict_name_86, tmp_key_name_86 );
    if ( tmp_metaclass_name_29 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    goto condexpr_end_66;
    condexpr_false_66:;
    CHECK_OBJECT( tmp_class_creation_29__bases );
    tmp_truth_name_28 = CHECK_IF_TRUE( tmp_class_creation_29__bases );
    if ( tmp_truth_name_28 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    tmp_condition_result_178 = tmp_truth_name_28 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_178 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_67;
    }
    else
    {
        goto condexpr_false_67;
    }
    condexpr_true_67:;
    CHECK_OBJECT( tmp_class_creation_29__bases );
    tmp_subscribed_name_28 = tmp_class_creation_29__bases;
    tmp_subscript_name_28 = const_int_0;
    tmp_type_arg_56 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_28, tmp_subscript_name_28, 0 );
    if ( tmp_type_arg_56 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    tmp_metaclass_name_29 = BUILTIN_TYPE1( tmp_type_arg_56 );
    Py_DECREF( tmp_type_arg_56 );
    if ( tmp_metaclass_name_29 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    goto condexpr_end_67;
    condexpr_false_67:;
    tmp_metaclass_name_29 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_29 );
    condexpr_end_67:;
    condexpr_end_66:;
    CHECK_OBJECT( tmp_class_creation_29__bases );
    tmp_bases_name_29 = tmp_class_creation_29__bases;
    tmp_assign_source_273 = SELECT_METACLASS( tmp_metaclass_name_29, tmp_bases_name_29 );
    Py_DECREF( tmp_metaclass_name_29 );
    if ( tmp_assign_source_273 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    assert( tmp_class_creation_29__metaclass == NULL );
    tmp_class_creation_29__metaclass = tmp_assign_source_273;

    }
    {
    nuitka_bool tmp_condition_result_179;
    PyObject *tmp_key_name_87;
    PyObject *tmp_dict_name_87;
    tmp_key_name_87 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_29__class_decl_dict );
    tmp_dict_name_87 = tmp_class_creation_29__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_87, tmp_key_name_87 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    tmp_condition_result_179 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_179 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_112;
    }
    else
    {
        goto branch_no_112;
    }
    branch_yes_112:;
    {
    CHECK_OBJECT( tmp_class_creation_29__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_29__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    }
    branch_no_112:;
    }
    {
    nuitka_bool tmp_condition_result_180;
    PyObject *tmp_source_name_113;
    CHECK_OBJECT( tmp_class_creation_29__metaclass );
    tmp_source_name_113 = tmp_class_creation_29__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_113, const_str_plain___prepare__ );
    tmp_condition_result_180 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_180 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_113;
    }
    else
    {
        goto branch_no_113;
    }
    branch_yes_113:;
    {
    PyObject *tmp_assign_source_274;
    PyObject *tmp_called_name_75;
    PyObject *tmp_source_name_114;
    PyObject *tmp_args_name_57;
    PyObject *tmp_tuple_element_171;
    PyObject *tmp_kw_name_57;
    CHECK_OBJECT( tmp_class_creation_29__metaclass );
    tmp_source_name_114 = tmp_class_creation_29__metaclass;
    tmp_called_name_75 = LOOKUP_ATTRIBUTE( tmp_source_name_114, const_str_plain___prepare__ );
    if ( tmp_called_name_75 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    tmp_tuple_element_171 = const_str_plain_ValidationParms;
    tmp_args_name_57 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_171 );
    PyTuple_SET_ITEM( tmp_args_name_57, 0, tmp_tuple_element_171 );
    CHECK_OBJECT( tmp_class_creation_29__bases );
    tmp_tuple_element_171 = tmp_class_creation_29__bases;
    Py_INCREF( tmp_tuple_element_171 );
    PyTuple_SET_ITEM( tmp_args_name_57, 1, tmp_tuple_element_171 );
    CHECK_OBJECT( tmp_class_creation_29__class_decl_dict );
    tmp_kw_name_57 = tmp_class_creation_29__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 899;
    tmp_assign_source_274 = CALL_FUNCTION( tmp_called_name_75, tmp_args_name_57, tmp_kw_name_57 );
    Py_DECREF( tmp_called_name_75 );
    Py_DECREF( tmp_args_name_57 );
    if ( tmp_assign_source_274 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    assert( tmp_class_creation_29__prepared == NULL );
    tmp_class_creation_29__prepared = tmp_assign_source_274;

    }
    {
    nuitka_bool tmp_condition_result_181;
    PyObject *tmp_operand_name_29;
    PyObject *tmp_source_name_115;
    CHECK_OBJECT( tmp_class_creation_29__prepared );
    tmp_source_name_115 = tmp_class_creation_29__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_115, const_str_plain___getitem__ );
    tmp_operand_name_29 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_29 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    tmp_condition_result_181 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_181 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_114;
    }
    else
    {
        goto branch_no_114;
    }
    branch_yes_114:;
    {
    PyObject *tmp_raise_type_29;
    PyObject *tmp_raise_value_29;
    PyObject *tmp_left_name_29;
    PyObject *tmp_right_name_29;
    PyObject *tmp_tuple_element_172;
    PyObject *tmp_getattr_target_29;
    PyObject *tmp_getattr_attr_29;
    PyObject *tmp_getattr_default_29;
    PyObject *tmp_source_name_116;
    PyObject *tmp_type_arg_57;
    tmp_raise_type_29 = PyExc_TypeError;
    tmp_left_name_29 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_29__metaclass );
    tmp_getattr_target_29 = tmp_class_creation_29__metaclass;
    tmp_getattr_attr_29 = const_str_plain___name__;
    tmp_getattr_default_29 = const_str_angle_metaclass;
    tmp_tuple_element_172 = BUILTIN_GETATTR( tmp_getattr_target_29, tmp_getattr_attr_29, tmp_getattr_default_29 );
    if ( tmp_tuple_element_172 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    tmp_right_name_29 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_29, 0, tmp_tuple_element_172 );
    CHECK_OBJECT( tmp_class_creation_29__prepared );
    tmp_type_arg_57 = tmp_class_creation_29__prepared;
    tmp_source_name_116 = BUILTIN_TYPE1( tmp_type_arg_57 );
    assert( !(tmp_source_name_116 == NULL) );
    tmp_tuple_element_172 = LOOKUP_ATTRIBUTE( tmp_source_name_116, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_116 );
    if ( tmp_tuple_element_172 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_29 );

        exception_lineno = 899;

        goto try_except_handler_91;
    }
    PyTuple_SET_ITEM( tmp_right_name_29, 1, tmp_tuple_element_172 );
    tmp_raise_value_29 = BINARY_OPERATION_REMAINDER( tmp_left_name_29, tmp_right_name_29 );
    Py_DECREF( tmp_right_name_29 );
    if ( tmp_raise_value_29 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_91;
    }
    exception_type = tmp_raise_type_29;
    Py_INCREF( tmp_raise_type_29 );
    exception_value = tmp_raise_value_29;
    exception_lineno = 899;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_91;
    }
    branch_no_114:;
    }
    goto branch_end_113;
    branch_no_113:;
    {
    PyObject *tmp_assign_source_275;
    tmp_assign_source_275 = PyDict_New();
    assert( tmp_class_creation_29__prepared == NULL );
    tmp_class_creation_29__prepared = tmp_assign_source_275;

    }
    branch_end_113:;
    }
    {
    PyObject *tmp_assign_source_276;
    {
    PyObject *tmp_set_locals_29;
    CHECK_OBJECT( tmp_class_creation_29__prepared );
    tmp_set_locals_29 = tmp_class_creation_29__prepared;
    locals_asn1crypto$keys_899 = tmp_set_locals_29;
    Py_INCREF( tmp_set_locals_29 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_899, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_93;
    }
    }
    {
    tmp_dictset_value = const_str_digest_8d6cf8ba45dc3527a141eaa9a62053cf;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_899, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_93;
    }
    }
    {
    tmp_dictset_value = const_str_plain_ValidationParms;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_899, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_93;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_05ecca324a47f085a042d0b5e290c994_28, codeobj_05ecca324a47f085a042d0b5e290c994, module_asn1crypto$keys, sizeof(void *) );
    frame_05ecca324a47f085a042d0b5e290c994_28 = cache_frame_05ecca324a47f085a042d0b5e290c994_28;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_05ecca324a47f085a042d0b5e290c994_28 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_05ecca324a47f085a042d0b5e290c994_28 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_17;
    PyObject *tmp_tuple_element_173;
    PyObject *tmp_mvar_value_101;
    PyObject *tmp_tuple_element_174;
    PyObject *tmp_mvar_value_102;
    tmp_tuple_element_173 = const_str_plain_seed;
    tmp_list_element_17 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_173 );
    PyTuple_SET_ITEM( tmp_list_element_17, 0, tmp_tuple_element_173 );
    tmp_tuple_element_173 = PyObject_GetItem( locals_asn1crypto$keys_899, const_str_plain_BitString );

    if ( tmp_tuple_element_173 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_101 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_BitString );

        if (unlikely( tmp_mvar_value_101 == NULL ))
        {
            tmp_mvar_value_101 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_BitString );
        }

        if ( tmp_mvar_value_101 == NULL )
        {
            Py_DECREF( tmp_list_element_17 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "BitString" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 905;
            type_description_2 = "o";
            goto frame_exception_exit_28;
        }

        tmp_tuple_element_173 = tmp_mvar_value_101;
        Py_INCREF( tmp_tuple_element_173 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_17, 1, tmp_tuple_element_173 );
    tmp_dictset_value = PyList_New( 2 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_17 );
    tmp_tuple_element_174 = const_str_plain_pgen_counter;
    tmp_list_element_17 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_174 );
    PyTuple_SET_ITEM( tmp_list_element_17, 0, tmp_tuple_element_174 );
    tmp_tuple_element_174 = PyObject_GetItem( locals_asn1crypto$keys_899, const_str_plain_Integer );

    if ( tmp_tuple_element_174 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_102 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_102 == NULL ))
        {
            tmp_mvar_value_102 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_102 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_17 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 906;
            type_description_2 = "o";
            goto frame_exception_exit_28;
        }

        tmp_tuple_element_174 = tmp_mvar_value_102;
        Py_INCREF( tmp_tuple_element_174 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_17, 1, tmp_tuple_element_174 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_17 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_899, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 904;
        type_description_2 = "o";
        goto frame_exception_exit_28;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_05ecca324a47f085a042d0b5e290c994_28 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_27;

    frame_exception_exit_28:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_05ecca324a47f085a042d0b5e290c994_28 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_05ecca324a47f085a042d0b5e290c994_28, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_05ecca324a47f085a042d0b5e290c994_28->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_05ecca324a47f085a042d0b5e290c994_28, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_05ecca324a47f085a042d0b5e290c994_28,
        type_description_2,
        outline_28_var___class__
    );


    // Release cached frame.
    if ( frame_05ecca324a47f085a042d0b5e290c994_28 == cache_frame_05ecca324a47f085a042d0b5e290c994_28 )
    {
        Py_DECREF( frame_05ecca324a47f085a042d0b5e290c994_28 );
    }
    cache_frame_05ecca324a47f085a042d0b5e290c994_28 = NULL;

    assertFrameObject( frame_05ecca324a47f085a042d0b5e290c994_28 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_27;

    frame_no_exception_27:;
    goto skip_nested_handling_27;
    nested_frame_exit_27:;

    goto try_except_handler_93;
    skip_nested_handling_27:;
    {
    nuitka_bool tmp_condition_result_182;
    PyObject *tmp_compexpr_left_28;
    PyObject *tmp_compexpr_right_28;
    CHECK_OBJECT( tmp_class_creation_29__bases );
    tmp_compexpr_left_28 = tmp_class_creation_29__bases;
    CHECK_OBJECT( tmp_class_creation_29__bases_orig );
    tmp_compexpr_right_28 = tmp_class_creation_29__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_28, tmp_compexpr_right_28 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_93;
    }
    tmp_condition_result_182 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_182 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_115;
    }
    else
    {
        goto branch_no_115;
    }
    branch_yes_115:;
    {
    CHECK_OBJECT( tmp_class_creation_29__bases_orig );
    tmp_dictset_value = tmp_class_creation_29__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_899, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_93;
    }
    }
    branch_no_115:;
    }
    {
    PyObject *tmp_assign_source_277;
    PyObject *tmp_called_name_76;
    PyObject *tmp_args_name_58;
    PyObject *tmp_tuple_element_175;
    PyObject *tmp_kw_name_58;
    CHECK_OBJECT( tmp_class_creation_29__metaclass );
    tmp_called_name_76 = tmp_class_creation_29__metaclass;
    tmp_tuple_element_175 = const_str_plain_ValidationParms;
    tmp_args_name_58 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_175 );
    PyTuple_SET_ITEM( tmp_args_name_58, 0, tmp_tuple_element_175 );
    CHECK_OBJECT( tmp_class_creation_29__bases );
    tmp_tuple_element_175 = tmp_class_creation_29__bases;
    Py_INCREF( tmp_tuple_element_175 );
    PyTuple_SET_ITEM( tmp_args_name_58, 1, tmp_tuple_element_175 );
    tmp_tuple_element_175 = locals_asn1crypto$keys_899;
    Py_INCREF( tmp_tuple_element_175 );
    PyTuple_SET_ITEM( tmp_args_name_58, 2, tmp_tuple_element_175 );
    CHECK_OBJECT( tmp_class_creation_29__class_decl_dict );
    tmp_kw_name_58 = tmp_class_creation_29__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 899;
    tmp_assign_source_277 = CALL_FUNCTION( tmp_called_name_76, tmp_args_name_58, tmp_kw_name_58 );
    Py_DECREF( tmp_args_name_58 );
    if ( tmp_assign_source_277 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 899;

        goto try_except_handler_93;
    }
    assert( outline_28_var___class__ == NULL );
    outline_28_var___class__ = tmp_assign_source_277;

    }
    {
    CHECK_OBJECT( outline_28_var___class__ );
    tmp_assign_source_276 = outline_28_var___class__;
    Py_INCREF( tmp_assign_source_276 );
    goto try_return_handler_93;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_93:;
    {
    Py_DECREF( locals_asn1crypto$keys_899 );
    locals_asn1crypto$keys_899 = NULL;
    }
    {
    goto try_return_handler_92;
    }
    // Exception handler code:
    try_except_handler_93:;
    exception_keeper_type_91 = exception_type;
    exception_keeper_value_91 = exception_value;
    exception_keeper_tb_91 = exception_tb;
    exception_keeper_lineno_91 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_899 );
    locals_asn1crypto$keys_899 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_91;
    exception_value = exception_keeper_value_91;
    exception_tb = exception_keeper_tb_91;
    exception_lineno = exception_keeper_lineno_91;

    goto try_except_handler_92;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_92:;
    {
    CHECK_OBJECT( (PyObject *)outline_28_var___class__ );
    Py_DECREF( outline_28_var___class__ );
    outline_28_var___class__ = NULL;

    }
    {
    goto outline_result_29;
    }
    // Exception handler code:
    try_except_handler_92:;
    exception_keeper_type_92 = exception_type;
    exception_keeper_value_92 = exception_value;
    exception_keeper_tb_92 = exception_tb;
    exception_keeper_lineno_92 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_92;
    exception_value = exception_keeper_value_92;
    exception_tb = exception_keeper_tb_92;
    exception_lineno = exception_keeper_lineno_92;

    goto outline_exception_29;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_29:;
    exception_lineno = 899;
    goto try_except_handler_91;
    outline_result_29:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ValidationParms, tmp_assign_source_276 );
    }
    goto try_end_35;
    // Exception handler code:
    try_except_handler_91:;
    exception_keeper_type_93 = exception_type;
    exception_keeper_value_93 = exception_value;
    exception_keeper_tb_93 = exception_tb;
    exception_keeper_lineno_93 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_29__bases );
    tmp_class_creation_29__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_29__class_decl_dict );
    tmp_class_creation_29__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_29__metaclass );
    tmp_class_creation_29__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_29__prepared );
    tmp_class_creation_29__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_93;
    exception_value = exception_keeper_value_93;
    exception_tb = exception_keeper_tb_93;
    exception_lineno = exception_keeper_lineno_93;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_35:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_29__bases );
    Py_DECREF( tmp_class_creation_29__bases );
    tmp_class_creation_29__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_29__class_decl_dict );
    Py_DECREF( tmp_class_creation_29__class_decl_dict );
    tmp_class_creation_29__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_29__metaclass );
    Py_DECREF( tmp_class_creation_29__metaclass );
    tmp_class_creation_29__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_29__prepared );
    Py_DECREF( tmp_class_creation_29__prepared );
    tmp_class_creation_29__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_278;
    PyObject *tmp_tuple_element_176;
    PyObject *tmp_mvar_value_103;
    tmp_mvar_value_103 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_103 == NULL ))
    {
        tmp_mvar_value_103 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_103 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 910;

        goto try_except_handler_94;
    }

    tmp_tuple_element_176 = tmp_mvar_value_103;
    tmp_assign_source_278 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_176 );
    PyTuple_SET_ITEM( tmp_assign_source_278, 0, tmp_tuple_element_176 );
    assert( tmp_class_creation_30__bases_orig == NULL );
    tmp_class_creation_30__bases_orig = tmp_assign_source_278;

    }
    {
    PyObject *tmp_assign_source_279;
    PyObject *tmp_dircall_arg1_29;
    CHECK_OBJECT( tmp_class_creation_30__bases_orig );
    tmp_dircall_arg1_29 = tmp_class_creation_30__bases_orig;
    Py_INCREF( tmp_dircall_arg1_29 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_29};
        tmp_assign_source_279 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_279 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    assert( tmp_class_creation_30__bases == NULL );
    tmp_class_creation_30__bases = tmp_assign_source_279;

    }
    {
    PyObject *tmp_assign_source_280;
    tmp_assign_source_280 = PyDict_New();
    assert( tmp_class_creation_30__class_decl_dict == NULL );
    tmp_class_creation_30__class_decl_dict = tmp_assign_source_280;

    }
    {
    PyObject *tmp_assign_source_281;
    PyObject *tmp_metaclass_name_30;
    nuitka_bool tmp_condition_result_183;
    PyObject *tmp_key_name_88;
    PyObject *tmp_dict_name_88;
    PyObject *tmp_dict_name_89;
    PyObject *tmp_key_name_89;
    nuitka_bool tmp_condition_result_184;
    int tmp_truth_name_29;
    PyObject *tmp_type_arg_58;
    PyObject *tmp_subscribed_name_29;
    PyObject *tmp_subscript_name_29;
    PyObject *tmp_bases_name_30;
    tmp_key_name_88 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_30__class_decl_dict );
    tmp_dict_name_88 = tmp_class_creation_30__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_88, tmp_key_name_88 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    tmp_condition_result_183 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_183 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_68;
    }
    else
    {
        goto condexpr_false_68;
    }
    condexpr_true_68:;
    CHECK_OBJECT( tmp_class_creation_30__class_decl_dict );
    tmp_dict_name_89 = tmp_class_creation_30__class_decl_dict;
    tmp_key_name_89 = const_str_plain_metaclass;
    tmp_metaclass_name_30 = DICT_GET_ITEM( tmp_dict_name_89, tmp_key_name_89 );
    if ( tmp_metaclass_name_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    goto condexpr_end_68;
    condexpr_false_68:;
    CHECK_OBJECT( tmp_class_creation_30__bases );
    tmp_truth_name_29 = CHECK_IF_TRUE( tmp_class_creation_30__bases );
    if ( tmp_truth_name_29 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    tmp_condition_result_184 = tmp_truth_name_29 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_184 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_69;
    }
    else
    {
        goto condexpr_false_69;
    }
    condexpr_true_69:;
    CHECK_OBJECT( tmp_class_creation_30__bases );
    tmp_subscribed_name_29 = tmp_class_creation_30__bases;
    tmp_subscript_name_29 = const_int_0;
    tmp_type_arg_58 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_29, tmp_subscript_name_29, 0 );
    if ( tmp_type_arg_58 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    tmp_metaclass_name_30 = BUILTIN_TYPE1( tmp_type_arg_58 );
    Py_DECREF( tmp_type_arg_58 );
    if ( tmp_metaclass_name_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    goto condexpr_end_69;
    condexpr_false_69:;
    tmp_metaclass_name_30 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_30 );
    condexpr_end_69:;
    condexpr_end_68:;
    CHECK_OBJECT( tmp_class_creation_30__bases );
    tmp_bases_name_30 = tmp_class_creation_30__bases;
    tmp_assign_source_281 = SELECT_METACLASS( tmp_metaclass_name_30, tmp_bases_name_30 );
    Py_DECREF( tmp_metaclass_name_30 );
    if ( tmp_assign_source_281 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    assert( tmp_class_creation_30__metaclass == NULL );
    tmp_class_creation_30__metaclass = tmp_assign_source_281;

    }
    {
    nuitka_bool tmp_condition_result_185;
    PyObject *tmp_key_name_90;
    PyObject *tmp_dict_name_90;
    tmp_key_name_90 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_30__class_decl_dict );
    tmp_dict_name_90 = tmp_class_creation_30__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_90, tmp_key_name_90 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    tmp_condition_result_185 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_185 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_116;
    }
    else
    {
        goto branch_no_116;
    }
    branch_yes_116:;
    {
    CHECK_OBJECT( tmp_class_creation_30__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_30__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    }
    branch_no_116:;
    }
    {
    nuitka_bool tmp_condition_result_186;
    PyObject *tmp_source_name_117;
    CHECK_OBJECT( tmp_class_creation_30__metaclass );
    tmp_source_name_117 = tmp_class_creation_30__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_117, const_str_plain___prepare__ );
    tmp_condition_result_186 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_186 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_117;
    }
    else
    {
        goto branch_no_117;
    }
    branch_yes_117:;
    {
    PyObject *tmp_assign_source_282;
    PyObject *tmp_called_name_77;
    PyObject *tmp_source_name_118;
    PyObject *tmp_args_name_59;
    PyObject *tmp_tuple_element_177;
    PyObject *tmp_kw_name_59;
    CHECK_OBJECT( tmp_class_creation_30__metaclass );
    tmp_source_name_118 = tmp_class_creation_30__metaclass;
    tmp_called_name_77 = LOOKUP_ATTRIBUTE( tmp_source_name_118, const_str_plain___prepare__ );
    if ( tmp_called_name_77 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    tmp_tuple_element_177 = const_str_plain_DomainParameters;
    tmp_args_name_59 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_177 );
    PyTuple_SET_ITEM( tmp_args_name_59, 0, tmp_tuple_element_177 );
    CHECK_OBJECT( tmp_class_creation_30__bases );
    tmp_tuple_element_177 = tmp_class_creation_30__bases;
    Py_INCREF( tmp_tuple_element_177 );
    PyTuple_SET_ITEM( tmp_args_name_59, 1, tmp_tuple_element_177 );
    CHECK_OBJECT( tmp_class_creation_30__class_decl_dict );
    tmp_kw_name_59 = tmp_class_creation_30__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 910;
    tmp_assign_source_282 = CALL_FUNCTION( tmp_called_name_77, tmp_args_name_59, tmp_kw_name_59 );
    Py_DECREF( tmp_called_name_77 );
    Py_DECREF( tmp_args_name_59 );
    if ( tmp_assign_source_282 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    assert( tmp_class_creation_30__prepared == NULL );
    tmp_class_creation_30__prepared = tmp_assign_source_282;

    }
    {
    nuitka_bool tmp_condition_result_187;
    PyObject *tmp_operand_name_30;
    PyObject *tmp_source_name_119;
    CHECK_OBJECT( tmp_class_creation_30__prepared );
    tmp_source_name_119 = tmp_class_creation_30__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_119, const_str_plain___getitem__ );
    tmp_operand_name_30 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_30 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    tmp_condition_result_187 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_187 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_118;
    }
    else
    {
        goto branch_no_118;
    }
    branch_yes_118:;
    {
    PyObject *tmp_raise_type_30;
    PyObject *tmp_raise_value_30;
    PyObject *tmp_left_name_30;
    PyObject *tmp_right_name_30;
    PyObject *tmp_tuple_element_178;
    PyObject *tmp_getattr_target_30;
    PyObject *tmp_getattr_attr_30;
    PyObject *tmp_getattr_default_30;
    PyObject *tmp_source_name_120;
    PyObject *tmp_type_arg_59;
    tmp_raise_type_30 = PyExc_TypeError;
    tmp_left_name_30 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_30__metaclass );
    tmp_getattr_target_30 = tmp_class_creation_30__metaclass;
    tmp_getattr_attr_30 = const_str_plain___name__;
    tmp_getattr_default_30 = const_str_angle_metaclass;
    tmp_tuple_element_178 = BUILTIN_GETATTR( tmp_getattr_target_30, tmp_getattr_attr_30, tmp_getattr_default_30 );
    if ( tmp_tuple_element_178 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    tmp_right_name_30 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_30, 0, tmp_tuple_element_178 );
    CHECK_OBJECT( tmp_class_creation_30__prepared );
    tmp_type_arg_59 = tmp_class_creation_30__prepared;
    tmp_source_name_120 = BUILTIN_TYPE1( tmp_type_arg_59 );
    assert( !(tmp_source_name_120 == NULL) );
    tmp_tuple_element_178 = LOOKUP_ATTRIBUTE( tmp_source_name_120, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_120 );
    if ( tmp_tuple_element_178 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_30 );

        exception_lineno = 910;

        goto try_except_handler_94;
    }
    PyTuple_SET_ITEM( tmp_right_name_30, 1, tmp_tuple_element_178 );
    tmp_raise_value_30 = BINARY_OPERATION_REMAINDER( tmp_left_name_30, tmp_right_name_30 );
    Py_DECREF( tmp_right_name_30 );
    if ( tmp_raise_value_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_94;
    }
    exception_type = tmp_raise_type_30;
    Py_INCREF( tmp_raise_type_30 );
    exception_value = tmp_raise_value_30;
    exception_lineno = 910;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_94;
    }
    branch_no_118:;
    }
    goto branch_end_117;
    branch_no_117:;
    {
    PyObject *tmp_assign_source_283;
    tmp_assign_source_283 = PyDict_New();
    assert( tmp_class_creation_30__prepared == NULL );
    tmp_class_creation_30__prepared = tmp_assign_source_283;

    }
    branch_end_117:;
    }
    {
    PyObject *tmp_assign_source_284;
    {
    PyObject *tmp_set_locals_30;
    CHECK_OBJECT( tmp_class_creation_30__prepared );
    tmp_set_locals_30 = tmp_class_creation_30__prepared;
    locals_asn1crypto$keys_910 = tmp_set_locals_30;
    Py_INCREF( tmp_set_locals_30 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_910, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_96;
    }
    }
    {
    tmp_dictset_value = const_str_digest_8d6cf8ba45dc3527a141eaa9a62053cf;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_910, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_96;
    }
    }
    {
    tmp_dictset_value = const_str_plain_DomainParameters;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_910, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_96;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_15d7cb43c14c279363c99db0057de4d2_29, codeobj_15d7cb43c14c279363c99db0057de4d2, module_asn1crypto$keys, sizeof(void *) );
    frame_15d7cb43c14c279363c99db0057de4d2_29 = cache_frame_15d7cb43c14c279363c99db0057de4d2_29;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_15d7cb43c14c279363c99db0057de4d2_29 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_15d7cb43c14c279363c99db0057de4d2_29 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_18;
    PyObject *tmp_tuple_element_179;
    PyObject *tmp_mvar_value_104;
    PyObject *tmp_tuple_element_180;
    PyObject *tmp_mvar_value_105;
    PyObject *tmp_tuple_element_181;
    PyObject *tmp_mvar_value_106;
    PyObject *tmp_tuple_element_182;
    PyObject *tmp_mvar_value_107;
    PyObject *tmp_tuple_element_183;
    PyObject *tmp_mvar_value_108;
    tmp_tuple_element_179 = const_str_plain_p;
    tmp_list_element_18 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_179 );
    PyTuple_SET_ITEM( tmp_list_element_18, 0, tmp_tuple_element_179 );
    tmp_tuple_element_179 = PyObject_GetItem( locals_asn1crypto$keys_910, const_str_plain_Integer );

    if ( tmp_tuple_element_179 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_104 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_104 == NULL ))
        {
            tmp_mvar_value_104 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_104 == NULL )
        {
            Py_DECREF( tmp_list_element_18 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 916;
            type_description_2 = "o";
            goto frame_exception_exit_29;
        }

        tmp_tuple_element_179 = tmp_mvar_value_104;
        Py_INCREF( tmp_tuple_element_179 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_18, 1, tmp_tuple_element_179 );
    tmp_dictset_value = PyList_New( 5 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_18 );
    tmp_tuple_element_180 = const_str_plain_g;
    tmp_list_element_18 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_180 );
    PyTuple_SET_ITEM( tmp_list_element_18, 0, tmp_tuple_element_180 );
    tmp_tuple_element_180 = PyObject_GetItem( locals_asn1crypto$keys_910, const_str_plain_Integer );

    if ( tmp_tuple_element_180 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_105 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_105 == NULL ))
        {
            tmp_mvar_value_105 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_105 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_18 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 917;
            type_description_2 = "o";
            goto frame_exception_exit_29;
        }

        tmp_tuple_element_180 = tmp_mvar_value_105;
        Py_INCREF( tmp_tuple_element_180 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_18, 1, tmp_tuple_element_180 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_18 );
    tmp_tuple_element_181 = const_str_plain_q;
    tmp_list_element_18 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_181 );
    PyTuple_SET_ITEM( tmp_list_element_18, 0, tmp_tuple_element_181 );
    tmp_tuple_element_181 = PyObject_GetItem( locals_asn1crypto$keys_910, const_str_plain_Integer );

    if ( tmp_tuple_element_181 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_106 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_106 == NULL ))
        {
            tmp_mvar_value_106 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_106 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_18 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 918;
            type_description_2 = "o";
            goto frame_exception_exit_29;
        }

        tmp_tuple_element_181 = tmp_mvar_value_106;
        Py_INCREF( tmp_tuple_element_181 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_18, 1, tmp_tuple_element_181 );
    PyList_SET_ITEM( tmp_dictset_value, 2, tmp_list_element_18 );
    tmp_tuple_element_182 = const_str_plain_j;
    tmp_list_element_18 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_182 );
    PyTuple_SET_ITEM( tmp_list_element_18, 0, tmp_tuple_element_182 );
    tmp_tuple_element_182 = PyObject_GetItem( locals_asn1crypto$keys_910, const_str_plain_Integer );

    if ( tmp_tuple_element_182 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_107 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Integer );

        if (unlikely( tmp_mvar_value_107 == NULL ))
        {
            tmp_mvar_value_107 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Integer );
        }

        if ( tmp_mvar_value_107 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_18 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Integer" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 919;
            type_description_2 = "o";
            goto frame_exception_exit_29;
        }

        tmp_tuple_element_182 = tmp_mvar_value_107;
        Py_INCREF( tmp_tuple_element_182 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_18, 1, tmp_tuple_element_182 );
    tmp_tuple_element_182 = PyDict_Copy( const_dict_e0d63c4beb9400e233c3204dcf4f1861 );
    PyTuple_SET_ITEM( tmp_list_element_18, 2, tmp_tuple_element_182 );
    PyList_SET_ITEM( tmp_dictset_value, 3, tmp_list_element_18 );
    tmp_tuple_element_183 = const_str_plain_validation_params;
    tmp_list_element_18 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_183 );
    PyTuple_SET_ITEM( tmp_list_element_18, 0, tmp_tuple_element_183 );
    tmp_tuple_element_183 = PyObject_GetItem( locals_asn1crypto$keys_910, const_str_plain_ValidationParms );

    if ( tmp_tuple_element_183 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_108 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ValidationParms );

        if (unlikely( tmp_mvar_value_108 == NULL ))
        {
            tmp_mvar_value_108 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ValidationParms );
        }

        if ( tmp_mvar_value_108 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_18 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ValidationParms" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 920;
            type_description_2 = "o";
            goto frame_exception_exit_29;
        }

        tmp_tuple_element_183 = tmp_mvar_value_108;
        Py_INCREF( tmp_tuple_element_183 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_18, 1, tmp_tuple_element_183 );
    tmp_tuple_element_183 = PyDict_Copy( const_dict_e0d63c4beb9400e233c3204dcf4f1861 );
    PyTuple_SET_ITEM( tmp_list_element_18, 2, tmp_tuple_element_183 );
    PyList_SET_ITEM( tmp_dictset_value, 4, tmp_list_element_18 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_910, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 915;
        type_description_2 = "o";
        goto frame_exception_exit_29;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_15d7cb43c14c279363c99db0057de4d2_29 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_28;

    frame_exception_exit_29:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_15d7cb43c14c279363c99db0057de4d2_29 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_15d7cb43c14c279363c99db0057de4d2_29, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_15d7cb43c14c279363c99db0057de4d2_29->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_15d7cb43c14c279363c99db0057de4d2_29, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_15d7cb43c14c279363c99db0057de4d2_29,
        type_description_2,
        outline_29_var___class__
    );


    // Release cached frame.
    if ( frame_15d7cb43c14c279363c99db0057de4d2_29 == cache_frame_15d7cb43c14c279363c99db0057de4d2_29 )
    {
        Py_DECREF( frame_15d7cb43c14c279363c99db0057de4d2_29 );
    }
    cache_frame_15d7cb43c14c279363c99db0057de4d2_29 = NULL;

    assertFrameObject( frame_15d7cb43c14c279363c99db0057de4d2_29 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_28;

    frame_no_exception_28:;
    goto skip_nested_handling_28;
    nested_frame_exit_28:;

    goto try_except_handler_96;
    skip_nested_handling_28:;
    {
    nuitka_bool tmp_condition_result_188;
    PyObject *tmp_compexpr_left_29;
    PyObject *tmp_compexpr_right_29;
    CHECK_OBJECT( tmp_class_creation_30__bases );
    tmp_compexpr_left_29 = tmp_class_creation_30__bases;
    CHECK_OBJECT( tmp_class_creation_30__bases_orig );
    tmp_compexpr_right_29 = tmp_class_creation_30__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_29, tmp_compexpr_right_29 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_96;
    }
    tmp_condition_result_188 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_188 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_119;
    }
    else
    {
        goto branch_no_119;
    }
    branch_yes_119:;
    {
    CHECK_OBJECT( tmp_class_creation_30__bases_orig );
    tmp_dictset_value = tmp_class_creation_30__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_910, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_96;
    }
    }
    branch_no_119:;
    }
    {
    PyObject *tmp_assign_source_285;
    PyObject *tmp_called_name_78;
    PyObject *tmp_args_name_60;
    PyObject *tmp_tuple_element_184;
    PyObject *tmp_kw_name_60;
    CHECK_OBJECT( tmp_class_creation_30__metaclass );
    tmp_called_name_78 = tmp_class_creation_30__metaclass;
    tmp_tuple_element_184 = const_str_plain_DomainParameters;
    tmp_args_name_60 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_184 );
    PyTuple_SET_ITEM( tmp_args_name_60, 0, tmp_tuple_element_184 );
    CHECK_OBJECT( tmp_class_creation_30__bases );
    tmp_tuple_element_184 = tmp_class_creation_30__bases;
    Py_INCREF( tmp_tuple_element_184 );
    PyTuple_SET_ITEM( tmp_args_name_60, 1, tmp_tuple_element_184 );
    tmp_tuple_element_184 = locals_asn1crypto$keys_910;
    Py_INCREF( tmp_tuple_element_184 );
    PyTuple_SET_ITEM( tmp_args_name_60, 2, tmp_tuple_element_184 );
    CHECK_OBJECT( tmp_class_creation_30__class_decl_dict );
    tmp_kw_name_60 = tmp_class_creation_30__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 910;
    tmp_assign_source_285 = CALL_FUNCTION( tmp_called_name_78, tmp_args_name_60, tmp_kw_name_60 );
    Py_DECREF( tmp_args_name_60 );
    if ( tmp_assign_source_285 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;

        goto try_except_handler_96;
    }
    assert( outline_29_var___class__ == NULL );
    outline_29_var___class__ = tmp_assign_source_285;

    }
    {
    CHECK_OBJECT( outline_29_var___class__ );
    tmp_assign_source_284 = outline_29_var___class__;
    Py_INCREF( tmp_assign_source_284 );
    goto try_return_handler_96;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_96:;
    {
    Py_DECREF( locals_asn1crypto$keys_910 );
    locals_asn1crypto$keys_910 = NULL;
    }
    {
    goto try_return_handler_95;
    }
    // Exception handler code:
    try_except_handler_96:;
    exception_keeper_type_94 = exception_type;
    exception_keeper_value_94 = exception_value;
    exception_keeper_tb_94 = exception_tb;
    exception_keeper_lineno_94 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_910 );
    locals_asn1crypto$keys_910 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_94;
    exception_value = exception_keeper_value_94;
    exception_tb = exception_keeper_tb_94;
    exception_lineno = exception_keeper_lineno_94;

    goto try_except_handler_95;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_95:;
    {
    CHECK_OBJECT( (PyObject *)outline_29_var___class__ );
    Py_DECREF( outline_29_var___class__ );
    outline_29_var___class__ = NULL;

    }
    {
    goto outline_result_30;
    }
    // Exception handler code:
    try_except_handler_95:;
    exception_keeper_type_95 = exception_type;
    exception_keeper_value_95 = exception_value;
    exception_keeper_tb_95 = exception_tb;
    exception_keeper_lineno_95 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_95;
    exception_value = exception_keeper_value_95;
    exception_tb = exception_keeper_tb_95;
    exception_lineno = exception_keeper_lineno_95;

    goto outline_exception_30;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_30:;
    exception_lineno = 910;
    goto try_except_handler_94;
    outline_result_30:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DomainParameters, tmp_assign_source_284 );
    }
    goto try_end_36;
    // Exception handler code:
    try_except_handler_94:;
    exception_keeper_type_96 = exception_type;
    exception_keeper_value_96 = exception_value;
    exception_keeper_tb_96 = exception_tb;
    exception_keeper_lineno_96 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_30__bases );
    tmp_class_creation_30__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_30__class_decl_dict );
    tmp_class_creation_30__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_30__metaclass );
    tmp_class_creation_30__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_30__prepared );
    tmp_class_creation_30__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_96;
    exception_value = exception_keeper_value_96;
    exception_tb = exception_keeper_tb_96;
    exception_lineno = exception_keeper_lineno_96;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_36:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_30__bases );
    Py_DECREF( tmp_class_creation_30__bases );
    tmp_class_creation_30__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_30__class_decl_dict );
    Py_DECREF( tmp_class_creation_30__class_decl_dict );
    tmp_class_creation_30__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_30__metaclass );
    Py_DECREF( tmp_class_creation_30__metaclass );
    tmp_class_creation_30__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_30__prepared );
    Py_DECREF( tmp_class_creation_30__prepared );
    tmp_class_creation_30__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_286;
    PyObject *tmp_tuple_element_185;
    PyObject *tmp_mvar_value_109;
    tmp_mvar_value_109 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );

    if (unlikely( tmp_mvar_value_109 == NULL ))
    {
        tmp_mvar_value_109 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ObjectIdentifier );
    }

    if ( tmp_mvar_value_109 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ObjectIdentifier" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 924;

        goto try_except_handler_97;
    }

    tmp_tuple_element_185 = tmp_mvar_value_109;
    tmp_assign_source_286 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_185 );
    PyTuple_SET_ITEM( tmp_assign_source_286, 0, tmp_tuple_element_185 );
    assert( tmp_class_creation_31__bases_orig == NULL );
    tmp_class_creation_31__bases_orig = tmp_assign_source_286;

    }
    {
    PyObject *tmp_assign_source_287;
    PyObject *tmp_dircall_arg1_30;
    CHECK_OBJECT( tmp_class_creation_31__bases_orig );
    tmp_dircall_arg1_30 = tmp_class_creation_31__bases_orig;
    Py_INCREF( tmp_dircall_arg1_30 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_30};
        tmp_assign_source_287 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_287 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    assert( tmp_class_creation_31__bases == NULL );
    tmp_class_creation_31__bases = tmp_assign_source_287;

    }
    {
    PyObject *tmp_assign_source_288;
    tmp_assign_source_288 = PyDict_New();
    assert( tmp_class_creation_31__class_decl_dict == NULL );
    tmp_class_creation_31__class_decl_dict = tmp_assign_source_288;

    }
    {
    PyObject *tmp_assign_source_289;
    PyObject *tmp_metaclass_name_31;
    nuitka_bool tmp_condition_result_189;
    PyObject *tmp_key_name_91;
    PyObject *tmp_dict_name_91;
    PyObject *tmp_dict_name_92;
    PyObject *tmp_key_name_92;
    nuitka_bool tmp_condition_result_190;
    int tmp_truth_name_30;
    PyObject *tmp_type_arg_60;
    PyObject *tmp_subscribed_name_30;
    PyObject *tmp_subscript_name_30;
    PyObject *tmp_bases_name_31;
    tmp_key_name_91 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_31__class_decl_dict );
    tmp_dict_name_91 = tmp_class_creation_31__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_91, tmp_key_name_91 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    tmp_condition_result_189 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_189 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_70;
    }
    else
    {
        goto condexpr_false_70;
    }
    condexpr_true_70:;
    CHECK_OBJECT( tmp_class_creation_31__class_decl_dict );
    tmp_dict_name_92 = tmp_class_creation_31__class_decl_dict;
    tmp_key_name_92 = const_str_plain_metaclass;
    tmp_metaclass_name_31 = DICT_GET_ITEM( tmp_dict_name_92, tmp_key_name_92 );
    if ( tmp_metaclass_name_31 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    goto condexpr_end_70;
    condexpr_false_70:;
    CHECK_OBJECT( tmp_class_creation_31__bases );
    tmp_truth_name_30 = CHECK_IF_TRUE( tmp_class_creation_31__bases );
    if ( tmp_truth_name_30 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    tmp_condition_result_190 = tmp_truth_name_30 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_190 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_71;
    }
    else
    {
        goto condexpr_false_71;
    }
    condexpr_true_71:;
    CHECK_OBJECT( tmp_class_creation_31__bases );
    tmp_subscribed_name_30 = tmp_class_creation_31__bases;
    tmp_subscript_name_30 = const_int_0;
    tmp_type_arg_60 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_30, tmp_subscript_name_30, 0 );
    if ( tmp_type_arg_60 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    tmp_metaclass_name_31 = BUILTIN_TYPE1( tmp_type_arg_60 );
    Py_DECREF( tmp_type_arg_60 );
    if ( tmp_metaclass_name_31 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    goto condexpr_end_71;
    condexpr_false_71:;
    tmp_metaclass_name_31 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_31 );
    condexpr_end_71:;
    condexpr_end_70:;
    CHECK_OBJECT( tmp_class_creation_31__bases );
    tmp_bases_name_31 = tmp_class_creation_31__bases;
    tmp_assign_source_289 = SELECT_METACLASS( tmp_metaclass_name_31, tmp_bases_name_31 );
    Py_DECREF( tmp_metaclass_name_31 );
    if ( tmp_assign_source_289 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    assert( tmp_class_creation_31__metaclass == NULL );
    tmp_class_creation_31__metaclass = tmp_assign_source_289;

    }
    {
    nuitka_bool tmp_condition_result_191;
    PyObject *tmp_key_name_93;
    PyObject *tmp_dict_name_93;
    tmp_key_name_93 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_31__class_decl_dict );
    tmp_dict_name_93 = tmp_class_creation_31__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_93, tmp_key_name_93 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    tmp_condition_result_191 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_191 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_120;
    }
    else
    {
        goto branch_no_120;
    }
    branch_yes_120:;
    {
    CHECK_OBJECT( tmp_class_creation_31__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_31__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    }
    branch_no_120:;
    }
    {
    nuitka_bool tmp_condition_result_192;
    PyObject *tmp_source_name_121;
    CHECK_OBJECT( tmp_class_creation_31__metaclass );
    tmp_source_name_121 = tmp_class_creation_31__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_121, const_str_plain___prepare__ );
    tmp_condition_result_192 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_192 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_121;
    }
    else
    {
        goto branch_no_121;
    }
    branch_yes_121:;
    {
    PyObject *tmp_assign_source_290;
    PyObject *tmp_called_name_79;
    PyObject *tmp_source_name_122;
    PyObject *tmp_args_name_61;
    PyObject *tmp_tuple_element_186;
    PyObject *tmp_kw_name_61;
    CHECK_OBJECT( tmp_class_creation_31__metaclass );
    tmp_source_name_122 = tmp_class_creation_31__metaclass;
    tmp_called_name_79 = LOOKUP_ATTRIBUTE( tmp_source_name_122, const_str_plain___prepare__ );
    if ( tmp_called_name_79 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    tmp_tuple_element_186 = const_str_plain_PublicKeyAlgorithmId;
    tmp_args_name_61 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_186 );
    PyTuple_SET_ITEM( tmp_args_name_61, 0, tmp_tuple_element_186 );
    CHECK_OBJECT( tmp_class_creation_31__bases );
    tmp_tuple_element_186 = tmp_class_creation_31__bases;
    Py_INCREF( tmp_tuple_element_186 );
    PyTuple_SET_ITEM( tmp_args_name_61, 1, tmp_tuple_element_186 );
    CHECK_OBJECT( tmp_class_creation_31__class_decl_dict );
    tmp_kw_name_61 = tmp_class_creation_31__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 924;
    tmp_assign_source_290 = CALL_FUNCTION( tmp_called_name_79, tmp_args_name_61, tmp_kw_name_61 );
    Py_DECREF( tmp_called_name_79 );
    Py_DECREF( tmp_args_name_61 );
    if ( tmp_assign_source_290 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    assert( tmp_class_creation_31__prepared == NULL );
    tmp_class_creation_31__prepared = tmp_assign_source_290;

    }
    {
    nuitka_bool tmp_condition_result_193;
    PyObject *tmp_operand_name_31;
    PyObject *tmp_source_name_123;
    CHECK_OBJECT( tmp_class_creation_31__prepared );
    tmp_source_name_123 = tmp_class_creation_31__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_123, const_str_plain___getitem__ );
    tmp_operand_name_31 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_31 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    tmp_condition_result_193 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_193 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_122;
    }
    else
    {
        goto branch_no_122;
    }
    branch_yes_122:;
    {
    PyObject *tmp_raise_type_31;
    PyObject *tmp_raise_value_31;
    PyObject *tmp_left_name_31;
    PyObject *tmp_right_name_31;
    PyObject *tmp_tuple_element_187;
    PyObject *tmp_getattr_target_31;
    PyObject *tmp_getattr_attr_31;
    PyObject *tmp_getattr_default_31;
    PyObject *tmp_source_name_124;
    PyObject *tmp_type_arg_61;
    tmp_raise_type_31 = PyExc_TypeError;
    tmp_left_name_31 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_31__metaclass );
    tmp_getattr_target_31 = tmp_class_creation_31__metaclass;
    tmp_getattr_attr_31 = const_str_plain___name__;
    tmp_getattr_default_31 = const_str_angle_metaclass;
    tmp_tuple_element_187 = BUILTIN_GETATTR( tmp_getattr_target_31, tmp_getattr_attr_31, tmp_getattr_default_31 );
    if ( tmp_tuple_element_187 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    tmp_right_name_31 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_31, 0, tmp_tuple_element_187 );
    CHECK_OBJECT( tmp_class_creation_31__prepared );
    tmp_type_arg_61 = tmp_class_creation_31__prepared;
    tmp_source_name_124 = BUILTIN_TYPE1( tmp_type_arg_61 );
    assert( !(tmp_source_name_124 == NULL) );
    tmp_tuple_element_187 = LOOKUP_ATTRIBUTE( tmp_source_name_124, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_124 );
    if ( tmp_tuple_element_187 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_31 );

        exception_lineno = 924;

        goto try_except_handler_97;
    }
    PyTuple_SET_ITEM( tmp_right_name_31, 1, tmp_tuple_element_187 );
    tmp_raise_value_31 = BINARY_OPERATION_REMAINDER( tmp_left_name_31, tmp_right_name_31 );
    Py_DECREF( tmp_right_name_31 );
    if ( tmp_raise_value_31 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_97;
    }
    exception_type = tmp_raise_type_31;
    Py_INCREF( tmp_raise_type_31 );
    exception_value = tmp_raise_value_31;
    exception_lineno = 924;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_97;
    }
    branch_no_122:;
    }
    goto branch_end_121;
    branch_no_121:;
    {
    PyObject *tmp_assign_source_291;
    tmp_assign_source_291 = PyDict_New();
    assert( tmp_class_creation_31__prepared == NULL );
    tmp_class_creation_31__prepared = tmp_assign_source_291;

    }
    branch_end_121:;
    }
    {
    PyObject *tmp_assign_source_292;
    {
    PyObject *tmp_set_locals_31;
    CHECK_OBJECT( tmp_class_creation_31__prepared );
    tmp_set_locals_31 = tmp_class_creation_31__prepared;
    locals_asn1crypto$keys_924 = tmp_set_locals_31;
    Py_INCREF( tmp_set_locals_31 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_924, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_99;
    }
    }
    {
    tmp_dictset_value = const_str_digest_866bc41bd7d78eb407d2b5fc559416cb;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_924, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_99;
    }
    }
    {
    tmp_dictset_value = const_str_plain_PublicKeyAlgorithmId;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_924, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_99;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_4194eb0757b9bff460b1bd05ed44cd67_30, codeobj_4194eb0757b9bff460b1bd05ed44cd67, module_asn1crypto$keys, sizeof(void *) );
    frame_4194eb0757b9bff460b1bd05ed44cd67_30 = cache_frame_4194eb0757b9bff460b1bd05ed44cd67_30;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_4194eb0757b9bff460b1bd05ed44cd67_30 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_4194eb0757b9bff460b1bd05ed44cd67_30 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = PyDict_Copy( const_dict_7f186ae15244f0d9f7c9bddb9c7d7da3 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_924, const_str_plain__map, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 930;
        type_description_2 = "o";
        goto frame_exception_exit_30;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_4194eb0757b9bff460b1bd05ed44cd67_30 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_29;

    frame_exception_exit_30:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_4194eb0757b9bff460b1bd05ed44cd67_30 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_4194eb0757b9bff460b1bd05ed44cd67_30, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_4194eb0757b9bff460b1bd05ed44cd67_30->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_4194eb0757b9bff460b1bd05ed44cd67_30, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_4194eb0757b9bff460b1bd05ed44cd67_30,
        type_description_2,
        outline_30_var___class__
    );


    // Release cached frame.
    if ( frame_4194eb0757b9bff460b1bd05ed44cd67_30 == cache_frame_4194eb0757b9bff460b1bd05ed44cd67_30 )
    {
        Py_DECREF( frame_4194eb0757b9bff460b1bd05ed44cd67_30 );
    }
    cache_frame_4194eb0757b9bff460b1bd05ed44cd67_30 = NULL;

    assertFrameObject( frame_4194eb0757b9bff460b1bd05ed44cd67_30 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_29;

    frame_no_exception_29:;
    goto skip_nested_handling_29;
    nested_frame_exit_29:;

    goto try_except_handler_99;
    skip_nested_handling_29:;
    {
    nuitka_bool tmp_condition_result_194;
    PyObject *tmp_compexpr_left_30;
    PyObject *tmp_compexpr_right_30;
    CHECK_OBJECT( tmp_class_creation_31__bases );
    tmp_compexpr_left_30 = tmp_class_creation_31__bases;
    CHECK_OBJECT( tmp_class_creation_31__bases_orig );
    tmp_compexpr_right_30 = tmp_class_creation_31__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_30, tmp_compexpr_right_30 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_99;
    }
    tmp_condition_result_194 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_194 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_123;
    }
    else
    {
        goto branch_no_123;
    }
    branch_yes_123:;
    {
    CHECK_OBJECT( tmp_class_creation_31__bases_orig );
    tmp_dictset_value = tmp_class_creation_31__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_924, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_99;
    }
    }
    branch_no_123:;
    }
    {
    PyObject *tmp_assign_source_293;
    PyObject *tmp_called_name_80;
    PyObject *tmp_args_name_62;
    PyObject *tmp_tuple_element_188;
    PyObject *tmp_kw_name_62;
    CHECK_OBJECT( tmp_class_creation_31__metaclass );
    tmp_called_name_80 = tmp_class_creation_31__metaclass;
    tmp_tuple_element_188 = const_str_plain_PublicKeyAlgorithmId;
    tmp_args_name_62 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_188 );
    PyTuple_SET_ITEM( tmp_args_name_62, 0, tmp_tuple_element_188 );
    CHECK_OBJECT( tmp_class_creation_31__bases );
    tmp_tuple_element_188 = tmp_class_creation_31__bases;
    Py_INCREF( tmp_tuple_element_188 );
    PyTuple_SET_ITEM( tmp_args_name_62, 1, tmp_tuple_element_188 );
    tmp_tuple_element_188 = locals_asn1crypto$keys_924;
    Py_INCREF( tmp_tuple_element_188 );
    PyTuple_SET_ITEM( tmp_args_name_62, 2, tmp_tuple_element_188 );
    CHECK_OBJECT( tmp_class_creation_31__class_decl_dict );
    tmp_kw_name_62 = tmp_class_creation_31__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 924;
    tmp_assign_source_293 = CALL_FUNCTION( tmp_called_name_80, tmp_args_name_62, tmp_kw_name_62 );
    Py_DECREF( tmp_args_name_62 );
    if ( tmp_assign_source_293 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 924;

        goto try_except_handler_99;
    }
    assert( outline_30_var___class__ == NULL );
    outline_30_var___class__ = tmp_assign_source_293;

    }
    {
    CHECK_OBJECT( outline_30_var___class__ );
    tmp_assign_source_292 = outline_30_var___class__;
    Py_INCREF( tmp_assign_source_292 );
    goto try_return_handler_99;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_99:;
    {
    Py_DECREF( locals_asn1crypto$keys_924 );
    locals_asn1crypto$keys_924 = NULL;
    }
    {
    goto try_return_handler_98;
    }
    // Exception handler code:
    try_except_handler_99:;
    exception_keeper_type_97 = exception_type;
    exception_keeper_value_97 = exception_value;
    exception_keeper_tb_97 = exception_tb;
    exception_keeper_lineno_97 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_924 );
    locals_asn1crypto$keys_924 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_97;
    exception_value = exception_keeper_value_97;
    exception_tb = exception_keeper_tb_97;
    exception_lineno = exception_keeper_lineno_97;

    goto try_except_handler_98;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_98:;
    {
    CHECK_OBJECT( (PyObject *)outline_30_var___class__ );
    Py_DECREF( outline_30_var___class__ );
    outline_30_var___class__ = NULL;

    }
    {
    goto outline_result_31;
    }
    // Exception handler code:
    try_except_handler_98:;
    exception_keeper_type_98 = exception_type;
    exception_keeper_value_98 = exception_value;
    exception_keeper_tb_98 = exception_tb;
    exception_keeper_lineno_98 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_98;
    exception_value = exception_keeper_value_98;
    exception_tb = exception_keeper_tb_98;
    exception_lineno = exception_keeper_lineno_98;

    goto outline_exception_31;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_31:;
    exception_lineno = 924;
    goto try_except_handler_97;
    outline_result_31:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithmId, tmp_assign_source_292 );
    }
    goto try_end_37;
    // Exception handler code:
    try_except_handler_97:;
    exception_keeper_type_99 = exception_type;
    exception_keeper_value_99 = exception_value;
    exception_keeper_tb_99 = exception_tb;
    exception_keeper_lineno_99 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_31__bases );
    tmp_class_creation_31__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_31__class_decl_dict );
    tmp_class_creation_31__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_31__metaclass );
    tmp_class_creation_31__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_31__prepared );
    tmp_class_creation_31__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_99;
    exception_value = exception_keeper_value_99;
    exception_tb = exception_keeper_tb_99;
    exception_lineno = exception_keeper_lineno_99;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_37:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_31__bases );
    Py_DECREF( tmp_class_creation_31__bases );
    tmp_class_creation_31__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_31__class_decl_dict );
    Py_DECREF( tmp_class_creation_31__class_decl_dict );
    tmp_class_creation_31__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_31__metaclass );
    Py_DECREF( tmp_class_creation_31__metaclass );
    tmp_class_creation_31__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_31__prepared );
    Py_DECREF( tmp_class_creation_31__prepared );
    tmp_class_creation_31__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_294;
    PyObject *tmp_tuple_element_189;
    PyObject *tmp_mvar_value_110;
    PyObject *tmp_mvar_value_111;
    tmp_mvar_value_110 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain__ForceNullParameters );

    if (unlikely( tmp_mvar_value_110 == NULL ))
    {
        tmp_mvar_value_110 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ForceNullParameters );
    }

    if ( tmp_mvar_value_110 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ForceNullParameters" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 944;

        goto try_except_handler_100;
    }

    tmp_tuple_element_189 = tmp_mvar_value_110;
    tmp_assign_source_294 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_189 );
    PyTuple_SET_ITEM( tmp_assign_source_294, 0, tmp_tuple_element_189 );
    tmp_mvar_value_111 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_111 == NULL ))
    {
        tmp_mvar_value_111 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_111 == NULL )
    {
        Py_DECREF( tmp_assign_source_294 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 944;

        goto try_except_handler_100;
    }

    tmp_tuple_element_189 = tmp_mvar_value_111;
    Py_INCREF( tmp_tuple_element_189 );
    PyTuple_SET_ITEM( tmp_assign_source_294, 1, tmp_tuple_element_189 );
    assert( tmp_class_creation_32__bases_orig == NULL );
    tmp_class_creation_32__bases_orig = tmp_assign_source_294;

    }
    {
    PyObject *tmp_assign_source_295;
    PyObject *tmp_dircall_arg1_31;
    CHECK_OBJECT( tmp_class_creation_32__bases_orig );
    tmp_dircall_arg1_31 = tmp_class_creation_32__bases_orig;
    Py_INCREF( tmp_dircall_arg1_31 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_31};
        tmp_assign_source_295 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_295 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    assert( tmp_class_creation_32__bases == NULL );
    tmp_class_creation_32__bases = tmp_assign_source_295;

    }
    {
    PyObject *tmp_assign_source_296;
    tmp_assign_source_296 = PyDict_New();
    assert( tmp_class_creation_32__class_decl_dict == NULL );
    tmp_class_creation_32__class_decl_dict = tmp_assign_source_296;

    }
    {
    PyObject *tmp_assign_source_297;
    PyObject *tmp_metaclass_name_32;
    nuitka_bool tmp_condition_result_195;
    PyObject *tmp_key_name_94;
    PyObject *tmp_dict_name_94;
    PyObject *tmp_dict_name_95;
    PyObject *tmp_key_name_95;
    nuitka_bool tmp_condition_result_196;
    int tmp_truth_name_31;
    PyObject *tmp_type_arg_62;
    PyObject *tmp_subscribed_name_31;
    PyObject *tmp_subscript_name_31;
    PyObject *tmp_bases_name_32;
    tmp_key_name_94 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_32__class_decl_dict );
    tmp_dict_name_94 = tmp_class_creation_32__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_94, tmp_key_name_94 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    tmp_condition_result_195 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_195 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_72;
    }
    else
    {
        goto condexpr_false_72;
    }
    condexpr_true_72:;
    CHECK_OBJECT( tmp_class_creation_32__class_decl_dict );
    tmp_dict_name_95 = tmp_class_creation_32__class_decl_dict;
    tmp_key_name_95 = const_str_plain_metaclass;
    tmp_metaclass_name_32 = DICT_GET_ITEM( tmp_dict_name_95, tmp_key_name_95 );
    if ( tmp_metaclass_name_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    goto condexpr_end_72;
    condexpr_false_72:;
    CHECK_OBJECT( tmp_class_creation_32__bases );
    tmp_truth_name_31 = CHECK_IF_TRUE( tmp_class_creation_32__bases );
    if ( tmp_truth_name_31 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    tmp_condition_result_196 = tmp_truth_name_31 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_196 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_73;
    }
    else
    {
        goto condexpr_false_73;
    }
    condexpr_true_73:;
    CHECK_OBJECT( tmp_class_creation_32__bases );
    tmp_subscribed_name_31 = tmp_class_creation_32__bases;
    tmp_subscript_name_31 = const_int_0;
    tmp_type_arg_62 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_31, tmp_subscript_name_31, 0 );
    if ( tmp_type_arg_62 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    tmp_metaclass_name_32 = BUILTIN_TYPE1( tmp_type_arg_62 );
    Py_DECREF( tmp_type_arg_62 );
    if ( tmp_metaclass_name_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    goto condexpr_end_73;
    condexpr_false_73:;
    tmp_metaclass_name_32 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_32 );
    condexpr_end_73:;
    condexpr_end_72:;
    CHECK_OBJECT( tmp_class_creation_32__bases );
    tmp_bases_name_32 = tmp_class_creation_32__bases;
    tmp_assign_source_297 = SELECT_METACLASS( tmp_metaclass_name_32, tmp_bases_name_32 );
    Py_DECREF( tmp_metaclass_name_32 );
    if ( tmp_assign_source_297 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    assert( tmp_class_creation_32__metaclass == NULL );
    tmp_class_creation_32__metaclass = tmp_assign_source_297;

    }
    {
    nuitka_bool tmp_condition_result_197;
    PyObject *tmp_key_name_96;
    PyObject *tmp_dict_name_96;
    tmp_key_name_96 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_32__class_decl_dict );
    tmp_dict_name_96 = tmp_class_creation_32__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_96, tmp_key_name_96 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    tmp_condition_result_197 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_197 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_124;
    }
    else
    {
        goto branch_no_124;
    }
    branch_yes_124:;
    {
    CHECK_OBJECT( tmp_class_creation_32__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_32__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    }
    branch_no_124:;
    }
    {
    nuitka_bool tmp_condition_result_198;
    PyObject *tmp_source_name_125;
    CHECK_OBJECT( tmp_class_creation_32__metaclass );
    tmp_source_name_125 = tmp_class_creation_32__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_125, const_str_plain___prepare__ );
    tmp_condition_result_198 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_198 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_125;
    }
    else
    {
        goto branch_no_125;
    }
    branch_yes_125:;
    {
    PyObject *tmp_assign_source_298;
    PyObject *tmp_called_name_81;
    PyObject *tmp_source_name_126;
    PyObject *tmp_args_name_63;
    PyObject *tmp_tuple_element_190;
    PyObject *tmp_kw_name_63;
    CHECK_OBJECT( tmp_class_creation_32__metaclass );
    tmp_source_name_126 = tmp_class_creation_32__metaclass;
    tmp_called_name_81 = LOOKUP_ATTRIBUTE( tmp_source_name_126, const_str_plain___prepare__ );
    if ( tmp_called_name_81 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    tmp_tuple_element_190 = const_str_plain_PublicKeyAlgorithm;
    tmp_args_name_63 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_190 );
    PyTuple_SET_ITEM( tmp_args_name_63, 0, tmp_tuple_element_190 );
    CHECK_OBJECT( tmp_class_creation_32__bases );
    tmp_tuple_element_190 = tmp_class_creation_32__bases;
    Py_INCREF( tmp_tuple_element_190 );
    PyTuple_SET_ITEM( tmp_args_name_63, 1, tmp_tuple_element_190 );
    CHECK_OBJECT( tmp_class_creation_32__class_decl_dict );
    tmp_kw_name_63 = tmp_class_creation_32__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 944;
    tmp_assign_source_298 = CALL_FUNCTION( tmp_called_name_81, tmp_args_name_63, tmp_kw_name_63 );
    Py_DECREF( tmp_called_name_81 );
    Py_DECREF( tmp_args_name_63 );
    if ( tmp_assign_source_298 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    assert( tmp_class_creation_32__prepared == NULL );
    tmp_class_creation_32__prepared = tmp_assign_source_298;

    }
    {
    nuitka_bool tmp_condition_result_199;
    PyObject *tmp_operand_name_32;
    PyObject *tmp_source_name_127;
    CHECK_OBJECT( tmp_class_creation_32__prepared );
    tmp_source_name_127 = tmp_class_creation_32__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_127, const_str_plain___getitem__ );
    tmp_operand_name_32 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_32 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    tmp_condition_result_199 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_199 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_126;
    }
    else
    {
        goto branch_no_126;
    }
    branch_yes_126:;
    {
    PyObject *tmp_raise_type_32;
    PyObject *tmp_raise_value_32;
    PyObject *tmp_left_name_32;
    PyObject *tmp_right_name_32;
    PyObject *tmp_tuple_element_191;
    PyObject *tmp_getattr_target_32;
    PyObject *tmp_getattr_attr_32;
    PyObject *tmp_getattr_default_32;
    PyObject *tmp_source_name_128;
    PyObject *tmp_type_arg_63;
    tmp_raise_type_32 = PyExc_TypeError;
    tmp_left_name_32 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_32__metaclass );
    tmp_getattr_target_32 = tmp_class_creation_32__metaclass;
    tmp_getattr_attr_32 = const_str_plain___name__;
    tmp_getattr_default_32 = const_str_angle_metaclass;
    tmp_tuple_element_191 = BUILTIN_GETATTR( tmp_getattr_target_32, tmp_getattr_attr_32, tmp_getattr_default_32 );
    if ( tmp_tuple_element_191 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    tmp_right_name_32 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_32, 0, tmp_tuple_element_191 );
    CHECK_OBJECT( tmp_class_creation_32__prepared );
    tmp_type_arg_63 = tmp_class_creation_32__prepared;
    tmp_source_name_128 = BUILTIN_TYPE1( tmp_type_arg_63 );
    assert( !(tmp_source_name_128 == NULL) );
    tmp_tuple_element_191 = LOOKUP_ATTRIBUTE( tmp_source_name_128, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_128 );
    if ( tmp_tuple_element_191 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_32 );

        exception_lineno = 944;

        goto try_except_handler_100;
    }
    PyTuple_SET_ITEM( tmp_right_name_32, 1, tmp_tuple_element_191 );
    tmp_raise_value_32 = BINARY_OPERATION_REMAINDER( tmp_left_name_32, tmp_right_name_32 );
    Py_DECREF( tmp_right_name_32 );
    if ( tmp_raise_value_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_100;
    }
    exception_type = tmp_raise_type_32;
    Py_INCREF( tmp_raise_type_32 );
    exception_value = tmp_raise_value_32;
    exception_lineno = 944;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_100;
    }
    branch_no_126:;
    }
    goto branch_end_125;
    branch_no_125:;
    {
    PyObject *tmp_assign_source_299;
    tmp_assign_source_299 = PyDict_New();
    assert( tmp_class_creation_32__prepared == NULL );
    tmp_class_creation_32__prepared = tmp_assign_source_299;

    }
    branch_end_125:;
    }
    {
    PyObject *tmp_assign_source_300;
    {
    PyObject *tmp_set_locals_32;
    CHECK_OBJECT( tmp_class_creation_32__prepared );
    tmp_set_locals_32 = tmp_class_creation_32__prepared;
    locals_asn1crypto$keys_944 = tmp_set_locals_32;
    Py_INCREF( tmp_set_locals_32 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_944, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_102;
    }
    }
    {
    tmp_dictset_value = const_str_digest_5addfd01d541cce2740b7482cdd9fdb6;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_944, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_102;
    }
    }
    {
    tmp_dictset_value = const_str_plain_PublicKeyAlgorithm;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_944, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_102;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_35a9bb2556c9cfd4384040c9780cb3db_31, codeobj_35a9bb2556c9cfd4384040c9780cb3db, module_asn1crypto$keys, sizeof(void *) );
    frame_35a9bb2556c9cfd4384040c9780cb3db_31 = cache_frame_35a9bb2556c9cfd4384040c9780cb3db_31;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_35a9bb2556c9cfd4384040c9780cb3db_31 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_35a9bb2556c9cfd4384040c9780cb3db_31 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_19;
    PyObject *tmp_tuple_element_192;
    PyObject *tmp_mvar_value_112;
    PyObject *tmp_tuple_element_193;
    PyObject *tmp_mvar_value_113;
    tmp_tuple_element_192 = const_str_plain_algorithm;
    tmp_list_element_19 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_192 );
    PyTuple_SET_ITEM( tmp_list_element_19, 0, tmp_tuple_element_192 );
    tmp_tuple_element_192 = PyObject_GetItem( locals_asn1crypto$keys_944, const_str_plain_PublicKeyAlgorithmId );

    if ( tmp_tuple_element_192 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_112 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithmId );

        if (unlikely( tmp_mvar_value_112 == NULL ))
        {
            tmp_mvar_value_112 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithmId );
        }

        if ( tmp_mvar_value_112 == NULL )
        {
            Py_DECREF( tmp_list_element_19 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PublicKeyAlgorithmId" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 951;
            type_description_2 = "o";
            goto frame_exception_exit_31;
        }

        tmp_tuple_element_192 = tmp_mvar_value_112;
        Py_INCREF( tmp_tuple_element_192 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_19, 1, tmp_tuple_element_192 );
    tmp_dictset_value = PyList_New( 2 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_19 );
    tmp_tuple_element_193 = const_str_plain_parameters;
    tmp_list_element_19 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_193 );
    PyTuple_SET_ITEM( tmp_list_element_19, 0, tmp_tuple_element_193 );
    tmp_tuple_element_193 = PyObject_GetItem( locals_asn1crypto$keys_944, const_str_plain_Any );

    if ( tmp_tuple_element_193 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_113 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Any );

        if (unlikely( tmp_mvar_value_113 == NULL ))
        {
            tmp_mvar_value_113 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Any );
        }

        if ( tmp_mvar_value_113 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_19 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Any" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 952;
            type_description_2 = "o";
            goto frame_exception_exit_31;
        }

        tmp_tuple_element_193 = tmp_mvar_value_113;
        Py_INCREF( tmp_tuple_element_193 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_19, 1, tmp_tuple_element_193 );
    tmp_tuple_element_193 = PyDict_Copy( const_dict_e0d63c4beb9400e233c3204dcf4f1861 );
    PyTuple_SET_ITEM( tmp_list_element_19, 2, tmp_tuple_element_193 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_19 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_944, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 950;
        type_description_2 = "o";
        goto frame_exception_exit_31;
    }
    }
    {
    tmp_dictset_value = const_tuple_str_plain_algorithm_str_plain_parameters_tuple;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_944, const_str_plain__oid_pair, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 955;
        type_description_2 = "o";
        goto frame_exception_exit_31;
    }
    }
    {
    PyObject *tmp_dict_key_10;
    PyObject *tmp_dict_value_10;
    PyObject *tmp_mvar_value_114;
    PyObject *tmp_dict_key_11;
    PyObject *tmp_dict_value_11;
    PyObject *tmp_mvar_value_115;
    PyObject *tmp_dict_key_12;
    PyObject *tmp_dict_value_12;
    PyObject *tmp_mvar_value_116;
    PyObject *tmp_dict_key_13;
    PyObject *tmp_dict_value_13;
    PyObject *tmp_mvar_value_117;
    tmp_dict_key_10 = const_str_plain_dsa;
    tmp_dict_value_10 = PyObject_GetItem( locals_asn1crypto$keys_944, const_str_plain_DSAParams );

    if ( tmp_dict_value_10 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_114 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DSAParams );

        if (unlikely( tmp_mvar_value_114 == NULL ))
        {
            tmp_mvar_value_114 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DSAParams );
        }

        if ( tmp_mvar_value_114 == NULL )
        {

            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DSAParams" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 957;
            type_description_2 = "o";
            goto frame_exception_exit_31;
        }

        tmp_dict_value_10 = tmp_mvar_value_114;
        Py_INCREF( tmp_dict_value_10 );
        }
    }

    tmp_dictset_value = _PyDict_NewPresized( 4 );
    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_10, tmp_dict_value_10 );
    Py_DECREF( tmp_dict_value_10 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_11 = const_str_plain_ec;
    tmp_dict_value_11 = PyObject_GetItem( locals_asn1crypto$keys_944, const_str_plain_ECDomainParameters );

    if ( tmp_dict_value_11 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_115 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ECDomainParameters );

        if (unlikely( tmp_mvar_value_115 == NULL ))
        {
            tmp_mvar_value_115 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ECDomainParameters );
        }

        if ( tmp_mvar_value_115 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ECDomainParameters" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 958;
            type_description_2 = "o";
            goto frame_exception_exit_31;
        }

        tmp_dict_value_11 = tmp_mvar_value_115;
        Py_INCREF( tmp_dict_value_11 );
        }
    }

    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_11, tmp_dict_value_11 );
    Py_DECREF( tmp_dict_value_11 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_12 = const_str_plain_dh;
    tmp_dict_value_12 = PyObject_GetItem( locals_asn1crypto$keys_944, const_str_plain_DomainParameters );

    if ( tmp_dict_value_12 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_116 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_DomainParameters );

        if (unlikely( tmp_mvar_value_116 == NULL ))
        {
            tmp_mvar_value_116 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DomainParameters );
        }

        if ( tmp_mvar_value_116 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DomainParameters" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 959;
            type_description_2 = "o";
            goto frame_exception_exit_31;
        }

        tmp_dict_value_12 = tmp_mvar_value_116;
        Py_INCREF( tmp_dict_value_12 );
        }
    }

    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_12, tmp_dict_value_12 );
    Py_DECREF( tmp_dict_value_12 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_13 = const_str_plain_rsaes_oaep;
    tmp_dict_value_13 = PyObject_GetItem( locals_asn1crypto$keys_944, const_str_plain_RSAESOAEPParams );

    if ( tmp_dict_value_13 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_117 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_RSAESOAEPParams );

        if (unlikely( tmp_mvar_value_117 == NULL ))
        {
            tmp_mvar_value_117 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_RSAESOAEPParams );
        }

        if ( tmp_mvar_value_117 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "RSAESOAEPParams" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 960;
            type_description_2 = "o";
            goto frame_exception_exit_31;
        }

        tmp_dict_value_13 = tmp_mvar_value_117;
        Py_INCREF( tmp_dict_value_13 );
        }
    }

    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_13, tmp_dict_value_13 );
    Py_DECREF( tmp_dict_value_13 );
    assert( !(tmp_res != 0) );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_944, const_str_plain__oid_specs, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 956;
        type_description_2 = "o";
        goto frame_exception_exit_31;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_35a9bb2556c9cfd4384040c9780cb3db_31 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_30;

    frame_exception_exit_31:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_35a9bb2556c9cfd4384040c9780cb3db_31 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_35a9bb2556c9cfd4384040c9780cb3db_31, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_35a9bb2556c9cfd4384040c9780cb3db_31->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_35a9bb2556c9cfd4384040c9780cb3db_31, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_35a9bb2556c9cfd4384040c9780cb3db_31,
        type_description_2,
        outline_31_var___class__
    );


    // Release cached frame.
    if ( frame_35a9bb2556c9cfd4384040c9780cb3db_31 == cache_frame_35a9bb2556c9cfd4384040c9780cb3db_31 )
    {
        Py_DECREF( frame_35a9bb2556c9cfd4384040c9780cb3db_31 );
    }
    cache_frame_35a9bb2556c9cfd4384040c9780cb3db_31 = NULL;

    assertFrameObject( frame_35a9bb2556c9cfd4384040c9780cb3db_31 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_30;

    frame_no_exception_30:;
    goto skip_nested_handling_30;
    nested_frame_exit_30:;

    goto try_except_handler_102;
    skip_nested_handling_30:;
    {
    nuitka_bool tmp_condition_result_200;
    PyObject *tmp_compexpr_left_31;
    PyObject *tmp_compexpr_right_31;
    CHECK_OBJECT( tmp_class_creation_32__bases );
    tmp_compexpr_left_31 = tmp_class_creation_32__bases;
    CHECK_OBJECT( tmp_class_creation_32__bases_orig );
    tmp_compexpr_right_31 = tmp_class_creation_32__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_31, tmp_compexpr_right_31 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_102;
    }
    tmp_condition_result_200 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_200 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_127;
    }
    else
    {
        goto branch_no_127;
    }
    branch_yes_127:;
    {
    CHECK_OBJECT( tmp_class_creation_32__bases_orig );
    tmp_dictset_value = tmp_class_creation_32__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_944, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_102;
    }
    }
    branch_no_127:;
    }
    {
    PyObject *tmp_assign_source_301;
    PyObject *tmp_called_name_82;
    PyObject *tmp_args_name_64;
    PyObject *tmp_tuple_element_194;
    PyObject *tmp_kw_name_64;
    CHECK_OBJECT( tmp_class_creation_32__metaclass );
    tmp_called_name_82 = tmp_class_creation_32__metaclass;
    tmp_tuple_element_194 = const_str_plain_PublicKeyAlgorithm;
    tmp_args_name_64 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_194 );
    PyTuple_SET_ITEM( tmp_args_name_64, 0, tmp_tuple_element_194 );
    CHECK_OBJECT( tmp_class_creation_32__bases );
    tmp_tuple_element_194 = tmp_class_creation_32__bases;
    Py_INCREF( tmp_tuple_element_194 );
    PyTuple_SET_ITEM( tmp_args_name_64, 1, tmp_tuple_element_194 );
    tmp_tuple_element_194 = locals_asn1crypto$keys_944;
    Py_INCREF( tmp_tuple_element_194 );
    PyTuple_SET_ITEM( tmp_args_name_64, 2, tmp_tuple_element_194 );
    CHECK_OBJECT( tmp_class_creation_32__class_decl_dict );
    tmp_kw_name_64 = tmp_class_creation_32__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 944;
    tmp_assign_source_301 = CALL_FUNCTION( tmp_called_name_82, tmp_args_name_64, tmp_kw_name_64 );
    Py_DECREF( tmp_args_name_64 );
    if ( tmp_assign_source_301 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 944;

        goto try_except_handler_102;
    }
    assert( outline_31_var___class__ == NULL );
    outline_31_var___class__ = tmp_assign_source_301;

    }
    {
    CHECK_OBJECT( outline_31_var___class__ );
    tmp_assign_source_300 = outline_31_var___class__;
    Py_INCREF( tmp_assign_source_300 );
    goto try_return_handler_102;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_102:;
    {
    Py_DECREF( locals_asn1crypto$keys_944 );
    locals_asn1crypto$keys_944 = NULL;
    }
    {
    goto try_return_handler_101;
    }
    // Exception handler code:
    try_except_handler_102:;
    exception_keeper_type_100 = exception_type;
    exception_keeper_value_100 = exception_value;
    exception_keeper_tb_100 = exception_tb;
    exception_keeper_lineno_100 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_944 );
    locals_asn1crypto$keys_944 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_100;
    exception_value = exception_keeper_value_100;
    exception_tb = exception_keeper_tb_100;
    exception_lineno = exception_keeper_lineno_100;

    goto try_except_handler_101;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_101:;
    {
    CHECK_OBJECT( (PyObject *)outline_31_var___class__ );
    Py_DECREF( outline_31_var___class__ );
    outline_31_var___class__ = NULL;

    }
    {
    goto outline_result_32;
    }
    // Exception handler code:
    try_except_handler_101:;
    exception_keeper_type_101 = exception_type;
    exception_keeper_value_101 = exception_value;
    exception_keeper_tb_101 = exception_tb;
    exception_keeper_lineno_101 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_101;
    exception_value = exception_keeper_value_101;
    exception_tb = exception_keeper_tb_101;
    exception_lineno = exception_keeper_lineno_101;

    goto outline_exception_32;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_32:;
    exception_lineno = 944;
    goto try_except_handler_100;
    outline_result_32:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithm, tmp_assign_source_300 );
    }
    goto try_end_38;
    // Exception handler code:
    try_except_handler_100:;
    exception_keeper_type_102 = exception_type;
    exception_keeper_value_102 = exception_value;
    exception_keeper_tb_102 = exception_tb;
    exception_keeper_lineno_102 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_32__bases );
    tmp_class_creation_32__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_32__class_decl_dict );
    tmp_class_creation_32__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_32__metaclass );
    tmp_class_creation_32__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_32__prepared );
    tmp_class_creation_32__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_102;
    exception_value = exception_keeper_value_102;
    exception_tb = exception_keeper_tb_102;
    exception_lineno = exception_keeper_lineno_102;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_38:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_32__bases );
    Py_DECREF( tmp_class_creation_32__bases );
    tmp_class_creation_32__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_32__class_decl_dict );
    Py_DECREF( tmp_class_creation_32__class_decl_dict );
    tmp_class_creation_32__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_32__metaclass );
    Py_DECREF( tmp_class_creation_32__metaclass );
    tmp_class_creation_32__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_32__prepared );
    Py_DECREF( tmp_class_creation_32__prepared );
    tmp_class_creation_32__prepared = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_302;
    PyObject *tmp_tuple_element_195;
    PyObject *tmp_mvar_value_118;
    tmp_mvar_value_118 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_Sequence );

    if (unlikely( tmp_mvar_value_118 == NULL ))
    {
        tmp_mvar_value_118 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Sequence );
    }

    if ( tmp_mvar_value_118 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Sequence" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 964;

        goto try_except_handler_103;
    }

    tmp_tuple_element_195 = tmp_mvar_value_118;
    tmp_assign_source_302 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_195 );
    PyTuple_SET_ITEM( tmp_assign_source_302, 0, tmp_tuple_element_195 );
    assert( tmp_class_creation_33__bases_orig == NULL );
    tmp_class_creation_33__bases_orig = tmp_assign_source_302;

    }
    {
    PyObject *tmp_assign_source_303;
    PyObject *tmp_dircall_arg1_32;
    CHECK_OBJECT( tmp_class_creation_33__bases_orig );
    tmp_dircall_arg1_32 = tmp_class_creation_33__bases_orig;
    Py_INCREF( tmp_dircall_arg1_32 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_32};
        tmp_assign_source_303 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_303 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    assert( tmp_class_creation_33__bases == NULL );
    tmp_class_creation_33__bases = tmp_assign_source_303;

    }
    {
    PyObject *tmp_assign_source_304;
    tmp_assign_source_304 = PyDict_New();
    assert( tmp_class_creation_33__class_decl_dict == NULL );
    tmp_class_creation_33__class_decl_dict = tmp_assign_source_304;

    }
    {
    PyObject *tmp_assign_source_305;
    PyObject *tmp_metaclass_name_33;
    nuitka_bool tmp_condition_result_201;
    PyObject *tmp_key_name_97;
    PyObject *tmp_dict_name_97;
    PyObject *tmp_dict_name_98;
    PyObject *tmp_key_name_98;
    nuitka_bool tmp_condition_result_202;
    int tmp_truth_name_32;
    PyObject *tmp_type_arg_64;
    PyObject *tmp_subscribed_name_32;
    PyObject *tmp_subscript_name_32;
    PyObject *tmp_bases_name_33;
    tmp_key_name_97 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_33__class_decl_dict );
    tmp_dict_name_97 = tmp_class_creation_33__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_97, tmp_key_name_97 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    tmp_condition_result_201 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_201 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_74;
    }
    else
    {
        goto condexpr_false_74;
    }
    condexpr_true_74:;
    CHECK_OBJECT( tmp_class_creation_33__class_decl_dict );
    tmp_dict_name_98 = tmp_class_creation_33__class_decl_dict;
    tmp_key_name_98 = const_str_plain_metaclass;
    tmp_metaclass_name_33 = DICT_GET_ITEM( tmp_dict_name_98, tmp_key_name_98 );
    if ( tmp_metaclass_name_33 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    goto condexpr_end_74;
    condexpr_false_74:;
    CHECK_OBJECT( tmp_class_creation_33__bases );
    tmp_truth_name_32 = CHECK_IF_TRUE( tmp_class_creation_33__bases );
    if ( tmp_truth_name_32 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    tmp_condition_result_202 = tmp_truth_name_32 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_202 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_75;
    }
    else
    {
        goto condexpr_false_75;
    }
    condexpr_true_75:;
    CHECK_OBJECT( tmp_class_creation_33__bases );
    tmp_subscribed_name_32 = tmp_class_creation_33__bases;
    tmp_subscript_name_32 = const_int_0;
    tmp_type_arg_64 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_32, tmp_subscript_name_32, 0 );
    if ( tmp_type_arg_64 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    tmp_metaclass_name_33 = BUILTIN_TYPE1( tmp_type_arg_64 );
    Py_DECREF( tmp_type_arg_64 );
    if ( tmp_metaclass_name_33 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    goto condexpr_end_75;
    condexpr_false_75:;
    tmp_metaclass_name_33 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_33 );
    condexpr_end_75:;
    condexpr_end_74:;
    CHECK_OBJECT( tmp_class_creation_33__bases );
    tmp_bases_name_33 = tmp_class_creation_33__bases;
    tmp_assign_source_305 = SELECT_METACLASS( tmp_metaclass_name_33, tmp_bases_name_33 );
    Py_DECREF( tmp_metaclass_name_33 );
    if ( tmp_assign_source_305 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    assert( tmp_class_creation_33__metaclass == NULL );
    tmp_class_creation_33__metaclass = tmp_assign_source_305;

    }
    {
    nuitka_bool tmp_condition_result_203;
    PyObject *tmp_key_name_99;
    PyObject *tmp_dict_name_99;
    tmp_key_name_99 = const_str_plain_metaclass;
    CHECK_OBJECT( tmp_class_creation_33__class_decl_dict );
    tmp_dict_name_99 = tmp_class_creation_33__class_decl_dict;
    tmp_res = PyDict_Contains( tmp_dict_name_99, tmp_key_name_99 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    tmp_condition_result_203 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_203 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_128;
    }
    else
    {
        goto branch_no_128;
    }
    branch_yes_128:;
    {
    CHECK_OBJECT( tmp_class_creation_33__class_decl_dict );
    tmp_dictdel_dict = tmp_class_creation_33__class_decl_dict;
    tmp_dictdel_key = const_str_plain_metaclass;
    tmp_result = DICT_REMOVE_ITEM( tmp_dictdel_dict, tmp_dictdel_key );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    }
    branch_no_128:;
    }
    {
    nuitka_bool tmp_condition_result_204;
    PyObject *tmp_source_name_129;
    CHECK_OBJECT( tmp_class_creation_33__metaclass );
    tmp_source_name_129 = tmp_class_creation_33__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_129, const_str_plain___prepare__ );
    tmp_condition_result_204 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_204 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_129;
    }
    else
    {
        goto branch_no_129;
    }
    branch_yes_129:;
    {
    PyObject *tmp_assign_source_306;
    PyObject *tmp_called_name_83;
    PyObject *tmp_source_name_130;
    PyObject *tmp_args_name_65;
    PyObject *tmp_tuple_element_196;
    PyObject *tmp_kw_name_65;
    CHECK_OBJECT( tmp_class_creation_33__metaclass );
    tmp_source_name_130 = tmp_class_creation_33__metaclass;
    tmp_called_name_83 = LOOKUP_ATTRIBUTE( tmp_source_name_130, const_str_plain___prepare__ );
    if ( tmp_called_name_83 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    tmp_tuple_element_196 = const_str_plain_PublicKeyInfo;
    tmp_args_name_65 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_196 );
    PyTuple_SET_ITEM( tmp_args_name_65, 0, tmp_tuple_element_196 );
    CHECK_OBJECT( tmp_class_creation_33__bases );
    tmp_tuple_element_196 = tmp_class_creation_33__bases;
    Py_INCREF( tmp_tuple_element_196 );
    PyTuple_SET_ITEM( tmp_args_name_65, 1, tmp_tuple_element_196 );
    CHECK_OBJECT( tmp_class_creation_33__class_decl_dict );
    tmp_kw_name_65 = tmp_class_creation_33__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 964;
    tmp_assign_source_306 = CALL_FUNCTION( tmp_called_name_83, tmp_args_name_65, tmp_kw_name_65 );
    Py_DECREF( tmp_called_name_83 );
    Py_DECREF( tmp_args_name_65 );
    if ( tmp_assign_source_306 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    assert( tmp_class_creation_33__prepared == NULL );
    tmp_class_creation_33__prepared = tmp_assign_source_306;

    }
    {
    nuitka_bool tmp_condition_result_205;
    PyObject *tmp_operand_name_33;
    PyObject *tmp_source_name_131;
    CHECK_OBJECT( tmp_class_creation_33__prepared );
    tmp_source_name_131 = tmp_class_creation_33__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_131, const_str_plain___getitem__ );
    tmp_operand_name_33 = ( tmp_res != 0 ) ? Py_True : Py_False;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_33 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    tmp_condition_result_205 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_205 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_130;
    }
    else
    {
        goto branch_no_130;
    }
    branch_yes_130:;
    {
    PyObject *tmp_raise_type_33;
    PyObject *tmp_raise_value_33;
    PyObject *tmp_left_name_33;
    PyObject *tmp_right_name_33;
    PyObject *tmp_tuple_element_197;
    PyObject *tmp_getattr_target_33;
    PyObject *tmp_getattr_attr_33;
    PyObject *tmp_getattr_default_33;
    PyObject *tmp_source_name_132;
    PyObject *tmp_type_arg_65;
    tmp_raise_type_33 = PyExc_TypeError;
    tmp_left_name_33 = const_str_digest_75fd71b1edada749c2ef7ac810062295;
    CHECK_OBJECT( tmp_class_creation_33__metaclass );
    tmp_getattr_target_33 = tmp_class_creation_33__metaclass;
    tmp_getattr_attr_33 = const_str_plain___name__;
    tmp_getattr_default_33 = const_str_angle_metaclass;
    tmp_tuple_element_197 = BUILTIN_GETATTR( tmp_getattr_target_33, tmp_getattr_attr_33, tmp_getattr_default_33 );
    if ( tmp_tuple_element_197 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    tmp_right_name_33 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_33, 0, tmp_tuple_element_197 );
    CHECK_OBJECT( tmp_class_creation_33__prepared );
    tmp_type_arg_65 = tmp_class_creation_33__prepared;
    tmp_source_name_132 = BUILTIN_TYPE1( tmp_type_arg_65 );
    assert( !(tmp_source_name_132 == NULL) );
    tmp_tuple_element_197 = LOOKUP_ATTRIBUTE( tmp_source_name_132, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_132 );
    if ( tmp_tuple_element_197 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_33 );

        exception_lineno = 964;

        goto try_except_handler_103;
    }
    PyTuple_SET_ITEM( tmp_right_name_33, 1, tmp_tuple_element_197 );
    tmp_raise_value_33 = BINARY_OPERATION_REMAINDER( tmp_left_name_33, tmp_right_name_33 );
    Py_DECREF( tmp_right_name_33 );
    if ( tmp_raise_value_33 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_103;
    }
    exception_type = tmp_raise_type_33;
    Py_INCREF( tmp_raise_type_33 );
    exception_value = tmp_raise_value_33;
    exception_lineno = 964;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_103;
    }
    branch_no_130:;
    }
    goto branch_end_129;
    branch_no_129:;
    {
    PyObject *tmp_assign_source_307;
    tmp_assign_source_307 = PyDict_New();
    assert( tmp_class_creation_33__prepared == NULL );
    tmp_class_creation_33__prepared = tmp_assign_source_307;

    }
    branch_end_129:;
    }
    {
    PyObject *tmp_assign_source_308;
    {
    PyObject *tmp_set_locals_33;
    CHECK_OBJECT( tmp_class_creation_33__prepared );
    tmp_set_locals_33 = tmp_class_creation_33__prepared;
    locals_asn1crypto$keys_964 = tmp_set_locals_33;
    Py_INCREF( tmp_set_locals_33 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_b76ace6e0c7782d7cadb4695052eca5a;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain___module__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_105;
    }
    }
    {
    tmp_dictset_value = const_str_digest_1acb6a5d7583e6249d6719b1e169f157;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain___doc__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_105;
    }
    }
    {
    tmp_dictset_value = const_str_plain_PublicKeyInfo;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain___qualname__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_105;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_ecc1927e64c5ceca026400bb56facb78_32, codeobj_ecc1927e64c5ceca026400bb56facb78, module_asn1crypto$keys, sizeof(void *) );
    frame_ecc1927e64c5ceca026400bb56facb78_32 = cache_frame_ecc1927e64c5ceca026400bb56facb78_32;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_ecc1927e64c5ceca026400bb56facb78_32 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_ecc1927e64c5ceca026400bb56facb78_32 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_list_element_20;
    PyObject *tmp_tuple_element_198;
    PyObject *tmp_mvar_value_119;
    PyObject *tmp_tuple_element_199;
    PyObject *tmp_mvar_value_120;
    tmp_tuple_element_198 = const_str_plain_algorithm;
    tmp_list_element_20 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_198 );
    PyTuple_SET_ITEM( tmp_list_element_20, 0, tmp_tuple_element_198 );
    tmp_tuple_element_198 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_PublicKeyAlgorithm );

    if ( tmp_tuple_element_198 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_119 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithm );

        if (unlikely( tmp_mvar_value_119 == NULL ))
        {
            tmp_mvar_value_119 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_PublicKeyAlgorithm );
        }

        if ( tmp_mvar_value_119 == NULL )
        {
            Py_DECREF( tmp_list_element_20 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "PublicKeyAlgorithm" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 971;
            type_description_2 = "o";
            goto frame_exception_exit_32;
        }

        tmp_tuple_element_198 = tmp_mvar_value_119;
        Py_INCREF( tmp_tuple_element_198 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_20, 1, tmp_tuple_element_198 );
    tmp_dictset_value = PyList_New( 2 );
    PyList_SET_ITEM( tmp_dictset_value, 0, tmp_list_element_20 );
    tmp_tuple_element_199 = const_str_plain_public_key;
    tmp_list_element_20 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_199 );
    PyTuple_SET_ITEM( tmp_list_element_20, 0, tmp_tuple_element_199 );
    tmp_tuple_element_199 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_ParsableOctetBitString );

    if ( tmp_tuple_element_199 == NULL )
    {
        if ( CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
        {
        tmp_mvar_value_120 = GET_STRING_DICT_VALUE( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_ParsableOctetBitString );

        if (unlikely( tmp_mvar_value_120 == NULL ))
        {
            tmp_mvar_value_120 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_ParsableOctetBitString );
        }

        if ( tmp_mvar_value_120 == NULL )
        {
            Py_DECREF( tmp_dictset_value );
            Py_DECREF( tmp_list_element_20 );
            exception_type = PyExc_NameError;
            Py_INCREF( exception_type );
            exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ParsableOctetBitString" );
            exception_tb = NULL;
            NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
            CHAIN_EXCEPTION( exception_value );

            exception_lineno = 972;
            type_description_2 = "o";
            goto frame_exception_exit_32;
        }

        tmp_tuple_element_199 = tmp_mvar_value_120;
        Py_INCREF( tmp_tuple_element_199 );
        }
    }

    PyTuple_SET_ITEM( tmp_list_element_20, 1, tmp_tuple_element_199 );
    PyList_SET_ITEM( tmp_dictset_value, 1, tmp_list_element_20 );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain__fields, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 970;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_asn1crypto$keys$$$function_15__public_key_spec(  );



    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain__public_key_spec, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 975;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    PyObject *tmp_dict_key_14;
    PyObject *tmp_dict_value_14;
    tmp_dict_key_14 = const_str_plain_public_key;
    tmp_dict_value_14 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain__public_key_spec );

    if ( tmp_dict_value_14 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_public_key_spec" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 988;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_dict_value_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 988;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_dictset_value = _PyDict_NewPresized( 1 );
    tmp_res = PyDict_SetItem( tmp_dictset_value, tmp_dict_key_14, tmp_dict_value_14 );
    Py_DECREF( tmp_dict_value_14 );
    assert( !(tmp_res != 0) );
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain__spec_callbacks, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 987;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    tmp_dictset_value = Py_None;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain__algorithm, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 991;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    tmp_dictset_value = Py_None;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain__bit_size, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 992;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    tmp_dictset_value = Py_None;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain__fingerprint, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 993;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    tmp_dictset_value = Py_None;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain__sha1, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 994;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    tmp_dictset_value = Py_None;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain__sha256, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 995;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    nuitka_bool tmp_condition_result_206;
    PyObject *tmp_called_name_84;
    PyObject *tmp_args_element_name_19;
    PyObject *tmp_classmethod_arg_3;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_964, const_str_plain_classmethod );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 997;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_condition_result_206 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_206 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_76;
    }
    else
    {
        goto condexpr_false_76;
    }
    condexpr_true_76:;
    tmp_called_name_84 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_classmethod );

    if ( tmp_called_name_84 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "classmethod" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 997;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_called_name_84 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 997;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_args_element_name_19 = MAKE_FUNCTION_asn1crypto$keys$$$function_16_wrap(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 997;
    {
        PyObject *call_args[] = { tmp_args_element_name_19 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_84, call_args );
    }

    Py_DECREF( tmp_called_name_84 );
    Py_DECREF( tmp_args_element_name_19 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 997;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    goto condexpr_end_76;
    condexpr_false_76:;
    tmp_classmethod_arg_3 = MAKE_FUNCTION_asn1crypto$keys$$$function_16_wrap(  );



    tmp_dictset_value = BUILTIN_CLASSMETHOD( tmp_classmethod_arg_3 );
    Py_DECREF( tmp_classmethod_arg_3 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 997;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    condexpr_end_76:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_wrap, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 997;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_asn1crypto$keys$$$function_17_unwrap(  );



    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_unwrap, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1040;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    nuitka_bool tmp_condition_result_207;
    PyObject *tmp_called_name_85;
    PyObject *tmp_args_element_name_20;
    PyObject *tmp_called_name_86;
    PyObject *tmp_args_element_name_21;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1063;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_condition_result_207 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_207 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_77;
    }
    else
    {
        goto condexpr_false_77;
    }
    condexpr_true_77:;
    tmp_called_name_85 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_called_name_85 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1063;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_called_name_85 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1063;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_args_element_name_20 = MAKE_FUNCTION_asn1crypto$keys$$$function_18_curve(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1063;
    {
        PyObject *call_args[] = { tmp_args_element_name_20 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_85, call_args );
    }

    Py_DECREF( tmp_called_name_85 );
    Py_DECREF( tmp_args_element_name_20 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1063;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    goto condexpr_end_77;
    condexpr_false_77:;
    tmp_called_name_86 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_21 = MAKE_FUNCTION_asn1crypto$keys$$$function_18_curve(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1063;
    {
        PyObject *call_args[] = { tmp_args_element_name_21 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_86, call_args );
    }

    Py_DECREF( tmp_args_element_name_21 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1063;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    condexpr_end_77:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_curve, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1063;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    nuitka_bool tmp_condition_result_208;
    PyObject *tmp_called_name_87;
    PyObject *tmp_args_element_name_22;
    PyObject *tmp_called_name_88;
    PyObject *tmp_args_element_name_23;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1097;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_condition_result_208 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_208 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_78;
    }
    else
    {
        goto condexpr_false_78;
    }
    condexpr_true_78:;
    tmp_called_name_87 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_called_name_87 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1097;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_called_name_87 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1097;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_args_element_name_22 = MAKE_FUNCTION_asn1crypto$keys$$$function_19_hash_algo(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1097;
    {
        PyObject *call_args[] = { tmp_args_element_name_22 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_87, call_args );
    }

    Py_DECREF( tmp_called_name_87 );
    Py_DECREF( tmp_args_element_name_22 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1097;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    goto condexpr_end_78;
    condexpr_false_78:;
    tmp_called_name_88 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_23 = MAKE_FUNCTION_asn1crypto$keys$$$function_19_hash_algo(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1097;
    {
        PyObject *call_args[] = { tmp_args_element_name_23 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_88, call_args );
    }

    Py_DECREF( tmp_args_element_name_23 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1097;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    condexpr_end_78:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_hash_algo, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1097;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    nuitka_bool tmp_condition_result_209;
    PyObject *tmp_called_name_89;
    PyObject *tmp_args_element_name_24;
    PyObject *tmp_called_name_90;
    PyObject *tmp_args_element_name_25;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1128;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_condition_result_209 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_209 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_79;
    }
    else
    {
        goto condexpr_false_79;
    }
    condexpr_true_79:;
    tmp_called_name_89 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_called_name_89 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1128;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_called_name_89 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1128;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_args_element_name_24 = MAKE_FUNCTION_asn1crypto$keys$$$function_20_algorithm(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1128;
    {
        PyObject *call_args[] = { tmp_args_element_name_24 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_89, call_args );
    }

    Py_DECREF( tmp_called_name_89 );
    Py_DECREF( tmp_args_element_name_24 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1128;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    goto condexpr_end_79;
    condexpr_false_79:;
    tmp_called_name_90 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_25 = MAKE_FUNCTION_asn1crypto$keys$$$function_20_algorithm(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1128;
    {
        PyObject *call_args[] = { tmp_args_element_name_25 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_90, call_args );
    }

    Py_DECREF( tmp_args_element_name_25 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1128;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    condexpr_end_79:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_algorithm, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1128;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    nuitka_bool tmp_condition_result_210;
    PyObject *tmp_called_name_91;
    PyObject *tmp_args_element_name_26;
    PyObject *tmp_called_name_92;
    PyObject *tmp_args_element_name_27;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1139;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_condition_result_210 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_210 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_80;
    }
    else
    {
        goto condexpr_false_80;
    }
    condexpr_true_80:;
    tmp_called_name_91 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_called_name_91 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1139;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_called_name_91 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1139;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_args_element_name_26 = MAKE_FUNCTION_asn1crypto$keys$$$function_21_bit_size(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1139;
    {
        PyObject *call_args[] = { tmp_args_element_name_26 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_91, call_args );
    }

    Py_DECREF( tmp_called_name_91 );
    Py_DECREF( tmp_args_element_name_26 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1139;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    goto condexpr_end_80;
    condexpr_false_80:;
    tmp_called_name_92 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_27 = MAKE_FUNCTION_asn1crypto$keys$$$function_21_bit_size(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1139;
    {
        PyObject *call_args[] = { tmp_args_element_name_27 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_92, call_args );
    }

    Py_DECREF( tmp_args_element_name_27 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1139;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    condexpr_end_80:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_bit_size, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1139;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    nuitka_bool tmp_condition_result_211;
    PyObject *tmp_called_name_93;
    PyObject *tmp_args_element_name_28;
    PyObject *tmp_called_name_94;
    PyObject *tmp_args_element_name_29;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1161;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_condition_result_211 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_211 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_81;
    }
    else
    {
        goto condexpr_false_81;
    }
    condexpr_true_81:;
    tmp_called_name_93 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_called_name_93 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1161;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_called_name_93 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1161;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_args_element_name_28 = MAKE_FUNCTION_asn1crypto$keys$$$function_22_byte_size(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1161;
    {
        PyObject *call_args[] = { tmp_args_element_name_28 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_93, call_args );
    }

    Py_DECREF( tmp_called_name_93 );
    Py_DECREF( tmp_args_element_name_28 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1161;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    goto condexpr_end_81;
    condexpr_false_81:;
    tmp_called_name_94 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_29 = MAKE_FUNCTION_asn1crypto$keys$$$function_22_byte_size(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1161;
    {
        PyObject *call_args[] = { tmp_args_element_name_29 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_94, call_args );
    }

    Py_DECREF( tmp_args_element_name_29 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1161;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    condexpr_end_81:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_byte_size, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1161;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    nuitka_bool tmp_condition_result_212;
    PyObject *tmp_called_name_95;
    PyObject *tmp_args_element_name_30;
    PyObject *tmp_called_name_96;
    PyObject *tmp_args_element_name_31;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1170;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_condition_result_212 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_212 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_82;
    }
    else
    {
        goto condexpr_false_82;
    }
    condexpr_true_82:;
    tmp_called_name_95 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_called_name_95 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1170;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_called_name_95 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1170;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_args_element_name_30 = MAKE_FUNCTION_asn1crypto$keys$$$function_23_sha1(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1170;
    {
        PyObject *call_args[] = { tmp_args_element_name_30 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_95, call_args );
    }

    Py_DECREF( tmp_called_name_95 );
    Py_DECREF( tmp_args_element_name_30 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1170;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    goto condexpr_end_82;
    condexpr_false_82:;
    tmp_called_name_96 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_31 = MAKE_FUNCTION_asn1crypto$keys$$$function_23_sha1(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1170;
    {
        PyObject *call_args[] = { tmp_args_element_name_31 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_96, call_args );
    }

    Py_DECREF( tmp_args_element_name_31 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1170;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    condexpr_end_82:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_sha1, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1170;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    nuitka_bool tmp_condition_result_213;
    PyObject *tmp_called_name_97;
    PyObject *tmp_args_element_name_32;
    PyObject *tmp_called_name_98;
    PyObject *tmp_args_element_name_33;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1181;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_condition_result_213 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_213 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_83;
    }
    else
    {
        goto condexpr_false_83;
    }
    condexpr_true_83:;
    tmp_called_name_97 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_called_name_97 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1181;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_called_name_97 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1181;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_args_element_name_32 = MAKE_FUNCTION_asn1crypto$keys$$$function_24_sha256(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1181;
    {
        PyObject *call_args[] = { tmp_args_element_name_32 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_97, call_args );
    }

    Py_DECREF( tmp_called_name_97 );
    Py_DECREF( tmp_args_element_name_32 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1181;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    goto condexpr_end_83;
    condexpr_false_83:;
    tmp_called_name_98 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_33 = MAKE_FUNCTION_asn1crypto$keys$$$function_24_sha256(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1181;
    {
        PyObject *call_args[] = { tmp_args_element_name_33 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_98, call_args );
    }

    Py_DECREF( tmp_args_element_name_33 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1181;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    condexpr_end_83:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_sha256, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1181;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }
    {
    nuitka_bool tmp_condition_result_214;
    PyObject *tmp_called_name_99;
    PyObject *tmp_args_element_name_34;
    PyObject *tmp_called_name_100;
    PyObject *tmp_args_element_name_35;
    tmp_res = MAPPING_HAS_ITEM( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1192;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_condition_result_214 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_214 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_84;
    }
    else
    {
        goto condexpr_false_84;
    }
    condexpr_true_84:;
    tmp_called_name_99 = PyObject_GetItem( locals_asn1crypto$keys_964, const_str_plain_property );

    if ( tmp_called_name_99 == NULL && CHECK_AND_CLEAR_KEY_ERROR_OCCURRED() )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "property" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 1192;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }

    if ( tmp_called_name_99 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1192;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    tmp_args_element_name_34 = MAKE_FUNCTION_asn1crypto$keys$$$function_25_fingerprint(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1192;
    {
        PyObject *call_args[] = { tmp_args_element_name_34 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_99, call_args );
    }

    Py_DECREF( tmp_called_name_99 );
    Py_DECREF( tmp_args_element_name_34 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1192;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    goto condexpr_end_84;
    condexpr_false_84:;
    tmp_called_name_100 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_35 = MAKE_FUNCTION_asn1crypto$keys$$$function_25_fingerprint(  );



    frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame.f_lineno = 1192;
    {
        PyObject *call_args[] = { tmp_args_element_name_35 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_100, call_args );
    }

    Py_DECREF( tmp_args_element_name_35 );
    if ( tmp_dictset_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1192;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    condexpr_end_84:;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain_fingerprint, tmp_dictset_value );
    Py_DECREF( tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 1192;
        type_description_2 = "o";
        goto frame_exception_exit_32;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_ecc1927e64c5ceca026400bb56facb78_32 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_31;

    frame_exception_exit_32:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_ecc1927e64c5ceca026400bb56facb78_32 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_ecc1927e64c5ceca026400bb56facb78_32, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_ecc1927e64c5ceca026400bb56facb78_32->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_ecc1927e64c5ceca026400bb56facb78_32, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_ecc1927e64c5ceca026400bb56facb78_32,
        type_description_2,
        outline_32_var___class__
    );


    // Release cached frame.
    if ( frame_ecc1927e64c5ceca026400bb56facb78_32 == cache_frame_ecc1927e64c5ceca026400bb56facb78_32 )
    {
        Py_DECREF( frame_ecc1927e64c5ceca026400bb56facb78_32 );
    }
    cache_frame_ecc1927e64c5ceca026400bb56facb78_32 = NULL;

    assertFrameObject( frame_ecc1927e64c5ceca026400bb56facb78_32 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto nested_frame_exit_31;

    frame_no_exception_31:;
    goto skip_nested_handling_31;
    nested_frame_exit_31:;

    goto try_except_handler_105;
    skip_nested_handling_31:;
    {
    nuitka_bool tmp_condition_result_215;
    PyObject *tmp_compexpr_left_32;
    PyObject *tmp_compexpr_right_32;
    CHECK_OBJECT( tmp_class_creation_33__bases );
    tmp_compexpr_left_32 = tmp_class_creation_33__bases;
    CHECK_OBJECT( tmp_class_creation_33__bases_orig );
    tmp_compexpr_right_32 = tmp_class_creation_33__bases_orig;
    tmp_res = RICH_COMPARE_BOOL_NE( tmp_compexpr_left_32, tmp_compexpr_right_32 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_105;
    }
    tmp_condition_result_215 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_215 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_131;
    }
    else
    {
        goto branch_no_131;
    }
    branch_yes_131:;
    {
    CHECK_OBJECT( tmp_class_creation_33__bases_orig );
    tmp_dictset_value = tmp_class_creation_33__bases_orig;
    tmp_res = PyObject_SetItem( locals_asn1crypto$keys_964, const_str_plain___orig_bases__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_105;
    }
    }
    branch_no_131:;
    }
    {
    PyObject *tmp_assign_source_309;
    PyObject *tmp_called_name_101;
    PyObject *tmp_args_name_66;
    PyObject *tmp_tuple_element_200;
    PyObject *tmp_kw_name_66;
    CHECK_OBJECT( tmp_class_creation_33__metaclass );
    tmp_called_name_101 = tmp_class_creation_33__metaclass;
    tmp_tuple_element_200 = const_str_plain_PublicKeyInfo;
    tmp_args_name_66 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_200 );
    PyTuple_SET_ITEM( tmp_args_name_66, 0, tmp_tuple_element_200 );
    CHECK_OBJECT( tmp_class_creation_33__bases );
    tmp_tuple_element_200 = tmp_class_creation_33__bases;
    Py_INCREF( tmp_tuple_element_200 );
    PyTuple_SET_ITEM( tmp_args_name_66, 1, tmp_tuple_element_200 );
    tmp_tuple_element_200 = locals_asn1crypto$keys_964;
    Py_INCREF( tmp_tuple_element_200 );
    PyTuple_SET_ITEM( tmp_args_name_66, 2, tmp_tuple_element_200 );
    CHECK_OBJECT( tmp_class_creation_33__class_decl_dict );
    tmp_kw_name_66 = tmp_class_creation_33__class_decl_dict;
    frame_cf5bf2f534c650a2176269f5b3860511->m_frame.f_lineno = 964;
    tmp_assign_source_309 = CALL_FUNCTION( tmp_called_name_101, tmp_args_name_66, tmp_kw_name_66 );
    Py_DECREF( tmp_args_name_66 );
    if ( tmp_assign_source_309 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 964;

        goto try_except_handler_105;
    }
    assert( outline_32_var___class__ == NULL );
    outline_32_var___class__ = tmp_assign_source_309;

    }
    {
    CHECK_OBJECT( outline_32_var___class__ );
    tmp_assign_source_308 = outline_32_var___class__;
    Py_INCREF( tmp_assign_source_308 );
    goto try_return_handler_105;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_105:;
    {
    Py_DECREF( locals_asn1crypto$keys_964 );
    locals_asn1crypto$keys_964 = NULL;
    }
    {
    goto try_return_handler_104;
    }
    // Exception handler code:
    try_except_handler_105:;
    exception_keeper_type_103 = exception_type;
    exception_keeper_value_103 = exception_value;
    exception_keeper_tb_103 = exception_tb;
    exception_keeper_lineno_103 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_DECREF( locals_asn1crypto$keys_964 );
    locals_asn1crypto$keys_964 = NULL;
    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_103;
    exception_value = exception_keeper_value_103;
    exception_tb = exception_keeper_tb_103;
    exception_lineno = exception_keeper_lineno_103;

    goto try_except_handler_104;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_104:;
    {
    CHECK_OBJECT( (PyObject *)outline_32_var___class__ );
    Py_DECREF( outline_32_var___class__ );
    outline_32_var___class__ = NULL;

    }
    {
    goto outline_result_33;
    }
    // Exception handler code:
    try_except_handler_104:;
    exception_keeper_type_104 = exception_type;
    exception_keeper_value_104 = exception_value;
    exception_keeper_tb_104 = exception_tb;
    exception_keeper_lineno_104 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    // Re-raise.
    exception_type = exception_keeper_type_104;
    exception_value = exception_keeper_value_104;
    exception_tb = exception_keeper_tb_104;
    exception_lineno = exception_keeper_lineno_104;

    goto outline_exception_33;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( asn1crypto$keys );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_33:;
    exception_lineno = 964;
    goto try_except_handler_103;
    outline_result_33:;
    UPDATE_STRING_DICT1( moduledict_asn1crypto$keys, (Nuitka_StringObject *)const_str_plain_PublicKeyInfo, tmp_assign_source_308 );
    }
    goto try_end_39;
    // Exception handler code:
    try_except_handler_103:;
    exception_keeper_type_105 = exception_type;
    exception_keeper_value_105 = exception_value;
    exception_keeper_tb_105 = exception_tb;
    exception_keeper_lineno_105 = exception_lineno;
    exception_type = NULL;
    exception_value = NULL;
    exception_tb = NULL;
    exception_lineno = 0;

    {
    Py_XDECREF( tmp_class_creation_33__bases );
    tmp_class_creation_33__bases = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_33__class_decl_dict );
    tmp_class_creation_33__class_decl_dict = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_33__metaclass );
    tmp_class_creation_33__metaclass = NULL;

    }
    {
    Py_XDECREF( tmp_class_creation_33__prepared );
    tmp_class_creation_33__prepared = NULL;

    }
    {
    // Re-raise.
    exception_type = exception_keeper_type_105;
    exception_value = exception_keeper_value_105;
    exception_tb = exception_keeper_tb_105;
    exception_lineno = exception_keeper_lineno_105;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_39:;
    }

    // Restore frame exception if necessary.
#if 0
    RESTORE_FRAME_EXCEPTION( frame_cf5bf2f534c650a2176269f5b3860511 );
#endif
    popFrameStack();

    assertFrameObject( frame_cf5bf2f534c650a2176269f5b3860511 );

    goto frame_no_exception_32;

    frame_exception_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_cf5bf2f534c650a2176269f5b3860511 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_cf5bf2f534c650a2176269f5b3860511, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_cf5bf2f534c650a2176269f5b3860511->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_cf5bf2f534c650a2176269f5b3860511, exception_lineno );
    }

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto module_exception_exit;

    frame_no_exception_32:;
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_33__bases );
    Py_DECREF( tmp_class_creation_33__bases );
    tmp_class_creation_33__bases = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_33__class_decl_dict );
    Py_DECREF( tmp_class_creation_33__class_decl_dict );
    tmp_class_creation_33__class_decl_dict = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_33__metaclass );
    Py_DECREF( tmp_class_creation_33__metaclass );
    tmp_class_creation_33__metaclass = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_33__prepared );
    Py_DECREF( tmp_class_creation_33__prepared );
    tmp_class_creation_33__prepared = NULL;

    }

    return MOD_RETURN_VALUE( module_asn1crypto$keys );
    module_exception_exit:
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
    return MOD_RETURN_VALUE( NULL );
}
