/* Generated code for Python source for module 'future.backports.urllib.parse'
 * 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_future$backports$urllib$parse 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_future$backports$urllib$parse;
PyDictObject *moduledict_future$backports$urllib$parse;

/* The module constants used, if any. */
static PyObject *const_str_plain_defrag;
extern PyObject *const_int_pos_20;
extern PyObject *const_str_plain_dict;
extern PyObject *const_str_plain___name__;
static PyObject *const_str_plain_have_port;
static PyObject *const_str_plain_bnetloc;
extern PyObject *const_str_plain_userinfo;
extern PyObject *const_str_plain_i;
extern PyObject *const_str_plain_object;
static PyObject *const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple;
extern PyObject *const_str_plain_encode;
extern PyObject *const_str_plain_any;
static PyObject *const_str_digest_903969dd4bf5db14dba99dedf4477f2d;
static PyObject *const_tuple_str_plain_bs_str_plain_safe_str_plain_quoter_tuple;
static PyObject *const_str_plain_nntp;
static PyObject *const_str_digest_fe659d716fddd9b3a2b0b730ef917cab;
static PyObject *const_str_plain_news;
extern PyObject *const_str_plain_None;
static PyObject *const_str_digest_d026fd04dcad403c8f8037c2b8f0cafc;
static PyObject *const_str_digest_904e6c288aa2dfa40a7fd2d488b713ec;
static PyObject *const_list_9d3e5c288c26ff97d425913e11415e89_list;
extern PyObject *const_tuple_str_chr_59_tuple;
static PyObject *const_str_digest_22d2f8343255209e3e900ed3c61c5680;
static PyObject *const_str_digest_2c59fca184ef8f25909bbcce4b324e6f;
extern PyObject *const_str_plain_start;
static PyObject *const_tuple_str_plain_obj_str_plain_encoding_str_plain_errors_tuple;
extern PyObject *const_int_pos_16;
static PyObject *const_str_digest_128766d5a4405c5bff5a232a0ae6ff77;
extern PyObject *const_slice_none_int_pos_2_none;
static PyObject *const_str_plain_shttp;
extern PyObject *const_str_plain___debug__;
extern PyObject *const_tuple_str_plain_ASCII_tuple;
static PyObject *const_str_plain_non_hierarchical;
extern PyObject *const_str_angle_genexpr;
extern PyObject *const_str_plain_str;
extern PyObject *const_str_plain_uses_netloc;
extern PyObject *const_str_plain_splitquery;
extern PyObject *const_int_neg_2;
extern PyObject *const_str_plain_min;
static PyObject *const_tuple_str_chr_43_str_space_tuple;
extern PyObject *const_str_plain_bytearray;
extern PyObject *const_str_plain_urldefrag;
extern PyObject *const_str_plain_path;
static PyObject *const_tuple_str_space_str_chr_43_tuple;
static PyObject *const_tuple_f4e41ebeea2820b35fa8ba3874d6dd50_tuple;
static PyObject *const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple;
static PyObject *const_str_plain_va;
static PyObject *const_str_plain__encoded_counterpart;
static PyObject *const_str_plain_splitnport;
extern PyObject *const_tuple_str_dot_tuple;
static PyObject *const_list_c29322639b33fffa11834e3d407fd666_list;
static PyObject *const_str_digest_9ba620e74293d6f68e92188501ad3654;
extern PyObject *const_str_plain_name;
static PyObject *const_str_digest_0111ed484175486ac77e8fa94cb43e6b;
static PyObject *const_str_plain_ParseResultBytes;
extern PyObject *const_str_plain_parse_qsl;
static PyObject *const_str_digest_28f78f0fdbd561fde09d6fd8b5aeb4e9;
static PyObject *const_str_digest_806fb13d353d187c680ead02553ff910;
extern PyObject *const_str_plain_splittype;
extern PyObject *const_tuple_str_plain_url_tuple;
static PyObject *const_str_digest_9edbc3881b06c362f65d3bad48dac8b4;
static PyObject *const_str_digest_6ca0085924829b080432fa4f3a87d01d;
static PyObject *const_str_digest_b956edff5198358cf12818d9ea146ea8;
extern PyObject *const_str_plain_uses_query;
extern PyObject *const_tuple_int_0_tuple;
static PyObject *const_str_digest_ac80a991f09bbe1b326bd1f379b85613;
static PyObject *const_str_plain__valueprog;
static PyObject *const_str_digest_8a9693d3ccf6a786827e9ed7a876a1eb;
extern PyObject *const_str_plain_False;
extern PyObject *const_str_digest_c075052d723d6707083e869a0e3659bb;
extern PyObject *const_int_0;
static PyObject *const_str_digest_3e96d5ff14ccd43468a5bfd3afdccc90;
static PyObject *const_list_a7b4fb5f184304957b0eaa35333d188a_list;
static PyObject *const_str_plain__result_pairs;
extern PyObject *const_tuple_int_pos_2_tuple;
extern PyObject *const_list_str_empty_list;
static PyObject *const_str_plain__DefragResultBase;
static PyObject *const_str_plain_telnet;
static PyObject *const_str_plain_s2;
static PyObject *const_list_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_list;
static PyObject *const_tuple_str_plain_args_str_plain_encoding_str_plain_errors_tuple;
extern PyObject *const_tuple_str_chr_61_int_pos_1_tuple;
extern PyObject *const_int_pos_4;
static PyObject *const_str_plain__encoded;
static PyObject *const_str_digest_665c8aa65ec320df9ca26662d7ab8115;
static PyObject *const_str_digest_2f9d11f37bcf7779f2433f77a4c92eae;
extern PyObject *const_str_plain_type;
static PyObject *const_str_plain__hostinfo;
static PyObject *const_str_plain__implicit_errors;
extern PyObject *const_str_plain_urlsplit;
extern PyObject *const_str_plain___cached__;
static PyObject *const_str_digest_2f467f87ed6e30353d3df902c8dc14a1;
static PyObject *const_str_plain__asciire;
extern PyObject *const_str_plain_password;
extern PyObject *const_str_plain_splittag;
static PyObject *const_tuple_str_digest_049719ac499c6c46f5532c71ca09aa3e_tuple;
static PyObject *const_str_digest_f574a384606468fc7321e27f4e169e89;
static PyObject *const_tuple_bytes_chr_58_tuple;
static PyObject *const_str_plain__decode_args;
extern PyObject *const_int_pos_1;
extern PyObject *const_str_plain_replace;
extern PyObject *const_str_plain_port;
extern PyObject *const_str_plain_geturl;
static PyObject *const_str_plain__implicit_encoding;
extern PyObject *const_tuple_int_pos_1_int_pos_2_tuple;
static PyObject *const_tuple_str_digest_2f9d11f37bcf7779f2433f77a4c92eae_tuple;
static PyObject *const_str_plain_ResultBase;
extern PyObject *const_str_plain___prepare__;
static PyObject *const_str_plain__NetlocResultMixinBase;
static PyObject *const_str_plain_wais;
extern PyObject *const_str_plain_url;
static PyObject *const_str_digest_907d0f824cbd90b4cdc2664c2524aec7;
extern PyObject *const_str_plain_union;
extern PyObject *const_str_plain___repr__;
static PyObject *const_str_digest_6570a1fceb79a7335e26db51f18a4589;
static PyObject *const_str_plain_DefragResult;
extern PyObject *const_str_plain___missing__;
static PyObject *const_str_digest_68f4b9c941a7881e11c343527a3b3ea6;
static PyObject *const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple;
static PyObject *const_str_digest_5eed124044d71c790588073d14c32f8b;
extern PyObject *const_str_plain_http;
extern PyObject *const_str_plain_format;
extern PyObject *const_str_plain_property;
extern PyObject *const_str_plain_startswith;
extern PyObject *const_str_plain_find;
static PyObject *const_str_plain_name_value;
static PyObject *const_str_plain__noop;
static PyObject *const_str_digest_5f90b97acd402e0af3654b786f4216f5;
static PyObject *const_str_plain_quote_from_bytes;
extern PyObject *const_str_chr_38;
static PyObject *const_str_digest_a6dab781b92fbe04874204e94c892e10;
static PyObject *const_tuple_str_plain_self_str_plain_port_tuple;
extern PyObject *const_str_chr_43;
extern PyObject *const_slice_int_neg_2_none_none;
extern PyObject *const_str_plain_string;
extern PyObject *const_tuple_str_plain_c_tuple;
extern PyObject *const_slice_int_pos_1_none_none;
extern PyObject *const_tuple_str_space_tuple;
extern PyObject *const_str_plain___file__;
static PyObject *const_str_digest_f4690dfd6368ef38692b6e0b5639ce3b;
static PyObject *const_tuple_str_digest_9edbc3881b06c362f65d3bad48dac8b4_tuple;
static PyObject *const_str_plain__nportprog;
extern PyObject *const_str_plain_unwrap;
static PyObject *const_tuple_bytes_chr_93_tuple;
extern PyObject *const_tuple_str_chr_63_int_pos_1_tuple;
static PyObject *const_str_plain__portprog;
extern PyObject *const_str_plain_rfind;
extern PyObject *const_str_plain_urlencode;
static PyObject *const_tuple_bytes_chr_64_tuple;
static PyObject *const_str_plain__hostprog;
static PyObject *const_str_digest_5480130700d117749534eeeb5a04c320;
static PyObject *const_str_plain_splitresult;
extern PyObject *const_str_plain_fragment;
extern PyObject *const_str_chr_37;
extern PyObject *const_str_chr_61;
extern PyObject *const_str_plain_strip;
static PyObject *const_str_digest_f1e510df36928745bbf110169228cfd3;
extern PyObject *const_bytes_chr_64;
extern PyObject *const_tuple_str_plain_self_str_plain_encoding_str_plain_errors_tuple;
static PyObject *const_str_plain__ResultMixinStr;
static PyObject *const_str_plain_gopher;
extern PyObject *const_str_digest_118c8611317729818c37c760127e23b2;
static PyObject *const_str_plain__fix_result_transcoding;
extern PyObject *const_tuple_int_pos_1_tuple;
static PyObject *const_tuple_str_plain_char_str_plain_quoter_tuple;
static PyObject *const_str_digest_600aaebef7c8fb88ced7dfdd3501055b;
extern PyObject *const_str_plain_lower;
static PyObject *const_str_plain_DefragResultBytes;
extern PyObject *const_str_chr_62;
extern PyObject *const_str_plain___orig_bases__;
static PyObject *const_str_digest_88e40c89e076144b7d9eaeae9936fcd9;
static PyObject *const_str_plain__SplitResultBase;
extern PyObject *const_str_plain_urlparse;
extern PyObject *const_str_plain___qualname__;
extern PyObject *const_str_digest_4c1e770c5544f54da5d3b8065d995354;
extern PyObject *const_str_plain_n;
static PyObject *const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list;
static PyObject *const_str_digest_b2129efa52efbf1a263dad7416562079;
static PyObject *const_str_plain__typeprog;
static PyObject *const_str_plain__ALWAYS_SAFE_BYTES;
extern PyObject *const_str_plain_p;
extern PyObject *const_str_plain_value;
static PyObject *const_str_plain__safe_quoters;
static PyObject *const_tuple_bytes_chr_91_tuple;
static PyObject *const_str_plain_s1;
extern PyObject *const_str_plain_collections;
extern PyObject *const_str_plain_frag;
static PyObject *const_str_plain_svn;
static PyObject *const_tuple_str_digest_f8b1ed373ce679554b24d84fd14632ab_tuple;
extern PyObject *const_str_plain_netloc;
extern PyObject *const_str_chr_91;
extern PyObject *const_str_chr_64;
static PyObject *const_str_plain_SplitResultBytes;
static PyObject *const_str_plain_sip;
extern PyObject *const_str_plain_l;
extern PyObject *const_int_pos_65535;
extern PyObject *const_tuple_str_chr_35_int_pos_1_tuple;
extern PyObject *const_tuple_str_chr_64_tuple;
extern PyObject *const_slice_int_neg_1_none_none;
extern PyObject *const_str_plain_rpartition;
static PyObject *const_str_digest_d2c9a658c76209f643c9a5d113493d2e;
extern PyObject *const_str_plain_errors;
extern PyObject *const_str_plain_clear_cache;
extern PyObject *const_tuple_bca69903aa4823e8f2c5a8129155a877_tuple;
extern PyObject *const_str_plain_decode;
extern PyObject *const_tuple_str_empty_tuple;
extern PyObject *const_str_plain_k;
extern PyObject *const_str_plain___getitem__;
static PyObject *const_str_digest_3da873fb815a5839f28c866ac121006c;
extern PyObject *const_slice_none_int_pos_1_none;
extern PyObject *const_str_plain___all__;
extern PyObject *const_str_plain_space;
static PyObject *const_tuple_str_plain_url_str_plain_re_str_plain_match_str_plain_scheme_tuple;
extern PyObject *const_str_plain_unquote_plus;
static PyObject *const_str_plain_allow_fragments;
static PyObject *const_str_digest_b3c3ed74bf140ada40af54aaf6503835;
extern PyObject *const_str_plain_tb;
static PyObject *const_tuple_e932e0a5f98499c29f05ae56e39528e9_tuple;
static PyObject *const_tuple_74f7927589480ce6b35f9d806274e904_tuple;
static PyObject *const_str_plain_segments;
extern PyObject *const_str_digest_75fd71b1edada749c2ef7ac810062295;
static PyObject *const_str_plain_hdl;
extern PyObject *const_slice_none_int_pos_4_none;
static PyObject *const_str_plain_bpath;
extern PyObject *const_str_plain_base;
extern PyObject *const_str_plain_namedtuple;
extern PyObject *const_str_plain_doseq;
static PyObject *const_str_plain_have_open_br;
extern PyObject *const_str_plain_safe;
static PyObject *const_tuple_str_plain_string_str_plain_encoding_str_plain_errors_tuple;
static PyObject *const_tuple_str_plain_url_str_plain_words_tuple;
extern PyObject *const_str_plain_v;
static PyObject *const_str_plain_0123456789;
extern PyObject *const_bytes_chr_32;
static PyObject *const_tuple_str_plain_raise_with_traceback_tuple;
extern PyObject *const_str_plain_splithost;
static PyObject *const_str_plain__NetlocResultMixinStr;
static PyObject *const_str_digest_24463121abb84407fee73fe6d9fca438;
extern PyObject *const_str_plain_S;
extern PyObject *const_str_chr_47;
static PyObject *const_str_digest_f3752ded96d6c9d73ba2a043ea721da4;
extern PyObject *const_str_plain_sys;
static PyObject *const_str_plain_mms;
extern PyObject *const_str_plain_words;
extern PyObject *const_str_plain_range;
extern PyObject *const_slice_none_int_neg_1_none;
static PyObject *const_tuple_c4f856552da86102d227200bba558361_tuple;
static PyObject *const_str_plain_qs;
extern PyObject *const_str_plain_hostname;
extern PyObject *const_str_plain_tuple;
extern PyObject *const_str_plain_key;
static PyObject *const_tuple_str_plain_self_str_plain_b_str_plain_res_tuple;
extern PyObject *const_slice_int_pos_2_none_none;
extern PyObject *const_str_plain___init__;
extern PyObject *const_str_plain_ParseResult;
static PyObject *const_str_digest_25537690d6e44eb32632b1a697e41f6b;
static PyObject *const_str_digest_cc3481c100aa91f4b43265e45b1b605e;
static PyObject *const_str_digest_bf63d80be50fae199db40b32b07208a7;
extern PyObject *const_bytes_chr_58;
static PyObject *const_str_plain_rtspu;
static PyObject *const_str_digest_9f137ecbafde7805f8e17d9eec35547b;
static PyObject *const_str_digest_c2b1ee0235d98fdc7bd8bf55ac03a403;
extern PyObject *const_str_plain_ascii;
static PyObject *const_str_digest_e68435a32b397314baf45db71c9567d5;
extern PyObject *const_str_empty;
static PyObject *const_str_digest_d7cb8d1c9a0084264e14f35a6df82a82;
static PyObject *const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple;
static PyObject *const_str_digest_8c40b3b71092905cb9e606d7aa8eedfb;
static PyObject *const_list_f8cf8e7e1f5009fe241bec3862d74353_list;
extern PyObject *const_str_plain_quote_plus;
static PyObject *const_tuple_str_plain_self_str_plain_hostname_tuple;
extern PyObject *const_tuple_str_digest_c075052d723d6707083e869a0e3659bb_tuple;
static PyObject *const_tuple_bytes_digest_45e1dd6e9dbd1599a2c11a4dfb02c609_tuple;
extern PyObject *const_str_plain_result;
static PyObject *const_str_plain__userinfo;
static PyObject *const_tuple_4a300e8ad347e738c43d70e78d1a26cb_tuple;
static PyObject *const_str_digest_b1e74b1a504388693b2cfb7d9c1329f9;
static PyObject *const_str_plain_bfragment;
extern PyObject *const_str_plain_pairs;
extern PyObject *const_str_plain_chr;
extern PyObject *const_str_plain_group;
extern PyObject *const_str_plain_bytes;
static PyObject *const_str_plain_snews;
extern PyObject *const_str_plain_division;
static PyObject *const_str_digest_29baeb9e6a8520706fe2f4f486ec2600;
extern PyObject *const_int_neg_1;
static PyObject *const_tuple_str_plain_ascii_str_plain_ignore_tuple;
extern PyObject *const_str_plain_ignore;
extern PyObject *const_str_plain_scheme;
static PyObject *const_str_digest_2f60d96911db87720b4e9bd717f25305;
extern PyObject *const_str_plain_q;
static PyObject *const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple;
static PyObject *const_str_digest_fd9ce3436e7c11aab9e643faaf23a0e1;
static PyObject *const_str_digest_4b783ace006732e3fd954e69d79eea69;
extern PyObject *const_tuple_true_tuple;
static PyObject *const_str_plain__ALWAYS_SAFE;
static PyObject *const_tuple_256a42f408884f0acce338519de1e442_tuple;
extern PyObject *const_str_plain_re;
extern PyObject *const_str_plain___doc__;
extern PyObject *const_str_plain_urlunsplit;
static PyObject *const_str_plain__splitnetloc;
static PyObject *const_str_plain__ResultMixinBytes;
extern PyObject *const_str_plain_s;
extern PyObject *const_str_plain_uses_relative;
static PyObject *const_str_digest_29e173d0936c237034d30d9b2bb7dd0f;
extern PyObject *const_tuple_str_plain_namedtuple_tuple;
static PyObject *const_str_digest_76ac25822d3eb3acb96194448fe87251;
static PyObject *const_str_plain_bquery;
extern PyObject *const_str_plain_https;
static PyObject *const_tuple_str_plain_user_str_plain_re_str_plain_match_tuple;
static PyObject *const_tuple_6ed24f43909ca0465fbc866535feff81_tuple;
extern PyObject *const_str_digest_b9c4baf879ebd882d40843df3a4dead7;
static PyObject *const_bytes_chr_37;
extern PyObject *const_str_plain_item;
static PyObject *const_tuple_49af55e3c9b51fd63a0244e6799da99f_tuple;
static PyObject *const_tuple_false_str_empty_none_none_tuple;
extern PyObject *const_tuple_str_plain_self_tuple;
static PyObject *const_str_plain_Quoter;
extern PyObject *const_str_chr_35;
extern PyObject *const_str_plain_raise_with_traceback;
static PyObject *const_str_plain_prospero;
static PyObject *const_str_digest_cd69ab58ff744bb0618407f41d31ea43;
extern PyObject *const_tuple_empty;
extern PyObject *const_str_space;
extern PyObject *const_str_plain_append;
static PyObject *const_tuple_str_plain_url_str_plain_i_tuple;
extern PyObject *const_str_digest_c3c96c8ed3ec2ec3a4d3f0dfaaa3ddf2;
static PyObject *const_str_digest_e10f895e2ac6b0c91e9f3d12a1ee2b9c;
extern PyObject *const_int_pos_10;
static PyObject *const_tuple_5f9cc7a63962ab56004c7a25fe20f94f_tuple;
static PyObject *const_str_plain_sips;
extern PyObject *const_str_plain_delim;
extern PyObject *const_str_plain_compile;
extern PyObject *const_tuple_bytes_chr_32_tuple;
static PyObject *const_list_95e4d6649457ca0eddf4de0f051d93e2_list;
extern PyObject *const_str_plain_b;
extern PyObject *const_str_plain_split;
extern PyObject *const_str_plain_remove;
static PyObject *const_str_plain__tagprog;
extern PyObject *const_bytes_chr_93;
static PyObject *const_str_plain_0123456789ABCDEFabcdef;
static PyObject *const_str_digest_a684dfb8026bee19115cb436c48b8530;
extern PyObject *const_tuple_str_chr_91_tuple;
extern PyObject *const_slice_int_pos_4_none_none;
static PyObject *const_str_plain_parsed_result;
static PyObject *const_tuple_str_empty_none_none_tuple;
static PyObject *const_str_plain__splitparams;
static PyObject *const_str_digest_ea23691749aba42293b4121358e0175f;
static PyObject *const_str_plain__hextobyte;
static PyObject *const_tuple_ff3293bb95907947efd16aea6e0d814d_tuple;
static PyObject *const_tuple_8a4254f208e6294ef3353a9c4a104c38_tuple;
static PyObject *const_str_digest_a95c28e8b02cb70cf9f720c2eec2635c;
static PyObject *const_str_plain_bscheme;
static PyObject *const_str_plain_keep_blank_values;
static PyObject *const_str_digest_9a6f2c89aa4b5c4de4ede3901366eff8;
static PyObject *const_bytes_digest_45e1dd6e9dbd1599a2c11a4dfb02c609;
extern PyObject *const_str_plain___slots__;
static PyObject *const_str_digest_83212905da1d0bed68316902ec27e719;
static PyObject *const_str_digest_6844d5f84eccc91a0cb63c06d06f9cf9;
static PyObject *const_list_186bcbbd871b45fddfde9227455627e3_list;
extern PyObject *const_str_plain_x;
extern PyObject *const_str_plain_c;
static PyObject *const_tuple_str_digest_5480130700d117749534eeeb5a04c320_tuple;
static PyObject *const_tuple_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_tuple;
static PyObject *const_str_plain__passwdprog;
extern PyObject *const_str_plain_ASCII;
static PyObject *const_str_digest_70d5d62e0041b02fe9061d260293c248;
extern PyObject *const_str_plain___class__;
extern PyObject *const_str_plain__;
extern PyObject *const_str_plain_splitpasswd;
extern PyObject *const_str_plain___module__;
static PyObject *const_tuple_str_empty_true_tuple;
extern PyObject *const_str_plain_unquote_to_bytes;
extern PyObject *const_str_plain_user;
static PyObject *const_str_plain_wdelim;
static PyObject *const_str_digest_be9a71f7a9ffd4103744d40762d6d2b9;
extern PyObject *const_str_plain_parse_qs;
static PyObject *const_str_digest_99ba47baf0612f84772b66d3dc1851c4;
static PyObject *const_str_plain__queryprog;
extern PyObject *const_tuple_str_plain_obj_tuple;
extern PyObject *const_tuple_str_chr_47_tuple;
static PyObject *const_str_plain_cached;
static PyObject *const_str_plain_rtsp;
extern PyObject *const_str_plain_splitport;
static PyObject *const_tuple_str_digest_8a9693d3ccf6a786827e9ed7a876a1eb_tuple;
static PyObject *const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple;
static PyObject *const_str_plain_nv;
static PyObject *const_str_digest_aa5317ebc1428348a6fb43234bed89ae;
static PyObject *const_tuple_str_plain_attr_str_plain_re_str_plain_match_tuple;
extern PyObject *const_str_plain_splituser;
extern PyObject *const_str_plain_urlunparse;
static PyObject *const_tuple_str_plain_url_str_plain_re_str_plain_match_tuple;
static PyObject *const_str_digest_d2179eeb6ac42b55111722c6cf1de710;
static PyObject *const_tuple_str_digest_22d2f8343255209e3e900ed3c61c5680_tuple;
extern PyObject *const_str_plain_get;
static PyObject *const_tuple_str_plain_host_str_plain_re_str_plain_match_tuple;
static PyObject *const_tuple_str_digest_903969dd4bf5db14dba99dedf4477f2d_tuple;
extern PyObject *const_tuple_bytes_empty_tuple;
static PyObject *const_str_plain_hostinfo;
static PyObject *const_tuple_4fc0435f6499b4f5b005831a363c6519_tuple;
static PyObject *const_str_plain_defport;
static PyObject *const_str_plain_have_info;
extern PyObject *const_str_plain_metaclass;
static PyObject *const_tuple_d52019a5231474de53a4969af2cca030_tuple;
extern PyObject *const_tuple_str_chr_93_tuple;
extern PyObject *const_str_chr_60;
extern PyObject *const_tuple_str_plain___class___tuple;
static PyObject *const_tuple_091e95df5670964e65bf03f00fd06b79_tuple;
extern PyObject *const_str_angle_metaclass;
extern PyObject *const_str_plain_bs;
extern PyObject *const_tuple_int_neg_1_tuple;
static PyObject *const_str_plain__decoded;
static PyObject *const_str_digest_1e405175b65f4a94ac46c34bd63daf37;
extern PyObject *const_str_plain_arg;
extern PyObject *const_str_digest_13971ae58b983978540cbb4bbf3b1360;
extern PyObject *const_str_plain_elt;
extern PyObject *const_str_plain_args;
static PyObject *const_str_plain_scheme_chars;
extern PyObject *const_slice_int_pos_1_int_neg_1_none;
static PyObject *const_str_plain__coerce_result;
extern PyObject *const_str_plain_a;
extern PyObject *const_str_plain_bits;
extern PyObject *const_str_plain_items;
static PyObject *const_str_plain_sftp;
extern PyObject *const_int_pos_128;
extern PyObject *const_str_plain_defaultdict;
static PyObject *const_str_digest_b8fe789823f5234303222ed71d939240;
static PyObject *const_tuple_str_digest_f574a384606468fc7321e27f4e169e89_tuple;
static PyObject *const_str_plain_str_input;
extern PyObject *const_tuple_str_chr_58_tuple;
static PyObject *const_str_digest_04e03b02e6b25eb7454639295bd2e9b7;
static PyObject *const_str_digest_f8b1ed373ce679554b24d84fd14632ab;
extern PyObject *const_str_plain_join;
extern PyObject *const_str_plain_uses_params;
static PyObject *const_str_plain_mailto;
extern PyObject *const_str_chr_63;
static PyObject *const_str_digest_640f46343ff3f25798bdad1e2191665e;
extern PyObject *const_str_plain_absolute_import;
static PyObject *const_str_plain_strict_parsing;
static PyObject *const_str_plain_components;
extern PyObject *const_str_dot;
static PyObject *const_str_plain__parse_cache;
extern PyObject *const_str_plain_res;
extern PyObject *const_str_plain_quote;
extern PyObject *const_tuple_str_plain_ascii_str_plain_strict_tuple;
extern PyObject *const_str_plain_partition;
static PyObject *const_str_digest_ef317feaac625b212338ac8e5bc96b33;
static PyObject *const_tuple_2e396b88862b94731915507275f068df_tuple;
extern PyObject *const_str_plain_host;
extern PyObject *const_str_plain_int;
extern PyObject *const_str_plain_splitvalue;
extern PyObject *const_str_plain_splitattr;
static PyObject *const_str_plain__coerce_args;
static PyObject *const_tuple_str_plain_s1_str_plain_s2_tuple;
extern PyObject *const_str_plain_query;
static PyObject *const_str_digest_07e5e196892ff8ed79fa8403f681ed2c;
extern PyObject *const_tuple_str_digest_b9c4baf879ebd882d40843df3a4dead7_str_plain_c_tuple;
static PyObject *const_str_plain__userprog;
static PyObject *const_tuple_bytes_chr_37_tuple;
static PyObject *const_str_digest_6ce1a22e5764902c0f4a93042f846422;
extern PyObject *const_str_plain_username;
static PyObject *const_tuple_str_plain_self_str_plain_safe_tuple;
extern PyObject *const_bytes_chr_91;
extern PyObject *const_str_plain_r;
static PyObject *const_tuple_668036950ce9559d8db0a5e54829d755_tuple;
static PyObject *const_str_plain__NetlocResultMixinBytes;
static PyObject *const_str_digest_b4592792efe33734d5b7f11e6e151a1d;
extern PyObject *const_str_plain_attr;
extern PyObject *const_tuple_str_chr_38_tuple;
static PyObject *const_str_digest_4cf2fcf9bb29a1a54f61f0829e72d105;
extern PyObject *const_str_plain_ftp;
extern PyObject *const_str_plain_match;
static PyObject *const_str_digest_28a301ed28ed793237fe9615fa3776b4;
extern PyObject *const_str_plain_char;
extern PyObject *const_str_plain_strict;
static PyObject *const_str_digest_6a453aa98c24300a7fa768e2e28ebee3;
extern PyObject *const_str_plain_rest;
static PyObject *const_str_plain__encode_result;
extern PyObject *const_str_plain_encoding;
static PyObject *const_str_plain_ty;
extern PyObject *const_str_plain_SplitResult;
static PyObject *const_str_digest_ba6a10009168387da5e2ac08d95fe90d;
static PyObject *const_str_plain_MAX_CACHE_SIZE;
static PyObject *const_tuple_str_plain_args_str_plain_str_input_str_plain_arg_tuple;
static PyObject *const_str_digest_950d787e2e9701ff859dbdf73b73a83b;
extern PyObject *const_str_chr_58;
static PyObject *const_str_digest_09d6e9192854652064415e2905201515;
extern PyObject *const_str_plain_exc_info;
extern PyObject *const_str_angle_listcomp;
static PyObject *const_tuple_a259452def452f8724c9e46ce31d9d45_tuple;
static PyObject *const_str_plain_quoter;
static PyObject *const_str_digest_7b79a8950d64155a442741f6cc8c809b;
static PyObject *const_str_plain__hexdig;
static PyObject *const_str_plain__ParseResultBase;
extern PyObject *const_bytes_empty;
extern PyObject *const_str_plain_unquote;
extern PyObject *const_str_chr_93;
static PyObject *const_str_plain_tel;
extern PyObject *const_str_plain_urljoin;
static PyObject *const_str_plain__decoded_counterpart;
extern PyObject *const_str_plain_imap;
static PyObject *const_str_plain_nport;
static PyObject *const_str_digest_951f1dbeeb95dc65291d58d1503576cf;
extern PyObject *const_tuple_type_object_tuple;
extern PyObject *const_str_plain_unicode_literals;
extern PyObject *const_str_plain_params;
static PyObject *const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple;
static PyObject *const_tuple_163dfd4972e04675876ef43eec7cf900_tuple;
static PyObject *const_str_digest_f8facd9881d831f46ab07373cda5bf0c;
static PyObject *const_tuple_str_chr_47_none_none_tuple;
extern PyObject *const_str_plain_self;
extern PyObject *const_str_plain_clear;
static PyObject *const_str_digest_62ad0ec5e6fe61326d52f53e0066ceac;
extern PyObject *const_str_plain_rstrip;
static PyObject *const_tuple_b8e60a81ac6fe0b318713961aa39e8a6_tuple;
static PyObject *const_str_digest_049719ac499c6c46f5532c71ca09aa3e;
static PyObject *const_str_digest_2d58a878228c4b51ab782d7a3369fdbf;
static PyObject *const_bytes_chr_35;
extern PyObject *const_str_chr_59;
extern PyObject *const_str_plain_uses_fragment;
static PyObject *const_str_plain_bparams;
extern PyObject *const_int_pos_2;
static PyObject *const_str_plain_bracketed;
static PyObject *const_str_digest_9508f3e703e8394455520d2d3ee0d929;
extern PyObject *const_str_plain_to_bytes;
extern PyObject *const_str_plain_obj;
static PyObject *const_str_digest_ef7f677f59b0bb709df5ec381ebdb5a7;
static PyObject *const_str_digest_98c822c6903c9d93fbcb1f05d0f9dfd3;
extern PyObject *const_str_plain_file;
static PyObject *const_str_plain_host_port;
static PyObject *const_str_plain_have_password;
static PyObject *module_filename_obj;

static bool constants_created = false;

static void createModuleConstants( void )
{
    const_str_plain_defrag = UNSTREAM_STRING( &constant_bin[ 666681 ], 6, 1 );
    const_str_plain_have_port = UNSTREAM_STRING( &constant_bin[ 666687 ], 9, 1 );
    const_str_plain_bnetloc = UNSTREAM_STRING( &constant_bin[ 666696 ], 7, 1 );
    const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple = PyTuple_New( 13 );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 0, const_str_plain_query ); Py_INCREF( const_str_plain_query );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 1, const_str_plain_doseq ); Py_INCREF( const_str_plain_doseq );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 2, const_str_plain_safe ); Py_INCREF( const_str_plain_safe );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 3, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 4, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    const_str_plain_ty = UNSTREAM_STRING( &constant_bin[ 616 ], 2, 1 );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 5, const_str_plain_ty ); Py_INCREF( const_str_plain_ty );
    const_str_plain_va = UNSTREAM_STRING( &constant_bin[ 644 ], 2, 1 );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 6, const_str_plain_va ); Py_INCREF( const_str_plain_va );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 7, const_str_plain_tb ); Py_INCREF( const_str_plain_tb );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 8, const_str_plain_l ); Py_INCREF( const_str_plain_l );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 9, const_str_plain_k ); Py_INCREF( const_str_plain_k );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 10, const_str_plain_v ); Py_INCREF( const_str_plain_v );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 11, const_str_plain_x ); Py_INCREF( const_str_plain_x );
    PyTuple_SET_ITEM( const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 12, const_str_plain_elt ); Py_INCREF( const_str_plain_elt );
    const_str_digest_903969dd4bf5db14dba99dedf4477f2d = UNSTREAM_STRING( &constant_bin[ 666703 ], 15, 0 );
    const_tuple_str_plain_bs_str_plain_safe_str_plain_quoter_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_bs_str_plain_safe_str_plain_quoter_tuple, 0, const_str_plain_bs ); Py_INCREF( const_str_plain_bs );
    PyTuple_SET_ITEM( const_tuple_str_plain_bs_str_plain_safe_str_plain_quoter_tuple, 1, const_str_plain_safe ); Py_INCREF( const_str_plain_safe );
    const_str_plain_quoter = UNSTREAM_STRING( &constant_bin[ 666718 ], 6, 1 );
    PyTuple_SET_ITEM( const_tuple_str_plain_bs_str_plain_safe_str_plain_quoter_tuple, 2, const_str_plain_quoter ); Py_INCREF( const_str_plain_quoter );
    const_str_plain_nntp = UNSTREAM_STRING( &constant_bin[ 666724 ], 4, 1 );
    const_str_digest_fe659d716fddd9b3a2b0b730ef917cab = UNSTREAM_STRING( &constant_bin[ 666728 ], 38, 0 );
    const_str_plain_news = UNSTREAM_STRING( &constant_bin[ 476641 ], 4, 1 );
    const_str_digest_d026fd04dcad403c8f8037c2b8f0cafc = UNSTREAM_STRING( &constant_bin[ 666766 ], 1190, 0 );
    const_str_digest_904e6c288aa2dfa40a7fd2d488b713ec = UNSTREAM_STRING( &constant_bin[ 667956 ], 23, 0 );
    const_list_9d3e5c288c26ff97d425913e11415e89_list = PyList_New( 13 );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 0, const_str_plain_ftp ); Py_INCREF( const_str_plain_ftp );
    const_str_plain_hdl = UNSTREAM_STRING( &constant_bin[ 667979 ], 3, 1 );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 1, const_str_plain_hdl ); Py_INCREF( const_str_plain_hdl );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 2, const_str_plain_http ); Py_INCREF( const_str_plain_http );
    const_str_plain_gopher = UNSTREAM_STRING( &constant_bin[ 667982 ], 6, 1 );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 3, const_str_plain_gopher ); Py_INCREF( const_str_plain_gopher );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 4, const_str_plain_news ); Py_INCREF( const_str_plain_news );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 5, const_str_plain_nntp ); Py_INCREF( const_str_plain_nntp );
    const_str_plain_wais = UNSTREAM_STRING( &constant_bin[ 667988 ], 4, 1 );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 6, const_str_plain_wais ); Py_INCREF( const_str_plain_wais );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 7, const_str_plain_https ); Py_INCREF( const_str_plain_https );
    const_str_plain_shttp = UNSTREAM_STRING( &constant_bin[ 667992 ], 5, 1 );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 8, const_str_plain_shttp ); Py_INCREF( const_str_plain_shttp );
    const_str_plain_snews = UNSTREAM_STRING( &constant_bin[ 667997 ], 5, 1 );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 9, const_str_plain_snews ); Py_INCREF( const_str_plain_snews );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 10, const_str_plain_file ); Py_INCREF( const_str_plain_file );
    const_str_plain_prospero = UNSTREAM_STRING( &constant_bin[ 668002 ], 8, 1 );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 11, const_str_plain_prospero ); Py_INCREF( const_str_plain_prospero );
    PyList_SET_ITEM( const_list_9d3e5c288c26ff97d425913e11415e89_list, 12, const_str_empty ); Py_INCREF( const_str_empty );
    const_str_digest_22d2f8343255209e3e900ed3c61c5680 = UNSTREAM_STRING( &constant_bin[ 668010 ], 15, 0 );
    const_str_digest_2c59fca184ef8f25909bbcce4b324e6f = UNSTREAM_STRING( &constant_bin[ 668025 ], 23, 0 );
    const_tuple_str_plain_obj_str_plain_encoding_str_plain_errors_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_obj_str_plain_encoding_str_plain_errors_tuple, 0, const_str_plain_obj ); Py_INCREF( const_str_plain_obj );
    PyTuple_SET_ITEM( const_tuple_str_plain_obj_str_plain_encoding_str_plain_errors_tuple, 1, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_str_plain_obj_str_plain_encoding_str_plain_errors_tuple, 2, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    const_str_digest_128766d5a4405c5bff5a232a0ae6ff77 = UNSTREAM_STRING( &constant_bin[ 668048 ], 19, 0 );
    const_str_plain_non_hierarchical = UNSTREAM_STRING( &constant_bin[ 668067 ], 16, 1 );
    const_tuple_str_chr_43_str_space_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_chr_43_str_space_tuple, 0, const_str_chr_43 ); Py_INCREF( const_str_chr_43 );
    PyTuple_SET_ITEM( const_tuple_str_chr_43_str_space_tuple, 1, const_str_space ); Py_INCREF( const_str_space );
    const_tuple_str_space_str_chr_43_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_space_str_chr_43_tuple, 0, const_str_space ); Py_INCREF( const_str_space );
    PyTuple_SET_ITEM( const_tuple_str_space_str_chr_43_tuple, 1, const_str_chr_43 ); Py_INCREF( const_str_chr_43 );
    const_tuple_f4e41ebeea2820b35fa8ba3874d6dd50_tuple = PyTuple_New( 2 );
    const_str_plain_DefragResult = UNSTREAM_STRING( &constant_bin[ 668083 ], 12, 1 );
    PyTuple_SET_ITEM( const_tuple_f4e41ebeea2820b35fa8ba3874d6dd50_tuple, 0, const_str_plain_DefragResult ); Py_INCREF( const_str_plain_DefragResult );
    const_str_digest_9a6f2c89aa4b5c4de4ede3901366eff8 = UNSTREAM_STRING( &constant_bin[ 668095 ], 12, 0 );
    PyTuple_SET_ITEM( const_tuple_f4e41ebeea2820b35fa8ba3874d6dd50_tuple, 1, const_str_digest_9a6f2c89aa4b5c4de4ede3901366eff8 ); Py_INCREF( const_str_digest_9a6f2c89aa4b5c4de4ede3901366eff8 );
    const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple = PyTuple_New( 9 );
    PyTuple_SET_ITEM( const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 0, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    const_str_plain__coerce_result = UNSTREAM_STRING( &constant_bin[ 668107 ], 14, 1 );
    PyTuple_SET_ITEM( const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 1, const_str_plain__coerce_result ); Py_INCREF( const_str_plain__coerce_result );
    PyTuple_SET_ITEM( const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 2, const_str_plain_s ); Py_INCREF( const_str_plain_s );
    PyTuple_SET_ITEM( const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 3, const_str_plain_n ); Py_INCREF( const_str_plain_n );
    PyTuple_SET_ITEM( const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 4, const_str_plain_p ); Py_INCREF( const_str_plain_p );
    PyTuple_SET_ITEM( const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 5, const_str_plain_a ); Py_INCREF( const_str_plain_a );
    PyTuple_SET_ITEM( const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 6, const_str_plain_q ); Py_INCREF( const_str_plain_q );
    PyTuple_SET_ITEM( const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 7, const_str_plain_frag ); Py_INCREF( const_str_plain_frag );
    PyTuple_SET_ITEM( const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 8, const_str_plain_defrag ); Py_INCREF( const_str_plain_defrag );
    const_str_plain__encoded_counterpart = UNSTREAM_STRING( &constant_bin[ 668121 ], 20, 1 );
    const_str_plain_splitnport = UNSTREAM_STRING( &constant_bin[ 668141 ], 10, 1 );
    const_list_c29322639b33fffa11834e3d407fd666_list = PyMarshal_ReadObjectFromString( (char *)&constant_bin[ 668151 ], 153 );
    const_str_digest_9ba620e74293d6f68e92188501ad3654 = UNSTREAM_STRING( &constant_bin[ 668304 ], 11, 0 );
    const_str_digest_0111ed484175486ac77e8fa94cb43e6b = UNSTREAM_STRING( &constant_bin[ 668315 ], 62, 0 );
    const_str_plain_ParseResultBytes = UNSTREAM_STRING( &constant_bin[ 668025 ], 16, 1 );
    const_str_digest_28f78f0fdbd561fde09d6fd8b5aeb4e9 = UNSTREAM_STRING( &constant_bin[ 668377 ], 222, 0 );
    const_str_digest_806fb13d353d187c680ead02553ff910 = UNSTREAM_STRING( &constant_bin[ 668599 ], 27, 0 );
    const_str_digest_9edbc3881b06c362f65d3bad48dac8b4 = UNSTREAM_STRING( &constant_bin[ 668626 ], 11, 0 );
    const_str_digest_6ca0085924829b080432fa4f3a87d01d = UNSTREAM_STRING( &constant_bin[ 668637 ], 62, 0 );
    const_str_digest_b956edff5198358cf12818d9ea146ea8 = UNSTREAM_STRING( &constant_bin[ 668699 ], 291, 0 );
    const_str_digest_ac80a991f09bbe1b326bd1f379b85613 = UNSTREAM_STRING( &constant_bin[ 668990 ], 36, 0 );
    const_str_plain__valueprog = UNSTREAM_STRING( &constant_bin[ 669026 ], 10, 1 );
    const_str_digest_8a9693d3ccf6a786827e9ed7a876a1eb = UNSTREAM_STRING( &constant_bin[ 669036 ], 10, 0 );
    const_str_digest_3e96d5ff14ccd43468a5bfd3afdccc90 = UNSTREAM_STRING( &constant_bin[ 669046 ], 18, 0 );
    const_list_a7b4fb5f184304957b0eaa35333d188a_list = PyList_New( 15 );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 0, const_str_plain_ftp ); Py_INCREF( const_str_plain_ftp );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 1, const_str_plain_hdl ); Py_INCREF( const_str_plain_hdl );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 2, const_str_plain_prospero ); Py_INCREF( const_str_plain_prospero );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 3, const_str_plain_http ); Py_INCREF( const_str_plain_http );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 4, const_str_plain_imap ); Py_INCREF( const_str_plain_imap );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 5, const_str_plain_https ); Py_INCREF( const_str_plain_https );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 6, const_str_plain_shttp ); Py_INCREF( const_str_plain_shttp );
    const_str_plain_rtsp = UNSTREAM_STRING( &constant_bin[ 668139 ], 4, 1 );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 7, const_str_plain_rtsp ); Py_INCREF( const_str_plain_rtsp );
    const_str_plain_rtspu = UNSTREAM_STRING( &constant_bin[ 668251 ], 5, 1 );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 8, const_str_plain_rtspu ); Py_INCREF( const_str_plain_rtspu );
    const_str_plain_sip = UNSTREAM_STRING( &constant_bin[ 669064 ], 3, 1 );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 9, const_str_plain_sip ); Py_INCREF( const_str_plain_sip );
    const_str_plain_sips = UNSTREAM_STRING( &constant_bin[ 669067 ], 4, 1 );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 10, const_str_plain_sips ); Py_INCREF( const_str_plain_sips );
    const_str_plain_mms = UNSTREAM_STRING( &constant_bin[ 668209 ], 3, 1 );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 11, const_str_plain_mms ); Py_INCREF( const_str_plain_mms );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 12, const_str_empty ); Py_INCREF( const_str_empty );
    const_str_plain_sftp = UNSTREAM_STRING( &constant_bin[ 668281 ], 4, 1 );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 13, const_str_plain_sftp ); Py_INCREF( const_str_plain_sftp );
    const_str_plain_tel = UNSTREAM_STRING( &constant_bin[ 1236 ], 3, 1 );
    PyList_SET_ITEM( const_list_a7b4fb5f184304957b0eaa35333d188a_list, 14, const_str_plain_tel ); Py_INCREF( const_str_plain_tel );
    const_str_plain__result_pairs = UNSTREAM_STRING( &constant_bin[ 669071 ], 13, 1 );
    const_str_plain__DefragResultBase = UNSTREAM_STRING( &constant_bin[ 669084 ], 17, 1 );
    const_str_plain_telnet = UNSTREAM_STRING( &constant_bin[ 668183 ], 6, 1 );
    const_str_plain_s2 = UNSTREAM_STRING( &constant_bin[ 15659 ], 2, 1 );
    const_list_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_list = PyList_New( 2 );
    PyList_SET_ITEM( const_list_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_list, 0, const_str_empty ); Py_INCREF( const_str_empty );
    const_str_digest_7b79a8950d64155a442741f6cc8c809b = UNSTREAM_STRING( &constant_bin[ 30 ], 2, 0 );
    PyList_SET_ITEM( const_list_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_list, 1, const_str_digest_7b79a8950d64155a442741f6cc8c809b ); Py_INCREF( const_str_digest_7b79a8950d64155a442741f6cc8c809b );
    const_tuple_str_plain_args_str_plain_encoding_str_plain_errors_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_args_str_plain_encoding_str_plain_errors_tuple, 0, const_str_plain_args ); Py_INCREF( const_str_plain_args );
    PyTuple_SET_ITEM( const_tuple_str_plain_args_str_plain_encoding_str_plain_errors_tuple, 1, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_str_plain_args_str_plain_encoding_str_plain_errors_tuple, 2, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    const_str_plain__encoded = UNSTREAM_STRING( &constant_bin[ 486117 ], 8, 1 );
    const_str_digest_665c8aa65ec320df9ca26662d7ab8115 = UNSTREAM_STRING( &constant_bin[ 669101 ], 59, 0 );
    const_str_digest_2f9d11f37bcf7779f2433f77a4c92eae = UNSTREAM_STRING( &constant_bin[ 669160 ], 11, 0 );
    const_str_plain__hostinfo = UNSTREAM_STRING( &constant_bin[ 669171 ], 9, 1 );
    const_str_plain__implicit_errors = UNSTREAM_STRING( &constant_bin[ 669180 ], 16, 1 );
    const_str_digest_2f467f87ed6e30353d3df902c8dc14a1 = UNSTREAM_STRING( &constant_bin[ 669196 ], 33, 0 );
    const_str_plain__asciire = UNSTREAM_STRING( &constant_bin[ 669229 ], 8, 1 );
    const_tuple_str_digest_049719ac499c6c46f5532c71ca09aa3e_tuple = PyTuple_New( 1 );
    const_str_digest_049719ac499c6c46f5532c71ca09aa3e = UNSTREAM_STRING( &constant_bin[ 669237 ], 16, 0 );
    PyTuple_SET_ITEM( const_tuple_str_digest_049719ac499c6c46f5532c71ca09aa3e_tuple, 0, const_str_digest_049719ac499c6c46f5532c71ca09aa3e ); Py_INCREF( const_str_digest_049719ac499c6c46f5532c71ca09aa3e );
    const_str_digest_f574a384606468fc7321e27f4e169e89 = UNSTREAM_STRING( &constant_bin[ 669253 ], 8, 0 );
    const_tuple_bytes_chr_58_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_bytes_chr_58_tuple, 0, const_bytes_chr_58 ); Py_INCREF( const_bytes_chr_58 );
    const_str_plain__decode_args = UNSTREAM_STRING( &constant_bin[ 669261 ], 12, 1 );
    const_str_plain__implicit_encoding = UNSTREAM_STRING( &constant_bin[ 669273 ], 18, 1 );
    const_tuple_str_digest_2f9d11f37bcf7779f2433f77a4c92eae_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_2f9d11f37bcf7779f2433f77a4c92eae_tuple, 0, const_str_digest_2f9d11f37bcf7779f2433f77a4c92eae ); Py_INCREF( const_str_digest_2f9d11f37bcf7779f2433f77a4c92eae );
    const_str_plain_ResultBase = UNSTREAM_STRING( &constant_bin[ 669091 ], 10, 1 );
    const_str_plain__NetlocResultMixinBase = UNSTREAM_STRING( &constant_bin[ 669291 ], 22, 1 );
    const_str_digest_907d0f824cbd90b4cdc2664c2524aec7 = UNSTREAM_STRING( &constant_bin[ 669313 ], 363, 0 );
    const_str_digest_6570a1fceb79a7335e26db51f18a4589 = UNSTREAM_STRING( &constant_bin[ 669676 ], 3, 0 );
    const_str_digest_68f4b9c941a7881e11c343527a3b3ea6 = UNSTREAM_STRING( &constant_bin[ 669679 ], 14, 0 );
    const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple = PyTuple_New( 9 );
    const_str_plain_qs = UNSTREAM_STRING( &constant_bin[ 448691 ], 2, 1 );
    PyTuple_SET_ITEM( const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 0, const_str_plain_qs ); Py_INCREF( const_str_plain_qs );
    const_str_plain_keep_blank_values = UNSTREAM_STRING( &constant_bin[ 669693 ], 17, 1 );
    PyTuple_SET_ITEM( const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 1, const_str_plain_keep_blank_values ); Py_INCREF( const_str_plain_keep_blank_values );
    const_str_plain_strict_parsing = UNSTREAM_STRING( &constant_bin[ 669710 ], 14, 1 );
    PyTuple_SET_ITEM( const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 2, const_str_plain_strict_parsing ); Py_INCREF( const_str_plain_strict_parsing );
    PyTuple_SET_ITEM( const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 3, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 4, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    const_str_plain_parsed_result = UNSTREAM_STRING( &constant_bin[ 669724 ], 13, 1 );
    PyTuple_SET_ITEM( const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 5, const_str_plain_parsed_result ); Py_INCREF( const_str_plain_parsed_result );
    PyTuple_SET_ITEM( const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 6, const_str_plain_pairs ); Py_INCREF( const_str_plain_pairs );
    PyTuple_SET_ITEM( const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 7, const_str_plain_name ); Py_INCREF( const_str_plain_name );
    PyTuple_SET_ITEM( const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 8, const_str_plain_value ); Py_INCREF( const_str_plain_value );
    const_str_digest_5eed124044d71c790588073d14c32f8b = UNSTREAM_STRING( &constant_bin[ 669737 ], 47, 0 );
    const_str_plain_name_value = UNSTREAM_STRING( &constant_bin[ 669784 ], 10, 1 );
    const_str_plain__noop = UNSTREAM_STRING( &constant_bin[ 578808 ], 5, 1 );
    const_str_digest_5f90b97acd402e0af3654b786f4216f5 = UNSTREAM_STRING( &constant_bin[ 11748 ], 4, 0 );
    const_str_plain_quote_from_bytes = UNSTREAM_STRING( &constant_bin[ 669794 ], 16, 1 );
    const_str_digest_a6dab781b92fbe04874204e94c892e10 = UNSTREAM_STRING( &constant_bin[ 669810 ], 8, 0 );
    const_tuple_str_plain_self_str_plain_port_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_port_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_port_tuple, 1, const_str_plain_port ); Py_INCREF( const_str_plain_port );
    const_str_digest_f4690dfd6368ef38692b6e0b5639ce3b = UNSTREAM_STRING( &constant_bin[ 669818 ], 19, 0 );
    const_tuple_str_digest_9edbc3881b06c362f65d3bad48dac8b4_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_9edbc3881b06c362f65d3bad48dac8b4_tuple, 0, const_str_digest_9edbc3881b06c362f65d3bad48dac8b4 ); Py_INCREF( const_str_digest_9edbc3881b06c362f65d3bad48dac8b4 );
    const_str_plain__nportprog = UNSTREAM_STRING( &constant_bin[ 669837 ], 10, 1 );
    const_tuple_bytes_chr_93_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_bytes_chr_93_tuple, 0, const_bytes_chr_93 ); Py_INCREF( const_bytes_chr_93 );
    const_str_plain__portprog = UNSTREAM_STRING( &constant_bin[ 669847 ], 9, 1 );
    const_tuple_bytes_chr_64_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_bytes_chr_64_tuple, 0, const_bytes_chr_64 ); Py_INCREF( const_bytes_chr_64 );
    const_str_plain__hostprog = UNSTREAM_STRING( &constant_bin[ 669856 ], 9, 1 );
    const_str_digest_5480130700d117749534eeeb5a04c320 = UNSTREAM_STRING( &constant_bin[ 669865 ], 14, 0 );
    const_str_plain_splitresult = UNSTREAM_STRING( &constant_bin[ 669879 ], 11, 1 );
    const_str_digest_f1e510df36928745bbf110169228cfd3 = UNSTREAM_STRING( &constant_bin[ 669890 ], 33, 0 );
    const_str_plain__ResultMixinStr = UNSTREAM_STRING( &constant_bin[ 669923 ], 15, 1 );
    const_str_plain__fix_result_transcoding = UNSTREAM_STRING( &constant_bin[ 669938 ], 23, 1 );
    const_tuple_str_plain_char_str_plain_quoter_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_char_str_plain_quoter_tuple, 0, const_str_plain_char ); Py_INCREF( const_str_plain_char );
    PyTuple_SET_ITEM( const_tuple_str_plain_char_str_plain_quoter_tuple, 1, const_str_plain_quoter ); Py_INCREF( const_str_plain_quoter );
    const_str_digest_600aaebef7c8fb88ced7dfdd3501055b = UNSTREAM_STRING( &constant_bin[ 669961 ], 9, 0 );
    const_str_plain_DefragResultBytes = UNSTREAM_STRING( &constant_bin[ 669970 ], 17, 1 );
    const_str_digest_88e40c89e076144b7d9eaeae9936fcd9 = UNSTREAM_STRING( &constant_bin[ 669987 ], 65, 0 );
    const_str_plain__SplitResultBase = UNSTREAM_STRING( &constant_bin[ 670052 ], 16, 1 );
    const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list = PyList_New( 12 );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 0, const_str_plain_http ); Py_INCREF( const_str_plain_http );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 1, const_str_plain_wais ); Py_INCREF( const_str_plain_wais );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 2, const_str_plain_imap ); Py_INCREF( const_str_plain_imap );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 3, const_str_plain_https ); Py_INCREF( const_str_plain_https );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 4, const_str_plain_shttp ); Py_INCREF( const_str_plain_shttp );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 5, const_str_plain_mms ); Py_INCREF( const_str_plain_mms );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 6, const_str_plain_gopher ); Py_INCREF( const_str_plain_gopher );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 7, const_str_plain_rtsp ); Py_INCREF( const_str_plain_rtsp );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 8, const_str_plain_rtspu ); Py_INCREF( const_str_plain_rtspu );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 9, const_str_plain_sip ); Py_INCREF( const_str_plain_sip );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 10, const_str_plain_sips ); Py_INCREF( const_str_plain_sips );
    PyList_SET_ITEM( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list, 11, const_str_empty ); Py_INCREF( const_str_empty );
    const_str_digest_b2129efa52efbf1a263dad7416562079 = UNSTREAM_STRING( &constant_bin[ 670068 ], 204, 0 );
    const_str_plain__typeprog = UNSTREAM_STRING( &constant_bin[ 670272 ], 9, 1 );
    const_str_plain__ALWAYS_SAFE_BYTES = UNSTREAM_STRING( &constant_bin[ 670281 ], 18, 1 );
    const_str_plain__safe_quoters = UNSTREAM_STRING( &constant_bin[ 670299 ], 13, 1 );
    const_tuple_bytes_chr_91_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_bytes_chr_91_tuple, 0, const_bytes_chr_91 ); Py_INCREF( const_bytes_chr_91 );
    const_str_plain_s1 = UNSTREAM_STRING( &constant_bin[ 14954 ], 2, 1 );
    const_str_plain_svn = UNSTREAM_STRING( &constant_bin[ 668267 ], 3, 1 );
    const_tuple_str_digest_f8b1ed373ce679554b24d84fd14632ab_tuple = PyTuple_New( 1 );
    const_str_digest_f8b1ed373ce679554b24d84fd14632ab = UNSTREAM_STRING( &constant_bin[ 670312 ], 14, 0 );
    PyTuple_SET_ITEM( const_tuple_str_digest_f8b1ed373ce679554b24d84fd14632ab_tuple, 0, const_str_digest_f8b1ed373ce679554b24d84fd14632ab ); Py_INCREF( const_str_digest_f8b1ed373ce679554b24d84fd14632ab );
    const_str_plain_SplitResultBytes = UNSTREAM_STRING( &constant_bin[ 667956 ], 16, 1 );
    const_str_digest_d2c9a658c76209f643c9a5d113493d2e = UNSTREAM_STRING( &constant_bin[ 670326 ], 41, 0 );
    const_str_digest_3da873fb815a5839f28c866ac121006c = UNSTREAM_STRING( &constant_bin[ 670367 ], 31, 0 );
    const_tuple_str_plain_url_str_plain_re_str_plain_match_str_plain_scheme_tuple = PyTuple_New( 4 );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_re_str_plain_match_str_plain_scheme_tuple, 0, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_re_str_plain_match_str_plain_scheme_tuple, 1, const_str_plain_re ); Py_INCREF( const_str_plain_re );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_re_str_plain_match_str_plain_scheme_tuple, 2, const_str_plain_match ); Py_INCREF( const_str_plain_match );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_re_str_plain_match_str_plain_scheme_tuple, 3, const_str_plain_scheme ); Py_INCREF( const_str_plain_scheme );
    const_str_plain_allow_fragments = UNSTREAM_STRING( &constant_bin[ 670398 ], 15, 1 );
    const_str_digest_b3c3ed74bf140ada40af54aaf6503835 = UNSTREAM_STRING( &constant_bin[ 670413 ], 74, 0 );
    const_tuple_e932e0a5f98499c29f05ae56e39528e9_tuple = PyTuple_New( 6 );
    PyTuple_SET_ITEM( const_tuple_e932e0a5f98499c29f05ae56e39528e9_tuple, 0, const_str_plain_bytes ); Py_INCREF( const_str_plain_bytes );
    PyTuple_SET_ITEM( const_tuple_e932e0a5f98499c29f05ae56e39528e9_tuple, 1, const_str_plain_chr ); Py_INCREF( const_str_plain_chr );
    PyTuple_SET_ITEM( const_tuple_e932e0a5f98499c29f05ae56e39528e9_tuple, 2, const_str_plain_dict ); Py_INCREF( const_str_plain_dict );
    PyTuple_SET_ITEM( const_tuple_e932e0a5f98499c29f05ae56e39528e9_tuple, 3, const_str_plain_int ); Py_INCREF( const_str_plain_int );
    PyTuple_SET_ITEM( const_tuple_e932e0a5f98499c29f05ae56e39528e9_tuple, 4, const_str_plain_range ); Py_INCREF( const_str_plain_range );
    PyTuple_SET_ITEM( const_tuple_e932e0a5f98499c29f05ae56e39528e9_tuple, 5, const_str_plain_str ); Py_INCREF( const_str_plain_str );
    const_tuple_74f7927589480ce6b35f9d806274e904_tuple = PyTuple_New( 4 );
    PyTuple_SET_ITEM( const_tuple_74f7927589480ce6b35f9d806274e904_tuple, 0, const_str_plain_string ); Py_INCREF( const_str_plain_string );
    PyTuple_SET_ITEM( const_tuple_74f7927589480ce6b35f9d806274e904_tuple, 1, const_str_plain_safe ); Py_INCREF( const_str_plain_safe );
    PyTuple_SET_ITEM( const_tuple_74f7927589480ce6b35f9d806274e904_tuple, 2, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_74f7927589480ce6b35f9d806274e904_tuple, 3, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    const_str_plain_segments = UNSTREAM_STRING( &constant_bin[ 670487 ], 8, 1 );
    const_str_plain_bpath = UNSTREAM_STRING( &constant_bin[ 670495 ], 5, 1 );
    const_str_plain_have_open_br = UNSTREAM_STRING( &constant_bin[ 670500 ], 12, 1 );
    const_tuple_str_plain_string_str_plain_encoding_str_plain_errors_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_string_str_plain_encoding_str_plain_errors_tuple, 0, const_str_plain_string ); Py_INCREF( const_str_plain_string );
    PyTuple_SET_ITEM( const_tuple_str_plain_string_str_plain_encoding_str_plain_errors_tuple, 1, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_str_plain_string_str_plain_encoding_str_plain_errors_tuple, 2, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    const_tuple_str_plain_url_str_plain_words_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_words_tuple, 0, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_words_tuple, 1, const_str_plain_words ); Py_INCREF( const_str_plain_words );
    const_str_plain_0123456789 = UNSTREAM_STRING( &constant_bin[ 14059 ], 10, 0 );
    const_tuple_str_plain_raise_with_traceback_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_plain_raise_with_traceback_tuple, 0, const_str_plain_raise_with_traceback ); Py_INCREF( const_str_plain_raise_with_traceback );
    const_str_plain__NetlocResultMixinStr = UNSTREAM_STRING( &constant_bin[ 670512 ], 21, 1 );
    const_str_digest_24463121abb84407fee73fe6d9fca438 = UNSTREAM_STRING( &constant_bin[ 670533 ], 16, 0 );
    const_str_digest_f3752ded96d6c9d73ba2a043ea721da4 = UNSTREAM_STRING( &constant_bin[ 670549 ], 31, 0 );
    const_tuple_c4f856552da86102d227200bba558361_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_c4f856552da86102d227200bba558361_tuple, 0, const_str_plain_ParseResult ); Py_INCREF( const_str_plain_ParseResult );
    const_str_digest_6a453aa98c24300a7fa768e2e28ebee3 = UNSTREAM_STRING( &constant_bin[ 670580 ], 40, 0 );
    PyTuple_SET_ITEM( const_tuple_c4f856552da86102d227200bba558361_tuple, 1, const_str_digest_6a453aa98c24300a7fa768e2e28ebee3 ); Py_INCREF( const_str_digest_6a453aa98c24300a7fa768e2e28ebee3 );
    const_tuple_str_plain_self_str_plain_b_str_plain_res_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_b_str_plain_res_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_b_str_plain_res_tuple, 1, const_str_plain_b ); Py_INCREF( const_str_plain_b );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_b_str_plain_res_tuple, 2, const_str_plain_res ); Py_INCREF( const_str_plain_res );
    const_str_digest_25537690d6e44eb32632b1a697e41f6b = UNSTREAM_STRING( &constant_bin[ 579859 ], 30, 0 );
    const_str_digest_cc3481c100aa91f4b43265e45b1b605e = UNSTREAM_STRING( &constant_bin[ 670620 ], 155, 0 );
    const_str_digest_bf63d80be50fae199db40b32b07208a7 = UNSTREAM_STRING( &constant_bin[ 670775 ], 547, 0 );
    const_str_digest_9f137ecbafde7805f8e17d9eec35547b = UNSTREAM_STRING( &constant_bin[ 671322 ], 43, 0 );
    const_str_digest_c2b1ee0235d98fdc7bd8bf55ac03a403 = UNSTREAM_STRING( &constant_bin[ 671365 ], 250, 0 );
    const_str_digest_e68435a32b397314baf45db71c9567d5 = UNSTREAM_STRING( &constant_bin[ 671615 ], 42, 0 );
    const_str_digest_d7cb8d1c9a0084264e14f35a6df82a82 = UNSTREAM_STRING( &constant_bin[ 671657 ], 31, 0 );
    const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple = PyTuple_New( 12 );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 0, const_str_plain_qs ); Py_INCREF( const_str_plain_qs );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 1, const_str_plain_keep_blank_values ); Py_INCREF( const_str_plain_keep_blank_values );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 2, const_str_plain_strict_parsing ); Py_INCREF( const_str_plain_strict_parsing );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 3, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 4, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 5, const_str_plain__coerce_result ); Py_INCREF( const_str_plain__coerce_result );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 6, const_str_plain_pairs ); Py_INCREF( const_str_plain_pairs );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 7, const_str_plain_r ); Py_INCREF( const_str_plain_r );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 8, const_str_plain_name_value ); Py_INCREF( const_str_plain_name_value );
    const_str_plain_nv = UNSTREAM_STRING( &constant_bin[ 681 ], 2, 1 );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 9, const_str_plain_nv ); Py_INCREF( const_str_plain_nv );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 10, const_str_plain_name ); Py_INCREF( const_str_plain_name );
    PyTuple_SET_ITEM( const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 11, const_str_plain_value ); Py_INCREF( const_str_plain_value );
    const_str_digest_8c40b3b71092905cb9e606d7aa8eedfb = UNSTREAM_STRING( &constant_bin[ 671688 ], 19, 0 );
    const_list_f8cf8e7e1f5009fe241bec3862d74353_list = PyList_New( 17 );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 0, const_str_plain_ftp ); Py_INCREF( const_str_plain_ftp );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 1, const_str_plain_http ); Py_INCREF( const_str_plain_http );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 2, const_str_plain_gopher ); Py_INCREF( const_str_plain_gopher );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 3, const_str_plain_nntp ); Py_INCREF( const_str_plain_nntp );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 4, const_str_plain_imap ); Py_INCREF( const_str_plain_imap );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 5, const_str_plain_wais ); Py_INCREF( const_str_plain_wais );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 6, const_str_plain_file ); Py_INCREF( const_str_plain_file );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 7, const_str_plain_https ); Py_INCREF( const_str_plain_https );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 8, const_str_plain_shttp ); Py_INCREF( const_str_plain_shttp );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 9, const_str_plain_mms ); Py_INCREF( const_str_plain_mms );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 10, const_str_plain_prospero ); Py_INCREF( const_str_plain_prospero );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 11, const_str_plain_rtsp ); Py_INCREF( const_str_plain_rtsp );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 12, const_str_plain_rtspu ); Py_INCREF( const_str_plain_rtspu );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 13, const_str_empty ); Py_INCREF( const_str_empty );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 14, const_str_plain_sftp ); Py_INCREF( const_str_plain_sftp );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 15, const_str_plain_svn ); Py_INCREF( const_str_plain_svn );
    const_str_digest_d2179eeb6ac42b55111722c6cf1de710 = UNSTREAM_STRING( &constant_bin[ 668272 ], 7, 0 );
    PyList_SET_ITEM( const_list_f8cf8e7e1f5009fe241bec3862d74353_list, 16, const_str_digest_d2179eeb6ac42b55111722c6cf1de710 ); Py_INCREF( const_str_digest_d2179eeb6ac42b55111722c6cf1de710 );
    const_tuple_str_plain_self_str_plain_hostname_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_hostname_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_hostname_tuple, 1, const_str_plain_hostname ); Py_INCREF( const_str_plain_hostname );
    const_tuple_bytes_digest_45e1dd6e9dbd1599a2c11a4dfb02c609_tuple = PyTuple_New( 1 );
    const_bytes_digest_45e1dd6e9dbd1599a2c11a4dfb02c609 = UNSTREAM_BYTES( &constant_bin[ 671707 ], 65 );
    PyTuple_SET_ITEM( const_tuple_bytes_digest_45e1dd6e9dbd1599a2c11a4dfb02c609_tuple, 0, const_bytes_digest_45e1dd6e9dbd1599a2c11a4dfb02c609 ); Py_INCREF( const_bytes_digest_45e1dd6e9dbd1599a2c11a4dfb02c609 );
    const_str_plain__userinfo = UNSTREAM_STRING( &constant_bin[ 669220 ], 9, 1 );
    const_tuple_4a300e8ad347e738c43d70e78d1a26cb_tuple = PyTuple_New( 4 );
    PyTuple_SET_ITEM( const_tuple_4a300e8ad347e738c43d70e78d1a26cb_tuple, 0, Py_False ); Py_INCREF( Py_False );
    PyTuple_SET_ITEM( const_tuple_4a300e8ad347e738c43d70e78d1a26cb_tuple, 1, Py_False ); Py_INCREF( Py_False );
    PyTuple_SET_ITEM( const_tuple_4a300e8ad347e738c43d70e78d1a26cb_tuple, 2, const_str_digest_c075052d723d6707083e869a0e3659bb ); Py_INCREF( const_str_digest_c075052d723d6707083e869a0e3659bb );
    PyTuple_SET_ITEM( const_tuple_4a300e8ad347e738c43d70e78d1a26cb_tuple, 3, const_str_plain_replace ); Py_INCREF( const_str_plain_replace );
    const_str_digest_b1e74b1a504388693b2cfb7d9c1329f9 = UNSTREAM_STRING( &constant_bin[ 671772 ], 847, 0 );
    const_str_plain_bfragment = UNSTREAM_STRING( &constant_bin[ 672619 ], 9, 1 );
    const_str_digest_29baeb9e6a8520706fe2f4f486ec2600 = UNSTREAM_STRING( &constant_bin[ 672628 ], 203, 0 );
    const_tuple_str_plain_ascii_str_plain_ignore_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_ascii_str_plain_ignore_tuple, 0, const_str_plain_ascii ); Py_INCREF( const_str_plain_ascii );
    PyTuple_SET_ITEM( const_tuple_str_plain_ascii_str_plain_ignore_tuple, 1, const_str_plain_ignore ); Py_INCREF( const_str_plain_ignore );
    const_str_digest_2f60d96911db87720b4e9bd717f25305 = UNSTREAM_STRING( &constant_bin[ 672831 ], 33, 0 );
    const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple = PyTuple_New( 13 );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 0, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 1, const_str_plain_scheme ); Py_INCREF( const_str_plain_scheme );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 2, const_str_plain_allow_fragments ); Py_INCREF( const_str_plain_allow_fragments );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 3, const_str_plain__coerce_result ); Py_INCREF( const_str_plain__coerce_result );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 4, const_str_plain_key ); Py_INCREF( const_str_plain_key );
    const_str_plain_cached = UNSTREAM_STRING( &constant_bin[ 36451 ], 6, 1 );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 5, const_str_plain_cached ); Py_INCREF( const_str_plain_cached );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 6, const_str_plain_netloc ); Py_INCREF( const_str_plain_netloc );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 7, const_str_plain_query ); Py_INCREF( const_str_plain_query );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 8, const_str_plain_fragment ); Py_INCREF( const_str_plain_fragment );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 9, const_str_plain_i ); Py_INCREF( const_str_plain_i );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 10, const_str_plain_v ); Py_INCREF( const_str_plain_v );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 11, const_str_plain_c ); Py_INCREF( const_str_plain_c );
    PyTuple_SET_ITEM( const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 12, const_str_plain_rest ); Py_INCREF( const_str_plain_rest );
    const_str_digest_fd9ce3436e7c11aab9e643faaf23a0e1 = UNSTREAM_STRING( &constant_bin[ 672864 ], 56, 0 );
    const_str_digest_4b783ace006732e3fd954e69d79eea69 = UNSTREAM_STRING( &constant_bin[ 672920 ], 72, 0 );
    const_str_plain__ALWAYS_SAFE = UNSTREAM_STRING( &constant_bin[ 670281 ], 12, 1 );
    const_tuple_256a42f408884f0acce338519de1e442_tuple = PyTuple_New( 10 );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 0, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 1, const_str_plain_scheme ); Py_INCREF( const_str_plain_scheme );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 2, const_str_plain_allow_fragments ); Py_INCREF( const_str_plain_allow_fragments );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 3, const_str_plain__coerce_result ); Py_INCREF( const_str_plain__coerce_result );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 4, const_str_plain_splitresult ); Py_INCREF( const_str_plain_splitresult );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 5, const_str_plain_netloc ); Py_INCREF( const_str_plain_netloc );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 6, const_str_plain_query ); Py_INCREF( const_str_plain_query );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 7, const_str_plain_fragment ); Py_INCREF( const_str_plain_fragment );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 8, const_str_plain_params ); Py_INCREF( const_str_plain_params );
    PyTuple_SET_ITEM( const_tuple_256a42f408884f0acce338519de1e442_tuple, 9, const_str_plain_result ); Py_INCREF( const_str_plain_result );
    const_str_plain__splitnetloc = UNSTREAM_STRING( &constant_bin[ 672992 ], 12, 1 );
    const_str_plain__ResultMixinBytes = UNSTREAM_STRING( &constant_bin[ 671322 ], 17, 1 );
    const_str_digest_29e173d0936c237034d30d9b2bb7dd0f = UNSTREAM_STRING( &constant_bin[ 673004 ], 44, 0 );
    const_str_digest_76ac25822d3eb3acb96194448fe87251 = UNSTREAM_STRING( &constant_bin[ 673048 ], 107, 0 );
    const_str_plain_bquery = UNSTREAM_STRING( &constant_bin[ 673155 ], 6, 1 );
    const_tuple_str_plain_user_str_plain_re_str_plain_match_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_user_str_plain_re_str_plain_match_tuple, 0, const_str_plain_user ); Py_INCREF( const_str_plain_user );
    PyTuple_SET_ITEM( const_tuple_str_plain_user_str_plain_re_str_plain_match_tuple, 1, const_str_plain_re ); Py_INCREF( const_str_plain_re );
    PyTuple_SET_ITEM( const_tuple_str_plain_user_str_plain_re_str_plain_match_tuple, 2, const_str_plain_match ); Py_INCREF( const_str_plain_match );
    const_tuple_6ed24f43909ca0465fbc866535feff81_tuple = PyTuple_New( 9 );
    PyTuple_SET_ITEM( const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 1, const_str_plain_netloc ); Py_INCREF( const_str_plain_netloc );
    PyTuple_SET_ITEM( const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 2, const_str_plain__ ); Py_INCREF( const_str_plain__ );
    const_str_plain_hostinfo = UNSTREAM_STRING( &constant_bin[ 669172 ], 8, 1 );
    PyTuple_SET_ITEM( const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 3, const_str_plain_hostinfo ); Py_INCREF( const_str_plain_hostinfo );
    PyTuple_SET_ITEM( const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 4, const_str_plain_have_open_br ); Py_INCREF( const_str_plain_have_open_br );
    const_str_plain_bracketed = UNSTREAM_STRING( &constant_bin[ 673161 ], 9, 1 );
    PyTuple_SET_ITEM( const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 5, const_str_plain_bracketed ); Py_INCREF( const_str_plain_bracketed );
    PyTuple_SET_ITEM( const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 6, const_str_plain_hostname ); Py_INCREF( const_str_plain_hostname );
    PyTuple_SET_ITEM( const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 7, const_str_plain_port ); Py_INCREF( const_str_plain_port );
    PyTuple_SET_ITEM( const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 8, const_str_plain_have_port ); Py_INCREF( const_str_plain_have_port );
    const_bytes_chr_37 = UNSTREAM_BYTES( &constant_bin[ 398 ], 1 );
    const_tuple_49af55e3c9b51fd63a0244e6799da99f_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_49af55e3c9b51fd63a0244e6799da99f_tuple, 0, const_str_plain_SplitResult ); Py_INCREF( const_str_plain_SplitResult );
    PyTuple_SET_ITEM( const_tuple_49af55e3c9b51fd63a0244e6799da99f_tuple, 1, const_str_digest_2f60d96911db87720b4e9bd717f25305 ); Py_INCREF( const_str_digest_2f60d96911db87720b4e9bd717f25305 );
    const_tuple_false_str_empty_none_none_tuple = PyTuple_New( 4 );
    PyTuple_SET_ITEM( const_tuple_false_str_empty_none_none_tuple, 0, Py_False ); Py_INCREF( Py_False );
    PyTuple_SET_ITEM( const_tuple_false_str_empty_none_none_tuple, 1, const_str_empty ); Py_INCREF( const_str_empty );
    PyTuple_SET_ITEM( const_tuple_false_str_empty_none_none_tuple, 2, Py_None ); Py_INCREF( Py_None );
    PyTuple_SET_ITEM( const_tuple_false_str_empty_none_none_tuple, 3, Py_None ); Py_INCREF( Py_None );
    const_str_plain_Quoter = UNSTREAM_STRING( &constant_bin[ 668305 ], 6, 1 );
    const_str_digest_cd69ab58ff744bb0618407f41d31ea43 = UNSTREAM_STRING( &constant_bin[ 673170 ], 31, 0 );
    const_tuple_str_plain_url_str_plain_i_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_i_tuple, 0, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_i_tuple, 1, const_str_plain_i ); Py_INCREF( const_str_plain_i );
    const_str_digest_e10f895e2ac6b0c91e9f3d12a1ee2b9c = UNSTREAM_STRING( &constant_bin[ 673201 ], 44, 0 );
    const_tuple_5f9cc7a63962ab56004c7a25fe20f94f_tuple = PyTuple_New( 5 );
    PyTuple_SET_ITEM( const_tuple_5f9cc7a63962ab56004c7a25fe20f94f_tuple, 0, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_5f9cc7a63962ab56004c7a25fe20f94f_tuple, 1, const_str_plain_re ); Py_INCREF( const_str_plain_re );
    PyTuple_SET_ITEM( const_tuple_5f9cc7a63962ab56004c7a25fe20f94f_tuple, 2, const_str_plain_match ); Py_INCREF( const_str_plain_match );
    const_str_plain_host_port = UNSTREAM_STRING( &constant_bin[ 673245 ], 9, 1 );
    PyTuple_SET_ITEM( const_tuple_5f9cc7a63962ab56004c7a25fe20f94f_tuple, 3, const_str_plain_host_port ); Py_INCREF( const_str_plain_host_port );
    PyTuple_SET_ITEM( const_tuple_5f9cc7a63962ab56004c7a25fe20f94f_tuple, 4, const_str_plain_path ); Py_INCREF( const_str_plain_path );
    const_list_95e4d6649457ca0eddf4de0f051d93e2_list = PyList_New( 15 );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 0, const_str_plain_urlparse ); Py_INCREF( const_str_plain_urlparse );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 1, const_str_plain_urlunparse ); Py_INCREF( const_str_plain_urlunparse );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 2, const_str_plain_urljoin ); Py_INCREF( const_str_plain_urljoin );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 3, const_str_plain_urldefrag ); Py_INCREF( const_str_plain_urldefrag );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 4, const_str_plain_urlsplit ); Py_INCREF( const_str_plain_urlsplit );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 5, const_str_plain_urlunsplit ); Py_INCREF( const_str_plain_urlunsplit );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 6, const_str_plain_urlencode ); Py_INCREF( const_str_plain_urlencode );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 7, const_str_plain_parse_qs ); Py_INCREF( const_str_plain_parse_qs );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 8, const_str_plain_parse_qsl ); Py_INCREF( const_str_plain_parse_qsl );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 9, const_str_plain_quote ); Py_INCREF( const_str_plain_quote );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 10, const_str_plain_quote_plus ); Py_INCREF( const_str_plain_quote_plus );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 11, const_str_plain_quote_from_bytes ); Py_INCREF( const_str_plain_quote_from_bytes );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 12, const_str_plain_unquote ); Py_INCREF( const_str_plain_unquote );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 13, const_str_plain_unquote_plus ); Py_INCREF( const_str_plain_unquote_plus );
    PyList_SET_ITEM( const_list_95e4d6649457ca0eddf4de0f051d93e2_list, 14, const_str_plain_unquote_to_bytes ); Py_INCREF( const_str_plain_unquote_to_bytes );
    const_str_plain__tagprog = UNSTREAM_STRING( &constant_bin[ 673254 ], 8, 1 );
    const_str_plain_0123456789ABCDEFabcdef = UNSTREAM_STRING( &constant_bin[ 673262 ], 22, 0 );
    const_str_digest_a684dfb8026bee19115cb436c48b8530 = UNSTREAM_STRING( &constant_bin[ 673284 ], 18, 0 );
    const_tuple_str_empty_none_none_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_empty_none_none_tuple, 0, const_str_empty ); Py_INCREF( const_str_empty );
    PyTuple_SET_ITEM( const_tuple_str_empty_none_none_tuple, 1, Py_None ); Py_INCREF( Py_None );
    PyTuple_SET_ITEM( const_tuple_str_empty_none_none_tuple, 2, Py_None ); Py_INCREF( Py_None );
    const_str_plain__splitparams = UNSTREAM_STRING( &constant_bin[ 673302 ], 12, 1 );
    const_str_digest_ea23691749aba42293b4121358e0175f = UNSTREAM_STRING( &constant_bin[ 673314 ], 274, 0 );
    const_str_plain__hextobyte = UNSTREAM_STRING( &constant_bin[ 673588 ], 10, 1 );
    const_tuple_ff3293bb95907947efd16aea6e0d814d_tuple = PyTuple_New( 5 );
    PyTuple_SET_ITEM( const_tuple_ff3293bb95907947efd16aea6e0d814d_tuple, 0, const_str_plain_string ); Py_INCREF( const_str_plain_string );
    PyTuple_SET_ITEM( const_tuple_ff3293bb95907947efd16aea6e0d814d_tuple, 1, const_str_plain_safe ); Py_INCREF( const_str_plain_safe );
    PyTuple_SET_ITEM( const_tuple_ff3293bb95907947efd16aea6e0d814d_tuple, 2, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_ff3293bb95907947efd16aea6e0d814d_tuple, 3, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    PyTuple_SET_ITEM( const_tuple_ff3293bb95907947efd16aea6e0d814d_tuple, 4, const_str_plain_space ); Py_INCREF( const_str_plain_space );
    const_tuple_8a4254f208e6294ef3353a9c4a104c38_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_8a4254f208e6294ef3353a9c4a104c38_tuple, 0, const_str_plain__result_pairs ); Py_INCREF( const_str_plain__result_pairs );
    const_str_plain__decoded = UNSTREAM_STRING( &constant_bin[ 673598 ], 8, 1 );
    PyTuple_SET_ITEM( const_tuple_8a4254f208e6294ef3353a9c4a104c38_tuple, 1, const_str_plain__decoded ); Py_INCREF( const_str_plain__decoded );
    PyTuple_SET_ITEM( const_tuple_8a4254f208e6294ef3353a9c4a104c38_tuple, 2, const_str_plain__encoded ); Py_INCREF( const_str_plain__encoded );
    const_str_digest_a95c28e8b02cb70cf9f720c2eec2635c = UNSTREAM_STRING( &constant_bin[ 671322 ], 24, 0 );
    const_str_plain_bscheme = UNSTREAM_STRING( &constant_bin[ 673606 ], 7, 1 );
    const_str_digest_83212905da1d0bed68316902ec27e719 = UNSTREAM_STRING( &constant_bin[ 673613 ], 58, 0 );
    const_str_digest_6844d5f84eccc91a0cb63c06d06f9cf9 = UNSTREAM_STRING( &constant_bin[ 673671 ], 33, 0 );
    const_list_186bcbbd871b45fddfde9227455627e3_list = PyList_New( 10 );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 0, const_str_plain_gopher ); Py_INCREF( const_str_plain_gopher );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 1, const_str_plain_hdl ); Py_INCREF( const_str_plain_hdl );
    const_str_plain_mailto = UNSTREAM_STRING( &constant_bin[ 667302 ], 6, 1 );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 2, const_str_plain_mailto ); Py_INCREF( const_str_plain_mailto );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 3, const_str_plain_news ); Py_INCREF( const_str_plain_news );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 4, const_str_plain_telnet ); Py_INCREF( const_str_plain_telnet );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 5, const_str_plain_wais ); Py_INCREF( const_str_plain_wais );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 6, const_str_plain_imap ); Py_INCREF( const_str_plain_imap );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 7, const_str_plain_snews ); Py_INCREF( const_str_plain_snews );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 8, const_str_plain_sip ); Py_INCREF( const_str_plain_sip );
    PyList_SET_ITEM( const_list_186bcbbd871b45fddfde9227455627e3_list, 9, const_str_plain_sips ); Py_INCREF( const_str_plain_sips );
    const_tuple_str_digest_5480130700d117749534eeeb5a04c320_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_5480130700d117749534eeeb5a04c320_tuple, 0, const_str_digest_5480130700d117749534eeeb5a04c320 ); Py_INCREF( const_str_digest_5480130700d117749534eeeb5a04c320 );
    const_tuple_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_tuple, 0, const_str_empty ); Py_INCREF( const_str_empty );
    PyTuple_SET_ITEM( const_tuple_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_tuple, 1, const_str_digest_7b79a8950d64155a442741f6cc8c809b ); Py_INCREF( const_str_digest_7b79a8950d64155a442741f6cc8c809b );
    const_str_plain__passwdprog = UNSTREAM_STRING( &constant_bin[ 673704 ], 11, 1 );
    const_str_digest_70d5d62e0041b02fe9061d260293c248 = UNSTREAM_STRING( &constant_bin[ 673715 ], 41, 0 );
    const_tuple_str_empty_true_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_empty_true_tuple, 0, const_str_empty ); Py_INCREF( const_str_empty );
    PyTuple_SET_ITEM( const_tuple_str_empty_true_tuple, 1, Py_True ); Py_INCREF( Py_True );
    const_str_plain_wdelim = UNSTREAM_STRING( &constant_bin[ 673756 ], 6, 1 );
    const_str_digest_be9a71f7a9ffd4103744d40762d6d2b9 = UNSTREAM_STRING( &constant_bin[ 673762 ], 45, 0 );
    const_str_digest_99ba47baf0612f84772b66d3dc1851c4 = UNSTREAM_STRING( &constant_bin[ 673807 ], 1176, 0 );
    const_str_plain__queryprog = UNSTREAM_STRING( &constant_bin[ 674983 ], 10, 1 );
    const_tuple_str_digest_8a9693d3ccf6a786827e9ed7a876a1eb_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_8a9693d3ccf6a786827e9ed7a876a1eb_tuple, 0, const_str_digest_8a9693d3ccf6a786827e9ed7a876a1eb ); Py_INCREF( const_str_digest_8a9693d3ccf6a786827e9ed7a876a1eb );
    const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple = PyTuple_New( 7 );
    PyTuple_SET_ITEM( const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple, 0, const_str_plain_string ); Py_INCREF( const_str_plain_string );
    PyTuple_SET_ITEM( const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple, 1, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple, 2, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    PyTuple_SET_ITEM( const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple, 3, const_str_plain_bits ); Py_INCREF( const_str_plain_bits );
    PyTuple_SET_ITEM( const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple, 4, const_str_plain_res ); Py_INCREF( const_str_plain_res );
    PyTuple_SET_ITEM( const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple, 5, const_str_plain_append ); Py_INCREF( const_str_plain_append );
    PyTuple_SET_ITEM( const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple, 6, const_str_plain_i ); Py_INCREF( const_str_plain_i );
    const_str_digest_aa5317ebc1428348a6fb43234bed89ae = UNSTREAM_STRING( &constant_bin[ 674993 ], 49, 0 );
    const_tuple_str_plain_attr_str_plain_re_str_plain_match_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_attr_str_plain_re_str_plain_match_tuple, 0, const_str_plain_attr ); Py_INCREF( const_str_plain_attr );
    PyTuple_SET_ITEM( const_tuple_str_plain_attr_str_plain_re_str_plain_match_tuple, 1, const_str_plain_re ); Py_INCREF( const_str_plain_re );
    PyTuple_SET_ITEM( const_tuple_str_plain_attr_str_plain_re_str_plain_match_tuple, 2, const_str_plain_match ); Py_INCREF( const_str_plain_match );
    const_tuple_str_plain_url_str_plain_re_str_plain_match_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_re_str_plain_match_tuple, 0, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_re_str_plain_match_tuple, 1, const_str_plain_re ); Py_INCREF( const_str_plain_re );
    PyTuple_SET_ITEM( const_tuple_str_plain_url_str_plain_re_str_plain_match_tuple, 2, const_str_plain_match ); Py_INCREF( const_str_plain_match );
    const_tuple_str_digest_22d2f8343255209e3e900ed3c61c5680_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_22d2f8343255209e3e900ed3c61c5680_tuple, 0, const_str_digest_22d2f8343255209e3e900ed3c61c5680 ); Py_INCREF( const_str_digest_22d2f8343255209e3e900ed3c61c5680 );
    const_tuple_str_plain_host_str_plain_re_str_plain_match_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_host_str_plain_re_str_plain_match_tuple, 0, const_str_plain_host ); Py_INCREF( const_str_plain_host );
    PyTuple_SET_ITEM( const_tuple_str_plain_host_str_plain_re_str_plain_match_tuple, 1, const_str_plain_re ); Py_INCREF( const_str_plain_re );
    PyTuple_SET_ITEM( const_tuple_str_plain_host_str_plain_re_str_plain_match_tuple, 2, const_str_plain_match ); Py_INCREF( const_str_plain_match );
    const_tuple_str_digest_903969dd4bf5db14dba99dedf4477f2d_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_903969dd4bf5db14dba99dedf4477f2d_tuple, 0, const_str_digest_903969dd4bf5db14dba99dedf4477f2d ); Py_INCREF( const_str_digest_903969dd4bf5db14dba99dedf4477f2d );
    const_tuple_4fc0435f6499b4f5b005831a363c6519_tuple = PyTuple_New( 5 );
    PyTuple_SET_ITEM( const_tuple_4fc0435f6499b4f5b005831a363c6519_tuple, 0, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_4fc0435f6499b4f5b005831a363c6519_tuple, 1, const_str_plain_start ); Py_INCREF( const_str_plain_start );
    PyTuple_SET_ITEM( const_tuple_4fc0435f6499b4f5b005831a363c6519_tuple, 2, const_str_plain_delim ); Py_INCREF( const_str_plain_delim );
    PyTuple_SET_ITEM( const_tuple_4fc0435f6499b4f5b005831a363c6519_tuple, 3, const_str_plain_c ); Py_INCREF( const_str_plain_c );
    PyTuple_SET_ITEM( const_tuple_4fc0435f6499b4f5b005831a363c6519_tuple, 4, const_str_plain_wdelim ); Py_INCREF( const_str_plain_wdelim );
    const_str_plain_defport = UNSTREAM_STRING( &constant_bin[ 675042 ], 7, 1 );
    const_str_plain_have_info = UNSTREAM_STRING( &constant_bin[ 675049 ], 9, 1 );
    const_tuple_d52019a5231474de53a4969af2cca030_tuple = PyTuple_New( 8 );
    const_str_plain_components = UNSTREAM_STRING( &constant_bin[ 82212 ], 10, 1 );
    PyTuple_SET_ITEM( const_tuple_d52019a5231474de53a4969af2cca030_tuple, 0, const_str_plain_components ); Py_INCREF( const_str_plain_components );
    PyTuple_SET_ITEM( const_tuple_d52019a5231474de53a4969af2cca030_tuple, 1, const_str_plain_scheme ); Py_INCREF( const_str_plain_scheme );
    PyTuple_SET_ITEM( const_tuple_d52019a5231474de53a4969af2cca030_tuple, 2, const_str_plain_netloc ); Py_INCREF( const_str_plain_netloc );
    PyTuple_SET_ITEM( const_tuple_d52019a5231474de53a4969af2cca030_tuple, 3, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_d52019a5231474de53a4969af2cca030_tuple, 4, const_str_plain_params ); Py_INCREF( const_str_plain_params );
    PyTuple_SET_ITEM( const_tuple_d52019a5231474de53a4969af2cca030_tuple, 5, const_str_plain_query ); Py_INCREF( const_str_plain_query );
    PyTuple_SET_ITEM( const_tuple_d52019a5231474de53a4969af2cca030_tuple, 6, const_str_plain_fragment ); Py_INCREF( const_str_plain_fragment );
    PyTuple_SET_ITEM( const_tuple_d52019a5231474de53a4969af2cca030_tuple, 7, const_str_plain__coerce_result ); Py_INCREF( const_str_plain__coerce_result );
    const_tuple_091e95df5670964e65bf03f00fd06b79_tuple = PyTuple_New( 8 );
    PyTuple_SET_ITEM( const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 1, const_str_plain_netloc ); Py_INCREF( const_str_plain_netloc );
    PyTuple_SET_ITEM( const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 2, const_str_plain_userinfo ); Py_INCREF( const_str_plain_userinfo );
    PyTuple_SET_ITEM( const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 3, const_str_plain_have_info ); Py_INCREF( const_str_plain_have_info );
    PyTuple_SET_ITEM( const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 4, const_str_plain_hostinfo ); Py_INCREF( const_str_plain_hostinfo );
    PyTuple_SET_ITEM( const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 5, const_str_plain_username ); Py_INCREF( const_str_plain_username );
    const_str_plain_have_password = UNSTREAM_STRING( &constant_bin[ 675058 ], 13, 1 );
    PyTuple_SET_ITEM( const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 6, const_str_plain_have_password ); Py_INCREF( const_str_plain_have_password );
    PyTuple_SET_ITEM( const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 7, const_str_plain_password ); Py_INCREF( const_str_plain_password );
    const_str_digest_1e405175b65f4a94ac46c34bd63daf37 = UNSTREAM_STRING( &constant_bin[ 675071 ], 27, 0 );
    const_str_plain_scheme_chars = UNSTREAM_STRING( &constant_bin[ 675098 ], 12, 1 );
    const_str_digest_b8fe789823f5234303222ed71d939240 = UNSTREAM_STRING( &constant_bin[ 675110 ], 97, 0 );
    const_tuple_str_digest_f574a384606468fc7321e27f4e169e89_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_str_digest_f574a384606468fc7321e27f4e169e89_tuple, 0, const_str_digest_f574a384606468fc7321e27f4e169e89 ); Py_INCREF( const_str_digest_f574a384606468fc7321e27f4e169e89 );
    const_str_plain_str_input = UNSTREAM_STRING( &constant_bin[ 675207 ], 9, 1 );
    const_str_digest_04e03b02e6b25eb7454639295bd2e9b7 = UNSTREAM_STRING( &constant_bin[ 675216 ], 191, 0 );
    const_str_digest_640f46343ff3f25798bdad1e2191665e = UNSTREAM_STRING( &constant_bin[ 675407 ], 42, 0 );
    const_str_plain__parse_cache = UNSTREAM_STRING( &constant_bin[ 675449 ], 12, 1 );
    const_str_digest_ef317feaac625b212338ac8e5bc96b33 = UNSTREAM_STRING( &constant_bin[ 675461 ], 65, 0 );
    const_tuple_2e396b88862b94731915507275f068df_tuple = PyTuple_New( 19 );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 0, const_str_plain_base ); Py_INCREF( const_str_plain_base );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 1, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 2, const_str_plain_allow_fragments ); Py_INCREF( const_str_plain_allow_fragments );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 3, const_str_plain__coerce_result ); Py_INCREF( const_str_plain__coerce_result );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 4, const_str_plain_bscheme ); Py_INCREF( const_str_plain_bscheme );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 5, const_str_plain_bnetloc ); Py_INCREF( const_str_plain_bnetloc );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 6, const_str_plain_bpath ); Py_INCREF( const_str_plain_bpath );
    const_str_plain_bparams = UNSTREAM_STRING( &constant_bin[ 675526 ], 7, 1 );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 7, const_str_plain_bparams ); Py_INCREF( const_str_plain_bparams );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 8, const_str_plain_bquery ); Py_INCREF( const_str_plain_bquery );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 9, const_str_plain_bfragment ); Py_INCREF( const_str_plain_bfragment );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 10, const_str_plain_scheme ); Py_INCREF( const_str_plain_scheme );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 11, const_str_plain_netloc ); Py_INCREF( const_str_plain_netloc );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 12, const_str_plain_path ); Py_INCREF( const_str_plain_path );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 13, const_str_plain_params ); Py_INCREF( const_str_plain_params );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 14, const_str_plain_query ); Py_INCREF( const_str_plain_query );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 15, const_str_plain_fragment ); Py_INCREF( const_str_plain_fragment );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 16, const_str_plain_segments ); Py_INCREF( const_str_plain_segments );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 17, const_str_plain_i ); Py_INCREF( const_str_plain_i );
    PyTuple_SET_ITEM( const_tuple_2e396b88862b94731915507275f068df_tuple, 18, const_str_plain_n ); Py_INCREF( const_str_plain_n );
    const_str_plain__coerce_args = UNSTREAM_STRING( &constant_bin[ 675533 ], 12, 1 );
    const_tuple_str_plain_s1_str_plain_s2_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_s1_str_plain_s2_tuple, 0, const_str_plain_s1 ); Py_INCREF( const_str_plain_s1 );
    PyTuple_SET_ITEM( const_tuple_str_plain_s1_str_plain_s2_tuple, 1, const_str_plain_s2 ); Py_INCREF( const_str_plain_s2 );
    const_str_digest_07e5e196892ff8ed79fa8403f681ed2c = UNSTREAM_STRING( &constant_bin[ 675545 ], 18, 0 );
    const_str_plain__userprog = UNSTREAM_STRING( &constant_bin[ 675563 ], 9, 1 );
    const_tuple_bytes_chr_37_tuple = PyTuple_New( 1 );
    PyTuple_SET_ITEM( const_tuple_bytes_chr_37_tuple, 0, const_bytes_chr_37 ); Py_INCREF( const_bytes_chr_37 );
    const_str_digest_6ce1a22e5764902c0f4a93042f846422 = UNSTREAM_STRING( &constant_bin[ 670326 ], 22, 0 );
    const_tuple_str_plain_self_str_plain_safe_tuple = PyTuple_New( 2 );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_safe_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
    PyTuple_SET_ITEM( const_tuple_str_plain_self_str_plain_safe_tuple, 1, const_str_plain_safe ); Py_INCREF( const_str_plain_safe );
    const_tuple_668036950ce9559d8db0a5e54829d755_tuple = PyTuple_New( 5 );
    PyTuple_SET_ITEM( const_tuple_668036950ce9559d8db0a5e54829d755_tuple, 0, const_str_plain_string ); Py_INCREF( const_str_plain_string );
    PyTuple_SET_ITEM( const_tuple_668036950ce9559d8db0a5e54829d755_tuple, 1, const_str_plain_bits ); Py_INCREF( const_str_plain_bits );
    PyTuple_SET_ITEM( const_tuple_668036950ce9559d8db0a5e54829d755_tuple, 2, const_str_plain_res ); Py_INCREF( const_str_plain_res );
    PyTuple_SET_ITEM( const_tuple_668036950ce9559d8db0a5e54829d755_tuple, 3, const_str_plain_append ); Py_INCREF( const_str_plain_append );
    PyTuple_SET_ITEM( const_tuple_668036950ce9559d8db0a5e54829d755_tuple, 4, const_str_plain_item ); Py_INCREF( const_str_plain_item );
    const_str_plain__NetlocResultMixinBytes = UNSTREAM_STRING( &constant_bin[ 669196 ], 23, 1 );
    const_str_digest_b4592792efe33734d5b7f11e6e151a1d = UNSTREAM_STRING( &constant_bin[ 675572 ], 406, 0 );
    const_str_digest_4cf2fcf9bb29a1a54f61f0829e72d105 = UNSTREAM_STRING( &constant_bin[ 675978 ], 5, 0 );
    const_str_digest_28a301ed28ed793237fe9615fa3776b4 = UNSTREAM_STRING( &constant_bin[ 675983 ], 15, 0 );
    const_str_plain__encode_result = UNSTREAM_STRING( &constant_bin[ 675998 ], 14, 1 );
    const_str_digest_ba6a10009168387da5e2ac08d95fe90d = UNSTREAM_STRING( &constant_bin[ 676012 ], 31, 0 );
    const_str_plain_MAX_CACHE_SIZE = UNSTREAM_STRING( &constant_bin[ 676043 ], 14, 1 );
    const_tuple_str_plain_args_str_plain_str_input_str_plain_arg_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_plain_args_str_plain_str_input_str_plain_arg_tuple, 0, const_str_plain_args ); Py_INCREF( const_str_plain_args );
    PyTuple_SET_ITEM( const_tuple_str_plain_args_str_plain_str_input_str_plain_arg_tuple, 1, const_str_plain_str_input ); Py_INCREF( const_str_plain_str_input );
    PyTuple_SET_ITEM( const_tuple_str_plain_args_str_plain_str_input_str_plain_arg_tuple, 2, const_str_plain_arg ); Py_INCREF( const_str_plain_arg );
    const_str_digest_950d787e2e9701ff859dbdf73b73a83b = UNSTREAM_STRING( &constant_bin[ 676057 ], 219, 0 );
    const_str_digest_09d6e9192854652064415e2905201515 = UNSTREAM_STRING( &constant_bin[ 676276 ], 15, 0 );
    const_tuple_a259452def452f8724c9e46ce31d9d45_tuple = PyTuple_New( 4 );
    PyTuple_SET_ITEM( const_tuple_a259452def452f8724c9e46ce31d9d45_tuple, 0, const_str_digest_b9c4baf879ebd882d40843df3a4dead7 ); Py_INCREF( const_str_digest_b9c4baf879ebd882d40843df3a4dead7 );
    PyTuple_SET_ITEM( const_tuple_a259452def452f8724c9e46ce31d9d45_tuple, 1, const_str_plain_x ); Py_INCREF( const_str_plain_x );
    PyTuple_SET_ITEM( const_tuple_a259452def452f8724c9e46ce31d9d45_tuple, 2, const_str_plain_encoding ); Py_INCREF( const_str_plain_encoding );
    PyTuple_SET_ITEM( const_tuple_a259452def452f8724c9e46ce31d9d45_tuple, 3, const_str_plain_errors ); Py_INCREF( const_str_plain_errors );
    const_str_plain__hexdig = UNSTREAM_STRING( &constant_bin[ 676291 ], 7, 1 );
    const_str_plain__ParseResultBase = UNSTREAM_STRING( &constant_bin[ 676298 ], 16, 1 );
    const_str_plain__decoded_counterpart = UNSTREAM_STRING( &constant_bin[ 676314 ], 20, 1 );
    const_str_plain_nport = UNSTREAM_STRING( &constant_bin[ 668146 ], 5, 1 );
    const_str_digest_951f1dbeeb95dc65291d58d1503576cf = UNSTREAM_STRING( &constant_bin[ 676334 ], 47, 0 );
    const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple = PyTuple_New( 7 );
    PyTuple_SET_ITEM( const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple, 0, const_str_plain_components ); Py_INCREF( const_str_plain_components );
    PyTuple_SET_ITEM( const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple, 1, const_str_plain_scheme ); Py_INCREF( const_str_plain_scheme );
    PyTuple_SET_ITEM( const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple, 2, const_str_plain_netloc ); Py_INCREF( const_str_plain_netloc );
    PyTuple_SET_ITEM( const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple, 3, const_str_plain_url ); Py_INCREF( const_str_plain_url );
    PyTuple_SET_ITEM( const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple, 4, const_str_plain_query ); Py_INCREF( const_str_plain_query );
    PyTuple_SET_ITEM( const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple, 5, const_str_plain_fragment ); Py_INCREF( const_str_plain_fragment );
    PyTuple_SET_ITEM( const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple, 6, const_str_plain__coerce_result ); Py_INCREF( const_str_plain__coerce_result );
    const_tuple_163dfd4972e04675876ef43eec7cf900_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_163dfd4972e04675876ef43eec7cf900_tuple, 0, const_str_digest_b9c4baf879ebd882d40843df3a4dead7 ); Py_INCREF( const_str_digest_b9c4baf879ebd882d40843df3a4dead7 );
    PyTuple_SET_ITEM( const_tuple_163dfd4972e04675876ef43eec7cf900_tuple, 1, const_str_plain_a ); Py_INCREF( const_str_plain_a );
    PyTuple_SET_ITEM( const_tuple_163dfd4972e04675876ef43eec7cf900_tuple, 2, const_str_plain_b ); Py_INCREF( const_str_plain_b );
    const_str_digest_f8facd9881d831f46ab07373cda5bf0c = UNSTREAM_STRING( &constant_bin[ 676381 ], 31, 0 );
    const_tuple_str_chr_47_none_none_tuple = PyTuple_New( 3 );
    PyTuple_SET_ITEM( const_tuple_str_chr_47_none_none_tuple, 0, const_str_chr_47 ); Py_INCREF( const_str_chr_47 );
    PyTuple_SET_ITEM( const_tuple_str_chr_47_none_none_tuple, 1, Py_None ); Py_INCREF( Py_None );
    PyTuple_SET_ITEM( const_tuple_str_chr_47_none_none_tuple, 2, Py_None ); Py_INCREF( Py_None );
    const_str_digest_62ad0ec5e6fe61326d52f53e0066ceac = UNSTREAM_STRING( &constant_bin[ 676412 ], 44, 0 );
    const_tuple_b8e60a81ac6fe0b318713961aa39e8a6_tuple = PyTuple_New( 6 );
    PyTuple_SET_ITEM( const_tuple_b8e60a81ac6fe0b318713961aa39e8a6_tuple, 0, const_str_plain_host ); Py_INCREF( const_str_plain_host );
    PyTuple_SET_ITEM( const_tuple_b8e60a81ac6fe0b318713961aa39e8a6_tuple, 1, const_str_plain_defport ); Py_INCREF( const_str_plain_defport );
    PyTuple_SET_ITEM( const_tuple_b8e60a81ac6fe0b318713961aa39e8a6_tuple, 2, const_str_plain_re ); Py_INCREF( const_str_plain_re );
    PyTuple_SET_ITEM( const_tuple_b8e60a81ac6fe0b318713961aa39e8a6_tuple, 3, const_str_plain_match ); Py_INCREF( const_str_plain_match );
    PyTuple_SET_ITEM( const_tuple_b8e60a81ac6fe0b318713961aa39e8a6_tuple, 4, const_str_plain_port ); Py_INCREF( const_str_plain_port );
    PyTuple_SET_ITEM( const_tuple_b8e60a81ac6fe0b318713961aa39e8a6_tuple, 5, const_str_plain_nport ); Py_INCREF( const_str_plain_nport );
    const_str_digest_2d58a878228c4b51ab782d7a3369fdbf = UNSTREAM_STRING( &constant_bin[ 676456 ], 27, 0 );
    const_bytes_chr_35 = UNSTREAM_BYTES( &constant_bin[ 1661 ], 1 );
    const_str_digest_9508f3e703e8394455520d2d3ee0d929 = UNSTREAM_STRING( &constant_bin[ 676483 ], 24, 0 );
    const_str_digest_ef7f677f59b0bb709df5ec381ebdb5a7 = UNSTREAM_STRING( &constant_bin[ 676507 ], 827, 0 );
    const_str_digest_98c822c6903c9d93fbcb1f05d0f9dfd3 = UNSTREAM_STRING( &constant_bin[ 672873 ], 4, 0 );

    constants_created = true;
}

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


}
#endif

// The module code objects.
static PyCodeObject *codeobj_6a9367ed386682a6708f551b89283ef1;
static PyCodeObject *codeobj_ed2bef2d4a94d97a23798a6fdeb6b965;
static PyCodeObject *codeobj_2688c21dc7e32ff11acf32a09bc57807;
static PyCodeObject *codeobj_c502e627be543e9e94daefc4e9bf4ebf;
static PyCodeObject *codeobj_1bae762c4ea19702babc66206fd46124;
static PyCodeObject *codeobj_a0706c194d416ae2d6ba11baf585df08;
static PyCodeObject *codeobj_17674188a0c27dbeb4019a739c5dd2b5;
static PyCodeObject *codeobj_dc31457802946034b1f8dff96ab19ee2;
static PyCodeObject *codeobj_367e7caedae035d5f16ffd96c774c021;
static PyCodeObject *codeobj_b549d7688e5286f2f6870b1b73724628;
static PyCodeObject *codeobj_22081b9dbaa836a647c4a5f1600688c6;
static PyCodeObject *codeobj_348fc635043232f41206f382bbf63be6;
static PyCodeObject *codeobj_0901bd5e9c6ec2d01ecbc4dad0c97e0c;
static PyCodeObject *codeobj_e13d756523c35039bbcb5d52726b1b2b;
static PyCodeObject *codeobj_07c8a013b364d5ba5abe416fa84511fb;
static PyCodeObject *codeobj_fbf270c3276f877dbeac3dd7dc91244e;
static PyCodeObject *codeobj_4dfd38f40fb8e9622f537de8902006d7;
static PyCodeObject *codeobj_829cff24277b40c2759c38725bb30528;
static PyCodeObject *codeobj_0c9939eedb0b40833f68a028fd001e05;
static PyCodeObject *codeobj_c1b89e18e321b038c2008c615cf1700b;
static PyCodeObject *codeobj_9aff4e22acecdfdf2f0625731b58d051;
static PyCodeObject *codeobj_8e01e71c862c6aab030adbbca04d262c;
static PyCodeObject *codeobj_db6d302f521bfbd82f0b4c282b95b026;
static PyCodeObject *codeobj_36db0d0b94411c71d0b757b6664c5295;
static PyCodeObject *codeobj_145f7f811710cc7400002fef35c77859;
static PyCodeObject *codeobj_a8eb172d4da6f44526362500c4ac1198;
static PyCodeObject *codeobj_f4cbcf8c09203f15f2f8834f59d4010f;
static PyCodeObject *codeobj_d83f066f1112eeff7a691be9592bccb2;
static PyCodeObject *codeobj_417197ec9313cb8eba660fdb3e8a9ecd;
static PyCodeObject *codeobj_e5427126ae1db89d820cc6b7bbd57717;
static PyCodeObject *codeobj_a2b3f0f881469d2496180d7f1bf7891d;
static PyCodeObject *codeobj_a6c780f74de0c967e1bd9a05729d3e5b;
static PyCodeObject *codeobj_199e954c15a38d6cb686e91d1a84e0d3;
static PyCodeObject *codeobj_fadd9898960293c1d6840f06c754b606;
static PyCodeObject *codeobj_0fff58ee7a70dc792084b7ba32f07a33;
static PyCodeObject *codeobj_c38782bf8ba37db595ef5e64e72745ca;
static PyCodeObject *codeobj_b605ac7adabec74078dcc137ae4e3afd;
static PyCodeObject *codeobj_fccb0b31cc124d59e671245d09b8700c;
static PyCodeObject *codeobj_123030ca56408f5664661be682519427;
static PyCodeObject *codeobj_8883926a5fa7484d3eeb9e904e61a4d9;
static PyCodeObject *codeobj_a4872d4c676c0b83ac50e7b4a64a5d14;
static PyCodeObject *codeobj_9379e3d0ff977e6edcc4d7b2e319a0ae;
static PyCodeObject *codeobj_25b2dcf932c576a2e0fb637e65287353;
static PyCodeObject *codeobj_a3cf325bbde3224739f65fffde7401ba;
static PyCodeObject *codeobj_40c4baa64aefe93609266ac3b362258e;
static PyCodeObject *codeobj_4f49cbb57956442cba6ebbf06e0ba6e4;
static PyCodeObject *codeobj_8c092edf2bc76c311880da8d86fa6e58;
static PyCodeObject *codeobj_23b36a147cbaf372253b5abb704d3600;
static PyCodeObject *codeobj_46c6b8eac342ff9c312c530e56416ec5;
static PyCodeObject *codeobj_47bcfe8219298cd65e3e105e78f6526d;
static PyCodeObject *codeobj_bccb504ae865d93f37303a9a57dcc76b;
static PyCodeObject *codeobj_505c1eea6a524bedc8de80e976f6ebc5;
static PyCodeObject *codeobj_dc264f7567852bffa26f29fa47f5feda;
static PyCodeObject *codeobj_90328eb2c9d002cccee2917ba03327fc;
static PyCodeObject *codeobj_5289a682bab2892fa4bfbdeaf21f228d;
static PyCodeObject *codeobj_00471807d23c1cb277740fe89a78f1f5;
static PyCodeObject *codeobj_edda32998bbdd6261f726e518508ba35;
static PyCodeObject *codeobj_055d33f5f1622f0608aae613e1303c11;
static PyCodeObject *codeobj_4cb29bbdf6c6afcfe234f749048d7b4f;
static PyCodeObject *codeobj_5c3db70a74aff5e3a9381e13bc1edca2;
static PyCodeObject *codeobj_4809e65c6b1f2dd719e78f95717e4c57;
static PyCodeObject *codeobj_db833e10fb9c757488da88982cc43d7f;
static PyCodeObject *codeobj_cbc4cda28e09b06dba066041efd8ae69;
static PyCodeObject *codeobj_e9812c604191d5b369a67a88dd1e443d;
static PyCodeObject *codeobj_c53e05a47f20919b01f66c1ba050b7f7;
static PyCodeObject *codeobj_6378640236d221be9452e665d44d0e87;
static PyCodeObject *codeobj_017363f7d39b927eaf06a3d77feca5a3;
static PyCodeObject *codeobj_e4845cf12591f3227ddb2c9b66f24306;
static PyCodeObject *codeobj_a1976b580ff3753fd9edd7e5b4d9b43a;
static PyCodeObject *codeobj_a564be7304e1d0f1acde9b74ae3367c9;
static PyCodeObject *codeobj_a34b882b4f38a88008b02757bf46fc7d;
static PyCodeObject *codeobj_8dc6ac7b62d07d5b5cde8d34abc8acbb;
static PyCodeObject *codeobj_cd6227ac6e02b1d1ee64b62e0f27c881;
static PyCodeObject *codeobj_392256bd5bfc7e7f9068937754cedbc4;
static PyCodeObject *codeobj_a56a5dbf0b684f71116b19002878502e;

static void createModuleCodeObjects(void)
{
    module_filename_obj = const_str_digest_88e40c89e076144b7d9eaeae9936fcd9;
    codeobj_6a9367ed386682a6708f551b89283ef1 = MAKE_CODEOBJ( module_filename_obj, const_str_angle_genexpr, 102, const_tuple_a259452def452f8724c9e46ce31d9d45_tuple, 1, 0, CO_GENERATOR | CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_ed2bef2d4a94d97a23798a6fdeb6b965 = MAKE_CODEOBJ( module_filename_obj, const_str_angle_genexpr, 126, const_tuple_a259452def452f8724c9e46ce31d9d45_tuple, 1, 0, CO_GENERATOR | CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_2688c21dc7e32ff11acf32a09bc57807 = MAKE_CODEOBJ( module_filename_obj, const_str_angle_genexpr, 134, const_tuple_a259452def452f8724c9e46ce31d9d45_tuple, 1, 0, CO_GENERATOR | CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_c502e627be543e9e94daefc4e9bf4ebf = MAKE_CODEOBJ( module_filename_obj, const_str_angle_genexpr, 364, const_tuple_str_digest_b9c4baf879ebd882d40843df3a4dead7_str_plain_c_tuple, 1, 0, CO_GENERATOR | CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_1bae762c4ea19702babc66206fd46124 = MAKE_CODEOBJ( module_filename_obj, const_str_angle_genexpr, 481, const_tuple_163dfd4972e04675876ef43eec7cf900_tuple, 1, 0, CO_GENERATOR | CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a0706c194d416ae2d6ba11baf585df08 = MAKE_CODEOBJ( module_filename_obj, const_str_angle_listcomp, 596, const_tuple_str_plain_s1_str_plain_s2_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_17674188a0c27dbeb4019a739c5dd2b5 = MAKE_CODEOBJ( module_filename_obj, const_str_angle_listcomp, 738, const_tuple_str_plain_c_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_dc31457802946034b1f8dff96ab19ee2 = MAKE_CODEOBJ( module_filename_obj, const_str_angle_listcomp, 745, const_tuple_str_plain_char_str_plain_quoter_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_367e7caedae035d5f16ffd96c774c021 = MAKE_CODEOBJ( module_filename_obj, const_str_digest_fe659d716fddd9b3a2b0b730ef917cab, 1, const_tuple_empty, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_b549d7688e5286f2f6870b1b73724628 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_DefragResult, 241, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_22081b9dbaa836a647c4a5f1600688c6 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_DefragResultBytes, 260, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_348fc635043232f41206f382bbf63be6 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_ParseResult, 254, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_0901bd5e9c6ec2d01ecbc4dad0c97e0c = MAKE_CODEOBJ( module_filename_obj, const_str_plain_ParseResultBytes, 273, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_e13d756523c35039bbcb5d52726b1b2b = MAKE_CODEOBJ( module_filename_obj, const_str_plain_Quoter, 636, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_07c8a013b364d5ba5abe416fa84511fb = MAKE_CODEOBJ( module_filename_obj, const_str_plain_SplitResult, 249, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_fbf270c3276f877dbeac3dd7dc91244e = MAKE_CODEOBJ( module_filename_obj, const_str_plain_SplitResultBytes, 268, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_4dfd38f40fb8e9622f537de8902006d7 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__NetlocResultMixinBase, 137, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_829cff24277b40c2759c38725bb30528 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__NetlocResultMixinBytes, 199, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_0c9939eedb0b40833f68a028fd001e05 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__NetlocResultMixinStr, 169, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_c1b89e18e321b038c2008c615cf1700b = MAKE_CODEOBJ( module_filename_obj, const_str_plain__ResultMixinBytes, 129, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_9aff4e22acecdfdf2f0625731b58d051 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__ResultMixinStr, 121, const_tuple_str_plain___class___tuple, 0, 0, CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_8e01e71c862c6aab030adbbca04d262c = MAKE_CODEOBJ( module_filename_obj, const_str_plain___init__, 644, const_tuple_str_plain_self_str_plain_safe_tuple, 2, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_db6d302f521bfbd82f0b4c282b95b026 = MAKE_CODEOBJ( module_filename_obj, const_str_plain___missing__, 652, const_tuple_str_plain_self_str_plain_b_str_plain_res_tuple, 2, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_36db0d0b94411c71d0b757b6664c5295 = MAKE_CODEOBJ( module_filename_obj, const_str_plain___repr__, 648, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_145f7f811710cc7400002fef35c77859 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__coerce_args, 104, const_tuple_str_plain_args_str_plain_str_input_str_plain_arg_tuple, 0, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_VARARGS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a8eb172d4da6f44526362500c4ac1198 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__decode_args, 100, const_tuple_str_plain_args_str_plain_encoding_str_plain_errors_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_f4cbcf8c09203f15f2f8834f59d4010f = MAKE_CODEOBJ( module_filename_obj, const_str_plain__encode_result, 96, const_tuple_str_plain_obj_str_plain_encoding_str_plain_errors_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_d83f066f1112eeff7a691be9592bccb2 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__fix_result_transcoding, 279, const_tuple_8a4254f208e6294ef3353a9c4a104c38_tuple, 0, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_417197ec9313cb8eba660fdb3e8a9ecd = MAKE_CODEOBJ( module_filename_obj, const_str_plain__hostinfo, 184, const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_e5427126ae1db89d820cc6b7bbd57717 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__hostinfo, 214, const_tuple_6ed24f43909ca0465fbc866535feff81_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a2b3f0f881469d2496180d7f1bf7891d = MAKE_CODEOBJ( module_filename_obj, const_str_plain__noop, 93, const_tuple_str_plain_obj_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a6c780f74de0c967e1bd9a05729d3e5b = MAKE_CODEOBJ( module_filename_obj, const_str_plain__splitnetloc, 317, const_tuple_4fc0435f6499b4f5b005831a363c6519_tuple, 2, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_199e954c15a38d6cb686e91d1a84e0d3 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__splitparams, 308, const_tuple_str_plain_url_str_plain_i_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_fadd9898960293c1d6840f06c754b606 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__userinfo, 172, const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_0fff58ee7a70dc792084b7ba32f07a33 = MAKE_CODEOBJ( module_filename_obj, const_str_plain__userinfo, 202, const_tuple_091e95df5670964e65bf03f00fd06b79_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_c38782bf8ba37db595ef5e64e72745ca = MAKE_CODEOBJ( module_filename_obj, const_str_plain_clear_cache, 78, const_tuple_empty, 0, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_b605ac7adabec74078dcc137ae4e3afd = MAKE_CODEOBJ( module_filename_obj, const_str_plain_decode, 133, const_tuple_str_plain_self_str_plain_encoding_str_plain_errors_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_fccb0b31cc124d59e671245d09b8700c = MAKE_CODEOBJ( module_filename_obj, const_str_plain_encode, 125, const_tuple_str_plain_self_str_plain_encoding_str_plain_errors_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_123030ca56408f5664661be682519427 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_geturl, 243, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_8883926a5fa7484d3eeb9e904e61a4d9 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_geturl, 251, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a4872d4c676c0b83ac50e7b4a64a5d14 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_geturl, 256, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_9379e3d0ff977e6edcc4d7b2e319a0ae = MAKE_CODEOBJ( module_filename_obj, const_str_plain_geturl, 262, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_25b2dcf932c576a2e0fb637e65287353 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_geturl, 270, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a3cf325bbde3224739f65fffde7401ba = MAKE_CODEOBJ( module_filename_obj, const_str_plain_geturl, 275, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_40c4baa64aefe93609266ac3b362258e = MAKE_CODEOBJ( module_filename_obj, const_str_plain_hostname, 149, const_tuple_str_plain_self_str_plain_hostname_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_4f49cbb57956442cba6ebbf06e0ba6e4 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_parse_qs, 540, const_tuple_cf6241d4e166b4a69de87ec6b99b855a_tuple, 5, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_8c092edf2bc76c311880da8d86fa6e58 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_parse_qsl, 572, const_tuple_9c451170f6b0852b231c9c41c89b48e0_tuple, 5, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_23b36a147cbaf372253b5abb704d3600 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_password, 145, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_46c6b8eac342ff9c312c530e56416ec5 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_port, 158, const_tuple_str_plain_self_str_plain_port_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_47bcfe8219298cd65e3e105e78f6526d = MAKE_CODEOBJ( module_filename_obj, const_str_plain_quote, 658, const_tuple_74f7927589480ce6b35f9d806274e904_tuple, 4, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_bccb504ae865d93f37303a9a57dcc76b = MAKE_CODEOBJ( module_filename_obj, const_str_plain_quote_from_bytes, 719, const_tuple_str_plain_bs_str_plain_safe_str_plain_quoter_tuple, 2, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_505c1eea6a524bedc8de80e976f6ebc5 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_quote_plus, 702, const_tuple_ff3293bb95907947efd16aea6e0d814d_tuple, 4, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_dc264f7567852bffa26f29fa47f5feda = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splitattr, 975, const_tuple_str_plain_url_str_plain_words_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_90328eb2c9d002cccee2917ba03327fc = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splithost, 876, const_tuple_5f9cc7a63962ab56004c7a25fe20f94f_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_5289a682bab2892fa4bfbdeaf21f228d = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splitnport, 930, const_tuple_b8e60a81ac6fe0b318713961aa39e8a6_tuple, 2, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_00471807d23c1cb277740fe89a78f1f5 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splitpasswd, 905, const_tuple_str_plain_user_str_plain_re_str_plain_match_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_edda32998bbdd6261f726e518508ba35 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splitport, 918, const_tuple_str_plain_host_str_plain_re_str_plain_match_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_055d33f5f1622f0608aae613e1303c11 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splitquery, 952, const_tuple_str_plain_url_str_plain_re_str_plain_match_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_4cb29bbdf6c6afcfe234f749048d7b4f = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splittag, 964, const_tuple_str_plain_url_str_plain_re_str_plain_match_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_5c3db70a74aff5e3a9381e13bc1edca2 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splittype, 862, const_tuple_str_plain_url_str_plain_re_str_plain_match_str_plain_scheme_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_4809e65c6b1f2dd719e78f95717e4c57 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splituser, 893, const_tuple_str_plain_host_str_plain_re_str_plain_match_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_db833e10fb9c757488da88982cc43d7f = MAKE_CODEOBJ( module_filename_obj, const_str_plain_splitvalue, 982, const_tuple_str_plain_attr_str_plain_re_str_plain_match_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_cbc4cda28e09b06dba066041efd8ae69 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_to_bytes, 840, const_tuple_str_plain_url_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_e9812c604191d5b369a67a88dd1e443d = MAKE_CODEOBJ( module_filename_obj, const_str_plain_unquote, 515, const_tuple_f65dadd2bdcf22e3e8605c5a1ff0c17c_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_c53e05a47f20919b01f66c1ba050b7f7 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_unquote_plus, 620, const_tuple_str_plain_string_str_plain_encoding_str_plain_errors_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_6378640236d221be9452e665d44d0e87 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_unquote_to_bytes, 484, const_tuple_668036950ce9559d8db0a5e54829d755_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_017363f7d39b927eaf06a3d77feca5a3 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_unwrap, 853, const_tuple_str_plain_url_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_e4845cf12591f3227ddb2c9b66f24306 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_urldefrag, 464, const_tuple_ed00bdff645e2ab43723f474456c21e9_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a1976b580ff3753fd9edd7e5b4d9b43a = MAKE_CODEOBJ( module_filename_obj, const_str_plain_urlencode, 747, const_tuple_0763402544c8e85137b5817eb3e2e4af_tuple, 5, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a564be7304e1d0f1acde9b74ae3367c9 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_urljoin, 411, const_tuple_2e396b88862b94731915507275f068df_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a34b882b4f38a88008b02757bf46fc7d = MAKE_CODEOBJ( module_filename_obj, const_str_plain_urlparse, 292, const_tuple_256a42f408884f0acce338519de1e442_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_8dc6ac7b62d07d5b5cde8d34abc8acbb = MAKE_CODEOBJ( module_filename_obj, const_str_plain_urlsplit, 325, const_tuple_5ea2c944c3269c801fb50d4d75ce6336_tuple, 3, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_cd6227ac6e02b1d1ee64b62e0f27c881 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_urlunparse, 381, const_tuple_d52019a5231474de53a4969af2cca030_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_392256bd5bfc7e7f9068937754cedbc4 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_urlunsplit, 392, const_tuple_7392c0b1549a149c3a22a9281a11f584_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
    codeobj_a56a5dbf0b684f71116b19002878502e = MAKE_CODEOBJ( module_filename_obj, const_str_plain_username, 141, const_tuple_str_plain_self_tuple, 1, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_UNICODE_LITERALS );
}

// The module function declarations.
static PyObject *future$backports$urllib$parse$$$function_4__decode_args$$$genexpr_1_genexpr_maker( void );


static PyObject *future$backports$urllib$parse$$$function_6_encode$$$genexpr_1_genexpr_maker( void );


static PyObject *future$backports$urllib$parse$$$function_7_decode$$$genexpr_1_genexpr_maker( void );


static PyObject *future$backports$urllib$parse$$$function_26_urlsplit$$$genexpr_1_genexpr_maker( void );


static PyObject *future$backports$urllib$parse$$$genexpr_1_genexpr_maker( void );


NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_1__mro_entries_conversion( PyObject **python_pars );


NUITKA_CROSS_MODULE PyObject *impl___internal__$$$function_2_complex_call_helper_star_list( PyObject **python_pars );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_10_hostname(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_11_port(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_12__userinfo(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_13__hostinfo(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_14__userinfo(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_15__hostinfo(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_16_geturl(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_17_geturl(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_18_geturl(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_19_geturl(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_1_clear_cache(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_20_geturl(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_21_geturl(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_22__fix_result_transcoding(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_23_urlparse( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_24__splitparams(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_25__splitnetloc( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_26_urlsplit( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_27_urlunparse(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_28_urlunsplit(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_29_urljoin( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_2__noop(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_30_urldefrag(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_31_unquote_to_bytes(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_32_unquote( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_33_parse_qs( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_34_parse_qsl( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_35_unquote_plus( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_36___init__(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_37___repr__(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_38___missing__(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_39_quote( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_3__encode_result( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_40_quote_plus( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_41_quote_from_bytes( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_42_urlencode( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_43_to_bytes(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_44_unwrap(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_45_splittype(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_46_splithost(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_47_splituser(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_48_splitpasswd(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_49_splitport(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_4__decode_args( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_50_splitnport( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_51_splitquery(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_52_splittag(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_53_splitattr(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_54_splitvalue(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_5__coerce_args(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_6_encode( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_7_decode( PyObject *defaults );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_8_username(  );


static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_9_password(  );


// The module function definitions.
static PyObject *impl_future$backports$urllib$parse$$$function_1_clear_cache( 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.
    struct Nuitka_FrameObject *frame_c38782bf8ba37db595ef5e64e72745ca;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    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_c38782bf8ba37db595ef5e64e72745ca = NULL;
    PyObject *tmp_return_value = NULL;

    // Actual function code.
    MAKE_OR_REUSE_FRAME( cache_frame_c38782bf8ba37db595ef5e64e72745ca, codeobj_c38782bf8ba37db595ef5e64e72745ca, module_future$backports$urllib$parse, 0 );
    frame_c38782bf8ba37db595ef5e64e72745ca = cache_frame_c38782bf8ba37db595ef5e64e72745ca;

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

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

    // Framed code:
    {
    PyObject *tmp_called_instance_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__parse_cache );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 80;

        goto frame_exception_exit_1;
    }

    tmp_called_instance_1 = tmp_mvar_value_1;
    frame_c38782bf8ba37db595ef5e64e72745ca->m_frame.f_lineno = 80;
    tmp_unused = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_clear );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 80;

        goto frame_exception_exit_1;
    }
    Py_DECREF( tmp_unused );
    }
    {
    PyObject *tmp_called_instance_2;
    PyObject *tmp_mvar_value_2;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__safe_quoters );

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

    if ( tmp_mvar_value_2 == NULL )
    {

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

        exception_lineno = 81;

        goto frame_exception_exit_1;
    }

    tmp_called_instance_2 = tmp_mvar_value_2;
    frame_c38782bf8ba37db595ef5e64e72745ca->m_frame.f_lineno = 81;
    tmp_unused = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain_clear );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 81;

        goto frame_exception_exit_1;
    }
    Py_DECREF( tmp_unused );
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_c38782bf8ba37db595ef5e64e72745ca );
#endif

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

    goto frame_no_exception_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_c38782bf8ba37db595ef5e64e72745ca );
#endif

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

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


    // Release cached frame.
    if ( frame_c38782bf8ba37db595ef5e64e72745ca == cache_frame_c38782bf8ba37db595ef5e64e72745ca )
    {
        Py_DECREF( frame_c38782bf8ba37db595ef5e64e72745ca );
    }
    cache_frame_c38782bf8ba37db595ef5e64e72745ca = NULL;

    assertFrameObject( frame_c38782bf8ba37db595ef5e64e72745ca );

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

    // Return the error.
    goto function_exception_exit;

    frame_no_exception_1:;
    {
    tmp_return_value = Py_None;
    Py_INCREF( tmp_return_value );
    goto function_return_exit;
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_1_clear_cache );
    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_future$backports$urllib$parse$$$function_2__noop( 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_obj = python_pars[ 0 ];
    PyObject *tmp_return_value = NULL;

    // Actual function code.
    {
    // Tried code:
    {
    CHECK_OBJECT( par_obj );
    tmp_return_value = par_obj;
    Py_INCREF( tmp_return_value );
    goto try_return_handler_1;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_2__noop );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    CHECK_OBJECT( (PyObject *)par_obj );
    Py_DECREF( par_obj );
    par_obj = NULL;

    }
    {
    goto function_return_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_2__noop );
    return NULL;

function_return_exit:

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

}


static PyObject *impl_future$backports$urllib$parse$$$function_3__encode_result( 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_obj = python_pars[ 0 ];
    PyObject *par_encoding = python_pars[ 1 ];
    PyObject *par_errors = python_pars[ 2 ];
    struct Nuitka_FrameObject *frame_f4cbcf8c09203f15f2f8834f59d4010f;
    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_f4cbcf8c09203f15f2f8834f59d4010f = 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_f4cbcf8c09203f15f2f8834f59d4010f, codeobj_f4cbcf8c09203f15f2f8834f59d4010f, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_f4cbcf8c09203f15f2f8834f59d4010f = cache_frame_f4cbcf8c09203f15f2f8834f59d4010f;

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

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

    // Framed code:
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    CHECK_OBJECT( par_obj );
    tmp_source_name_1 = par_obj;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_encode );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 98;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_encoding == 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", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 98;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_encoding;
    if ( par_errors == 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", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 98;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = par_errors;
    frame_f4cbcf8c09203f15f2f8834f59d4010f->m_frame.f_lineno = 98;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 98;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f4cbcf8c09203f15f2f8834f59d4010f );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_f4cbcf8c09203f15f2f8834f59d4010f );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_f4cbcf8c09203f15f2f8834f59d4010f,
        type_description_1,
        par_obj,
        par_encoding,
        par_errors
    );


    // Release cached frame.
    if ( frame_f4cbcf8c09203f15f2f8834f59d4010f == cache_frame_f4cbcf8c09203f15f2f8834f59d4010f )
    {
        Py_DECREF( frame_f4cbcf8c09203f15f2f8834f59d4010f );
    }
    cache_frame_f4cbcf8c09203f15f2f8834f59d4010f = NULL;

    assertFrameObject( frame_f4cbcf8c09203f15f2f8834f59d4010f );

    // 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( future$backports$urllib$parse$$$function_3__encode_result );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_obj );
    par_obj = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = 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_obj );
    par_obj = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = 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( future$backports$urllib$parse$$$function_3__encode_result );
    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_future$backports$urllib$parse$$$function_4__decode_args( 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_args = python_pars[ 0 ];
    struct Nuitka_CellObject *par_encoding = PyCell_NEW1( python_pars[ 1 ] );
    struct Nuitka_CellObject *par_errors = PyCell_NEW1( python_pars[ 2 ] );
    PyObject *tmp_genexpr_1__$0 = NULL;
    struct Nuitka_FrameObject *frame_a8eb172d4da6f44526362500c4ac1198;
    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_a8eb172d4da6f44526362500c4ac1198 = 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_a8eb172d4da6f44526362500c4ac1198, codeobj_a8eb172d4da6f44526362500c4ac1198, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_a8eb172d4da6f44526362500c4ac1198 = cache_frame_a8eb172d4da6f44526362500c4ac1198;

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

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

    // Framed code:
    {
    PyObject *tmp_tuple_arg_1;
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_1;
    CHECK_OBJECT( par_args );
    tmp_iter_arg_1 = par_args;
    tmp_assign_source_1 = MAKE_ITERATOR( tmp_iter_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 102;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }
    assert( tmp_genexpr_1__$0 == NULL );
    tmp_genexpr_1__$0 = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    tmp_tuple_arg_1 = future$backports$urllib$parse$$$function_4__decode_args$$$genexpr_1_genexpr_maker();

    ((struct Nuitka_GeneratorObject *)tmp_tuple_arg_1)->m_closure[0] = par_encoding;
    Py_INCREF( ((struct Nuitka_GeneratorObject *)tmp_tuple_arg_1)->m_closure[0] );
    ((struct Nuitka_GeneratorObject *)tmp_tuple_arg_1)->m_closure[1] = par_errors;
    Py_INCREF( ((struct Nuitka_GeneratorObject *)tmp_tuple_arg_1)->m_closure[1] );
    ((struct Nuitka_GeneratorObject *)tmp_tuple_arg_1)->m_closure[2] = PyCell_NEW0( tmp_genexpr_1__$0 );


    goto try_return_handler_2;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_4__decode_args );
    return NULL;
    // Return handler code:
    try_return_handler_2:;
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    {
    goto outline_result_1;
    }
    // End of try:
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_4__decode_args );
    return NULL;
    outline_result_1:;
    tmp_return_value = PySequence_Tuple( tmp_tuple_arg_1 );
    Py_DECREF( tmp_tuple_arg_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 102;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a8eb172d4da6f44526362500c4ac1198 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a8eb172d4da6f44526362500c4ac1198 );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_a8eb172d4da6f44526362500c4ac1198,
        type_description_1,
        par_args,
        par_encoding,
        par_errors
    );


    // Release cached frame.
    if ( frame_a8eb172d4da6f44526362500c4ac1198 == cache_frame_a8eb172d4da6f44526362500c4ac1198 )
    {
        Py_DECREF( frame_a8eb172d4da6f44526362500c4ac1198 );
    }
    cache_frame_a8eb172d4da6f44526362500c4ac1198 = NULL;

    assertFrameObject( frame_a8eb172d4da6f44526362500c4ac1198 );

    // 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( future$backports$urllib$parse$$$function_4__decode_args );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_args );
    par_args = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_encoding );
    Py_DECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_errors );
    Py_DECREF( par_errors );
    par_errors = 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_args );
    par_args = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_encoding );
    Py_DECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_errors );
    Py_DECREF( par_errors );
    par_errors = 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( future$backports$urllib$parse$$$function_4__decode_args );
    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;

}



struct future$backports$urllib$parse$$$function_4__decode_args$$$genexpr_1_genexpr_locals {
    PyObject *var_x;
    PyObject *tmp_iter_value_0;
    char const *type_description_1;
    PyObject *exception_type;
    PyObject *exception_value;
    PyTracebackObject *exception_tb;
    int exception_lineno;
    char yield_tmps[1024];
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    int exception_keeper_lineno_1;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    int exception_keeper_lineno_2;
};

static PyObject *future$backports$urllib$parse$$$function_4__decode_args$$$genexpr_1_genexpr_context( struct Nuitka_GeneratorObject *generator, PyObject *yield_return_value )
{
    CHECK_OBJECT( (PyObject *)generator );
    assert( Nuitka_Generator_Check( (PyObject *)generator ) );

    // Heap access if used.
    struct future$backports$urllib$parse$$$function_4__decode_args$$$genexpr_1_genexpr_locals *generator_heap = (struct future$backports$urllib$parse$$$function_4__decode_args$$$genexpr_1_genexpr_locals *)generator->m_heap_storage;

    // Dispatch to yield based on return label index:
    switch(generator->m_yield_return_index) {
    case 1: goto yield_return_1;
    }

    // Local variable initialization
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    static struct Nuitka_FrameObject *cache_m_frame = NULL;
    generator_heap->var_x = NULL;
    generator_heap->tmp_iter_value_0 = NULL;
    generator_heap->type_description_1 = NULL;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_m_frame, codeobj_6a9367ed386682a6708f551b89283ef1, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    generator->m_frame = cache_m_frame;

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

#if PYTHON_VERSION >= 340
    generator->m_frame->m_frame.f_gen = (PyObject *)generator;
#endif

    Py_CLEAR( generator->m_frame->m_frame.f_back );

    generator->m_frame->m_frame.f_back = PyThreadState_GET()->frame;
    Py_INCREF( generator->m_frame->m_frame.f_back );

    PyThreadState_GET()->frame = &generator->m_frame->m_frame;
    Py_INCREF( generator->m_frame );

    Nuitka_Frame_MarkAsExecuting( generator->m_frame );

#if PYTHON_VERSION >= 300
    // Accept currently existing exception as the one to publish again when we
    // yield or yield from.
    {
        PyThreadState *thread_state = PyThreadState_GET();

#if PYTHON_VERSION < 370
        generator->m_frame->m_frame.f_exc_type = EXC_TYPE( thread_state );
    if ( generator->m_frame->m_frame.f_exc_type == Py_None ) generator->m_frame->m_frame.f_exc_type = NULL;
        Py_XINCREF( generator->m_frame->m_frame.f_exc_type );
    generator->m_frame->m_frame.f_exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_value );
    generator->m_frame->m_frame.f_exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_traceback );
#else
        generator->m_exc_state.exc_type = EXC_TYPE( thread_state );
        if ( generator->m_exc_state.exc_type == Py_None ) generator->m_exc_state.exc_type = NULL;
        Py_XINCREF( generator->m_exc_state.exc_type );
        generator->m_exc_state.exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_value );
        generator->m_exc_state.exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_traceback );
#endif
    }

#endif

    // Framed code:
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_1;
    CHECK_OBJECT( PyCell_GET( generator->m_closure[2] ) );
    tmp_next_source_1 = PyCell_GET( generator->m_closure[2] );
    tmp_assign_source_1 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
            generator_heap->type_description_1 = "Nocc";
            generator_heap->exception_lineno = 102;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = generator_heap->tmp_iter_value_0;
        generator_heap->tmp_iter_value_0 = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_2;
    CHECK_OBJECT( generator_heap->tmp_iter_value_0 );
    tmp_assign_source_2 = generator_heap->tmp_iter_value_0;
    {
        PyObject *old = generator_heap->var_x;
        generator_heap->var_x = tmp_assign_source_2;
        Py_INCREF( generator_heap->var_x );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_expression_name_1;
    nuitka_bool tmp_condition_result_1;
    int tmp_truth_name_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    CHECK_OBJECT( generator_heap->var_x );
    tmp_truth_name_1 = CHECK_IF_TRUE( generator_heap->var_x );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 102;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    tmp_condition_result_1 = tmp_truth_name_1 == 1 ? 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( generator_heap->var_x );
    tmp_source_name_1 = generator_heap->var_x;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_decode );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 102;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    if ( PyCell_GET( generator->m_closure[0] ) == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        generator_heap->exception_type = PyExc_NameError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "free variable '%s' referenced before assignment in enclosing scope", "encoding" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 102;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }

    tmp_args_element_name_1 = PyCell_GET( generator->m_closure[0] );
    if ( PyCell_GET( generator->m_closure[1] ) == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        generator_heap->exception_type = PyExc_NameError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "free variable '%s' referenced before assignment in enclosing scope", "errors" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 102;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }

    tmp_args_element_name_2 = PyCell_GET( generator->m_closure[1] );
    generator->m_frame->m_frame.f_lineno = 102;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_expression_name_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_expression_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 102;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    goto condexpr_end_1;
    condexpr_false_1:;
    tmp_expression_name_1 = const_str_empty;
    Py_INCREF( tmp_expression_name_1 );
    condexpr_end_1:;
    Nuitka_PreserveHeap( generator_heap->yield_tmps, &tmp_condition_result_1, sizeof(nuitka_bool), &tmp_truth_name_1, sizeof(int), &tmp_called_name_1, sizeof(PyObject *), &tmp_source_name_1, sizeof(PyObject *), &tmp_args_element_name_1, sizeof(PyObject *), &tmp_args_element_name_2, sizeof(PyObject *), NULL );
    generator->m_yield_return_index = 1;
    return tmp_expression_name_1;
    yield_return_1:
    Nuitka_RestoreHeap( generator_heap->yield_tmps, &tmp_condition_result_1, sizeof(nuitka_bool), &tmp_truth_name_1, sizeof(int), &tmp_called_name_1, sizeof(PyObject *), &tmp_source_name_1, sizeof(PyObject *), &tmp_args_element_name_1, sizeof(PyObject *), &tmp_args_element_name_2, sizeof(PyObject *), NULL );
    if ( yield_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 102;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    tmp_unused = yield_return_value;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 102;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    generator_heap->exception_keeper_type_1 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_1 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_1 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_1 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

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

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_1:;
    }

    Nuitka_Frame_MarkAsNotExecuting( generator->m_frame );

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    // Allow re-use of the frame again.
    Py_DECREF( generator->m_frame );
    goto frame_no_exception_1;

    frame_exception_exit_1:;

    // If it's not an exit exception, consider and create a traceback for it.
    if ( !EXCEPTION_MATCH_GENERATOR( generator_heap->exception_type ) )
    {
        if ( generator_heap->exception_tb == NULL )
        {
            generator_heap->exception_tb = MAKE_TRACEBACK( generator->m_frame, generator_heap->exception_lineno );
        }
        else if ( generator_heap->exception_tb->tb_frame != &generator->m_frame->m_frame )
        {
            generator_heap->exception_tb = ADD_TRACEBACK( generator_heap->exception_tb, generator->m_frame, generator_heap->exception_lineno );
        }

        Nuitka_Frame_AttachLocals(
            (struct Nuitka_FrameObject *)generator->m_frame,
            generator_heap->type_description_1,
            NULL,
            generator_heap->var_x,
            generator->m_closure[0],
            generator->m_closure[1]
        );


        // Release cached frame.
        if ( generator->m_frame == cache_m_frame )
        {
            Py_DECREF( generator->m_frame );
        }
        cache_m_frame = NULL;

        assertFrameObject( generator->m_frame );
    }

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    Py_DECREF( generator->m_frame );

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    goto try_end_2;
    // Exception handler code:
    try_except_handler_1:;
    generator_heap->exception_keeper_type_2 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_2 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_2 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_2 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->var_x );
    generator_heap->var_x = NULL;

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

    goto function_exception_exit;
    }
    // End of try:
    try_end_2:;
    }
    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

    }
    {
    Py_XDECREF( generator_heap->var_x );
    generator_heap->var_x = NULL;

    }


    return NULL;

    function_exception_exit:
    assert( generator_heap->exception_type );
    RESTORE_ERROR_OCCURRED( generator_heap->exception_type, generator_heap->exception_value, generator_heap->exception_tb );

    return NULL;

}

static PyObject *future$backports$urllib$parse$$$function_4__decode_args$$$genexpr_1_genexpr_maker( void )
{
    return Nuitka_Generator_New(
        future$backports$urllib$parse$$$function_4__decode_args$$$genexpr_1_genexpr_context,
        module_future$backports$urllib$parse,
        const_str_angle_genexpr,
#if PYTHON_VERSION >= 350
        const_str_digest_ba6a10009168387da5e2ac08d95fe90d,
#endif
        codeobj_6a9367ed386682a6708f551b89283ef1,
        3,
        sizeof(struct future$backports$urllib$parse$$$function_4__decode_args$$$genexpr_1_genexpr_locals)
    );
}


static PyObject *impl_future$backports$urllib$parse$$$function_5__coerce_args( 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_args = python_pars[ 0 ];
    PyObject *var_str_input = NULL;
    PyObject *var_arg = NULL;
    PyObject *tmp_for_loop_1__for_iterator = NULL;
    PyObject *tmp_for_loop_1__iter_value = NULL;
    struct Nuitka_FrameObject *frame_145f7f811710cc7400002fef35c77859;
    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 *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_145f7f811710cc7400002fef35c77859 = NULL;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_145f7f811710cc7400002fef35c77859, codeobj_145f7f811710cc7400002fef35c77859, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_145f7f811710cc7400002fef35c77859 = cache_frame_145f7f811710cc7400002fef35c77859;

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

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

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_mvar_value_1;
    CHECK_OBJECT( par_args );
    tmp_subscribed_name_1 = par_args;
    tmp_subscript_name_1 = const_int_0;
    tmp_isinstance_inst_1 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 0 );
    if ( tmp_isinstance_inst_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 110;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

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

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

        exception_lineno = 110;
        type_description_1 = "ooo";
        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 );
    Py_DECREF( tmp_isinstance_inst_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 110;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_1 = ( tmp_res != 0 ) ? Py_True : Py_False;
    assert( var_str_input == NULL );
    Py_INCREF( tmp_assign_source_1 );
    var_str_input = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    if ( par_args == NULL )
    {

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

        exception_lineno = 111;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_args;
    tmp_subscript_name_2 = const_slice_int_pos_1_none_none;
    tmp_iter_arg_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    if ( tmp_iter_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 111;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_2 = MAKE_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 111;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_for_loop_1__for_iterator == NULL );
    tmp_for_loop_1__for_iterator = tmp_assign_source_2;

    }
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_3;
    CHECK_OBJECT( tmp_for_loop_1__for_iterator );
    tmp_next_source_1 = tmp_for_loop_1__for_iterator;
    tmp_assign_source_3 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "ooo";
            exception_lineno = 111;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = tmp_for_loop_1__iter_value;
        tmp_for_loop_1__iter_value = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_4;
    CHECK_OBJECT( tmp_for_loop_1__iter_value );
    tmp_assign_source_4 = tmp_for_loop_1__iter_value;
    {
        PyObject *old = var_arg;
        var_arg = tmp_assign_source_4;
        Py_INCREF( var_arg );
        Py_XDECREF( old );
    }

    }
    {
    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;
    int tmp_truth_name_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_isinstance_inst_2;
    PyObject *tmp_isinstance_cls_2;
    PyObject *tmp_mvar_value_2;
    CHECK_OBJECT( var_arg );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_arg );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 114;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    tmp_and_left_value_1 = tmp_truth_name_1 == 1 ? 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:;
    CHECK_OBJECT( var_arg );
    tmp_isinstance_inst_2 = var_arg;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

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

    if ( tmp_mvar_value_2 == NULL )
    {

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

        exception_lineno = 114;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }

    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 = 114;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    tmp_compexpr_left_1 = ( tmp_res != 0 ) ? Py_True : Py_False;
    if ( var_str_input == NULL )
    {

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

        exception_lineno = 114;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }

    tmp_compexpr_right_1 = var_str_input;
    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 = 114;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    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;
    tmp_make_exception_arg_1 = const_str_digest_ac80a991f09bbe1b326bd1f379b85613;
    frame_145f7f811710cc7400002fef35c77859->m_frame.f_lineno = 115;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
    }

    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 115;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooo";
    goto try_except_handler_2;
    }
    branch_no_1:;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 111;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    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( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = 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:;
    }
    {
    Py_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = NULL;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_2;
    if ( var_str_input == NULL )
    {

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

        exception_lineno = 116;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_truth_name_2 = CHECK_IF_TRUE( var_str_input );
    if ( tmp_truth_name_2 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 116;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_2 == 1 ? 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_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_mvar_value_3;
    if ( par_args == NULL )
    {

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

        exception_lineno = 117;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_left_name_1 = par_args;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__noop );

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

    if ( tmp_mvar_value_3 == NULL )
    {

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

        exception_lineno = 117;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = tmp_mvar_value_3;
    tmp_right_name_1 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
    tmp_return_value = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_right_name_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 117;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_left_name_2;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_right_name_2;
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_mvar_value_5;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__decode_args );

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

    if ( tmp_mvar_value_4 == NULL )
    {

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

        exception_lineno = 118;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_4;
    if ( par_args == NULL )
    {

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

        exception_lineno = 118;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_args;
    frame_145f7f811710cc7400002fef35c77859->m_frame.f_lineno = 118;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_left_name_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 118;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__encode_result );

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

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

        exception_lineno = 118;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = tmp_mvar_value_5;
    tmp_right_name_2 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_2 );
    tmp_return_value = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_2 );
    Py_DECREF( tmp_left_name_2 );
    Py_DECREF( tmp_right_name_2 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 118;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_145f7f811710cc7400002fef35c77859 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_145f7f811710cc7400002fef35c77859 );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_145f7f811710cc7400002fef35c77859,
        type_description_1,
        par_args,
        var_str_input,
        var_arg
    );


    // Release cached frame.
    if ( frame_145f7f811710cc7400002fef35c77859 == cache_frame_145f7f811710cc7400002fef35c77859 )
    {
        Py_DECREF( frame_145f7f811710cc7400002fef35c77859 );
    }
    cache_frame_145f7f811710cc7400002fef35c77859 = NULL;

    assertFrameObject( frame_145f7f811710cc7400002fef35c77859 );

    // 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( future$backports$urllib$parse$$$function_5__coerce_args );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_args );
    par_args = NULL;

    }
    {
    Py_XDECREF( var_str_input );
    var_str_input = NULL;

    }
    {
    Py_XDECREF( var_arg );
    var_arg = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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( par_args );
    par_args = NULL;

    }
    {
    Py_XDECREF( var_str_input );
    var_str_input = NULL;

    }
    {
    Py_XDECREF( var_arg );
    var_arg = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_5__coerce_args );
    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_future$backports$urllib$parse$$$function_6_encode( 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_CellObject *par_encoding = PyCell_NEW1( python_pars[ 1 ] );
    struct Nuitka_CellObject *par_errors = PyCell_NEW1( python_pars[ 2 ] );
    PyObject *tmp_genexpr_1__$0 = NULL;
    struct Nuitka_FrameObject *frame_fccb0b31cc124d59e671245d09b8700c;
    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_fccb0b31cc124d59e671245d09b8700c = 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_fccb0b31cc124d59e671245d09b8700c, codeobj_fccb0b31cc124d59e671245d09b8700c, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_fccb0b31cc124d59e671245d09b8700c = cache_frame_fccb0b31cc124d59e671245d09b8700c;

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

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

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

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


        exception_lineno = 126;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_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 = 126;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }

    tmp_iter_arg_1 = par_self;
    tmp_assign_source_1 = MAKE_ITERATOR( tmp_iter_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 126;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }
    assert( tmp_genexpr_1__$0 == NULL );
    tmp_genexpr_1__$0 = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    tmp_dircall_arg2_1 = future$backports$urllib$parse$$$function_6_encode$$$genexpr_1_genexpr_maker();

    ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[0] = par_encoding;
    Py_INCREF( ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[0] );
    ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[1] = par_errors;
    Py_INCREF( ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[1] );
    ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[2] = PyCell_NEW0( tmp_genexpr_1__$0 );


    goto try_return_handler_2;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_6_encode );
    return NULL;
    // Return handler code:
    try_return_handler_2:;
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    {
    goto outline_result_1;
    }
    // End of try:
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_6_encode );
    return NULL;
    outline_result_1:;

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_1, tmp_dircall_arg2_1};
        tmp_return_value = impl___internal__$$$function_2_complex_call_helper_star_list( dir_call_args );
    }
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 126;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_fccb0b31cc124d59e671245d09b8700c );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_fccb0b31cc124d59e671245d09b8700c );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_fccb0b31cc124d59e671245d09b8700c,
        type_description_1,
        par_self,
        par_encoding,
        par_errors
    );


    // Release cached frame.
    if ( frame_fccb0b31cc124d59e671245d09b8700c == cache_frame_fccb0b31cc124d59e671245d09b8700c )
    {
        Py_DECREF( frame_fccb0b31cc124d59e671245d09b8700c );
    }
    cache_frame_fccb0b31cc124d59e671245d09b8700c = NULL;

    assertFrameObject( frame_fccb0b31cc124d59e671245d09b8700c );

    // 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( future$backports$urllib$parse$$$function_6_encode );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_encoding );
    Py_DECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_errors );
    Py_DECREF( par_errors );
    par_errors = 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;

    }
    {
    CHECK_OBJECT( (PyObject *)par_encoding );
    Py_DECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_errors );
    Py_DECREF( par_errors );
    par_errors = 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( future$backports$urllib$parse$$$function_6_encode );
    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;

}



struct future$backports$urllib$parse$$$function_6_encode$$$genexpr_1_genexpr_locals {
    PyObject *var_x;
    PyObject *tmp_iter_value_0;
    char const *type_description_1;
    PyObject *exception_type;
    PyObject *exception_value;
    PyTracebackObject *exception_tb;
    int exception_lineno;
    char yield_tmps[1024];
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    int exception_keeper_lineno_1;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    int exception_keeper_lineno_2;
};

static PyObject *future$backports$urllib$parse$$$function_6_encode$$$genexpr_1_genexpr_context( struct Nuitka_GeneratorObject *generator, PyObject *yield_return_value )
{
    CHECK_OBJECT( (PyObject *)generator );
    assert( Nuitka_Generator_Check( (PyObject *)generator ) );

    // Heap access if used.
    struct future$backports$urllib$parse$$$function_6_encode$$$genexpr_1_genexpr_locals *generator_heap = (struct future$backports$urllib$parse$$$function_6_encode$$$genexpr_1_genexpr_locals *)generator->m_heap_storage;

    // Dispatch to yield based on return label index:
    switch(generator->m_yield_return_index) {
    case 1: goto yield_return_1;
    }

    // Local variable initialization
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    static struct Nuitka_FrameObject *cache_m_frame = NULL;
    generator_heap->var_x = NULL;
    generator_heap->tmp_iter_value_0 = NULL;
    generator_heap->type_description_1 = NULL;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_m_frame, codeobj_ed2bef2d4a94d97a23798a6fdeb6b965, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    generator->m_frame = cache_m_frame;

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

#if PYTHON_VERSION >= 340
    generator->m_frame->m_frame.f_gen = (PyObject *)generator;
#endif

    Py_CLEAR( generator->m_frame->m_frame.f_back );

    generator->m_frame->m_frame.f_back = PyThreadState_GET()->frame;
    Py_INCREF( generator->m_frame->m_frame.f_back );

    PyThreadState_GET()->frame = &generator->m_frame->m_frame;
    Py_INCREF( generator->m_frame );

    Nuitka_Frame_MarkAsExecuting( generator->m_frame );

#if PYTHON_VERSION >= 300
    // Accept currently existing exception as the one to publish again when we
    // yield or yield from.
    {
        PyThreadState *thread_state = PyThreadState_GET();

#if PYTHON_VERSION < 370
        generator->m_frame->m_frame.f_exc_type = EXC_TYPE( thread_state );
    if ( generator->m_frame->m_frame.f_exc_type == Py_None ) generator->m_frame->m_frame.f_exc_type = NULL;
        Py_XINCREF( generator->m_frame->m_frame.f_exc_type );
    generator->m_frame->m_frame.f_exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_value );
    generator->m_frame->m_frame.f_exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_traceback );
#else
        generator->m_exc_state.exc_type = EXC_TYPE( thread_state );
        if ( generator->m_exc_state.exc_type == Py_None ) generator->m_exc_state.exc_type = NULL;
        Py_XINCREF( generator->m_exc_state.exc_type );
        generator->m_exc_state.exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_value );
        generator->m_exc_state.exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_traceback );
#endif
    }

#endif

    // Framed code:
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_1;
    CHECK_OBJECT( PyCell_GET( generator->m_closure[2] ) );
    tmp_next_source_1 = PyCell_GET( generator->m_closure[2] );
    tmp_assign_source_1 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
            generator_heap->type_description_1 = "Nocc";
            generator_heap->exception_lineno = 126;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = generator_heap->tmp_iter_value_0;
        generator_heap->tmp_iter_value_0 = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_2;
    CHECK_OBJECT( generator_heap->tmp_iter_value_0 );
    tmp_assign_source_2 = generator_heap->tmp_iter_value_0;
    {
        PyObject *old = generator_heap->var_x;
        generator_heap->var_x = tmp_assign_source_2;
        Py_INCREF( generator_heap->var_x );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_expression_name_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    CHECK_OBJECT( generator_heap->var_x );
    tmp_source_name_1 = generator_heap->var_x;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_encode );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 126;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    if ( PyCell_GET( generator->m_closure[0] ) == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        generator_heap->exception_type = PyExc_NameError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "free variable '%s' referenced before assignment in enclosing scope", "encoding" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 126;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }

    tmp_args_element_name_1 = PyCell_GET( generator->m_closure[0] );
    if ( PyCell_GET( generator->m_closure[1] ) == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        generator_heap->exception_type = PyExc_NameError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "free variable '%s' referenced before assignment in enclosing scope", "errors" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 126;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }

    tmp_args_element_name_2 = PyCell_GET( generator->m_closure[1] );
    generator->m_frame->m_frame.f_lineno = 126;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_expression_name_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_expression_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 126;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    Nuitka_PreserveHeap( generator_heap->yield_tmps, &tmp_called_name_1, sizeof(PyObject *), &tmp_source_name_1, sizeof(PyObject *), &tmp_args_element_name_1, sizeof(PyObject *), &tmp_args_element_name_2, sizeof(PyObject *), NULL );
    generator->m_yield_return_index = 1;
    return tmp_expression_name_1;
    yield_return_1:
    Nuitka_RestoreHeap( generator_heap->yield_tmps, &tmp_called_name_1, sizeof(PyObject *), &tmp_source_name_1, sizeof(PyObject *), &tmp_args_element_name_1, sizeof(PyObject *), &tmp_args_element_name_2, sizeof(PyObject *), NULL );
    if ( yield_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 126;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    tmp_unused = yield_return_value;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 126;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    generator_heap->exception_keeper_type_1 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_1 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_1 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_1 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

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

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_1:;
    }

    Nuitka_Frame_MarkAsNotExecuting( generator->m_frame );

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    // Allow re-use of the frame again.
    Py_DECREF( generator->m_frame );
    goto frame_no_exception_1;

    frame_exception_exit_1:;

    // If it's not an exit exception, consider and create a traceback for it.
    if ( !EXCEPTION_MATCH_GENERATOR( generator_heap->exception_type ) )
    {
        if ( generator_heap->exception_tb == NULL )
        {
            generator_heap->exception_tb = MAKE_TRACEBACK( generator->m_frame, generator_heap->exception_lineno );
        }
        else if ( generator_heap->exception_tb->tb_frame != &generator->m_frame->m_frame )
        {
            generator_heap->exception_tb = ADD_TRACEBACK( generator_heap->exception_tb, generator->m_frame, generator_heap->exception_lineno );
        }

        Nuitka_Frame_AttachLocals(
            (struct Nuitka_FrameObject *)generator->m_frame,
            generator_heap->type_description_1,
            NULL,
            generator_heap->var_x,
            generator->m_closure[0],
            generator->m_closure[1]
        );


        // Release cached frame.
        if ( generator->m_frame == cache_m_frame )
        {
            Py_DECREF( generator->m_frame );
        }
        cache_m_frame = NULL;

        assertFrameObject( generator->m_frame );
    }

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    Py_DECREF( generator->m_frame );

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    goto try_end_2;
    // Exception handler code:
    try_except_handler_1:;
    generator_heap->exception_keeper_type_2 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_2 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_2 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_2 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->var_x );
    generator_heap->var_x = NULL;

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

    goto function_exception_exit;
    }
    // End of try:
    try_end_2:;
    }
    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

    }
    {
    Py_XDECREF( generator_heap->var_x );
    generator_heap->var_x = NULL;

    }


    return NULL;

    function_exception_exit:
    assert( generator_heap->exception_type );
    RESTORE_ERROR_OCCURRED( generator_heap->exception_type, generator_heap->exception_value, generator_heap->exception_tb );

    return NULL;

}

static PyObject *future$backports$urllib$parse$$$function_6_encode$$$genexpr_1_genexpr_maker( void )
{
    return Nuitka_Generator_New(
        future$backports$urllib$parse$$$function_6_encode$$$genexpr_1_genexpr_context,
        module_future$backports$urllib$parse,
        const_str_angle_genexpr,
#if PYTHON_VERSION >= 350
        const_str_digest_d2c9a658c76209f643c9a5d113493d2e,
#endif
        codeobj_ed2bef2d4a94d97a23798a6fdeb6b965,
        3,
        sizeof(struct future$backports$urllib$parse$$$function_6_encode$$$genexpr_1_genexpr_locals)
    );
}


static PyObject *impl_future$backports$urllib$parse$$$function_7_decode( 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_CellObject *par_encoding = PyCell_NEW1( python_pars[ 1 ] );
    struct Nuitka_CellObject *par_errors = PyCell_NEW1( python_pars[ 2 ] );
    PyObject *tmp_genexpr_1__$0 = NULL;
    struct Nuitka_FrameObject *frame_b605ac7adabec74078dcc137ae4e3afd;
    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_b605ac7adabec74078dcc137ae4e3afd = 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_b605ac7adabec74078dcc137ae4e3afd, codeobj_b605ac7adabec74078dcc137ae4e3afd, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_b605ac7adabec74078dcc137ae4e3afd = cache_frame_b605ac7adabec74078dcc137ae4e3afd;

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

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

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

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


        exception_lineno = 134;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_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 = 134;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }

    tmp_iter_arg_1 = par_self;
    tmp_assign_source_1 = MAKE_ITERATOR( tmp_iter_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 134;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }
    assert( tmp_genexpr_1__$0 == NULL );
    tmp_genexpr_1__$0 = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    tmp_dircall_arg2_1 = future$backports$urllib$parse$$$function_7_decode$$$genexpr_1_genexpr_maker();

    ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[0] = par_encoding;
    Py_INCREF( ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[0] );
    ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[1] = par_errors;
    Py_INCREF( ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[1] );
    ((struct Nuitka_GeneratorObject *)tmp_dircall_arg2_1)->m_closure[2] = PyCell_NEW0( tmp_genexpr_1__$0 );


    goto try_return_handler_2;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_7_decode );
    return NULL;
    // Return handler code:
    try_return_handler_2:;
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    {
    goto outline_result_1;
    }
    // End of try:
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_7_decode );
    return NULL;
    outline_result_1:;

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_1, tmp_dircall_arg2_1};
        tmp_return_value = impl___internal__$$$function_2_complex_call_helper_star_list( dir_call_args );
    }
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 134;
        type_description_1 = "occ";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_b605ac7adabec74078dcc137ae4e3afd );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_b605ac7adabec74078dcc137ae4e3afd );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_b605ac7adabec74078dcc137ae4e3afd,
        type_description_1,
        par_self,
        par_encoding,
        par_errors
    );


    // Release cached frame.
    if ( frame_b605ac7adabec74078dcc137ae4e3afd == cache_frame_b605ac7adabec74078dcc137ae4e3afd )
    {
        Py_DECREF( frame_b605ac7adabec74078dcc137ae4e3afd );
    }
    cache_frame_b605ac7adabec74078dcc137ae4e3afd = NULL;

    assertFrameObject( frame_b605ac7adabec74078dcc137ae4e3afd );

    // 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( future$backports$urllib$parse$$$function_7_decode );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_encoding );
    Py_DECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_errors );
    Py_DECREF( par_errors );
    par_errors = 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;

    }
    {
    CHECK_OBJECT( (PyObject *)par_encoding );
    Py_DECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)par_errors );
    Py_DECREF( par_errors );
    par_errors = 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( future$backports$urllib$parse$$$function_7_decode );
    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;

}



struct future$backports$urllib$parse$$$function_7_decode$$$genexpr_1_genexpr_locals {
    PyObject *var_x;
    PyObject *tmp_iter_value_0;
    char const *type_description_1;
    PyObject *exception_type;
    PyObject *exception_value;
    PyTracebackObject *exception_tb;
    int exception_lineno;
    char yield_tmps[1024];
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    int exception_keeper_lineno_1;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    int exception_keeper_lineno_2;
};

static PyObject *future$backports$urllib$parse$$$function_7_decode$$$genexpr_1_genexpr_context( struct Nuitka_GeneratorObject *generator, PyObject *yield_return_value )
{
    CHECK_OBJECT( (PyObject *)generator );
    assert( Nuitka_Generator_Check( (PyObject *)generator ) );

    // Heap access if used.
    struct future$backports$urllib$parse$$$function_7_decode$$$genexpr_1_genexpr_locals *generator_heap = (struct future$backports$urllib$parse$$$function_7_decode$$$genexpr_1_genexpr_locals *)generator->m_heap_storage;

    // Dispatch to yield based on return label index:
    switch(generator->m_yield_return_index) {
    case 1: goto yield_return_1;
    }

    // Local variable initialization
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    static struct Nuitka_FrameObject *cache_m_frame = NULL;
    generator_heap->var_x = NULL;
    generator_heap->tmp_iter_value_0 = NULL;
    generator_heap->type_description_1 = NULL;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_m_frame, codeobj_2688c21dc7e32ff11acf32a09bc57807, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    generator->m_frame = cache_m_frame;

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

#if PYTHON_VERSION >= 340
    generator->m_frame->m_frame.f_gen = (PyObject *)generator;
#endif

    Py_CLEAR( generator->m_frame->m_frame.f_back );

    generator->m_frame->m_frame.f_back = PyThreadState_GET()->frame;
    Py_INCREF( generator->m_frame->m_frame.f_back );

    PyThreadState_GET()->frame = &generator->m_frame->m_frame;
    Py_INCREF( generator->m_frame );

    Nuitka_Frame_MarkAsExecuting( generator->m_frame );

#if PYTHON_VERSION >= 300
    // Accept currently existing exception as the one to publish again when we
    // yield or yield from.
    {
        PyThreadState *thread_state = PyThreadState_GET();

#if PYTHON_VERSION < 370
        generator->m_frame->m_frame.f_exc_type = EXC_TYPE( thread_state );
    if ( generator->m_frame->m_frame.f_exc_type == Py_None ) generator->m_frame->m_frame.f_exc_type = NULL;
        Py_XINCREF( generator->m_frame->m_frame.f_exc_type );
    generator->m_frame->m_frame.f_exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_value );
    generator->m_frame->m_frame.f_exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_traceback );
#else
        generator->m_exc_state.exc_type = EXC_TYPE( thread_state );
        if ( generator->m_exc_state.exc_type == Py_None ) generator->m_exc_state.exc_type = NULL;
        Py_XINCREF( generator->m_exc_state.exc_type );
        generator->m_exc_state.exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_value );
        generator->m_exc_state.exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_traceback );
#endif
    }

#endif

    // Framed code:
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_1;
    CHECK_OBJECT( PyCell_GET( generator->m_closure[2] ) );
    tmp_next_source_1 = PyCell_GET( generator->m_closure[2] );
    tmp_assign_source_1 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
            generator_heap->type_description_1 = "Nocc";
            generator_heap->exception_lineno = 134;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = generator_heap->tmp_iter_value_0;
        generator_heap->tmp_iter_value_0 = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_2;
    CHECK_OBJECT( generator_heap->tmp_iter_value_0 );
    tmp_assign_source_2 = generator_heap->tmp_iter_value_0;
    {
        PyObject *old = generator_heap->var_x;
        generator_heap->var_x = tmp_assign_source_2;
        Py_INCREF( generator_heap->var_x );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_expression_name_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    CHECK_OBJECT( generator_heap->var_x );
    tmp_source_name_1 = generator_heap->var_x;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_decode );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 134;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    if ( PyCell_GET( generator->m_closure[0] ) == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        generator_heap->exception_type = PyExc_NameError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "free variable '%s' referenced before assignment in enclosing scope", "encoding" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 134;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }

    tmp_args_element_name_1 = PyCell_GET( generator->m_closure[0] );
    if ( PyCell_GET( generator->m_closure[1] ) == NULL )
    {
        Py_DECREF( tmp_called_name_1 );
        generator_heap->exception_type = PyExc_NameError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "free variable '%s' referenced before assignment in enclosing scope", "errors" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 134;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }

    tmp_args_element_name_2 = PyCell_GET( generator->m_closure[1] );
    generator->m_frame->m_frame.f_lineno = 134;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_expression_name_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_expression_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 134;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    Nuitka_PreserveHeap( generator_heap->yield_tmps, &tmp_called_name_1, sizeof(PyObject *), &tmp_source_name_1, sizeof(PyObject *), &tmp_args_element_name_1, sizeof(PyObject *), &tmp_args_element_name_2, sizeof(PyObject *), NULL );
    generator->m_yield_return_index = 1;
    return tmp_expression_name_1;
    yield_return_1:
    Nuitka_RestoreHeap( generator_heap->yield_tmps, &tmp_called_name_1, sizeof(PyObject *), &tmp_source_name_1, sizeof(PyObject *), &tmp_args_element_name_1, sizeof(PyObject *), &tmp_args_element_name_2, sizeof(PyObject *), NULL );
    if ( yield_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 134;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    tmp_unused = yield_return_value;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 134;
        generator_heap->type_description_1 = "Nocc";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    generator_heap->exception_keeper_type_1 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_1 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_1 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_1 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

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

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_1:;
    }

    Nuitka_Frame_MarkAsNotExecuting( generator->m_frame );

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    // Allow re-use of the frame again.
    Py_DECREF( generator->m_frame );
    goto frame_no_exception_1;

    frame_exception_exit_1:;

    // If it's not an exit exception, consider and create a traceback for it.
    if ( !EXCEPTION_MATCH_GENERATOR( generator_heap->exception_type ) )
    {
        if ( generator_heap->exception_tb == NULL )
        {
            generator_heap->exception_tb = MAKE_TRACEBACK( generator->m_frame, generator_heap->exception_lineno );
        }
        else if ( generator_heap->exception_tb->tb_frame != &generator->m_frame->m_frame )
        {
            generator_heap->exception_tb = ADD_TRACEBACK( generator_heap->exception_tb, generator->m_frame, generator_heap->exception_lineno );
        }

        Nuitka_Frame_AttachLocals(
            (struct Nuitka_FrameObject *)generator->m_frame,
            generator_heap->type_description_1,
            NULL,
            generator_heap->var_x,
            generator->m_closure[0],
            generator->m_closure[1]
        );


        // Release cached frame.
        if ( generator->m_frame == cache_m_frame )
        {
            Py_DECREF( generator->m_frame );
        }
        cache_m_frame = NULL;

        assertFrameObject( generator->m_frame );
    }

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    Py_DECREF( generator->m_frame );

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    goto try_end_2;
    // Exception handler code:
    try_except_handler_1:;
    generator_heap->exception_keeper_type_2 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_2 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_2 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_2 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->var_x );
    generator_heap->var_x = NULL;

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

    goto function_exception_exit;
    }
    // End of try:
    try_end_2:;
    }
    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

    }
    {
    Py_XDECREF( generator_heap->var_x );
    generator_heap->var_x = NULL;

    }


    return NULL;

    function_exception_exit:
    assert( generator_heap->exception_type );
    RESTORE_ERROR_OCCURRED( generator_heap->exception_type, generator_heap->exception_value, generator_heap->exception_tb );

    return NULL;

}

static PyObject *future$backports$urllib$parse$$$function_7_decode$$$genexpr_1_genexpr_maker( void )
{
    return Nuitka_Generator_New(
        future$backports$urllib$parse$$$function_7_decode$$$genexpr_1_genexpr_context,
        module_future$backports$urllib$parse,
        const_str_angle_genexpr,
#if PYTHON_VERSION >= 350
        const_str_digest_9f137ecbafde7805f8e17d9eec35547b,
#endif
        codeobj_2688c21dc7e32ff11acf32a09bc57807,
        3,
        sizeof(struct future$backports$urllib$parse$$$function_7_decode$$$genexpr_1_genexpr_locals)
    );
}


static PyObject *impl_future$backports$urllib$parse$$$function_8_username( 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_a56a5dbf0b684f71116b19002878502e;
    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_a56a5dbf0b684f71116b19002878502e = 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_a56a5dbf0b684f71116b19002878502e, codeobj_a56a5dbf0b684f71116b19002878502e, module_future$backports$urllib$parse, sizeof(void *) );
    frame_a56a5dbf0b684f71116b19002878502e = cache_frame_a56a5dbf0b684f71116b19002878502e;

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

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

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

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


        exception_lineno = 143;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_1 = const_int_0;
    tmp_return_value = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 0 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 143;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a56a5dbf0b684f71116b19002878502e );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a56a5dbf0b684f71116b19002878502e );
#endif

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

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


    // Release cached frame.
    if ( frame_a56a5dbf0b684f71116b19002878502e == cache_frame_a56a5dbf0b684f71116b19002878502e )
    {
        Py_DECREF( frame_a56a5dbf0b684f71116b19002878502e );
    }
    cache_frame_a56a5dbf0b684f71116b19002878502e = NULL;

    assertFrameObject( frame_a56a5dbf0b684f71116b19002878502e );

    // 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( future$backports$urllib$parse$$$function_8_username );
    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( future$backports$urllib$parse$$$function_8_username );
    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_future$backports$urllib$parse$$$function_9_password( 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_23b36a147cbaf372253b5abb704d3600;
    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_23b36a147cbaf372253b5abb704d3600 = 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_23b36a147cbaf372253b5abb704d3600, codeobj_23b36a147cbaf372253b5abb704d3600, module_future$backports$urllib$parse, sizeof(void *) );
    frame_23b36a147cbaf372253b5abb704d3600 = cache_frame_23b36a147cbaf372253b5abb704d3600;

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

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

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

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


        exception_lineno = 147;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_1 = const_int_pos_1;
    tmp_return_value = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 1 );
    Py_DECREF( tmp_subscribed_name_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 147;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_23b36a147cbaf372253b5abb704d3600 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_23b36a147cbaf372253b5abb704d3600 );
#endif

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

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


    // Release cached frame.
    if ( frame_23b36a147cbaf372253b5abb704d3600 == cache_frame_23b36a147cbaf372253b5abb704d3600 )
    {
        Py_DECREF( frame_23b36a147cbaf372253b5abb704d3600 );
    }
    cache_frame_23b36a147cbaf372253b5abb704d3600 = NULL;

    assertFrameObject( frame_23b36a147cbaf372253b5abb704d3600 );

    // 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( future$backports$urllib$parse$$$function_9_password );
    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( future$backports$urllib$parse$$$function_9_password );
    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_future$backports$urllib$parse$$$function_10_hostname( 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_hostname = NULL;
    struct Nuitka_FrameObject *frame_40c4baa64aefe93609266ac3b362258e;
    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_40c4baa64aefe93609266ac3b362258e = 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_40c4baa64aefe93609266ac3b362258e, codeobj_40c4baa64aefe93609266ac3b362258e, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *) );
    frame_40c4baa64aefe93609266ac3b362258e = cache_frame_40c4baa64aefe93609266ac3b362258e;

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

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

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

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


        exception_lineno = 151;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_1 = const_int_0;
    tmp_assign_source_1 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 0 );
    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 = 151;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    assert( var_hostname == NULL );
    var_hostname = tmp_assign_source_1;

    }
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_operand_name_1;
    CHECK_OBJECT( var_hostname );
    tmp_operand_name_1 = var_hostname;
    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 = 152;
        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_assign_source_2;
    tmp_assign_source_2 = Py_None;
    {
        PyObject *old = var_hostname;
        var_hostname = tmp_assign_source_2;
        Py_INCREF( var_hostname );
        Py_XDECREF( old );
    }

    }
    goto branch_end_1;
    branch_no_1:;
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    if ( var_hostname == NULL )
    {

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

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

    tmp_compexpr_left_1 = var_hostname;
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_2 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? 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_called_instance_1;
    if ( var_hostname == NULL )
    {

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

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

    tmp_called_instance_1 = var_hostname;
    frame_40c4baa64aefe93609266ac3b362258e->m_frame.f_lineno = 155;
    tmp_assign_source_3 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_lower );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 155;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_hostname;
        var_hostname = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    branch_no_2:;
    }
    branch_end_1:;
    }
    {
    if ( var_hostname == NULL )
    {

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

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

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

#if 0
    RESTORE_FRAME_EXCEPTION( frame_40c4baa64aefe93609266ac3b362258e );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_40c4baa64aefe93609266ac3b362258e );
#endif

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

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


    // Release cached frame.
    if ( frame_40c4baa64aefe93609266ac3b362258e == cache_frame_40c4baa64aefe93609266ac3b362258e )
    {
        Py_DECREF( frame_40c4baa64aefe93609266ac3b362258e );
    }
    cache_frame_40c4baa64aefe93609266ac3b362258e = NULL;

    assertFrameObject( frame_40c4baa64aefe93609266ac3b362258e );

    // 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( future$backports$urllib$parse$$$function_10_hostname );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_hostname );
    var_hostname = 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_hostname );
    var_hostname = 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( future$backports$urllib$parse$$$function_10_hostname );
    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_future$backports$urllib$parse$$$function_11_port( 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_port = NULL;
    PyObject *tmp_comparison_chain_1__comparison_result = NULL;
    PyObject *tmp_comparison_chain_1__operand_2 = NULL;
    struct Nuitka_FrameObject *frame_46c6b8eac342ff9c312c530e56416ec5;
    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 *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_46c6b8eac342ff9c312c530e56416ec5 = NULL;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_46c6b8eac342ff9c312c530e56416ec5, codeobj_46c6b8eac342ff9c312c530e56416ec5, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *) );
    frame_46c6b8eac342ff9c312c530e56416ec5 = cache_frame_46c6b8eac342ff9c312c530e56416ec5;

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

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

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

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


        exception_lineno = 160;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_1 = const_int_pos_1;
    tmp_assign_source_1 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 1 );
    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 = 160;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    assert( var_port == NULL );
    var_port = tmp_assign_source_1;

    }
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    CHECK_OBJECT( var_port );
    tmp_compexpr_left_1 = var_port;
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_1 = ( tmp_compexpr_left_1 != tmp_compexpr_right_1 ) ? 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_2;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_int );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

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

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

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

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

    tmp_args_element_name_1 = var_port;
    tmp_args_element_name_2 = const_int_pos_10;
    frame_46c6b8eac342ff9c312c530e56416ec5->m_frame.f_lineno = 162;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_assign_source_2 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 162;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_port;
        var_port = tmp_assign_source_2;
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_operand_name_1;
    {
    PyObject *tmp_assign_source_3;
    CHECK_OBJECT( var_port );
    tmp_assign_source_3 = var_port;
    assert( tmp_comparison_chain_1__operand_2 == NULL );
    Py_INCREF( tmp_assign_source_3 );
    tmp_comparison_chain_1__operand_2 = tmp_assign_source_3;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    tmp_compexpr_left_2 = const_int_0;
    CHECK_OBJECT( tmp_comparison_chain_1__operand_2 );
    tmp_compexpr_right_2 = tmp_comparison_chain_1__operand_2;
    tmp_assign_source_4 = RICH_COMPARE_LE( tmp_compexpr_left_2, tmp_compexpr_right_2 );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 164;
        type_description_1 = "oo";
        goto try_except_handler_2;
    }
    assert( tmp_comparison_chain_1__comparison_result == NULL );
    tmp_comparison_chain_1__comparison_result = tmp_assign_source_4;

    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_operand_name_2;
    CHECK_OBJECT( tmp_comparison_chain_1__comparison_result );
    tmp_operand_name_2 = tmp_comparison_chain_1__comparison_result;
    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 = 164;
        type_description_1 = "oo";
        goto try_except_handler_2;
    }
    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:;
    {
    CHECK_OBJECT( tmp_comparison_chain_1__comparison_result );
    tmp_operand_name_1 = tmp_comparison_chain_1__comparison_result;
    Py_INCREF( tmp_operand_name_1 );
    goto try_return_handler_2;
    }
    branch_no_3:;
    }
    {
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    CHECK_OBJECT( tmp_comparison_chain_1__operand_2 );
    tmp_compexpr_left_3 = tmp_comparison_chain_1__operand_2;
    tmp_compexpr_right_3 = const_int_pos_65535;
    tmp_operand_name_1 = RICH_COMPARE_LE( tmp_compexpr_left_3, tmp_compexpr_right_3 );
    if ( tmp_operand_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 164;
        type_description_1 = "oo";
        goto try_except_handler_2;
    }
    goto try_return_handler_2;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_11_port );
    return NULL;
    // Return handler code:
    try_return_handler_2:;
    {
    CHECK_OBJECT( (PyObject *)tmp_comparison_chain_1__operand_2 );
    Py_DECREF( tmp_comparison_chain_1__operand_2 );
    tmp_comparison_chain_1__operand_2 = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_comparison_chain_1__comparison_result );
    Py_DECREF( tmp_comparison_chain_1__comparison_result );
    tmp_comparison_chain_1__comparison_result = NULL;

    }
    {
    goto outline_result_1;
    }
    // Exception handler code:
    try_except_handler_2:;
    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_comparison_chain_1__operand_2 );
    Py_DECREF( tmp_comparison_chain_1__operand_2 );
    tmp_comparison_chain_1__operand_2 = NULL;

    }
    {
    Py_XDECREF( tmp_comparison_chain_1__comparison_result );
    tmp_comparison_chain_1__comparison_result = 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:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_11_port );
    return NULL;
    outline_result_1:;
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_1 );
    Py_DECREF( tmp_operand_name_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 164;
        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:;
    {
    tmp_return_value = Py_None;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    branch_no_1:;
    }
    {
    if ( var_port == NULL )
    {

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

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

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

#if 0
    RESTORE_FRAME_EXCEPTION( frame_46c6b8eac342ff9c312c530e56416ec5 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_46c6b8eac342ff9c312c530e56416ec5 );
#endif

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

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


    // Release cached frame.
    if ( frame_46c6b8eac342ff9c312c530e56416ec5 == cache_frame_46c6b8eac342ff9c312c530e56416ec5 )
    {
        Py_DECREF( frame_46c6b8eac342ff9c312c530e56416ec5 );
    }
    cache_frame_46c6b8eac342ff9c312c530e56416ec5 = NULL;

    assertFrameObject( frame_46c6b8eac342ff9c312c530e56416ec5 );

    // 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( future$backports$urllib$parse$$$function_11_port );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_port );
    var_port = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_port );
    var_port = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_11_port );
    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_future$backports$urllib$parse$$$function_12__userinfo( 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_netloc = NULL;
    PyObject *var_userinfo = NULL;
    PyObject *var_have_info = NULL;
    PyObject *var_hostinfo = NULL;
    PyObject *var_username = NULL;
    PyObject *var_have_password = NULL;
    PyObject *var_password = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = 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__element_3 = NULL;
    PyObject *tmp_tuple_unpack_2__source_iter = NULL;
    struct Nuitka_FrameObject *frame_fadd9898960293c1d6840f06c754b606;
    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_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;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_fadd9898960293c1d6840f06c754b606 = 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_fadd9898960293c1d6840f06c754b606, codeobj_fadd9898960293c1d6840f06c754b606, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_fadd9898960293c1d6840f06c754b606 = cache_frame_fadd9898960293c1d6840f06c754b606;

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

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_fadd9898960293c1d6840f06c754b606 ) == 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_netloc );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 174;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_netloc == NULL );
    var_netloc = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_netloc );
    tmp_called_instance_1 = var_netloc;
    frame_fadd9898960293c1d6840f06c754b606->m_frame.f_lineno = 175;
    tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_rpartition, &PyTuple_GET_ITEM( const_tuple_str_chr_64_tuple, 0 ) );

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

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


        exception_lineno = 175;
        type_description_1 = "oooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_2 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 175;
        type_description_1 = "oooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_2;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_1, 0, 3 );
    if ( tmp_assign_source_3 == 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 = "oooooooo";
        exception_lineno = 175;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_2, 1, 3 );
    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 = "oooooooo";
        exception_lineno = 175;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_3, 2, 3 );
    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 = "oooooooo";
        exception_lineno = 175;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = 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 = "oooooooo";
                exception_lineno = 175;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "oooooooo";
        exception_lineno = 175;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = 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_userinfo == NULL );
    Py_INCREF( tmp_assign_source_6 );
    var_userinfo = 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_have_info == NULL );
    Py_INCREF( tmp_assign_source_7 );
    var_have_info = tmp_assign_source_7;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_8 = tmp_tuple_unpack_1__element_3;
    assert( var_hostinfo == NULL );
    Py_INCREF( tmp_assign_source_8 );
    var_hostinfo = tmp_assign_source_8;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_truth_name_1;
    if ( var_have_info == NULL )
    {

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

        exception_lineno = 176;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_truth_name_1 = CHECK_IF_TRUE( var_have_info );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 176;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = tmp_truth_name_1 == 1 ? 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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_iter_arg_2;
    PyObject *tmp_called_instance_2;
    if ( var_userinfo == NULL )
    {

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

        exception_lineno = 177;
        type_description_1 = "oooooooo";
        goto try_except_handler_4;
    }

    tmp_called_instance_2 = var_userinfo;
    frame_fadd9898960293c1d6840f06c754b606->m_frame.f_lineno = 177;
    tmp_iter_arg_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_str_chr_58_tuple, 0 ) );

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

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


        exception_lineno = 177;
        type_description_1 = "oooooooo";
        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 = 177;
        type_description_1 = "oooooooo";
        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_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_10 = UNPACK_NEXT( tmp_unpack_4, 0, 3 );
    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 = "oooooooo";
        exception_lineno = 177;
        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_5;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_11 = UNPACK_NEXT( tmp_unpack_5, 1, 3 );
    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 = "oooooooo";
        exception_lineno = 177;
        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_assign_source_12;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_12 = UNPACK_NEXT( tmp_unpack_6, 2, 3 );
    if ( tmp_assign_source_12 == 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 = "oooooooo";
        exception_lineno = 177;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_3 == NULL );
    tmp_tuple_unpack_2__element_3 = tmp_assign_source_12;

    }
    {
    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 = "oooooooo";
                exception_lineno = 177;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "oooooooo";
        exception_lineno = 177;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = 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_13;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_13 = tmp_tuple_unpack_2__element_1;
    assert( var_username == NULL );
    Py_INCREF( tmp_assign_source_13 );
    var_username = tmp_assign_source_13;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_14;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_14 = tmp_tuple_unpack_2__element_2;
    assert( var_have_password == NULL );
    Py_INCREF( tmp_assign_source_14 );
    var_have_password = tmp_assign_source_14;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_15;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_3 );
    tmp_assign_source_15 = tmp_tuple_unpack_2__element_3;
    assert( var_password == NULL );
    Py_INCREF( tmp_assign_source_15 );
    var_password = tmp_assign_source_15;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_operand_name_1;
    if ( var_have_password == NULL )
    {

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

        exception_lineno = 178;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_1 = var_have_password;
    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 = 178;
        type_description_1 = "oooooooo";
        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_16;
    tmp_assign_source_16 = Py_None;
    {
        PyObject *old = var_password;
        var_password = tmp_assign_source_16;
        Py_INCREF( var_password );
        Py_XDECREF( old );
    }

    }
    branch_no_2:;
    }
    goto branch_end_1;
    branch_no_1:;
    {
    PyObject *tmp_assign_source_17;
    tmp_assign_source_17 = Py_None;
    assert( var_username == NULL );
    Py_INCREF( tmp_assign_source_17 );
    var_username = tmp_assign_source_17;

    }
    {
    PyObject *tmp_assign_source_18;
    tmp_assign_source_18 = Py_None;
    assert( var_password == NULL );
    Py_INCREF( tmp_assign_source_18 );
    var_password = tmp_assign_source_18;

    }
    branch_end_1:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( var_username == NULL )
    {

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

        exception_lineno = 182;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_username;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( var_password == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "password" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 182;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_password;
    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_fadd9898960293c1d6840f06c754b606 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_fadd9898960293c1d6840f06c754b606 );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_fadd9898960293c1d6840f06c754b606,
        type_description_1,
        par_self,
        var_netloc,
        var_userinfo,
        var_have_info,
        var_hostinfo,
        var_username,
        var_have_password,
        var_password
    );


    // Release cached frame.
    if ( frame_fadd9898960293c1d6840f06c754b606 == cache_frame_fadd9898960293c1d6840f06c754b606 )
    {
        Py_DECREF( frame_fadd9898960293c1d6840f06c754b606 );
    }
    cache_frame_fadd9898960293c1d6840f06c754b606 = NULL;

    assertFrameObject( frame_fadd9898960293c1d6840f06c754b606 );

    // 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( future$backports$urllib$parse$$$function_12__userinfo );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_userinfo );
    var_userinfo = NULL;

    }
    {
    Py_XDECREF( var_have_info );
    var_have_info = NULL;

    }
    {
    Py_XDECREF( var_hostinfo );
    var_hostinfo = NULL;

    }
    {
    Py_XDECREF( var_username );
    var_username = NULL;

    }
    {
    Py_XDECREF( var_have_password );
    var_have_password = NULL;

    }
    {
    Py_XDECREF( var_password );
    var_password = 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_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_userinfo );
    var_userinfo = NULL;

    }
    {
    Py_XDECREF( var_have_info );
    var_have_info = NULL;

    }
    {
    Py_XDECREF( var_hostinfo );
    var_hostinfo = NULL;

    }
    {
    Py_XDECREF( var_username );
    var_username = NULL;

    }
    {
    Py_XDECREF( var_have_password );
    var_have_password = NULL;

    }
    {
    Py_XDECREF( var_password );
    var_password = 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( future$backports$urllib$parse$$$function_12__userinfo );
    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_future$backports$urllib$parse$$$function_13__hostinfo( 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_netloc = NULL;
    PyObject *var__ = NULL;
    PyObject *var_hostinfo = NULL;
    PyObject *var_have_open_br = NULL;
    PyObject *var_bracketed = NULL;
    PyObject *var_hostname = NULL;
    PyObject *var_port = NULL;
    PyObject *var_have_port = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = 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__element_3 = NULL;
    PyObject *tmp_tuple_unpack_2__source_iter = NULL;
    PyObject *tmp_tuple_unpack_3__element_1 = NULL;
    PyObject *tmp_tuple_unpack_3__element_2 = NULL;
    PyObject *tmp_tuple_unpack_3__element_3 = NULL;
    PyObject *tmp_tuple_unpack_3__source_iter = NULL;
    PyObject *tmp_tuple_unpack_4__element_1 = NULL;
    PyObject *tmp_tuple_unpack_4__element_2 = NULL;
    PyObject *tmp_tuple_unpack_4__element_3 = NULL;
    PyObject *tmp_tuple_unpack_4__source_iter = NULL;
    PyObject *tmp_tuple_unpack_5__element_1 = NULL;
    PyObject *tmp_tuple_unpack_5__element_2 = NULL;
    PyObject *tmp_tuple_unpack_5__element_3 = NULL;
    PyObject *tmp_tuple_unpack_5__source_iter = NULL;
    struct Nuitka_FrameObject *frame_417197ec9313cb8eba660fdb3e8a9ecd;
    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_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;
    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;
    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 *exception_keeper_type_10;
    PyObject *exception_keeper_value_10;
    PyTracebackObject *exception_keeper_tb_10;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_10;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_417197ec9313cb8eba660fdb3e8a9ecd = NULL;
    PyObject *exception_keeper_type_11;
    PyObject *exception_keeper_value_11;
    PyTracebackObject *exception_keeper_tb_11;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_11;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_417197ec9313cb8eba660fdb3e8a9ecd, codeobj_417197ec9313cb8eba660fdb3e8a9ecd, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_417197ec9313cb8eba660fdb3e8a9ecd = cache_frame_417197ec9313cb8eba660fdb3e8a9ecd;

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

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_417197ec9313cb8eba660fdb3e8a9ecd ) == 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_netloc );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 186;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_netloc == NULL );
    var_netloc = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_netloc );
    tmp_called_instance_1 = var_netloc;
    frame_417197ec9313cb8eba660fdb3e8a9ecd->m_frame.f_lineno = 187;
    tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_rpartition, &PyTuple_GET_ITEM( const_tuple_str_chr_64_tuple, 0 ) );

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

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


        exception_lineno = 187;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_2 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 187;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_2;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_1, 0, 3 );
    if ( tmp_assign_source_3 == 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 = "ooooooooo";
        exception_lineno = 187;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_2, 1, 3 );
    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 = "ooooooooo";
        exception_lineno = 187;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_3, 2, 3 );
    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 = "ooooooooo";
        exception_lineno = 187;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = 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 = "ooooooooo";
                exception_lineno = 187;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 187;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = 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__ == NULL );
    Py_INCREF( tmp_assign_source_6 );
    var__ = 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;
    {
        PyObject *old = var__;
        var__ = tmp_assign_source_7;
        Py_INCREF( var__ );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_8 = tmp_tuple_unpack_1__element_3;
    assert( var_hostinfo == NULL );
    Py_INCREF( tmp_assign_source_8 );
    var_hostinfo = tmp_assign_source_8;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_iter_arg_2;
    PyObject *tmp_called_instance_2;
    if ( var_hostinfo == NULL )
    {

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

        exception_lineno = 188;
        type_description_1 = "ooooooooo";
        goto try_except_handler_4;
    }

    tmp_called_instance_2 = var_hostinfo;
    frame_417197ec9313cb8eba660fdb3e8a9ecd->m_frame.f_lineno = 188;
    tmp_iter_arg_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_str_chr_91_tuple, 0 ) );

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

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


        exception_lineno = 188;
        type_description_1 = "ooooooooo";
        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 = 188;
        type_description_1 = "ooooooooo";
        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_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_10 = UNPACK_NEXT( tmp_unpack_4, 0, 3 );
    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 = "ooooooooo";
        exception_lineno = 188;
        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_5;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_11 = UNPACK_NEXT( tmp_unpack_5, 1, 3 );
    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 = "ooooooooo";
        exception_lineno = 188;
        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_assign_source_12;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_12 = UNPACK_NEXT( tmp_unpack_6, 2, 3 );
    if ( tmp_assign_source_12 == 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 = "ooooooooo";
        exception_lineno = 188;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_3 == NULL );
    tmp_tuple_unpack_2__element_3 = tmp_assign_source_12;

    }
    {
    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 = "ooooooooo";
                exception_lineno = 188;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 188;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = 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_13;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_13 = tmp_tuple_unpack_2__element_1;
    {
        PyObject *old = var__;
        var__ = tmp_assign_source_13;
        Py_INCREF( var__ );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_14;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_14 = tmp_tuple_unpack_2__element_2;
    assert( var_have_open_br == NULL );
    Py_INCREF( tmp_assign_source_14 );
    var_have_open_br = tmp_assign_source_14;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_15;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_3 );
    tmp_assign_source_15 = tmp_tuple_unpack_2__element_3;
    assert( var_bracketed == NULL );
    Py_INCREF( tmp_assign_source_15 );
    var_bracketed = tmp_assign_source_15;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_truth_name_1;
    if ( var_have_open_br == NULL )
    {

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

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

    tmp_truth_name_1 = CHECK_IF_TRUE( var_have_open_br );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 189;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = tmp_truth_name_1 == 1 ? 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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_16;
    PyObject *tmp_iter_arg_3;
    PyObject *tmp_called_instance_3;
    if ( var_bracketed == NULL )
    {

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

        exception_lineno = 190;
        type_description_1 = "ooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_instance_3 = var_bracketed;
    frame_417197ec9313cb8eba660fdb3e8a9ecd->m_frame.f_lineno = 190;
    tmp_iter_arg_3 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_3, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_str_chr_93_tuple, 0 ) );

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

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


        exception_lineno = 190;
        type_description_1 = "ooooooooo";
        goto try_except_handler_6;
    }
    tmp_assign_source_16 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_3 );
    Py_DECREF( tmp_iter_arg_3 );
    if ( tmp_assign_source_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 190;
        type_description_1 = "ooooooooo";
        goto try_except_handler_6;
    }
    assert( tmp_tuple_unpack_3__source_iter == NULL );
    tmp_tuple_unpack_3__source_iter = tmp_assign_source_16;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_17;
    PyObject *tmp_unpack_7;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_7 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_17 = UNPACK_NEXT( tmp_unpack_7, 0, 3 );
    if ( tmp_assign_source_17 == 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 = "ooooooooo";
        exception_lineno = 190;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_1 == NULL );
    tmp_tuple_unpack_3__element_1 = tmp_assign_source_17;

    }
    {
    PyObject *tmp_assign_source_18;
    PyObject *tmp_unpack_8;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_8 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_18 = UNPACK_NEXT( tmp_unpack_8, 1, 3 );
    if ( tmp_assign_source_18 == 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 = "ooooooooo";
        exception_lineno = 190;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_2 == NULL );
    tmp_tuple_unpack_3__element_2 = tmp_assign_source_18;

    }
    {
    PyObject *tmp_assign_source_19;
    PyObject *tmp_unpack_9;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_9 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_19 = UNPACK_NEXT( tmp_unpack_9, 2, 3 );
    if ( tmp_assign_source_19 == 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 = "ooooooooo";
        exception_lineno = 190;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_3 == NULL );
    tmp_tuple_unpack_3__element_3 = tmp_assign_source_19;

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

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

    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 = "ooooooooo";
                exception_lineno = 190;
                goto try_except_handler_7;
            }
        }
    }
    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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 190;
        goto try_except_handler_7;
    }
    }
    goto try_end_5;
    // Exception handler code:
    try_except_handler_7:;
    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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = 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 try_except_handler_6;
    }
    // End of try:
    try_end_5:;
    }
    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;

    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_3 );
    tmp_tuple_unpack_3__element_3 = 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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_20;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_1 );
    tmp_assign_source_20 = tmp_tuple_unpack_3__element_1;
    assert( var_hostname == NULL );
    Py_INCREF( tmp_assign_source_20 );
    var_hostname = tmp_assign_source_20;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_21;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_2 );
    tmp_assign_source_21 = tmp_tuple_unpack_3__element_2;
    {
        PyObject *old = var__;
        var__ = tmp_assign_source_21;
        Py_INCREF( var__ );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_22;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_3 );
    tmp_assign_source_22 = tmp_tuple_unpack_3__element_3;
    assert( var_port == NULL );
    Py_INCREF( tmp_assign_source_22 );
    var_port = tmp_assign_source_22;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_3 );
    tmp_tuple_unpack_3__element_3 = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_23;
    PyObject *tmp_iter_arg_4;
    PyObject *tmp_called_instance_4;
    if ( var_port == NULL )
    {

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

        exception_lineno = 191;
        type_description_1 = "ooooooooo";
        goto try_except_handler_8;
    }

    tmp_called_instance_4 = var_port;
    frame_417197ec9313cb8eba660fdb3e8a9ecd->m_frame.f_lineno = 191;
    tmp_iter_arg_4 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_4, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_str_chr_58_tuple, 0 ) );

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

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


        exception_lineno = 191;
        type_description_1 = "ooooooooo";
        goto try_except_handler_8;
    }
    tmp_assign_source_23 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_4 );
    Py_DECREF( tmp_iter_arg_4 );
    if ( tmp_assign_source_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 191;
        type_description_1 = "ooooooooo";
        goto try_except_handler_8;
    }
    assert( tmp_tuple_unpack_4__source_iter == NULL );
    tmp_tuple_unpack_4__source_iter = tmp_assign_source_23;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_24;
    PyObject *tmp_unpack_10;
    CHECK_OBJECT( tmp_tuple_unpack_4__source_iter );
    tmp_unpack_10 = tmp_tuple_unpack_4__source_iter;
    tmp_assign_source_24 = UNPACK_NEXT( tmp_unpack_10, 0, 3 );
    if ( tmp_assign_source_24 == 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 = "ooooooooo";
        exception_lineno = 191;
        goto try_except_handler_9;
    }
    assert( tmp_tuple_unpack_4__element_1 == NULL );
    tmp_tuple_unpack_4__element_1 = tmp_assign_source_24;

    }
    {
    PyObject *tmp_assign_source_25;
    PyObject *tmp_unpack_11;
    CHECK_OBJECT( tmp_tuple_unpack_4__source_iter );
    tmp_unpack_11 = tmp_tuple_unpack_4__source_iter;
    tmp_assign_source_25 = UNPACK_NEXT( tmp_unpack_11, 1, 3 );
    if ( tmp_assign_source_25 == 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 = "ooooooooo";
        exception_lineno = 191;
        goto try_except_handler_9;
    }
    assert( tmp_tuple_unpack_4__element_2 == NULL );
    tmp_tuple_unpack_4__element_2 = tmp_assign_source_25;

    }
    {
    PyObject *tmp_assign_source_26;
    PyObject *tmp_unpack_12;
    CHECK_OBJECT( tmp_tuple_unpack_4__source_iter );
    tmp_unpack_12 = tmp_tuple_unpack_4__source_iter;
    tmp_assign_source_26 = UNPACK_NEXT( tmp_unpack_12, 2, 3 );
    if ( tmp_assign_source_26 == 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 = "ooooooooo";
        exception_lineno = 191;
        goto try_except_handler_9;
    }
    assert( tmp_tuple_unpack_4__element_3 == NULL );
    tmp_tuple_unpack_4__element_3 = tmp_assign_source_26;

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

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

    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 = "ooooooooo";
                exception_lineno = 191;
                goto try_except_handler_9;
            }
        }
    }
    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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 191;
        goto try_except_handler_9;
    }
    }
    goto try_end_7;
    // 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;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_4__source_iter );
    Py_DECREF( tmp_tuple_unpack_4__source_iter );
    tmp_tuple_unpack_4__source_iter = 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:
    try_end_7:;
    }
    goto try_end_8;
    // 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;

    {
    Py_XDECREF( tmp_tuple_unpack_4__element_1 );
    tmp_tuple_unpack_4__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_2 );
    tmp_tuple_unpack_4__element_2 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_3 );
    tmp_tuple_unpack_4__element_3 = NULL;

    }
    {
    // 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_8:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_4__source_iter );
    Py_DECREF( tmp_tuple_unpack_4__source_iter );
    tmp_tuple_unpack_4__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_27;
    CHECK_OBJECT( tmp_tuple_unpack_4__element_1 );
    tmp_assign_source_27 = tmp_tuple_unpack_4__element_1;
    {
        PyObject *old = var__;
        var__ = tmp_assign_source_27;
        Py_INCREF( var__ );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_1 );
    tmp_tuple_unpack_4__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_28;
    CHECK_OBJECT( tmp_tuple_unpack_4__element_2 );
    tmp_assign_source_28 = tmp_tuple_unpack_4__element_2;
    assert( var_have_port == NULL );
    Py_INCREF( tmp_assign_source_28 );
    var_have_port = tmp_assign_source_28;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_2 );
    tmp_tuple_unpack_4__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_29;
    CHECK_OBJECT( tmp_tuple_unpack_4__element_3 );
    tmp_assign_source_29 = tmp_tuple_unpack_4__element_3;
    {
        PyObject *old = var_port;
        var_port = tmp_assign_source_29;
        Py_INCREF( var_port );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_3 );
    tmp_tuple_unpack_4__element_3 = NULL;

    }
    goto branch_end_1;
    branch_no_1:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_30;
    PyObject *tmp_iter_arg_5;
    PyObject *tmp_called_instance_5;
    if ( var_hostinfo == NULL )
    {

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

        exception_lineno = 193;
        type_description_1 = "ooooooooo";
        goto try_except_handler_10;
    }

    tmp_called_instance_5 = var_hostinfo;
    frame_417197ec9313cb8eba660fdb3e8a9ecd->m_frame.f_lineno = 193;
    tmp_iter_arg_5 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_5, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_str_chr_58_tuple, 0 ) );

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

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


        exception_lineno = 193;
        type_description_1 = "ooooooooo";
        goto try_except_handler_10;
    }
    tmp_assign_source_30 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_5 );
    Py_DECREF( tmp_iter_arg_5 );
    if ( tmp_assign_source_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 193;
        type_description_1 = "ooooooooo";
        goto try_except_handler_10;
    }
    assert( tmp_tuple_unpack_5__source_iter == NULL );
    tmp_tuple_unpack_5__source_iter = tmp_assign_source_30;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_31;
    PyObject *tmp_unpack_13;
    CHECK_OBJECT( tmp_tuple_unpack_5__source_iter );
    tmp_unpack_13 = tmp_tuple_unpack_5__source_iter;
    tmp_assign_source_31 = UNPACK_NEXT( tmp_unpack_13, 0, 3 );
    if ( tmp_assign_source_31 == 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 = "ooooooooo";
        exception_lineno = 193;
        goto try_except_handler_11;
    }
    assert( tmp_tuple_unpack_5__element_1 == NULL );
    tmp_tuple_unpack_5__element_1 = tmp_assign_source_31;

    }
    {
    PyObject *tmp_assign_source_32;
    PyObject *tmp_unpack_14;
    CHECK_OBJECT( tmp_tuple_unpack_5__source_iter );
    tmp_unpack_14 = tmp_tuple_unpack_5__source_iter;
    tmp_assign_source_32 = UNPACK_NEXT( tmp_unpack_14, 1, 3 );
    if ( tmp_assign_source_32 == 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 = "ooooooooo";
        exception_lineno = 193;
        goto try_except_handler_11;
    }
    assert( tmp_tuple_unpack_5__element_2 == NULL );
    tmp_tuple_unpack_5__element_2 = tmp_assign_source_32;

    }
    {
    PyObject *tmp_assign_source_33;
    PyObject *tmp_unpack_15;
    CHECK_OBJECT( tmp_tuple_unpack_5__source_iter );
    tmp_unpack_15 = tmp_tuple_unpack_5__source_iter;
    tmp_assign_source_33 = UNPACK_NEXT( tmp_unpack_15, 2, 3 );
    if ( tmp_assign_source_33 == 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 = "ooooooooo";
        exception_lineno = 193;
        goto try_except_handler_11;
    }
    assert( tmp_tuple_unpack_5__element_3 == NULL );
    tmp_tuple_unpack_5__element_3 = tmp_assign_source_33;

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

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

    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 = "ooooooooo";
                exception_lineno = 193;
                goto try_except_handler_11;
            }
        }
    }
    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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 193;
        goto try_except_handler_11;
    }
    }
    goto try_end_9;
    // Exception handler code:
    try_except_handler_11:;
    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;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_5__source_iter );
    Py_DECREF( tmp_tuple_unpack_5__source_iter );
    tmp_tuple_unpack_5__source_iter = 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 try_except_handler_10;
    }
    // End of try:
    try_end_9:;
    }
    goto try_end_10;
    // Exception handler code:
    try_except_handler_10:;
    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_XDECREF( tmp_tuple_unpack_5__element_1 );
    tmp_tuple_unpack_5__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_2 );
    tmp_tuple_unpack_5__element_2 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_3 );
    tmp_tuple_unpack_5__element_3 = 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_10:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_5__source_iter );
    Py_DECREF( tmp_tuple_unpack_5__source_iter );
    tmp_tuple_unpack_5__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_34;
    CHECK_OBJECT( tmp_tuple_unpack_5__element_1 );
    tmp_assign_source_34 = tmp_tuple_unpack_5__element_1;
    assert( var_hostname == NULL );
    Py_INCREF( tmp_assign_source_34 );
    var_hostname = tmp_assign_source_34;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_1 );
    tmp_tuple_unpack_5__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_35;
    CHECK_OBJECT( tmp_tuple_unpack_5__element_2 );
    tmp_assign_source_35 = tmp_tuple_unpack_5__element_2;
    assert( var_have_port == NULL );
    Py_INCREF( tmp_assign_source_35 );
    var_have_port = tmp_assign_source_35;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_2 );
    tmp_tuple_unpack_5__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_36;
    CHECK_OBJECT( tmp_tuple_unpack_5__element_3 );
    tmp_assign_source_36 = tmp_tuple_unpack_5__element_3;
    assert( var_port == NULL );
    Py_INCREF( tmp_assign_source_36 );
    var_port = tmp_assign_source_36;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_3 );
    tmp_tuple_unpack_5__element_3 = NULL;

    }
    branch_end_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_operand_name_1;
    if ( var_have_port == NULL )
    {

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

        exception_lineno = 194;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_1 = var_have_port;
    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 = 194;
        type_description_1 = "ooooooooo";
        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_37;
    tmp_assign_source_37 = Py_None;
    {
        PyObject *old = var_port;
        var_port = tmp_assign_source_37;
        Py_INCREF( var_port );
        Py_XDECREF( old );
    }

    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( var_hostname == NULL )
    {

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

        exception_lineno = 196;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_hostname;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( var_port == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "port" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 196;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_port;
    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_417197ec9313cb8eba660fdb3e8a9ecd );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_417197ec9313cb8eba660fdb3e8a9ecd );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_417197ec9313cb8eba660fdb3e8a9ecd,
        type_description_1,
        par_self,
        var_netloc,
        var__,
        var_hostinfo,
        var_have_open_br,
        var_bracketed,
        var_hostname,
        var_port,
        var_have_port
    );


    // Release cached frame.
    if ( frame_417197ec9313cb8eba660fdb3e8a9ecd == cache_frame_417197ec9313cb8eba660fdb3e8a9ecd )
    {
        Py_DECREF( frame_417197ec9313cb8eba660fdb3e8a9ecd );
    }
    cache_frame_417197ec9313cb8eba660fdb3e8a9ecd = NULL;

    assertFrameObject( frame_417197ec9313cb8eba660fdb3e8a9ecd );

    // 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( future$backports$urllib$parse$$$function_13__hostinfo );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var__ );
    var__ = NULL;

    }
    {
    Py_XDECREF( var_hostinfo );
    var_hostinfo = NULL;

    }
    {
    Py_XDECREF( var_have_open_br );
    var_have_open_br = NULL;

    }
    {
    Py_XDECREF( var_bracketed );
    var_bracketed = NULL;

    }
    {
    Py_XDECREF( var_hostname );
    var_hostname = NULL;

    }
    {
    Py_XDECREF( var_port );
    var_port = NULL;

    }
    {
    Py_XDECREF( var_have_port );
    var_have_port = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var__ );
    var__ = NULL;

    }
    {
    Py_XDECREF( var_hostinfo );
    var_hostinfo = NULL;

    }
    {
    Py_XDECREF( var_have_open_br );
    var_have_open_br = NULL;

    }
    {
    Py_XDECREF( var_bracketed );
    var_bracketed = NULL;

    }
    {
    Py_XDECREF( var_hostname );
    var_hostname = NULL;

    }
    {
    Py_XDECREF( var_port );
    var_port = NULL;

    }
    {
    Py_XDECREF( var_have_port );
    var_have_port = NULL;

    }
    {
    // 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_13__hostinfo );
    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_future$backports$urllib$parse$$$function_14__userinfo( 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_netloc = NULL;
    PyObject *var_userinfo = NULL;
    PyObject *var_have_info = NULL;
    PyObject *var_hostinfo = NULL;
    PyObject *var_username = NULL;
    PyObject *var_have_password = NULL;
    PyObject *var_password = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = 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__element_3 = NULL;
    PyObject *tmp_tuple_unpack_2__source_iter = NULL;
    struct Nuitka_FrameObject *frame_0fff58ee7a70dc792084b7ba32f07a33;
    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_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;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_0fff58ee7a70dc792084b7ba32f07a33 = 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_0fff58ee7a70dc792084b7ba32f07a33, codeobj_0fff58ee7a70dc792084b7ba32f07a33, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_0fff58ee7a70dc792084b7ba32f07a33 = cache_frame_0fff58ee7a70dc792084b7ba32f07a33;

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

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_0fff58ee7a70dc792084b7ba32f07a33 ) == 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_netloc );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 204;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_netloc == NULL );
    var_netloc = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_netloc );
    tmp_called_instance_1 = var_netloc;
    frame_0fff58ee7a70dc792084b7ba32f07a33->m_frame.f_lineno = 205;
    tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_rpartition, &PyTuple_GET_ITEM( const_tuple_bytes_chr_64_tuple, 0 ) );

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

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


        exception_lineno = 205;
        type_description_1 = "oooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_2 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 205;
        type_description_1 = "oooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_2;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_1, 0, 3 );
    if ( tmp_assign_source_3 == 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 = "oooooooo";
        exception_lineno = 205;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_2, 1, 3 );
    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 = "oooooooo";
        exception_lineno = 205;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_3, 2, 3 );
    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 = "oooooooo";
        exception_lineno = 205;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = 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 = "oooooooo";
                exception_lineno = 205;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "oooooooo";
        exception_lineno = 205;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = 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_userinfo == NULL );
    Py_INCREF( tmp_assign_source_6 );
    var_userinfo = 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_have_info == NULL );
    Py_INCREF( tmp_assign_source_7 );
    var_have_info = tmp_assign_source_7;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_8 = tmp_tuple_unpack_1__element_3;
    assert( var_hostinfo == NULL );
    Py_INCREF( tmp_assign_source_8 );
    var_hostinfo = tmp_assign_source_8;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_truth_name_1;
    if ( var_have_info == NULL )
    {

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

        exception_lineno = 206;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_truth_name_1 = CHECK_IF_TRUE( var_have_info );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 206;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = tmp_truth_name_1 == 1 ? 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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_iter_arg_2;
    PyObject *tmp_called_instance_2;
    if ( var_userinfo == NULL )
    {

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

        exception_lineno = 207;
        type_description_1 = "oooooooo";
        goto try_except_handler_4;
    }

    tmp_called_instance_2 = var_userinfo;
    frame_0fff58ee7a70dc792084b7ba32f07a33->m_frame.f_lineno = 207;
    tmp_iter_arg_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_bytes_chr_58_tuple, 0 ) );

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

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


        exception_lineno = 207;
        type_description_1 = "oooooooo";
        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 = 207;
        type_description_1 = "oooooooo";
        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_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_10 = UNPACK_NEXT( tmp_unpack_4, 0, 3 );
    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 = "oooooooo";
        exception_lineno = 207;
        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_5;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_11 = UNPACK_NEXT( tmp_unpack_5, 1, 3 );
    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 = "oooooooo";
        exception_lineno = 207;
        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_assign_source_12;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_12 = UNPACK_NEXT( tmp_unpack_6, 2, 3 );
    if ( tmp_assign_source_12 == 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 = "oooooooo";
        exception_lineno = 207;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_3 == NULL );
    tmp_tuple_unpack_2__element_3 = tmp_assign_source_12;

    }
    {
    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 = "oooooooo";
                exception_lineno = 207;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "oooooooo";
        exception_lineno = 207;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = 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_13;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_13 = tmp_tuple_unpack_2__element_1;
    assert( var_username == NULL );
    Py_INCREF( tmp_assign_source_13 );
    var_username = tmp_assign_source_13;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_14;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_14 = tmp_tuple_unpack_2__element_2;
    assert( var_have_password == NULL );
    Py_INCREF( tmp_assign_source_14 );
    var_have_password = tmp_assign_source_14;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_15;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_3 );
    tmp_assign_source_15 = tmp_tuple_unpack_2__element_3;
    assert( var_password == NULL );
    Py_INCREF( tmp_assign_source_15 );
    var_password = tmp_assign_source_15;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_operand_name_1;
    if ( var_have_password == NULL )
    {

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

        exception_lineno = 208;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_1 = var_have_password;
    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 = 208;
        type_description_1 = "oooooooo";
        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_16;
    tmp_assign_source_16 = Py_None;
    {
        PyObject *old = var_password;
        var_password = tmp_assign_source_16;
        Py_INCREF( var_password );
        Py_XDECREF( old );
    }

    }
    branch_no_2:;
    }
    goto branch_end_1;
    branch_no_1:;
    {
    PyObject *tmp_assign_source_17;
    tmp_assign_source_17 = Py_None;
    assert( var_username == NULL );
    Py_INCREF( tmp_assign_source_17 );
    var_username = tmp_assign_source_17;

    }
    {
    PyObject *tmp_assign_source_18;
    tmp_assign_source_18 = Py_None;
    assert( var_password == NULL );
    Py_INCREF( tmp_assign_source_18 );
    var_password = tmp_assign_source_18;

    }
    branch_end_1:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( var_username == NULL )
    {

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

        exception_lineno = 212;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_username;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( var_password == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "password" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 212;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_password;
    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_0fff58ee7a70dc792084b7ba32f07a33 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_0fff58ee7a70dc792084b7ba32f07a33 );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_0fff58ee7a70dc792084b7ba32f07a33,
        type_description_1,
        par_self,
        var_netloc,
        var_userinfo,
        var_have_info,
        var_hostinfo,
        var_username,
        var_have_password,
        var_password
    );


    // Release cached frame.
    if ( frame_0fff58ee7a70dc792084b7ba32f07a33 == cache_frame_0fff58ee7a70dc792084b7ba32f07a33 )
    {
        Py_DECREF( frame_0fff58ee7a70dc792084b7ba32f07a33 );
    }
    cache_frame_0fff58ee7a70dc792084b7ba32f07a33 = NULL;

    assertFrameObject( frame_0fff58ee7a70dc792084b7ba32f07a33 );

    // 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( future$backports$urllib$parse$$$function_14__userinfo );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_userinfo );
    var_userinfo = NULL;

    }
    {
    Py_XDECREF( var_have_info );
    var_have_info = NULL;

    }
    {
    Py_XDECREF( var_hostinfo );
    var_hostinfo = NULL;

    }
    {
    Py_XDECREF( var_username );
    var_username = NULL;

    }
    {
    Py_XDECREF( var_have_password );
    var_have_password = NULL;

    }
    {
    Py_XDECREF( var_password );
    var_password = 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_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_userinfo );
    var_userinfo = NULL;

    }
    {
    Py_XDECREF( var_have_info );
    var_have_info = NULL;

    }
    {
    Py_XDECREF( var_hostinfo );
    var_hostinfo = NULL;

    }
    {
    Py_XDECREF( var_username );
    var_username = NULL;

    }
    {
    Py_XDECREF( var_have_password );
    var_have_password = NULL;

    }
    {
    Py_XDECREF( var_password );
    var_password = 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( future$backports$urllib$parse$$$function_14__userinfo );
    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_future$backports$urllib$parse$$$function_15__hostinfo( 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_netloc = NULL;
    PyObject *var__ = NULL;
    PyObject *var_hostinfo = NULL;
    PyObject *var_have_open_br = NULL;
    PyObject *var_bracketed = NULL;
    PyObject *var_hostname = NULL;
    PyObject *var_port = NULL;
    PyObject *var_have_port = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = 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__element_3 = NULL;
    PyObject *tmp_tuple_unpack_2__source_iter = NULL;
    PyObject *tmp_tuple_unpack_3__element_1 = NULL;
    PyObject *tmp_tuple_unpack_3__element_2 = NULL;
    PyObject *tmp_tuple_unpack_3__element_3 = NULL;
    PyObject *tmp_tuple_unpack_3__source_iter = NULL;
    PyObject *tmp_tuple_unpack_4__element_1 = NULL;
    PyObject *tmp_tuple_unpack_4__element_2 = NULL;
    PyObject *tmp_tuple_unpack_4__element_3 = NULL;
    PyObject *tmp_tuple_unpack_4__source_iter = NULL;
    PyObject *tmp_tuple_unpack_5__element_1 = NULL;
    PyObject *tmp_tuple_unpack_5__element_2 = NULL;
    PyObject *tmp_tuple_unpack_5__element_3 = NULL;
    PyObject *tmp_tuple_unpack_5__source_iter = NULL;
    struct Nuitka_FrameObject *frame_e5427126ae1db89d820cc6b7bbd57717;
    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_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;
    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;
    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 *exception_keeper_type_10;
    PyObject *exception_keeper_value_10;
    PyTracebackObject *exception_keeper_tb_10;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_10;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_e5427126ae1db89d820cc6b7bbd57717 = NULL;
    PyObject *exception_keeper_type_11;
    PyObject *exception_keeper_value_11;
    PyTracebackObject *exception_keeper_tb_11;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_11;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_e5427126ae1db89d820cc6b7bbd57717, codeobj_e5427126ae1db89d820cc6b7bbd57717, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_e5427126ae1db89d820cc6b7bbd57717 = cache_frame_e5427126ae1db89d820cc6b7bbd57717;

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

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_e5427126ae1db89d820cc6b7bbd57717 ) == 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_netloc );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 216;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_netloc == NULL );
    var_netloc = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_netloc );
    tmp_called_instance_1 = var_netloc;
    frame_e5427126ae1db89d820cc6b7bbd57717->m_frame.f_lineno = 217;
    tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_rpartition, &PyTuple_GET_ITEM( const_tuple_bytes_chr_64_tuple, 0 ) );

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

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


        exception_lineno = 217;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_2 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 217;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_2;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_1, 0, 3 );
    if ( tmp_assign_source_3 == 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 = "ooooooooo";
        exception_lineno = 217;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_2, 1, 3 );
    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 = "ooooooooo";
        exception_lineno = 217;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_3, 2, 3 );
    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 = "ooooooooo";
        exception_lineno = 217;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = 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 = "ooooooooo";
                exception_lineno = 217;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 217;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = 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__ == NULL );
    Py_INCREF( tmp_assign_source_6 );
    var__ = 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;
    {
        PyObject *old = var__;
        var__ = tmp_assign_source_7;
        Py_INCREF( var__ );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_8 = tmp_tuple_unpack_1__element_3;
    assert( var_hostinfo == NULL );
    Py_INCREF( tmp_assign_source_8 );
    var_hostinfo = tmp_assign_source_8;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_iter_arg_2;
    PyObject *tmp_called_instance_2;
    if ( var_hostinfo == NULL )
    {

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

        exception_lineno = 218;
        type_description_1 = "ooooooooo";
        goto try_except_handler_4;
    }

    tmp_called_instance_2 = var_hostinfo;
    frame_e5427126ae1db89d820cc6b7bbd57717->m_frame.f_lineno = 218;
    tmp_iter_arg_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_bytes_chr_91_tuple, 0 ) );

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

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


        exception_lineno = 218;
        type_description_1 = "ooooooooo";
        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 = 218;
        type_description_1 = "ooooooooo";
        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_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_10 = UNPACK_NEXT( tmp_unpack_4, 0, 3 );
    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 = "ooooooooo";
        exception_lineno = 218;
        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_5;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_11 = UNPACK_NEXT( tmp_unpack_5, 1, 3 );
    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 = "ooooooooo";
        exception_lineno = 218;
        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_assign_source_12;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_12 = UNPACK_NEXT( tmp_unpack_6, 2, 3 );
    if ( tmp_assign_source_12 == 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 = "ooooooooo";
        exception_lineno = 218;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_3 == NULL );
    tmp_tuple_unpack_2__element_3 = tmp_assign_source_12;

    }
    {
    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 = "ooooooooo";
                exception_lineno = 218;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 218;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = 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_13;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_13 = tmp_tuple_unpack_2__element_1;
    {
        PyObject *old = var__;
        var__ = tmp_assign_source_13;
        Py_INCREF( var__ );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_14;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_14 = tmp_tuple_unpack_2__element_2;
    assert( var_have_open_br == NULL );
    Py_INCREF( tmp_assign_source_14 );
    var_have_open_br = tmp_assign_source_14;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_15;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_3 );
    tmp_assign_source_15 = tmp_tuple_unpack_2__element_3;
    assert( var_bracketed == NULL );
    Py_INCREF( tmp_assign_source_15 );
    var_bracketed = tmp_assign_source_15;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_truth_name_1;
    if ( var_have_open_br == NULL )
    {

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

        exception_lineno = 219;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_truth_name_1 = CHECK_IF_TRUE( var_have_open_br );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 219;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = tmp_truth_name_1 == 1 ? 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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_16;
    PyObject *tmp_iter_arg_3;
    PyObject *tmp_called_instance_3;
    if ( var_bracketed == NULL )
    {

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

        exception_lineno = 220;
        type_description_1 = "ooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_instance_3 = var_bracketed;
    frame_e5427126ae1db89d820cc6b7bbd57717->m_frame.f_lineno = 220;
    tmp_iter_arg_3 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_3, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_bytes_chr_93_tuple, 0 ) );

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

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


        exception_lineno = 220;
        type_description_1 = "ooooooooo";
        goto try_except_handler_6;
    }
    tmp_assign_source_16 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_3 );
    Py_DECREF( tmp_iter_arg_3 );
    if ( tmp_assign_source_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 220;
        type_description_1 = "ooooooooo";
        goto try_except_handler_6;
    }
    assert( tmp_tuple_unpack_3__source_iter == NULL );
    tmp_tuple_unpack_3__source_iter = tmp_assign_source_16;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_17;
    PyObject *tmp_unpack_7;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_7 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_17 = UNPACK_NEXT( tmp_unpack_7, 0, 3 );
    if ( tmp_assign_source_17 == 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 = "ooooooooo";
        exception_lineno = 220;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_1 == NULL );
    tmp_tuple_unpack_3__element_1 = tmp_assign_source_17;

    }
    {
    PyObject *tmp_assign_source_18;
    PyObject *tmp_unpack_8;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_8 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_18 = UNPACK_NEXT( tmp_unpack_8, 1, 3 );
    if ( tmp_assign_source_18 == 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 = "ooooooooo";
        exception_lineno = 220;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_2 == NULL );
    tmp_tuple_unpack_3__element_2 = tmp_assign_source_18;

    }
    {
    PyObject *tmp_assign_source_19;
    PyObject *tmp_unpack_9;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_9 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_19 = UNPACK_NEXT( tmp_unpack_9, 2, 3 );
    if ( tmp_assign_source_19 == 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 = "ooooooooo";
        exception_lineno = 220;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_3 == NULL );
    tmp_tuple_unpack_3__element_3 = tmp_assign_source_19;

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

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

    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 = "ooooooooo";
                exception_lineno = 220;
                goto try_except_handler_7;
            }
        }
    }
    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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 220;
        goto try_except_handler_7;
    }
    }
    goto try_end_5;
    // Exception handler code:
    try_except_handler_7:;
    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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = 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 try_except_handler_6;
    }
    // End of try:
    try_end_5:;
    }
    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;

    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_3 );
    tmp_tuple_unpack_3__element_3 = 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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_20;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_1 );
    tmp_assign_source_20 = tmp_tuple_unpack_3__element_1;
    assert( var_hostname == NULL );
    Py_INCREF( tmp_assign_source_20 );
    var_hostname = tmp_assign_source_20;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_21;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_2 );
    tmp_assign_source_21 = tmp_tuple_unpack_3__element_2;
    {
        PyObject *old = var__;
        var__ = tmp_assign_source_21;
        Py_INCREF( var__ );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_22;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_3 );
    tmp_assign_source_22 = tmp_tuple_unpack_3__element_3;
    assert( var_port == NULL );
    Py_INCREF( tmp_assign_source_22 );
    var_port = tmp_assign_source_22;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_3 );
    tmp_tuple_unpack_3__element_3 = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_23;
    PyObject *tmp_iter_arg_4;
    PyObject *tmp_called_instance_4;
    if ( var_port == NULL )
    {

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

        exception_lineno = 221;
        type_description_1 = "ooooooooo";
        goto try_except_handler_8;
    }

    tmp_called_instance_4 = var_port;
    frame_e5427126ae1db89d820cc6b7bbd57717->m_frame.f_lineno = 221;
    tmp_iter_arg_4 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_4, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_bytes_chr_58_tuple, 0 ) );

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

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


        exception_lineno = 221;
        type_description_1 = "ooooooooo";
        goto try_except_handler_8;
    }
    tmp_assign_source_23 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_4 );
    Py_DECREF( tmp_iter_arg_4 );
    if ( tmp_assign_source_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 221;
        type_description_1 = "ooooooooo";
        goto try_except_handler_8;
    }
    assert( tmp_tuple_unpack_4__source_iter == NULL );
    tmp_tuple_unpack_4__source_iter = tmp_assign_source_23;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_24;
    PyObject *tmp_unpack_10;
    CHECK_OBJECT( tmp_tuple_unpack_4__source_iter );
    tmp_unpack_10 = tmp_tuple_unpack_4__source_iter;
    tmp_assign_source_24 = UNPACK_NEXT( tmp_unpack_10, 0, 3 );
    if ( tmp_assign_source_24 == 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 = "ooooooooo";
        exception_lineno = 221;
        goto try_except_handler_9;
    }
    assert( tmp_tuple_unpack_4__element_1 == NULL );
    tmp_tuple_unpack_4__element_1 = tmp_assign_source_24;

    }
    {
    PyObject *tmp_assign_source_25;
    PyObject *tmp_unpack_11;
    CHECK_OBJECT( tmp_tuple_unpack_4__source_iter );
    tmp_unpack_11 = tmp_tuple_unpack_4__source_iter;
    tmp_assign_source_25 = UNPACK_NEXT( tmp_unpack_11, 1, 3 );
    if ( tmp_assign_source_25 == 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 = "ooooooooo";
        exception_lineno = 221;
        goto try_except_handler_9;
    }
    assert( tmp_tuple_unpack_4__element_2 == NULL );
    tmp_tuple_unpack_4__element_2 = tmp_assign_source_25;

    }
    {
    PyObject *tmp_assign_source_26;
    PyObject *tmp_unpack_12;
    CHECK_OBJECT( tmp_tuple_unpack_4__source_iter );
    tmp_unpack_12 = tmp_tuple_unpack_4__source_iter;
    tmp_assign_source_26 = UNPACK_NEXT( tmp_unpack_12, 2, 3 );
    if ( tmp_assign_source_26 == 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 = "ooooooooo";
        exception_lineno = 221;
        goto try_except_handler_9;
    }
    assert( tmp_tuple_unpack_4__element_3 == NULL );
    tmp_tuple_unpack_4__element_3 = tmp_assign_source_26;

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

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

    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 = "ooooooooo";
                exception_lineno = 221;
                goto try_except_handler_9;
            }
        }
    }
    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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 221;
        goto try_except_handler_9;
    }
    }
    goto try_end_7;
    // 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;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_4__source_iter );
    Py_DECREF( tmp_tuple_unpack_4__source_iter );
    tmp_tuple_unpack_4__source_iter = 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:
    try_end_7:;
    }
    goto try_end_8;
    // 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;

    {
    Py_XDECREF( tmp_tuple_unpack_4__element_1 );
    tmp_tuple_unpack_4__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_2 );
    tmp_tuple_unpack_4__element_2 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_3 );
    tmp_tuple_unpack_4__element_3 = NULL;

    }
    {
    // 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_8:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_4__source_iter );
    Py_DECREF( tmp_tuple_unpack_4__source_iter );
    tmp_tuple_unpack_4__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_27;
    CHECK_OBJECT( tmp_tuple_unpack_4__element_1 );
    tmp_assign_source_27 = tmp_tuple_unpack_4__element_1;
    {
        PyObject *old = var__;
        var__ = tmp_assign_source_27;
        Py_INCREF( var__ );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_1 );
    tmp_tuple_unpack_4__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_28;
    CHECK_OBJECT( tmp_tuple_unpack_4__element_2 );
    tmp_assign_source_28 = tmp_tuple_unpack_4__element_2;
    assert( var_have_port == NULL );
    Py_INCREF( tmp_assign_source_28 );
    var_have_port = tmp_assign_source_28;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_2 );
    tmp_tuple_unpack_4__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_29;
    CHECK_OBJECT( tmp_tuple_unpack_4__element_3 );
    tmp_assign_source_29 = tmp_tuple_unpack_4__element_3;
    {
        PyObject *old = var_port;
        var_port = tmp_assign_source_29;
        Py_INCREF( var_port );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_3 );
    tmp_tuple_unpack_4__element_3 = NULL;

    }
    goto branch_end_1;
    branch_no_1:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_30;
    PyObject *tmp_iter_arg_5;
    PyObject *tmp_called_instance_5;
    if ( var_hostinfo == NULL )
    {

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

        exception_lineno = 223;
        type_description_1 = "ooooooooo";
        goto try_except_handler_10;
    }

    tmp_called_instance_5 = var_hostinfo;
    frame_e5427126ae1db89d820cc6b7bbd57717->m_frame.f_lineno = 223;
    tmp_iter_arg_5 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_5, const_str_plain_partition, &PyTuple_GET_ITEM( const_tuple_bytes_chr_58_tuple, 0 ) );

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

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


        exception_lineno = 223;
        type_description_1 = "ooooooooo";
        goto try_except_handler_10;
    }
    tmp_assign_source_30 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_5 );
    Py_DECREF( tmp_iter_arg_5 );
    if ( tmp_assign_source_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 223;
        type_description_1 = "ooooooooo";
        goto try_except_handler_10;
    }
    assert( tmp_tuple_unpack_5__source_iter == NULL );
    tmp_tuple_unpack_5__source_iter = tmp_assign_source_30;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_31;
    PyObject *tmp_unpack_13;
    CHECK_OBJECT( tmp_tuple_unpack_5__source_iter );
    tmp_unpack_13 = tmp_tuple_unpack_5__source_iter;
    tmp_assign_source_31 = UNPACK_NEXT( tmp_unpack_13, 0, 3 );
    if ( tmp_assign_source_31 == 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 = "ooooooooo";
        exception_lineno = 223;
        goto try_except_handler_11;
    }
    assert( tmp_tuple_unpack_5__element_1 == NULL );
    tmp_tuple_unpack_5__element_1 = tmp_assign_source_31;

    }
    {
    PyObject *tmp_assign_source_32;
    PyObject *tmp_unpack_14;
    CHECK_OBJECT( tmp_tuple_unpack_5__source_iter );
    tmp_unpack_14 = tmp_tuple_unpack_5__source_iter;
    tmp_assign_source_32 = UNPACK_NEXT( tmp_unpack_14, 1, 3 );
    if ( tmp_assign_source_32 == 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 = "ooooooooo";
        exception_lineno = 223;
        goto try_except_handler_11;
    }
    assert( tmp_tuple_unpack_5__element_2 == NULL );
    tmp_tuple_unpack_5__element_2 = tmp_assign_source_32;

    }
    {
    PyObject *tmp_assign_source_33;
    PyObject *tmp_unpack_15;
    CHECK_OBJECT( tmp_tuple_unpack_5__source_iter );
    tmp_unpack_15 = tmp_tuple_unpack_5__source_iter;
    tmp_assign_source_33 = UNPACK_NEXT( tmp_unpack_15, 2, 3 );
    if ( tmp_assign_source_33 == 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 = "ooooooooo";
        exception_lineno = 223;
        goto try_except_handler_11;
    }
    assert( tmp_tuple_unpack_5__element_3 == NULL );
    tmp_tuple_unpack_5__element_3 = tmp_assign_source_33;

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

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

    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 = "ooooooooo";
                exception_lineno = 223;
                goto try_except_handler_11;
            }
        }
    }
    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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 223;
        goto try_except_handler_11;
    }
    }
    goto try_end_9;
    // Exception handler code:
    try_except_handler_11:;
    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;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_5__source_iter );
    Py_DECREF( tmp_tuple_unpack_5__source_iter );
    tmp_tuple_unpack_5__source_iter = 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 try_except_handler_10;
    }
    // End of try:
    try_end_9:;
    }
    goto try_end_10;
    // Exception handler code:
    try_except_handler_10:;
    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_XDECREF( tmp_tuple_unpack_5__element_1 );
    tmp_tuple_unpack_5__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_2 );
    tmp_tuple_unpack_5__element_2 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_3 );
    tmp_tuple_unpack_5__element_3 = 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_10:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_5__source_iter );
    Py_DECREF( tmp_tuple_unpack_5__source_iter );
    tmp_tuple_unpack_5__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_34;
    CHECK_OBJECT( tmp_tuple_unpack_5__element_1 );
    tmp_assign_source_34 = tmp_tuple_unpack_5__element_1;
    assert( var_hostname == NULL );
    Py_INCREF( tmp_assign_source_34 );
    var_hostname = tmp_assign_source_34;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_1 );
    tmp_tuple_unpack_5__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_35;
    CHECK_OBJECT( tmp_tuple_unpack_5__element_2 );
    tmp_assign_source_35 = tmp_tuple_unpack_5__element_2;
    assert( var_have_port == NULL );
    Py_INCREF( tmp_assign_source_35 );
    var_have_port = tmp_assign_source_35;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_2 );
    tmp_tuple_unpack_5__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_36;
    CHECK_OBJECT( tmp_tuple_unpack_5__element_3 );
    tmp_assign_source_36 = tmp_tuple_unpack_5__element_3;
    assert( var_port == NULL );
    Py_INCREF( tmp_assign_source_36 );
    var_port = tmp_assign_source_36;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_3 );
    tmp_tuple_unpack_5__element_3 = NULL;

    }
    branch_end_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_operand_name_1;
    if ( var_have_port == NULL )
    {

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

        exception_lineno = 224;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_1 = var_have_port;
    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 = 224;
        type_description_1 = "ooooooooo";
        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_37;
    tmp_assign_source_37 = Py_None;
    {
        PyObject *old = var_port;
        var_port = tmp_assign_source_37;
        Py_INCREF( var_port );
        Py_XDECREF( old );
    }

    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( var_hostname == NULL )
    {

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

        exception_lineno = 226;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_hostname;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( var_port == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "port" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 226;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_port;
    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_e5427126ae1db89d820cc6b7bbd57717 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_e5427126ae1db89d820cc6b7bbd57717 );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_e5427126ae1db89d820cc6b7bbd57717,
        type_description_1,
        par_self,
        var_netloc,
        var__,
        var_hostinfo,
        var_have_open_br,
        var_bracketed,
        var_hostname,
        var_port,
        var_have_port
    );


    // Release cached frame.
    if ( frame_e5427126ae1db89d820cc6b7bbd57717 == cache_frame_e5427126ae1db89d820cc6b7bbd57717 )
    {
        Py_DECREF( frame_e5427126ae1db89d820cc6b7bbd57717 );
    }
    cache_frame_e5427126ae1db89d820cc6b7bbd57717 = NULL;

    assertFrameObject( frame_e5427126ae1db89d820cc6b7bbd57717 );

    // 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( future$backports$urllib$parse$$$function_15__hostinfo );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var__ );
    var__ = NULL;

    }
    {
    Py_XDECREF( var_hostinfo );
    var_hostinfo = NULL;

    }
    {
    Py_XDECREF( var_have_open_br );
    var_have_open_br = NULL;

    }
    {
    Py_XDECREF( var_bracketed );
    var_bracketed = NULL;

    }
    {
    Py_XDECREF( var_hostname );
    var_hostname = NULL;

    }
    {
    Py_XDECREF( var_port );
    var_port = NULL;

    }
    {
    Py_XDECREF( var_have_port );
    var_have_port = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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;

    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var__ );
    var__ = NULL;

    }
    {
    Py_XDECREF( var_hostinfo );
    var_hostinfo = NULL;

    }
    {
    Py_XDECREF( var_have_open_br );
    var_have_open_br = NULL;

    }
    {
    Py_XDECREF( var_bracketed );
    var_bracketed = NULL;

    }
    {
    Py_XDECREF( var_hostname );
    var_hostname = NULL;

    }
    {
    Py_XDECREF( var_port );
    var_port = NULL;

    }
    {
    Py_XDECREF( var_have_port );
    var_have_port = NULL;

    }
    {
    // 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_15__hostinfo );
    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_future$backports$urllib$parse$$$function_16_geturl( 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_123030ca56408f5664661be682519427;
    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;
    static struct Nuitka_FrameObject *cache_frame_123030ca56408f5664661be682519427 = 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_123030ca56408f5664661be682519427, codeobj_123030ca56408f5664661be682519427, module_future$backports$urllib$parse, sizeof(void *) );
    frame_123030ca56408f5664661be682519427 = cache_frame_123030ca56408f5664661be682519427;

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

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

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_attribute_value_1;
    int tmp_truth_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_attribute_value_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_fragment );
    if ( tmp_attribute_value_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 244;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_truth_name_1 = CHECK_IF_TRUE( tmp_attribute_value_1 );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 244;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = tmp_truth_name_1 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_attribute_value_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_left_name_1;
    PyObject *tmp_left_name_2;
    PyObject *tmp_source_name_2;
    PyObject *tmp_right_name_1;
    PyObject *tmp_right_name_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 = 245;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_left_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_url );
    if ( tmp_left_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 245;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_str_chr_35;
    tmp_left_name_1 = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_1 );
    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 = 245;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_left_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 = 245;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = par_self;
    tmp_right_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_fragment );
    if ( tmp_right_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 245;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_return_value = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_2 );
    Py_DECREF( tmp_left_name_1 );
    Py_DECREF( tmp_right_name_2 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 245;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    goto branch_end_1;
    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 = 247;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_4 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_url );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 247;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_end_1:;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_123030ca56408f5664661be682519427 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_123030ca56408f5664661be682519427 );
#endif

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

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


    // Release cached frame.
    if ( frame_123030ca56408f5664661be682519427 == cache_frame_123030ca56408f5664661be682519427 )
    {
        Py_DECREF( frame_123030ca56408f5664661be682519427 );
    }
    cache_frame_123030ca56408f5664661be682519427 = NULL;

    assertFrameObject( frame_123030ca56408f5664661be682519427 );

    // 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( future$backports$urllib$parse$$$function_16_geturl );
    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( future$backports$urllib$parse$$$function_16_geturl );
    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_future$backports$urllib$parse$$$function_17_geturl( 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_8883926a5fa7484d3eeb9e904e61a4d9;
    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_8883926a5fa7484d3eeb9e904e61a4d9 = 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_8883926a5fa7484d3eeb9e904e61a4d9, codeobj_8883926a5fa7484d3eeb9e904e61a4d9, module_future$backports$urllib$parse, sizeof(void *) );
    frame_8883926a5fa7484d3eeb9e904e61a4d9 = cache_frame_8883926a5fa7484d3eeb9e904e61a4d9;

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

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

    // Framed code:
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunsplit );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 252;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_self );
    tmp_args_element_name_1 = par_self;
    frame_8883926a5fa7484d3eeb9e904e61a4d9->m_frame.f_lineno = 252;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 252;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8883926a5fa7484d3eeb9e904e61a4d9 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8883926a5fa7484d3eeb9e904e61a4d9 );
#endif

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

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


    // Release cached frame.
    if ( frame_8883926a5fa7484d3eeb9e904e61a4d9 == cache_frame_8883926a5fa7484d3eeb9e904e61a4d9 )
    {
        Py_DECREF( frame_8883926a5fa7484d3eeb9e904e61a4d9 );
    }
    cache_frame_8883926a5fa7484d3eeb9e904e61a4d9 = NULL;

    assertFrameObject( frame_8883926a5fa7484d3eeb9e904e61a4d9 );

    // 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( future$backports$urllib$parse$$$function_17_geturl );
    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( future$backports$urllib$parse$$$function_17_geturl );
    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_future$backports$urllib$parse$$$function_18_geturl( 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_a4872d4c676c0b83ac50e7b4a64a5d14;
    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_a4872d4c676c0b83ac50e7b4a64a5d14 = 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_a4872d4c676c0b83ac50e7b4a64a5d14, codeobj_a4872d4c676c0b83ac50e7b4a64a5d14, module_future$backports$urllib$parse, sizeof(void *) );
    frame_a4872d4c676c0b83ac50e7b4a64a5d14 = cache_frame_a4872d4c676c0b83ac50e7b4a64a5d14;

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

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

    // Framed code:
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunparse );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 257;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_self );
    tmp_args_element_name_1 = par_self;
    frame_a4872d4c676c0b83ac50e7b4a64a5d14->m_frame.f_lineno = 257;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 257;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a4872d4c676c0b83ac50e7b4a64a5d14 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a4872d4c676c0b83ac50e7b4a64a5d14 );
#endif

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

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


    // Release cached frame.
    if ( frame_a4872d4c676c0b83ac50e7b4a64a5d14 == cache_frame_a4872d4c676c0b83ac50e7b4a64a5d14 )
    {
        Py_DECREF( frame_a4872d4c676c0b83ac50e7b4a64a5d14 );
    }
    cache_frame_a4872d4c676c0b83ac50e7b4a64a5d14 = NULL;

    assertFrameObject( frame_a4872d4c676c0b83ac50e7b4a64a5d14 );

    // 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( future$backports$urllib$parse$$$function_18_geturl );
    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( future$backports$urllib$parse$$$function_18_geturl );
    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_future$backports$urllib$parse$$$function_19_geturl( 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_9379e3d0ff977e6edcc4d7b2e319a0ae;
    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;
    static struct Nuitka_FrameObject *cache_frame_9379e3d0ff977e6edcc4d7b2e319a0ae = 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_9379e3d0ff977e6edcc4d7b2e319a0ae, codeobj_9379e3d0ff977e6edcc4d7b2e319a0ae, module_future$backports$urllib$parse, sizeof(void *) );
    frame_9379e3d0ff977e6edcc4d7b2e319a0ae = cache_frame_9379e3d0ff977e6edcc4d7b2e319a0ae;

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

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

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_attribute_value_1;
    int tmp_truth_name_1;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_attribute_value_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_fragment );
    if ( tmp_attribute_value_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 263;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_truth_name_1 = CHECK_IF_TRUE( tmp_attribute_value_1 );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 263;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = tmp_truth_name_1 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_attribute_value_1 );
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_1:;
    {
    PyObject *tmp_left_name_1;
    PyObject *tmp_left_name_2;
    PyObject *tmp_source_name_2;
    PyObject *tmp_right_name_1;
    PyObject *tmp_right_name_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 = 264;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = par_self;
    tmp_left_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_url );
    if ( tmp_left_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 264;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_bytes_chr_35;
    tmp_left_name_1 = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_1 );
    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 = 264;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    if ( par_self == NULL )
    {
        Py_DECREF( tmp_left_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 = 264;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_3 = par_self;
    tmp_right_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_fragment );
    if ( tmp_right_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 264;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_return_value = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_2 );
    Py_DECREF( tmp_left_name_1 );
    Py_DECREF( tmp_right_name_2 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 264;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    goto branch_end_1;
    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 = 266;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_source_name_4 = par_self;
    tmp_return_value = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_url );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 266;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_end_1:;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9379e3d0ff977e6edcc4d7b2e319a0ae );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9379e3d0ff977e6edcc4d7b2e319a0ae );
#endif

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

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


    // Release cached frame.
    if ( frame_9379e3d0ff977e6edcc4d7b2e319a0ae == cache_frame_9379e3d0ff977e6edcc4d7b2e319a0ae )
    {
        Py_DECREF( frame_9379e3d0ff977e6edcc4d7b2e319a0ae );
    }
    cache_frame_9379e3d0ff977e6edcc4d7b2e319a0ae = NULL;

    assertFrameObject( frame_9379e3d0ff977e6edcc4d7b2e319a0ae );

    // 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( future$backports$urllib$parse$$$function_19_geturl );
    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( future$backports$urllib$parse$$$function_19_geturl );
    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_future$backports$urllib$parse$$$function_20_geturl( 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_25b2dcf932c576a2e0fb637e65287353;
    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_25b2dcf932c576a2e0fb637e65287353 = 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_25b2dcf932c576a2e0fb637e65287353, codeobj_25b2dcf932c576a2e0fb637e65287353, module_future$backports$urllib$parse, sizeof(void *) );
    frame_25b2dcf932c576a2e0fb637e65287353 = cache_frame_25b2dcf932c576a2e0fb637e65287353;

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

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

    // Framed code:
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunsplit );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 271;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_self );
    tmp_args_element_name_1 = par_self;
    frame_25b2dcf932c576a2e0fb637e65287353->m_frame.f_lineno = 271;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 271;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_25b2dcf932c576a2e0fb637e65287353 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_25b2dcf932c576a2e0fb637e65287353 );
#endif

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

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


    // Release cached frame.
    if ( frame_25b2dcf932c576a2e0fb637e65287353 == cache_frame_25b2dcf932c576a2e0fb637e65287353 )
    {
        Py_DECREF( frame_25b2dcf932c576a2e0fb637e65287353 );
    }
    cache_frame_25b2dcf932c576a2e0fb637e65287353 = NULL;

    assertFrameObject( frame_25b2dcf932c576a2e0fb637e65287353 );

    // 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( future$backports$urllib$parse$$$function_20_geturl );
    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( future$backports$urllib$parse$$$function_20_geturl );
    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_future$backports$urllib$parse$$$function_21_geturl( 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_a3cf325bbde3224739f65fffde7401ba;
    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_a3cf325bbde3224739f65fffde7401ba = 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_a3cf325bbde3224739f65fffde7401ba, codeobj_a3cf325bbde3224739f65fffde7401ba, module_future$backports$urllib$parse, sizeof(void *) );
    frame_a3cf325bbde3224739f65fffde7401ba = cache_frame_a3cf325bbde3224739f65fffde7401ba;

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

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

    // Framed code:
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunparse );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 276;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_self );
    tmp_args_element_name_1 = par_self;
    frame_a3cf325bbde3224739f65fffde7401ba->m_frame.f_lineno = 276;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 276;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a3cf325bbde3224739f65fffde7401ba );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a3cf325bbde3224739f65fffde7401ba );
#endif

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

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


    // Release cached frame.
    if ( frame_a3cf325bbde3224739f65fffde7401ba == cache_frame_a3cf325bbde3224739f65fffde7401ba )
    {
        Py_DECREF( frame_a3cf325bbde3224739f65fffde7401ba );
    }
    cache_frame_a3cf325bbde3224739f65fffde7401ba = NULL;

    assertFrameObject( frame_a3cf325bbde3224739f65fffde7401ba );

    // 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( future$backports$urllib$parse$$$function_21_geturl );
    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( future$backports$urllib$parse$$$function_21_geturl );
    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_future$backports$urllib$parse$$$function_22__fix_result_transcoding( 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 *var__result_pairs = NULL;
    PyObject *var__decoded = NULL;
    PyObject *var__encoded = NULL;
    PyObject *tmp_for_loop_1__for_iterator = NULL;
    PyObject *tmp_for_loop_1__iter_value = 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;
    struct Nuitka_FrameObject *frame_d83f066f1112eeff7a691be9592bccb2;
    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_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;
    bool tmp_result;
    PyObject *exception_keeper_type_3;
    PyObject *exception_keeper_value_3;
    PyTracebackObject *exception_keeper_tb_3;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
    static struct Nuitka_FrameObject *cache_frame_d83f066f1112eeff7a691be9592bccb2 = NULL;
    PyObject *tmp_return_value = NULL;
    PyObject *exception_keeper_type_4;
    PyObject *exception_keeper_value_4;
    PyTracebackObject *exception_keeper_tb_4;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_4;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_d83f066f1112eeff7a691be9592bccb2, codeobj_d83f066f1112eeff7a691be9592bccb2, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_d83f066f1112eeff7a691be9592bccb2 = cache_frame_d83f066f1112eeff7a691be9592bccb2;

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

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

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_tuple_element_3;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_tuple_element_4;
    PyObject *tmp_mvar_value_5;
    PyObject *tmp_mvar_value_6;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_DefragResult );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 281;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = tmp_mvar_value_1;
    tmp_tuple_element_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_tuple_element_1, 0, tmp_tuple_element_2 );
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_DefragResultBytes );

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

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

        exception_lineno = 281;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = tmp_mvar_value_2;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_tuple_element_1, 1, tmp_tuple_element_2 );
    tmp_assign_source_1 = PyTuple_New( 3 );
    PyTuple_SET_ITEM( tmp_assign_source_1, 0, tmp_tuple_element_1 );
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_SplitResult );

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

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

        exception_lineno = 282;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_3 = tmp_mvar_value_3;
    tmp_tuple_element_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_tuple_element_1, 0, tmp_tuple_element_3 );
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_SplitResultBytes );

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

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

        exception_lineno = 282;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_3 = tmp_mvar_value_4;
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_tuple_element_1, 1, tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_assign_source_1, 1, tmp_tuple_element_1 );
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_ParseResult );

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

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

        exception_lineno = 283;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_4 = tmp_mvar_value_5;
    tmp_tuple_element_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_tuple_element_1, 0, tmp_tuple_element_4 );
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_ParseResultBytes );

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

    if ( tmp_mvar_value_6 == NULL )
    {
        Py_DECREF( tmp_assign_source_1 );
        Py_DECREF( tmp_tuple_element_1 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "ParseResultBytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 283;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_4 = tmp_mvar_value_6;
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_tuple_element_1, 1, tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_assign_source_1, 2, tmp_tuple_element_1 );
    assert( var__result_pairs == NULL );
    var__result_pairs = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_iter_arg_1;
    CHECK_OBJECT( var__result_pairs );
    tmp_iter_arg_1 = var__result_pairs;
    tmp_assign_source_2 = MAKE_ITERATOR( tmp_iter_arg_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 285;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_for_loop_1__for_iterator == NULL );
    tmp_for_loop_1__for_iterator = tmp_assign_source_2;

    }
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_3;
    CHECK_OBJECT( tmp_for_loop_1__for_iterator );
    tmp_next_source_1 = tmp_for_loop_1__for_iterator;
    tmp_assign_source_3 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "ooo";
            exception_lineno = 285;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = tmp_for_loop_1__iter_value;
        tmp_for_loop_1__iter_value = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_iter_arg_2;
    CHECK_OBJECT( tmp_for_loop_1__iter_value );
    tmp_iter_arg_2 = tmp_for_loop_1__iter_value;
    tmp_assign_source_4 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_2 );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 285;
        type_description_1 = "ooo";
        goto try_except_handler_3;
    }
    {
        PyObject *old = tmp_tuple_unpack_1__source_iter;
        tmp_tuple_unpack_1__source_iter = tmp_assign_source_4;
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_1, 0, 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 = "ooo";
        exception_lineno = 285;
        goto try_except_handler_4;
    }
    {
        PyObject *old = tmp_tuple_unpack_1__element_1;
        tmp_tuple_unpack_1__element_1 = tmp_assign_source_5;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_6 = UNPACK_NEXT( tmp_unpack_2, 1, 2 );
    if ( tmp_assign_source_6 == 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 = "ooo";
        exception_lineno = 285;
        goto try_except_handler_4;
    }
    {
        PyObject *old = tmp_tuple_unpack_1__element_2;
        tmp_tuple_unpack_1__element_2 = tmp_assign_source_6;
        Py_XDECREF( old );
    }

    }
    {
    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 = "ooo";
                exception_lineno = 285;
                goto try_except_handler_4;
            }
        }
    }
    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 = "ooo";
        exception_lineno = 285;
        goto try_except_handler_4;
    }
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_4:;
    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_3;
    }
    // End of try:
    try_end_1:;
    }
    goto try_end_2;
    // Exception handler code:
    try_except_handler_3:;
    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 try_except_handler_2;
    }
    // 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_7;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_7 = tmp_tuple_unpack_1__element_1;
    {
        PyObject *old = var__decoded;
        var__decoded = tmp_assign_source_7;
        Py_INCREF( var__decoded );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_8 = tmp_tuple_unpack_1__element_2;
    {
        PyObject *old = var__encoded;
        var__encoded = tmp_assign_source_8;
        Py_INCREF( var__encoded );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

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

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

        exception_lineno = 286;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }

    tmp_assattr_name_1 = var__encoded;
    if ( var__decoded == NULL )
    {

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

        exception_lineno = 286;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }

    tmp_assattr_target_1 = var__decoded;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_1, const_str_plain__encoded_counterpart, tmp_assattr_name_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 286;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    }
    {
    PyObject *tmp_assattr_name_2;
    PyObject *tmp_assattr_target_2;
    if ( var__decoded == NULL )
    {

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

        exception_lineno = 287;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }

    tmp_assattr_name_2 = var__decoded;
    if ( var__encoded == NULL )
    {

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

        exception_lineno = 287;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }

    tmp_assattr_target_2 = var__encoded;
    tmp_result = SET_ATTRIBUTE( tmp_assattr_target_2, const_str_plain__decoded_counterpart, tmp_assattr_name_2 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 287;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 285;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_3;
    // Exception handler code:
    try_except_handler_2:;
    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( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = 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:;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_d83f066f1112eeff7a691be9592bccb2 );
#endif

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

    goto frame_no_exception_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_d83f066f1112eeff7a691be9592bccb2 );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_d83f066f1112eeff7a691be9592bccb2,
        type_description_1,
        var__result_pairs,
        var__decoded,
        var__encoded
    );


    // Release cached frame.
    if ( frame_d83f066f1112eeff7a691be9592bccb2 == cache_frame_d83f066f1112eeff7a691be9592bccb2 )
    {
        Py_DECREF( frame_d83f066f1112eeff7a691be9592bccb2 );
    }
    cache_frame_d83f066f1112eeff7a691be9592bccb2 = NULL;

    assertFrameObject( frame_d83f066f1112eeff7a691be9592bccb2 );

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

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    {
    Py_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = NULL;

    }
    {
    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( future$backports$urllib$parse$$$function_22__fix_result_transcoding );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( var__result_pairs );
    var__result_pairs = NULL;

    }
    {
    Py_XDECREF( var__decoded );
    var__decoded = NULL;

    }
    {
    Py_XDECREF( var__encoded );
    var__encoded = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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( var__result_pairs );
    var__result_pairs = NULL;

    }
    {
    Py_XDECREF( var__decoded );
    var__decoded = NULL;

    }
    {
    Py_XDECREF( var__encoded );
    var__encoded = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_22__fix_result_transcoding );
    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_future$backports$urllib$parse$$$function_23_urlparse( 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_url = python_pars[ 0 ];
    PyObject *par_scheme = python_pars[ 1 ];
    PyObject *par_allow_fragments = python_pars[ 2 ];
    PyObject *var__coerce_result = NULL;
    PyObject *var_splitresult = NULL;
    PyObject *var_netloc = NULL;
    PyObject *var_query = NULL;
    PyObject *var_fragment = NULL;
    PyObject *var_params = NULL;
    PyObject *var_result = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = 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__element_3 = NULL;
    PyObject *tmp_tuple_unpack_2__element_4 = NULL;
    PyObject *tmp_tuple_unpack_2__element_5 = NULL;
    PyObject *tmp_tuple_unpack_2__source_iter = NULL;
    PyObject *tmp_tuple_unpack_3__element_1 = NULL;
    PyObject *tmp_tuple_unpack_3__element_2 = NULL;
    PyObject *tmp_tuple_unpack_3__source_iter = NULL;
    struct Nuitka_FrameObject *frame_a34b882b4f38a88008b02757bf46fc7d;
    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_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;
    int tmp_res;
    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;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_a34b882b4f38a88008b02757bf46fc7d = 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;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_a34b882b4f38a88008b02757bf46fc7d, codeobj_a34b882b4f38a88008b02757bf46fc7d, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_a34b882b4f38a88008b02757bf46fc7d = cache_frame_a34b882b4f38a88008b02757bf46fc7d;

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

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

    // Framed code:
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__coerce_args );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

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

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_url );
    tmp_args_element_name_1 = par_url;
    CHECK_OBJECT( par_scheme );
    tmp_args_element_name_2 = par_scheme;
    frame_a34b882b4f38a88008b02757bf46fc7d->m_frame.f_lineno = 298;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_iter_arg_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

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

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


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

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


        exception_lineno = 298;
        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_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_2 = UNPACK_NEXT( tmp_unpack_1, 0, 3 );
    if ( tmp_assign_source_2 == 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 = 298;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_2;

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_2, 1, 3 );
    if ( tmp_assign_source_3 == 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 = 298;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_3, 2, 3 );
    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 = 298;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = tmp_assign_source_4;

    }
    {
    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 = 298;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "oooooooooo";
        exception_lineno = 298;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = 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_5;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_5 = tmp_tuple_unpack_1__element_1;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_5;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_6;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_6 = tmp_tuple_unpack_1__element_2;
    {
        PyObject *old = par_scheme;
        par_scheme = tmp_assign_source_6;
        Py_INCREF( par_scheme );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_7;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_7 = tmp_tuple_unpack_1__element_3;
    assert( var__coerce_result == NULL );
    Py_INCREF( tmp_assign_source_7 );
    var__coerce_result = tmp_assign_source_7;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_args_element_name_4;
    PyObject *tmp_args_element_name_5;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlsplit );

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

    if ( tmp_mvar_value_2 == NULL )
    {

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

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

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

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

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

    tmp_args_element_name_3 = par_url;
    if ( par_scheme == NULL )
    {

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

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

    tmp_args_element_name_4 = par_scheme;
    if ( par_allow_fragments == NULL )
    {

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

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

    tmp_args_element_name_5 = par_allow_fragments;
    frame_a34b882b4f38a88008b02757bf46fc7d->m_frame.f_lineno = 299;
    {
        PyObject *call_args[] = { tmp_args_element_name_3, tmp_args_element_name_4, tmp_args_element_name_5 };
        tmp_assign_source_8 = CALL_FUNCTION_WITH_ARGS3( tmp_called_name_2, call_args );
    }

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

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


        exception_lineno = 299;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_splitresult == NULL );
    var_splitresult = tmp_assign_source_8;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_iter_arg_2;
    CHECK_OBJECT( var_splitresult );
    tmp_iter_arg_2 = var_splitresult;
    tmp_assign_source_9 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_2 );
    if ( tmp_assign_source_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 300;
        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_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_10 = UNPACK_NEXT( tmp_unpack_4, 0, 5 );
    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 = 300;
        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_5;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_11 = UNPACK_NEXT( tmp_unpack_5, 1, 5 );
    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 = 300;
        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_assign_source_12;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_12 = UNPACK_NEXT( tmp_unpack_6, 2, 5 );
    if ( tmp_assign_source_12 == 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 = 300;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_3 == NULL );
    tmp_tuple_unpack_2__element_3 = tmp_assign_source_12;

    }
    {
    PyObject *tmp_assign_source_13;
    PyObject *tmp_unpack_7;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_7 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_13 = UNPACK_NEXT( tmp_unpack_7, 3, 5 );
    if ( tmp_assign_source_13 == 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 = 300;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_4 == NULL );
    tmp_tuple_unpack_2__element_4 = tmp_assign_source_13;

    }
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_unpack_8;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_8 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_14 = UNPACK_NEXT( tmp_unpack_8, 4, 5 );
    if ( tmp_assign_source_14 == 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 = 300;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_5 == NULL );
    tmp_tuple_unpack_2__element_5 = tmp_assign_source_14;

    }
    {
    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 = 300;
                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 5)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "oooooooooo";
        exception_lineno = 300;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_4 );
    tmp_tuple_unpack_2__element_4 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_5 );
    tmp_tuple_unpack_2__element_5 = 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_15;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_15 = tmp_tuple_unpack_2__element_1;
    {
        PyObject *old = par_scheme;
        par_scheme = tmp_assign_source_15;
        Py_INCREF( par_scheme );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_16;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_16 = tmp_tuple_unpack_2__element_2;
    assert( var_netloc == NULL );
    Py_INCREF( tmp_assign_source_16 );
    var_netloc = tmp_assign_source_16;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_17;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_3 );
    tmp_assign_source_17 = tmp_tuple_unpack_2__element_3;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_17;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    PyObject *tmp_assign_source_18;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_4 );
    tmp_assign_source_18 = tmp_tuple_unpack_2__element_4;
    assert( var_query == NULL );
    Py_INCREF( tmp_assign_source_18 );
    var_query = tmp_assign_source_18;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_4 );
    tmp_tuple_unpack_2__element_4 = NULL;

    }
    {
    PyObject *tmp_assign_source_19;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_5 );
    tmp_assign_source_19 = tmp_tuple_unpack_2__element_5;
    assert( var_fragment == NULL );
    Py_INCREF( tmp_assign_source_19 );
    var_fragment = tmp_assign_source_19;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_5 );
    tmp_tuple_unpack_2__element_5 = NULL;

    }
    {
    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_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    if ( par_scheme == NULL )
    {

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

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

    tmp_compexpr_left_1 = par_scheme;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_uses_params );

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

    if ( tmp_mvar_value_3 == NULL )
    {

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

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

    tmp_compexpr_right_1 = tmp_mvar_value_3;
    tmp_res = PySequence_Contains( tmp_compexpr_right_1, tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 301;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_1 = ( tmp_res == 1 ) ? 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:;
    tmp_compexpr_left_2 = const_str_chr_59;
    if ( par_url == NULL )
    {

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

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

    tmp_compexpr_right_2 = par_url;
    tmp_res = PySequence_Contains( tmp_compexpr_right_2, tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 301;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_1 = ( tmp_res == 1 ) ? 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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_20;
    PyObject *tmp_iter_arg_3;
    PyObject *tmp_called_name_3;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_args_element_name_6;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__splitparams );

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

    if ( tmp_mvar_value_4 == NULL )
    {

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

        exception_lineno = 302;
        type_description_1 = "oooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_3 = tmp_mvar_value_4;
    if ( par_url == NULL )
    {

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

        exception_lineno = 302;
        type_description_1 = "oooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_6 = par_url;
    frame_a34b882b4f38a88008b02757bf46fc7d->m_frame.f_lineno = 302;
    {
        PyObject *call_args[] = { tmp_args_element_name_6 };
        tmp_iter_arg_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

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

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


        exception_lineno = 302;
        type_description_1 = "oooooooooo";
        goto try_except_handler_6;
    }
    tmp_assign_source_20 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_3 );
    Py_DECREF( tmp_iter_arg_3 );
    if ( tmp_assign_source_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 302;
        type_description_1 = "oooooooooo";
        goto try_except_handler_6;
    }
    assert( tmp_tuple_unpack_3__source_iter == NULL );
    tmp_tuple_unpack_3__source_iter = tmp_assign_source_20;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_21;
    PyObject *tmp_unpack_9;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_9 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_21 = UNPACK_NEXT( tmp_unpack_9, 0, 2 );
    if ( tmp_assign_source_21 == 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 = 302;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_1 == NULL );
    tmp_tuple_unpack_3__element_1 = tmp_assign_source_21;

    }
    {
    PyObject *tmp_assign_source_22;
    PyObject *tmp_unpack_10;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_10 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_22 = UNPACK_NEXT( tmp_unpack_10, 1, 2 );
    if ( tmp_assign_source_22 == 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 = 302;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_2 == NULL );
    tmp_tuple_unpack_3__element_2 = tmp_assign_source_22;

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

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

    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 = 302;
                goto try_except_handler_7;
            }
        }
    }
    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 = 302;
        goto try_except_handler_7;
    }
    }
    goto try_end_5;
    // Exception handler code:
    try_except_handler_7:;
    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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = 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 try_except_handler_6;
    }
    // End of try:
    try_end_5:;
    }
    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;

    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = 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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_23;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_1 );
    tmp_assign_source_23 = tmp_tuple_unpack_3__element_1;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_23;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_24;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_2 );
    tmp_assign_source_24 = tmp_tuple_unpack_3__element_2;
    assert( var_params == NULL );
    Py_INCREF( tmp_assign_source_24 );
    var_params = tmp_assign_source_24;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = NULL;

    }
    goto branch_end_1;
    branch_no_1:;
    {
    PyObject *tmp_assign_source_25;
    tmp_assign_source_25 = const_str_empty;
    assert( var_params == NULL );
    Py_INCREF( tmp_assign_source_25 );
    var_params = tmp_assign_source_25;

    }
    branch_end_1:;
    }
    {
    PyObject *tmp_assign_source_26;
    PyObject *tmp_called_name_4;
    PyObject *tmp_mvar_value_5;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_args_element_name_8;
    PyObject *tmp_args_element_name_9;
    PyObject *tmp_args_element_name_10;
    PyObject *tmp_args_element_name_11;
    PyObject *tmp_args_element_name_12;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_ParseResult );

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

    if ( tmp_mvar_value_5 == NULL )
    {

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

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

    tmp_called_name_4 = tmp_mvar_value_5;
    if ( par_scheme == NULL )
    {

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

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

    tmp_args_element_name_7 = par_scheme;
    if ( var_netloc == NULL )
    {

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

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

    tmp_args_element_name_8 = var_netloc;
    if ( par_url == NULL )
    {

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

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

    tmp_args_element_name_9 = par_url;
    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 = 305;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_10 = var_params;
    if ( var_query == NULL )
    {

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

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

    tmp_args_element_name_11 = var_query;
    if ( var_fragment == NULL )
    {

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

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

    tmp_args_element_name_12 = var_fragment;
    frame_a34b882b4f38a88008b02757bf46fc7d->m_frame.f_lineno = 305;
    {
        PyObject *call_args[] = { tmp_args_element_name_7, tmp_args_element_name_8, tmp_args_element_name_9, tmp_args_element_name_10, tmp_args_element_name_11, tmp_args_element_name_12 };
        tmp_assign_source_26 = CALL_FUNCTION_WITH_ARGS6( tmp_called_name_4, call_args );
    }

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

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


        exception_lineno = 305;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_result == NULL );
    var_result = tmp_assign_source_26;

    }
    {
    PyObject *tmp_called_name_5;
    PyObject *tmp_args_element_name_13;
    if ( var__coerce_result == NULL )
    {

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

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

    tmp_called_name_5 = var__coerce_result;
    CHECK_OBJECT( var_result );
    tmp_args_element_name_13 = var_result;
    frame_a34b882b4f38a88008b02757bf46fc7d->m_frame.f_lineno = 306;
    {
        PyObject *call_args[] = { tmp_args_element_name_13 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_5, call_args );
    }

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

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


        exception_lineno = 306;
        type_description_1 = "oooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a34b882b4f38a88008b02757bf46fc7d );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a34b882b4f38a88008b02757bf46fc7d );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_a34b882b4f38a88008b02757bf46fc7d,
        type_description_1,
        par_url,
        par_scheme,
        par_allow_fragments,
        var__coerce_result,
        var_splitresult,
        var_netloc,
        var_query,
        var_fragment,
        var_params,
        var_result
    );


    // Release cached frame.
    if ( frame_a34b882b4f38a88008b02757bf46fc7d == cache_frame_a34b882b4f38a88008b02757bf46fc7d )
    {
        Py_DECREF( frame_a34b882b4f38a88008b02757bf46fc7d );
    }
    cache_frame_a34b882b4f38a88008b02757bf46fc7d = NULL;

    assertFrameObject( frame_a34b882b4f38a88008b02757bf46fc7d );

    // 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( future$backports$urllib$parse$$$function_23_urlparse );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( par_scheme );
    par_scheme = NULL;

    }
    {
    Py_XDECREF( par_allow_fragments );
    par_allow_fragments = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_splitresult );
    var_splitresult = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_result );
    var_result = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( par_scheme );
    par_scheme = NULL;

    }
    {
    Py_XDECREF( par_allow_fragments );
    par_allow_fragments = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_splitresult );
    var_splitresult = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_result );
    var_result = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_23_urlparse );
    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_future$backports$urllib$parse$$$function_24__splitparams( 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_url = python_pars[ 0 ];
    PyObject *var_i = NULL;
    struct Nuitka_FrameObject *frame_199e954c15a38d6cb686e91d1a84e0d3;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    int tmp_res;
    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;
    static struct Nuitka_FrameObject *cache_frame_199e954c15a38d6cb686e91d1a84e0d3 = 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_199e954c15a38d6cb686e91d1a84e0d3, codeobj_199e954c15a38d6cb686e91d1a84e0d3, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *) );
    frame_199e954c15a38d6cb686e91d1a84e0d3 = cache_frame_199e954c15a38d6cb686e91d1a84e0d3;

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

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

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    tmp_compexpr_left_1 = const_str_chr_47;
    CHECK_OBJECT( par_url );
    tmp_compexpr_right_1 = par_url;
    tmp_res = PySequence_Contains( tmp_compexpr_right_1, tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 309;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res == 1 ) ? 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_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_called_instance_1;
    if ( par_url == NULL )
    {

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

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

    tmp_source_name_1 = par_url;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_find );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 310;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_1 = const_str_chr_59;
    if ( par_url == 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", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

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

    tmp_called_instance_1 = par_url;
    frame_199e954c15a38d6cb686e91d1a84e0d3->m_frame.f_lineno = 310;
    tmp_args_element_name_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_rfind, &PyTuple_GET_ITEM( const_tuple_str_chr_47_tuple, 0 ) );

    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 = 310;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    frame_199e954c15a38d6cb686e91d1a84e0d3->m_frame.f_lineno = 310;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_assign_source_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 310;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    assert( var_i == NULL );
    var_i = tmp_assign_source_1;

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    CHECK_OBJECT( var_i );
    tmp_compexpr_left_2 = var_i;
    tmp_compexpr_right_2 = const_int_0;
    tmp_res = RICH_COMPARE_BOOL_LT( 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 = 311;
        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_tuple_element_1;
    if ( par_url == NULL )
    {

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

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

    tmp_tuple_element_1 = par_url;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    tmp_tuple_element_1 = const_str_empty;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_1 );
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    goto branch_end_1;
    branch_no_1:;
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_instance_2;
    if ( par_url == NULL )
    {

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

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

    tmp_called_instance_2 = par_url;
    frame_199e954c15a38d6cb686e91d1a84e0d3->m_frame.f_lineno = 314;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_find, &PyTuple_GET_ITEM( const_tuple_str_chr_59_tuple, 0 ) );

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

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


        exception_lineno = 314;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    assert( var_i == NULL );
    var_i = tmp_assign_source_2;

    }
    branch_end_1:;
    }
    {
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_start_name_1;
    PyObject *tmp_stop_name_1;
    PyObject *tmp_step_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_start_name_2;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_stop_name_2;
    PyObject *tmp_step_name_2;
    if ( par_url == NULL )
    {

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

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

    tmp_subscribed_name_1 = par_url;
    tmp_start_name_1 = Py_None;
    if ( var_i == NULL )
    {

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

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

    tmp_stop_name_1 = var_i;
    tmp_step_name_1 = Py_None;
    tmp_subscript_name_1 = MAKE_SLICEOBJ3( tmp_start_name_1, tmp_stop_name_1, tmp_step_name_1 );
    assert( !(tmp_subscript_name_1 == NULL) );
    tmp_tuple_element_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    Py_DECREF( tmp_subscript_name_1 );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 315;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_return_value = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_2 );
    if ( par_url == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

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

    tmp_subscribed_name_2 = par_url;
    if ( var_i == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "i" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

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

    tmp_left_name_1 = var_i;
    tmp_right_name_1 = const_int_pos_1;
    tmp_start_name_2 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    if ( tmp_start_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 315;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_stop_name_2 = Py_None;
    tmp_step_name_2 = Py_None;
    tmp_subscript_name_2 = MAKE_SLICEOBJ3( tmp_start_name_2, tmp_stop_name_2, tmp_step_name_2 );
    Py_DECREF( tmp_start_name_2 );
    assert( !(tmp_subscript_name_2 == NULL) );
    tmp_tuple_element_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscript_name_2 );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 315;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_2 );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_199e954c15a38d6cb686e91d1a84e0d3 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_199e954c15a38d6cb686e91d1a84e0d3 );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_199e954c15a38d6cb686e91d1a84e0d3,
        type_description_1,
        par_url,
        var_i
    );


    // Release cached frame.
    if ( frame_199e954c15a38d6cb686e91d1a84e0d3 == cache_frame_199e954c15a38d6cb686e91d1a84e0d3 )
    {
        Py_DECREF( frame_199e954c15a38d6cb686e91d1a84e0d3 );
    }
    cache_frame_199e954c15a38d6cb686e91d1a84e0d3 = NULL;

    assertFrameObject( frame_199e954c15a38d6cb686e91d1a84e0d3 );

    // 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( future$backports$urllib$parse$$$function_24__splitparams );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_i );
    var_i = 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_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_i );
    var_i = 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( future$backports$urllib$parse$$$function_24__splitparams );
    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_future$backports$urllib$parse$$$function_25__splitnetloc( 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_url = python_pars[ 0 ];
    PyObject *par_start = python_pars[ 1 ];
    PyObject *var_delim = NULL;
    PyObject *var_c = NULL;
    PyObject *var_wdelim = NULL;
    PyObject *tmp_for_loop_1__for_iterator = NULL;
    PyObject *tmp_for_loop_1__iter_value = NULL;
    struct Nuitka_FrameObject *frame_a6c780f74de0c967e1bd9a05729d3e5b;
    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 *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_a6c780f74de0c967e1bd9a05729d3e5b = NULL;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_a6c780f74de0c967e1bd9a05729d3e5b, codeobj_a6c780f74de0c967e1bd9a05729d3e5b, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_a6c780f74de0c967e1bd9a05729d3e5b = cache_frame_a6c780f74de0c967e1bd9a05729d3e5b;

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

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

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_len_arg_1;
    CHECK_OBJECT( par_url );
    tmp_len_arg_1 = par_url;
    tmp_assign_source_1 = BUILTIN_LEN( tmp_len_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 318;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_delim == NULL );
    var_delim = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_iter_arg_1;
    tmp_iter_arg_1 = const_str_digest_6570a1fceb79a7335e26db51f18a4589;
    tmp_assign_source_2 = MAKE_ITERATOR( tmp_iter_arg_1 );
    assert( !(tmp_assign_source_2 == NULL) );
    assert( tmp_for_loop_1__for_iterator == NULL );
    tmp_for_loop_1__for_iterator = tmp_assign_source_2;

    }
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_3;
    CHECK_OBJECT( tmp_for_loop_1__for_iterator );
    tmp_next_source_1 = tmp_for_loop_1__for_iterator;
    tmp_assign_source_3 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "ooooo";
            exception_lineno = 319;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = tmp_for_loop_1__iter_value;
        tmp_for_loop_1__iter_value = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_4;
    CHECK_OBJECT( tmp_for_loop_1__iter_value );
    tmp_assign_source_4 = tmp_for_loop_1__iter_value;
    {
        PyObject *old = var_c;
        var_c = tmp_assign_source_4;
        Py_INCREF( var_c );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    if ( par_url == NULL )
    {

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

        exception_lineno = 320;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }

    tmp_source_name_1 = par_url;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_find );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 320;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }
    if ( var_c == 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", "c" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 320;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }

    tmp_args_element_name_1 = var_c;
    if ( par_start == 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", "start" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 320;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }

    tmp_args_element_name_2 = par_start;
    frame_a6c780f74de0c967e1bd9a05729d3e5b->m_frame.f_lineno = 320;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_assign_source_5 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 320;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }
    {
        PyObject *old = var_wdelim;
        var_wdelim = tmp_assign_source_5;
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    CHECK_OBJECT( var_wdelim );
    tmp_compexpr_left_1 = var_wdelim;
    tmp_compexpr_right_1 = const_int_0;
    tmp_res = RICH_COMPARE_BOOL_GE( 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 = 321;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }
    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_6;
    PyObject *tmp_called_name_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_args_element_name_4;
    tmp_called_name_2 = LOOKUP_BUILTIN( const_str_plain_min );
    assert( tmp_called_name_2 != NULL );
    if ( var_delim == NULL )
    {

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

        exception_lineno = 322;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }

    tmp_args_element_name_3 = var_delim;
    if ( var_wdelim == NULL )
    {

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

        exception_lineno = 322;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }

    tmp_args_element_name_4 = var_wdelim;
    frame_a6c780f74de0c967e1bd9a05729d3e5b->m_frame.f_lineno = 322;
    {
        PyObject *call_args[] = { tmp_args_element_name_3, tmp_args_element_name_4 };
        tmp_assign_source_6 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

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

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


        exception_lineno = 322;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }
    {
        PyObject *old = var_delim;
        var_delim = tmp_assign_source_6;
        Py_XDECREF( old );
    }

    }
    branch_no_1:;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 319;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    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( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = 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:;
    }
    {
    Py_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = NULL;

    }
    {
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_start_name_1;
    PyObject *tmp_stop_name_1;
    PyObject *tmp_step_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_start_name_2;
    PyObject *tmp_stop_name_2;
    PyObject *tmp_step_name_2;
    if ( par_url == NULL )
    {

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

        exception_lineno = 323;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_url;
    if ( par_start == NULL )
    {

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

        exception_lineno = 323;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_start_name_1 = par_start;
    if ( var_delim == NULL )
    {

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

        exception_lineno = 323;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_stop_name_1 = var_delim;
    tmp_step_name_1 = Py_None;
    tmp_subscript_name_1 = MAKE_SLICEOBJ3( tmp_start_name_1, tmp_stop_name_1, tmp_step_name_1 );
    assert( !(tmp_subscript_name_1 == NULL) );
    tmp_tuple_element_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    Py_DECREF( tmp_subscript_name_1 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 323;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_return_value = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( par_url == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 323;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_url;
    if ( var_delim == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "delim" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 323;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_start_name_2 = var_delim;
    tmp_stop_name_2 = Py_None;
    tmp_step_name_2 = Py_None;
    tmp_subscript_name_2 = MAKE_SLICEOBJ3( tmp_start_name_2, tmp_stop_name_2, tmp_step_name_2 );
    assert( !(tmp_subscript_name_2 == NULL) );
    tmp_tuple_element_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscript_name_2 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 323;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_1 );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a6c780f74de0c967e1bd9a05729d3e5b );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a6c780f74de0c967e1bd9a05729d3e5b );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_a6c780f74de0c967e1bd9a05729d3e5b,
        type_description_1,
        par_url,
        par_start,
        var_delim,
        var_c,
        var_wdelim
    );


    // Release cached frame.
    if ( frame_a6c780f74de0c967e1bd9a05729d3e5b == cache_frame_a6c780f74de0c967e1bd9a05729d3e5b )
    {
        Py_DECREF( frame_a6c780f74de0c967e1bd9a05729d3e5b );
    }
    cache_frame_a6c780f74de0c967e1bd9a05729d3e5b = NULL;

    assertFrameObject( frame_a6c780f74de0c967e1bd9a05729d3e5b );

    // 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( future$backports$urllib$parse$$$function_25__splitnetloc );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( par_start );
    par_start = NULL;

    }
    {
    Py_XDECREF( var_delim );
    var_delim = NULL;

    }
    {
    Py_XDECREF( var_c );
    var_c = NULL;

    }
    {
    Py_XDECREF( var_wdelim );
    var_wdelim = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( par_start );
    par_start = NULL;

    }
    {
    Py_XDECREF( var_delim );
    var_delim = NULL;

    }
    {
    Py_XDECREF( var_c );
    var_c = NULL;

    }
    {
    Py_XDECREF( var_wdelim );
    var_wdelim = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_25__splitnetloc );
    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_future$backports$urllib$parse$$$function_26_urlsplit( 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_url = python_pars[ 0 ];
    PyObject *par_scheme = python_pars[ 1 ];
    PyObject *par_allow_fragments = python_pars[ 2 ];
    PyObject *var__coerce_result = NULL;
    PyObject *var_key = NULL;
    PyObject *var_cached = NULL;
    PyObject *var_netloc = NULL;
    PyObject *var_query = NULL;
    PyObject *var_fragment = NULL;
    PyObject *var_i = NULL;
    PyObject *var_v = NULL;
    PyObject *var_c = NULL;
    PyObject *var_rest = NULL;
    nuitka_bool tmp_for_loop_1__break_indicator = NUITKA_BOOL_UNASSIGNED;
    PyObject *tmp_for_loop_1__for_iterator = NULL;
    PyObject *tmp_for_loop_1__iter_value = NULL;
    PyObject *tmp_genexpr_1__$0 = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = 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;
    PyObject *tmp_tuple_unpack_3__element_1 = NULL;
    PyObject *tmp_tuple_unpack_3__element_2 = NULL;
    PyObject *tmp_tuple_unpack_3__source_iter = NULL;
    PyObject *tmp_tuple_unpack_4__element_1 = NULL;
    PyObject *tmp_tuple_unpack_4__element_2 = NULL;
    PyObject *tmp_tuple_unpack_4__source_iter = NULL;
    PyObject *tmp_tuple_unpack_5__element_1 = NULL;
    PyObject *tmp_tuple_unpack_5__element_2 = NULL;
    PyObject *tmp_tuple_unpack_5__source_iter = NULL;
    PyObject *tmp_tuple_unpack_6__element_1 = NULL;
    PyObject *tmp_tuple_unpack_6__element_2 = NULL;
    PyObject *tmp_tuple_unpack_6__source_iter = NULL;
    PyObject *tmp_tuple_unpack_7__element_1 = NULL;
    PyObject *tmp_tuple_unpack_7__element_2 = NULL;
    PyObject *tmp_tuple_unpack_7__source_iter = NULL;
    PyObject *tmp_tuple_unpack_8__element_1 = NULL;
    PyObject *tmp_tuple_unpack_8__element_2 = NULL;
    PyObject *tmp_tuple_unpack_8__source_iter = NULL;
    struct Nuitka_FrameObject *frame_8dc6ac7b62d07d5b5cde8d34abc8acbb;
    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_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;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    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;
    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;
    bool tmp_result;
    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 *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 *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 *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 *exception_keeper_type_19;
    PyObject *exception_keeper_value_19;
    PyTracebackObject *exception_keeper_tb_19;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_19;
    static struct Nuitka_FrameObject *cache_frame_8dc6ac7b62d07d5b5cde8d34abc8acbb = NULL;
    PyObject *exception_keeper_type_20;
    PyObject *exception_keeper_value_20;
    PyTracebackObject *exception_keeper_tb_20;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_20;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_8dc6ac7b62d07d5b5cde8d34abc8acbb, codeobj_8dc6ac7b62d07d5b5cde8d34abc8acbb, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb = cache_frame_8dc6ac7b62d07d5b5cde8d34abc8acbb;

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

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

    // Framed code:
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__coerce_args );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 331;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_2;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_url );
    tmp_args_element_name_1 = par_url;
    CHECK_OBJECT( par_scheme );
    tmp_args_element_name_2 = par_scheme;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 331;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_iter_arg_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 331;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_1 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 331;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_2 = UNPACK_NEXT( tmp_unpack_1, 0, 3 );
    if ( tmp_assign_source_2 == 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 = "ooooooooooooo";
        exception_lineno = 331;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_2;

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_2, 1, 3 );
    if ( tmp_assign_source_3 == 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 = "ooooooooooooo";
        exception_lineno = 331;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_3, 2, 3 );
    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 = "ooooooooooooo";
        exception_lineno = 331;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = tmp_assign_source_4;

    }
    {
    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 = "ooooooooooooo";
                exception_lineno = 331;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooooooo";
        exception_lineno = 331;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = 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_5;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_5 = tmp_tuple_unpack_1__element_1;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_5;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_6;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_6 = tmp_tuple_unpack_1__element_2;
    {
        PyObject *old = par_scheme;
        par_scheme = tmp_assign_source_6;
        Py_INCREF( par_scheme );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_7;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_7 = tmp_tuple_unpack_1__element_3;
    assert( var__coerce_result == NULL );
    Py_INCREF( tmp_assign_source_7 );
    var__coerce_result = tmp_assign_source_7;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_value_name_1;
    if ( par_allow_fragments == NULL )
    {

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

        exception_lineno = 332;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_value_name_1 = par_allow_fragments;
    tmp_res = CHECK_IF_TRUE( tmp_value_name_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 332;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_8 = ( tmp_res != 0 ) ? Py_True : Py_False;
    {
        PyObject *old = par_allow_fragments;
        par_allow_fragments = tmp_assign_source_8;
        Py_INCREF( par_allow_fragments );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_type_arg_1;
    PyObject *tmp_type_arg_2;
    if ( par_url == NULL )
    {

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

        exception_lineno = 333;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_url;
    tmp_assign_source_9 = PyTuple_New( 5 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_assign_source_9, 0, tmp_tuple_element_1 );
    if ( par_scheme == NULL )
    {
        Py_DECREF( tmp_assign_source_9 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "scheme" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 333;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_scheme;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_assign_source_9, 1, tmp_tuple_element_1 );
    CHECK_OBJECT( par_allow_fragments );
    tmp_tuple_element_1 = par_allow_fragments;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_assign_source_9, 2, tmp_tuple_element_1 );
    if ( par_url == NULL )
    {
        Py_DECREF( tmp_assign_source_9 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 333;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_type_arg_1 = par_url;
    tmp_tuple_element_1 = BUILTIN_TYPE1( tmp_type_arg_1 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 333;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_assign_source_9, 3, tmp_tuple_element_1 );
    if ( par_scheme == NULL )
    {
        Py_DECREF( tmp_assign_source_9 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "scheme" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 333;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_type_arg_2 = par_scheme;
    tmp_tuple_element_1 = BUILTIN_TYPE1( tmp_type_arg_2 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 333;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_assign_source_9, 4, tmp_tuple_element_1 );
    assert( var_key == NULL );
    var_key = tmp_assign_source_9;

    }
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_called_name_2;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_args_element_name_4;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__parse_cache );

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

    if ( tmp_mvar_value_2 == NULL )
    {

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

        exception_lineno = 334;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_2;
    tmp_called_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_get );
    if ( tmp_called_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 334;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_key == 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", "key" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 334;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_3 = var_key;
    tmp_args_element_name_4 = Py_None;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 334;
    {
        PyObject *call_args[] = { tmp_args_element_name_3, tmp_args_element_name_4 };
        tmp_assign_source_10 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

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

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


        exception_lineno = 334;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_cached == NULL );
    var_cached = tmp_assign_source_10;

    }
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_cached );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_cached );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 335;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = tmp_truth_name_1 == 1 ? 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_called_name_3;
    PyObject *tmp_args_element_name_5;
    if ( var__coerce_result == NULL )
    {

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

        exception_lineno = 336;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_3 = var__coerce_result;
    CHECK_OBJECT( var_cached );
    tmp_args_element_name_5 = var_cached;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 336;
    {
        PyObject *call_args[] = { tmp_args_element_name_5 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

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

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


        exception_lineno = 336;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_len_arg_1;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_mvar_value_4;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__parse_cache );

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

    if ( tmp_mvar_value_3 == NULL )
    {

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

        exception_lineno = 337;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_len_arg_1 = tmp_mvar_value_3;
    tmp_compexpr_left_1 = BUILTIN_LEN( tmp_len_arg_1 );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 337;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_MAX_CACHE_SIZE );

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

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

        exception_lineno = 337;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_1 = tmp_mvar_value_4;
    tmp_res = RICH_COMPARE_BOOL_GE( 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 = 337;
        type_description_1 = "ooooooooooooo";
        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_called_name_4;
    PyObject *tmp_mvar_value_5;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_clear_cache );

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

    if ( tmp_mvar_value_5 == NULL )
    {

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

        exception_lineno = 338;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_4 = tmp_mvar_value_5;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 338;
    tmp_unused = CALL_FUNCTION_NO_ARGS( tmp_called_name_4 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 338;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    Py_DECREF( tmp_unused );
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_assign_source_11;
    tmp_assign_source_11 = const_str_empty;
    assert( var_netloc == NULL );
    Py_INCREF( tmp_assign_source_11 );
    var_netloc = tmp_assign_source_11;

    }
    {
    PyObject *tmp_assign_source_12;
    tmp_assign_source_12 = const_str_empty;
    assert( var_query == NULL );
    Py_INCREF( tmp_assign_source_12 );
    var_query = tmp_assign_source_12;

    }
    {
    PyObject *tmp_assign_source_13;
    tmp_assign_source_13 = const_str_empty;
    assert( var_fragment == NULL );
    Py_INCREF( tmp_assign_source_13 );
    var_fragment = tmp_assign_source_13;

    }
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_called_instance_1;
    if ( par_url == NULL )
    {

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

        exception_lineno = 340;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_1 = par_url;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 340;
    tmp_assign_source_14 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_find, &PyTuple_GET_ITEM( const_tuple_str_chr_58_tuple, 0 ) );

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

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


        exception_lineno = 340;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_i == NULL );
    var_i = tmp_assign_source_14;

    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    CHECK_OBJECT( var_i );
    tmp_compexpr_left_2 = var_i;
    tmp_compexpr_right_2 = const_int_0;
    tmp_res = RICH_COMPARE_BOOL_GT( 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 = 341;
        type_description_1 = "ooooooooooooo";
        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:;
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_start_name_1;
    PyObject *tmp_stop_name_1;
    PyObject *tmp_step_name_1;
    if ( par_url == NULL )
    {

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

        exception_lineno = 342;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_url;
    tmp_start_name_1 = Py_None;
    if ( var_i == NULL )
    {

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

        exception_lineno = 342;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_stop_name_1 = var_i;
    tmp_step_name_1 = Py_None;
    tmp_subscript_name_1 = MAKE_SLICEOBJ3( tmp_start_name_1, tmp_stop_name_1, tmp_step_name_1 );
    assert( !(tmp_subscript_name_1 == NULL) );
    tmp_compexpr_left_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    Py_DECREF( tmp_subscript_name_1 );
    if ( tmp_compexpr_left_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 342;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_3 = const_str_plain_http;
    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 = 342;
        type_description_1 = "ooooooooooooo";
        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_15;
    PyObject *tmp_called_instance_2;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_start_name_2;
    PyObject *tmp_stop_name_2;
    PyObject *tmp_step_name_2;
    if ( par_url == NULL )
    {

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

        exception_lineno = 343;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_url;
    tmp_start_name_2 = Py_None;
    if ( var_i == NULL )
    {

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

        exception_lineno = 343;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_stop_name_2 = var_i;
    tmp_step_name_2 = Py_None;
    tmp_subscript_name_2 = MAKE_SLICEOBJ3( tmp_start_name_2, tmp_stop_name_2, tmp_step_name_2 );
    assert( !(tmp_subscript_name_2 == NULL) );
    tmp_called_instance_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscript_name_2 );
    if ( tmp_called_instance_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 343;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 343;
    tmp_assign_source_15 = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain_lower );
    Py_DECREF( tmp_called_instance_2 );
    if ( tmp_assign_source_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 343;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_scheme;
        par_scheme = tmp_assign_source_15;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_16;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_start_name_3;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_stop_name_3;
    PyObject *tmp_step_name_3;
    if ( par_url == NULL )
    {

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

        exception_lineno = 344;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = par_url;
    if ( var_i == NULL )
    {

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

        exception_lineno = 344;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_left_name_1 = var_i;
    tmp_right_name_1 = const_int_pos_1;
    tmp_start_name_3 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    if ( tmp_start_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 344;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_stop_name_3 = Py_None;
    tmp_step_name_3 = Py_None;
    tmp_subscript_name_3 = MAKE_SLICEOBJ3( tmp_start_name_3, tmp_stop_name_3, tmp_step_name_3 );
    Py_DECREF( tmp_start_name_3 );
    assert( !(tmp_subscript_name_3 == NULL) );
    tmp_assign_source_16 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    Py_DECREF( tmp_subscript_name_3 );
    if ( tmp_assign_source_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 344;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_16;
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    CHECK_OBJECT( par_url );
    tmp_subscribed_name_4 = par_url;
    tmp_subscript_name_4 = const_slice_none_int_pos_2_none;
    tmp_compexpr_left_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    if ( tmp_compexpr_left_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 345;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_4 = const_str_digest_13971ae58b983978540cbb4bbf3b1360;
    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 = 345;
        type_description_1 = "ooooooooooooo";
        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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_17;
    PyObject *tmp_iter_arg_2;
    PyObject *tmp_called_name_5;
    PyObject *tmp_mvar_value_6;
    PyObject *tmp_args_element_name_6;
    PyObject *tmp_args_element_name_7;
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__splitnetloc );

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

    if ( tmp_mvar_value_6 == NULL )
    {

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

        exception_lineno = 346;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_4;
    }

    tmp_called_name_5 = tmp_mvar_value_6;
    if ( par_url == NULL )
    {

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

        exception_lineno = 346;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_4;
    }

    tmp_args_element_name_6 = par_url;
    tmp_args_element_name_7 = const_int_pos_2;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 346;
    {
        PyObject *call_args[] = { tmp_args_element_name_6, tmp_args_element_name_7 };
        tmp_iter_arg_2 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_5, call_args );
    }

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

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


        exception_lineno = 346;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_4;
    }
    tmp_assign_source_17 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_2 );
    Py_DECREF( tmp_iter_arg_2 );
    if ( tmp_assign_source_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 346;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_4;
    }
    assert( tmp_tuple_unpack_2__source_iter == NULL );
    tmp_tuple_unpack_2__source_iter = tmp_assign_source_17;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_18;
    PyObject *tmp_unpack_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_18 = UNPACK_NEXT( tmp_unpack_4, 0, 2 );
    if ( tmp_assign_source_18 == 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 = "ooooooooooooo";
        exception_lineno = 346;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_1 == NULL );
    tmp_tuple_unpack_2__element_1 = tmp_assign_source_18;

    }
    {
    PyObject *tmp_assign_source_19;
    PyObject *tmp_unpack_5;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_19 = UNPACK_NEXT( tmp_unpack_5, 1, 2 );
    if ( tmp_assign_source_19 == 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 = "ooooooooooooo";
        exception_lineno = 346;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_2 == NULL );
    tmp_tuple_unpack_2__element_2 = tmp_assign_source_19;

    }
    {
    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 = "ooooooooooooo";
                exception_lineno = 346;
                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 = "ooooooooooooo";
        exception_lineno = 346;
        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_20;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_20 = tmp_tuple_unpack_2__element_1;
    {
        PyObject *old = var_netloc;
        var_netloc = tmp_assign_source_20;
        Py_INCREF( var_netloc );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_21;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_21 = tmp_tuple_unpack_2__element_2;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_21;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_6;
    int tmp_or_left_truth_1;
    nuitka_bool tmp_or_left_value_1;
    nuitka_bool tmp_or_right_value_1;
    int tmp_and_left_truth_1;
    nuitka_bool tmp_and_left_value_1;
    nuitka_bool tmp_and_right_value_1;
    PyObject *tmp_compexpr_left_5;
    PyObject *tmp_compexpr_right_5;
    PyObject *tmp_compexpr_left_6;
    PyObject *tmp_compexpr_right_6;
    int tmp_and_left_truth_2;
    nuitka_bool tmp_and_left_value_2;
    nuitka_bool tmp_and_right_value_2;
    PyObject *tmp_compexpr_left_7;
    PyObject *tmp_compexpr_right_7;
    PyObject *tmp_compexpr_left_8;
    PyObject *tmp_compexpr_right_8;
    tmp_compexpr_left_5 = const_str_chr_91;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 347;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_5 = var_netloc;
    tmp_res = PySequence_Contains( tmp_compexpr_right_5, tmp_compexpr_left_5 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 347;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_1 = ( tmp_res == 1 ) ? 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:;
    tmp_compexpr_left_6 = const_str_chr_93;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 347;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_6 = var_netloc;
    tmp_res = PySequence_Contains( tmp_compexpr_right_6, tmp_compexpr_left_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 347;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_1 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_or_left_value_1 = tmp_and_right_value_1;
    goto and_end_1;
    and_left_1:;
    tmp_or_left_value_1 = tmp_and_left_value_1;
    and_end_1:;
    tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_or_left_truth_1 == 1 )
    {
        goto or_left_1;
    }
    else
    {
        goto or_right_1;
    }
    or_right_1:;
    tmp_compexpr_left_7 = const_str_chr_93;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 348;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_7 = var_netloc;
    tmp_res = PySequence_Contains( tmp_compexpr_right_7, tmp_compexpr_left_7 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 348;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_2 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_2 = tmp_and_left_value_2 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_2 == 1 )
    {
        goto and_right_2;
    }
    else
    {
        goto and_left_2;
    }
    and_right_2:;
    tmp_compexpr_left_8 = const_str_chr_91;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 348;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_8 = var_netloc;
    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 = 348;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_2 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_or_right_value_1 = tmp_and_right_value_2;
    goto and_end_2;
    and_left_2:;
    tmp_or_right_value_1 = tmp_and_left_value_2;
    and_end_2:;
    tmp_condition_result_6 = tmp_or_right_value_1;
    goto or_end_1;
    or_left_1:;
    tmp_condition_result_6 = tmp_or_left_value_1;
    or_end_1:;
    if ( tmp_condition_result_6 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_6;
    }
    else
    {
        goto branch_no_6;
    }
    branch_yes_6:;
    {
    PyObject *tmp_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    tmp_make_exception_arg_1 = const_str_digest_24463121abb84407fee73fe6d9fca438;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 349;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 349;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooooooooooooo";
    goto frame_exception_exit_1;
    }
    branch_no_6:;
    }
    branch_no_5:;
    }
    {
    nuitka_bool tmp_condition_result_7;
    int tmp_and_left_truth_3;
    nuitka_bool tmp_and_left_value_3;
    nuitka_bool tmp_and_right_value_3;
    int tmp_truth_name_2;
    PyObject *tmp_compexpr_left_9;
    PyObject *tmp_compexpr_right_9;
    if ( par_allow_fragments == NULL )
    {

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

        exception_lineno = 350;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_truth_name_2 = CHECK_IF_TRUE( par_allow_fragments );
    if ( tmp_truth_name_2 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 350;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_3 = tmp_truth_name_2 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_3 = tmp_and_left_value_3 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_3 == 1 )
    {
        goto and_right_3;
    }
    else
    {
        goto and_left_3;
    }
    and_right_3:;
    tmp_compexpr_left_9 = const_str_chr_35;
    if ( par_url == NULL )
    {

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

        exception_lineno = 350;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_9 = par_url;
    tmp_res = PySequence_Contains( tmp_compexpr_right_9, tmp_compexpr_left_9 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 350;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_3 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_7 = tmp_and_right_value_3;
    goto and_end_3;
    and_left_3:;
    tmp_condition_result_7 = tmp_and_left_value_3;
    and_end_3:;
    if ( tmp_condition_result_7 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_7;
    }
    else
    {
        goto branch_no_7;
    }
    branch_yes_7:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_22;
    PyObject *tmp_iter_arg_3;
    PyObject *tmp_called_instance_3;
    if ( par_url == NULL )
    {

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

        exception_lineno = 351;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_instance_3 = par_url;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 351;
    tmp_iter_arg_3 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_3, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_35_int_pos_1_tuple, 0 ) );

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

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


        exception_lineno = 351;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    tmp_assign_source_22 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_3 );
    Py_DECREF( tmp_iter_arg_3 );
    if ( tmp_assign_source_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 351;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    assert( tmp_tuple_unpack_3__source_iter == NULL );
    tmp_tuple_unpack_3__source_iter = tmp_assign_source_22;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_23;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_23 = UNPACK_NEXT( tmp_unpack_6, 0, 2 );
    if ( tmp_assign_source_23 == 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 = "ooooooooooooo";
        exception_lineno = 351;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_1 == NULL );
    tmp_tuple_unpack_3__element_1 = tmp_assign_source_23;

    }
    {
    PyObject *tmp_assign_source_24;
    PyObject *tmp_unpack_7;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_7 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_24 = UNPACK_NEXT( tmp_unpack_7, 1, 2 );
    if ( tmp_assign_source_24 == 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 = "ooooooooooooo";
        exception_lineno = 351;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_2 == NULL );
    tmp_tuple_unpack_3__element_2 = tmp_assign_source_24;

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

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

    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 = "ooooooooooooo";
                exception_lineno = 351;
                goto try_except_handler_7;
            }
        }
    }
    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 = "ooooooooooooo";
        exception_lineno = 351;
        goto try_except_handler_7;
    }
    }
    goto try_end_5;
    // Exception handler code:
    try_except_handler_7:;
    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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = 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 try_except_handler_6;
    }
    // End of try:
    try_end_5:;
    }
    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;

    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = 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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_25;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_1 );
    tmp_assign_source_25 = tmp_tuple_unpack_3__element_1;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_25;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_26;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_2 );
    tmp_assign_source_26 = tmp_tuple_unpack_3__element_2;
    {
        PyObject *old = var_fragment;
        var_fragment = tmp_assign_source_26;
        Py_INCREF( var_fragment );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = NULL;

    }
    branch_no_7:;
    }
    {
    nuitka_bool tmp_condition_result_8;
    PyObject *tmp_compexpr_left_10;
    PyObject *tmp_compexpr_right_10;
    tmp_compexpr_left_10 = const_str_chr_63;
    if ( par_url == NULL )
    {

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

        exception_lineno = 352;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_10 = par_url;
    tmp_res = PySequence_Contains( tmp_compexpr_right_10, tmp_compexpr_left_10 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 352;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_8 = ( tmp_res == 1 ) ? 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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_27;
    PyObject *tmp_iter_arg_4;
    PyObject *tmp_called_instance_4;
    if ( par_url == NULL )
    {

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

        exception_lineno = 353;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_called_instance_4 = par_url;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 353;
    tmp_iter_arg_4 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_4, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_63_int_pos_1_tuple, 0 ) );

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

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


        exception_lineno = 353;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_8;
    }
    tmp_assign_source_27 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_4 );
    Py_DECREF( tmp_iter_arg_4 );
    if ( tmp_assign_source_27 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 353;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_8;
    }
    assert( tmp_tuple_unpack_4__source_iter == NULL );
    tmp_tuple_unpack_4__source_iter = tmp_assign_source_27;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_28;
    PyObject *tmp_unpack_8;
    CHECK_OBJECT( tmp_tuple_unpack_4__source_iter );
    tmp_unpack_8 = tmp_tuple_unpack_4__source_iter;
    tmp_assign_source_28 = UNPACK_NEXT( tmp_unpack_8, 0, 2 );
    if ( tmp_assign_source_28 == 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 = "ooooooooooooo";
        exception_lineno = 353;
        goto try_except_handler_9;
    }
    assert( tmp_tuple_unpack_4__element_1 == NULL );
    tmp_tuple_unpack_4__element_1 = tmp_assign_source_28;

    }
    {
    PyObject *tmp_assign_source_29;
    PyObject *tmp_unpack_9;
    CHECK_OBJECT( tmp_tuple_unpack_4__source_iter );
    tmp_unpack_9 = tmp_tuple_unpack_4__source_iter;
    tmp_assign_source_29 = UNPACK_NEXT( tmp_unpack_9, 1, 2 );
    if ( tmp_assign_source_29 == 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 = "ooooooooooooo";
        exception_lineno = 353;
        goto try_except_handler_9;
    }
    assert( tmp_tuple_unpack_4__element_2 == NULL );
    tmp_tuple_unpack_4__element_2 = tmp_assign_source_29;

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

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

    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 = "ooooooooooooo";
                exception_lineno = 353;
                goto try_except_handler_9;
            }
        }
    }
    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 = "ooooooooooooo";
        exception_lineno = 353;
        goto try_except_handler_9;
    }
    }
    goto try_end_7;
    // 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;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_4__source_iter );
    Py_DECREF( tmp_tuple_unpack_4__source_iter );
    tmp_tuple_unpack_4__source_iter = 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:
    try_end_7:;
    }
    goto try_end_8;
    // 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;

    {
    Py_XDECREF( tmp_tuple_unpack_4__element_1 );
    tmp_tuple_unpack_4__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_2 );
    tmp_tuple_unpack_4__element_2 = NULL;

    }
    {
    // 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_8:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_4__source_iter );
    Py_DECREF( tmp_tuple_unpack_4__source_iter );
    tmp_tuple_unpack_4__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_30;
    CHECK_OBJECT( tmp_tuple_unpack_4__element_1 );
    tmp_assign_source_30 = tmp_tuple_unpack_4__element_1;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_30;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_1 );
    tmp_tuple_unpack_4__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_31;
    CHECK_OBJECT( tmp_tuple_unpack_4__element_2 );
    tmp_assign_source_31 = tmp_tuple_unpack_4__element_2;
    {
        PyObject *old = var_query;
        var_query = tmp_assign_source_31;
        Py_INCREF( var_query );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_4__element_2 );
    tmp_tuple_unpack_4__element_2 = NULL;

    }
    branch_no_8:;
    }
    {
    PyObject *tmp_assign_source_32;
    PyObject *tmp_called_name_6;
    PyObject *tmp_mvar_value_7;
    PyObject *tmp_args_element_name_8;
    PyObject *tmp_args_element_name_9;
    PyObject *tmp_args_element_name_10;
    PyObject *tmp_args_element_name_11;
    PyObject *tmp_args_element_name_12;
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_SplitResult );

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

    if ( tmp_mvar_value_7 == NULL )
    {

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

        exception_lineno = 354;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_6 = tmp_mvar_value_7;
    if ( par_scheme == NULL )
    {

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

        exception_lineno = 354;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_8 = par_scheme;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 354;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_9 = var_netloc;
    if ( par_url == NULL )
    {

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

        exception_lineno = 354;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_10 = par_url;
    if ( var_query == NULL )
    {

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

        exception_lineno = 354;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_11 = var_query;
    if ( var_fragment == NULL )
    {

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

        exception_lineno = 354;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_12 = var_fragment;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 354;
    {
        PyObject *call_args[] = { tmp_args_element_name_8, tmp_args_element_name_9, tmp_args_element_name_10, tmp_args_element_name_11, tmp_args_element_name_12 };
        tmp_assign_source_32 = CALL_FUNCTION_WITH_ARGS5( tmp_called_name_6, call_args );
    }

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

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


        exception_lineno = 354;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_v == NULL );
    var_v = tmp_assign_source_32;

    }
    {
    PyObject *tmp_ass_subvalue_1;
    PyObject *tmp_ass_subscribed_1;
    PyObject *tmp_mvar_value_8;
    PyObject *tmp_ass_subscript_1;
    CHECK_OBJECT( var_v );
    tmp_ass_subvalue_1 = var_v;
    tmp_mvar_value_8 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__parse_cache );

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

    if ( tmp_mvar_value_8 == NULL )
    {

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

        exception_lineno = 355;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_1 = tmp_mvar_value_8;
    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 = 355;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscript_1 = var_key;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 355;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_called_name_7;
    PyObject *tmp_args_element_name_13;
    if ( var__coerce_result == NULL )
    {

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

        exception_lineno = 356;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_7 = var__coerce_result;
    if ( var_v == NULL )
    {

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

        exception_lineno = 356;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_13 = var_v;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 356;
    {
        PyObject *call_args[] = { tmp_args_element_name_13 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_7, call_args );
    }

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

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


        exception_lineno = 356;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_4:;
    }
    {
    nuitka_bool tmp_assign_source_33;
    tmp_assign_source_33 = NUITKA_BOOL_FALSE;
    tmp_for_loop_1__break_indicator = tmp_assign_source_33;
    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_34;
    PyObject *tmp_iter_arg_5;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    PyObject *tmp_start_name_4;
    PyObject *tmp_stop_name_4;
    PyObject *tmp_step_name_4;
    if ( par_url == NULL )
    {

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

        exception_lineno = 357;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }

    tmp_subscribed_name_5 = par_url;
    tmp_start_name_4 = Py_None;
    if ( var_i == NULL )
    {

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

        exception_lineno = 357;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }

    tmp_stop_name_4 = var_i;
    tmp_step_name_4 = Py_None;
    tmp_subscript_name_5 = MAKE_SLICEOBJ3( tmp_start_name_4, tmp_stop_name_4, tmp_step_name_4 );
    assert( !(tmp_subscript_name_5 == NULL) );
    tmp_iter_arg_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    Py_DECREF( tmp_subscript_name_5 );
    if ( tmp_iter_arg_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 357;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }
    tmp_assign_source_34 = MAKE_ITERATOR( tmp_iter_arg_5 );
    Py_DECREF( tmp_iter_arg_5 );
    if ( tmp_assign_source_34 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 357;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }
    assert( tmp_for_loop_1__for_iterator == NULL );
    tmp_for_loop_1__for_iterator = tmp_assign_source_34;

    }
    {
    // Tried code:
    {
    loop_start_1:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_35;
    PyObject *tmp_value_name_2;
    CHECK_OBJECT( tmp_for_loop_1__for_iterator );
    tmp_value_name_2 = tmp_for_loop_1__for_iterator;
    tmp_assign_source_35 = ITERATOR_NEXT( tmp_value_name_2 );
    if ( tmp_assign_source_35 == 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 = "ooooooooooooo";
        exception_lineno = 357;
        goto try_except_handler_12;
    }
    {
        PyObject *old = tmp_for_loop_1__iter_value;
        tmp_for_loop_1__iter_value = tmp_assign_source_35;
        Py_XDECREF( old );
    }

    }
    goto try_end_9;
    // Exception handler code:
    try_except_handler_12:;
    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;

    {
    nuitka_bool tmp_condition_result_9;
    PyObject *tmp_compexpr_left_11;
    PyObject *tmp_compexpr_right_11;
    tmp_compexpr_left_11 = exception_keeper_type_9;
    tmp_compexpr_right_11 = PyExc_StopIteration;
    tmp_res = EXCEPTION_MATCH_BOOL( tmp_compexpr_left_11, tmp_compexpr_right_11 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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

        Py_DECREF( exception_keeper_type_9 );
        Py_XDECREF( exception_keeper_value_9 );
        Py_XDECREF( exception_keeper_tb_9 );

        exception_lineno = 357;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_11;
    }
    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:;
    {
    nuitka_bool tmp_assign_source_36;
    tmp_assign_source_36 = NUITKA_BOOL_TRUE;
    tmp_for_loop_1__break_indicator = tmp_assign_source_36;
    }
    {
    Py_DECREF( exception_keeper_type_9 );
    Py_XDECREF( exception_keeper_value_9 );
    Py_XDECREF( exception_keeper_tb_9 );
    goto loop_end_1;
    }
    goto branch_end_9;
    branch_no_9:;
    {
    // 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 try_except_handler_11;
    }
    branch_end_9:;
    }
    // End of try:
    try_end_9:;
    }
    {
    PyObject *tmp_assign_source_37;
    CHECK_OBJECT( tmp_for_loop_1__iter_value );
    tmp_assign_source_37 = tmp_for_loop_1__iter_value;
    {
        PyObject *old = var_c;
        var_c = tmp_assign_source_37;
        Py_INCREF( var_c );
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_10;
    PyObject *tmp_compexpr_left_12;
    PyObject *tmp_compexpr_right_12;
    PyObject *tmp_mvar_value_9;
    CHECK_OBJECT( var_c );
    tmp_compexpr_left_12 = var_c;
    tmp_mvar_value_9 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_scheme_chars );

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

    if ( tmp_mvar_value_9 == NULL )
    {

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

        exception_lineno = 358;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_11;
    }

    tmp_compexpr_right_12 = tmp_mvar_value_9;
    tmp_res = PySequence_Contains( tmp_compexpr_right_12, tmp_compexpr_left_12 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 358;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_11;
    }
    tmp_condition_result_10 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_10 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_10;
    }
    else
    {
        goto branch_no_10;
    }
    branch_yes_10:;
    {
    goto loop_end_1;
    }
    branch_no_10:;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 357;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_11;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_10;
    // Exception handler code:
    try_except_handler_11:;
    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_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = 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_10;
    }
    // End of try:
    try_end_10:;
    }
    {
    Py_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = NULL;

    }
    {
    nuitka_bool tmp_condition_result_11;
    PyObject *tmp_compexpr_left_13;
    PyObject *tmp_compexpr_right_13;
    assert( tmp_for_loop_1__break_indicator != NUITKA_BOOL_UNASSIGNED);
    tmp_compexpr_left_13 = ( tmp_for_loop_1__break_indicator == NUITKA_BOOL_TRUE ) ? Py_True : Py_False;
    tmp_compexpr_right_13 = Py_True;
    tmp_condition_result_11 = ( tmp_compexpr_left_13 == tmp_compexpr_right_13 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_11 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_11;
    }
    else
    {
        goto branch_no_11;
    }
    branch_yes_11:;
    {
    PyObject *tmp_assign_source_38;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_subscript_name_6;
    PyObject *tmp_start_name_5;
    PyObject *tmp_left_name_2;
    PyObject *tmp_right_name_2;
    PyObject *tmp_stop_name_5;
    PyObject *tmp_step_name_5;
    if ( par_url == NULL )
    {

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

        exception_lineno = 363;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }

    tmp_subscribed_name_6 = par_url;
    if ( var_i == NULL )
    {

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

        exception_lineno = 363;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }

    tmp_left_name_2 = var_i;
    tmp_right_name_2 = const_int_pos_1;
    tmp_start_name_5 = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_2 );
    if ( tmp_start_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 363;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }
    tmp_stop_name_5 = Py_None;
    tmp_step_name_5 = Py_None;
    tmp_subscript_name_6 = MAKE_SLICEOBJ3( tmp_start_name_5, tmp_stop_name_5, tmp_step_name_5 );
    Py_DECREF( tmp_start_name_5 );
    assert( !(tmp_subscript_name_6 == NULL) );
    tmp_assign_source_38 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_6, tmp_subscript_name_6 );
    Py_DECREF( tmp_subscript_name_6 );
    if ( tmp_assign_source_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 363;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }
    assert( var_rest == NULL );
    var_rest = tmp_assign_source_38;

    }
    {
    nuitka_bool tmp_condition_result_12;
    int tmp_or_left_truth_2;
    nuitka_bool tmp_or_left_value_2;
    nuitka_bool tmp_or_right_value_2;
    PyObject *tmp_operand_name_1;
    PyObject *tmp_called_name_8;
    PyObject *tmp_call_result_1;
    PyObject *tmp_args_element_name_14;
    int tmp_truth_name_3;
    CHECK_OBJECT( var_rest );
    tmp_operand_name_1 = var_rest;
    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 = 364;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }
    tmp_or_left_value_2 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_or_left_truth_2 = tmp_or_left_value_2 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_or_left_truth_2 == 1 )
    {
        goto or_left_2;
    }
    else
    {
        goto or_right_2;
    }
    or_right_2:;
    tmp_called_name_8 = LOOKUP_BUILTIN( const_str_plain_any );
    assert( tmp_called_name_8 != NULL );
    {
    PyObject *tmp_assign_source_39;
    PyObject *tmp_iter_arg_6;
    if ( var_rest == NULL )
    {

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

        exception_lineno = 364;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }

    tmp_iter_arg_6 = var_rest;
    tmp_assign_source_39 = MAKE_ITERATOR( tmp_iter_arg_6 );
    if ( tmp_assign_source_39 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 364;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }
    assert( tmp_genexpr_1__$0 == NULL );
    tmp_genexpr_1__$0 = tmp_assign_source_39;

    }
    {
    // Tried code:
    {
    tmp_args_element_name_14 = future$backports$urllib$parse$$$function_26_urlsplit$$$genexpr_1_genexpr_maker();

    ((struct Nuitka_GeneratorObject *)tmp_args_element_name_14)->m_closure[0] = PyCell_NEW0( tmp_genexpr_1__$0 );


    goto try_return_handler_13;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_26_urlsplit );
    return NULL;
    // Return handler code:
    try_return_handler_13:;
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    {
    goto outline_result_1;
    }
    // End of try:
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_26_urlsplit );
    return NULL;
    outline_result_1:;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 364;
    {
        PyObject *call_args[] = { tmp_args_element_name_14 };
        tmp_call_result_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_8, call_args );
    }

    Py_DECREF( tmp_args_element_name_14 );
    if ( tmp_call_result_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 364;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }
    tmp_truth_name_3 = CHECK_IF_TRUE( tmp_call_result_1 );
    if ( tmp_truth_name_3 == -1 )
    {
        assert( ERROR_OCCURRED() );

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

        exception_lineno = 364;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }
    tmp_or_right_value_2 = tmp_truth_name_3 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_call_result_1 );
    tmp_condition_result_12 = tmp_or_right_value_2;
    goto or_end_2;
    or_left_2:;
    tmp_condition_result_12 = tmp_or_left_value_2;
    or_end_2:;
    if ( tmp_condition_result_12 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_12;
    }
    else
    {
        goto branch_no_12;
    }
    branch_yes_12:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_40;
    PyObject *tmp_iter_arg_7;
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_called_instance_5;
    PyObject *tmp_subscribed_name_7;
    PyObject *tmp_subscript_name_7;
    PyObject *tmp_start_name_6;
    PyObject *tmp_stop_name_6;
    PyObject *tmp_step_name_6;
    if ( par_url == NULL )
    {

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

        exception_lineno = 366;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_subscribed_name_7 = par_url;
    tmp_start_name_6 = Py_None;
    if ( var_i == NULL )
    {

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

        exception_lineno = 366;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_stop_name_6 = var_i;
    tmp_step_name_6 = Py_None;
    tmp_subscript_name_7 = MAKE_SLICEOBJ3( tmp_start_name_6, tmp_stop_name_6, tmp_step_name_6 );
    assert( !(tmp_subscript_name_7 == NULL) );
    tmp_called_instance_5 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_7, tmp_subscript_name_7 );
    Py_DECREF( tmp_subscript_name_7 );
    if ( tmp_called_instance_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 366;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 366;
    tmp_tuple_element_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_5, const_str_plain_lower );
    Py_DECREF( tmp_called_instance_5 );
    if ( tmp_tuple_element_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 366;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    tmp_iter_arg_7 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_iter_arg_7, 0, tmp_tuple_element_2 );
    if ( var_rest == NULL )
    {
        Py_DECREF( tmp_iter_arg_7 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "rest" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 366;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_tuple_element_2 = var_rest;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_iter_arg_7, 1, tmp_tuple_element_2 );
    tmp_assign_source_40 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_7 );
    Py_DECREF( tmp_iter_arg_7 );
    if ( tmp_assign_source_40 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 366;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    assert( tmp_tuple_unpack_5__source_iter == NULL );
    tmp_tuple_unpack_5__source_iter = tmp_assign_source_40;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_41;
    PyObject *tmp_unpack_10;
    CHECK_OBJECT( tmp_tuple_unpack_5__source_iter );
    tmp_unpack_10 = tmp_tuple_unpack_5__source_iter;
    tmp_assign_source_41 = UNPACK_NEXT( tmp_unpack_10, 0, 2 );
    if ( tmp_assign_source_41 == 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 = "ooooooooooooo";
        exception_lineno = 366;
        goto try_except_handler_15;
    }
    assert( tmp_tuple_unpack_5__element_1 == NULL );
    tmp_tuple_unpack_5__element_1 = tmp_assign_source_41;

    }
    {
    PyObject *tmp_assign_source_42;
    PyObject *tmp_unpack_11;
    CHECK_OBJECT( tmp_tuple_unpack_5__source_iter );
    tmp_unpack_11 = tmp_tuple_unpack_5__source_iter;
    tmp_assign_source_42 = UNPACK_NEXT( tmp_unpack_11, 1, 2 );
    if ( tmp_assign_source_42 == 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 = "ooooooooooooo";
        exception_lineno = 366;
        goto try_except_handler_15;
    }
    assert( tmp_tuple_unpack_5__element_2 == NULL );
    tmp_tuple_unpack_5__element_2 = tmp_assign_source_42;

    }
    goto try_end_11;
    // Exception handler code:
    try_except_handler_15:;
    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;

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

    }
    {
    // 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 try_except_handler_14;
    }
    // End of try:
    try_end_11:;
    }
    goto try_end_12;
    // Exception handler code:
    try_except_handler_14:;
    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_tuple_unpack_5__element_1 );
    tmp_tuple_unpack_5__element_1 = 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 try_except_handler_10;
    }
    // End of try:
    try_end_12:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_5__source_iter );
    Py_DECREF( tmp_tuple_unpack_5__source_iter );
    tmp_tuple_unpack_5__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_43;
    CHECK_OBJECT( tmp_tuple_unpack_5__element_1 );
    tmp_assign_source_43 = tmp_tuple_unpack_5__element_1;
    {
        PyObject *old = par_scheme;
        par_scheme = tmp_assign_source_43;
        Py_INCREF( par_scheme );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_1 );
    tmp_tuple_unpack_5__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_44;
    CHECK_OBJECT( tmp_tuple_unpack_5__element_2 );
    tmp_assign_source_44 = tmp_tuple_unpack_5__element_2;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_44;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_5__element_2 );
    tmp_tuple_unpack_5__element_2 = NULL;

    }
    branch_no_12:;
    }
    branch_no_11:;
    }
    goto try_end_13;
    // Exception handler code:
    try_except_handler_10:;
    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;

    {
    }
    {
    // 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_13:;
    }
    {
    }
    branch_no_3:;
    }
    {
    nuitka_bool tmp_condition_result_13;
    PyObject *tmp_compexpr_left_14;
    PyObject *tmp_compexpr_right_14;
    PyObject *tmp_subscribed_name_8;
    PyObject *tmp_subscript_name_8;
    if ( par_url == NULL )
    {

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

        exception_lineno = 368;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_8 = par_url;
    tmp_subscript_name_8 = const_slice_none_int_pos_2_none;
    tmp_compexpr_left_14 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_8, tmp_subscript_name_8 );
    if ( tmp_compexpr_left_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 368;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_14 = const_str_digest_13971ae58b983978540cbb4bbf3b1360;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_14, tmp_compexpr_right_14 );
    Py_DECREF( tmp_compexpr_left_14 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 368;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_13 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_13 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_13;
    }
    else
    {
        goto branch_no_13;
    }
    branch_yes_13:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_45;
    PyObject *tmp_iter_arg_8;
    PyObject *tmp_called_name_9;
    PyObject *tmp_mvar_value_10;
    PyObject *tmp_args_element_name_15;
    PyObject *tmp_args_element_name_16;
    tmp_mvar_value_10 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__splitnetloc );

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

    if ( tmp_mvar_value_10 == NULL )
    {

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

        exception_lineno = 369;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_16;
    }

    tmp_called_name_9 = tmp_mvar_value_10;
    if ( par_url == NULL )
    {

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

        exception_lineno = 369;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_16;
    }

    tmp_args_element_name_15 = par_url;
    tmp_args_element_name_16 = const_int_pos_2;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 369;
    {
        PyObject *call_args[] = { tmp_args_element_name_15, tmp_args_element_name_16 };
        tmp_iter_arg_8 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_9, call_args );
    }

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

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


        exception_lineno = 369;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_16;
    }
    tmp_assign_source_45 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_8 );
    Py_DECREF( tmp_iter_arg_8 );
    if ( tmp_assign_source_45 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 369;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_16;
    }
    assert( tmp_tuple_unpack_6__source_iter == NULL );
    tmp_tuple_unpack_6__source_iter = tmp_assign_source_45;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_46;
    PyObject *tmp_unpack_12;
    CHECK_OBJECT( tmp_tuple_unpack_6__source_iter );
    tmp_unpack_12 = tmp_tuple_unpack_6__source_iter;
    tmp_assign_source_46 = UNPACK_NEXT( tmp_unpack_12, 0, 2 );
    if ( tmp_assign_source_46 == 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 = "ooooooooooooo";
        exception_lineno = 369;
        goto try_except_handler_17;
    }
    assert( tmp_tuple_unpack_6__element_1 == NULL );
    tmp_tuple_unpack_6__element_1 = tmp_assign_source_46;

    }
    {
    PyObject *tmp_assign_source_47;
    PyObject *tmp_unpack_13;
    CHECK_OBJECT( tmp_tuple_unpack_6__source_iter );
    tmp_unpack_13 = tmp_tuple_unpack_6__source_iter;
    tmp_assign_source_47 = UNPACK_NEXT( tmp_unpack_13, 1, 2 );
    if ( tmp_assign_source_47 == 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 = "ooooooooooooo";
        exception_lineno = 369;
        goto try_except_handler_17;
    }
    assert( tmp_tuple_unpack_6__element_2 == NULL );
    tmp_tuple_unpack_6__element_2 = tmp_assign_source_47;

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

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

    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 = "ooooooooooooo";
                exception_lineno = 369;
                goto try_except_handler_17;
            }
        }
    }
    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 = "ooooooooooooo";
        exception_lineno = 369;
        goto try_except_handler_17;
    }
    }
    goto try_end_14;
    // Exception handler code:
    try_except_handler_17:;
    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;

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

    }
    {
    // 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 try_except_handler_16;
    }
    // End of try:
    try_end_14:;
    }
    goto try_end_15;
    // Exception handler code:
    try_except_handler_16:;
    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_tuple_unpack_6__element_1 );
    tmp_tuple_unpack_6__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_6__element_2 );
    tmp_tuple_unpack_6__element_2 = 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_15:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_6__source_iter );
    Py_DECREF( tmp_tuple_unpack_6__source_iter );
    tmp_tuple_unpack_6__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_48;
    CHECK_OBJECT( tmp_tuple_unpack_6__element_1 );
    tmp_assign_source_48 = tmp_tuple_unpack_6__element_1;
    {
        PyObject *old = var_netloc;
        var_netloc = tmp_assign_source_48;
        Py_INCREF( var_netloc );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_6__element_1 );
    tmp_tuple_unpack_6__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_49;
    CHECK_OBJECT( tmp_tuple_unpack_6__element_2 );
    tmp_assign_source_49 = tmp_tuple_unpack_6__element_2;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_49;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_6__element_2 );
    tmp_tuple_unpack_6__element_2 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_14;
    int tmp_or_left_truth_3;
    nuitka_bool tmp_or_left_value_3;
    nuitka_bool tmp_or_right_value_3;
    int tmp_and_left_truth_4;
    nuitka_bool tmp_and_left_value_4;
    nuitka_bool tmp_and_right_value_4;
    PyObject *tmp_compexpr_left_15;
    PyObject *tmp_compexpr_right_15;
    PyObject *tmp_compexpr_left_16;
    PyObject *tmp_compexpr_right_16;
    int tmp_and_left_truth_5;
    nuitka_bool tmp_and_left_value_5;
    nuitka_bool tmp_and_right_value_5;
    PyObject *tmp_compexpr_left_17;
    PyObject *tmp_compexpr_right_17;
    PyObject *tmp_compexpr_left_18;
    PyObject *tmp_compexpr_right_18;
    tmp_compexpr_left_15 = const_str_chr_91;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 370;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_15 = var_netloc;
    tmp_res = PySequence_Contains( tmp_compexpr_right_15, tmp_compexpr_left_15 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 370;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_4 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_4 = tmp_and_left_value_4 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_4 == 1 )
    {
        goto and_right_4;
    }
    else
    {
        goto and_left_4;
    }
    and_right_4:;
    tmp_compexpr_left_16 = const_str_chr_93;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 370;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_16 = var_netloc;
    tmp_res = PySequence_Contains( tmp_compexpr_right_16, tmp_compexpr_left_16 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 370;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_4 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_or_left_value_3 = tmp_and_right_value_4;
    goto and_end_4;
    and_left_4:;
    tmp_or_left_value_3 = tmp_and_left_value_4;
    and_end_4:;
    tmp_or_left_truth_3 = tmp_or_left_value_3 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_or_left_truth_3 == 1 )
    {
        goto or_left_3;
    }
    else
    {
        goto or_right_3;
    }
    or_right_3:;
    tmp_compexpr_left_17 = const_str_chr_93;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 371;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_17 = var_netloc;
    tmp_res = PySequence_Contains( tmp_compexpr_right_17, tmp_compexpr_left_17 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 371;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_5 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_5 = tmp_and_left_value_5 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_5 == 1 )
    {
        goto and_right_5;
    }
    else
    {
        goto and_left_5;
    }
    and_right_5:;
    tmp_compexpr_left_18 = const_str_chr_91;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 371;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_18 = var_netloc;
    tmp_res = PySequence_Contains( tmp_compexpr_right_18, tmp_compexpr_left_18 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 371;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_5 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_or_right_value_3 = tmp_and_right_value_5;
    goto and_end_5;
    and_left_5:;
    tmp_or_right_value_3 = tmp_and_left_value_5;
    and_end_5:;
    tmp_condition_result_14 = tmp_or_right_value_3;
    goto or_end_3;
    or_left_3:;
    tmp_condition_result_14 = tmp_or_left_value_3;
    or_end_3:;
    if ( tmp_condition_result_14 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_14;
    }
    else
    {
        goto branch_no_14;
    }
    branch_yes_14:;
    {
    PyObject *tmp_raise_type_2;
    PyObject *tmp_make_exception_arg_2;
    tmp_make_exception_arg_2 = const_str_digest_24463121abb84407fee73fe6d9fca438;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 372;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_2 };
        tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    assert( !(tmp_raise_type_2 == NULL) );
    exception_type = tmp_raise_type_2;
    exception_lineno = 372;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooooooooooooo";
    goto frame_exception_exit_1;
    }
    branch_no_14:;
    }
    branch_no_13:;
    }
    {
    nuitka_bool tmp_condition_result_15;
    int tmp_and_left_truth_6;
    nuitka_bool tmp_and_left_value_6;
    nuitka_bool tmp_and_right_value_6;
    int tmp_truth_name_4;
    PyObject *tmp_compexpr_left_19;
    PyObject *tmp_compexpr_right_19;
    if ( par_allow_fragments == NULL )
    {

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

        exception_lineno = 373;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_truth_name_4 = CHECK_IF_TRUE( par_allow_fragments );
    if ( tmp_truth_name_4 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 373;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_6 = tmp_truth_name_4 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_6 = tmp_and_left_value_6 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_6 == 1 )
    {
        goto and_right_6;
    }
    else
    {
        goto and_left_6;
    }
    and_right_6:;
    tmp_compexpr_left_19 = const_str_chr_35;
    if ( par_url == NULL )
    {

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

        exception_lineno = 373;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_19 = par_url;
    tmp_res = PySequence_Contains( tmp_compexpr_right_19, tmp_compexpr_left_19 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 373;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_6 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_15 = tmp_and_right_value_6;
    goto and_end_6;
    and_left_6:;
    tmp_condition_result_15 = tmp_and_left_value_6;
    and_end_6:;
    if ( tmp_condition_result_15 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_15;
    }
    else
    {
        goto branch_no_15;
    }
    branch_yes_15:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_50;
    PyObject *tmp_iter_arg_9;
    PyObject *tmp_called_instance_6;
    if ( par_url == NULL )
    {

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

        exception_lineno = 374;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_18;
    }

    tmp_called_instance_6 = par_url;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 374;
    tmp_iter_arg_9 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_6, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_35_int_pos_1_tuple, 0 ) );

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

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


        exception_lineno = 374;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_18;
    }
    tmp_assign_source_50 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_9 );
    Py_DECREF( tmp_iter_arg_9 );
    if ( tmp_assign_source_50 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 374;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_18;
    }
    assert( tmp_tuple_unpack_7__source_iter == NULL );
    tmp_tuple_unpack_7__source_iter = tmp_assign_source_50;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_51;
    PyObject *tmp_unpack_14;
    CHECK_OBJECT( tmp_tuple_unpack_7__source_iter );
    tmp_unpack_14 = tmp_tuple_unpack_7__source_iter;
    tmp_assign_source_51 = UNPACK_NEXT( tmp_unpack_14, 0, 2 );
    if ( tmp_assign_source_51 == 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 = "ooooooooooooo";
        exception_lineno = 374;
        goto try_except_handler_19;
    }
    assert( tmp_tuple_unpack_7__element_1 == NULL );
    tmp_tuple_unpack_7__element_1 = tmp_assign_source_51;

    }
    {
    PyObject *tmp_assign_source_52;
    PyObject *tmp_unpack_15;
    CHECK_OBJECT( tmp_tuple_unpack_7__source_iter );
    tmp_unpack_15 = tmp_tuple_unpack_7__source_iter;
    tmp_assign_source_52 = UNPACK_NEXT( tmp_unpack_15, 1, 2 );
    if ( tmp_assign_source_52 == 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 = "ooooooooooooo";
        exception_lineno = 374;
        goto try_except_handler_19;
    }
    assert( tmp_tuple_unpack_7__element_2 == NULL );
    tmp_tuple_unpack_7__element_2 = tmp_assign_source_52;

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

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

    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 = "ooooooooooooo";
                exception_lineno = 374;
                goto try_except_handler_19;
            }
        }
    }
    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 = "ooooooooooooo";
        exception_lineno = 374;
        goto try_except_handler_19;
    }
    }
    goto try_end_16;
    // Exception handler code:
    try_except_handler_19:;
    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;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_7__source_iter );
    Py_DECREF( tmp_tuple_unpack_7__source_iter );
    tmp_tuple_unpack_7__source_iter = 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_18;
    }
    // End of try:
    try_end_16:;
    }
    goto try_end_17;
    // Exception handler code:
    try_except_handler_18:;
    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;

    {
    Py_XDECREF( tmp_tuple_unpack_7__element_1 );
    tmp_tuple_unpack_7__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_7__element_2 );
    tmp_tuple_unpack_7__element_2 = NULL;

    }
    {
    // 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_17:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_7__source_iter );
    Py_DECREF( tmp_tuple_unpack_7__source_iter );
    tmp_tuple_unpack_7__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_53;
    CHECK_OBJECT( tmp_tuple_unpack_7__element_1 );
    tmp_assign_source_53 = tmp_tuple_unpack_7__element_1;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_53;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_7__element_1 );
    tmp_tuple_unpack_7__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_54;
    CHECK_OBJECT( tmp_tuple_unpack_7__element_2 );
    tmp_assign_source_54 = tmp_tuple_unpack_7__element_2;
    {
        PyObject *old = var_fragment;
        var_fragment = tmp_assign_source_54;
        Py_INCREF( var_fragment );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_7__element_2 );
    tmp_tuple_unpack_7__element_2 = NULL;

    }
    branch_no_15:;
    }
    {
    nuitka_bool tmp_condition_result_16;
    PyObject *tmp_compexpr_left_20;
    PyObject *tmp_compexpr_right_20;
    tmp_compexpr_left_20 = const_str_chr_63;
    if ( par_url == NULL )
    {

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

        exception_lineno = 375;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_20 = par_url;
    tmp_res = PySequence_Contains( tmp_compexpr_right_20, tmp_compexpr_left_20 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 375;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_16 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_16 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_16;
    }
    else
    {
        goto branch_no_16;
    }
    branch_yes_16:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_55;
    PyObject *tmp_iter_arg_10;
    PyObject *tmp_called_instance_7;
    if ( par_url == NULL )
    {

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

        exception_lineno = 376;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_20;
    }

    tmp_called_instance_7 = par_url;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 376;
    tmp_iter_arg_10 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_7, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_63_int_pos_1_tuple, 0 ) );

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

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


        exception_lineno = 376;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_20;
    }
    tmp_assign_source_55 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_10 );
    Py_DECREF( tmp_iter_arg_10 );
    if ( tmp_assign_source_55 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 376;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_20;
    }
    assert( tmp_tuple_unpack_8__source_iter == NULL );
    tmp_tuple_unpack_8__source_iter = tmp_assign_source_55;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_56;
    PyObject *tmp_unpack_16;
    CHECK_OBJECT( tmp_tuple_unpack_8__source_iter );
    tmp_unpack_16 = tmp_tuple_unpack_8__source_iter;
    tmp_assign_source_56 = UNPACK_NEXT( tmp_unpack_16, 0, 2 );
    if ( tmp_assign_source_56 == 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 = "ooooooooooooo";
        exception_lineno = 376;
        goto try_except_handler_21;
    }
    assert( tmp_tuple_unpack_8__element_1 == NULL );
    tmp_tuple_unpack_8__element_1 = tmp_assign_source_56;

    }
    {
    PyObject *tmp_assign_source_57;
    PyObject *tmp_unpack_17;
    CHECK_OBJECT( tmp_tuple_unpack_8__source_iter );
    tmp_unpack_17 = tmp_tuple_unpack_8__source_iter;
    tmp_assign_source_57 = UNPACK_NEXT( tmp_unpack_17, 1, 2 );
    if ( tmp_assign_source_57 == 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 = "ooooooooooooo";
        exception_lineno = 376;
        goto try_except_handler_21;
    }
    assert( tmp_tuple_unpack_8__element_2 == NULL );
    tmp_tuple_unpack_8__element_2 = tmp_assign_source_57;

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

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

    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 = "ooooooooooooo";
                exception_lineno = 376;
                goto try_except_handler_21;
            }
        }
    }
    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 = "ooooooooooooo";
        exception_lineno = 376;
        goto try_except_handler_21;
    }
    }
    goto try_end_18;
    // Exception handler code:
    try_except_handler_21:;
    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;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_8__source_iter );
    Py_DECREF( tmp_tuple_unpack_8__source_iter );
    tmp_tuple_unpack_8__source_iter = 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 try_except_handler_20;
    }
    // End of try:
    try_end_18:;
    }
    goto try_end_19;
    // Exception handler code:
    try_except_handler_20:;
    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_XDECREF( tmp_tuple_unpack_8__element_1 );
    tmp_tuple_unpack_8__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_8__element_2 );
    tmp_tuple_unpack_8__element_2 = 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_19:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_8__source_iter );
    Py_DECREF( tmp_tuple_unpack_8__source_iter );
    tmp_tuple_unpack_8__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_58;
    CHECK_OBJECT( tmp_tuple_unpack_8__element_1 );
    tmp_assign_source_58 = tmp_tuple_unpack_8__element_1;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_58;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_8__element_1 );
    tmp_tuple_unpack_8__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_59;
    CHECK_OBJECT( tmp_tuple_unpack_8__element_2 );
    tmp_assign_source_59 = tmp_tuple_unpack_8__element_2;
    {
        PyObject *old = var_query;
        var_query = tmp_assign_source_59;
        Py_INCREF( var_query );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_8__element_2 );
    tmp_tuple_unpack_8__element_2 = NULL;

    }
    branch_no_16:;
    }
    {
    PyObject *tmp_assign_source_60;
    PyObject *tmp_called_name_10;
    PyObject *tmp_mvar_value_11;
    PyObject *tmp_args_element_name_17;
    PyObject *tmp_args_element_name_18;
    PyObject *tmp_args_element_name_19;
    PyObject *tmp_args_element_name_20;
    PyObject *tmp_args_element_name_21;
    tmp_mvar_value_11 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_SplitResult );

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

    if ( tmp_mvar_value_11 == NULL )
    {

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

        exception_lineno = 377;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_10 = tmp_mvar_value_11;
    if ( par_scheme == NULL )
    {

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

        exception_lineno = 377;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_17 = par_scheme;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 377;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_18 = var_netloc;
    if ( par_url == NULL )
    {

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

        exception_lineno = 377;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_19 = par_url;
    if ( var_query == NULL )
    {

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

        exception_lineno = 377;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_20 = var_query;
    if ( var_fragment == NULL )
    {

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

        exception_lineno = 377;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_21 = var_fragment;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 377;
    {
        PyObject *call_args[] = { tmp_args_element_name_17, tmp_args_element_name_18, tmp_args_element_name_19, tmp_args_element_name_20, tmp_args_element_name_21 };
        tmp_assign_source_60 = CALL_FUNCTION_WITH_ARGS5( tmp_called_name_10, call_args );
    }

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

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


        exception_lineno = 377;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_v;
        var_v = tmp_assign_source_60;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_ass_subvalue_2;
    PyObject *tmp_ass_subscribed_2;
    PyObject *tmp_mvar_value_12;
    PyObject *tmp_ass_subscript_2;
    CHECK_OBJECT( var_v );
    tmp_ass_subvalue_2 = var_v;
    tmp_mvar_value_12 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__parse_cache );

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

    if ( tmp_mvar_value_12 == NULL )
    {

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

        exception_lineno = 378;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_2 = tmp_mvar_value_12;
    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 = 378;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscript_2 = var_key;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_2, tmp_ass_subscript_2, tmp_ass_subvalue_2 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 378;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    }
    {
    PyObject *tmp_called_name_11;
    PyObject *tmp_args_element_name_22;
    if ( var__coerce_result == NULL )
    {

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

        exception_lineno = 379;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_11 = var__coerce_result;
    if ( var_v == NULL )
    {

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

        exception_lineno = 379;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_22 = var_v;
    frame_8dc6ac7b62d07d5b5cde8d34abc8acbb->m_frame.f_lineno = 379;
    {
        PyObject *call_args[] = { tmp_args_element_name_22 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_11, call_args );
    }

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

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


        exception_lineno = 379;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8dc6ac7b62d07d5b5cde8d34abc8acbb );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8dc6ac7b62d07d5b5cde8d34abc8acbb );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_8dc6ac7b62d07d5b5cde8d34abc8acbb,
        type_description_1,
        par_url,
        par_scheme,
        par_allow_fragments,
        var__coerce_result,
        var_key,
        var_cached,
        var_netloc,
        var_query,
        var_fragment,
        var_i,
        var_v,
        var_c,
        var_rest
    );


    // Release cached frame.
    if ( frame_8dc6ac7b62d07d5b5cde8d34abc8acbb == cache_frame_8dc6ac7b62d07d5b5cde8d34abc8acbb )
    {
        Py_DECREF( frame_8dc6ac7b62d07d5b5cde8d34abc8acbb );
    }
    cache_frame_8dc6ac7b62d07d5b5cde8d34abc8acbb = NULL;

    assertFrameObject( frame_8dc6ac7b62d07d5b5cde8d34abc8acbb );

    // 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( future$backports$urllib$parse$$$function_26_urlsplit );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( par_scheme );
    par_scheme = NULL;

    }
    {
    Py_XDECREF( par_allow_fragments );
    par_allow_fragments = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    Py_XDECREF( var_cached );
    var_cached = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var_i );
    var_i = NULL;

    }
    {
    Py_XDECREF( var_v );
    var_v = NULL;

    }
    {
    Py_XDECREF( var_c );
    var_c = NULL;

    }
    {
    Py_XDECREF( var_rest );
    var_rest = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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;

    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( par_scheme );
    par_scheme = NULL;

    }
    {
    Py_XDECREF( par_allow_fragments );
    par_allow_fragments = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_key );
    var_key = NULL;

    }
    {
    Py_XDECREF( var_cached );
    var_cached = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var_i );
    var_i = NULL;

    }
    {
    Py_XDECREF( var_v );
    var_v = NULL;

    }
    {
    Py_XDECREF( var_c );
    var_c = NULL;

    }
    {
    Py_XDECREF( var_rest );
    var_rest = NULL;

    }
    {
    // 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_26_urlsplit );
    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;

}



struct future$backports$urllib$parse$$$function_26_urlsplit$$$genexpr_1_genexpr_locals {
    PyObject *var_c;
    PyObject *tmp_iter_value_0;
    char const *type_description_1;
    PyObject *exception_type;
    PyObject *exception_value;
    PyTracebackObject *exception_tb;
    int exception_lineno;
    int tmp_res;
    char yield_tmps[1024];
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    int exception_keeper_lineno_1;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    int exception_keeper_lineno_2;
};

static PyObject *future$backports$urllib$parse$$$function_26_urlsplit$$$genexpr_1_genexpr_context( struct Nuitka_GeneratorObject *generator, PyObject *yield_return_value )
{
    CHECK_OBJECT( (PyObject *)generator );
    assert( Nuitka_Generator_Check( (PyObject *)generator ) );

    // Heap access if used.
    struct future$backports$urllib$parse$$$function_26_urlsplit$$$genexpr_1_genexpr_locals *generator_heap = (struct future$backports$urllib$parse$$$function_26_urlsplit$$$genexpr_1_genexpr_locals *)generator->m_heap_storage;

    // Dispatch to yield based on return label index:
    switch(generator->m_yield_return_index) {
    case 1: goto yield_return_1;
    }

    // Local variable initialization
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    static struct Nuitka_FrameObject *cache_m_frame = NULL;
    generator_heap->var_c = NULL;
    generator_heap->tmp_iter_value_0 = NULL;
    generator_heap->type_description_1 = NULL;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_m_frame, codeobj_c502e627be543e9e94daefc4e9bf4ebf, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *) );
    generator->m_frame = cache_m_frame;

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

#if PYTHON_VERSION >= 340
    generator->m_frame->m_frame.f_gen = (PyObject *)generator;
#endif

    Py_CLEAR( generator->m_frame->m_frame.f_back );

    generator->m_frame->m_frame.f_back = PyThreadState_GET()->frame;
    Py_INCREF( generator->m_frame->m_frame.f_back );

    PyThreadState_GET()->frame = &generator->m_frame->m_frame;
    Py_INCREF( generator->m_frame );

    Nuitka_Frame_MarkAsExecuting( generator->m_frame );

#if PYTHON_VERSION >= 300
    // Accept currently existing exception as the one to publish again when we
    // yield or yield from.
    {
        PyThreadState *thread_state = PyThreadState_GET();

#if PYTHON_VERSION < 370
        generator->m_frame->m_frame.f_exc_type = EXC_TYPE( thread_state );
    if ( generator->m_frame->m_frame.f_exc_type == Py_None ) generator->m_frame->m_frame.f_exc_type = NULL;
        Py_XINCREF( generator->m_frame->m_frame.f_exc_type );
    generator->m_frame->m_frame.f_exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_value );
    generator->m_frame->m_frame.f_exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_traceback );
#else
        generator->m_exc_state.exc_type = EXC_TYPE( thread_state );
        if ( generator->m_exc_state.exc_type == Py_None ) generator->m_exc_state.exc_type = NULL;
        Py_XINCREF( generator->m_exc_state.exc_type );
        generator->m_exc_state.exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_value );
        generator->m_exc_state.exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_traceback );
#endif
    }

#endif

    // Framed code:
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_1;
    CHECK_OBJECT( PyCell_GET( generator->m_closure[0] ) );
    tmp_next_source_1 = PyCell_GET( generator->m_closure[0] );
    tmp_assign_source_1 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
            generator_heap->type_description_1 = "No";
            generator_heap->exception_lineno = 364;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = generator_heap->tmp_iter_value_0;
        generator_heap->tmp_iter_value_0 = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_2;
    CHECK_OBJECT( generator_heap->tmp_iter_value_0 );
    tmp_assign_source_2 = generator_heap->tmp_iter_value_0;
    {
        PyObject *old = generator_heap->var_c;
        generator_heap->var_c = tmp_assign_source_2;
        Py_INCREF( generator_heap->var_c );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_expression_name_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    CHECK_OBJECT( generator_heap->var_c );
    tmp_compexpr_left_1 = generator_heap->var_c;
    tmp_compexpr_right_1 = const_str_plain_0123456789;
    generator_heap->tmp_res = PySequence_Contains( tmp_compexpr_right_1, tmp_compexpr_left_1 );
    if ( generator_heap->tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 364;
        generator_heap->type_description_1 = "No";
        goto try_except_handler_2;
    }
    tmp_expression_name_1 = ( generator_heap->tmp_res == 0 ) ? Py_True : Py_False;
    Py_INCREF( tmp_expression_name_1 );
    Nuitka_PreserveHeap( generator_heap->yield_tmps, &tmp_compexpr_left_1, sizeof(PyObject *), &tmp_compexpr_right_1, sizeof(PyObject *), NULL );
    generator->m_yield_return_index = 1;
    return tmp_expression_name_1;
    yield_return_1:
    Nuitka_RestoreHeap( generator_heap->yield_tmps, &tmp_compexpr_left_1, sizeof(PyObject *), &tmp_compexpr_right_1, sizeof(PyObject *), NULL );
    if ( yield_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 364;
        generator_heap->type_description_1 = "No";
        goto try_except_handler_2;
    }
    tmp_unused = yield_return_value;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 364;
        generator_heap->type_description_1 = "No";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    generator_heap->exception_keeper_type_1 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_1 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_1 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_1 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

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

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_1:;
    }

    Nuitka_Frame_MarkAsNotExecuting( generator->m_frame );

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    // Allow re-use of the frame again.
    Py_DECREF( generator->m_frame );
    goto frame_no_exception_1;

    frame_exception_exit_1:;

    // If it's not an exit exception, consider and create a traceback for it.
    if ( !EXCEPTION_MATCH_GENERATOR( generator_heap->exception_type ) )
    {
        if ( generator_heap->exception_tb == NULL )
        {
            generator_heap->exception_tb = MAKE_TRACEBACK( generator->m_frame, generator_heap->exception_lineno );
        }
        else if ( generator_heap->exception_tb->tb_frame != &generator->m_frame->m_frame )
        {
            generator_heap->exception_tb = ADD_TRACEBACK( generator_heap->exception_tb, generator->m_frame, generator_heap->exception_lineno );
        }

        Nuitka_Frame_AttachLocals(
            (struct Nuitka_FrameObject *)generator->m_frame,
            generator_heap->type_description_1,
            NULL,
            generator_heap->var_c
        );


        // Release cached frame.
        if ( generator->m_frame == cache_m_frame )
        {
            Py_DECREF( generator->m_frame );
        }
        cache_m_frame = NULL;

        assertFrameObject( generator->m_frame );
    }

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    Py_DECREF( generator->m_frame );

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    goto try_end_2;
    // Exception handler code:
    try_except_handler_1:;
    generator_heap->exception_keeper_type_2 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_2 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_2 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_2 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->var_c );
    generator_heap->var_c = NULL;

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

    goto function_exception_exit;
    }
    // End of try:
    try_end_2:;
    }
    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

    }
    {
    Py_XDECREF( generator_heap->var_c );
    generator_heap->var_c = NULL;

    }


    return NULL;

    function_exception_exit:
    assert( generator_heap->exception_type );
    RESTORE_ERROR_OCCURRED( generator_heap->exception_type, generator_heap->exception_value, generator_heap->exception_tb );

    return NULL;

}

static PyObject *future$backports$urllib$parse$$$function_26_urlsplit$$$genexpr_1_genexpr_maker( void )
{
    return Nuitka_Generator_New(
        future$backports$urllib$parse$$$function_26_urlsplit$$$genexpr_1_genexpr_context,
        module_future$backports$urllib$parse,
        const_str_angle_genexpr,
#if PYTHON_VERSION >= 350
        const_str_digest_806fb13d353d187c680ead02553ff910,
#endif
        codeobj_c502e627be543e9e94daefc4e9bf4ebf,
        1,
        sizeof(struct future$backports$urllib$parse$$$function_26_urlsplit$$$genexpr_1_genexpr_locals)
    );
}


static PyObject *impl_future$backports$urllib$parse$$$function_27_urlunparse( 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_components = python_pars[ 0 ];
    PyObject *var_scheme = NULL;
    PyObject *var_netloc = NULL;
    PyObject *var_url = NULL;
    PyObject *var_params = NULL;
    PyObject *var_query = NULL;
    PyObject *var_fragment = NULL;
    PyObject *var__coerce_result = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = NULL;
    PyObject *tmp_tuple_unpack_1__element_4 = NULL;
    PyObject *tmp_tuple_unpack_1__element_5 = NULL;
    PyObject *tmp_tuple_unpack_1__element_6 = NULL;
    PyObject *tmp_tuple_unpack_1__element_7 = NULL;
    PyObject *tmp_tuple_unpack_1__source_iter = NULL;
    struct Nuitka_FrameObject *frame_cd6227ac6e02b1d1ee64b62e0f27c881;
    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_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 *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_cd6227ac6e02b1d1ee64b62e0f27c881 = 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_cd6227ac6e02b1d1ee64b62e0f27c881, codeobj_cd6227ac6e02b1d1ee64b62e0f27c881, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_cd6227ac6e02b1d1ee64b62e0f27c881 = cache_frame_cd6227ac6e02b1d1ee64b62e0f27c881;

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

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

    // Framed code:
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_dircall_arg1_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_dircall_arg2_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__coerce_args );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 387;
        type_description_1 = "oooooooo";
        goto try_except_handler_2;
    }

    tmp_dircall_arg1_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_components );
    tmp_dircall_arg2_1 = par_components;
    Py_INCREF( tmp_dircall_arg1_1 );
    Py_INCREF( tmp_dircall_arg2_1 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_1, tmp_dircall_arg2_1};
        tmp_iter_arg_1 = impl___internal__$$$function_2_complex_call_helper_star_list( dir_call_args );
    }
    if ( tmp_iter_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 387;
        type_description_1 = "oooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_1 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 386;
        type_description_1 = "oooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_2 = UNPACK_NEXT( tmp_unpack_1, 0, 7 );
    if ( tmp_assign_source_2 == 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 = "oooooooo";
        exception_lineno = 386;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_2;

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_2, 1, 7 );
    if ( tmp_assign_source_3 == 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 = "oooooooo";
        exception_lineno = 386;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_3, 2, 7 );
    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 = "oooooooo";
        exception_lineno = 386;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_4;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_4, 3, 7 );
    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 = "oooooooo";
        exception_lineno = 386;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_4 == NULL );
    tmp_tuple_unpack_1__element_4 = tmp_assign_source_5;

    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_unpack_5;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_6 = UNPACK_NEXT( tmp_unpack_5, 4, 7 );
    if ( tmp_assign_source_6 == 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 = "oooooooo";
        exception_lineno = 386;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_5 == NULL );
    tmp_tuple_unpack_1__element_5 = tmp_assign_source_6;

    }
    {
    PyObject *tmp_assign_source_7;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_7 = UNPACK_NEXT( tmp_unpack_6, 5, 7 );
    if ( tmp_assign_source_7 == 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 = "oooooooo";
        exception_lineno = 386;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_6 == NULL );
    tmp_tuple_unpack_1__element_6 = tmp_assign_source_7;

    }
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_unpack_7;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_7 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_8 = UNPACK_NEXT( tmp_unpack_7, 6, 7 );
    if ( tmp_assign_source_8 == 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 = "oooooooo";
        exception_lineno = 386;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_7 == NULL );
    tmp_tuple_unpack_1__element_7 = tmp_assign_source_8;

    }
    {
    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 = "oooooooo";
                exception_lineno = 386;
                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 7)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "oooooooo";
        exception_lineno = 386;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_4 );
    tmp_tuple_unpack_1__element_4 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_5 );
    tmp_tuple_unpack_1__element_5 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_6 );
    tmp_tuple_unpack_1__element_6 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_7 );
    tmp_tuple_unpack_1__element_7 = 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_9;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_9 = tmp_tuple_unpack_1__element_1;
    assert( var_scheme == NULL );
    Py_INCREF( tmp_assign_source_9 );
    var_scheme = tmp_assign_source_9;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_10;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_10 = tmp_tuple_unpack_1__element_2;
    assert( var_netloc == NULL );
    Py_INCREF( tmp_assign_source_10 );
    var_netloc = tmp_assign_source_10;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_11;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_11 = tmp_tuple_unpack_1__element_3;
    assert( var_url == NULL );
    Py_INCREF( tmp_assign_source_11 );
    var_url = tmp_assign_source_11;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    PyObject *tmp_assign_source_12;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_4 );
    tmp_assign_source_12 = tmp_tuple_unpack_1__element_4;
    assert( var_params == NULL );
    Py_INCREF( tmp_assign_source_12 );
    var_params = tmp_assign_source_12;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_4 );
    tmp_tuple_unpack_1__element_4 = NULL;

    }
    {
    PyObject *tmp_assign_source_13;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_5 );
    tmp_assign_source_13 = tmp_tuple_unpack_1__element_5;
    assert( var_query == NULL );
    Py_INCREF( tmp_assign_source_13 );
    var_query = tmp_assign_source_13;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_5 );
    tmp_tuple_unpack_1__element_5 = NULL;

    }
    {
    PyObject *tmp_assign_source_14;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_6 );
    tmp_assign_source_14 = tmp_tuple_unpack_1__element_6;
    assert( var_fragment == NULL );
    Py_INCREF( tmp_assign_source_14 );
    var_fragment = tmp_assign_source_14;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_6 );
    tmp_tuple_unpack_1__element_6 = NULL;

    }
    {
    PyObject *tmp_assign_source_15;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_7 );
    tmp_assign_source_15 = tmp_tuple_unpack_1__element_7;
    assert( var__coerce_result == NULL );
    Py_INCREF( tmp_assign_source_15 );
    var__coerce_result = tmp_assign_source_15;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_7 );
    tmp_tuple_unpack_1__element_7 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_truth_name_1;
    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 = 388;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_truth_name_1 = CHECK_IF_TRUE( var_params );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 388;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = tmp_truth_name_1 == 1 ? 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_16;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_tuple_element_1;
    tmp_left_name_1 = const_str_digest_4cf2fcf9bb29a1a54f61f0829e72d105;
    if ( var_url == NULL )
    {

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

        exception_lineno = 389;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_url;
    tmp_right_name_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
    if ( var_params == 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", "params" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 389;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_params;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_1 );
    tmp_assign_source_16 = BINARY_OPERATION_REMAINDER( 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 = 389;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_url;
        var_url = tmp_assign_source_16;
        Py_XDECREF( old );
    }

    }
    branch_no_1:;
    }
    {
    PyObject *tmp_called_name_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_tuple_element_2;
    if ( var__coerce_result == NULL )
    {

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

        exception_lineno = 390;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = var__coerce_result;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunsplit );

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

    if ( tmp_mvar_value_2 == NULL )
    {

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

        exception_lineno = 390;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

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

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

        exception_lineno = 390;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_scheme;
    tmp_args_element_name_2 = PyTuple_New( 5 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_2, 0, tmp_tuple_element_2 );
    if ( var_netloc == 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", "netloc" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 390;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_netloc;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_2, 1, tmp_tuple_element_2 );
    if ( var_url == 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", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 390;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_url;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_2, 2, tmp_tuple_element_2 );
    if ( var_query == 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", "query" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 390;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_query;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_2, 3, tmp_tuple_element_2 );
    if ( var_fragment == 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", "fragment" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 390;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_fragment;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_2, 4, tmp_tuple_element_2 );
    frame_cd6227ac6e02b1d1ee64b62e0f27c881->m_frame.f_lineno = 390;
    {
        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 );


        exception_lineno = 390;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }
    frame_cd6227ac6e02b1d1ee64b62e0f27c881->m_frame.f_lineno = 390;
    {
        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 = 390;
        type_description_1 = "oooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_cd6227ac6e02b1d1ee64b62e0f27c881 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_cd6227ac6e02b1d1ee64b62e0f27c881 );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_cd6227ac6e02b1d1ee64b62e0f27c881,
        type_description_1,
        par_components,
        var_scheme,
        var_netloc,
        var_url,
        var_params,
        var_query,
        var_fragment,
        var__coerce_result
    );


    // Release cached frame.
    if ( frame_cd6227ac6e02b1d1ee64b62e0f27c881 == cache_frame_cd6227ac6e02b1d1ee64b62e0f27c881 )
    {
        Py_DECREF( frame_cd6227ac6e02b1d1ee64b62e0f27c881 );
    }
    cache_frame_cd6227ac6e02b1d1ee64b62e0f27c881 = NULL;

    assertFrameObject( frame_cd6227ac6e02b1d1ee64b62e0f27c881 );

    // 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( future$backports$urllib$parse$$$function_27_urlunparse );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_components );
    par_components = NULL;

    }
    {
    Py_XDECREF( var_scheme );
    var_scheme = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_url );
    var_url = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = 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_components );
    par_components = NULL;

    }
    {
    Py_XDECREF( var_scheme );
    var_scheme = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_url );
    var_url = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = 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( future$backports$urllib$parse$$$function_27_urlunparse );
    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_future$backports$urllib$parse$$$function_28_urlunsplit( 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_components = python_pars[ 0 ];
    PyObject *var_scheme = NULL;
    PyObject *var_netloc = NULL;
    PyObject *var_url = NULL;
    PyObject *var_query = NULL;
    PyObject *var_fragment = NULL;
    PyObject *var__coerce_result = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = NULL;
    PyObject *tmp_tuple_unpack_1__element_4 = NULL;
    PyObject *tmp_tuple_unpack_1__element_5 = NULL;
    PyObject *tmp_tuple_unpack_1__element_6 = NULL;
    PyObject *tmp_tuple_unpack_1__source_iter = NULL;
    struct Nuitka_FrameObject *frame_392256bd5bfc7e7f9068937754cedbc4;
    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_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;
    int tmp_res;
    PyObject *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_392256bd5bfc7e7f9068937754cedbc4 = 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_392256bd5bfc7e7f9068937754cedbc4, codeobj_392256bd5bfc7e7f9068937754cedbc4, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_392256bd5bfc7e7f9068937754cedbc4 = cache_frame_392256bd5bfc7e7f9068937754cedbc4;

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

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

    // Framed code:
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_dircall_arg1_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_dircall_arg2_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__coerce_args );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 399;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }

    tmp_dircall_arg1_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_components );
    tmp_dircall_arg2_1 = par_components;
    Py_INCREF( tmp_dircall_arg1_1 );
    Py_INCREF( tmp_dircall_arg2_1 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_1, tmp_dircall_arg2_1};
        tmp_iter_arg_1 = impl___internal__$$$function_2_complex_call_helper_star_list( dir_call_args );
    }
    if ( tmp_iter_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 399;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_1 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 398;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_2 = UNPACK_NEXT( tmp_unpack_1, 0, 6 );
    if ( tmp_assign_source_2 == 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 = "ooooooo";
        exception_lineno = 398;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_2;

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_2, 1, 6 );
    if ( tmp_assign_source_3 == 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 = "ooooooo";
        exception_lineno = 398;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_3, 2, 6 );
    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 = "ooooooo";
        exception_lineno = 398;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_4;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_4, 3, 6 );
    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 = "ooooooo";
        exception_lineno = 398;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_4 == NULL );
    tmp_tuple_unpack_1__element_4 = tmp_assign_source_5;

    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_unpack_5;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_6 = UNPACK_NEXT( tmp_unpack_5, 4, 6 );
    if ( tmp_assign_source_6 == 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 = "ooooooo";
        exception_lineno = 398;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_5 == NULL );
    tmp_tuple_unpack_1__element_5 = tmp_assign_source_6;

    }
    {
    PyObject *tmp_assign_source_7;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_7 = UNPACK_NEXT( tmp_unpack_6, 5, 6 );
    if ( tmp_assign_source_7 == 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 = "ooooooo";
        exception_lineno = 398;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_6 == NULL );
    tmp_tuple_unpack_1__element_6 = tmp_assign_source_7;

    }
    {
    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 = "ooooooo";
                exception_lineno = 398;
                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 6)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooo";
        exception_lineno = 398;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_4 );
    tmp_tuple_unpack_1__element_4 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_5 );
    tmp_tuple_unpack_1__element_5 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_6 );
    tmp_tuple_unpack_1__element_6 = 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_8;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_8 = tmp_tuple_unpack_1__element_1;
    assert( var_scheme == NULL );
    Py_INCREF( tmp_assign_source_8 );
    var_scheme = tmp_assign_source_8;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_9;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_9 = tmp_tuple_unpack_1__element_2;
    assert( var_netloc == NULL );
    Py_INCREF( tmp_assign_source_9 );
    var_netloc = tmp_assign_source_9;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_10;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_10 = tmp_tuple_unpack_1__element_3;
    assert( var_url == NULL );
    Py_INCREF( tmp_assign_source_10 );
    var_url = tmp_assign_source_10;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    PyObject *tmp_assign_source_11;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_4 );
    tmp_assign_source_11 = tmp_tuple_unpack_1__element_4;
    assert( var_query == NULL );
    Py_INCREF( tmp_assign_source_11 );
    var_query = tmp_assign_source_11;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_4 );
    tmp_tuple_unpack_1__element_4 = NULL;

    }
    {
    PyObject *tmp_assign_source_12;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_5 );
    tmp_assign_source_12 = tmp_tuple_unpack_1__element_5;
    assert( var_fragment == NULL );
    Py_INCREF( tmp_assign_source_12 );
    var_fragment = tmp_assign_source_12;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_5 );
    tmp_tuple_unpack_1__element_5 = NULL;

    }
    {
    PyObject *tmp_assign_source_13;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_6 );
    tmp_assign_source_13 = tmp_tuple_unpack_1__element_6;
    assert( var__coerce_result == NULL );
    Py_INCREF( tmp_assign_source_13 );
    var__coerce_result = tmp_assign_source_13;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_6 );
    tmp_tuple_unpack_1__element_6 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_or_left_truth_1;
    nuitka_bool tmp_or_left_value_1;
    nuitka_bool tmp_or_right_value_1;
    int tmp_truth_name_1;
    int tmp_and_left_truth_1;
    nuitka_bool tmp_and_left_value_1;
    nuitka_bool tmp_and_right_value_1;
    int tmp_truth_name_2;
    int tmp_and_left_truth_2;
    nuitka_bool tmp_and_left_value_2;
    nuitka_bool tmp_and_right_value_2;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    if ( var_netloc == NULL )
    {

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

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

    tmp_truth_name_1 = CHECK_IF_TRUE( var_netloc );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 400;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_or_left_value_1 = tmp_truth_name_1 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_or_left_truth_1 == 1 )
    {
        goto or_left_1;
    }
    else
    {
        goto or_right_1;
    }
    or_right_1:;
    if ( var_scheme == NULL )
    {

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

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

    tmp_truth_name_2 = CHECK_IF_TRUE( var_scheme );
    if ( tmp_truth_name_2 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 400;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_1 = tmp_truth_name_2 == 1 ? 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 ( var_scheme == NULL )
    {

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

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

    tmp_compexpr_left_1 = var_scheme;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_uses_netloc );

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

    if ( tmp_mvar_value_2 == NULL )
    {

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

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

    tmp_compexpr_right_1 = tmp_mvar_value_2;
    tmp_res = PySequence_Contains( tmp_compexpr_right_1, tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 400;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_2 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_2 = tmp_and_left_value_2 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_2 == 1 )
    {
        goto and_right_2;
    }
    else
    {
        goto and_left_2;
    }
    and_right_2:;
    if ( var_url == NULL )
    {

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

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

    tmp_subscribed_name_1 = var_url;
    tmp_subscript_name_1 = const_slice_none_int_pos_2_none;
    tmp_compexpr_left_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 400;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_digest_13971ae58b983978540cbb4bbf3b1360;
    tmp_res = RICH_COMPARE_BOOL_NE( 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 = 400;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_right_value_1 = tmp_and_right_value_2;
    goto and_end_2;
    and_left_2:;
    tmp_and_right_value_1 = tmp_and_left_value_2;
    and_end_2:;
    tmp_or_right_value_1 = tmp_and_right_value_1;
    goto and_end_1;
    and_left_1:;
    tmp_or_right_value_1 = tmp_and_left_value_1;
    and_end_1:;
    tmp_condition_result_1 = tmp_or_right_value_1;
    goto or_end_1;
    or_left_1:;
    tmp_condition_result_1 = tmp_or_left_value_1;
    or_end_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;
    int tmp_and_left_truth_3;
    nuitka_bool tmp_and_left_value_3;
    nuitka_bool tmp_and_right_value_3;
    int tmp_truth_name_3;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    if ( var_url == NULL )
    {

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

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

    tmp_truth_name_3 = CHECK_IF_TRUE( var_url );
    if ( tmp_truth_name_3 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 401;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_3 = tmp_truth_name_3 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_3 = tmp_and_left_value_3 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_3 == 1 )
    {
        goto and_right_3;
    }
    else
    {
        goto and_left_3;
    }
    and_right_3:;
    if ( var_url == NULL )
    {

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

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

    tmp_subscribed_name_2 = var_url;
    tmp_subscript_name_2 = const_slice_none_int_pos_1_none;
    tmp_compexpr_left_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    if ( tmp_compexpr_left_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 401;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_3 = const_str_chr_47;
    tmp_res = RICH_COMPARE_BOOL_NE( 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 = 401;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_2 = tmp_and_right_value_3;
    goto and_end_3;
    and_left_3:;
    tmp_condition_result_2 = tmp_and_left_value_3;
    and_end_3:;
    if ( tmp_condition_result_2 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_2;
    }
    else
    {
        goto branch_no_2;
    }
    branch_yes_2:;
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    tmp_left_name_1 = const_str_chr_47;
    if ( var_url == NULL )
    {

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

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

    tmp_right_name_1 = var_url;
    tmp_assign_source_14 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    if ( tmp_assign_source_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 401;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_url;
        var_url = tmp_assign_source_14;
        Py_XDECREF( old );
    }

    }
    branch_no_2:;
    }
    {
    PyObject *tmp_assign_source_15;
    PyObject *tmp_left_name_2;
    PyObject *tmp_left_name_3;
    PyObject *tmp_right_name_2;
    int tmp_or_left_truth_2;
    PyObject *tmp_or_left_value_2;
    PyObject *tmp_or_right_value_2;
    PyObject *tmp_right_name_3;
    tmp_left_name_3 = const_str_digest_13971ae58b983978540cbb4bbf3b1360;
    if ( var_netloc == NULL )
    {

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

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

    tmp_or_left_value_2 = var_netloc;
    tmp_or_left_truth_2 = CHECK_IF_TRUE( tmp_or_left_value_2 );
    if ( tmp_or_left_truth_2 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 402;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( tmp_or_left_truth_2 == 1 )
    {
        goto or_left_2;
    }
    else
    {
        goto or_right_2;
    }
    or_right_2:;
    tmp_or_right_value_2 = const_str_empty;
    tmp_right_name_2 = tmp_or_right_value_2;
    goto or_end_2;
    or_left_2:;
    tmp_right_name_2 = tmp_or_left_value_2;
    or_end_2:;
    tmp_left_name_2 = BINARY_OPERATION_ADD( tmp_left_name_3, tmp_right_name_2 );
    if ( tmp_left_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


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

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

    tmp_right_name_3 = var_url;
    tmp_assign_source_15 = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_3 );
    Py_DECREF( tmp_left_name_2 );
    if ( tmp_assign_source_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 402;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_url;
        var_url = tmp_assign_source_15;
        Py_XDECREF( old );
    }

    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_3;
    int tmp_truth_name_4;
    if ( var_scheme == NULL )
    {

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

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

    tmp_truth_name_4 = CHECK_IF_TRUE( var_scheme );
    if ( tmp_truth_name_4 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 403;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_3 = tmp_truth_name_4 == 1 ? 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_16;
    PyObject *tmp_left_name_4;
    PyObject *tmp_left_name_5;
    PyObject *tmp_right_name_4;
    PyObject *tmp_right_name_5;
    if ( var_scheme == NULL )
    {

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

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

    tmp_left_name_5 = var_scheme;
    tmp_right_name_4 = const_str_chr_58;
    tmp_left_name_4 = BINARY_OPERATION_ADD( tmp_left_name_5, tmp_right_name_4 );
    if ( tmp_left_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


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

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

    tmp_right_name_5 = var_url;
    tmp_assign_source_16 = BINARY_OPERATION_ADD( tmp_left_name_4, tmp_right_name_5 );
    Py_DECREF( tmp_left_name_4 );
    if ( tmp_assign_source_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 404;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_url;
        var_url = tmp_assign_source_16;
        Py_XDECREF( old );
    }

    }
    branch_no_3:;
    }
    {
    nuitka_bool tmp_condition_result_4;
    int tmp_truth_name_5;
    if ( var_query == NULL )
    {

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

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

    tmp_truth_name_5 = CHECK_IF_TRUE( var_query );
    if ( tmp_truth_name_5 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 405;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_4 = tmp_truth_name_5 == 1 ? 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_17;
    PyObject *tmp_left_name_6;
    PyObject *tmp_left_name_7;
    PyObject *tmp_right_name_6;
    PyObject *tmp_right_name_7;
    if ( var_url == NULL )
    {

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

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

    tmp_left_name_7 = var_url;
    tmp_right_name_6 = const_str_chr_63;
    tmp_left_name_6 = BINARY_OPERATION_ADD( tmp_left_name_7, tmp_right_name_6 );
    if ( tmp_left_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


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

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

    tmp_right_name_7 = var_query;
    tmp_assign_source_17 = BINARY_OPERATION_ADD( tmp_left_name_6, tmp_right_name_7 );
    Py_DECREF( tmp_left_name_6 );
    if ( tmp_assign_source_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 406;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_url;
        var_url = tmp_assign_source_17;
        Py_XDECREF( old );
    }

    }
    branch_no_4:;
    }
    {
    nuitka_bool tmp_condition_result_5;
    int tmp_truth_name_6;
    if ( var_fragment == NULL )
    {

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

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

    tmp_truth_name_6 = CHECK_IF_TRUE( var_fragment );
    if ( tmp_truth_name_6 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 407;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_5 = tmp_truth_name_6 == 1 ? 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_18;
    PyObject *tmp_left_name_8;
    PyObject *tmp_left_name_9;
    PyObject *tmp_right_name_8;
    PyObject *tmp_right_name_9;
    if ( var_url == NULL )
    {

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

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

    tmp_left_name_9 = var_url;
    tmp_right_name_8 = const_str_chr_35;
    tmp_left_name_8 = BINARY_OPERATION_ADD( tmp_left_name_9, tmp_right_name_8 );
    if ( tmp_left_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


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

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

    tmp_right_name_9 = var_fragment;
    tmp_assign_source_18 = BINARY_OPERATION_ADD( tmp_left_name_8, tmp_right_name_9 );
    Py_DECREF( tmp_left_name_8 );
    if ( tmp_assign_source_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 408;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_url;
        var_url = tmp_assign_source_18;
        Py_XDECREF( old );
    }

    }
    branch_no_5:;
    }
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_args_element_name_1;
    if ( var__coerce_result == NULL )
    {

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

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

    tmp_called_name_1 = var__coerce_result;
    if ( var_url == NULL )
    {

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

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

    tmp_args_element_name_1 = var_url;
    frame_392256bd5bfc7e7f9068937754cedbc4->m_frame.f_lineno = 409;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

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

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


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

#if 0
    RESTORE_FRAME_EXCEPTION( frame_392256bd5bfc7e7f9068937754cedbc4 );
#endif

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

    goto frame_no_exception_1;

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

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

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_392256bd5bfc7e7f9068937754cedbc4 );
#endif

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

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_392256bd5bfc7e7f9068937754cedbc4,
        type_description_1,
        par_components,
        var_scheme,
        var_netloc,
        var_url,
        var_query,
        var_fragment,
        var__coerce_result
    );


    // Release cached frame.
    if ( frame_392256bd5bfc7e7f9068937754cedbc4 == cache_frame_392256bd5bfc7e7f9068937754cedbc4 )
    {
        Py_DECREF( frame_392256bd5bfc7e7f9068937754cedbc4 );
    }
    cache_frame_392256bd5bfc7e7f9068937754cedbc4 = NULL;

    assertFrameObject( frame_392256bd5bfc7e7f9068937754cedbc4 );

    // 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( future$backports$urllib$parse$$$function_28_urlunsplit );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_components );
    par_components = NULL;

    }
    {
    Py_XDECREF( var_scheme );
    var_scheme = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_url );
    var_url = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = 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_components );
    par_components = NULL;

    }
    {
    Py_XDECREF( var_scheme );
    var_scheme = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_url );
    var_url = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = 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( future$backports$urllib$parse$$$function_28_urlunsplit );
    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_future$backports$urllib$parse$$$function_29_urljoin( 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_base = python_pars[ 0 ];
    PyObject *par_url = python_pars[ 1 ];
    PyObject *par_allow_fragments = python_pars[ 2 ];
    PyObject *var__coerce_result = NULL;
    PyObject *var_bscheme = NULL;
    PyObject *var_bnetloc = NULL;
    PyObject *var_bpath = NULL;
    PyObject *var_bparams = NULL;
    PyObject *var_bquery = NULL;
    PyObject *var_bfragment = NULL;
    PyObject *var_scheme = NULL;
    PyObject *var_netloc = NULL;
    PyObject *var_path = NULL;
    PyObject *var_params = NULL;
    PyObject *var_query = NULL;
    PyObject *var_fragment = NULL;
    PyObject *var_segments = NULL;
    PyObject *var_i = NULL;
    PyObject *var_n = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = 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__element_3 = NULL;
    PyObject *tmp_tuple_unpack_2__element_4 = NULL;
    PyObject *tmp_tuple_unpack_2__element_5 = NULL;
    PyObject *tmp_tuple_unpack_2__element_6 = NULL;
    PyObject *tmp_tuple_unpack_2__source_iter = NULL;
    PyObject *tmp_tuple_unpack_3__element_1 = NULL;
    PyObject *tmp_tuple_unpack_3__element_2 = NULL;
    PyObject *tmp_tuple_unpack_3__element_3 = NULL;
    PyObject *tmp_tuple_unpack_3__element_4 = NULL;
    PyObject *tmp_tuple_unpack_3__element_5 = NULL;
    PyObject *tmp_tuple_unpack_3__element_6 = NULL;
    PyObject *tmp_tuple_unpack_3__source_iter = NULL;
    PyObject *tmp_while_loop_1__break_indicator = NULL;
    struct Nuitka_FrameObject *frame_a564be7304e1d0f1acde9b74ae3367c9;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    int tmp_res;
    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;
    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;
    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;
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    bool tmp_result;
    PyObject *exception_keeper_type_7;
    PyObject *exception_keeper_value_7;
    PyTracebackObject *exception_keeper_tb_7;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_7;
    static struct Nuitka_FrameObject *cache_frame_a564be7304e1d0f1acde9b74ae3367c9 = NULL;
    PyObject *exception_keeper_type_8;
    PyObject *exception_keeper_value_8;
    PyTracebackObject *exception_keeper_tb_8;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_8;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_a564be7304e1d0f1acde9b74ae3367c9, codeobj_a564be7304e1d0f1acde9b74ae3367c9, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_a564be7304e1d0f1acde9b74ae3367c9 = cache_frame_a564be7304e1d0f1acde9b74ae3367c9;

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

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

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_operand_name_1;
    CHECK_OBJECT( par_base );
    tmp_operand_name_1 = par_base;
    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 = 414;
        type_description_1 = "ooooooooooooooooooo";
        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:;
    {
    if ( par_url == NULL )
    {

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

        exception_lineno = 415;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = par_url;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_operand_name_2;
    if ( par_url == NULL )
    {

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

        exception_lineno = 416;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_2 = par_url;
    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 = 416;
        type_description_1 = "ooooooooooooooooooo";
        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:;
    {
    if ( par_base == NULL )
    {

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

        exception_lineno = 417;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = par_base;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__coerce_args );

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

    if ( tmp_mvar_value_1 == NULL )
    {

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

        exception_lineno = 418;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_2;
    }

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

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

        exception_lineno = 418;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_2;
    }

    tmp_args_element_name_1 = par_base;
    if ( par_url == NULL )
    {

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

        exception_lineno = 418;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_2;
    }

    tmp_args_element_name_2 = par_url;
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 418;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_iter_arg_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

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

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


        exception_lineno = 418;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_1 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 418;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_2 = UNPACK_NEXT( tmp_unpack_1, 0, 3 );
    if ( tmp_assign_source_2 == 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 = "ooooooooooooooooooo";
        exception_lineno = 418;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_2;

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_2, 1, 3 );
    if ( tmp_assign_source_3 == 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 = "ooooooooooooooooooo";
        exception_lineno = 418;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_3, 2, 3 );
    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 = "ooooooooooooooooooo";
        exception_lineno = 418;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = tmp_assign_source_4;

    }
    {
    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 = "ooooooooooooooooooo";
                exception_lineno = 418;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooooooooooooo";
        exception_lineno = 418;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = 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_5;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_5 = tmp_tuple_unpack_1__element_1;
    {
        PyObject *old = par_base;
        par_base = tmp_assign_source_5;
        Py_INCREF( par_base );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_6;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_6 = tmp_tuple_unpack_1__element_2;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_6;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_7;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_7 = tmp_tuple_unpack_1__element_3;
    assert( var__coerce_result == NULL );
    Py_INCREF( tmp_assign_source_7 );
    var__coerce_result = tmp_assign_source_7;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_iter_arg_2;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_args_element_name_4;
    PyObject *tmp_args_element_name_5;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlparse );

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

    if ( tmp_mvar_value_2 == NULL )
    {

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

        exception_lineno = 420;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_4;
    }

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

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

        exception_lineno = 420;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_4;
    }

    tmp_args_element_name_3 = par_base;
    tmp_args_element_name_4 = const_str_empty;
    if ( par_allow_fragments == NULL )
    {

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

        exception_lineno = 420;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_4;
    }

    tmp_args_element_name_5 = par_allow_fragments;
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 420;
    {
        PyObject *call_args[] = { tmp_args_element_name_3, tmp_args_element_name_4, tmp_args_element_name_5 };
        tmp_iter_arg_2 = CALL_FUNCTION_WITH_ARGS3( tmp_called_name_2, call_args );
    }

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

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


        exception_lineno = 420;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_4;
    }
    tmp_assign_source_8 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_2 );
    Py_DECREF( tmp_iter_arg_2 );
    if ( tmp_assign_source_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 419;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_4;
    }
    assert( tmp_tuple_unpack_2__source_iter == NULL );
    tmp_tuple_unpack_2__source_iter = tmp_assign_source_8;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_unpack_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_9 = UNPACK_NEXT( tmp_unpack_4, 0, 6 );
    if ( tmp_assign_source_9 == 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 = "ooooooooooooooooooo";
        exception_lineno = 419;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_1 == NULL );
    tmp_tuple_unpack_2__element_1 = tmp_assign_source_9;

    }
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_unpack_5;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_10 = UNPACK_NEXT( tmp_unpack_5, 1, 6 );
    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 = "ooooooooooooooooooo";
        exception_lineno = 419;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_2 == NULL );
    tmp_tuple_unpack_2__element_2 = tmp_assign_source_10;

    }
    {
    PyObject *tmp_assign_source_11;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_11 = UNPACK_NEXT( tmp_unpack_6, 2, 6 );
    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 = "ooooooooooooooooooo";
        exception_lineno = 419;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_3 == NULL );
    tmp_tuple_unpack_2__element_3 = tmp_assign_source_11;

    }
    {
    PyObject *tmp_assign_source_12;
    PyObject *tmp_unpack_7;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_7 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_12 = UNPACK_NEXT( tmp_unpack_7, 3, 6 );
    if ( tmp_assign_source_12 == 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 = "ooooooooooooooooooo";
        exception_lineno = 419;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_4 == NULL );
    tmp_tuple_unpack_2__element_4 = tmp_assign_source_12;

    }
    {
    PyObject *tmp_assign_source_13;
    PyObject *tmp_unpack_8;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_8 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_13 = UNPACK_NEXT( tmp_unpack_8, 4, 6 );
    if ( tmp_assign_source_13 == 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 = "ooooooooooooooooooo";
        exception_lineno = 419;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_5 == NULL );
    tmp_tuple_unpack_2__element_5 = tmp_assign_source_13;

    }
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_unpack_9;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_9 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_14 = UNPACK_NEXT( tmp_unpack_9, 5, 6 );
    if ( tmp_assign_source_14 == 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 = "ooooooooooooooooooo";
        exception_lineno = 419;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_6 == NULL );
    tmp_tuple_unpack_2__element_6 = tmp_assign_source_14;

    }
    {
    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 = "ooooooooooooooooooo";
                exception_lineno = 419;
                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 6)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooooooooooooo";
        exception_lineno = 419;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_4 );
    tmp_tuple_unpack_2__element_4 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_5 );
    tmp_tuple_unpack_2__element_5 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_6 );
    tmp_tuple_unpack_2__element_6 = 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_15;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_15 = tmp_tuple_unpack_2__element_1;
    assert( var_bscheme == NULL );
    Py_INCREF( tmp_assign_source_15 );
    var_bscheme = tmp_assign_source_15;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_16;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_16 = tmp_tuple_unpack_2__element_2;
    assert( var_bnetloc == NULL );
    Py_INCREF( tmp_assign_source_16 );
    var_bnetloc = tmp_assign_source_16;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_17;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_3 );
    tmp_assign_source_17 = tmp_tuple_unpack_2__element_3;
    assert( var_bpath == NULL );
    Py_INCREF( tmp_assign_source_17 );
    var_bpath = tmp_assign_source_17;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    PyObject *tmp_assign_source_18;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_4 );
    tmp_assign_source_18 = tmp_tuple_unpack_2__element_4;
    assert( var_bparams == NULL );
    Py_INCREF( tmp_assign_source_18 );
    var_bparams = tmp_assign_source_18;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_4 );
    tmp_tuple_unpack_2__element_4 = NULL;

    }
    {
    PyObject *tmp_assign_source_19;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_5 );
    tmp_assign_source_19 = tmp_tuple_unpack_2__element_5;
    assert( var_bquery == NULL );
    Py_INCREF( tmp_assign_source_19 );
    var_bquery = tmp_assign_source_19;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_5 );
    tmp_tuple_unpack_2__element_5 = NULL;

    }
    {
    PyObject *tmp_assign_source_20;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_6 );
    tmp_assign_source_20 = tmp_tuple_unpack_2__element_6;
    assert( var_bfragment == NULL );
    Py_INCREF( tmp_assign_source_20 );
    var_bfragment = tmp_assign_source_20;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_6 );
    tmp_tuple_unpack_2__element_6 = NULL;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_21;
    PyObject *tmp_iter_arg_3;
    PyObject *tmp_called_name_3;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_6;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_args_element_name_8;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlparse );

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

    if ( tmp_mvar_value_3 == NULL )
    {

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

        exception_lineno = 422;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_3 = tmp_mvar_value_3;
    if ( par_url == NULL )
    {

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

        exception_lineno = 422;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_6 = par_url;
    if ( var_bscheme == NULL )
    {

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

        exception_lineno = 422;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_7 = var_bscheme;
    if ( par_allow_fragments == NULL )
    {

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

        exception_lineno = 422;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_8 = par_allow_fragments;
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 422;
    {
        PyObject *call_args[] = { tmp_args_element_name_6, tmp_args_element_name_7, tmp_args_element_name_8 };
        tmp_iter_arg_3 = CALL_FUNCTION_WITH_ARGS3( tmp_called_name_3, call_args );
    }

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

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


        exception_lineno = 422;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_6;
    }
    tmp_assign_source_21 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_3 );
    Py_DECREF( tmp_iter_arg_3 );
    if ( tmp_assign_source_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 421;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_6;
    }
    assert( tmp_tuple_unpack_3__source_iter == NULL );
    tmp_tuple_unpack_3__source_iter = tmp_assign_source_21;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_22;
    PyObject *tmp_unpack_10;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_10 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_22 = UNPACK_NEXT( tmp_unpack_10, 0, 6 );
    if ( tmp_assign_source_22 == 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 = "ooooooooooooooooooo";
        exception_lineno = 421;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_1 == NULL );
    tmp_tuple_unpack_3__element_1 = tmp_assign_source_22;

    }
    {
    PyObject *tmp_assign_source_23;
    PyObject *tmp_unpack_11;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_11 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_23 = UNPACK_NEXT( tmp_unpack_11, 1, 6 );
    if ( tmp_assign_source_23 == 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 = "ooooooooooooooooooo";
        exception_lineno = 421;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_2 == NULL );
    tmp_tuple_unpack_3__element_2 = tmp_assign_source_23;

    }
    {
    PyObject *tmp_assign_source_24;
    PyObject *tmp_unpack_12;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_12 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_24 = UNPACK_NEXT( tmp_unpack_12, 2, 6 );
    if ( tmp_assign_source_24 == 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 = "ooooooooooooooooooo";
        exception_lineno = 421;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_3 == NULL );
    tmp_tuple_unpack_3__element_3 = tmp_assign_source_24;

    }
    {
    PyObject *tmp_assign_source_25;
    PyObject *tmp_unpack_13;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_13 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_25 = UNPACK_NEXT( tmp_unpack_13, 3, 6 );
    if ( tmp_assign_source_25 == 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 = "ooooooooooooooooooo";
        exception_lineno = 421;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_4 == NULL );
    tmp_tuple_unpack_3__element_4 = tmp_assign_source_25;

    }
    {
    PyObject *tmp_assign_source_26;
    PyObject *tmp_unpack_14;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_14 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_26 = UNPACK_NEXT( tmp_unpack_14, 4, 6 );
    if ( tmp_assign_source_26 == 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 = "ooooooooooooooooooo";
        exception_lineno = 421;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_5 == NULL );
    tmp_tuple_unpack_3__element_5 = tmp_assign_source_26;

    }
    {
    PyObject *tmp_assign_source_27;
    PyObject *tmp_unpack_15;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_15 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_27 = UNPACK_NEXT( tmp_unpack_15, 5, 6 );
    if ( tmp_assign_source_27 == 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 = "ooooooooooooooooooo";
        exception_lineno = 421;
        goto try_except_handler_7;
    }
    assert( tmp_tuple_unpack_3__element_6 == NULL );
    tmp_tuple_unpack_3__element_6 = tmp_assign_source_27;

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

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

    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 = "ooooooooooooooooooo";
                exception_lineno = 421;
                goto try_except_handler_7;
            }
        }
    }
    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 6)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooooooooooooo";
        exception_lineno = 421;
        goto try_except_handler_7;
    }
    }
    goto try_end_5;
    // Exception handler code:
    try_except_handler_7:;
    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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = 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 try_except_handler_6;
    }
    // End of try:
    try_end_5:;
    }
    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;

    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_3 );
    tmp_tuple_unpack_3__element_3 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_4 );
    tmp_tuple_unpack_3__element_4 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_5 );
    tmp_tuple_unpack_3__element_5 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_6 );
    tmp_tuple_unpack_3__element_6 = 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_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_28;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_1 );
    tmp_assign_source_28 = tmp_tuple_unpack_3__element_1;
    assert( var_scheme == NULL );
    Py_INCREF( tmp_assign_source_28 );
    var_scheme = tmp_assign_source_28;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_29;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_2 );
    tmp_assign_source_29 = tmp_tuple_unpack_3__element_2;
    assert( var_netloc == NULL );
    Py_INCREF( tmp_assign_source_29 );
    var_netloc = tmp_assign_source_29;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_30;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_3 );
    tmp_assign_source_30 = tmp_tuple_unpack_3__element_3;
    assert( var_path == NULL );
    Py_INCREF( tmp_assign_source_30 );
    var_path = tmp_assign_source_30;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_3 );
    tmp_tuple_unpack_3__element_3 = NULL;

    }
    {
    PyObject *tmp_assign_source_31;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_4 );
    tmp_assign_source_31 = tmp_tuple_unpack_3__element_4;
    assert( var_params == NULL );
    Py_INCREF( tmp_assign_source_31 );
    var_params = tmp_assign_source_31;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_4 );
    tmp_tuple_unpack_3__element_4 = NULL;

    }
    {
    PyObject *tmp_assign_source_32;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_5 );
    tmp_assign_source_32 = tmp_tuple_unpack_3__element_5;
    assert( var_query == NULL );
    Py_INCREF( tmp_assign_source_32 );
    var_query = tmp_assign_source_32;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_5 );
    tmp_tuple_unpack_3__element_5 = NULL;

    }
    {
    PyObject *tmp_assign_source_33;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_6 );
    tmp_assign_source_33 = tmp_tuple_unpack_3__element_6;
    assert( var_fragment == NULL );
    Py_INCREF( tmp_assign_source_33 );
    var_fragment = tmp_assign_source_33;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_6 );
    tmp_tuple_unpack_3__element_6 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_3;
    int tmp_or_left_truth_1;
    nuitka_bool tmp_or_left_value_1;
    nuitka_bool tmp_or_right_value_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_mvar_value_4;
    if ( var_scheme == NULL )
    {

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

        exception_lineno = 423;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = var_scheme;
    if ( var_bscheme == NULL )
    {

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

        exception_lineno = 423;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_1 = var_bscheme;
    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 = 423;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_or_left_value_1 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_or_left_truth_1 == 1 )
    {
        goto or_left_1;
    }
    else
    {
        goto or_right_1;
    }
    or_right_1:;
    if ( var_scheme == NULL )
    {

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

        exception_lineno = 423;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_2 = var_scheme;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_uses_relative );

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

    if ( tmp_mvar_value_4 == NULL )
    {

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

        exception_lineno = 423;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_2 = tmp_mvar_value_4;
    tmp_res = PySequence_Contains( tmp_compexpr_right_2, tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 423;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_or_right_value_1 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_3 = tmp_or_right_value_1;
    goto or_end_1;
    or_left_1:;
    tmp_condition_result_3 = tmp_or_left_value_1;
    or_end_1:;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_called_name_4;
    PyObject *tmp_args_element_name_9;
    if ( var__coerce_result == NULL )
    {

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

        exception_lineno = 424;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_4 = var__coerce_result;
    if ( par_url == NULL )
    {

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

        exception_lineno = 424;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_9 = par_url;
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 424;
    {
        PyObject *call_args[] = { tmp_args_element_name_9 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_4, call_args );
    }

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

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


        exception_lineno = 424;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_3:;
    }
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    PyObject *tmp_mvar_value_5;
    if ( var_scheme == NULL )
    {

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

        exception_lineno = 425;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_3 = var_scheme;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_uses_netloc );

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

    if ( tmp_mvar_value_5 == NULL )
    {

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

        exception_lineno = 425;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_3 = tmp_mvar_value_5;
    tmp_res = PySequence_Contains( tmp_compexpr_right_3, tmp_compexpr_left_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 425;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_4 = ( tmp_res == 1 ) ? 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;
    int tmp_truth_name_1;
    if ( var_netloc == NULL )
    {

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

        exception_lineno = 426;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_truth_name_1 = CHECK_IF_TRUE( var_netloc );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 426;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_5 = tmp_truth_name_1 == 1 ? 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_called_name_5;
    PyObject *tmp_args_element_name_10;
    PyObject *tmp_called_name_6;
    PyObject *tmp_mvar_value_6;
    PyObject *tmp_args_element_name_11;
    PyObject *tmp_tuple_element_1;
    if ( var__coerce_result == NULL )
    {

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

        exception_lineno = 427;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_5 = var__coerce_result;
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunparse );

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

    if ( tmp_mvar_value_6 == NULL )
    {

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

        exception_lineno = 427;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

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

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

        exception_lineno = 427;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_scheme;
    tmp_args_element_name_11 = PyTuple_New( 6 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_11, 0, tmp_tuple_element_1 );
    if ( var_netloc == NULL )
    {
        Py_DECREF( tmp_args_element_name_11 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "netloc" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 427;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_netloc;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_11, 1, tmp_tuple_element_1 );
    if ( var_path == NULL )
    {
        Py_DECREF( tmp_args_element_name_11 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "path" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 427;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_path;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_11, 2, tmp_tuple_element_1 );
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_args_element_name_11 );
        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 = 428;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_params;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_11, 3, tmp_tuple_element_1 );
    if ( var_query == NULL )
    {
        Py_DECREF( tmp_args_element_name_11 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "query" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 428;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_query;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_11, 4, tmp_tuple_element_1 );
    if ( var_fragment == NULL )
    {
        Py_DECREF( tmp_args_element_name_11 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "fragment" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 428;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_fragment;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_11, 5, tmp_tuple_element_1 );
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 427;
    {
        PyObject *call_args[] = { tmp_args_element_name_11 };
        tmp_args_element_name_10 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_6, call_args );
    }

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

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


        exception_lineno = 427;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 427;
    {
        PyObject *call_args[] = { tmp_args_element_name_10 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_5, call_args );
    }

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

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


        exception_lineno = 427;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_5:;
    }
    {
    PyObject *tmp_assign_source_34;
    if ( var_bnetloc == NULL )
    {

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

        exception_lineno = 429;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_assign_source_34 = var_bnetloc;
    {
        PyObject *old = var_netloc;
        var_netloc = tmp_assign_source_34;
        Py_INCREF( var_netloc );
        Py_XDECREF( old );
    }

    }
    branch_no_4:;
    }
    {
    nuitka_bool tmp_condition_result_6;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    if ( var_path == NULL )
    {

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

        exception_lineno = 430;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = var_path;
    tmp_subscript_name_1 = const_slice_none_int_pos_1_none;
    tmp_compexpr_left_4 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_compexpr_left_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 430;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_4 = const_str_chr_47;
    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 = 430;
        type_description_1 = "ooooooooooooooooooo";
        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_called_name_7;
    PyObject *tmp_args_element_name_12;
    PyObject *tmp_called_name_8;
    PyObject *tmp_mvar_value_7;
    PyObject *tmp_args_element_name_13;
    PyObject *tmp_tuple_element_2;
    if ( var__coerce_result == NULL )
    {

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

        exception_lineno = 431;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_7 = var__coerce_result;
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunparse );

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

    if ( tmp_mvar_value_7 == NULL )
    {

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

        exception_lineno = 431;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_8 = tmp_mvar_value_7;
    if ( var_scheme == NULL )
    {

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

        exception_lineno = 431;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_scheme;
    tmp_args_element_name_13 = PyTuple_New( 6 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_13, 0, tmp_tuple_element_2 );
    if ( var_netloc == NULL )
    {
        Py_DECREF( tmp_args_element_name_13 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "netloc" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 431;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_netloc;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_13, 1, tmp_tuple_element_2 );
    if ( var_path == NULL )
    {
        Py_DECREF( tmp_args_element_name_13 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "path" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 431;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_path;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_13, 2, tmp_tuple_element_2 );
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_args_element_name_13 );
        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 = 432;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_params;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_13, 3, tmp_tuple_element_2 );
    if ( var_query == NULL )
    {
        Py_DECREF( tmp_args_element_name_13 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "query" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 432;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_query;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_13, 4, tmp_tuple_element_2 );
    if ( var_fragment == NULL )
    {
        Py_DECREF( tmp_args_element_name_13 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "fragment" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 432;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = var_fragment;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_element_name_13, 5, tmp_tuple_element_2 );
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 431;
    {
        PyObject *call_args[] = { tmp_args_element_name_13 };
        tmp_args_element_name_12 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_8, call_args );
    }

    Py_DECREF( tmp_args_element_name_13 );
    if ( tmp_args_element_name_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

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


        exception_lineno = 431;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 431;
    {
        PyObject *call_args[] = { tmp_args_element_name_12 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_7, call_args );
    }

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

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


        exception_lineno = 431;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_6:;
    }
    {
    nuitka_bool tmp_condition_result_7;
    int tmp_and_left_truth_1;
    nuitka_bool tmp_and_left_value_1;
    nuitka_bool tmp_and_right_value_1;
    PyObject *tmp_operand_name_3;
    PyObject *tmp_operand_name_4;
    if ( var_path == NULL )
    {

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

        exception_lineno = 433;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_3 = var_path;
    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 = 433;
        type_description_1 = "ooooooooooooooooooo";
        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 ( 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 = 433;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_4 = var_params;
    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 = 433;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_1 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_7 = tmp_and_right_value_1;
    goto and_end_1;
    and_left_1:;
    tmp_condition_result_7 = tmp_and_left_value_1;
    and_end_1:;
    if ( tmp_condition_result_7 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_7;
    }
    else
    {
        goto branch_no_7;
    }
    branch_yes_7:;
    {
    PyObject *tmp_assign_source_35;
    if ( var_bpath == NULL )
    {

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

        exception_lineno = 434;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_assign_source_35 = var_bpath;
    {
        PyObject *old = var_path;
        var_path = tmp_assign_source_35;
        Py_INCREF( var_path );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_36;
    if ( var_bparams == NULL )
    {

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

        exception_lineno = 435;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_assign_source_36 = var_bparams;
    {
        PyObject *old = var_params;
        var_params = tmp_assign_source_36;
        Py_INCREF( var_params );
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_8;
    PyObject *tmp_operand_name_5;
    if ( var_query == NULL )
    {

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

        exception_lineno = 436;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_5 = var_query;
    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 = 436;
        type_description_1 = "ooooooooooooooooooo";
        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_37;
    if ( var_bquery == NULL )
    {

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

        exception_lineno = 437;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_assign_source_37 = var_bquery;
    {
        PyObject *old = var_query;
        var_query = tmp_assign_source_37;
        Py_INCREF( var_query );
        Py_XDECREF( old );
    }

    }
    branch_no_8:;
    }
    {
    PyObject *tmp_called_name_9;
    PyObject *tmp_args_element_name_14;
    PyObject *tmp_called_name_10;
    PyObject *tmp_mvar_value_8;
    PyObject *tmp_args_element_name_15;
    PyObject *tmp_tuple_element_3;
    if ( var__coerce_result == NULL )
    {

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

        exception_lineno = 438;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_9 = var__coerce_result;
    tmp_mvar_value_8 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunparse );

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

    if ( tmp_mvar_value_8 == NULL )
    {

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

        exception_lineno = 438;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_10 = tmp_mvar_value_8;
    if ( var_scheme == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "scheme" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 438;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_3 = var_scheme;
    tmp_args_element_name_15 = PyTuple_New( 6 );
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_args_element_name_15, 0, tmp_tuple_element_3 );
    if ( var_netloc == NULL )
    {
        Py_DECREF( tmp_args_element_name_15 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "netloc" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 438;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_3 = var_netloc;
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_args_element_name_15, 1, tmp_tuple_element_3 );
    if ( var_path == NULL )
    {
        Py_DECREF( tmp_args_element_name_15 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "path" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 438;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_3 = var_path;
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_args_element_name_15, 2, tmp_tuple_element_3 );
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_args_element_name_15 );
        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 = 439;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_3 = var_params;
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_args_element_name_15, 3, tmp_tuple_element_3 );
    if ( var_query == NULL )
    {
        Py_DECREF( tmp_args_element_name_15 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "query" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 439;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_3 = var_query;
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_args_element_name_15, 4, tmp_tuple_element_3 );
    if ( var_fragment == NULL )
    {
        Py_DECREF( tmp_args_element_name_15 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "fragment" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 439;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_3 = var_fragment;
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_args_element_name_15, 5, tmp_tuple_element_3 );
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 438;
    {
        PyObject *call_args[] = { tmp_args_element_name_15 };
        tmp_args_element_name_14 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_10, call_args );
    }

    Py_DECREF( tmp_args_element_name_15 );
    if ( tmp_args_element_name_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 438;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 438;
    {
        PyObject *call_args[] = { tmp_args_element_name_14 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_9, call_args );
    }

    Py_DECREF( tmp_args_element_name_14 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 438;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_7:;
    }
    {
    PyObject *tmp_assign_source_38;
    PyObject *tmp_left_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_right_name_1;
    PyObject *tmp_called_instance_2;
    if ( var_bpath == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bpath" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 440;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_1 = var_bpath;
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 440;
    tmp_subscribed_name_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_47_tuple, 0 ) );

    if ( tmp_subscribed_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 440;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_subscript_name_2 = const_slice_none_int_neg_1_none;
    tmp_left_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    Py_DECREF( tmp_subscribed_name_2 );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 440;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_path == NULL )
    {
        Py_DECREF( tmp_left_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "path" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 440;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_2 = var_path;
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 440;
    tmp_right_name_1 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_47_tuple, 0 ) );

    if ( tmp_right_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_left_name_1 );

        exception_lineno = 440;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_38 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_1 );
    Py_DECREF( tmp_right_name_1 );
    if ( tmp_assign_source_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 440;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_segments == NULL );
    var_segments = tmp_assign_source_38;

    }
    {
    nuitka_bool tmp_condition_result_9;
    PyObject *tmp_compexpr_left_5;
    PyObject *tmp_compexpr_right_5;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    CHECK_OBJECT( var_segments );
    tmp_subscribed_name_3 = var_segments;
    tmp_subscript_name_3 = const_int_neg_1;
    tmp_compexpr_left_5 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_3, tmp_subscript_name_3, -1 );
    if ( tmp_compexpr_left_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 442;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_5 = const_str_dot;
    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 = 442;
        type_description_1 = "ooooooooooooooooooo";
        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_ass_subvalue_1;
    PyObject *tmp_ass_subscribed_1;
    PyObject *tmp_ass_subscript_1;
    int tmp_ass_subscript_res_1;
    tmp_ass_subvalue_1 = const_str_empty;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 443;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_1 = var_segments;
    tmp_ass_subscript_1 = const_int_neg_1;
    tmp_ass_subscript_res_1 = SET_SUBSCRIPT_CONST( tmp_ass_subscribed_1, tmp_ass_subscript_1, -1, tmp_ass_subvalue_1 );
    if ( tmp_ass_subscript_res_1 == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 443;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    }
    branch_no_9:;
    }
    {
    loop_start_1:;
    {
    nuitka_bool tmp_condition_result_10;
    PyObject *tmp_compexpr_left_6;
    PyObject *tmp_compexpr_right_6;
    tmp_compexpr_left_6 = const_str_dot;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 444;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_6 = var_segments;
    tmp_res = PySequence_Contains( tmp_compexpr_right_6, tmp_compexpr_left_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 444;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_10 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_10 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_10;
    }
    else
    {
        goto branch_no_10;
    }
    branch_yes_10:;
    {
    goto loop_end_1;
    }
    branch_no_10:;
    }
    {
    PyObject *tmp_called_instance_3;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 445;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_3 = var_segments;
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 445;
    tmp_unused = CALL_METHOD_WITH_ARGS1( tmp_called_instance_3, const_str_plain_remove, &PyTuple_GET_ITEM( const_tuple_str_dot_tuple, 0 ) );

    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 445;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    Py_DECREF( tmp_unused );
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 444;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    {
    loop_start_2:;
    {
    PyObject *tmp_assign_source_39;
    tmp_assign_source_39 = const_int_pos_1;
    {
        PyObject *old = var_i;
        var_i = tmp_assign_source_39;
        Py_INCREF( var_i );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_40;
    PyObject *tmp_left_name_2;
    PyObject *tmp_len_arg_1;
    PyObject *tmp_right_name_2;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 448;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_len_arg_1 = var_segments;
    tmp_left_name_2 = BUILTIN_LEN( tmp_len_arg_1 );
    if ( tmp_left_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 448;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_2 = const_int_pos_1;
    tmp_assign_source_40 = BINARY_OPERATION_SUB( tmp_left_name_2, tmp_right_name_2 );
    Py_DECREF( tmp_left_name_2 );
    if ( tmp_assign_source_40 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 448;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_n;
        var_n = tmp_assign_source_40;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_41;
    tmp_assign_source_41 = Py_False;
    {
        PyObject *old = tmp_while_loop_1__break_indicator;
        tmp_while_loop_1__break_indicator = tmp_assign_source_41;
        Py_INCREF( tmp_while_loop_1__break_indicator );
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    loop_start_3:;
    {
    nuitka_bool tmp_condition_result_11;
    PyObject *tmp_operand_name_6;
    PyObject *tmp_compexpr_left_7;
    PyObject *tmp_compexpr_right_7;
    if ( var_i == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "i" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 449;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_compexpr_left_7 = var_i;
    CHECK_OBJECT( var_n );
    tmp_compexpr_right_7 = var_n;
    tmp_operand_name_6 = RICH_COMPARE_LT( tmp_compexpr_left_7, tmp_compexpr_right_7 );
    if ( tmp_operand_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 449;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_6 );
    Py_DECREF( tmp_operand_name_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 449;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    tmp_condition_result_11 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_11 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_11;
    }
    else
    {
        goto branch_no_11;
    }
    branch_yes_11:;
    {
    PyObject *tmp_assign_source_42;
    tmp_assign_source_42 = Py_True;
    {
        PyObject *old = tmp_while_loop_1__break_indicator;
        assert( old != NULL );
        tmp_while_loop_1__break_indicator = tmp_assign_source_42;
        Py_INCREF( tmp_while_loop_1__break_indicator );
        Py_DECREF( old );
    }

    }
    {
    goto loop_end_3;
    }
    branch_no_11:;
    }
    {
    nuitka_bool tmp_condition_result_12;
    int tmp_and_left_truth_2;
    nuitka_bool tmp_and_left_value_2;
    nuitka_bool tmp_and_right_value_2;
    PyObject *tmp_compexpr_left_8;
    PyObject *tmp_compexpr_right_8;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    PyObject *tmp_compexpr_left_9;
    PyObject *tmp_compexpr_right_9;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    PyObject *tmp_left_name_3;
    PyObject *tmp_right_name_3;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 450;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_subscribed_name_4 = var_segments;
    if ( var_i == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "i" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 450;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_subscript_name_4 = var_i;
    tmp_compexpr_left_8 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    if ( tmp_compexpr_left_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 450;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    tmp_compexpr_right_8 = const_str_digest_7b79a8950d64155a442741f6cc8c809b;
    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 = 450;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    tmp_and_left_value_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_2 = tmp_and_left_value_2 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_2 == 1 )
    {
        goto and_right_2;
    }
    else
    {
        goto and_left_2;
    }
    and_right_2:;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 451;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_subscribed_name_5 = var_segments;
    if ( var_i == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "i" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 451;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_left_name_3 = var_i;
    tmp_right_name_3 = const_int_pos_1;
    tmp_subscript_name_5 = BINARY_OPERATION_SUB( tmp_left_name_3, tmp_right_name_3 );
    if ( tmp_subscript_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 451;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    tmp_compexpr_left_9 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    Py_DECREF( tmp_subscript_name_5 );
    if ( tmp_compexpr_left_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 451;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    tmp_compexpr_right_9 = const_tuple_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_tuple;
    tmp_res = PySequence_Contains( tmp_compexpr_right_9, tmp_compexpr_left_9 );
    Py_DECREF( tmp_compexpr_left_9 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 451;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    tmp_and_right_value_2 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_12 = tmp_and_right_value_2;
    goto and_end_2;
    and_left_2:;
    tmp_condition_result_12 = tmp_and_left_value_2;
    and_end_2:;
    if ( tmp_condition_result_12 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_12;
    }
    else
    {
        goto branch_no_12;
    }
    branch_yes_12:;
    {
    PyObject *tmp_delsubscr_target_1;
    PyObject *tmp_delsubscr_subscript_1;
    PyObject *tmp_start_name_1;
    PyObject *tmp_left_name_4;
    PyObject *tmp_right_name_4;
    PyObject *tmp_stop_name_1;
    PyObject *tmp_left_name_5;
    PyObject *tmp_right_name_5;
    PyObject *tmp_step_name_1;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 452;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_delsubscr_target_1 = var_segments;
    if ( var_i == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "i" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 452;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_left_name_4 = var_i;
    tmp_right_name_4 = const_int_pos_1;
    tmp_start_name_1 = BINARY_OPERATION_SUB( tmp_left_name_4, tmp_right_name_4 );
    if ( tmp_start_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 452;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    if ( var_i == NULL )
    {
        Py_DECREF( tmp_start_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "i" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 452;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_left_name_5 = var_i;
    tmp_right_name_5 = const_int_pos_1;
    tmp_stop_name_1 = BINARY_OPERATION_ADD( tmp_left_name_5, tmp_right_name_5 );
    if ( tmp_stop_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_start_name_1 );

        exception_lineno = 452;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    tmp_step_name_1 = Py_None;
    tmp_delsubscr_subscript_1 = MAKE_SLICEOBJ3( tmp_start_name_1, tmp_stop_name_1, tmp_step_name_1 );
    Py_DECREF( tmp_start_name_1 );
    Py_DECREF( tmp_stop_name_1 );
    assert( !(tmp_delsubscr_subscript_1 == NULL) );
    tmp_result = DEL_SUBSCRIPT( tmp_delsubscr_target_1, tmp_delsubscr_subscript_1 );
    Py_DECREF( tmp_delsubscr_subscript_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 452;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    }
    {
    goto loop_end_3;
    }
    branch_no_12:;
    }
    {
    PyObject *tmp_assign_source_43;
    PyObject *tmp_left_name_6;
    PyObject *tmp_right_name_6;
    if ( var_i == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "i" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 454;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }

    tmp_left_name_6 = var_i;
    tmp_right_name_6 = const_int_pos_1;
    tmp_assign_source_43 = BINARY_OPERATION_ADD( tmp_left_name_6, tmp_right_name_6 );
    if ( tmp_assign_source_43 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 454;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    {
        PyObject *old = var_i;
        var_i = tmp_assign_source_43;
        Py_XDECREF( old );
    }

    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 449;
        type_description_1 = "ooooooooooooooooooo";
        goto try_except_handler_8;
    }
    goto loop_start_3;
    loop_end_3:;
    }
    {
    nuitka_bool tmp_condition_result_13;
    PyObject *tmp_compexpr_left_10;
    PyObject *tmp_compexpr_right_10;
    CHECK_OBJECT( tmp_while_loop_1__break_indicator );
    tmp_compexpr_left_10 = tmp_while_loop_1__break_indicator;
    tmp_compexpr_right_10 = Py_True;
    tmp_condition_result_13 = ( tmp_compexpr_left_10 == tmp_compexpr_right_10 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_13 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_13;
    }
    else
    {
        goto branch_no_13;
    }
    branch_yes_13:;
    {
    goto try_break_handler_8;
    }
    branch_no_13:;
    }
    goto try_end_7;
    // Exception handler code:
    try_except_handler_8:;
    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_XDECREF( tmp_while_loop_1__break_indicator );
    tmp_while_loop_1__break_indicator = 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 frame_exception_exit_1;
    }
    // try break handler code:
    try_break_handler_8:;
    {
    CHECK_OBJECT( (PyObject *)tmp_while_loop_1__break_indicator );
    Py_DECREF( tmp_while_loop_1__break_indicator );
    tmp_while_loop_1__break_indicator = NULL;

    }
    {
    goto loop_end_2;
    }
    // End of try:
    try_end_7:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_while_loop_1__break_indicator );
    Py_DECREF( tmp_while_loop_1__break_indicator );
    tmp_while_loop_1__break_indicator = NULL;

    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 446;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto loop_start_2;
    loop_end_2:;
    }
    {
    nuitka_bool tmp_condition_result_14;
    PyObject *tmp_compexpr_left_11;
    PyObject *tmp_compexpr_right_11;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 457;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_11 = var_segments;
    tmp_compexpr_right_11 = LIST_COPY( const_list_str_empty_str_digest_7b79a8950d64155a442741f6cc8c809b_list );
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_11, tmp_compexpr_right_11 );
    Py_DECREF( tmp_compexpr_right_11 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 457;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_14 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_14 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_14;
    }
    else
    {
        goto branch_no_14;
    }
    branch_yes_14:;
    {
    PyObject *tmp_ass_subvalue_2;
    PyObject *tmp_ass_subscribed_2;
    PyObject *tmp_ass_subscript_2;
    int tmp_ass_subscript_res_2;
    tmp_ass_subvalue_2 = const_str_empty;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 458;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_2 = var_segments;
    tmp_ass_subscript_2 = const_int_neg_1;
    tmp_ass_subscript_res_2 = SET_SUBSCRIPT_CONST( tmp_ass_subscribed_2, tmp_ass_subscript_2, -1, tmp_ass_subvalue_2 );
    if ( tmp_ass_subscript_res_2 == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 458;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    }
    goto branch_end_14;
    branch_no_14:;
    {
    nuitka_bool tmp_condition_result_15;
    int tmp_and_left_truth_3;
    nuitka_bool tmp_and_left_value_3;
    nuitka_bool tmp_and_right_value_3;
    PyObject *tmp_compexpr_left_12;
    PyObject *tmp_compexpr_right_12;
    PyObject *tmp_len_arg_2;
    PyObject *tmp_compexpr_left_13;
    PyObject *tmp_compexpr_right_13;
    PyObject *tmp_subscribed_name_6;
    PyObject *tmp_subscript_name_6;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 459;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_len_arg_2 = var_segments;
    tmp_compexpr_left_12 = BUILTIN_LEN( tmp_len_arg_2 );
    if ( tmp_compexpr_left_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 459;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_12 = const_int_pos_2;
    tmp_res = RICH_COMPARE_BOOL_GE( tmp_compexpr_left_12, tmp_compexpr_right_12 );
    Py_DECREF( tmp_compexpr_left_12 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 459;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_3 = tmp_and_left_value_3 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_3 == 1 )
    {
        goto and_right_3;
    }
    else
    {
        goto and_left_3;
    }
    and_right_3:;
    if ( var_segments == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 459;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_6 = var_segments;
    tmp_subscript_name_6 = const_int_neg_1;
    tmp_compexpr_left_13 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_6, tmp_subscript_name_6, -1 );
    if ( tmp_compexpr_left_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 459;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_13 = const_str_digest_7b79a8950d64155a442741f6cc8c809b;
    tmp_res = RICH_COMPARE_BOOL_EQ( tmp_compexpr_left_13, tmp_compexpr_right_13 );
    Py_DECREF( tmp_compexpr_left_13 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 459;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_3 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_15 = tmp_and_right_value_3;
    goto and_end_3;
    and_left_3:;
    tmp_condition_result_15 = tmp_and_left_value_3;
    and_end_3:;
    if ( tmp_condition_result_15 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_15;
    }
    else
    {
        goto branch_no_15;
    }
    branch_yes_15:;
    {
    PyObject *tmp_ass_subvalue_3;
    PyObject *tmp_ass_subscribed_3;
    PyObject *tmp_ass_subscript_3;
    tmp_ass_subvalue_3 = LIST_COPY( const_list_str_empty_list );
    if ( var_segments == 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", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 460;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_3 = var_segments;
    tmp_ass_subscript_3 = const_slice_int_neg_2_none_none;
    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 = 460;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    }
    branch_no_15:;
    }
    branch_end_14:;
    }
    {
    PyObject *tmp_called_name_11;
    PyObject *tmp_args_element_name_16;
    PyObject *tmp_called_name_12;
    PyObject *tmp_mvar_value_9;
    PyObject *tmp_args_element_name_17;
    PyObject *tmp_tuple_element_4;
    PyObject *tmp_called_name_13;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_18;
    if ( var__coerce_result == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "_coerce_result" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 461;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_11 = var__coerce_result;
    tmp_mvar_value_9 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunparse );

    if (unlikely( tmp_mvar_value_9 == NULL ))
    {
        tmp_mvar_value_9 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_urlunparse );
    }

    if ( tmp_mvar_value_9 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "urlunparse" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 461;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_12 = tmp_mvar_value_9;
    if ( var_scheme == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "scheme" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 461;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_4 = var_scheme;
    tmp_args_element_name_17 = PyTuple_New( 6 );
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_args_element_name_17, 0, tmp_tuple_element_4 );
    if ( var_netloc == NULL )
    {
        Py_DECREF( tmp_args_element_name_17 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "netloc" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 461;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_4 = var_netloc;
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_args_element_name_17, 1, tmp_tuple_element_4 );
    tmp_source_name_1 = const_str_chr_47;
    tmp_called_name_13 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_join );
    assert( !(tmp_called_name_13 == NULL) );
    if ( var_segments == NULL )
    {
        Py_DECREF( tmp_args_element_name_17 );
        Py_DECREF( tmp_called_name_13 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "segments" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 461;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_18 = var_segments;
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 461;
    {
        PyObject *call_args[] = { tmp_args_element_name_18 };
        tmp_tuple_element_4 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_13, call_args );
    }

    Py_DECREF( tmp_called_name_13 );
    if ( tmp_tuple_element_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_args_element_name_17 );

        exception_lineno = 461;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_args_element_name_17, 2, tmp_tuple_element_4 );
    if ( var_params == NULL )
    {
        Py_DECREF( tmp_args_element_name_17 );
        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 = 462;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_4 = var_params;
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_args_element_name_17, 3, tmp_tuple_element_4 );
    if ( var_query == NULL )
    {
        Py_DECREF( tmp_args_element_name_17 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "query" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 462;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_4 = var_query;
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_args_element_name_17, 4, tmp_tuple_element_4 );
    if ( var_fragment == NULL )
    {
        Py_DECREF( tmp_args_element_name_17 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "fragment" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 462;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_4 = var_fragment;
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_args_element_name_17, 5, tmp_tuple_element_4 );
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 461;
    {
        PyObject *call_args[] = { tmp_args_element_name_17 };
        tmp_args_element_name_16 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_12, call_args );
    }

    Py_DECREF( tmp_args_element_name_17 );
    if ( tmp_args_element_name_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 461;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame.f_lineno = 461;
    {
        PyObject *call_args[] = { tmp_args_element_name_16 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_11, call_args );
    }

    Py_DECREF( tmp_args_element_name_16 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 461;
        type_description_1 = "ooooooooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a564be7304e1d0f1acde9b74ae3367c9 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_a564be7304e1d0f1acde9b74ae3367c9 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a564be7304e1d0f1acde9b74ae3367c9 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_a564be7304e1d0f1acde9b74ae3367c9, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_a564be7304e1d0f1acde9b74ae3367c9->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_a564be7304e1d0f1acde9b74ae3367c9, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_a564be7304e1d0f1acde9b74ae3367c9,
        type_description_1,
        par_base,
        par_url,
        par_allow_fragments,
        var__coerce_result,
        var_bscheme,
        var_bnetloc,
        var_bpath,
        var_bparams,
        var_bquery,
        var_bfragment,
        var_scheme,
        var_netloc,
        var_path,
        var_params,
        var_query,
        var_fragment,
        var_segments,
        var_i,
        var_n
    );


    // Release cached frame.
    if ( frame_a564be7304e1d0f1acde9b74ae3367c9 == cache_frame_a564be7304e1d0f1acde9b74ae3367c9 )
    {
        Py_DECREF( frame_a564be7304e1d0f1acde9b74ae3367c9 );
    }
    cache_frame_a564be7304e1d0f1acde9b74ae3367c9 = NULL;

    assertFrameObject( frame_a564be7304e1d0f1acde9b74ae3367c9 );

    // 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( future$backports$urllib$parse$$$function_29_urljoin );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_base );
    par_base = NULL;

    }
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( par_allow_fragments );
    par_allow_fragments = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_bscheme );
    var_bscheme = NULL;

    }
    {
    Py_XDECREF( var_bnetloc );
    var_bnetloc = NULL;

    }
    {
    Py_XDECREF( var_bpath );
    var_bpath = NULL;

    }
    {
    Py_XDECREF( var_bparams );
    var_bparams = NULL;

    }
    {
    Py_XDECREF( var_bquery );
    var_bquery = NULL;

    }
    {
    Py_XDECREF( var_bfragment );
    var_bfragment = NULL;

    }
    {
    Py_XDECREF( var_scheme );
    var_scheme = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_path );
    var_path = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var_segments );
    var_segments = NULL;

    }
    {
    Py_XDECREF( var_i );
    var_i = NULL;

    }
    {
    Py_XDECREF( var_n );
    var_n = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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;

    {
    Py_XDECREF( par_base );
    par_base = NULL;

    }
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( par_allow_fragments );
    par_allow_fragments = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_bscheme );
    var_bscheme = NULL;

    }
    {
    Py_XDECREF( var_bnetloc );
    var_bnetloc = NULL;

    }
    {
    Py_XDECREF( var_bpath );
    var_bpath = NULL;

    }
    {
    Py_XDECREF( var_bparams );
    var_bparams = NULL;

    }
    {
    Py_XDECREF( var_bquery );
    var_bquery = NULL;

    }
    {
    Py_XDECREF( var_bfragment );
    var_bfragment = NULL;

    }
    {
    Py_XDECREF( var_scheme );
    var_scheme = NULL;

    }
    {
    Py_XDECREF( var_netloc );
    var_netloc = NULL;

    }
    {
    Py_XDECREF( var_path );
    var_path = NULL;

    }
    {
    Py_XDECREF( var_params );
    var_params = NULL;

    }
    {
    Py_XDECREF( var_query );
    var_query = NULL;

    }
    {
    Py_XDECREF( var_fragment );
    var_fragment = NULL;

    }
    {
    Py_XDECREF( var_segments );
    var_segments = NULL;

    }
    {
    Py_XDECREF( var_i );
    var_i = NULL;

    }
    {
    Py_XDECREF( var_n );
    var_n = NULL;

    }
    {
    // 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_29_urljoin );
    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_future$backports$urllib$parse$$$function_30_urldefrag( 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_url = python_pars[ 0 ];
    PyObject *var__coerce_result = NULL;
    PyObject *var_s = NULL;
    PyObject *var_n = NULL;
    PyObject *var_p = NULL;
    PyObject *var_a = NULL;
    PyObject *var_q = NULL;
    PyObject *var_frag = NULL;
    PyObject *var_defrag = 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__element_3 = NULL;
    PyObject *tmp_tuple_unpack_2__element_4 = NULL;
    PyObject *tmp_tuple_unpack_2__element_5 = NULL;
    PyObject *tmp_tuple_unpack_2__element_6 = NULL;
    PyObject *tmp_tuple_unpack_2__source_iter = NULL;
    struct Nuitka_FrameObject *frame_e4845cf12591f3227ddb2c9b66f24306;
    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_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;
    int tmp_res;
    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 *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_e4845cf12591f3227ddb2c9b66f24306 = 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_e4845cf12591f3227ddb2c9b66f24306, codeobj_e4845cf12591f3227ddb2c9b66f24306, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_e4845cf12591f3227ddb2c9b66f24306 = cache_frame_e4845cf12591f3227ddb2c9b66f24306;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_e4845cf12591f3227ddb2c9b66f24306 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_e4845cf12591f3227ddb2c9b66f24306 ) == 2 ); // Frame stack

    // Framed code:
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__coerce_args );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__coerce_args );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_coerce_args" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 471;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_url );
    tmp_args_element_name_1 = par_url;
    frame_e4845cf12591f3227ddb2c9b66f24306->m_frame.f_lineno = 471;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_iter_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    if ( tmp_iter_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 471;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_1 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 471;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_2 = UNPACK_NEXT( tmp_unpack_1, 0, 2 );
    if ( tmp_assign_source_2 == 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 = "ooooooooo";
        exception_lineno = 471;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_2;

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_2, 1, 2 );
    if ( tmp_assign_source_3 == 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 = "ooooooooo";
        exception_lineno = 471;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_3;

    }
    {
    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 = "ooooooooo";
                exception_lineno = 471;
                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 = "ooooooooo";
        exception_lineno = 471;
        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_4;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_4 = tmp_tuple_unpack_1__element_1;
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_4;
        Py_INCREF( par_url );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_5;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_5 = tmp_tuple_unpack_1__element_2;
    assert( var__coerce_result == NULL );
    Py_INCREF( tmp_assign_source_5 );
    var__coerce_result = tmp_assign_source_5;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    tmp_compexpr_left_1 = const_str_chr_35;
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 472;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_1 = par_url;
    tmp_res = PySequence_Contains( tmp_compexpr_right_1, tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 472;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res == 1 ) ? 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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_iter_arg_2;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_2;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlparse );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_urlparse );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "urlparse" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 473;
        type_description_1 = "ooooooooo";
        goto try_except_handler_4;
    }

    tmp_called_name_2 = tmp_mvar_value_2;
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 473;
        type_description_1 = "ooooooooo";
        goto try_except_handler_4;
    }

    tmp_args_element_name_2 = par_url;
    frame_e4845cf12591f3227ddb2c9b66f24306->m_frame.f_lineno = 473;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_iter_arg_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    if ( tmp_iter_arg_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;
        type_description_1 = "ooooooooo";
        goto try_except_handler_4;
    }
    tmp_assign_source_6 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_2 );
    Py_DECREF( tmp_iter_arg_2 );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 473;
        type_description_1 = "ooooooooo";
        goto try_except_handler_4;
    }
    assert( tmp_tuple_unpack_2__source_iter == NULL );
    tmp_tuple_unpack_2__source_iter = tmp_assign_source_6;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_7;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_7 = UNPACK_NEXT( tmp_unpack_3, 0, 6 );
    if ( tmp_assign_source_7 == 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 = "ooooooooo";
        exception_lineno = 473;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_1 == NULL );
    tmp_tuple_unpack_2__element_1 = tmp_assign_source_7;

    }
    {
    PyObject *tmp_assign_source_8;
    PyObject *tmp_unpack_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_8 = UNPACK_NEXT( tmp_unpack_4, 1, 6 );
    if ( tmp_assign_source_8 == 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 = "ooooooooo";
        exception_lineno = 473;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_2 == NULL );
    tmp_tuple_unpack_2__element_2 = tmp_assign_source_8;

    }
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_unpack_5;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_9 = UNPACK_NEXT( tmp_unpack_5, 2, 6 );
    if ( tmp_assign_source_9 == 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 = "ooooooooo";
        exception_lineno = 473;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_3 == NULL );
    tmp_tuple_unpack_2__element_3 = tmp_assign_source_9;

    }
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_10 = UNPACK_NEXT( tmp_unpack_6, 3, 6 );
    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 = "ooooooooo";
        exception_lineno = 473;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_4 == NULL );
    tmp_tuple_unpack_2__element_4 = tmp_assign_source_10;

    }
    {
    PyObject *tmp_assign_source_11;
    PyObject *tmp_unpack_7;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_7 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_11 = UNPACK_NEXT( tmp_unpack_7, 4, 6 );
    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 = "ooooooooo";
        exception_lineno = 473;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_5 == NULL );
    tmp_tuple_unpack_2__element_5 = tmp_assign_source_11;

    }
    {
    PyObject *tmp_assign_source_12;
    PyObject *tmp_unpack_8;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_8 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_12 = UNPACK_NEXT( tmp_unpack_8, 5, 6 );
    if ( tmp_assign_source_12 == 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 = "ooooooooo";
        exception_lineno = 473;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_2__element_6 == NULL );
    tmp_tuple_unpack_2__element_6 = tmp_assign_source_12;

    }
    {
    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 = "ooooooooo";
                exception_lineno = 473;
                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 6)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooo";
        exception_lineno = 473;
        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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_4 );
    tmp_tuple_unpack_2__element_4 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_5 );
    tmp_tuple_unpack_2__element_5 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_6 );
    tmp_tuple_unpack_2__element_6 = 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_13;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_13 = tmp_tuple_unpack_2__element_1;
    assert( var_s == NULL );
    Py_INCREF( tmp_assign_source_13 );
    var_s = tmp_assign_source_13;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_14;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_14 = tmp_tuple_unpack_2__element_2;
    assert( var_n == NULL );
    Py_INCREF( tmp_assign_source_14 );
    var_n = tmp_assign_source_14;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_15;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_3 );
    tmp_assign_source_15 = tmp_tuple_unpack_2__element_3;
    assert( var_p == NULL );
    Py_INCREF( tmp_assign_source_15 );
    var_p = tmp_assign_source_15;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_3 );
    tmp_tuple_unpack_2__element_3 = NULL;

    }
    {
    PyObject *tmp_assign_source_16;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_4 );
    tmp_assign_source_16 = tmp_tuple_unpack_2__element_4;
    assert( var_a == NULL );
    Py_INCREF( tmp_assign_source_16 );
    var_a = tmp_assign_source_16;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_4 );
    tmp_tuple_unpack_2__element_4 = NULL;

    }
    {
    PyObject *tmp_assign_source_17;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_5 );
    tmp_assign_source_17 = tmp_tuple_unpack_2__element_5;
    assert( var_q == NULL );
    Py_INCREF( tmp_assign_source_17 );
    var_q = tmp_assign_source_17;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_5 );
    tmp_tuple_unpack_2__element_5 = NULL;

    }
    {
    PyObject *tmp_assign_source_18;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_6 );
    tmp_assign_source_18 = tmp_tuple_unpack_2__element_6;
    assert( var_frag == NULL );
    Py_INCREF( tmp_assign_source_18 );
    var_frag = tmp_assign_source_18;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_6 );
    tmp_tuple_unpack_2__element_6 = NULL;

    }
    {
    PyObject *tmp_assign_source_19;
    PyObject *tmp_called_name_3;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_tuple_element_1;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunparse );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_urlunparse );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "urlunparse" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 474;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_3 = tmp_mvar_value_3;
    if ( var_s == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "s" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 474;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_s;
    tmp_args_element_name_3 = PyTuple_New( 6 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_3, 0, tmp_tuple_element_1 );
    if ( var_n == NULL )
    {
        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", "n" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 474;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_n;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_3, 1, tmp_tuple_element_1 );
    if ( var_p == NULL )
    {
        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", "p" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 474;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_p;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_3, 2, tmp_tuple_element_1 );
    if ( var_a == NULL )
    {
        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", "a" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 474;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_a;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_3, 3, tmp_tuple_element_1 );
    if ( var_q == NULL )
    {
        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", "q" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 474;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_q;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_3, 4, tmp_tuple_element_1 );
    tmp_tuple_element_1 = const_str_empty;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_element_name_3, 5, tmp_tuple_element_1 );
    frame_e4845cf12591f3227ddb2c9b66f24306->m_frame.f_lineno = 474;
    {
        PyObject *call_args[] = { tmp_args_element_name_3 };
        tmp_assign_source_19 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

    Py_DECREF( tmp_args_element_name_3 );
    if ( tmp_assign_source_19 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 474;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_defrag == NULL );
    var_defrag = tmp_assign_source_19;

    }
    goto branch_end_1;
    branch_no_1:;
    {
    PyObject *tmp_assign_source_20;
    tmp_assign_source_20 = const_str_empty;
    assert( var_frag == NULL );
    Py_INCREF( tmp_assign_source_20 );
    var_frag = tmp_assign_source_20;

    }
    {
    PyObject *tmp_assign_source_21;
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 477;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_assign_source_21 = par_url;
    assert( var_defrag == NULL );
    Py_INCREF( tmp_assign_source_21 );
    var_defrag = tmp_assign_source_21;

    }
    branch_end_1:;
    }
    {
    PyObject *tmp_called_name_4;
    PyObject *tmp_args_element_name_4;
    PyObject *tmp_called_name_5;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_args_element_name_6;
    if ( var__coerce_result == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "_coerce_result" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 478;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_4 = var__coerce_result;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_DefragResult );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_DefragResult );
    }

    if ( tmp_mvar_value_4 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "DefragResult" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 478;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_5 = tmp_mvar_value_4;
    CHECK_OBJECT( var_defrag );
    tmp_args_element_name_5 = var_defrag;
    if ( var_frag == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "frag" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 478;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_6 = var_frag;
    frame_e4845cf12591f3227ddb2c9b66f24306->m_frame.f_lineno = 478;
    {
        PyObject *call_args[] = { tmp_args_element_name_5, tmp_args_element_name_6 };
        tmp_args_element_name_4 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_5, call_args );
    }

    if ( tmp_args_element_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 478;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    frame_e4845cf12591f3227ddb2c9b66f24306->m_frame.f_lineno = 478;
    {
        PyObject *call_args[] = { tmp_args_element_name_4 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_4, call_args );
    }

    Py_DECREF( tmp_args_element_name_4 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 478;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_e4845cf12591f3227ddb2c9b66f24306 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_e4845cf12591f3227ddb2c9b66f24306 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_e4845cf12591f3227ddb2c9b66f24306 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_e4845cf12591f3227ddb2c9b66f24306, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_e4845cf12591f3227ddb2c9b66f24306->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_e4845cf12591f3227ddb2c9b66f24306, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_e4845cf12591f3227ddb2c9b66f24306,
        type_description_1,
        par_url,
        var__coerce_result,
        var_s,
        var_n,
        var_p,
        var_a,
        var_q,
        var_frag,
        var_defrag
    );


    // Release cached frame.
    if ( frame_e4845cf12591f3227ddb2c9b66f24306 == cache_frame_e4845cf12591f3227ddb2c9b66f24306 )
    {
        Py_DECREF( frame_e4845cf12591f3227ddb2c9b66f24306 );
    }
    cache_frame_e4845cf12591f3227ddb2c9b66f24306 = NULL;

    assertFrameObject( frame_e4845cf12591f3227ddb2c9b66f24306 );

    // 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( future$backports$urllib$parse$$$function_30_urldefrag );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_s );
    var_s = NULL;

    }
    {
    Py_XDECREF( var_n );
    var_n = NULL;

    }
    {
    Py_XDECREF( var_p );
    var_p = NULL;

    }
    {
    Py_XDECREF( var_a );
    var_a = NULL;

    }
    {
    Py_XDECREF( var_q );
    var_q = NULL;

    }
    {
    Py_XDECREF( var_frag );
    var_frag = NULL;

    }
    {
    Py_XDECREF( var_defrag );
    var_defrag = 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_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_s );
    var_s = NULL;

    }
    {
    Py_XDECREF( var_n );
    var_n = NULL;

    }
    {
    Py_XDECREF( var_p );
    var_p = NULL;

    }
    {
    Py_XDECREF( var_a );
    var_a = NULL;

    }
    {
    Py_XDECREF( var_q );
    var_q = NULL;

    }
    {
    Py_XDECREF( var_frag );
    var_frag = NULL;

    }
    {
    Py_XDECREF( var_defrag );
    var_defrag = 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( future$backports$urllib$parse$$$function_30_urldefrag );
    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;

}



struct future$backports$urllib$parse$$$genexpr_1_genexpr_locals {
    PyObject *var_a;
    PyObject *var_b;
    PyObject *tmp_contraction_iter_0;
    PyObject *tmp_iter_value_0;
    PyObject *tmp_iter_value_1;
    char const *type_description_1;
    PyObject *exception_type;
    PyObject *exception_value;
    PyTracebackObject *exception_tb;
    int exception_lineno;
    char yield_tmps[1024];
    PyObject *exception_keeper_type_1;
    PyObject *exception_keeper_value_1;
    PyTracebackObject *exception_keeper_tb_1;
    int exception_keeper_lineno_1;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    int exception_keeper_lineno_2;
};

static PyObject *future$backports$urllib$parse$$$genexpr_1_genexpr_context( struct Nuitka_GeneratorObject *generator, PyObject *yield_return_value )
{
    CHECK_OBJECT( (PyObject *)generator );
    assert( Nuitka_Generator_Check( (PyObject *)generator ) );

    // Heap access if used.
    struct future$backports$urllib$parse$$$genexpr_1_genexpr_locals *generator_heap = (struct future$backports$urllib$parse$$$genexpr_1_genexpr_locals *)generator->m_heap_storage;

    // Dispatch to yield based on return label index:
    switch(generator->m_yield_return_index) {
    case 1: goto yield_return_1;
    }

    // Local variable initialization
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    static struct Nuitka_FrameObject *cache_m_frame = NULL;
    generator_heap->var_a = NULL;
    generator_heap->var_b = NULL;
    generator_heap->tmp_contraction_iter_0 = NULL;
    generator_heap->tmp_iter_value_0 = NULL;
    generator_heap->tmp_iter_value_1 = NULL;
    generator_heap->type_description_1 = NULL;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_m_frame, codeobj_1bae762c4ea19702babc66206fd46124, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    generator->m_frame = cache_m_frame;

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    Py_INCREF( generator->m_frame );
    assert( Py_REFCNT( generator->m_frame ) == 2 ); // Frame stack

#if PYTHON_VERSION >= 340
    generator->m_frame->m_frame.f_gen = (PyObject *)generator;
#endif

    Py_CLEAR( generator->m_frame->m_frame.f_back );

    generator->m_frame->m_frame.f_back = PyThreadState_GET()->frame;
    Py_INCREF( generator->m_frame->m_frame.f_back );

    PyThreadState_GET()->frame = &generator->m_frame->m_frame;
    Py_INCREF( generator->m_frame );

    Nuitka_Frame_MarkAsExecuting( generator->m_frame );

#if PYTHON_VERSION >= 300
    // Accept currently existing exception as the one to publish again when we
    // yield or yield from.
    {
        PyThreadState *thread_state = PyThreadState_GET();

#if PYTHON_VERSION < 370
        generator->m_frame->m_frame.f_exc_type = EXC_TYPE( thread_state );
    if ( generator->m_frame->m_frame.f_exc_type == Py_None ) generator->m_frame->m_frame.f_exc_type = NULL;
        Py_XINCREF( generator->m_frame->m_frame.f_exc_type );
    generator->m_frame->m_frame.f_exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_value );
    generator->m_frame->m_frame.f_exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_frame->m_frame.f_exc_traceback );
#else
        generator->m_exc_state.exc_type = EXC_TYPE( thread_state );
        if ( generator->m_exc_state.exc_type == Py_None ) generator->m_exc_state.exc_type = NULL;
        Py_XINCREF( generator->m_exc_state.exc_type );
        generator->m_exc_state.exc_value = EXC_VALUE( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_value );
        generator->m_exc_state.exc_traceback = EXC_TRACEBACK( thread_state );
        Py_XINCREF( generator->m_exc_state.exc_traceback );
#endif
    }

#endif

    // Framed code:
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_1;
    CHECK_OBJECT( PyCell_GET( generator->m_closure[0] ) );
    tmp_next_source_1 = PyCell_GET( generator->m_closure[0] );
    tmp_assign_source_1 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
            generator_heap->type_description_1 = "Noo";
            generator_heap->exception_lineno = 481;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = generator_heap->tmp_iter_value_1;
        generator_heap->tmp_iter_value_1 = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_2;
    CHECK_OBJECT( generator_heap->tmp_iter_value_1 );
    tmp_assign_source_2 = generator_heap->tmp_iter_value_1;
    {
        PyObject *old = generator_heap->var_a;
        generator_heap->var_a = tmp_assign_source_2;
        Py_INCREF( generator_heap->var_a );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__hexdig );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__hexdig );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        generator_heap->exception_type = PyExc_NameError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_hexdig" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 482;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }

    tmp_iter_arg_1 = tmp_mvar_value_1;
    tmp_assign_source_3 = MAKE_ITERATOR( tmp_iter_arg_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }
    {
        PyObject *old = generator_heap->tmp_contraction_iter_0;
        generator_heap->tmp_contraction_iter_0 = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    {
    loop_start_2:;
    {
    PyObject *tmp_next_source_2;
    PyObject *tmp_assign_source_4;
    CHECK_OBJECT( generator_heap->tmp_contraction_iter_0 );
    tmp_next_source_2 = generator_heap->tmp_contraction_iter_0;
    tmp_assign_source_4 = ITERATOR_NEXT( tmp_next_source_2 );
    if ( tmp_assign_source_4 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_2;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
            generator_heap->type_description_1 = "Noo";
            generator_heap->exception_lineno = 481;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = generator_heap->tmp_iter_value_0;
        generator_heap->tmp_iter_value_0 = tmp_assign_source_4;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_5;
    CHECK_OBJECT( generator_heap->tmp_iter_value_0 );
    tmp_assign_source_5 = generator_heap->tmp_iter_value_0;
    {
        PyObject *old = generator_heap->var_b;
        generator_heap->var_b = tmp_assign_source_5;
        Py_INCREF( generator_heap->var_b );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_expression_name_1;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_list_element_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_left_name_2;
    PyObject *tmp_right_name_2;
    PyObject *tmp_args_element_name_3;
    if ( generator_heap->var_a == NULL )
    {

        generator_heap->exception_type = PyExc_UnboundLocalError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "a" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }

    tmp_left_name_1 = generator_heap->var_a;
    CHECK_OBJECT( generator_heap->var_b );
    tmp_right_name_1 = generator_heap->var_b;
    tmp_called_instance_1 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }
    generator->m_frame->m_frame.f_lineno = 481;
    tmp_tuple_element_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_encode );
    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }
    tmp_expression_name_1 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_expression_name_1, 0, tmp_tuple_element_1 );
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_2 == NULL )
    {
        Py_DECREF( tmp_expression_name_1 );
        generator_heap->exception_type = PyExc_NameError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }

    tmp_called_name_1 = tmp_mvar_value_2;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_int );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_int );
    }

    if ( tmp_mvar_value_3 == NULL )
    {
        Py_DECREF( tmp_expression_name_1 );
        generator_heap->exception_type = PyExc_NameError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "int" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }

    tmp_called_name_2 = tmp_mvar_value_3;
    if ( generator_heap->var_a == NULL )
    {
        Py_DECREF( tmp_expression_name_1 );
        generator_heap->exception_type = PyExc_UnboundLocalError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "a" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }

    tmp_left_name_2 = generator_heap->var_a;
    if ( generator_heap->var_b == NULL )
    {
        Py_DECREF( tmp_expression_name_1 );
        generator_heap->exception_type = PyExc_UnboundLocalError;
        Py_INCREF( generator_heap->exception_type );
        generator_heap->exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "b" );
        generator_heap->exception_tb = NULL;
        NORMALIZE_EXCEPTION( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        CHAIN_EXCEPTION( generator_heap->exception_value );

        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }

    tmp_right_name_2 = generator_heap->var_b;
    tmp_args_element_name_2 = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_2 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        Py_DECREF( tmp_expression_name_1 );

        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }
    tmp_args_element_name_3 = const_int_pos_16;
    generator->m_frame->m_frame.f_lineno = 481;
    {
        PyObject *call_args[] = { tmp_args_element_name_2, tmp_args_element_name_3 };
        tmp_list_element_1 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_list_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        Py_DECREF( tmp_expression_name_1 );

        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }
    tmp_args_element_name_1 = PyList_New( 1 );
    PyList_SET_ITEM( tmp_args_element_name_1, 0, tmp_list_element_1 );
    generator->m_frame->m_frame.f_lineno = 481;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_tuple_element_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );
        Py_DECREF( tmp_expression_name_1 );

        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }
    PyTuple_SET_ITEM( tmp_expression_name_1, 1, tmp_tuple_element_1 );
    Nuitka_PreserveHeap( generator_heap->yield_tmps, &tmp_tuple_element_1, sizeof(PyObject *), &tmp_called_instance_1, sizeof(PyObject *), &tmp_left_name_1, sizeof(PyObject *), &tmp_right_name_1, sizeof(PyObject *), &tmp_called_name_1, sizeof(PyObject *), &tmp_mvar_value_2, sizeof(PyObject *), &tmp_args_element_name_1, sizeof(PyObject *), &tmp_list_element_1, sizeof(PyObject *), &tmp_called_name_2, sizeof(PyObject *), &tmp_mvar_value_3, sizeof(PyObject *), &tmp_args_element_name_2, sizeof(PyObject *), &tmp_left_name_2, sizeof(PyObject *), &tmp_right_name_2, sizeof(PyObject *), &tmp_args_element_name_3, sizeof(PyObject *), NULL );
    generator->m_yield_return_index = 1;
    return tmp_expression_name_1;
    yield_return_1:
    Nuitka_RestoreHeap( generator_heap->yield_tmps, &tmp_tuple_element_1, sizeof(PyObject *), &tmp_called_instance_1, sizeof(PyObject *), &tmp_left_name_1, sizeof(PyObject *), &tmp_right_name_1, sizeof(PyObject *), &tmp_called_name_1, sizeof(PyObject *), &tmp_mvar_value_2, sizeof(PyObject *), &tmp_args_element_name_1, sizeof(PyObject *), &tmp_list_element_1, sizeof(PyObject *), &tmp_called_name_2, sizeof(PyObject *), &tmp_mvar_value_3, sizeof(PyObject *), &tmp_args_element_name_2, sizeof(PyObject *), &tmp_left_name_2, sizeof(PyObject *), &tmp_right_name_2, sizeof(PyObject *), &tmp_args_element_name_3, sizeof(PyObject *), NULL );
    if ( yield_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }
    tmp_unused = yield_return_value;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }
    goto loop_start_2;
    loop_end_2:;
    }
    {
    CHECK_OBJECT( (PyObject *)generator_heap->tmp_contraction_iter_0 );
    Py_DECREF( generator_heap->tmp_contraction_iter_0 );
    generator_heap->tmp_contraction_iter_0 = NULL;

    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb );


        generator_heap->exception_lineno = 481;
        generator_heap->type_description_1 = "Noo";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    generator_heap->exception_keeper_type_1 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_1 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_1 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_1 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

    }
    {
    Py_XDECREF( generator_heap->tmp_contraction_iter_0 );
    generator_heap->tmp_contraction_iter_0 = NULL;

    }
    {
    Py_XDECREF( generator_heap->tmp_iter_value_1 );
    generator_heap->tmp_iter_value_1 = NULL;

    }
    {
    // Re-raise.
    generator_heap->exception_type = generator_heap->exception_keeper_type_1;
    generator_heap->exception_value = generator_heap->exception_keeper_value_1;
    generator_heap->exception_tb = generator_heap->exception_keeper_tb_1;
    generator_heap->exception_lineno = generator_heap->exception_keeper_lineno_1;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_1:;
    }

    Nuitka_Frame_MarkAsNotExecuting( generator->m_frame );

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    // Allow re-use of the frame again.
    Py_DECREF( generator->m_frame );
    goto frame_no_exception_1;

    frame_exception_exit_1:;

    // If it's not an exit exception, consider and create a traceback for it.
    if ( !EXCEPTION_MATCH_GENERATOR( generator_heap->exception_type ) )
    {
        if ( generator_heap->exception_tb == NULL )
        {
            generator_heap->exception_tb = MAKE_TRACEBACK( generator->m_frame, generator_heap->exception_lineno );
        }
        else if ( generator_heap->exception_tb->tb_frame != &generator->m_frame->m_frame )
        {
            generator_heap->exception_tb = ADD_TRACEBACK( generator_heap->exception_tb, generator->m_frame, generator_heap->exception_lineno );
        }

        Nuitka_Frame_AttachLocals(
            (struct Nuitka_FrameObject *)generator->m_frame,
            generator_heap->type_description_1,
            NULL,
            generator_heap->var_a,
            generator_heap->var_b
        );


        // Release cached frame.
        if ( generator->m_frame == cache_m_frame )
        {
            Py_DECREF( generator->m_frame );
        }
        cache_m_frame = NULL;

        assertFrameObject( generator->m_frame );
    }

#if PYTHON_VERSION >= 370
    Py_CLEAR( generator->m_exc_state.exc_type );
    Py_CLEAR( generator->m_exc_state.exc_value );
    Py_CLEAR( generator->m_exc_state.exc_traceback );
#elif PYTHON_VERSION >= 300
    Py_CLEAR( generator->m_frame->m_frame.f_exc_type );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_value );
    Py_CLEAR( generator->m_frame->m_frame.f_exc_traceback );
#endif

    Py_DECREF( generator->m_frame );

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    goto try_end_2;
    // Exception handler code:
    try_except_handler_1:;
    generator_heap->exception_keeper_type_2 = generator_heap->exception_type;
    generator_heap->exception_keeper_value_2 = generator_heap->exception_value;
    generator_heap->exception_keeper_tb_2 = generator_heap->exception_tb;
    generator_heap->exception_keeper_lineno_2 = generator_heap->exception_lineno;
    generator_heap->exception_type = NULL;
    generator_heap->exception_value = NULL;
    generator_heap->exception_tb = NULL;
    generator_heap->exception_lineno = 0;

    {
    Py_XDECREF( generator_heap->var_a );
    generator_heap->var_a = NULL;

    }
    {
    Py_XDECREF( generator_heap->var_b );
    generator_heap->var_b = NULL;

    }
    {
    // Re-raise.
    generator_heap->exception_type = generator_heap->exception_keeper_type_2;
    generator_heap->exception_value = generator_heap->exception_keeper_value_2;
    generator_heap->exception_tb = generator_heap->exception_keeper_tb_2;
    generator_heap->exception_lineno = generator_heap->exception_keeper_lineno_2;

    goto function_exception_exit;
    }
    // End of try:
    try_end_2:;
    }
    {
    Py_XDECREF( generator_heap->tmp_iter_value_0 );
    generator_heap->tmp_iter_value_0 = NULL;

    }
    {
    Py_XDECREF( generator_heap->tmp_contraction_iter_0 );
    generator_heap->tmp_contraction_iter_0 = NULL;

    }
    {
    Py_XDECREF( generator_heap->tmp_iter_value_1 );
    generator_heap->tmp_iter_value_1 = NULL;

    }
    {
    Py_XDECREF( generator_heap->var_a );
    generator_heap->var_a = NULL;

    }
    {
    Py_XDECREF( generator_heap->var_b );
    generator_heap->var_b = NULL;

    }


    return NULL;

    function_exception_exit:
    assert( generator_heap->exception_type );
    RESTORE_ERROR_OCCURRED( generator_heap->exception_type, generator_heap->exception_value, generator_heap->exception_tb );

    return NULL;

}

static PyObject *future$backports$urllib$parse$$$genexpr_1_genexpr_maker( void )
{
    return Nuitka_Generator_New(
        future$backports$urllib$parse$$$genexpr_1_genexpr_context,
        module_future$backports$urllib$parse,
        const_str_angle_genexpr,
#if PYTHON_VERSION >= 350
        NULL,
#endif
        codeobj_1bae762c4ea19702babc66206fd46124,
        1,
        sizeof(struct future$backports$urllib$parse$$$genexpr_1_genexpr_locals)
    );
}


static PyObject *impl_future$backports$urllib$parse$$$function_31_unquote_to_bytes( 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_string = python_pars[ 0 ];
    PyObject *var_bits = NULL;
    PyObject *var_res = NULL;
    PyObject *var_append = NULL;
    PyObject *var_item = NULL;
    PyObject *tmp_for_loop_1__for_iterator = NULL;
    PyObject *tmp_for_loop_1__iter_value = NULL;
    struct Nuitka_FrameObject *frame_6378640236d221be9452e665d44d0e87;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    int tmp_res;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    PyObject *tmp_return_value = 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;
    PyObject *exception_preserved_type_1;
    PyObject *exception_preserved_value_1;
    PyTracebackObject *exception_preserved_tb_1;
    bool tmp_result;
    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;
    static struct Nuitka_FrameObject *cache_frame_6378640236d221be9452e665d44d0e87 = NULL;
    PyObject *exception_keeper_type_4;
    PyObject *exception_keeper_value_4;
    PyTracebackObject *exception_keeper_tb_4;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_4;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_6378640236d221be9452e665d44d0e87, codeobj_6378640236d221be9452e665d44d0e87, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_6378640236d221be9452e665d44d0e87 = cache_frame_6378640236d221be9452e665d44d0e87;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_6378640236d221be9452e665d44d0e87 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_6378640236d221be9452e665d44d0e87 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_operand_name_1;
    CHECK_OBJECT( par_string );
    tmp_operand_name_1 = par_string;
    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 = 488;
        type_description_1 = "ooooo";
        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_1;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 490;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = par_string;
    tmp_unused = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_split );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 490;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    Py_DECREF( tmp_unused );
    }
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 491;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 491;
    tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, &PyTuple_GET_ITEM( const_tuple_bytes_empty_tuple, 0 ) );

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 491;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_mvar_value_2;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 492;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_1 = par_string;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 492;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_1 = tmp_mvar_value_2;
    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 = 492;
        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_1;
    PyObject *tmp_called_instance_1;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 493;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_1 = par_string;
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 493;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 493;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_string;
        par_string = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    branch_no_2:;
    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 497;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_3;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 497;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_string;
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 497;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 497;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_string;
        par_string = tmp_assign_source_2;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_instance_2;
    CHECK_OBJECT( par_string );
    tmp_called_instance_2 = par_string;
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 499;
    tmp_assign_source_3 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_bytes_chr_37_tuple, 0 ) );

    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 499;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_bits == NULL );
    var_bits = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_len_arg_1;
    CHECK_OBJECT( var_bits );
    tmp_len_arg_1 = var_bits;
    tmp_compexpr_left_1 = BUILTIN_LEN( tmp_len_arg_1 );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 500;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = const_int_pos_1;
    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 = 500;
        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:;
    {
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 501;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = par_string;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }
    branch_no_3:;
    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_list_element_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    if ( var_bits == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bits" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 502;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = var_bits;
    tmp_subscript_name_1 = const_int_0;
    tmp_list_element_1 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 0 );
    if ( tmp_list_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 502;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_4 = PyList_New( 1 );
    PyList_SET_ITEM( tmp_assign_source_4, 0, tmp_list_element_1 );
    assert( var_res == NULL );
    var_res = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_source_name_2;
    CHECK_OBJECT( var_res );
    tmp_source_name_2 = var_res;
    tmp_assign_source_5 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_append );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 503;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_append == NULL );
    var_append = tmp_assign_source_5;

    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    if ( var_bits == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bits" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 504;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = var_bits;
    tmp_subscript_name_2 = const_slice_int_pos_1_none_none;
    tmp_iter_arg_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    if ( tmp_iter_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 504;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_6 = MAKE_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 504;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_for_loop_1__for_iterator == NULL );
    tmp_for_loop_1__for_iterator = tmp_assign_source_6;

    }
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_7;
    CHECK_OBJECT( tmp_for_loop_1__for_iterator );
    tmp_next_source_1 = tmp_for_loop_1__for_iterator;
    tmp_assign_source_7 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_7 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "ooooo";
            exception_lineno = 504;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = tmp_for_loop_1__iter_value;
        tmp_for_loop_1__iter_value = tmp_assign_source_7;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_for_loop_1__iter_value );
    tmp_assign_source_8 = tmp_for_loop_1__iter_value;
    {
        PyObject *old = var_item;
        var_item = tmp_assign_source_8;
        Py_INCREF( var_item );
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    PyObject *tmp_called_name_3;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    if ( var_append == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "append" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 506;
        type_description_1 = "ooooo";
        goto try_except_handler_3;
    }

    tmp_called_name_3 = var_append;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__hextobyte );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__hextobyte );
    }

    if ( tmp_mvar_value_4 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_hextobyte" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 506;
        type_description_1 = "ooooo";
        goto try_except_handler_3;
    }

    tmp_subscribed_name_3 = tmp_mvar_value_4;
    CHECK_OBJECT( var_item );
    tmp_subscribed_name_4 = var_item;
    tmp_subscript_name_4 = const_slice_none_int_pos_2_none;
    tmp_subscript_name_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    if ( tmp_subscript_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 506;
        type_description_1 = "ooooo";
        goto try_except_handler_3;
    }
    tmp_args_element_name_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    Py_DECREF( tmp_subscript_name_3 );
    if ( tmp_args_element_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 506;
        type_description_1 = "ooooo";
        goto try_except_handler_3;
    }
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 506;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 506;
        type_description_1 = "ooooo";
        goto try_except_handler_3;
    }
    Py_DECREF( tmp_unused );
    }
    {
    PyObject *tmp_called_name_4;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    if ( var_append == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "append" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 507;
        type_description_1 = "ooooo";
        goto try_except_handler_3;
    }

    tmp_called_name_4 = var_append;
    if ( var_item == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "item" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 507;
        type_description_1 = "ooooo";
        goto try_except_handler_3;
    }

    tmp_subscribed_name_5 = var_item;
    tmp_subscript_name_5 = const_slice_int_pos_2_none_none;
    tmp_args_element_name_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    if ( tmp_args_element_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 507;
        type_description_1 = "ooooo";
        goto try_except_handler_3;
    }
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 507;
    {
        PyObject *call_args[] = { tmp_args_element_name_3 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_4, call_args );
    }

    Py_DECREF( tmp_args_element_name_3 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 507;
        type_description_1 = "ooooo";
        goto try_except_handler_3;
    }
    Py_DECREF( tmp_unused );
    }
    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;

    {
    // Preserve existing published exception.
    exception_preserved_type_1 = EXC_TYPE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_type_1 );
    exception_preserved_value_1 = EXC_VALUE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_value_1 );
    exception_preserved_tb_1 = (PyTracebackObject *)EXC_TRACEBACK(PyThreadState_GET());
    Py_XINCREF( exception_preserved_tb_1 );

    }
    {
    if ( exception_keeper_tb_1 == NULL )
    {
        exception_keeper_tb_1 = MAKE_TRACEBACK( frame_6378640236d221be9452e665d44d0e87, exception_keeper_lineno_1 );
    }
    else if ( exception_keeper_lineno_1 != 0 )
    {
        exception_keeper_tb_1 = ADD_TRACEBACK( exception_keeper_tb_1, frame_6378640236d221be9452e665d44d0e87, exception_keeper_lineno_1 );
    }

    NORMALIZE_EXCEPTION( &exception_keeper_type_1, &exception_keeper_value_1, &exception_keeper_tb_1 );
    PyException_SetTraceback( exception_keeper_value_1, (PyObject *)exception_keeper_tb_1 );
    PUBLISH_EXCEPTION( &exception_keeper_type_1, &exception_keeper_value_1, &exception_keeper_tb_1 );
    }
    {
    // Tried code:
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    tmp_compexpr_left_2 = EXC_TYPE(PyThreadState_GET());
    tmp_compexpr_right_2 = PyExc_KeyError;
    tmp_res = EXCEPTION_MATCH_BOOL( 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 = 508;
        type_description_1 = "ooooo";
        goto try_except_handler_4;
    }
    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_called_name_5;
    if ( var_append == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "append" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 509;
        type_description_1 = "ooooo";
        goto try_except_handler_4;
    }

    tmp_called_name_5 = var_append;
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 509;
    tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_5, &PyTuple_GET_ITEM( const_tuple_bytes_chr_37_tuple, 0 ) );

    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 509;
        type_description_1 = "ooooo";
        goto try_except_handler_4;
    }
    Py_DECREF( tmp_unused );
    }
    {
    PyObject *tmp_called_name_6;
    PyObject *tmp_args_element_name_4;
    if ( var_append == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "append" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 510;
        type_description_1 = "ooooo";
        goto try_except_handler_4;
    }

    tmp_called_name_6 = var_append;
    if ( var_item == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "item" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 510;
        type_description_1 = "ooooo";
        goto try_except_handler_4;
    }

    tmp_args_element_name_4 = var_item;
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 510;
    {
        PyObject *call_args[] = { tmp_args_element_name_4 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_6, call_args );
    }

    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 510;
        type_description_1 = "ooooo";
        goto try_except_handler_4;
    }
    Py_DECREF( tmp_unused );
    }
    goto branch_end_4;
    branch_no_4:;
    {
    tmp_result = RERAISE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
    if (unlikely( tmp_result == false ))
    {
        exception_lineno = 505;
    }

    if (exception_tb && exception_tb->tb_frame == &frame_6378640236d221be9452e665d44d0e87->m_frame) frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = exception_tb->tb_lineno;
    type_description_1 = "ooooo";
    goto try_except_handler_4;
    }
    branch_end_4:;
    }
    goto try_end_2;
    // Exception handler code:
    try_except_handler_4:;
    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;

    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_1, exception_preserved_value_1, exception_preserved_tb_1 );
    }
    {
    // 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 try_except_handler_2;
    }
    // End of try:
    try_end_2:;
    }
    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_1, exception_preserved_value_1, exception_preserved_tb_1 );
    }
    goto try_end_1;
    // exception handler codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_31_unquote_to_bytes );
    return NULL;
    // End of try:
    try_end_1:;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 504;
        type_description_1 = "ooooo";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_3;
    // Exception handler code:
    try_except_handler_2:;
    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( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = 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:;
    }
    {
    Py_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = NULL;

    }
    {
    PyObject *tmp_called_name_7;
    PyObject *tmp_source_name_3;
    PyObject *tmp_called_name_8;
    PyObject *tmp_mvar_value_5;
    PyObject *tmp_args_element_name_5;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 511;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_8 = tmp_mvar_value_5;
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 511;
    tmp_source_name_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_8, &PyTuple_GET_ITEM( const_tuple_bytes_empty_tuple, 0 ) );

    if ( tmp_source_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 511;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_called_name_7 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_join );
    Py_DECREF( tmp_source_name_3 );
    if ( tmp_called_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 511;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    if ( var_res == 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", "res" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 511;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_5 = var_res;
    frame_6378640236d221be9452e665d44d0e87->m_frame.f_lineno = 511;
    {
        PyObject *call_args[] = { tmp_args_element_name_5 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_7, call_args );
    }

    Py_DECREF( tmp_called_name_7 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 511;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_6378640236d221be9452e665d44d0e87 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_6378640236d221be9452e665d44d0e87 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_6378640236d221be9452e665d44d0e87 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_6378640236d221be9452e665d44d0e87, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_6378640236d221be9452e665d44d0e87->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_6378640236d221be9452e665d44d0e87, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_6378640236d221be9452e665d44d0e87,
        type_description_1,
        par_string,
        var_bits,
        var_res,
        var_append,
        var_item
    );


    // Release cached frame.
    if ( frame_6378640236d221be9452e665d44d0e87 == cache_frame_6378640236d221be9452e665d44d0e87 )
    {
        Py_DECREF( frame_6378640236d221be9452e665d44d0e87 );
    }
    cache_frame_6378640236d221be9452e665d44d0e87 = NULL;

    assertFrameObject( frame_6378640236d221be9452e665d44d0e87 );

    // 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( future$backports$urllib$parse$$$function_31_unquote_to_bytes );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( var_bits );
    var_bits = NULL;

    }
    {
    Py_XDECREF( var_res );
    var_res = NULL;

    }
    {
    Py_XDECREF( var_append );
    var_append = NULL;

    }
    {
    Py_XDECREF( var_item );
    var_item = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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( par_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( var_bits );
    var_bits = NULL;

    }
    {
    Py_XDECREF( var_res );
    var_res = NULL;

    }
    {
    Py_XDECREF( var_append );
    var_append = NULL;

    }
    {
    Py_XDECREF( var_item );
    var_item = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_31_unquote_to_bytes );
    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_future$backports$urllib$parse$$$function_32_unquote( 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_string = python_pars[ 0 ];
    PyObject *par_encoding = python_pars[ 1 ];
    PyObject *par_errors = python_pars[ 2 ];
    PyObject *var_bits = NULL;
    PyObject *var_res = NULL;
    PyObject *var_append = NULL;
    PyObject *var_i = NULL;
    PyObject *tmp_for_loop_1__for_iterator = NULL;
    PyObject *tmp_for_loop_1__iter_value = NULL;
    struct Nuitka_FrameObject *frame_e9812c604191d5b369a67a88dd1e443d;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    int tmp_res;
    PyObject *exception_type = NULL;
    PyObject *exception_value = NULL;
    PyTracebackObject *exception_tb = NULL;
    NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    PyObject *tmp_return_value = 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;
    static struct Nuitka_FrameObject *cache_frame_e9812c604191d5b369a67a88dd1e443d = NULL;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_e9812c604191d5b369a67a88dd1e443d, codeobj_e9812c604191d5b369a67a88dd1e443d, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_e9812c604191d5b369a67a88dd1e443d = cache_frame_e9812c604191d5b369a67a88dd1e443d;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_e9812c604191d5b369a67a88dd1e443d );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_e9812c604191d5b369a67a88dd1e443d ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    tmp_compexpr_left_1 = const_str_chr_37;
    CHECK_OBJECT( par_string );
    tmp_compexpr_right_1 = par_string;
    tmp_res = PySequence_Contains( tmp_compexpr_right_1, tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 525;
        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_source_name_1;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 526;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = par_string;
    tmp_unused = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_split );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 526;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    Py_DECREF( tmp_unused );
    }
    {
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 527;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = par_string;
    Py_INCREF( tmp_return_value );
    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 ( par_encoding == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 528;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_2 = par_encoding;
    tmp_compexpr_right_2 = Py_None;
    tmp_condition_result_2 = ( tmp_compexpr_left_2 == tmp_compexpr_right_2 ) ? 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;
    tmp_assign_source_1 = const_str_digest_c075052d723d6707083e869a0e3659bb;
    {
        PyObject *old = par_encoding;
        par_encoding = tmp_assign_source_1;
        Py_INCREF( par_encoding );
        Py_XDECREF( old );
    }

    }
    branch_no_2:;
    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    if ( par_errors == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 530;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_3 = par_errors;
    tmp_compexpr_right_3 = Py_None;
    tmp_condition_result_3 = ( tmp_compexpr_left_3 == tmp_compexpr_right_3 ) ? 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;
    tmp_assign_source_2 = const_str_plain_replace;
    {
        PyObject *old = par_errors;
        par_errors = tmp_assign_source_2;
        Py_INCREF( par_errors );
        Py_XDECREF( old );
    }

    }
    branch_no_3:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__asciire );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__asciire );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_asciire" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 532;
        type_description_1 = "ooooooo";
        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_split );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 532;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    if ( par_string == 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", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 532;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_string;
    frame_e9812c604191d5b369a67a88dd1e443d->m_frame.f_lineno = 532;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 532;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_bits == NULL );
    var_bits = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_list_element_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    CHECK_OBJECT( var_bits );
    tmp_subscribed_name_1 = var_bits;
    tmp_subscript_name_1 = const_int_0;
    tmp_list_element_1 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 0 );
    if ( tmp_list_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 533;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    tmp_assign_source_4 = PyList_New( 1 );
    PyList_SET_ITEM( tmp_assign_source_4, 0, tmp_list_element_1 );
    assert( var_res == NULL );
    var_res = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_source_name_3;
    CHECK_OBJECT( var_res );
    tmp_source_name_3 = var_res;
    tmp_assign_source_5 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_append );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 534;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_append == NULL );
    var_append = tmp_assign_source_5;

    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_len_arg_1;
    PyObject *tmp_args_element_name_4;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_range );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_range );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "range" );
        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_called_name_2 = tmp_mvar_value_2;
    tmp_args_element_name_2 = const_int_pos_1;
    if ( var_bits == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bits" );
        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_len_arg_1 = var_bits;
    tmp_args_element_name_3 = BUILTIN_LEN( tmp_len_arg_1 );
    if ( tmp_args_element_name_3 == NULL )
    {
        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_args_element_name_4 = const_int_pos_2;
    frame_e9812c604191d5b369a67a88dd1e443d->m_frame.f_lineno = 535;
    {
        PyObject *call_args[] = { tmp_args_element_name_2, tmp_args_element_name_3, tmp_args_element_name_4 };
        tmp_iter_arg_1 = CALL_FUNCTION_WITH_ARGS3( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_args_element_name_3 );
    if ( tmp_iter_arg_1 == NULL )
    {
        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_assign_source_6 = MAKE_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 535;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_for_loop_1__for_iterator == NULL );
    tmp_for_loop_1__for_iterator = tmp_assign_source_6;

    }
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_7;
    CHECK_OBJECT( tmp_for_loop_1__for_iterator );
    tmp_next_source_1 = tmp_for_loop_1__for_iterator;
    tmp_assign_source_7 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_7 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "ooooooo";
            exception_lineno = 535;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = tmp_for_loop_1__iter_value;
        tmp_for_loop_1__iter_value = tmp_assign_source_7;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_for_loop_1__iter_value );
    tmp_assign_source_8 = tmp_for_loop_1__iter_value;
    {
        PyObject *old = var_i;
        var_i = tmp_assign_source_8;
        Py_INCREF( var_i );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_called_name_3;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_called_name_4;
    PyObject *tmp_source_name_4;
    PyObject *tmp_called_name_5;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_6;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_args_element_name_8;
    if ( var_append == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "append" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }

    tmp_called_name_3 = var_append;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_unquote_to_bytes );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unquote_to_bytes );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unquote_to_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }

    tmp_called_name_5 = tmp_mvar_value_3;
    if ( var_bits == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bits" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }

    tmp_subscribed_name_2 = var_bits;
    CHECK_OBJECT( var_i );
    tmp_subscript_name_2 = var_i;
    tmp_args_element_name_6 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    if ( tmp_args_element_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    frame_e9812c604191d5b369a67a88dd1e443d->m_frame.f_lineno = 536;
    {
        PyObject *call_args[] = { tmp_args_element_name_6 };
        tmp_source_name_4 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_5, call_args );
    }

    Py_DECREF( tmp_args_element_name_6 );
    if ( tmp_source_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    tmp_called_name_4 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_decode );
    Py_DECREF( tmp_source_name_4 );
    if ( tmp_called_name_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    if ( par_encoding == NULL )
    {
        Py_DECREF( tmp_called_name_4 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }

    tmp_args_element_name_7 = par_encoding;
    if ( par_errors == NULL )
    {
        Py_DECREF( tmp_called_name_4 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }

    tmp_args_element_name_8 = par_errors;
    frame_e9812c604191d5b369a67a88dd1e443d->m_frame.f_lineno = 536;
    {
        PyObject *call_args[] = { tmp_args_element_name_7, tmp_args_element_name_8 };
        tmp_args_element_name_5 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_4, call_args );
    }

    Py_DECREF( tmp_called_name_4 );
    if ( tmp_args_element_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    frame_e9812c604191d5b369a67a88dd1e443d->m_frame.f_lineno = 536;
    {
        PyObject *call_args[] = { tmp_args_element_name_5 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

    Py_DECREF( tmp_args_element_name_5 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 536;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    Py_DECREF( tmp_unused );
    }
    {
    PyObject *tmp_called_name_6;
    PyObject *tmp_args_element_name_9;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    if ( var_append == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "append" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 537;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }

    tmp_called_name_6 = var_append;
    if ( var_bits == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bits" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 537;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }

    tmp_subscribed_name_3 = var_bits;
    if ( var_i == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "i" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 537;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }

    tmp_left_name_1 = var_i;
    tmp_right_name_1 = const_int_pos_1;
    tmp_subscript_name_3 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    if ( tmp_subscript_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 537;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    tmp_args_element_name_9 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    Py_DECREF( tmp_subscript_name_3 );
    if ( tmp_args_element_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 537;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    frame_e9812c604191d5b369a67a88dd1e443d->m_frame.f_lineno = 537;
    {
        PyObject *call_args[] = { tmp_args_element_name_9 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_6, call_args );
    }

    Py_DECREF( tmp_args_element_name_9 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 537;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    Py_DECREF( tmp_unused );
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 535;
        type_description_1 = "ooooooo";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    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( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = 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:;
    }
    {
    Py_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = NULL;

    }
    {
    PyObject *tmp_called_name_7;
    PyObject *tmp_source_name_5;
    PyObject *tmp_args_element_name_10;
    tmp_source_name_5 = const_str_empty;
    tmp_called_name_7 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_join );
    assert( !(tmp_called_name_7 == NULL) );
    if ( var_res == 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", "res" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 538;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_10 = var_res;
    frame_e9812c604191d5b369a67a88dd1e443d->m_frame.f_lineno = 538;
    {
        PyObject *call_args[] = { tmp_args_element_name_10 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_7, call_args );
    }

    Py_DECREF( tmp_called_name_7 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 538;
        type_description_1 = "ooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_e9812c604191d5b369a67a88dd1e443d );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_e9812c604191d5b369a67a88dd1e443d );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_e9812c604191d5b369a67a88dd1e443d );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_e9812c604191d5b369a67a88dd1e443d, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_e9812c604191d5b369a67a88dd1e443d->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_e9812c604191d5b369a67a88dd1e443d, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_e9812c604191d5b369a67a88dd1e443d,
        type_description_1,
        par_string,
        par_encoding,
        par_errors,
        var_bits,
        var_res,
        var_append,
        var_i
    );


    // Release cached frame.
    if ( frame_e9812c604191d5b369a67a88dd1e443d == cache_frame_e9812c604191d5b369a67a88dd1e443d )
    {
        Py_DECREF( frame_e9812c604191d5b369a67a88dd1e443d );
    }
    cache_frame_e9812c604191d5b369a67a88dd1e443d = NULL;

    assertFrameObject( frame_e9812c604191d5b369a67a88dd1e443d );

    // 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( future$backports$urllib$parse$$$function_32_unquote );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var_bits );
    var_bits = NULL;

    }
    {
    Py_XDECREF( var_res );
    var_res = NULL;

    }
    {
    Py_XDECREF( var_append );
    var_append = NULL;

    }
    {
    Py_XDECREF( var_i );
    var_i = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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( par_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var_bits );
    var_bits = NULL;

    }
    {
    Py_XDECREF( var_res );
    var_res = NULL;

    }
    {
    Py_XDECREF( var_append );
    var_append = NULL;

    }
    {
    Py_XDECREF( var_i );
    var_i = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_32_unquote );
    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_future$backports$urllib$parse$$$function_33_parse_qs( 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_qs = python_pars[ 0 ];
    PyObject *par_keep_blank_values = python_pars[ 1 ];
    PyObject *par_strict_parsing = python_pars[ 2 ];
    PyObject *par_encoding = python_pars[ 3 ];
    PyObject *par_errors = python_pars[ 4 ];
    PyObject *var_parsed_result = NULL;
    PyObject *var_pairs = NULL;
    PyObject *var_name = NULL;
    PyObject *var_value = NULL;
    PyObject *tmp_for_loop_1__for_iterator = NULL;
    PyObject *tmp_for_loop_1__iter_value = 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;
    struct Nuitka_FrameObject *frame_4f49cbb57956442cba6ebbf06e0ba6e4;
    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_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;
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    bool tmp_result;
    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 *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_4f49cbb57956442cba6ebbf06e0ba6e4 = NULL;
    PyObject *exception_keeper_type_4;
    PyObject *exception_keeper_value_4;
    PyTracebackObject *exception_keeper_tb_4;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_4;

    // Actual function code.
    {
    PyObject *tmp_assign_source_1;
    tmp_assign_source_1 = PyDict_New();
    assert( var_parsed_result == NULL );
    var_parsed_result = tmp_assign_source_1;

    }
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_4f49cbb57956442cba6ebbf06e0ba6e4, codeobj_4f49cbb57956442cba6ebbf06e0ba6e4, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_4f49cbb57956442cba6ebbf06e0ba6e4 = cache_frame_4f49cbb57956442cba6ebbf06e0ba6e4;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_4f49cbb57956442cba6ebbf06e0ba6e4 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_4f49cbb57956442cba6ebbf06e0ba6e4 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    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;
    PyObject *tmp_dict_key_2;
    PyObject *tmp_dict_value_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_parse_qsl );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_parse_qsl );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "parse_qsl" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 563;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_qs );
    tmp_tuple_element_1 = par_qs;
    tmp_args_name_1 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_name_1, 0, tmp_tuple_element_1 );
    CHECK_OBJECT( par_keep_blank_values );
    tmp_tuple_element_1 = par_keep_blank_values;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_name_1, 1, tmp_tuple_element_1 );
    CHECK_OBJECT( par_strict_parsing );
    tmp_tuple_element_1 = par_strict_parsing;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_args_name_1, 2, tmp_tuple_element_1 );
    tmp_dict_key_1 = const_str_plain_encoding;
    CHECK_OBJECT( par_encoding );
    tmp_dict_value_1 = par_encoding;
    tmp_kw_name_1 = _PyDict_NewPresized( 2 );
    tmp_res = PyDict_SetItem( tmp_kw_name_1, tmp_dict_key_1, tmp_dict_value_1 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_2 = const_str_plain_errors;
    CHECK_OBJECT( par_errors );
    tmp_dict_value_2 = par_errors;
    tmp_res = PyDict_SetItem( tmp_kw_name_1, tmp_dict_key_2, tmp_dict_value_2 );
    assert( !(tmp_res != 0) );
    frame_4f49cbb57956442cba6ebbf06e0ba6e4->m_frame.f_lineno = 563;
    tmp_assign_source_2 = CALL_FUNCTION( tmp_called_name_1, tmp_args_name_1, tmp_kw_name_1 );
    Py_DECREF( tmp_args_name_1 );
    Py_DECREF( tmp_kw_name_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 563;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    assert( var_pairs == NULL );
    var_pairs = tmp_assign_source_2;

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_iter_arg_1;
    CHECK_OBJECT( var_pairs );
    tmp_iter_arg_1 = var_pairs;
    tmp_assign_source_3 = MAKE_ITERATOR( tmp_iter_arg_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 565;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_for_loop_1__for_iterator == NULL );
    tmp_for_loop_1__for_iterator = tmp_assign_source_3;

    }
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_4;
    CHECK_OBJECT( tmp_for_loop_1__for_iterator );
    tmp_next_source_1 = tmp_for_loop_1__for_iterator;
    tmp_assign_source_4 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_4 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "ooooooooo";
            exception_lineno = 565;
            goto try_except_handler_2;
        }
    }

    {
        PyObject *old = tmp_for_loop_1__iter_value;
        tmp_for_loop_1__iter_value = tmp_assign_source_4;
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_iter_arg_2;
    CHECK_OBJECT( tmp_for_loop_1__iter_value );
    tmp_iter_arg_2 = tmp_for_loop_1__iter_value;
    tmp_assign_source_5 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_2 );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 565;
        type_description_1 = "ooooooooo";
        goto try_except_handler_3;
    }
    {
        PyObject *old = tmp_tuple_unpack_1__source_iter;
        tmp_tuple_unpack_1__source_iter = tmp_assign_source_5;
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_6 = UNPACK_NEXT( tmp_unpack_1, 0, 2 );
    if ( tmp_assign_source_6 == 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 = "ooooooooo";
        exception_lineno = 565;
        goto try_except_handler_4;
    }
    {
        PyObject *old = tmp_tuple_unpack_1__element_1;
        tmp_tuple_unpack_1__element_1 = tmp_assign_source_6;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_7;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_7 = UNPACK_NEXT( tmp_unpack_2, 1, 2 );
    if ( tmp_assign_source_7 == 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 = "ooooooooo";
        exception_lineno = 565;
        goto try_except_handler_4;
    }
    {
        PyObject *old = tmp_tuple_unpack_1__element_2;
        tmp_tuple_unpack_1__element_2 = tmp_assign_source_7;
        Py_XDECREF( old );
    }

    }
    {
    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 = "ooooooooo";
                exception_lineno = 565;
                goto try_except_handler_4;
            }
        }
    }
    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 = "ooooooooo";
        exception_lineno = 565;
        goto try_except_handler_4;
    }
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_4:;
    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_3;
    }
    // End of try:
    try_end_1:;
    }
    goto try_end_2;
    // Exception handler code:
    try_except_handler_3:;
    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 try_except_handler_2;
    }
    // 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_8;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_8 = tmp_tuple_unpack_1__element_1;
    {
        PyObject *old = var_name;
        var_name = tmp_assign_source_8;
        Py_INCREF( var_name );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_9;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_9 = tmp_tuple_unpack_1__element_2;
    {
        PyObject *old = var_value;
        var_value = tmp_assign_source_9;
        Py_INCREF( var_value );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    if ( var_name == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "name" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 566;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }

    tmp_compexpr_left_1 = var_name;
    if ( var_parsed_result == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "parsed_result" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 566;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }

    tmp_compexpr_right_1 = var_parsed_result;
    tmp_res = PySequence_Contains( tmp_compexpr_right_1, tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 566;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    tmp_condition_result_1 = ( tmp_res == 1 ) ? 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_called_name_2;
    PyObject *tmp_source_name_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_args_element_name_1;
    if ( var_parsed_result == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "parsed_result" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 567;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }

    tmp_subscribed_name_1 = var_parsed_result;
    if ( var_name == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "name" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 567;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }

    tmp_subscript_name_1 = var_name;
    tmp_source_name_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_source_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 567;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    tmp_called_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_append );
    Py_DECREF( tmp_source_name_1 );
    if ( tmp_called_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 567;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    if ( var_value == 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", "value" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 567;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }

    tmp_args_element_name_1 = var_value;
    frame_4f49cbb57956442cba6ebbf06e0ba6e4->m_frame.f_lineno = 567;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_called_name_2 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 567;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    Py_DECREF( tmp_unused );
    }
    goto branch_end_1;
    branch_no_1:;
    {
    PyObject *tmp_ass_subvalue_1;
    PyObject *tmp_list_element_1;
    PyObject *tmp_ass_subscribed_1;
    PyObject *tmp_ass_subscript_1;
    if ( var_value == NULL )
    {

        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 = 569;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }

    tmp_list_element_1 = var_value;
    tmp_ass_subvalue_1 = PyList_New( 1 );
    Py_INCREF( tmp_list_element_1 );
    PyList_SET_ITEM( tmp_ass_subvalue_1, 0, tmp_list_element_1 );
    if ( var_parsed_result == 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", "parsed_result" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 569;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }

    tmp_ass_subscribed_1 = var_parsed_result;
    if ( var_name == 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", "name" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 569;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }

    tmp_ass_subscript_1 = var_name;
    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 = 569;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    }
    branch_end_1:;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 565;
        type_description_1 = "ooooooooo";
        goto try_except_handler_2;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_3;
    // Exception handler code:
    try_except_handler_2:;
    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( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = 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:;
    }
    {
    Py_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = NULL;

    }
    {
    if ( var_parsed_result == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "parsed_result" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 570;
        type_description_1 = "ooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = var_parsed_result;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_4f49cbb57956442cba6ebbf06e0ba6e4 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_4f49cbb57956442cba6ebbf06e0ba6e4 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_4f49cbb57956442cba6ebbf06e0ba6e4 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_4f49cbb57956442cba6ebbf06e0ba6e4, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_4f49cbb57956442cba6ebbf06e0ba6e4->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_4f49cbb57956442cba6ebbf06e0ba6e4, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_4f49cbb57956442cba6ebbf06e0ba6e4,
        type_description_1,
        par_qs,
        par_keep_blank_values,
        par_strict_parsing,
        par_encoding,
        par_errors,
        var_parsed_result,
        var_pairs,
        var_name,
        var_value
    );


    // Release cached frame.
    if ( frame_4f49cbb57956442cba6ebbf06e0ba6e4 == cache_frame_4f49cbb57956442cba6ebbf06e0ba6e4 )
    {
        Py_DECREF( frame_4f49cbb57956442cba6ebbf06e0ba6e4 );
    }
    cache_frame_4f49cbb57956442cba6ebbf06e0ba6e4 = NULL;

    assertFrameObject( frame_4f49cbb57956442cba6ebbf06e0ba6e4 );

    // 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( future$backports$urllib$parse$$$function_33_parse_qs );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_qs );
    par_qs = NULL;

    }
    {
    Py_XDECREF( par_keep_blank_values );
    par_keep_blank_values = NULL;

    }
    {
    Py_XDECREF( par_strict_parsing );
    par_strict_parsing = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var_parsed_result );
    var_parsed_result = NULL;

    }
    {
    Py_XDECREF( var_pairs );
    var_pairs = NULL;

    }
    {
    Py_XDECREF( var_name );
    var_name = NULL;

    }
    {
    Py_XDECREF( var_value );
    var_value = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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( par_qs );
    par_qs = NULL;

    }
    {
    Py_XDECREF( par_keep_blank_values );
    par_keep_blank_values = NULL;

    }
    {
    Py_XDECREF( par_strict_parsing );
    par_strict_parsing = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var_parsed_result );
    var_parsed_result = NULL;

    }
    {
    Py_XDECREF( var_pairs );
    var_pairs = NULL;

    }
    {
    Py_XDECREF( var_name );
    var_name = NULL;

    }
    {
    Py_XDECREF( var_value );
    var_value = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_33_parse_qs );
    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_future$backports$urllib$parse$$$function_34_parse_qsl( 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_qs = python_pars[ 0 ];
    PyObject *par_keep_blank_values = python_pars[ 1 ];
    PyObject *par_strict_parsing = python_pars[ 2 ];
    PyObject *par_encoding = python_pars[ 3 ];
    PyObject *par_errors = python_pars[ 4 ];
    PyObject *var__coerce_result = NULL;
    PyObject *var_pairs = NULL;
    PyObject *var_r = NULL;
    PyObject *var_name_value = NULL;
    PyObject *var_nv = NULL;
    PyObject *var_name = NULL;
    PyObject *var_value = NULL;
    PyObject *outline_0_var_s1 = NULL;
    PyObject *outline_0_var_s2 = NULL;
    PyObject *tmp_for_loop_1__for_iterator = NULL;
    PyObject *tmp_for_loop_1__iter_value = NULL;
    PyObject *tmp_listcomp_1__$0 = NULL;
    PyObject *tmp_listcomp_1__contraction = NULL;
    PyObject *tmp_listcomp_1__contraction_iter_0 = NULL;
    PyObject *tmp_listcomp_1__iter_value_0 = NULL;
    PyObject *tmp_listcomp_1__iter_value_1 = 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;
    struct Nuitka_FrameObject *frame_8c092edf2bc76c311880da8d86fa6e58;
    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_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;
    struct Nuitka_FrameObject *frame_a0706c194d416ae2d6ba11baf585df08_2;
    NUITKA_MAY_BE_UNUSED char const *type_description_2 = NULL;
    int tmp_res;
    PyObject *exception_keeper_type_3;
    PyObject *exception_keeper_value_3;
    PyTracebackObject *exception_keeper_tb_3;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3;
    static struct Nuitka_FrameObject *cache_frame_a0706c194d416ae2d6ba11baf585df08_2 = NULL;
    PyObject *exception_keeper_type_4;
    PyObject *exception_keeper_value_4;
    PyTracebackObject *exception_keeper_tb_4;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_4;
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    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 *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_8c092edf2bc76c311880da8d86fa6e58 = NULL;
    PyObject *exception_keeper_type_6;
    PyObject *exception_keeper_value_6;
    PyTracebackObject *exception_keeper_tb_6;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_6;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_8c092edf2bc76c311880da8d86fa6e58, codeobj_8c092edf2bc76c311880da8d86fa6e58, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_8c092edf2bc76c311880da8d86fa6e58 = cache_frame_8c092edf2bc76c311880da8d86fa6e58;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_8c092edf2bc76c311880da8d86fa6e58 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_8c092edf2bc76c311880da8d86fa6e58 ) == 2 ); // Frame stack

    // Framed code:
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__coerce_args );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__coerce_args );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_coerce_args" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 595;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_2;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_qs );
    tmp_args_element_name_1 = par_qs;
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 595;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_iter_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    if ( tmp_iter_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 595;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_1 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 595;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_1;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_2 = UNPACK_NEXT( tmp_unpack_1, 0, 2 );
    if ( tmp_assign_source_2 == 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 = "oooooooooooo";
        exception_lineno = 595;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_2;

    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_2, 1, 2 );
    if ( tmp_assign_source_3 == 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 = "oooooooooooo";
        exception_lineno = 595;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_3;

    }
    {
    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 = "oooooooooooo";
                exception_lineno = 595;
                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 = "oooooooooooo";
        exception_lineno = 595;
        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_4;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_4 = tmp_tuple_unpack_1__element_1;
    {
        PyObject *old = par_qs;
        par_qs = tmp_assign_source_4;
        Py_INCREF( par_qs );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_5;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_5 = tmp_tuple_unpack_1__element_2;
    assert( var__coerce_result == NULL );
    Py_INCREF( tmp_assign_source_5 );
    var__coerce_result = tmp_assign_source_5;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_6;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_7;
    PyObject *tmp_iter_arg_2;
    PyObject *tmp_called_instance_1;
    if ( par_qs == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "free variable '%s' referenced before assignment in enclosing scope", "qs" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 596;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_4;
    }

    tmp_called_instance_1 = par_qs;
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 596;
    tmp_iter_arg_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_38_tuple, 0 ) );

    if ( tmp_iter_arg_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 596;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_4;
    }
    tmp_assign_source_7 = MAKE_ITERATOR( tmp_iter_arg_2 );
    Py_DECREF( tmp_iter_arg_2 );
    if ( tmp_assign_source_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 596;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_4;
    }
    assert( tmp_listcomp_1__$0 == NULL );
    tmp_listcomp_1__$0 = tmp_assign_source_7;

    }
    {
    PyObject *tmp_assign_source_8;
    tmp_assign_source_8 = PyList_New( 0 );
    assert( tmp_listcomp_1__contraction == NULL );
    tmp_listcomp_1__contraction = tmp_assign_source_8;

    }
    MAKE_OR_REUSE_FRAME( cache_frame_a0706c194d416ae2d6ba11baf585df08_2, codeobj_a0706c194d416ae2d6ba11baf585df08, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *) );
    frame_a0706c194d416ae2d6ba11baf585df08_2 = cache_frame_a0706c194d416ae2d6ba11baf585df08_2;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_a0706c194d416ae2d6ba11baf585df08_2 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_a0706c194d416ae2d6ba11baf585df08_2 ) == 2 ); // Frame stack

    // Framed code:
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_9;
    CHECK_OBJECT( tmp_listcomp_1__$0 );
    tmp_next_source_1 = tmp_listcomp_1__$0;
    tmp_assign_source_9 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_9 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_2 = "oo";
            exception_lineno = 596;
            goto try_except_handler_5;
        }
    }

    {
        PyObject *old = tmp_listcomp_1__iter_value_1;
        tmp_listcomp_1__iter_value_1 = tmp_assign_source_9;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_10;
    CHECK_OBJECT( tmp_listcomp_1__iter_value_1 );
    tmp_assign_source_10 = tmp_listcomp_1__iter_value_1;
    {
        PyObject *old = outline_0_var_s1;
        outline_0_var_s1 = tmp_assign_source_10;
        Py_INCREF( outline_0_var_s1 );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_11;
    PyObject *tmp_iter_arg_3;
    PyObject *tmp_called_instance_2;
    CHECK_OBJECT( outline_0_var_s1 );
    tmp_called_instance_2 = outline_0_var_s1;
    frame_a0706c194d416ae2d6ba11baf585df08_2->m_frame.f_lineno = 596;
    tmp_iter_arg_3 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_59_tuple, 0 ) );

    if ( tmp_iter_arg_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 596;
        type_description_2 = "oo";
        goto try_except_handler_5;
    }
    tmp_assign_source_11 = MAKE_ITERATOR( tmp_iter_arg_3 );
    Py_DECREF( tmp_iter_arg_3 );
    if ( tmp_assign_source_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 596;
        type_description_2 = "oo";
        goto try_except_handler_5;
    }
    {
        PyObject *old = tmp_listcomp_1__contraction_iter_0;
        tmp_listcomp_1__contraction_iter_0 = tmp_assign_source_11;
        Py_XDECREF( old );
    }

    }
    {
    loop_start_2:;
    {
    PyObject *tmp_next_source_2;
    PyObject *tmp_assign_source_12;
    CHECK_OBJECT( tmp_listcomp_1__contraction_iter_0 );
    tmp_next_source_2 = tmp_listcomp_1__contraction_iter_0;
    tmp_assign_source_12 = ITERATOR_NEXT( tmp_next_source_2 );
    if ( tmp_assign_source_12 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_2;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_2 = "oo";
            exception_lineno = 596;
            goto try_except_handler_5;
        }
    }

    {
        PyObject *old = tmp_listcomp_1__iter_value_0;
        tmp_listcomp_1__iter_value_0 = tmp_assign_source_12;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_13;
    CHECK_OBJECT( tmp_listcomp_1__iter_value_0 );
    tmp_assign_source_13 = tmp_listcomp_1__iter_value_0;
    {
        PyObject *old = outline_0_var_s2;
        outline_0_var_s2 = tmp_assign_source_13;
        Py_INCREF( outline_0_var_s2 );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_append_list_1;
    PyObject *tmp_append_value_1;
    CHECK_OBJECT( tmp_listcomp_1__contraction );
    tmp_append_list_1 = tmp_listcomp_1__contraction;
    CHECK_OBJECT( outline_0_var_s2 );
    tmp_append_value_1 = outline_0_var_s2;
    assert( PyList_Check( tmp_append_list_1 ) );
    tmp_res = PyList_Append( tmp_append_list_1, tmp_append_value_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 596;
        type_description_2 = "oo";
        goto try_except_handler_5;
    }
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 596;
        type_description_2 = "oo";
        goto try_except_handler_5;
    }
    goto loop_start_2;
    loop_end_2:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_1__contraction_iter_0 );
    Py_DECREF( tmp_listcomp_1__contraction_iter_0 );
    tmp_listcomp_1__contraction_iter_0 = NULL;

    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 596;
        type_description_2 = "oo";
        goto try_except_handler_5;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    {
    CHECK_OBJECT( tmp_listcomp_1__contraction );
    tmp_assign_source_6 = tmp_listcomp_1__contraction;
    Py_INCREF( tmp_assign_source_6 );
    goto try_return_handler_5;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_34_parse_qsl );
    return NULL;
    // Return handler code:
    try_return_handler_5:;
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_1__$0 );
    Py_DECREF( tmp_listcomp_1__$0 );
    tmp_listcomp_1__$0 = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_1__contraction );
    Py_DECREF( tmp_listcomp_1__contraction );
    tmp_listcomp_1__contraction = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_1__iter_value_0 );
    tmp_listcomp_1__iter_value_0 = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_1__contraction_iter_0 );
    tmp_listcomp_1__contraction_iter_0 = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_1__iter_value_1 );
    tmp_listcomp_1__iter_value_1 = NULL;

    }
    {
    goto frame_return_exit_2;
    }
    // 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_listcomp_1__$0 );
    Py_DECREF( tmp_listcomp_1__$0 );
    tmp_listcomp_1__$0 = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_1__contraction );
    Py_DECREF( tmp_listcomp_1__contraction );
    tmp_listcomp_1__contraction = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_1__iter_value_0 );
    tmp_listcomp_1__iter_value_0 = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_1__contraction_iter_0 );
    tmp_listcomp_1__contraction_iter_0 = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_1__iter_value_1 );
    tmp_listcomp_1__iter_value_1 = 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_2;
    }
    // End of try:
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a0706c194d416ae2d6ba11baf585df08_2 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_2:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_a0706c194d416ae2d6ba11baf585df08_2 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_4;

    frame_exception_exit_2:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a0706c194d416ae2d6ba11baf585df08_2 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_a0706c194d416ae2d6ba11baf585df08_2, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_a0706c194d416ae2d6ba11baf585df08_2->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_a0706c194d416ae2d6ba11baf585df08_2, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_a0706c194d416ae2d6ba11baf585df08_2,
        type_description_2,
        outline_0_var_s1,
        outline_0_var_s2
    );


    // Release cached frame.
    if ( frame_a0706c194d416ae2d6ba11baf585df08_2 == cache_frame_a0706c194d416ae2d6ba11baf585df08_2 )
    {
        Py_DECREF( frame_a0706c194d416ae2d6ba11baf585df08_2 );
    }
    cache_frame_a0706c194d416ae2d6ba11baf585df08_2 = NULL;

    assertFrameObject( frame_a0706c194d416ae2d6ba11baf585df08_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:;
    type_description_1 = "oooooooooooo";
    goto try_except_handler_4;
    skip_nested_handling_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_34_parse_qsl );
    return NULL;
    // Return handler code:
    try_return_handler_4:;
    {
    Py_XDECREF( outline_0_var_s1 );
    outline_0_var_s1 = NULL;

    }
    {
    Py_XDECREF( outline_0_var_s2 );
    outline_0_var_s2 = NULL;

    }
    {
    goto outline_result_1;
    }
    // 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( outline_0_var_s1 );
    outline_0_var_s1 = NULL;

    }
    {
    Py_XDECREF( outline_0_var_s2 );
    outline_0_var_s2 = 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 outline_exception_1;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_34_parse_qsl );
    return NULL;
    outline_exception_1:;
    exception_lineno = 596;
    goto frame_exception_exit_1;
    outline_result_1:;
    assert( var_pairs == NULL );
    var_pairs = tmp_assign_source_6;

    }
    {
    PyObject *tmp_assign_source_14;
    tmp_assign_source_14 = PyList_New( 0 );
    assert( var_r == NULL );
    var_r = tmp_assign_source_14;

    }
    {
    PyObject *tmp_assign_source_15;
    PyObject *tmp_iter_arg_4;
    CHECK_OBJECT( var_pairs );
    tmp_iter_arg_4 = var_pairs;
    tmp_assign_source_15 = MAKE_ITERATOR( tmp_iter_arg_4 );
    if ( tmp_assign_source_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 598;
        type_description_1 = "oooooooooooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_for_loop_1__for_iterator == NULL );
    tmp_for_loop_1__for_iterator = tmp_assign_source_15;

    }
    {
    // Tried code:
    {
    loop_start_3:;
    {
    PyObject *tmp_next_source_3;
    PyObject *tmp_assign_source_16;
    CHECK_OBJECT( tmp_for_loop_1__for_iterator );
    tmp_next_source_3 = tmp_for_loop_1__for_iterator;
    tmp_assign_source_16 = ITERATOR_NEXT( tmp_next_source_3 );
    if ( tmp_assign_source_16 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_3;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "oooooooooooo";
            exception_lineno = 598;
            goto try_except_handler_6;
        }
    }

    {
        PyObject *old = tmp_for_loop_1__iter_value;
        tmp_for_loop_1__iter_value = tmp_assign_source_16;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_17;
    CHECK_OBJECT( tmp_for_loop_1__iter_value );
    tmp_assign_source_17 = tmp_for_loop_1__iter_value;
    {
        PyObject *old = var_name_value;
        var_name_value = tmp_assign_source_17;
        Py_INCREF( var_name_value );
        Py_XDECREF( old );
    }

    }
    {
    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_operand_name_2;
    CHECK_OBJECT( var_name_value );
    tmp_operand_name_1 = var_name_value;
    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 = 599;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    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_strict_parsing == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "strict_parsing" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 599;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_operand_name_2 = par_strict_parsing;
    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 = 599;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    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:;
    {
    goto loop_start_3;
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_18;
    PyObject *tmp_called_instance_3;
    if ( var_name_value == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "name_value" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 601;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_instance_3 = var_name_value;
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 601;
    tmp_assign_source_18 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_3, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_61_int_pos_1_tuple, 0 ) );

    if ( tmp_assign_source_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 601;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_nv;
        var_nv = tmp_assign_source_18;
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_len_arg_1;
    CHECK_OBJECT( var_nv );
    tmp_len_arg_1 = var_nv;
    tmp_compexpr_left_1 = BUILTIN_LEN( tmp_len_arg_1 );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 602;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    tmp_compexpr_right_1 = const_int_pos_2;
    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 = 602;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    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;
    int tmp_truth_name_1;
    if ( par_strict_parsing == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "strict_parsing" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 603;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_truth_name_1 = CHECK_IF_TRUE( par_strict_parsing );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 603;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    tmp_condition_result_3 = tmp_truth_name_1 == 1 ? 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_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_tuple_element_1;
    tmp_left_name_1 = const_str_digest_128766d5a4405c5bff5a232a0ae6ff77;
    if ( var_name_value == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "name_value" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 604;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_tuple_element_1 = var_name_value;
    tmp_right_name_1 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_1 );
    tmp_make_exception_arg_1 = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_right_name_1 );
    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 604;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 604;
    {
        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 = 604;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oooooooooooo";
    goto try_except_handler_6;
    }
    branch_no_3:;
    }
    {
    nuitka_bool tmp_condition_result_4;
    int tmp_truth_name_2;
    if ( par_keep_blank_values == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "keep_blank_values" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 606;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_truth_name_2 = CHECK_IF_TRUE( par_keep_blank_values );
    if ( tmp_truth_name_2 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 606;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    tmp_condition_result_4 = tmp_truth_name_2 == 1 ? 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_called_instance_4;
    if ( var_nv == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "nv" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 607;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_instance_4 = var_nv;
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 607;
    tmp_unused = CALL_METHOD_WITH_ARGS1( tmp_called_instance_4, const_str_plain_append, &PyTuple_GET_ITEM( const_tuple_str_empty_tuple, 0 ) );

    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 607;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    Py_DECREF( tmp_unused );
    }
    goto branch_end_4;
    branch_no_4:;
    {
    goto loop_start_3;
    }
    branch_end_4:;
    }
    branch_no_2:;
    }
    {
    nuitka_bool tmp_condition_result_5;
    int tmp_or_left_truth_1;
    nuitka_bool tmp_or_left_value_1;
    nuitka_bool tmp_or_right_value_1;
    PyObject *tmp_len_arg_2;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_capi_result_1;
    int tmp_truth_name_3;
    int tmp_truth_name_4;
    if ( var_nv == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "nv" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 610;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_subscribed_name_1 = var_nv;
    tmp_subscript_name_1 = const_int_pos_1;
    tmp_len_arg_2 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 1 );
    if ( tmp_len_arg_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 610;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    tmp_capi_result_1 = BUILTIN_LEN( tmp_len_arg_2 );
    Py_DECREF( tmp_len_arg_2 );
    if ( tmp_capi_result_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 610;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    tmp_truth_name_3 = CHECK_IF_TRUE( tmp_capi_result_1 );
    if ( tmp_truth_name_3 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_capi_result_1 );

        exception_lineno = 610;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    tmp_or_left_value_1 = tmp_truth_name_3 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_capi_result_1 );
    tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_or_left_truth_1 == 1 )
    {
        goto or_left_1;
    }
    else
    {
        goto or_right_1;
    }
    or_right_1:;
    if ( par_keep_blank_values == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "keep_blank_values" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 610;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_truth_name_4 = CHECK_IF_TRUE( par_keep_blank_values );
    if ( tmp_truth_name_4 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 610;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    tmp_or_right_value_1 = tmp_truth_name_4 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_5 = tmp_or_right_value_1;
    goto or_end_1;
    or_left_1:;
    tmp_condition_result_5 = tmp_or_left_value_1;
    or_end_1:;
    if ( tmp_condition_result_5 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_5;
    }
    else
    {
        goto branch_no_5;
    }
    branch_yes_5:;
    {
    PyObject *tmp_assign_source_19;
    PyObject *tmp_called_instance_5;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    if ( var_nv == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "nv" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 611;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_subscribed_name_2 = var_nv;
    tmp_subscript_name_2 = const_int_0;
    tmp_called_instance_5 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_2, tmp_subscript_name_2, 0 );
    if ( tmp_called_instance_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 611;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 611;
    tmp_assign_source_19 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_5, const_str_plain_replace, &PyTuple_GET_ITEM( const_tuple_str_chr_43_str_space_tuple, 0 ) );

    Py_DECREF( tmp_called_instance_5 );
    if ( tmp_assign_source_19 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 611;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_name;
        var_name = tmp_assign_source_19;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_20;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_name_1;
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_kw_name_1;
    PyObject *tmp_dict_key_1;
    PyObject *tmp_dict_value_1;
    PyObject *tmp_dict_key_2;
    PyObject *tmp_dict_value_2;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_unquote );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unquote );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unquote" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 612;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_2 = tmp_mvar_value_2;
    CHECK_OBJECT( var_name );
    tmp_tuple_element_2 = var_name;
    tmp_args_name_1 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_args_name_1, 0, tmp_tuple_element_2 );
    tmp_dict_key_1 = const_str_plain_encoding;
    if ( par_encoding == NULL )
    {
        Py_DECREF( tmp_args_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 612;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_dict_value_1 = par_encoding;
    tmp_kw_name_1 = _PyDict_NewPresized( 2 );
    tmp_res = PyDict_SetItem( tmp_kw_name_1, tmp_dict_key_1, tmp_dict_value_1 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_2 = const_str_plain_errors;
    if ( par_errors == NULL )
    {
        Py_DECREF( tmp_args_name_1 );
        Py_DECREF( tmp_kw_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 612;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_dict_value_2 = par_errors;
    tmp_res = PyDict_SetItem( tmp_kw_name_1, tmp_dict_key_2, tmp_dict_value_2 );
    assert( !(tmp_res != 0) );
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 612;
    tmp_assign_source_20 = CALL_FUNCTION( tmp_called_name_2, tmp_args_name_1, tmp_kw_name_1 );
    Py_DECREF( tmp_args_name_1 );
    Py_DECREF( tmp_kw_name_1 );
    if ( tmp_assign_source_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 612;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_name;
        var_name = tmp_assign_source_20;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_21;
    PyObject *tmp_called_name_3;
    PyObject *tmp_args_element_name_2;
    if ( var__coerce_result == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "_coerce_result" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 613;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_3 = var__coerce_result;
    CHECK_OBJECT( var_name );
    tmp_args_element_name_2 = var_name;
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 613;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_assign_source_21 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

    if ( tmp_assign_source_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 613;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_name;
        var_name = tmp_assign_source_21;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_22;
    PyObject *tmp_called_instance_6;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    if ( var_nv == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "nv" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 614;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_subscribed_name_3 = var_nv;
    tmp_subscript_name_3 = const_int_pos_1;
    tmp_called_instance_6 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_3, tmp_subscript_name_3, 1 );
    if ( tmp_called_instance_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 614;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 614;
    tmp_assign_source_22 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_6, const_str_plain_replace, &PyTuple_GET_ITEM( const_tuple_str_chr_43_str_space_tuple, 0 ) );

    Py_DECREF( tmp_called_instance_6 );
    if ( tmp_assign_source_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 614;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_value;
        var_value = tmp_assign_source_22;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_23;
    PyObject *tmp_called_name_4;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_name_2;
    PyObject *tmp_tuple_element_3;
    PyObject *tmp_kw_name_2;
    PyObject *tmp_dict_key_3;
    PyObject *tmp_dict_value_3;
    PyObject *tmp_dict_key_4;
    PyObject *tmp_dict_value_4;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_unquote );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unquote );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unquote" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 615;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_4 = tmp_mvar_value_3;
    CHECK_OBJECT( var_value );
    tmp_tuple_element_3 = var_value;
    tmp_args_name_2 = PyTuple_New( 1 );
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_args_name_2, 0, tmp_tuple_element_3 );
    tmp_dict_key_3 = const_str_plain_encoding;
    if ( par_encoding == 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", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 615;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_dict_value_3 = par_encoding;
    tmp_kw_name_2 = _PyDict_NewPresized( 2 );
    tmp_res = PyDict_SetItem( tmp_kw_name_2, tmp_dict_key_3, tmp_dict_value_3 );
    assert( !(tmp_res != 0) );
    tmp_dict_key_4 = const_str_plain_errors;
    if ( par_errors == NULL )
    {
        Py_DECREF( tmp_args_name_2 );
        Py_DECREF( tmp_kw_name_2 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 615;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_dict_value_4 = par_errors;
    tmp_res = PyDict_SetItem( tmp_kw_name_2, tmp_dict_key_4, tmp_dict_value_4 );
    assert( !(tmp_res != 0) );
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 615;
    tmp_assign_source_23 = CALL_FUNCTION( tmp_called_name_4, tmp_args_name_2, tmp_kw_name_2 );
    Py_DECREF( tmp_args_name_2 );
    Py_DECREF( tmp_kw_name_2 );
    if ( tmp_assign_source_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 615;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_value;
        var_value = tmp_assign_source_23;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_24;
    PyObject *tmp_called_name_5;
    PyObject *tmp_args_element_name_3;
    if ( var__coerce_result == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "_coerce_result" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 616;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_5 = var__coerce_result;
    CHECK_OBJECT( var_value );
    tmp_args_element_name_3 = var_value;
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 616;
    {
        PyObject *call_args[] = { tmp_args_element_name_3 };
        tmp_assign_source_24 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_5, call_args );
    }

    if ( tmp_assign_source_24 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 616;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_value;
        var_value = tmp_assign_source_24;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_called_name_6;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_4;
    PyObject *tmp_tuple_element_4;
    if ( var_r == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "r" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 617;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_source_name_1 = var_r;
    tmp_called_name_6 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_append );
    if ( tmp_called_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 617;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    if ( var_name == NULL )
    {
        Py_DECREF( tmp_called_name_6 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "name" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 617;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_tuple_element_4 = var_name;
    tmp_args_element_name_4 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_args_element_name_4, 0, tmp_tuple_element_4 );
    if ( var_value == NULL )
    {
        Py_DECREF( tmp_called_name_6 );
        Py_DECREF( tmp_args_element_name_4 );
        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 = 617;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }

    tmp_tuple_element_4 = var_value;
    Py_INCREF( tmp_tuple_element_4 );
    PyTuple_SET_ITEM( tmp_args_element_name_4, 1, tmp_tuple_element_4 );
    frame_8c092edf2bc76c311880da8d86fa6e58->m_frame.f_lineno = 617;
    {
        PyObject *call_args[] = { tmp_args_element_name_4 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_6, call_args );
    }

    Py_DECREF( tmp_called_name_6 );
    Py_DECREF( tmp_args_element_name_4 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 617;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    Py_DECREF( tmp_unused );
    }
    branch_no_5:;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 598;
        type_description_1 = "oooooooooooo";
        goto try_except_handler_6;
    }
    goto loop_start_3;
    loop_end_3:;
    }
    goto try_end_3;
    // Exception handler code:
    try_except_handler_6:;
    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( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = 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_3:;
    }
    {
    Py_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = NULL;

    }
    {
    if ( var_r == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "r" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 618;
        type_description_1 = "oooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = var_r;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8c092edf2bc76c311880da8d86fa6e58 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_2;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_8c092edf2bc76c311880da8d86fa6e58 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8c092edf2bc76c311880da8d86fa6e58 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_8c092edf2bc76c311880da8d86fa6e58, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_8c092edf2bc76c311880da8d86fa6e58->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_8c092edf2bc76c311880da8d86fa6e58, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_8c092edf2bc76c311880da8d86fa6e58,
        type_description_1,
        par_qs,
        par_keep_blank_values,
        par_strict_parsing,
        par_encoding,
        par_errors,
        var__coerce_result,
        var_pairs,
        var_r,
        var_name_value,
        var_nv,
        var_name,
        var_value
    );


    // Release cached frame.
    if ( frame_8c092edf2bc76c311880da8d86fa6e58 == cache_frame_8c092edf2bc76c311880da8d86fa6e58 )
    {
        Py_DECREF( frame_8c092edf2bc76c311880da8d86fa6e58 );
    }
    cache_frame_8c092edf2bc76c311880da8d86fa6e58 = NULL;

    assertFrameObject( frame_8c092edf2bc76c311880da8d86fa6e58 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_2:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_34_parse_qsl );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_qs );
    par_qs = NULL;

    }
    {
    Py_XDECREF( par_keep_blank_values );
    par_keep_blank_values = NULL;

    }
    {
    Py_XDECREF( par_strict_parsing );
    par_strict_parsing = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_pairs );
    var_pairs = NULL;

    }
    {
    Py_XDECREF( var_r );
    var_r = NULL;

    }
    {
    Py_XDECREF( var_name_value );
    var_name_value = NULL;

    }
    {
    Py_XDECREF( var_nv );
    var_nv = NULL;

    }
    {
    Py_XDECREF( var_name );
    var_name = NULL;

    }
    {
    Py_XDECREF( var_value );
    var_value = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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;

    {
    Py_XDECREF( par_qs );
    par_qs = NULL;

    }
    {
    Py_XDECREF( par_keep_blank_values );
    par_keep_blank_values = NULL;

    }
    {
    Py_XDECREF( par_strict_parsing );
    par_strict_parsing = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var__coerce_result );
    var__coerce_result = NULL;

    }
    {
    Py_XDECREF( var_pairs );
    var_pairs = NULL;

    }
    {
    Py_XDECREF( var_r );
    var_r = NULL;

    }
    {
    Py_XDECREF( var_name_value );
    var_name_value = NULL;

    }
    {
    Py_XDECREF( var_nv );
    var_nv = NULL;

    }
    {
    Py_XDECREF( var_name );
    var_name = NULL;

    }
    {
    Py_XDECREF( var_value );
    var_value = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_34_parse_qsl );
    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_future$backports$urllib$parse$$$function_35_unquote_plus( 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_string = python_pars[ 0 ];
    PyObject *par_encoding = python_pars[ 1 ];
    PyObject *par_errors = python_pars[ 2 ];
    struct Nuitka_FrameObject *frame_c53e05a47f20919b01f66c1ba050b7f7;
    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;
    static struct Nuitka_FrameObject *cache_frame_c53e05a47f20919b01f66c1ba050b7f7 = 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_c53e05a47f20919b01f66c1ba050b7f7, codeobj_c53e05a47f20919b01f66c1ba050b7f7, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_c53e05a47f20919b01f66c1ba050b7f7 = cache_frame_c53e05a47f20919b01f66c1ba050b7f7;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_c53e05a47f20919b01f66c1ba050b7f7 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_c53e05a47f20919b01f66c1ba050b7f7 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( par_string );
    tmp_called_instance_1 = par_string;
    frame_c53e05a47f20919b01f66c1ba050b7f7->m_frame.f_lineno = 626;
    tmp_assign_source_1 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_1, const_str_plain_replace, &PyTuple_GET_ITEM( const_tuple_str_chr_43_str_space_tuple, 0 ) );

    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 626;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_string;
        par_string = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    {
    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_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_unquote );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_unquote );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "unquote" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 627;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_string );
    tmp_args_element_name_1 = par_string;
    if ( par_encoding == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 627;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = par_encoding;
    if ( par_errors == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 627;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_3 = par_errors;
    frame_c53e05a47f20919b01f66c1ba050b7f7->m_frame.f_lineno = 627;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2, tmp_args_element_name_3 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS3( tmp_called_name_1, call_args );
    }

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 627;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_c53e05a47f20919b01f66c1ba050b7f7 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_c53e05a47f20919b01f66c1ba050b7f7 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_c53e05a47f20919b01f66c1ba050b7f7 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_c53e05a47f20919b01f66c1ba050b7f7, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_c53e05a47f20919b01f66c1ba050b7f7->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_c53e05a47f20919b01f66c1ba050b7f7, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_c53e05a47f20919b01f66c1ba050b7f7,
        type_description_1,
        par_string,
        par_encoding,
        par_errors
    );


    // Release cached frame.
    if ( frame_c53e05a47f20919b01f66c1ba050b7f7 == cache_frame_c53e05a47f20919b01f66c1ba050b7f7 )
    {
        Py_DECREF( frame_c53e05a47f20919b01f66c1ba050b7f7 );
    }
    cache_frame_c53e05a47f20919b01f66c1ba050b7f7 = NULL;

    assertFrameObject( frame_c53e05a47f20919b01f66c1ba050b7f7 );

    // 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( future$backports$urllib$parse$$$function_35_unquote_plus );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = 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_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = 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( future$backports$urllib$parse$$$function_35_unquote_plus );
    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_future$backports$urllib$parse$$$function_36___init__( 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 *par_safe = python_pars[ 1 ];
    struct Nuitka_FrameObject *frame_8e01e71c862c6aab030adbbca04d262c;
    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;
    static struct Nuitka_FrameObject *cache_frame_8e01e71c862c6aab030adbbca04d262c = NULL;
    PyObject *tmp_return_value = 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_8e01e71c862c6aab030adbbca04d262c, codeobj_8e01e71c862c6aab030adbbca04d262c, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *) );
    frame_8e01e71c862c6aab030adbbca04d262c = cache_frame_8e01e71c862c6aab030adbbca04d262c;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_8e01e71c862c6aab030adbbca04d262c );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_8e01e71c862c6aab030adbbca04d262c ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assattr_name_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_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_assattr_target_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ALWAYS_SAFE );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ALWAYS_SAFE );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ALWAYS_SAFE" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 646;
        type_description_1 = "oo";
        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_union );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 646;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    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", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 646;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_2;
    if ( par_safe == 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", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 646;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = par_safe;
    frame_8e01e71c862c6aab030adbbca04d262c->m_frame.f_lineno = 646;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_args_element_name_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    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 = 646;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    frame_8e01e71c862c6aab030adbbca04d262c->m_frame.f_lineno = 646;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assattr_name_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_assattr_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 646;
        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 = 646;
        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_safe, 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 = 646;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8e01e71c862c6aab030adbbca04d262c );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_8e01e71c862c6aab030adbbca04d262c );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_8e01e71c862c6aab030adbbca04d262c, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_8e01e71c862c6aab030adbbca04d262c->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_8e01e71c862c6aab030adbbca04d262c, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_8e01e71c862c6aab030adbbca04d262c,
        type_description_1,
        par_self,
        par_safe
    );


    // Release cached frame.
    if ( frame_8e01e71c862c6aab030adbbca04d262c == cache_frame_8e01e71c862c6aab030adbbca04d262c )
    {
        Py_DECREF( frame_8e01e71c862c6aab030adbbca04d262c );
    }
    cache_frame_8e01e71c862c6aab030adbbca04d262c = NULL;

    assertFrameObject( frame_8e01e71c862c6aab030adbbca04d262c );

    // 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( future$backports$urllib$parse$$$function_36___init__ );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( par_safe );
    par_safe = 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( par_safe );
    par_safe = 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( future$backports$urllib$parse$$$function_36___init__ );
    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_future$backports$urllib$parse$$$function_37___repr__( 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_36db0d0b94411c71d0b757b6664c5295;
    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_36db0d0b94411c71d0b757b6664c5295 = 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_36db0d0b94411c71d0b757b6664c5295, codeobj_36db0d0b94411c71d0b757b6664c5295, module_future$backports$urllib$parse, sizeof(void *) );
    frame_36db0d0b94411c71d0b757b6664c5295 = cache_frame_36db0d0b94411c71d0b757b6664c5295;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_36db0d0b94411c71d0b757b6664c5295 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_36db0d0b94411c71d0b757b6664c5295 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    tmp_left_name_1 = const_str_digest_9ba620e74293d6f68e92188501ad3654;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_dict );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_dict );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "dict" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 650;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_self );
    tmp_args_element_name_1 = par_self;
    frame_36db0d0b94411c71d0b757b6664c5295->m_frame.f_lineno = 650;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_right_name_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    if ( tmp_right_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 650;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_return_value = BINARY_OPERATION_REMAINDER( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_right_name_1 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 650;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_36db0d0b94411c71d0b757b6664c5295 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_36db0d0b94411c71d0b757b6664c5295 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_36db0d0b94411c71d0b757b6664c5295 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_36db0d0b94411c71d0b757b6664c5295, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_36db0d0b94411c71d0b757b6664c5295->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_36db0d0b94411c71d0b757b6664c5295, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_36db0d0b94411c71d0b757b6664c5295,
        type_description_1,
        par_self
    );


    // Release cached frame.
    if ( frame_36db0d0b94411c71d0b757b6664c5295 == cache_frame_36db0d0b94411c71d0b757b6664c5295 )
    {
        Py_DECREF( frame_36db0d0b94411c71d0b757b6664c5295 );
    }
    cache_frame_36db0d0b94411c71d0b757b6664c5295 = NULL;

    assertFrameObject( frame_36db0d0b94411c71d0b757b6664c5295 );

    // 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( future$backports$urllib$parse$$$function_37___repr__ );
    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( future$backports$urllib$parse$$$function_37___repr__ );
    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_future$backports$urllib$parse$$$function_38___missing__( 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 *par_b = python_pars[ 1 ];
    PyObject *var_res = NULL;
    struct Nuitka_FrameObject *frame_db6d302f521bfbd82f0b4c282b95b026;
    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_db6d302f521bfbd82f0b4c282b95b026 = 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_db6d302f521bfbd82f0b4c282b95b026, codeobj_db6d302f521bfbd82f0b4c282b95b026, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_db6d302f521bfbd82f0b4c282b95b026 = cache_frame_db6d302f521bfbd82f0b4c282b95b026;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_db6d302f521bfbd82f0b4c282b95b026 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_db6d302f521bfbd82f0b4c282b95b026 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_source_name_2;
    PyObject *tmp_args_element_name_2;
    CHECK_OBJECT( par_b );
    tmp_compexpr_left_1 = par_b;
    CHECK_OBJECT( par_self );
    tmp_source_name_1 = par_self;
    tmp_compexpr_right_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_safe );
    if ( tmp_compexpr_right_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 654;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_res = PySequence_Contains( tmp_compexpr_right_1, tmp_compexpr_left_1 );
    Py_DECREF( tmp_compexpr_right_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 654;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_1 = ( tmp_res == 1 ) ? 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:;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_chr );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_chr );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "chr" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 654;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    if ( par_b == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "b" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 654;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_b;
    frame_db6d302f521bfbd82f0b4c282b95b026->m_frame.f_lineno = 654;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 654;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto condexpr_end_1;
    condexpr_false_1:;
    tmp_source_name_2 = const_str_digest_a6dab781b92fbe04874204e94c892e10;
    tmp_called_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_format );
    assert( !(tmp_called_name_2 == NULL) );
    if ( par_b == 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", "b" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 654;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = par_b;
    frame_db6d302f521bfbd82f0b4c282b95b026->m_frame.f_lineno = 654;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_assign_source_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_called_name_2 );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 654;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    condexpr_end_1:;
    assert( var_res == NULL );
    var_res = tmp_assign_source_1;

    }
    {
    PyObject *tmp_ass_subvalue_1;
    PyObject *tmp_ass_subscribed_1;
    PyObject *tmp_ass_subscript_1;
    CHECK_OBJECT( var_res );
    tmp_ass_subvalue_1 = var_res;
    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 = 655;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscribed_1 = par_self;
    if ( par_b == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "b" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 655;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_ass_subscript_1 = par_b;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 655;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    }
    {
    if ( var_res == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "res" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 656;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = var_res;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_db6d302f521bfbd82f0b4c282b95b026 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_db6d302f521bfbd82f0b4c282b95b026 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_db6d302f521bfbd82f0b4c282b95b026 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_db6d302f521bfbd82f0b4c282b95b026, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_db6d302f521bfbd82f0b4c282b95b026->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_db6d302f521bfbd82f0b4c282b95b026, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_db6d302f521bfbd82f0b4c282b95b026,
        type_description_1,
        par_self,
        par_b,
        var_res
    );


    // Release cached frame.
    if ( frame_db6d302f521bfbd82f0b4c282b95b026 == cache_frame_db6d302f521bfbd82f0b4c282b95b026 )
    {
        Py_DECREF( frame_db6d302f521bfbd82f0b4c282b95b026 );
    }
    cache_frame_db6d302f521bfbd82f0b4c282b95b026 = NULL;

    assertFrameObject( frame_db6d302f521bfbd82f0b4c282b95b026 );

    // 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( future$backports$urllib$parse$$$function_38___missing__ );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_self );
    par_self = NULL;

    }
    {
    Py_XDECREF( par_b );
    par_b = NULL;

    }
    {
    Py_XDECREF( var_res );
    var_res = 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( par_b );
    par_b = NULL;

    }
    {
    Py_XDECREF( var_res );
    var_res = 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( future$backports$urllib$parse$$$function_38___missing__ );
    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_future$backports$urllib$parse$$$function_39_quote( 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_string = python_pars[ 0 ];
    PyObject *par_safe = python_pars[ 1 ];
    PyObject *par_encoding = python_pars[ 2 ];
    PyObject *par_errors = python_pars[ 3 ];
    struct Nuitka_FrameObject *frame_47bcfe8219298cd65e3e105e78f6526d;
    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_47bcfe8219298cd65e3e105e78f6526d = 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_47bcfe8219298cd65e3e105e78f6526d, codeobj_47bcfe8219298cd65e3e105e78f6526d, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_47bcfe8219298cd65e3e105e78f6526d = cache_frame_47bcfe8219298cd65e3e105e78f6526d;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_47bcfe8219298cd65e3e105e78f6526d );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_47bcfe8219298cd65e3e105e78f6526d ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_mvar_value_1;
    CHECK_OBJECT( par_string );
    tmp_isinstance_inst_1 = par_string;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 687;
        type_description_1 = "oooo";
        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 = 687;
        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:;
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_operand_name_1;
    CHECK_OBJECT( par_string );
    tmp_operand_name_1 = par_string;
    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 = 688;
        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:;
    {
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 689;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_return_value = par_string;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    if ( par_encoding == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 690;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = par_encoding;
    tmp_compexpr_right_1 = Py_None;
    tmp_condition_result_3 = ( tmp_compexpr_left_1 == tmp_compexpr_right_1 ) ? 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;
    tmp_assign_source_1 = const_str_digest_c075052d723d6707083e869a0e3659bb;
    {
        PyObject *old = par_encoding;
        par_encoding = tmp_assign_source_1;
        Py_INCREF( par_encoding );
        Py_XDECREF( old );
    }

    }
    branch_no_3:;
    }
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    if ( par_errors == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 692;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_2 = par_errors;
    tmp_compexpr_right_2 = Py_None;
    tmp_condition_result_4 = ( tmp_compexpr_left_2 == tmp_compexpr_right_2 ) ? 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;
    tmp_assign_source_2 = const_str_plain_strict;
    {
        PyObject *old = par_errors;
        par_errors = tmp_assign_source_2;
        Py_INCREF( par_errors );
        Py_XDECREF( old );
    }

    }
    branch_no_4:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 694;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = par_string;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_encode );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 694;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    if ( par_encoding == 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", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 694;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_encoding;
    if ( par_errors == 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", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 694;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = par_errors;
    frame_47bcfe8219298cd65e3e105e78f6526d->m_frame.f_lineno = 694;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 694;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_string;
        par_string = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    goto branch_end_1;
    branch_no_1:;
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    CHECK_OBJECT( par_encoding );
    tmp_compexpr_left_3 = par_encoding;
    tmp_compexpr_right_3 = Py_None;
    tmp_condition_result_5 = ( tmp_compexpr_left_3 != tmp_compexpr_right_3 ) ? 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_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    tmp_make_exception_arg_1 = const_str_digest_62ad0ec5e6fe61326d52f53e0066ceac;
    frame_47bcfe8219298cd65e3e105e78f6526d->m_frame.f_lineno = 697;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
    }

    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 697;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oooo";
    goto frame_exception_exit_1;
    }
    branch_no_5:;
    }
    {
    nuitka_bool tmp_condition_result_6;
    PyObject *tmp_compexpr_left_4;
    PyObject *tmp_compexpr_right_4;
    if ( par_errors == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 698;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_4 = par_errors;
    tmp_compexpr_right_4 = Py_None;
    tmp_condition_result_6 = ( tmp_compexpr_left_4 != tmp_compexpr_right_4 ) ? 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;
    tmp_make_exception_arg_2 = const_str_digest_640f46343ff3f25798bdad1e2191665e;
    frame_47bcfe8219298cd65e3e105e78f6526d->m_frame.f_lineno = 699;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_2 };
        tmp_raise_type_2 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
    }

    assert( !(tmp_raise_type_2 == NULL) );
    exception_type = tmp_raise_type_2;
    exception_lineno = 699;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oooo";
    goto frame_exception_exit_1;
    }
    branch_no_6:;
    }
    branch_end_1:;
    }
    {
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_args_element_name_4;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_from_bytes );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_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", "quote_from_bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 700;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_2;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 700;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_3 = par_string;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 700;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_4 = par_safe;
    frame_47bcfe8219298cd65e3e105e78f6526d->m_frame.f_lineno = 700;
    {
        PyObject *call_args[] = { tmp_args_element_name_3, tmp_args_element_name_4 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 700;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_47bcfe8219298cd65e3e105e78f6526d );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_47bcfe8219298cd65e3e105e78f6526d );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_47bcfe8219298cd65e3e105e78f6526d );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_47bcfe8219298cd65e3e105e78f6526d, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_47bcfe8219298cd65e3e105e78f6526d->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_47bcfe8219298cd65e3e105e78f6526d, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_47bcfe8219298cd65e3e105e78f6526d,
        type_description_1,
        par_string,
        par_safe,
        par_encoding,
        par_errors
    );


    // Release cached frame.
    if ( frame_47bcfe8219298cd65e3e105e78f6526d == cache_frame_47bcfe8219298cd65e3e105e78f6526d )
    {
        Py_DECREF( frame_47bcfe8219298cd65e3e105e78f6526d );
    }
    cache_frame_47bcfe8219298cd65e3e105e78f6526d = NULL;

    assertFrameObject( frame_47bcfe8219298cd65e3e105e78f6526d );

    // 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( future$backports$urllib$parse$$$function_39_quote );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( par_safe );
    par_safe = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = 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_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( par_safe );
    par_safe = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = 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( future$backports$urllib$parse$$$function_39_quote );
    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_future$backports$urllib$parse$$$function_40_quote_plus( 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_string = python_pars[ 0 ];
    PyObject *par_safe = python_pars[ 1 ];
    PyObject *par_encoding = python_pars[ 2 ];
    PyObject *par_errors = python_pars[ 3 ];
    PyObject *var_space = NULL;
    struct Nuitka_FrameObject *frame_505c1eea6a524bedc8de80e976f6ebc5;
    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_505c1eea6a524bedc8de80e976f6ebc5 = 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_505c1eea6a524bedc8de80e976f6ebc5, codeobj_505c1eea6a524bedc8de80e976f6ebc5, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_505c1eea6a524bedc8de80e976f6ebc5 = cache_frame_505c1eea6a524bedc8de80e976f6ebc5;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_505c1eea6a524bedc8de80e976f6ebc5 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_505c1eea6a524bedc8de80e976f6ebc5 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    int tmp_or_left_truth_1;
    nuitka_bool tmp_or_left_value_1;
    nuitka_bool tmp_or_right_value_1;
    int tmp_and_left_truth_1;
    nuitka_bool tmp_and_left_value_1;
    nuitka_bool tmp_and_right_value_1;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    int tmp_and_left_truth_2;
    nuitka_bool tmp_and_left_value_2;
    nuitka_bool tmp_and_right_value_2;
    PyObject *tmp_isinstance_inst_2;
    PyObject *tmp_isinstance_cls_2;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    CHECK_OBJECT( par_string );
    tmp_isinstance_inst_1 = par_string;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 709;
        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 = 709;
        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:;
    tmp_compexpr_left_1 = const_str_space;
    CHECK_OBJECT( par_string );
    tmp_compexpr_right_1 = par_string;
    tmp_res = PySequence_Contains( tmp_compexpr_right_1, tmp_compexpr_left_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 709;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_1 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_or_left_value_1 = tmp_and_right_value_1;
    goto and_end_1;
    and_left_1:;
    tmp_or_left_value_1 = tmp_and_left_value_1;
    and_end_1:;
    tmp_or_left_truth_1 = tmp_or_left_value_1 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_or_left_truth_1 == 1 )
    {
        goto or_left_1;
    }
    else
    {
        goto or_right_1;
    }
    or_right_1:;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 710;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_2 = par_string;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 710;
        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 = 710;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_2 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_and_left_truth_2 = tmp_and_left_value_2 == NUITKA_BOOL_TRUE ? 1 : 0;
    if ( tmp_and_left_truth_2 == 1 )
    {
        goto and_right_2;
    }
    else
    {
        goto and_left_2;
    }
    and_right_2:;
    tmp_compexpr_left_2 = const_bytes_chr_32;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 710;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_right_2 = par_string;
    tmp_res = PySequence_Contains( tmp_compexpr_right_2, tmp_compexpr_left_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 710;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_right_value_2 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_or_right_value_1 = tmp_and_right_value_2;
    goto and_end_2;
    and_left_2:;
    tmp_or_right_value_1 = tmp_and_left_value_2;
    and_end_2:;
    tmp_condition_result_1 = tmp_or_right_value_1;
    goto or_end_1;
    or_left_1:;
    tmp_condition_result_1 = tmp_or_left_value_1;
    or_end_1:;
    if ( tmp_condition_result_1 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_1;
    }
    else
    {
        goto branch_no_1;
    }
    branch_yes_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_args_element_name_3;
    PyObject *tmp_args_element_name_4;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 711;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_3;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 711;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_string;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 711;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = par_safe;
    if ( par_encoding == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 711;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_3 = par_encoding;
    if ( par_errors == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 711;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_4 = par_errors;
    frame_505c1eea6a524bedc8de80e976f6ebc5->m_frame.f_lineno = 711;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2, tmp_args_element_name_3, tmp_args_element_name_4 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS4( tmp_called_name_1, call_args );
    }

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 711;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_isinstance_inst_3;
    PyObject *tmp_isinstance_cls_3;
    PyObject *tmp_mvar_value_4;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 712;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_3 = par_safe;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_4 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 712;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_3 = tmp_mvar_value_4;
    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 = 712;
        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_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_5;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 713;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_5;
    frame_505c1eea6a524bedc8de80e976f6ebc5->m_frame.f_lineno = 713;
    tmp_assign_source_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, &PyTuple_GET_ITEM( const_tuple_str_space_tuple, 0 ) );

    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 713;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_space == NULL );
    var_space = tmp_assign_source_1;

    }
    goto branch_end_2;
    branch_no_2:;
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_name_3;
    PyObject *tmp_mvar_value_6;
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_6 == NULL ))
    {
        tmp_mvar_value_6 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_6 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 715;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_3 = tmp_mvar_value_6;
    frame_505c1eea6a524bedc8de80e976f6ebc5->m_frame.f_lineno = 715;
    tmp_assign_source_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, &PyTuple_GET_ITEM( const_tuple_bytes_chr_32_tuple, 0 ) );

    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 715;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_space == NULL );
    var_space = tmp_assign_source_2;

    }
    branch_end_2:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_4;
    PyObject *tmp_mvar_value_7;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_args_element_name_6;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_args_element_name_8;
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote );

    if (unlikely( tmp_mvar_value_7 == NULL ))
    {
        tmp_mvar_value_7 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote );
    }

    if ( tmp_mvar_value_7 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 716;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_4 = tmp_mvar_value_7;
    if ( par_string == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "string" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 716;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_5 = par_string;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 716;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_left_name_1 = par_safe;
    CHECK_OBJECT( var_space );
    tmp_right_name_1 = var_space;
    tmp_args_element_name_6 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    if ( tmp_args_element_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 716;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    if ( par_encoding == 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", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 716;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_7 = par_encoding;
    if ( par_errors == 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", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 716;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_8 = par_errors;
    frame_505c1eea6a524bedc8de80e976f6ebc5->m_frame.f_lineno = 716;
    {
        PyObject *call_args[] = { tmp_args_element_name_5, tmp_args_element_name_6, tmp_args_element_name_7, tmp_args_element_name_8 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS4( tmp_called_name_4, call_args );
    }

    Py_DECREF( tmp_args_element_name_6 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 716;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_string;
        par_string = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( par_string );
    tmp_called_instance_1 = par_string;
    frame_505c1eea6a524bedc8de80e976f6ebc5->m_frame.f_lineno = 717;
    tmp_return_value = CALL_METHOD_WITH_ARGS2( tmp_called_instance_1, const_str_plain_replace, &PyTuple_GET_ITEM( const_tuple_str_space_str_chr_43_tuple, 0 ) );

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 717;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_505c1eea6a524bedc8de80e976f6ebc5 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_505c1eea6a524bedc8de80e976f6ebc5 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_505c1eea6a524bedc8de80e976f6ebc5 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_505c1eea6a524bedc8de80e976f6ebc5, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_505c1eea6a524bedc8de80e976f6ebc5->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_505c1eea6a524bedc8de80e976f6ebc5, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_505c1eea6a524bedc8de80e976f6ebc5,
        type_description_1,
        par_string,
        par_safe,
        par_encoding,
        par_errors,
        var_space
    );


    // Release cached frame.
    if ( frame_505c1eea6a524bedc8de80e976f6ebc5 == cache_frame_505c1eea6a524bedc8de80e976f6ebc5 )
    {
        Py_DECREF( frame_505c1eea6a524bedc8de80e976f6ebc5 );
    }
    cache_frame_505c1eea6a524bedc8de80e976f6ebc5 = NULL;

    assertFrameObject( frame_505c1eea6a524bedc8de80e976f6ebc5 );

    // 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( future$backports$urllib$parse$$$function_40_quote_plus );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( par_safe );
    par_safe = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var_space );
    var_space = 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_string );
    par_string = NULL;

    }
    {
    Py_XDECREF( par_safe );
    par_safe = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var_space );
    var_space = 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( future$backports$urllib$parse$$$function_40_quote_plus );
    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_future$backports$urllib$parse$$$function_41_quote_from_bytes( 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_bs = python_pars[ 0 ];
    PyObject *par_safe = python_pars[ 1 ];
    PyObject *var_quoter = NULL;
    PyObject *outline_0_var_c = NULL;
    PyObject *outline_1_var_char = NULL;
    PyObject *tmp_assign_unpack_1__assign_source = NULL;
    PyObject *tmp_listcomp_1__$0 = NULL;
    PyObject *tmp_listcomp_1__contraction = NULL;
    PyObject *tmp_listcomp_1__iter_value_0 = NULL;
    PyObject *tmp_listcomp_2__$0 = NULL;
    PyObject *tmp_listcomp_2__contraction = NULL;
    PyObject *tmp_listcomp_2__iter_value_0 = NULL;
    struct Nuitka_FrameObject *frame_bccb504ae865d93f37303a9a57dcc76b;
    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;
    struct Nuitka_FrameObject *frame_17674188a0c27dbeb4019a739c5dd2b5_2;
    NUITKA_MAY_BE_UNUSED char const *type_description_2 = 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;
    static struct Nuitka_FrameObject *cache_frame_17674188a0c27dbeb4019a739c5dd2b5_2 = NULL;
    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_preserved_type_1;
    PyObject *exception_preserved_value_1;
    PyTracebackObject *exception_preserved_tb_1;
    bool tmp_result;
    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;
    struct Nuitka_FrameObject *frame_dc31457802946034b1f8dff96ab19ee2_3;
    NUITKA_MAY_BE_UNUSED char const *type_description_3 = NULL;
    PyObject *exception_keeper_type_6;
    PyObject *exception_keeper_value_6;
    PyTracebackObject *exception_keeper_tb_6;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_6;
    static struct Nuitka_FrameObject *cache_frame_dc31457802946034b1f8dff96ab19ee2_3 = 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;
    static struct Nuitka_FrameObject *cache_frame_bccb504ae865d93f37303a9a57dcc76b = NULL;
    PyObject *exception_keeper_type_8;
    PyObject *exception_keeper_value_8;
    PyTracebackObject *exception_keeper_tb_8;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_8;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_bccb504ae865d93f37303a9a57dcc76b, codeobj_bccb504ae865d93f37303a9a57dcc76b, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_bccb504ae865d93f37303a9a57dcc76b = cache_frame_bccb504ae865d93f37303a9a57dcc76b;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_bccb504ae865d93f37303a9a57dcc76b );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_bccb504ae865d93f37303a9a57dcc76b ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_operand_name_1;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_mvar_value_1;
    CHECK_OBJECT( par_bs );
    tmp_isinstance_inst_1 = par_bs;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 724;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = tmp_mvar_value_1;
    tmp_isinstance_cls_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_isinstance_cls_1, 0, tmp_tuple_element_1 );
    tmp_tuple_element_1 = (PyObject *)&PyByteArray_Type;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_isinstance_cls_1, 1, tmp_tuple_element_1 );
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_1, tmp_isinstance_cls_1 );
    Py_DECREF( tmp_isinstance_cls_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 724;
        type_description_1 = "ooo";
        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 = 724;
        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;
    tmp_make_exception_arg_1 = const_str_digest_6844d5f84eccc91a0cb63c06d06f9cf9;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 725;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
    }

    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 725;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooo";
    goto frame_exception_exit_1;
    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_operand_name_2;
    if ( par_bs == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bs" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 726;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_2 = par_bs;
    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 = 726;
        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_called_name_1;
    PyObject *tmp_mvar_value_2;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 727;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_2;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 727;
    tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, &PyTuple_GET_ITEM( const_tuple_str_empty_tuple, 0 ) );

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 727;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 729;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_2 = tmp_mvar_value_3;
    if ( par_bs == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bs" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 729;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_bs;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 729;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 729;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_bs;
        par_bs = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_isinstance_inst_2;
    PyObject *tmp_isinstance_cls_2;
    PyObject *tmp_mvar_value_4;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 731;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_inst_2 = par_safe;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_4 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 731;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_isinstance_cls_2 = tmp_mvar_value_4;
    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 = 731;
        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_called_instance_1;
    PyObject *tmp_called_name_3;
    PyObject *tmp_mvar_value_5;
    PyObject *tmp_args_element_name_2;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 733;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_3 = tmp_mvar_value_5;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 733;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_2 = par_safe;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 733;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_called_instance_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_3, call_args );
    }

    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 733;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 733;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_1, const_str_plain_encode, &PyTuple_GET_ITEM( const_tuple_str_plain_ascii_str_plain_ignore_tuple, 0 ) );

    Py_DECREF( tmp_called_instance_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 733;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_safe;
        par_safe = tmp_assign_source_2;
        Py_XDECREF( old );
    }

    }
    goto branch_end_3;
    branch_no_3:;
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_4;
    PyObject *tmp_mvar_value_6;
    PyObject *tmp_args_element_name_3;
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_6 == NULL ))
    {
        tmp_mvar_value_6 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_6 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 736;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_4 = tmp_mvar_value_6;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 736;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_3 = par_safe;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 736;
    {
        PyObject *call_args[] = { tmp_args_element_name_3 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_4, call_args );
    }

    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 736;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_safe;
        par_safe = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_called_name_5;
    PyObject *tmp_mvar_value_7;
    PyObject *tmp_args_element_name_4;
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_7 == NULL ))
    {
        tmp_mvar_value_7 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_7 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 738;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_5 = tmp_mvar_value_7;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_iter_arg_1;
    CHECK_OBJECT( par_safe );
    tmp_iter_arg_1 = par_safe;
    tmp_assign_source_5 = MAKE_ITERATOR( tmp_iter_arg_1 );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 738;
        type_description_1 = "ooo";
        goto try_except_handler_2;
    }
    assert( tmp_listcomp_1__$0 == NULL );
    tmp_listcomp_1__$0 = tmp_assign_source_5;

    }
    {
    PyObject *tmp_assign_source_6;
    tmp_assign_source_6 = PyList_New( 0 );
    assert( tmp_listcomp_1__contraction == NULL );
    tmp_listcomp_1__contraction = tmp_assign_source_6;

    }
    MAKE_OR_REUSE_FRAME( cache_frame_17674188a0c27dbeb4019a739c5dd2b5_2, codeobj_17674188a0c27dbeb4019a739c5dd2b5, module_future$backports$urllib$parse, sizeof(void *) );
    frame_17674188a0c27dbeb4019a739c5dd2b5_2 = cache_frame_17674188a0c27dbeb4019a739c5dd2b5_2;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_17674188a0c27dbeb4019a739c5dd2b5_2 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_17674188a0c27dbeb4019a739c5dd2b5_2 ) == 2 ); // Frame stack

    // Framed code:
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_7;
    CHECK_OBJECT( tmp_listcomp_1__$0 );
    tmp_next_source_1 = tmp_listcomp_1__$0;
    tmp_assign_source_7 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_7 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_2 = "o";
            exception_lineno = 738;
            goto try_except_handler_3;
        }
    }

    {
        PyObject *old = tmp_listcomp_1__iter_value_0;
        tmp_listcomp_1__iter_value_0 = tmp_assign_source_7;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_listcomp_1__iter_value_0 );
    tmp_assign_source_8 = tmp_listcomp_1__iter_value_0;
    {
        PyObject *old = outline_0_var_c;
        outline_0_var_c = tmp_assign_source_8;
        Py_INCREF( outline_0_var_c );
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    CHECK_OBJECT( outline_0_var_c );
    tmp_compexpr_left_1 = outline_0_var_c;
    tmp_compexpr_right_1 = const_int_pos_128;
    tmp_res = RICH_COMPARE_BOOL_LT( 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 = 738;
        type_description_2 = "o";
        goto try_except_handler_3;
    }
    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_append_list_1;
    PyObject *tmp_append_value_1;
    CHECK_OBJECT( tmp_listcomp_1__contraction );
    tmp_append_list_1 = tmp_listcomp_1__contraction;
    if ( outline_0_var_c == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "c" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 738;
        type_description_2 = "o";
        goto try_except_handler_3;
    }

    tmp_append_value_1 = outline_0_var_c;
    assert( PyList_Check( tmp_append_list_1 ) );
    tmp_res = PyList_Append( tmp_append_list_1, tmp_append_value_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 738;
        type_description_2 = "o";
        goto try_except_handler_3;
    }
    }
    branch_no_4:;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 738;
        type_description_2 = "o";
        goto try_except_handler_3;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    {
    CHECK_OBJECT( tmp_listcomp_1__contraction );
    tmp_args_element_name_4 = tmp_listcomp_1__contraction;
    Py_INCREF( tmp_args_element_name_4 );
    goto try_return_handler_3;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_41_quote_from_bytes );
    return NULL;
    // Return handler code:
    try_return_handler_3:;
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_1__$0 );
    Py_DECREF( tmp_listcomp_1__$0 );
    tmp_listcomp_1__$0 = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_1__contraction );
    Py_DECREF( tmp_listcomp_1__contraction );
    tmp_listcomp_1__contraction = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_1__iter_value_0 );
    tmp_listcomp_1__iter_value_0 = NULL;

    }
    {
    goto frame_return_exit_2;
    }
    // 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_listcomp_1__$0 );
    Py_DECREF( tmp_listcomp_1__$0 );
    tmp_listcomp_1__$0 = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_1__contraction );
    Py_DECREF( tmp_listcomp_1__contraction );
    tmp_listcomp_1__contraction = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_1__iter_value_0 );
    tmp_listcomp_1__iter_value_0 = 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_2;
    }
    // End of try:
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_17674188a0c27dbeb4019a739c5dd2b5_2 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_2:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_17674188a0c27dbeb4019a739c5dd2b5_2 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_2;

    frame_exception_exit_2:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_17674188a0c27dbeb4019a739c5dd2b5_2 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_17674188a0c27dbeb4019a739c5dd2b5_2, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_17674188a0c27dbeb4019a739c5dd2b5_2->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_17674188a0c27dbeb4019a739c5dd2b5_2, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_17674188a0c27dbeb4019a739c5dd2b5_2,
        type_description_2,
        outline_0_var_c
    );


    // Release cached frame.
    if ( frame_17674188a0c27dbeb4019a739c5dd2b5_2 == cache_frame_17674188a0c27dbeb4019a739c5dd2b5_2 )
    {
        Py_DECREF( frame_17674188a0c27dbeb4019a739c5dd2b5_2 );
    }
    cache_frame_17674188a0c27dbeb4019a739c5dd2b5_2 = NULL;

    assertFrameObject( frame_17674188a0c27dbeb4019a739c5dd2b5_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:;
    type_description_1 = "ooo";
    goto try_except_handler_2;
    skip_nested_handling_1:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_41_quote_from_bytes );
    return NULL;
    // Return handler code:
    try_return_handler_2:;
    {
    Py_XDECREF( outline_0_var_c );
    outline_0_var_c = NULL;

    }
    {
    goto outline_result_1;
    }
    // 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( outline_0_var_c );
    outline_0_var_c = 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 outline_exception_1;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_41_quote_from_bytes );
    return NULL;
    outline_exception_1:;
    exception_lineno = 738;
    goto frame_exception_exit_1;
    outline_result_1:;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 738;
    {
        PyObject *call_args[] = { tmp_args_element_name_4 };
        tmp_assign_source_4 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_5, call_args );
    }

    Py_DECREF( tmp_args_element_name_4 );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 738;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_safe;
        par_safe = tmp_assign_source_4;
        Py_XDECREF( old );
    }

    }
    branch_end_3:;
    }
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_operand_name_3;
    PyObject *tmp_called_name_6;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_left_name_1;
    PyObject *tmp_mvar_value_8;
    PyObject *tmp_right_name_1;
    if ( par_bs == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bs" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 739;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = par_bs;
    tmp_called_name_6 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_rstrip );
    if ( tmp_called_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 739;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_mvar_value_8 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ALWAYS_SAFE_BYTES );

    if (unlikely( tmp_mvar_value_8 == NULL ))
    {
        tmp_mvar_value_8 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ALWAYS_SAFE_BYTES );
    }

    if ( tmp_mvar_value_8 == NULL )
    {
        Py_DECREF( tmp_called_name_6 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ALWAYS_SAFE_BYTES" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 739;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_left_name_1 = tmp_mvar_value_8;
    if ( par_safe == NULL )
    {
        Py_DECREF( tmp_called_name_6 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 739;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_right_name_1 = par_safe;
    tmp_args_element_name_5 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    if ( tmp_args_element_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_6 );

        exception_lineno = 739;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 739;
    {
        PyObject *call_args[] = { tmp_args_element_name_5 };
        tmp_operand_name_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_6, call_args );
    }

    Py_DECREF( tmp_called_name_6 );
    Py_DECREF( tmp_args_element_name_5 );
    if ( tmp_operand_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 739;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_3 );
    Py_DECREF( tmp_operand_name_3 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 739;
        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_called_instance_2;
    if ( par_bs == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "bs" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 740;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_2 = par_bs;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 740;
    tmp_return_value = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain_decode );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 740;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_5:;
    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_mvar_value_9;
    PyObject *tmp_subscript_name_1;
    tmp_mvar_value_9 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__safe_quoters );

    if (unlikely( tmp_mvar_value_9 == NULL ))
    {
        tmp_mvar_value_9 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__safe_quoters );
    }

    if ( tmp_mvar_value_9 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_safe_quoters" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 742;
        type_description_1 = "ooo";
        goto try_except_handler_4;
    }

    tmp_subscribed_name_1 = tmp_mvar_value_9;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 742;
        type_description_1 = "ooo";
        goto try_except_handler_4;
    }

    tmp_subscript_name_1 = par_safe;
    tmp_assign_source_9 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_assign_source_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 742;
        type_description_1 = "ooo";
        goto try_except_handler_4;
    }
    assert( var_quoter == NULL );
    var_quoter = tmp_assign_source_9;

    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_4:;
    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;

    {
    // Preserve existing published exception.
    exception_preserved_type_1 = EXC_TYPE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_type_1 );
    exception_preserved_value_1 = EXC_VALUE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_value_1 );
    exception_preserved_tb_1 = (PyTracebackObject *)EXC_TRACEBACK(PyThreadState_GET());
    Py_XINCREF( exception_preserved_tb_1 );

    }
    {
    if ( exception_keeper_tb_3 == NULL )
    {
        exception_keeper_tb_3 = MAKE_TRACEBACK( frame_bccb504ae865d93f37303a9a57dcc76b, exception_keeper_lineno_3 );
    }
    else if ( exception_keeper_lineno_3 != 0 )
    {
        exception_keeper_tb_3 = ADD_TRACEBACK( exception_keeper_tb_3, frame_bccb504ae865d93f37303a9a57dcc76b, exception_keeper_lineno_3 );
    }

    NORMALIZE_EXCEPTION( &exception_keeper_type_3, &exception_keeper_value_3, &exception_keeper_tb_3 );
    PyException_SetTraceback( exception_keeper_value_3, (PyObject *)exception_keeper_tb_3 );
    PUBLISH_EXCEPTION( &exception_keeper_type_3, &exception_keeper_value_3, &exception_keeper_tb_3 );
    }
    {
    // Tried code:
    {
    nuitka_bool tmp_condition_result_6;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    tmp_compexpr_left_2 = EXC_TYPE(PyThreadState_GET());
    tmp_compexpr_right_2 = PyExc_KeyError;
    tmp_res = EXCEPTION_MATCH_BOOL( 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 = 743;
        type_description_1 = "ooo";
        goto try_except_handler_5;
    }
    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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_source_name_2;
    PyObject *tmp_called_name_7;
    PyObject *tmp_mvar_value_10;
    PyObject *tmp_args_element_name_6;
    tmp_mvar_value_10 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_Quoter );

    if (unlikely( tmp_mvar_value_10 == NULL ))
    {
        tmp_mvar_value_10 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_Quoter );
    }

    if ( tmp_mvar_value_10 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "Quoter" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 744;
        type_description_1 = "ooo";
        goto try_except_handler_6;
    }

    tmp_called_name_7 = tmp_mvar_value_10;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 744;
        type_description_1 = "ooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_6 = par_safe;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 744;
    {
        PyObject *call_args[] = { tmp_args_element_name_6 };
        tmp_source_name_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_7, call_args );
    }

    if ( tmp_source_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 744;
        type_description_1 = "ooo";
        goto try_except_handler_6;
    }
    tmp_assign_source_10 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain___getitem__ );
    Py_DECREF( tmp_source_name_2 );
    if ( tmp_assign_source_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 744;
        type_description_1 = "ooo";
        goto try_except_handler_6;
    }
    assert( tmp_assign_unpack_1__assign_source == NULL );
    tmp_assign_unpack_1__assign_source = tmp_assign_source_10;

    }
    {
    PyObject *tmp_ass_subvalue_1;
    PyObject *tmp_ass_subscribed_1;
    PyObject *tmp_mvar_value_11;
    PyObject *tmp_ass_subscript_1;
    CHECK_OBJECT( tmp_assign_unpack_1__assign_source );
    tmp_ass_subvalue_1 = tmp_assign_unpack_1__assign_source;
    tmp_mvar_value_11 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__safe_quoters );

    if (unlikely( tmp_mvar_value_11 == NULL ))
    {
        tmp_mvar_value_11 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__safe_quoters );
    }

    if ( tmp_mvar_value_11 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_safe_quoters" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 744;
        type_description_1 = "ooo";
        goto try_except_handler_6;
    }

    tmp_ass_subscribed_1 = tmp_mvar_value_11;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 744;
        type_description_1 = "ooo";
        goto try_except_handler_6;
    }

    tmp_ass_subscript_1 = par_safe;
    tmp_result = SET_SUBSCRIPT( tmp_ass_subscribed_1, tmp_ass_subscript_1, tmp_ass_subvalue_1 );
    if ( tmp_result == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 744;
        type_description_1 = "ooo";
        goto try_except_handler_6;
    }
    }
    goto try_end_2;
    // Exception handler code:
    try_except_handler_6:;
    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_assign_unpack_1__assign_source );
    tmp_assign_unpack_1__assign_source = 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 try_except_handler_5;
    }
    // End of try:
    try_end_2:;
    }
    {
    PyObject *tmp_assign_source_11;
    CHECK_OBJECT( tmp_assign_unpack_1__assign_source );
    tmp_assign_source_11 = tmp_assign_unpack_1__assign_source;
    assert( var_quoter == NULL );
    Py_INCREF( tmp_assign_source_11 );
    var_quoter = tmp_assign_source_11;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_assign_unpack_1__assign_source );
    Py_DECREF( tmp_assign_unpack_1__assign_source );
    tmp_assign_unpack_1__assign_source = NULL;

    }
    goto branch_end_6;
    branch_no_6:;
    {
    tmp_result = RERAISE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
    if (unlikely( tmp_result == false ))
    {
        exception_lineno = 741;
    }

    if (exception_tb && exception_tb->tb_frame == &frame_bccb504ae865d93f37303a9a57dcc76b->m_frame) frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = exception_tb->tb_lineno;
    type_description_1 = "ooo";
    goto try_except_handler_5;
    }
    branch_end_6:;
    }
    goto try_end_3;
    // 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;

    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_1, exception_preserved_value_1, exception_preserved_tb_1 );
    }
    {
    // 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_3:;
    }
    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_1, exception_preserved_value_1, exception_preserved_tb_1 );
    }
    goto try_end_1;
    // exception handler codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_41_quote_from_bytes );
    return NULL;
    // End of try:
    try_end_1:;
    }
    {
    PyObject *tmp_called_name_8;
    PyObject *tmp_source_name_3;
    PyObject *tmp_called_name_9;
    PyObject *tmp_mvar_value_12;
    PyObject *tmp_args_element_name_7;
    tmp_mvar_value_12 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_12 == NULL ))
    {
        tmp_mvar_value_12 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_12 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 745;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_9 = tmp_mvar_value_12;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 745;
    tmp_source_name_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_9, &PyTuple_GET_ITEM( const_tuple_str_empty_tuple, 0 ) );

    if ( tmp_source_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 745;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_called_name_8 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_join );
    Py_DECREF( tmp_source_name_3 );
    if ( tmp_called_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 745;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_12;
    PyObject *tmp_iter_arg_2;
    if ( par_bs == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "free variable '%s' referenced before assignment in enclosing scope", "bs" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 745;
        type_description_1 = "ooo";
        goto try_except_handler_7;
    }

    tmp_iter_arg_2 = par_bs;
    tmp_assign_source_12 = MAKE_ITERATOR( tmp_iter_arg_2 );
    if ( tmp_assign_source_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 745;
        type_description_1 = "ooo";
        goto try_except_handler_7;
    }
    assert( tmp_listcomp_2__$0 == NULL );
    tmp_listcomp_2__$0 = tmp_assign_source_12;

    }
    {
    PyObject *tmp_assign_source_13;
    tmp_assign_source_13 = PyList_New( 0 );
    assert( tmp_listcomp_2__contraction == NULL );
    tmp_listcomp_2__contraction = tmp_assign_source_13;

    }
    MAKE_OR_REUSE_FRAME( cache_frame_dc31457802946034b1f8dff96ab19ee2_3, codeobj_dc31457802946034b1f8dff96ab19ee2, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *) );
    frame_dc31457802946034b1f8dff96ab19ee2_3 = cache_frame_dc31457802946034b1f8dff96ab19ee2_3;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_dc31457802946034b1f8dff96ab19ee2_3 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_dc31457802946034b1f8dff96ab19ee2_3 ) == 2 ); // Frame stack

    // Framed code:
    {
    // Tried code:
    {
    loop_start_2:;
    {
    PyObject *tmp_next_source_2;
    PyObject *tmp_assign_source_14;
    CHECK_OBJECT( tmp_listcomp_2__$0 );
    tmp_next_source_2 = tmp_listcomp_2__$0;
    tmp_assign_source_14 = ITERATOR_NEXT( tmp_next_source_2 );
    if ( tmp_assign_source_14 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_2;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_2 = "oo";
            exception_lineno = 745;
            goto try_except_handler_8;
        }
    }

    {
        PyObject *old = tmp_listcomp_2__iter_value_0;
        tmp_listcomp_2__iter_value_0 = tmp_assign_source_14;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_15;
    CHECK_OBJECT( tmp_listcomp_2__iter_value_0 );
    tmp_assign_source_15 = tmp_listcomp_2__iter_value_0;
    {
        PyObject *old = outline_1_var_char;
        outline_1_var_char = tmp_assign_source_15;
        Py_INCREF( outline_1_var_char );
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_append_list_2;
    PyObject *tmp_append_value_2;
    PyObject *tmp_called_name_10;
    PyObject *tmp_args_element_name_8;
    CHECK_OBJECT( tmp_listcomp_2__contraction );
    tmp_append_list_2 = tmp_listcomp_2__contraction;
    if ( var_quoter == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "free variable '%s' referenced before assignment in enclosing scope", "quoter" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 745;
        type_description_2 = "oo";
        goto try_except_handler_8;
    }

    tmp_called_name_10 = var_quoter;
    CHECK_OBJECT( outline_1_var_char );
    tmp_args_element_name_8 = outline_1_var_char;
    frame_dc31457802946034b1f8dff96ab19ee2_3->m_frame.f_lineno = 745;
    {
        PyObject *call_args[] = { tmp_args_element_name_8 };
        tmp_append_value_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_10, call_args );
    }

    if ( tmp_append_value_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 745;
        type_description_2 = "oo";
        goto try_except_handler_8;
    }
    assert( PyList_Check( tmp_append_list_2 ) );
    tmp_res = PyList_Append( tmp_append_list_2, tmp_append_value_2 );
    Py_DECREF( tmp_append_value_2 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 745;
        type_description_2 = "oo";
        goto try_except_handler_8;
    }
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 745;
        type_description_2 = "oo";
        goto try_except_handler_8;
    }
    goto loop_start_2;
    loop_end_2:;
    }
    {
    CHECK_OBJECT( tmp_listcomp_2__contraction );
    tmp_args_element_name_7 = tmp_listcomp_2__contraction;
    Py_INCREF( tmp_args_element_name_7 );
    goto try_return_handler_8;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_41_quote_from_bytes );
    return NULL;
    // Return handler code:
    try_return_handler_8:;
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_2__$0 );
    Py_DECREF( tmp_listcomp_2__$0 );
    tmp_listcomp_2__$0 = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_2__contraction );
    Py_DECREF( tmp_listcomp_2__contraction );
    tmp_listcomp_2__contraction = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_2__iter_value_0 );
    tmp_listcomp_2__iter_value_0 = NULL;

    }
    {
    goto frame_return_exit_3;
    }
    // Exception handler code:
    try_except_handler_8:;
    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_listcomp_2__$0 );
    Py_DECREF( tmp_listcomp_2__$0 );
    tmp_listcomp_2__$0 = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_listcomp_2__contraction );
    Py_DECREF( tmp_listcomp_2__contraction );
    tmp_listcomp_2__contraction = NULL;

    }
    {
    Py_XDECREF( tmp_listcomp_2__iter_value_0 );
    tmp_listcomp_2__iter_value_0 = 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_3;
    }
    // End of try:
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_dc31457802946034b1f8dff96ab19ee2_3 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_2;

    frame_return_exit_3:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_dc31457802946034b1f8dff96ab19ee2_3 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_7;

    frame_exception_exit_3:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_dc31457802946034b1f8dff96ab19ee2_3 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_dc31457802946034b1f8dff96ab19ee2_3, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_dc31457802946034b1f8dff96ab19ee2_3->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_dc31457802946034b1f8dff96ab19ee2_3, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_dc31457802946034b1f8dff96ab19ee2_3,
        type_description_2,
        outline_1_var_char,
        var_quoter
    );


    // Release cached frame.
    if ( frame_dc31457802946034b1f8dff96ab19ee2_3 == cache_frame_dc31457802946034b1f8dff96ab19ee2_3 )
    {
        Py_DECREF( frame_dc31457802946034b1f8dff96ab19ee2_3 );
    }
    cache_frame_dc31457802946034b1f8dff96ab19ee2_3 = NULL;

    assertFrameObject( frame_dc31457802946034b1f8dff96ab19ee2_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:;
    type_description_1 = "ooo";
    goto try_except_handler_7;
    skip_nested_handling_2:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_41_quote_from_bytes );
    return NULL;
    // Return handler code:
    try_return_handler_7:;
    {
    Py_XDECREF( outline_1_var_char );
    outline_1_var_char = NULL;

    }
    {
    goto outline_result_2;
    }
    // Exception handler code:
    try_except_handler_7:;
    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_XDECREF( outline_1_var_char );
    outline_1_var_char = 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 outline_exception_2;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_41_quote_from_bytes );
    return NULL;
    outline_exception_2:;
    exception_lineno = 745;
    goto frame_exception_exit_1;
    outline_result_2:;
    frame_bccb504ae865d93f37303a9a57dcc76b->m_frame.f_lineno = 745;
    {
        PyObject *call_args[] = { tmp_args_element_name_7 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_8, call_args );
    }

    Py_DECREF( tmp_called_name_8 );
    Py_DECREF( tmp_args_element_name_7 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 745;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_bccb504ae865d93f37303a9a57dcc76b );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_3;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_bccb504ae865d93f37303a9a57dcc76b );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_bccb504ae865d93f37303a9a57dcc76b );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_bccb504ae865d93f37303a9a57dcc76b, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_bccb504ae865d93f37303a9a57dcc76b->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_bccb504ae865d93f37303a9a57dcc76b, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_bccb504ae865d93f37303a9a57dcc76b,
        type_description_1,
        par_bs,
        par_safe,
        var_quoter
    );


    // Release cached frame.
    if ( frame_bccb504ae865d93f37303a9a57dcc76b == cache_frame_bccb504ae865d93f37303a9a57dcc76b )
    {
        Py_DECREF( frame_bccb504ae865d93f37303a9a57dcc76b );
    }
    cache_frame_bccb504ae865d93f37303a9a57dcc76b = NULL;

    assertFrameObject( frame_bccb504ae865d93f37303a9a57dcc76b );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_3:;
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_41_quote_from_bytes );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_bs );
    par_bs = NULL;

    }
    {
    Py_XDECREF( par_safe );
    par_safe = NULL;

    }
    {
    Py_XDECREF( var_quoter );
    var_quoter = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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;

    {
    Py_XDECREF( par_bs );
    par_bs = NULL;

    }
    {
    Py_XDECREF( par_safe );
    par_safe = NULL;

    }
    {
    Py_XDECREF( var_quoter );
    var_quoter = NULL;

    }
    {
    // 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_41_quote_from_bytes );
    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_future$backports$urllib$parse$$$function_42_urlencode( 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_query = python_pars[ 0 ];
    PyObject *par_doseq = python_pars[ 1 ];
    PyObject *par_safe = python_pars[ 2 ];
    PyObject *par_encoding = python_pars[ 3 ];
    PyObject *par_errors = python_pars[ 4 ];
    PyObject *var_ty = NULL;
    PyObject *var_va = NULL;
    PyObject *var_tb = NULL;
    PyObject *var_l = NULL;
    PyObject *var_k = NULL;
    PyObject *var_v = NULL;
    PyObject *var_x = NULL;
    PyObject *var_elt = NULL;
    PyObject *tmp_for_loop_1__for_iterator = NULL;
    PyObject *tmp_for_loop_1__iter_value = NULL;
    PyObject *tmp_for_loop_2__for_iterator = NULL;
    PyObject *tmp_for_loop_2__iter_value = NULL;
    PyObject *tmp_for_loop_3__for_iterator = NULL;
    PyObject *tmp_for_loop_3__iter_value = NULL;
    PyObject *tmp_try_except_1__unhandled_indicator = NULL;
    PyObject *tmp_tuple_unpack_1__element_1 = NULL;
    PyObject *tmp_tuple_unpack_1__element_2 = NULL;
    PyObject *tmp_tuple_unpack_1__element_3 = 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;
    PyObject *tmp_tuple_unpack_3__element_1 = NULL;
    PyObject *tmp_tuple_unpack_3__element_2 = NULL;
    PyObject *tmp_tuple_unpack_3__source_iter = NULL;
    struct Nuitka_FrameObject *frame_a1976b580ff3753fd9edd7e5b4d9b43a;
    NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
    int tmp_res;
    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_preserved_type_1;
    PyObject *exception_preserved_value_1;
    PyTracebackObject *exception_preserved_tb_1;
    PyObject *tmp_iterator_attempt;
    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;
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    bool tmp_result;
    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;
    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 *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_preserved_type_2;
    PyObject *exception_preserved_value_2;
    PyTracebackObject *exception_preserved_tb_2;
    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 *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 *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_a1976b580ff3753fd9edd7e5b4d9b43a = NULL;
    PyObject *exception_keeper_type_15;
    PyObject *exception_keeper_value_15;
    PyTracebackObject *exception_keeper_tb_15;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_15;

    // Actual function code.
    {
    // Tried code:
    MAKE_OR_REUSE_FRAME( cache_frame_a1976b580ff3753fd9edd7e5b4d9b43a, codeobj_a1976b580ff3753fd9edd7e5b4d9b43a, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_a1976b580ff3753fd9edd7e5b4d9b43a = cache_frame_a1976b580ff3753fd9edd7e5b4d9b43a;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_a1976b580ff3753fd9edd7e5b4d9b43a );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_a1976b580ff3753fd9edd7e5b4d9b43a ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_attribute_name_1;
    CHECK_OBJECT( par_query );
    tmp_source_name_1 = par_query;
    tmp_attribute_name_1 = const_str_plain_items;
    tmp_res = BUILTIN_HASATTR_BOOL( tmp_source_name_1, tmp_attribute_name_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 762;
        type_description_1 = "ooooooooooooo";
        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_called_instance_1;
    CHECK_OBJECT( par_query );
    tmp_called_instance_1 = par_query;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 763;
    tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_items );
    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 763;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_query;
        par_query = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    goto branch_end_1;
    branch_no_1:;
    {
    // Tried code:
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_and_left_truth_1;
    nuitka_bool tmp_and_left_value_1;
    nuitka_bool tmp_and_right_value_1;
    PyObject *tmp_len_arg_1;
    PyObject *tmp_capi_result_1;
    int tmp_truth_name_1;
    PyObject *tmp_operand_name_1;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    CHECK_OBJECT( par_query );
    tmp_len_arg_1 = par_query;
    tmp_capi_result_1 = BUILTIN_LEN( tmp_len_arg_1 );
    if ( tmp_capi_result_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 770;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_2;
    }
    tmp_truth_name_1 = CHECK_IF_TRUE( tmp_capi_result_1 );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_capi_result_1 );

        exception_lineno = 770;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_2;
    }
    tmp_and_left_value_1 = tmp_truth_name_1 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    Py_DECREF( tmp_capi_result_1 );
    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_query == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "query" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 770;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_2;
    }

    tmp_subscribed_name_1 = par_query;
    tmp_subscript_name_1 = const_int_0;
    tmp_isinstance_inst_1 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 0 );
    if ( tmp_isinstance_inst_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 770;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_2;
    }
    tmp_isinstance_cls_1 = (PyObject *)&PyTuple_Type;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_1, tmp_isinstance_cls_1 );
    Py_DECREF( tmp_isinstance_inst_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 770;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_2;
    }
    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 = 770;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_2;
    }
    tmp_and_right_value_1 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    tmp_condition_result_2 = tmp_and_right_value_1;
    goto and_end_1;
    and_left_1:;
    tmp_condition_result_2 = tmp_and_left_value_1;
    and_end_1:;
    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;
    tmp_raise_type_1 = PyExc_TypeError;
    exception_type = tmp_raise_type_1;
    Py_INCREF( tmp_raise_type_1 );
    exception_lineno = 771;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "ooooooooooooo";
    goto try_except_handler_2;
    }
    branch_no_2:;
    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    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;

    {
    // Preserve existing published exception.
    exception_preserved_type_1 = EXC_TYPE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_type_1 );
    exception_preserved_value_1 = EXC_VALUE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_value_1 );
    exception_preserved_tb_1 = (PyTracebackObject *)EXC_TRACEBACK(PyThreadState_GET());
    Py_XINCREF( exception_preserved_tb_1 );

    }
    {
    if ( exception_keeper_tb_1 == NULL )
    {
        exception_keeper_tb_1 = MAKE_TRACEBACK( frame_a1976b580ff3753fd9edd7e5b4d9b43a, exception_keeper_lineno_1 );
    }
    else if ( exception_keeper_lineno_1 != 0 )
    {
        exception_keeper_tb_1 = ADD_TRACEBACK( exception_keeper_tb_1, frame_a1976b580ff3753fd9edd7e5b4d9b43a, exception_keeper_lineno_1 );
    }

    NORMALIZE_EXCEPTION( &exception_keeper_type_1, &exception_keeper_value_1, &exception_keeper_tb_1 );
    PyException_SetTraceback( exception_keeper_value_1, (PyObject *)exception_keeper_tb_1 );
    PUBLISH_EXCEPTION( &exception_keeper_type_1, &exception_keeper_value_1, &exception_keeper_tb_1 );
    }
    {
    // Tried code:
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    tmp_compexpr_left_1 = EXC_TYPE(PyThreadState_GET());
    tmp_compexpr_right_1 = PyExc_TypeError;
    tmp_res = EXCEPTION_MATCH_BOOL( 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 = 776;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_3;
    }
    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_2;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_instance_2;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_sys );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_sys );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "sys" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 777;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_4;
    }

    tmp_called_instance_2 = tmp_mvar_value_1;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 777;
    tmp_iter_arg_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain_exc_info );
    if ( tmp_iter_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 777;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_4;
    }
    tmp_assign_source_2 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 777;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_4;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_2;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_3 = UNPACK_NEXT( tmp_unpack_1, 0, 3 );
    if ( tmp_assign_source_3 == 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 = "ooooooooooooo";
        exception_lineno = 777;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_3;

    }
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_4 = UNPACK_NEXT( tmp_unpack_2, 1, 3 );
    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 = "ooooooooooooo";
        exception_lineno = 777;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_3;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_3 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_3, 2, 3 );
    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 = "ooooooooooooo";
        exception_lineno = 777;
        goto try_except_handler_5;
    }
    assert( tmp_tuple_unpack_1__element_3 == NULL );
    tmp_tuple_unpack_1__element_3 = 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 = "ooooooooooooo";
                exception_lineno = 777;
                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 3)" );
#endif
        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );

        type_description_1 = "ooooooooooooo";
        exception_lineno = 777;
        goto try_except_handler_5;
    }
    }
    goto try_end_2;
    // Exception handler code:
    try_except_handler_5:;
    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_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_2;
    exception_value = exception_keeper_value_2;
    exception_tb = exception_keeper_tb_2;
    exception_lineno = exception_keeper_lineno_2;

    goto try_except_handler_4;
    }
    // End of try:
    try_end_2:;
    }
    goto try_end_3;
    // Exception handler code:
    try_except_handler_4:;
    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( 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;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = 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_3;
    }
    // End of try:
    try_end_3:;
    }
    {
    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_ty == NULL );
    Py_INCREF( tmp_assign_source_6 );
    var_ty = 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_va == NULL );
    Py_INCREF( tmp_assign_source_7 );
    var_va = tmp_assign_source_7;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_3 );
    tmp_assign_source_8 = tmp_tuple_unpack_1__element_3;
    assert( var_tb == NULL );
    Py_INCREF( tmp_assign_source_8 );
    var_tb = tmp_assign_source_8;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_3 );
    tmp_tuple_unpack_1__element_3 = NULL;

    }
    {
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_make_exception_arg_1;
    PyObject *tmp_args_element_name_2;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_raise_with_traceback );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_raise_with_traceback );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "raise_with_traceback" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 778;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_3;
    }

    tmp_called_name_1 = tmp_mvar_value_2;
    tmp_make_exception_arg_1 = const_str_digest_aa5317ebc1428348a6fb43234bed89ae;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 778;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_args_element_name_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_TypeError, call_args );
    }

    assert( !(tmp_args_element_name_1 == NULL) );
    if ( var_tb == 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", "tb" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 779;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_3;
    }

    tmp_args_element_name_2 = var_tb;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 778;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_args_element_name_1 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 778;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_3;
    }
    Py_DECREF( tmp_unused );
    }
    goto branch_end_3;
    branch_no_3:;
    {
    tmp_result = RERAISE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
    if (unlikely( tmp_result == false ))
    {
        exception_lineno = 767;
    }

    if (exception_tb && exception_tb->tb_frame == &frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame) frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = exception_tb->tb_lineno;
    type_description_1 = "ooooooooooooo";
    goto try_except_handler_3;
    }
    branch_end_3:;
    }
    goto try_end_4;
    // Exception handler code:
    try_except_handler_3:;
    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;

    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_1, exception_preserved_value_1, exception_preserved_tb_1 );
    }
    {
    // 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:;
    }
    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_1, exception_preserved_value_1, exception_preserved_tb_1 );
    }
    goto try_end_1;
    // exception handler codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_42_urlencode );
    return NULL;
    // End of try:
    try_end_1:;
    }
    branch_end_1:;
    }
    {
    PyObject *tmp_assign_source_9;
    tmp_assign_source_9 = PyList_New( 0 );
    assert( var_l == NULL );
    var_l = tmp_assign_source_9;

    }
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_operand_name_2;
    if ( par_doseq == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "doseq" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 782;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_operand_name_2 = par_doseq;
    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 = 782;
        type_description_1 = "ooooooooooooo";
        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_10;
    PyObject *tmp_iter_arg_2;
    if ( par_query == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "query" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 783;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_iter_arg_2 = par_query;
    tmp_assign_source_10 = MAKE_ITERATOR( tmp_iter_arg_2 );
    if ( tmp_assign_source_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 783;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_for_loop_1__for_iterator == NULL );
    tmp_for_loop_1__for_iterator = tmp_assign_source_10;

    }
    {
    // Tried code:
    {
    loop_start_1:;
    {
    PyObject *tmp_next_source_1;
    PyObject *tmp_assign_source_11;
    CHECK_OBJECT( tmp_for_loop_1__for_iterator );
    tmp_next_source_1 = tmp_for_loop_1__for_iterator;
    tmp_assign_source_11 = ITERATOR_NEXT( tmp_next_source_1 );
    if ( tmp_assign_source_11 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_1;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "ooooooooooooo";
            exception_lineno = 783;
            goto try_except_handler_6;
        }
    }

    {
        PyObject *old = tmp_for_loop_1__iter_value;
        tmp_for_loop_1__iter_value = tmp_assign_source_11;
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_12;
    PyObject *tmp_iter_arg_3;
    CHECK_OBJECT( tmp_for_loop_1__iter_value );
    tmp_iter_arg_3 = tmp_for_loop_1__iter_value;
    tmp_assign_source_12 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_3 );
    if ( tmp_assign_source_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 783;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_7;
    }
    {
        PyObject *old = tmp_tuple_unpack_2__source_iter;
        tmp_tuple_unpack_2__source_iter = tmp_assign_source_12;
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_13;
    PyObject *tmp_unpack_4;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_4 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_13 = UNPACK_NEXT( tmp_unpack_4, 0, 2 );
    if ( tmp_assign_source_13 == 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 = "ooooooooooooo";
        exception_lineno = 783;
        goto try_except_handler_8;
    }
    {
        PyObject *old = tmp_tuple_unpack_2__element_1;
        tmp_tuple_unpack_2__element_1 = tmp_assign_source_13;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_unpack_5;
    CHECK_OBJECT( tmp_tuple_unpack_2__source_iter );
    tmp_unpack_5 = tmp_tuple_unpack_2__source_iter;
    tmp_assign_source_14 = UNPACK_NEXT( tmp_unpack_5, 1, 2 );
    if ( tmp_assign_source_14 == 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 = "ooooooooooooo";
        exception_lineno = 783;
        goto try_except_handler_8;
    }
    {
        PyObject *old = tmp_tuple_unpack_2__element_2;
        tmp_tuple_unpack_2__element_2 = tmp_assign_source_14;
        Py_XDECREF( old );
    }

    }
    {
    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 = "ooooooooooooo";
                exception_lineno = 783;
                goto try_except_handler_8;
            }
        }
    }
    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 = "ooooooooooooo";
        exception_lineno = 783;
        goto try_except_handler_8;
    }
    }
    goto try_end_5;
    // Exception handler code:
    try_except_handler_8:;
    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_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_5;
    exception_value = exception_keeper_value_5;
    exception_tb = exception_keeper_tb_5;
    exception_lineno = exception_keeper_lineno_5;

    goto try_except_handler_7;
    }
    // End of try:
    try_end_5:;
    }
    goto try_end_6;
    // Exception handler code:
    try_except_handler_7:;
    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;

    {
    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_6;
    exception_value = exception_keeper_value_6;
    exception_tb = exception_keeper_tb_6;
    exception_lineno = exception_keeper_lineno_6;

    goto try_except_handler_6;
    }
    // End of try:
    try_end_6:;
    }
    {
    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_15;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_1 );
    tmp_assign_source_15 = tmp_tuple_unpack_2__element_1;
    {
        PyObject *old = var_k;
        var_k = tmp_assign_source_15;
        Py_INCREF( var_k );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_1 );
    tmp_tuple_unpack_2__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_16;
    CHECK_OBJECT( tmp_tuple_unpack_2__element_2 );
    tmp_assign_source_16 = tmp_tuple_unpack_2__element_2;
    {
        PyObject *old = var_v;
        var_v = tmp_assign_source_16;
        Py_INCREF( var_v );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_2__element_2 );
    tmp_tuple_unpack_2__element_2 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_5;
    PyObject *tmp_isinstance_inst_2;
    PyObject *tmp_isinstance_cls_2;
    PyObject *tmp_mvar_value_3;
    if ( var_k == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 784;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_isinstance_inst_2 = var_k;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 784;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_isinstance_cls_2 = tmp_mvar_value_3;
    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 = 784;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    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_17;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_4;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_args_element_name_4;
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_4 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 785;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_2 = tmp_mvar_value_4;
    if ( var_k == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 785;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_3 = var_k;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 785;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_4 = par_safe;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 785;
    {
        PyObject *call_args[] = { tmp_args_element_name_3, tmp_args_element_name_4 };
        tmp_assign_source_17 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_2, call_args );
    }

    if ( tmp_assign_source_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 785;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_k;
        var_k = tmp_assign_source_17;
        Py_XDECREF( old );
    }

    }
    goto branch_end_5;
    branch_no_5:;
    {
    PyObject *tmp_assign_source_18;
    PyObject *tmp_called_name_3;
    PyObject *tmp_mvar_value_5;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_called_name_4;
    PyObject *tmp_mvar_value_6;
    PyObject *tmp_args_element_name_6;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_args_element_name_8;
    PyObject *tmp_args_element_name_9;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 787;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_3 = tmp_mvar_value_5;
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_6 == NULL ))
    {
        tmp_mvar_value_6 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_6 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 787;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_4 = tmp_mvar_value_6;
    if ( var_k == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 787;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_6 = var_k;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 787;
    {
        PyObject *call_args[] = { tmp_args_element_name_6 };
        tmp_args_element_name_5 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_4, call_args );
    }

    if ( tmp_args_element_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 787;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    if ( par_safe == 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", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 787;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_7 = par_safe;
    if ( par_encoding == 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", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 787;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_8 = par_encoding;
    if ( par_errors == 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", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 787;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_9 = par_errors;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 787;
    {
        PyObject *call_args[] = { tmp_args_element_name_5, tmp_args_element_name_7, tmp_args_element_name_8, tmp_args_element_name_9 };
        tmp_assign_source_18 = CALL_FUNCTION_WITH_ARGS4( tmp_called_name_3, call_args );
    }

    Py_DECREF( tmp_args_element_name_5 );
    if ( tmp_assign_source_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 787;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_k;
        var_k = tmp_assign_source_18;
        Py_XDECREF( old );
    }

    }
    branch_end_5:;
    }
    {
    nuitka_bool tmp_condition_result_6;
    PyObject *tmp_isinstance_inst_3;
    PyObject *tmp_isinstance_cls_3;
    PyObject *tmp_mvar_value_7;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 789;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_isinstance_inst_3 = var_v;
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_7 == NULL ))
    {
        tmp_mvar_value_7 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_7 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 789;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_isinstance_cls_3 = tmp_mvar_value_7;
    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 = 789;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    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_19;
    PyObject *tmp_called_name_5;
    PyObject *tmp_mvar_value_8;
    PyObject *tmp_args_element_name_10;
    PyObject *tmp_args_element_name_11;
    tmp_mvar_value_8 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_8 == NULL ))
    {
        tmp_mvar_value_8 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_8 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 790;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_5 = tmp_mvar_value_8;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 790;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_10 = var_v;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 790;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_11 = par_safe;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 790;
    {
        PyObject *call_args[] = { tmp_args_element_name_10, tmp_args_element_name_11 };
        tmp_assign_source_19 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_5, call_args );
    }

    if ( tmp_assign_source_19 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 790;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_v;
        var_v = tmp_assign_source_19;
        Py_XDECREF( old );
    }

    }
    goto branch_end_6;
    branch_no_6:;
    {
    PyObject *tmp_assign_source_20;
    PyObject *tmp_called_name_6;
    PyObject *tmp_mvar_value_9;
    PyObject *tmp_args_element_name_12;
    PyObject *tmp_called_name_7;
    PyObject *tmp_mvar_value_10;
    PyObject *tmp_args_element_name_13;
    PyObject *tmp_args_element_name_14;
    PyObject *tmp_args_element_name_15;
    PyObject *tmp_args_element_name_16;
    tmp_mvar_value_9 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_9 == NULL ))
    {
        tmp_mvar_value_9 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_9 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 792;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_6 = tmp_mvar_value_9;
    tmp_mvar_value_10 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_10 == NULL ))
    {
        tmp_mvar_value_10 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_10 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 792;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_called_name_7 = tmp_mvar_value_10;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 792;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_13 = var_v;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 792;
    {
        PyObject *call_args[] = { tmp_args_element_name_13 };
        tmp_args_element_name_12 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_7, call_args );
    }

    if ( tmp_args_element_name_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 792;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    if ( par_safe == NULL )
    {
        Py_DECREF( tmp_args_element_name_12 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 792;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_14 = par_safe;
    if ( par_encoding == NULL )
    {
        Py_DECREF( tmp_args_element_name_12 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 792;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_15 = par_encoding;
    if ( par_errors == NULL )
    {
        Py_DECREF( tmp_args_element_name_12 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 792;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_args_element_name_16 = par_errors;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 792;
    {
        PyObject *call_args[] = { tmp_args_element_name_12, tmp_args_element_name_14, tmp_args_element_name_15, tmp_args_element_name_16 };
        tmp_assign_source_20 = CALL_FUNCTION_WITH_ARGS4( tmp_called_name_6, call_args );
    }

    Py_DECREF( tmp_args_element_name_12 );
    if ( tmp_assign_source_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 792;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    {
        PyObject *old = var_v;
        var_v = tmp_assign_source_20;
        Py_XDECREF( old );
    }

    }
    branch_end_6:;
    }
    {
    PyObject *tmp_called_name_8;
    PyObject *tmp_source_name_2;
    PyObject *tmp_args_element_name_17;
    PyObject *tmp_left_name_1;
    PyObject *tmp_left_name_2;
    PyObject *tmp_right_name_1;
    PyObject *tmp_right_name_2;
    if ( var_l == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "l" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 793;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_source_name_2 = var_l;
    tmp_called_name_8 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_append );
    if ( tmp_called_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 793;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    if ( var_k == NULL )
    {
        Py_DECREF( tmp_called_name_8 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 793;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_left_name_2 = var_k;
    tmp_right_name_1 = const_str_chr_61;
    tmp_left_name_1 = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_1 );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_8 );

        exception_lineno = 793;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    if ( var_v == NULL )
    {
        Py_DECREF( tmp_called_name_8 );
        Py_DECREF( tmp_left_name_1 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 793;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }

    tmp_right_name_2 = var_v;
    tmp_args_element_name_17 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_2 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_args_element_name_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_8 );

        exception_lineno = 793;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 793;
    {
        PyObject *call_args[] = { tmp_args_element_name_17 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_8, call_args );
    }

    Py_DECREF( tmp_called_name_8 );
    Py_DECREF( tmp_args_element_name_17 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 793;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    Py_DECREF( tmp_unused );
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 783;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_6;
    }
    goto loop_start_1;
    loop_end_1:;
    }
    goto try_end_7;
    // Exception handler code:
    try_except_handler_6:;
    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_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_7:;
    }
    {
    Py_XDECREF( tmp_for_loop_1__iter_value );
    tmp_for_loop_1__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
    Py_DECREF( tmp_for_loop_1__for_iterator );
    tmp_for_loop_1__for_iterator = NULL;

    }
    goto branch_end_4;
    branch_no_4:;
    {
    PyObject *tmp_assign_source_21;
    PyObject *tmp_iter_arg_4;
    if ( par_query == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "query" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 795;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_iter_arg_4 = par_query;
    tmp_assign_source_21 = MAKE_ITERATOR( tmp_iter_arg_4 );
    if ( tmp_assign_source_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 795;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    assert( tmp_for_loop_2__for_iterator == NULL );
    tmp_for_loop_2__for_iterator = tmp_assign_source_21;

    }
    {
    // Tried code:
    {
    loop_start_2:;
    {
    PyObject *tmp_next_source_2;
    PyObject *tmp_assign_source_22;
    CHECK_OBJECT( tmp_for_loop_2__for_iterator );
    tmp_next_source_2 = tmp_for_loop_2__for_iterator;
    tmp_assign_source_22 = ITERATOR_NEXT( tmp_next_source_2 );
    if ( tmp_assign_source_22 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_2;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "ooooooooooooo";
            exception_lineno = 795;
            goto try_except_handler_9;
        }
    }

    {
        PyObject *old = tmp_for_loop_2__iter_value;
        tmp_for_loop_2__iter_value = tmp_assign_source_22;
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_23;
    PyObject *tmp_iter_arg_5;
    CHECK_OBJECT( tmp_for_loop_2__iter_value );
    tmp_iter_arg_5 = tmp_for_loop_2__iter_value;
    tmp_assign_source_23 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_5 );
    if ( tmp_assign_source_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 795;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_10;
    }
    {
        PyObject *old = tmp_tuple_unpack_3__source_iter;
        tmp_tuple_unpack_3__source_iter = tmp_assign_source_23;
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_24;
    PyObject *tmp_unpack_6;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_6 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_24 = UNPACK_NEXT( tmp_unpack_6, 0, 2 );
    if ( tmp_assign_source_24 == 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 = "ooooooooooooo";
        exception_lineno = 795;
        goto try_except_handler_11;
    }
    {
        PyObject *old = tmp_tuple_unpack_3__element_1;
        tmp_tuple_unpack_3__element_1 = tmp_assign_source_24;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_25;
    PyObject *tmp_unpack_7;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_unpack_7 = tmp_tuple_unpack_3__source_iter;
    tmp_assign_source_25 = UNPACK_NEXT( tmp_unpack_7, 1, 2 );
    if ( tmp_assign_source_25 == 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 = "ooooooooooooo";
        exception_lineno = 795;
        goto try_except_handler_11;
    }
    {
        PyObject *old = tmp_tuple_unpack_3__element_2;
        tmp_tuple_unpack_3__element_2 = tmp_assign_source_25;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_iterator_name_3;
    CHECK_OBJECT( tmp_tuple_unpack_3__source_iter );
    tmp_iterator_name_3 = tmp_tuple_unpack_3__source_iter;
    // Check if iterator has left-over elements.
    CHECK_OBJECT( tmp_iterator_name_3 ); assert( HAS_ITERNEXT( tmp_iterator_name_3 ) );

    tmp_iterator_attempt = (*Py_TYPE( tmp_iterator_name_3 )->tp_iternext)( tmp_iterator_name_3 );

    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 = "ooooooooooooo";
                exception_lineno = 795;
                goto try_except_handler_11;
            }
        }
    }
    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 = "ooooooooooooo";
        exception_lineno = 795;
        goto try_except_handler_11;
    }
    }
    goto try_end_8;
    // Exception handler code:
    try_except_handler_11:;
    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;

    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = NULL;

    }
    {
    // 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 try_except_handler_10;
    }
    // End of try:
    try_end_8:;
    }
    goto try_end_9;
    // Exception handler code:
    try_except_handler_10:;
    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_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = 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 try_except_handler_9;
    }
    // End of try:
    try_end_9:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_tuple_unpack_3__source_iter );
    Py_DECREF( tmp_tuple_unpack_3__source_iter );
    tmp_tuple_unpack_3__source_iter = NULL;

    }
    {
    PyObject *tmp_assign_source_26;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_1 );
    tmp_assign_source_26 = tmp_tuple_unpack_3__element_1;
    {
        PyObject *old = var_k;
        var_k = tmp_assign_source_26;
        Py_INCREF( var_k );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_1 );
    tmp_tuple_unpack_3__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_27;
    CHECK_OBJECT( tmp_tuple_unpack_3__element_2 );
    tmp_assign_source_27 = tmp_tuple_unpack_3__element_2;
    {
        PyObject *old = var_v;
        var_v = tmp_assign_source_27;
        Py_INCREF( var_v );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_3__element_2 );
    tmp_tuple_unpack_3__element_2 = NULL;

    }
    {
    nuitka_bool tmp_condition_result_7;
    PyObject *tmp_isinstance_inst_4;
    PyObject *tmp_isinstance_cls_4;
    PyObject *tmp_mvar_value_11;
    if ( var_k == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 796;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_isinstance_inst_4 = var_k;
    tmp_mvar_value_11 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_11 == NULL ))
    {
        tmp_mvar_value_11 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_11 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 796;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_isinstance_cls_4 = tmp_mvar_value_11;
    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 = 796;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    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_28;
    PyObject *tmp_called_name_9;
    PyObject *tmp_mvar_value_12;
    PyObject *tmp_args_element_name_18;
    PyObject *tmp_args_element_name_19;
    tmp_mvar_value_12 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_12 == NULL ))
    {
        tmp_mvar_value_12 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_12 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 797;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_called_name_9 = tmp_mvar_value_12;
    if ( var_k == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 797;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_18 = var_k;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 797;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_19 = par_safe;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 797;
    {
        PyObject *call_args[] = { tmp_args_element_name_18, tmp_args_element_name_19 };
        tmp_assign_source_28 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_9, call_args );
    }

    if ( tmp_assign_source_28 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 797;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    {
        PyObject *old = var_k;
        var_k = tmp_assign_source_28;
        Py_XDECREF( old );
    }

    }
    goto branch_end_7;
    branch_no_7:;
    {
    PyObject *tmp_assign_source_29;
    PyObject *tmp_called_name_10;
    PyObject *tmp_mvar_value_13;
    PyObject *tmp_args_element_name_20;
    PyObject *tmp_called_name_11;
    PyObject *tmp_mvar_value_14;
    PyObject *tmp_args_element_name_21;
    PyObject *tmp_args_element_name_22;
    PyObject *tmp_args_element_name_23;
    PyObject *tmp_args_element_name_24;
    tmp_mvar_value_13 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_13 == NULL ))
    {
        tmp_mvar_value_13 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_13 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 799;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_called_name_10 = tmp_mvar_value_13;
    tmp_mvar_value_14 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_14 == NULL ))
    {
        tmp_mvar_value_14 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_14 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 799;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_called_name_11 = tmp_mvar_value_14;
    if ( var_k == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 799;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_21 = var_k;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 799;
    {
        PyObject *call_args[] = { tmp_args_element_name_21 };
        tmp_args_element_name_20 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_11, call_args );
    }

    if ( tmp_args_element_name_20 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 799;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    if ( par_safe == NULL )
    {
        Py_DECREF( tmp_args_element_name_20 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 799;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_22 = par_safe;
    if ( par_encoding == NULL )
    {
        Py_DECREF( tmp_args_element_name_20 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 799;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_23 = par_encoding;
    if ( par_errors == NULL )
    {
        Py_DECREF( tmp_args_element_name_20 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 799;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_24 = par_errors;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 799;
    {
        PyObject *call_args[] = { tmp_args_element_name_20, tmp_args_element_name_22, tmp_args_element_name_23, tmp_args_element_name_24 };
        tmp_assign_source_29 = CALL_FUNCTION_WITH_ARGS4( tmp_called_name_10, call_args );
    }

    Py_DECREF( tmp_args_element_name_20 );
    if ( tmp_assign_source_29 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 799;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    {
        PyObject *old = var_k;
        var_k = tmp_assign_source_29;
        Py_XDECREF( old );
    }

    }
    branch_end_7:;
    }
    {
    nuitka_bool tmp_condition_result_8;
    PyObject *tmp_isinstance_inst_5;
    PyObject *tmp_isinstance_cls_5;
    PyObject *tmp_mvar_value_15;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 801;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_isinstance_inst_5 = var_v;
    tmp_mvar_value_15 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_15 == NULL ))
    {
        tmp_mvar_value_15 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_15 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 801;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_isinstance_cls_5 = tmp_mvar_value_15;
    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 = 801;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    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_30;
    PyObject *tmp_called_name_12;
    PyObject *tmp_mvar_value_16;
    PyObject *tmp_args_element_name_25;
    PyObject *tmp_args_element_name_26;
    tmp_mvar_value_16 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_16 == NULL ))
    {
        tmp_mvar_value_16 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_16 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 802;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_called_name_12 = tmp_mvar_value_16;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 802;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_25 = var_v;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 802;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_26 = par_safe;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 802;
    {
        PyObject *call_args[] = { tmp_args_element_name_25, tmp_args_element_name_26 };
        tmp_assign_source_30 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_12, call_args );
    }

    if ( tmp_assign_source_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 802;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    {
        PyObject *old = var_v;
        var_v = tmp_assign_source_30;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_called_name_13;
    PyObject *tmp_source_name_3;
    PyObject *tmp_args_element_name_27;
    PyObject *tmp_left_name_3;
    PyObject *tmp_left_name_4;
    PyObject *tmp_right_name_3;
    PyObject *tmp_right_name_4;
    if ( var_l == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "l" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 803;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_source_name_3 = var_l;
    tmp_called_name_13 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_append );
    if ( tmp_called_name_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 803;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    if ( var_k == NULL )
    {
        Py_DECREF( tmp_called_name_13 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 803;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_left_name_4 = var_k;
    tmp_right_name_3 = const_str_chr_61;
    tmp_left_name_3 = BINARY_OPERATION_ADD( tmp_left_name_4, tmp_right_name_3 );
    if ( tmp_left_name_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_13 );

        exception_lineno = 803;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    if ( var_v == NULL )
    {
        Py_DECREF( tmp_called_name_13 );
        Py_DECREF( tmp_left_name_3 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 803;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_right_name_4 = var_v;
    tmp_args_element_name_27 = BINARY_OPERATION_ADD( tmp_left_name_3, tmp_right_name_4 );
    Py_DECREF( tmp_left_name_3 );
    if ( tmp_args_element_name_27 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_13 );

        exception_lineno = 803;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 803;
    {
        PyObject *call_args[] = { tmp_args_element_name_27 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_13, call_args );
    }

    Py_DECREF( tmp_called_name_13 );
    Py_DECREF( tmp_args_element_name_27 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 803;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    Py_DECREF( tmp_unused );
    }
    goto branch_end_8;
    branch_no_8:;
    {
    nuitka_bool tmp_condition_result_9;
    PyObject *tmp_isinstance_inst_6;
    PyObject *tmp_isinstance_cls_6;
    PyObject *tmp_mvar_value_17;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 804;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_isinstance_inst_6 = var_v;
    tmp_mvar_value_17 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_17 == NULL ))
    {
        tmp_mvar_value_17 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_17 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 804;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_isinstance_cls_6 = tmp_mvar_value_17;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_6, tmp_isinstance_cls_6 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 804;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    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_31;
    PyObject *tmp_called_name_14;
    PyObject *tmp_mvar_value_18;
    PyObject *tmp_args_element_name_28;
    PyObject *tmp_args_element_name_29;
    PyObject *tmp_args_element_name_30;
    PyObject *tmp_args_element_name_31;
    tmp_mvar_value_18 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_18 == NULL ))
    {
        tmp_mvar_value_18 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_18 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 805;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_called_name_14 = tmp_mvar_value_18;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 805;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_28 = var_v;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 805;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_29 = par_safe;
    if ( par_encoding == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 805;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_30 = par_encoding;
    if ( par_errors == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 805;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_args_element_name_31 = par_errors;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 805;
    {
        PyObject *call_args[] = { tmp_args_element_name_28, tmp_args_element_name_29, tmp_args_element_name_30, tmp_args_element_name_31 };
        tmp_assign_source_31 = CALL_FUNCTION_WITH_ARGS4( tmp_called_name_14, call_args );
    }

    if ( tmp_assign_source_31 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 805;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    {
        PyObject *old = var_v;
        var_v = tmp_assign_source_31;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_called_name_15;
    PyObject *tmp_source_name_4;
    PyObject *tmp_args_element_name_32;
    PyObject *tmp_left_name_5;
    PyObject *tmp_left_name_6;
    PyObject *tmp_right_name_5;
    PyObject *tmp_right_name_6;
    if ( var_l == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "l" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 806;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_source_name_4 = var_l;
    tmp_called_name_15 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain_append );
    if ( tmp_called_name_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 806;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    if ( var_k == NULL )
    {
        Py_DECREF( tmp_called_name_15 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 806;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_left_name_6 = var_k;
    tmp_right_name_5 = const_str_chr_61;
    tmp_left_name_5 = BINARY_OPERATION_ADD( tmp_left_name_6, tmp_right_name_5 );
    if ( tmp_left_name_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_15 );

        exception_lineno = 806;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    if ( var_v == NULL )
    {
        Py_DECREF( tmp_called_name_15 );
        Py_DECREF( tmp_left_name_5 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 806;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }

    tmp_right_name_6 = var_v;
    tmp_args_element_name_32 = BINARY_OPERATION_ADD( tmp_left_name_5, tmp_right_name_6 );
    Py_DECREF( tmp_left_name_5 );
    if ( tmp_args_element_name_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_15 );

        exception_lineno = 806;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 806;
    {
        PyObject *call_args[] = { tmp_args_element_name_32 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_15, call_args );
    }

    Py_DECREF( tmp_called_name_15 );
    Py_DECREF( tmp_args_element_name_32 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 806;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    Py_DECREF( tmp_unused );
    }
    goto branch_end_9;
    branch_no_9:;
    {
    PyObject *tmp_assign_source_32;
    tmp_assign_source_32 = Py_True;
    {
        PyObject *old = tmp_try_except_1__unhandled_indicator;
        tmp_try_except_1__unhandled_indicator = tmp_assign_source_32;
        Py_INCREF( tmp_try_except_1__unhandled_indicator );
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_33;
    PyObject *tmp_len_arg_2;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 810;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_13;
    }

    tmp_len_arg_2 = var_v;
    tmp_assign_source_33 = BUILTIN_LEN( tmp_len_arg_2 );
    if ( tmp_assign_source_33 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 810;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_13;
    }
    {
        PyObject *old = var_x;
        var_x = tmp_assign_source_33;
        Py_XDECREF( old );
    }

    }
    goto try_end_10;
    // Exception handler code:
    try_except_handler_13:;
    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;

    {
    PyObject *tmp_assign_source_34;
    tmp_assign_source_34 = Py_False;
    {
        PyObject *old = tmp_try_except_1__unhandled_indicator;
        assert( old != NULL );
        tmp_try_except_1__unhandled_indicator = tmp_assign_source_34;
        Py_INCREF( tmp_try_except_1__unhandled_indicator );
        Py_DECREF( old );
    }

    }
    {
    // Preserve existing published exception.
    exception_preserved_type_2 = EXC_TYPE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_type_2 );
    exception_preserved_value_2 = EXC_VALUE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_value_2 );
    exception_preserved_tb_2 = (PyTracebackObject *)EXC_TRACEBACK(PyThreadState_GET());
    Py_XINCREF( exception_preserved_tb_2 );

    }
    {
    if ( exception_keeper_tb_10 == NULL )
    {
        exception_keeper_tb_10 = MAKE_TRACEBACK( frame_a1976b580ff3753fd9edd7e5b4d9b43a, exception_keeper_lineno_10 );
    }
    else if ( exception_keeper_lineno_10 != 0 )
    {
        exception_keeper_tb_10 = ADD_TRACEBACK( exception_keeper_tb_10, frame_a1976b580ff3753fd9edd7e5b4d9b43a, exception_keeper_lineno_10 );
    }

    NORMALIZE_EXCEPTION( &exception_keeper_type_10, &exception_keeper_value_10, &exception_keeper_tb_10 );
    PyException_SetTraceback( exception_keeper_value_10, (PyObject *)exception_keeper_tb_10 );
    PUBLISH_EXCEPTION( &exception_keeper_type_10, &exception_keeper_value_10, &exception_keeper_tb_10 );
    }
    {
    // Tried code:
    {
    nuitka_bool tmp_condition_result_10;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    tmp_compexpr_left_2 = EXC_TYPE(PyThreadState_GET());
    tmp_compexpr_right_2 = PyExc_TypeError;
    tmp_res = EXCEPTION_MATCH_BOOL( 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 = 811;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    tmp_condition_result_10 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_10 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_10;
    }
    else
    {
        goto branch_no_10;
    }
    branch_yes_10:;
    {
    PyObject *tmp_assign_source_35;
    PyObject *tmp_called_name_16;
    PyObject *tmp_mvar_value_19;
    PyObject *tmp_args_element_name_33;
    PyObject *tmp_called_name_17;
    PyObject *tmp_mvar_value_20;
    PyObject *tmp_args_element_name_34;
    PyObject *tmp_args_element_name_35;
    PyObject *tmp_args_element_name_36;
    PyObject *tmp_args_element_name_37;
    tmp_mvar_value_19 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_19 == NULL ))
    {
        tmp_mvar_value_19 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_19 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 813;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_called_name_16 = tmp_mvar_value_19;
    tmp_mvar_value_20 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_20 == NULL ))
    {
        tmp_mvar_value_20 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_20 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 813;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_called_name_17 = tmp_mvar_value_20;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 813;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_args_element_name_34 = var_v;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 813;
    {
        PyObject *call_args[] = { tmp_args_element_name_34 };
        tmp_args_element_name_33 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_17, call_args );
    }

    if ( tmp_args_element_name_33 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 813;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    if ( par_safe == NULL )
    {
        Py_DECREF( tmp_args_element_name_33 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 813;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_args_element_name_35 = par_safe;
    if ( par_encoding == NULL )
    {
        Py_DECREF( tmp_args_element_name_33 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 813;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_args_element_name_36 = par_encoding;
    if ( par_errors == NULL )
    {
        Py_DECREF( tmp_args_element_name_33 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 813;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_args_element_name_37 = par_errors;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 813;
    {
        PyObject *call_args[] = { tmp_args_element_name_33, tmp_args_element_name_35, tmp_args_element_name_36, tmp_args_element_name_37 };
        tmp_assign_source_35 = CALL_FUNCTION_WITH_ARGS4( tmp_called_name_16, call_args );
    }

    Py_DECREF( tmp_args_element_name_33 );
    if ( tmp_assign_source_35 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 813;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    {
        PyObject *old = var_v;
        var_v = tmp_assign_source_35;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_called_name_18;
    PyObject *tmp_source_name_5;
    PyObject *tmp_args_element_name_38;
    PyObject *tmp_left_name_7;
    PyObject *tmp_left_name_8;
    PyObject *tmp_right_name_7;
    PyObject *tmp_right_name_8;
    if ( var_l == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "l" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 814;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_source_name_5 = var_l;
    tmp_called_name_18 = LOOKUP_ATTRIBUTE( tmp_source_name_5, const_str_plain_append );
    if ( tmp_called_name_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 814;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    if ( var_k == NULL )
    {
        Py_DECREF( tmp_called_name_18 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 814;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_left_name_8 = var_k;
    tmp_right_name_7 = const_str_chr_61;
    tmp_left_name_7 = BINARY_OPERATION_ADD( tmp_left_name_8, tmp_right_name_7 );
    if ( tmp_left_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_18 );

        exception_lineno = 814;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    if ( var_v == NULL )
    {
        Py_DECREF( tmp_called_name_18 );
        Py_DECREF( tmp_left_name_7 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 814;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }

    tmp_right_name_8 = var_v;
    tmp_args_element_name_38 = BINARY_OPERATION_ADD( tmp_left_name_7, tmp_right_name_8 );
    Py_DECREF( tmp_left_name_7 );
    if ( tmp_args_element_name_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_18 );

        exception_lineno = 814;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 814;
    {
        PyObject *call_args[] = { tmp_args_element_name_38 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_18, call_args );
    }

    Py_DECREF( tmp_called_name_18 );
    Py_DECREF( tmp_args_element_name_38 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 814;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_14;
    }
    Py_DECREF( tmp_unused );
    }
    goto branch_end_10;
    branch_no_10:;
    {
    tmp_result = RERAISE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
    if (unlikely( tmp_result == false ))
    {
        exception_lineno = 808;
    }

    if (exception_tb && exception_tb->tb_frame == &frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame) frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = exception_tb->tb_lineno;
    type_description_1 = "ooooooooooooo";
    goto try_except_handler_14;
    }
    branch_end_10:;
    }
    goto try_end_11;
    // Exception handler code:
    try_except_handler_14:;
    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;

    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_2, exception_preserved_value_2, exception_preserved_tb_2 );
    }
    {
    // 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 try_except_handler_12;
    }
    // End of try:
    try_end_11:;
    }
    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_2, exception_preserved_value_2, exception_preserved_tb_2 );
    }
    goto try_end_10;
    // exception handler codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_42_urlencode );
    return NULL;
    // End of try:
    try_end_10:;
    }
    {
    nuitka_bool tmp_condition_result_11;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    CHECK_OBJECT( tmp_try_except_1__unhandled_indicator );
    tmp_compexpr_left_3 = tmp_try_except_1__unhandled_indicator;
    tmp_compexpr_right_3 = Py_True;
    tmp_condition_result_11 = ( tmp_compexpr_left_3 == tmp_compexpr_right_3 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_11 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_11;
    }
    else
    {
        goto branch_no_11;
    }
    branch_yes_11:;
    {
    PyObject *tmp_assign_source_36;
    PyObject *tmp_iter_arg_6;
    if ( var_v == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "v" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 817;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_12;
    }

    tmp_iter_arg_6 = var_v;
    tmp_assign_source_36 = MAKE_ITERATOR( tmp_iter_arg_6 );
    if ( tmp_assign_source_36 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 817;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_12;
    }
    {
        PyObject *old = tmp_for_loop_3__for_iterator;
        tmp_for_loop_3__for_iterator = tmp_assign_source_36;
        Py_XDECREF( old );
    }

    }
    {
    // Tried code:
    {
    loop_start_3:;
    {
    PyObject *tmp_next_source_3;
    PyObject *tmp_assign_source_37;
    CHECK_OBJECT( tmp_for_loop_3__for_iterator );
    tmp_next_source_3 = tmp_for_loop_3__for_iterator;
    tmp_assign_source_37 = ITERATOR_NEXT( tmp_next_source_3 );
    if ( tmp_assign_source_37 == NULL )
    {
        if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
        {

            goto loop_end_3;
        }
        else
        {

            FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
            type_description_1 = "ooooooooooooo";
            exception_lineno = 817;
            goto try_except_handler_15;
        }
    }

    {
        PyObject *old = tmp_for_loop_3__iter_value;
        tmp_for_loop_3__iter_value = tmp_assign_source_37;
        Py_XDECREF( old );
    }

    }
    {
    PyObject *tmp_assign_source_38;
    CHECK_OBJECT( tmp_for_loop_3__iter_value );
    tmp_assign_source_38 = tmp_for_loop_3__iter_value;
    {
        PyObject *old = var_elt;
        var_elt = tmp_assign_source_38;
        Py_INCREF( var_elt );
        Py_XDECREF( old );
    }

    }
    {
    nuitka_bool tmp_condition_result_12;
    PyObject *tmp_isinstance_inst_7;
    PyObject *tmp_isinstance_cls_7;
    PyObject *tmp_mvar_value_21;
    CHECK_OBJECT( var_elt );
    tmp_isinstance_inst_7 = var_elt;
    tmp_mvar_value_21 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_21 == NULL ))
    {
        tmp_mvar_value_21 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_21 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 818;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_isinstance_cls_7 = tmp_mvar_value_21;
    tmp_res = Nuitka_IsInstance( tmp_isinstance_inst_7, tmp_isinstance_cls_7 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 818;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }
    tmp_condition_result_12 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_12 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_12;
    }
    else
    {
        goto branch_no_12;
    }
    branch_yes_12:;
    {
    PyObject *tmp_assign_source_39;
    PyObject *tmp_called_name_19;
    PyObject *tmp_mvar_value_22;
    PyObject *tmp_args_element_name_39;
    PyObject *tmp_args_element_name_40;
    tmp_mvar_value_22 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_22 == NULL ))
    {
        tmp_mvar_value_22 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_22 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 819;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_called_name_19 = tmp_mvar_value_22;
    CHECK_OBJECT( var_elt );
    tmp_args_element_name_39 = var_elt;
    if ( par_safe == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 819;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_args_element_name_40 = par_safe;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 819;
    {
        PyObject *call_args[] = { tmp_args_element_name_39, tmp_args_element_name_40 };
        tmp_assign_source_39 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_19, call_args );
    }

    if ( tmp_assign_source_39 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 819;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }
    {
        PyObject *old = var_elt;
        var_elt = tmp_assign_source_39;
        Py_XDECREF( old );
    }

    }
    goto branch_end_12;
    branch_no_12:;
    {
    PyObject *tmp_assign_source_40;
    PyObject *tmp_called_name_20;
    PyObject *tmp_mvar_value_23;
    PyObject *tmp_args_element_name_41;
    PyObject *tmp_called_name_21;
    PyObject *tmp_mvar_value_24;
    PyObject *tmp_args_element_name_42;
    PyObject *tmp_args_element_name_43;
    PyObject *tmp_args_element_name_44;
    PyObject *tmp_args_element_name_45;
    tmp_mvar_value_23 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus );

    if (unlikely( tmp_mvar_value_23 == NULL ))
    {
        tmp_mvar_value_23 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_quote_plus );
    }

    if ( tmp_mvar_value_23 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "quote_plus" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 821;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_called_name_20 = tmp_mvar_value_23;
    tmp_mvar_value_24 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_24 == NULL ))
    {
        tmp_mvar_value_24 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_24 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 821;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_called_name_21 = tmp_mvar_value_24;
    CHECK_OBJECT( var_elt );
    tmp_args_element_name_42 = var_elt;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 821;
    {
        PyObject *call_args[] = { tmp_args_element_name_42 };
        tmp_args_element_name_41 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_21, call_args );
    }

    if ( tmp_args_element_name_41 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 821;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }
    if ( par_safe == NULL )
    {
        Py_DECREF( tmp_args_element_name_41 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "safe" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 821;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_args_element_name_43 = par_safe;
    if ( par_encoding == NULL )
    {
        Py_DECREF( tmp_args_element_name_41 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "encoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 821;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_args_element_name_44 = par_encoding;
    if ( par_errors == NULL )
    {
        Py_DECREF( tmp_args_element_name_41 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "errors" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 821;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_args_element_name_45 = par_errors;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 821;
    {
        PyObject *call_args[] = { tmp_args_element_name_41, tmp_args_element_name_43, tmp_args_element_name_44, tmp_args_element_name_45 };
        tmp_assign_source_40 = CALL_FUNCTION_WITH_ARGS4( tmp_called_name_20, call_args );
    }

    Py_DECREF( tmp_args_element_name_41 );
    if ( tmp_assign_source_40 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 821;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }
    {
        PyObject *old = var_elt;
        var_elt = tmp_assign_source_40;
        Py_XDECREF( old );
    }

    }
    branch_end_12:;
    }
    {
    PyObject *tmp_called_name_22;
    PyObject *tmp_source_name_6;
    PyObject *tmp_args_element_name_46;
    PyObject *tmp_left_name_9;
    PyObject *tmp_left_name_10;
    PyObject *tmp_right_name_9;
    PyObject *tmp_right_name_10;
    if ( var_l == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "l" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 822;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_source_name_6 = var_l;
    tmp_called_name_22 = LOOKUP_ATTRIBUTE( tmp_source_name_6, const_str_plain_append );
    if ( tmp_called_name_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 822;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }
    if ( var_k == NULL )
    {
        Py_DECREF( tmp_called_name_22 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "k" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 822;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_left_name_10 = var_k;
    tmp_right_name_9 = const_str_chr_61;
    tmp_left_name_9 = BINARY_OPERATION_ADD( tmp_left_name_10, tmp_right_name_9 );
    if ( tmp_left_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_22 );

        exception_lineno = 822;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }
    if ( var_elt == NULL )
    {
        Py_DECREF( tmp_called_name_22 );
        Py_DECREF( tmp_left_name_9 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "elt" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 822;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }

    tmp_right_name_10 = var_elt;
    tmp_args_element_name_46 = BINARY_OPERATION_ADD( tmp_left_name_9, tmp_right_name_10 );
    Py_DECREF( tmp_left_name_9 );
    if ( tmp_args_element_name_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_called_name_22 );

        exception_lineno = 822;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 822;
    {
        PyObject *call_args[] = { tmp_args_element_name_46 };
        tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_22, call_args );
    }

    Py_DECREF( tmp_called_name_22 );
    Py_DECREF( tmp_args_element_name_46 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 822;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }
    Py_DECREF( tmp_unused );
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 817;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_15;
    }
    goto loop_start_3;
    loop_end_3:;
    }
    goto try_end_12;
    // Exception handler code:
    try_except_handler_15:;
    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_for_loop_3__iter_value );
    tmp_for_loop_3__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_3__for_iterator );
    Py_DECREF( tmp_for_loop_3__for_iterator );
    tmp_for_loop_3__for_iterator = 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 try_except_handler_12;
    }
    // End of try:
    try_end_12:;
    }
    {
    Py_XDECREF( tmp_for_loop_3__iter_value );
    tmp_for_loop_3__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_3__for_iterator );
    Py_DECREF( tmp_for_loop_3__for_iterator );
    tmp_for_loop_3__for_iterator = NULL;

    }
    branch_no_11:;
    }
    goto try_end_13;
    // Exception handler code:
    try_except_handler_12:;
    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_XDECREF( tmp_try_except_1__unhandled_indicator );
    tmp_try_except_1__unhandled_indicator = 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_9;
    }
    // End of try:
    try_end_13:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_try_except_1__unhandled_indicator );
    Py_DECREF( tmp_try_except_1__unhandled_indicator );
    tmp_try_except_1__unhandled_indicator = NULL;

    }
    branch_end_9:;
    }
    branch_end_8:;
    }
    if ( CONSIDER_THREADING() == false )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 795;
        type_description_1 = "ooooooooooooo";
        goto try_except_handler_9;
    }
    goto loop_start_2;
    loop_end_2:;
    }
    goto try_end_14;
    // Exception handler code:
    try_except_handler_9:;
    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;

    {
    Py_XDECREF( tmp_for_loop_2__iter_value );
    tmp_for_loop_2__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_2__for_iterator );
    Py_DECREF( tmp_for_loop_2__for_iterator );
    tmp_for_loop_2__for_iterator = NULL;

    }
    {
    // 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 frame_exception_exit_1;
    }
    // End of try:
    try_end_14:;
    }
    {
    Py_XDECREF( tmp_for_loop_2__iter_value );
    tmp_for_loop_2__iter_value = NULL;

    }
    {
    CHECK_OBJECT( (PyObject *)tmp_for_loop_2__for_iterator );
    Py_DECREF( tmp_for_loop_2__for_iterator );
    tmp_for_loop_2__for_iterator = NULL;

    }
    branch_end_4:;
    }
    {
    PyObject *tmp_called_name_23;
    PyObject *tmp_source_name_7;
    PyObject *tmp_called_name_24;
    PyObject *tmp_mvar_value_25;
    PyObject *tmp_args_element_name_47;
    tmp_mvar_value_25 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_25 == NULL ))
    {
        tmp_mvar_value_25 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_25 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 823;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_name_24 = tmp_mvar_value_25;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 823;
    tmp_source_name_7 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_24, &PyTuple_GET_ITEM( const_tuple_str_chr_38_tuple, 0 ) );

    if ( tmp_source_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 823;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    tmp_called_name_23 = LOOKUP_ATTRIBUTE( tmp_source_name_7, const_str_plain_join );
    Py_DECREF( tmp_source_name_7 );
    if ( tmp_called_name_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 823;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    if ( var_l == NULL )
    {
        Py_DECREF( tmp_called_name_23 );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "l" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 823;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_47 = var_l;
    frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame.f_lineno = 823;
    {
        PyObject *call_args[] = { tmp_args_element_name_47 };
        tmp_return_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_23, call_args );
    }

    Py_DECREF( tmp_called_name_23 );
    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 823;
        type_description_1 = "ooooooooooooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a1976b580ff3753fd9edd7e5b4d9b43a );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_a1976b580ff3753fd9edd7e5b4d9b43a );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_a1976b580ff3753fd9edd7e5b4d9b43a );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_a1976b580ff3753fd9edd7e5b4d9b43a, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_a1976b580ff3753fd9edd7e5b4d9b43a->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_a1976b580ff3753fd9edd7e5b4d9b43a, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_a1976b580ff3753fd9edd7e5b4d9b43a,
        type_description_1,
        par_query,
        par_doseq,
        par_safe,
        par_encoding,
        par_errors,
        var_ty,
        var_va,
        var_tb,
        var_l,
        var_k,
        var_v,
        var_x,
        var_elt
    );


    // Release cached frame.
    if ( frame_a1976b580ff3753fd9edd7e5b4d9b43a == cache_frame_a1976b580ff3753fd9edd7e5b4d9b43a )
    {
        Py_DECREF( frame_a1976b580ff3753fd9edd7e5b4d9b43a );
    }
    cache_frame_a1976b580ff3753fd9edd7e5b4d9b43a = NULL;

    assertFrameObject( frame_a1976b580ff3753fd9edd7e5b4d9b43a );

    // 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( future$backports$urllib$parse$$$function_42_urlencode );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_query );
    par_query = NULL;

    }
    {
    Py_XDECREF( par_doseq );
    par_doseq = NULL;

    }
    {
    Py_XDECREF( par_safe );
    par_safe = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var_ty );
    var_ty = NULL;

    }
    {
    Py_XDECREF( var_va );
    var_va = NULL;

    }
    {
    Py_XDECREF( var_tb );
    var_tb = NULL;

    }
    {
    Py_XDECREF( var_l );
    var_l = NULL;

    }
    {
    Py_XDECREF( var_k );
    var_k = NULL;

    }
    {
    Py_XDECREF( var_v );
    var_v = NULL;

    }
    {
    Py_XDECREF( var_x );
    var_x = NULL;

    }
    {
    Py_XDECREF( var_elt );
    var_elt = NULL;

    }
    {
    goto function_return_exit;
    }
    // Exception handler code:
    try_except_handler_1:;
    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( par_query );
    par_query = NULL;

    }
    {
    Py_XDECREF( par_doseq );
    par_doseq = NULL;

    }
    {
    Py_XDECREF( par_safe );
    par_safe = NULL;

    }
    {
    Py_XDECREF( par_encoding );
    par_encoding = NULL;

    }
    {
    Py_XDECREF( par_errors );
    par_errors = NULL;

    }
    {
    Py_XDECREF( var_ty );
    var_ty = NULL;

    }
    {
    Py_XDECREF( var_va );
    var_va = NULL;

    }
    {
    Py_XDECREF( var_tb );
    var_tb = NULL;

    }
    {
    Py_XDECREF( var_l );
    var_l = NULL;

    }
    {
    Py_XDECREF( var_k );
    var_k = NULL;

    }
    {
    Py_XDECREF( var_v );
    var_v = NULL;

    }
    {
    Py_XDECREF( var_x );
    var_x = NULL;

    }
    {
    Py_XDECREF( var_elt );
    var_elt = 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 function_exception_exit;
    }
    // End of try:
    }

    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_42_urlencode );
    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_future$backports$urllib$parse$$$function_43_to_bytes( 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_url = python_pars[ 0 ];
    struct Nuitka_FrameObject *frame_cbc4cda28e09b06dba066041efd8ae69;
    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 *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_preserved_type_1;
    PyObject *exception_preserved_value_1;
    PyTracebackObject *exception_preserved_tb_1;
    bool tmp_result;
    PyObject *exception_keeper_type_2;
    PyObject *exception_keeper_value_2;
    PyTracebackObject *exception_keeper_tb_2;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;
    static struct Nuitka_FrameObject *cache_frame_cbc4cda28e09b06dba066041efd8ae69 = NULL;
    PyObject *tmp_return_value = 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_cbc4cda28e09b06dba066041efd8ae69, codeobj_cbc4cda28e09b06dba066041efd8ae69, module_future$backports$urllib$parse, sizeof(void *) );
    frame_cbc4cda28e09b06dba066041efd8ae69 = cache_frame_cbc4cda28e09b06dba066041efd8ae69;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_cbc4cda28e09b06dba066041efd8ae69 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_cbc4cda28e09b06dba066041efd8ae69 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_isinstance_inst_1;
    PyObject *tmp_isinstance_cls_1;
    PyObject *tmp_mvar_value_1;
    CHECK_OBJECT( par_url );
    tmp_isinstance_inst_1 = par_url;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 845;
        type_description_1 = "o";
        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 = 845;
        type_description_1 = "o";
        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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_called_instance_2;
    CHECK_OBJECT( par_url );
    tmp_called_instance_2 = par_url;
    frame_cbc4cda28e09b06dba066041efd8ae69->m_frame.f_lineno = 847;
    tmp_called_instance_1 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_encode, &PyTuple_GET_ITEM( const_tuple_str_plain_ASCII_tuple, 0 ) );

    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 847;
        type_description_1 = "o";
        goto try_except_handler_2;
    }
    frame_cbc4cda28e09b06dba066041efd8ae69->m_frame.f_lineno = 847;
    tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_decode );
    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 = 847;
        type_description_1 = "o";
        goto try_except_handler_2;
    }
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    goto try_end_1;
    // Exception handler code:
    try_except_handler_2:;
    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;

    {
    // Preserve existing published exception.
    exception_preserved_type_1 = EXC_TYPE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_type_1 );
    exception_preserved_value_1 = EXC_VALUE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_value_1 );
    exception_preserved_tb_1 = (PyTracebackObject *)EXC_TRACEBACK(PyThreadState_GET());
    Py_XINCREF( exception_preserved_tb_1 );

    }
    {
    if ( exception_keeper_tb_1 == NULL )
    {
        exception_keeper_tb_1 = MAKE_TRACEBACK( frame_cbc4cda28e09b06dba066041efd8ae69, exception_keeper_lineno_1 );
    }
    else if ( exception_keeper_lineno_1 != 0 )
    {
        exception_keeper_tb_1 = ADD_TRACEBACK( exception_keeper_tb_1, frame_cbc4cda28e09b06dba066041efd8ae69, exception_keeper_lineno_1 );
    }

    NORMALIZE_EXCEPTION( &exception_keeper_type_1, &exception_keeper_value_1, &exception_keeper_tb_1 );
    PyException_SetTraceback( exception_keeper_value_1, (PyObject *)exception_keeper_tb_1 );
    PUBLISH_EXCEPTION( &exception_keeper_type_1, &exception_keeper_value_1, &exception_keeper_tb_1 );
    }
    {
    // Tried code:
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    tmp_compexpr_left_1 = EXC_TYPE(PyThreadState_GET());
    tmp_compexpr_right_1 = PyExc_UnicodeError;
    tmp_res = EXCEPTION_MATCH_BOOL( 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 = 848;
        type_description_1 = "o";
        goto try_except_handler_3;
    }
    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_left_name_1;
    PyObject *tmp_left_name_2;
    PyObject *tmp_right_name_1;
    PyObject *tmp_operand_name_1;
    PyObject *tmp_right_name_2;
    tmp_left_name_2 = const_str_digest_5f90b97acd402e0af3654b786f4216f5;
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 849;
        type_description_1 = "o";
        goto try_except_handler_3;
    }

    tmp_operand_name_1 = par_url;
    tmp_right_name_1 = UNARY_OPERATION( PyObject_Repr, tmp_operand_name_1 );
    if ( tmp_right_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 849;
        type_description_1 = "o";
        goto try_except_handler_3;
    }
    tmp_left_name_1 = BINARY_OPERATION_ADD( tmp_left_name_2, tmp_right_name_1 );
    Py_DECREF( tmp_right_name_1 );
    if ( tmp_left_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 849;
        type_description_1 = "o";
        goto try_except_handler_3;
    }
    tmp_right_name_2 = const_str_digest_25537690d6e44eb32632b1a697e41f6b;
    tmp_make_exception_arg_1 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_2 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_make_exception_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 849;
        type_description_1 = "o";
        goto try_except_handler_3;
    }
    frame_cbc4cda28e09b06dba066041efd8ae69->m_frame.f_lineno = 849;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_UnicodeError, call_args );
    }

    Py_DECREF( tmp_make_exception_arg_1 );
    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 849;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "o";
    goto try_except_handler_3;
    }
    goto branch_end_2;
    branch_no_2:;
    {
    tmp_result = RERAISE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
    if (unlikely( tmp_result == false ))
    {
        exception_lineno = 846;
    }

    if (exception_tb && exception_tb->tb_frame == &frame_cbc4cda28e09b06dba066041efd8ae69->m_frame) frame_cbc4cda28e09b06dba066041efd8ae69->m_frame.f_lineno = exception_tb->tb_lineno;
    type_description_1 = "o";
    goto try_except_handler_3;
    }
    branch_end_2:;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_43_to_bytes );
    return NULL;
    // Exception handler code:
    try_except_handler_3:;
    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;

    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_1, exception_preserved_value_1, exception_preserved_tb_1 );
    }
    {
    // 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:
    }
    // End of try:
    try_end_1:;
    }
    branch_no_1:;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_cbc4cda28e09b06dba066041efd8ae69 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_cbc4cda28e09b06dba066041efd8ae69 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_cbc4cda28e09b06dba066041efd8ae69, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_cbc4cda28e09b06dba066041efd8ae69->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_cbc4cda28e09b06dba066041efd8ae69, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_cbc4cda28e09b06dba066041efd8ae69,
        type_description_1,
        par_url
    );


    // Release cached frame.
    if ( frame_cbc4cda28e09b06dba066041efd8ae69 == cache_frame_cbc4cda28e09b06dba066041efd8ae69 )
    {
        Py_DECREF( frame_cbc4cda28e09b06dba066041efd8ae69 );
    }
    cache_frame_cbc4cda28e09b06dba066041efd8ae69 = NULL;

    assertFrameObject( frame_cbc4cda28e09b06dba066041efd8ae69 );

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto try_except_handler_1;

    frame_no_exception_1:;
    {
    CHECK_OBJECT( par_url );
    tmp_return_value = par_url;
    Py_INCREF( tmp_return_value );
    goto try_return_handler_1;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_43_to_bytes );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    CHECK_OBJECT( (PyObject *)par_url );
    Py_DECREF( par_url );
    par_url = 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_url );
    par_url = 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( future$backports$urllib$parse$$$function_43_to_bytes );
    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_future$backports$urllib$parse$$$function_44_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_url = python_pars[ 0 ];
    struct Nuitka_FrameObject *frame_017363f7d39b927eaf06a3d77feca5a3;
    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_017363f7d39b927eaf06a3d77feca5a3 = 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_017363f7d39b927eaf06a3d77feca5a3, codeobj_017363f7d39b927eaf06a3d77feca5a3, module_future$backports$urllib$parse, sizeof(void *) );
    frame_017363f7d39b927eaf06a3d77feca5a3 = cache_frame_017363f7d39b927eaf06a3d77feca5a3;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_017363f7d39b927eaf06a3d77feca5a3 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_017363f7d39b927eaf06a3d77feca5a3 ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_called_name_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_str );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "str" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 855;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_called_name_1 = tmp_mvar_value_1;
    CHECK_OBJECT( par_url );
    tmp_args_element_name_1 = par_url;
    frame_017363f7d39b927eaf06a3d77feca5a3->m_frame.f_lineno = 855;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_called_instance_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    if ( tmp_called_instance_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 855;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_017363f7d39b927eaf06a3d77feca5a3->m_frame.f_lineno = 855;
    tmp_assign_source_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_1, const_str_plain_strip );
    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 = 855;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_1;
        Py_XDECREF( old );
    }

    }
    {
    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_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    CHECK_OBJECT( par_url );
    tmp_subscribed_name_1 = par_url;
    tmp_subscript_name_1 = const_slice_none_int_pos_1_none;
    tmp_compexpr_left_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    if ( tmp_compexpr_left_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 856;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_1 = const_str_chr_60;
    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 = 856;
        type_description_1 = "o";
        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_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 856;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_2 = par_url;
    tmp_subscript_name_2 = const_slice_int_neg_1_none_none;
    tmp_compexpr_left_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    if ( tmp_compexpr_left_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 856;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_2 = const_str_chr_62;
    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 = 856;
        type_description_1 = "o";
        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_assign_source_2;
    PyObject *tmp_called_instance_2;
    PyObject *tmp_subscribed_name_3;
    PyObject *tmp_subscript_name_3;
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 857;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_3 = par_url;
    tmp_subscript_name_3 = const_slice_int_pos_1_int_neg_1_none;
    tmp_called_instance_2 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_3, tmp_subscript_name_3 );
    if ( tmp_called_instance_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 857;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_017363f7d39b927eaf06a3d77feca5a3->m_frame.f_lineno = 857;
    tmp_assign_source_2 = CALL_METHOD_NO_ARGS( tmp_called_instance_2, const_str_plain_strip );
    Py_DECREF( tmp_called_instance_2 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 857;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_2;
        Py_XDECREF( old );
    }

    }
    branch_no_1:;
    }
    {
    nuitka_bool tmp_condition_result_2;
    PyObject *tmp_compexpr_left_3;
    PyObject *tmp_compexpr_right_3;
    PyObject *tmp_subscribed_name_4;
    PyObject *tmp_subscript_name_4;
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 858;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_4 = par_url;
    tmp_subscript_name_4 = const_slice_none_int_pos_4_none;
    tmp_compexpr_left_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_4, tmp_subscript_name_4 );
    if ( tmp_compexpr_left_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 858;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    tmp_compexpr_right_3 = const_str_digest_98c822c6903c9d93fbcb1f05d0f9dfd3;
    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 = 858;
        type_description_1 = "o";
        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_called_instance_3;
    PyObject *tmp_subscribed_name_5;
    PyObject *tmp_subscript_name_5;
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 858;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_5 = par_url;
    tmp_subscript_name_5 = const_slice_int_pos_4_none_none;
    tmp_called_instance_3 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_5, tmp_subscript_name_5 );
    if ( tmp_called_instance_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 858;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    frame_017363f7d39b927eaf06a3d77feca5a3->m_frame.f_lineno = 858;
    tmp_assign_source_3 = CALL_METHOD_NO_ARGS( tmp_called_instance_3, const_str_plain_strip );
    Py_DECREF( tmp_called_instance_3 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 858;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = par_url;
        par_url = tmp_assign_source_3;
        Py_XDECREF( old );
    }

    }
    branch_no_2:;
    }
    {
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 859;
        type_description_1 = "o";
        goto frame_exception_exit_1;
    }

    tmp_return_value = par_url;
    Py_INCREF( tmp_return_value );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_017363f7d39b927eaf06a3d77feca5a3 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_017363f7d39b927eaf06a3d77feca5a3 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_017363f7d39b927eaf06a3d77feca5a3 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_017363f7d39b927eaf06a3d77feca5a3, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_017363f7d39b927eaf06a3d77feca5a3->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_017363f7d39b927eaf06a3d77feca5a3, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_017363f7d39b927eaf06a3d77feca5a3,
        type_description_1,
        par_url
    );


    // Release cached frame.
    if ( frame_017363f7d39b927eaf06a3d77feca5a3 == cache_frame_017363f7d39b927eaf06a3d77feca5a3 )
    {
        Py_DECREF( frame_017363f7d39b927eaf06a3d77feca5a3 );
    }
    cache_frame_017363f7d39b927eaf06a3d77feca5a3 = NULL;

    assertFrameObject( frame_017363f7d39b927eaf06a3d77feca5a3 );

    // 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( future$backports$urllib$parse$$$function_44_unwrap );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = 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_url );
    par_url = 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( future$backports$urllib$parse$$$function_44_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_future$backports$urllib$parse$$$function_45_splittype( 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_url = python_pars[ 0 ];
    PyObject *var_re = NULL;
    PyObject *var_match = NULL;
    PyObject *var_scheme = NULL;
    struct Nuitka_FrameObject *frame_5c3db70a74aff5e3a9381e13bc1edca2;
    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;
    static struct Nuitka_FrameObject *cache_frame_5c3db70a74aff5e3a9381e13bc1edca2 = 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_5c3db70a74aff5e3a9381e13bc1edca2, codeobj_5c3db70a74aff5e3a9381e13bc1edca2, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_5c3db70a74aff5e3a9381e13bc1edca2 = cache_frame_5c3db70a74aff5e3a9381e13bc1edca2;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_5c3db70a74aff5e3a9381e13bc1edca2 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_5c3db70a74aff5e3a9381e13bc1edca2 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__typeprog );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__typeprog );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_typeprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 865;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = tmp_mvar_value_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;
    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_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_re;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_5c3db70a74aff5e3a9381e13bc1edca2->m_frame.f_lineno = 866;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 866;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    assert( var_re == NULL );
    var_re = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_re );
    tmp_called_instance_1 = var_re;
    frame_5c3db70a74aff5e3a9381e13bc1edca2->m_frame.f_lineno = 867;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_compile, &PyTuple_GET_ITEM( const_tuple_str_digest_8a9693d3ccf6a786827e9ed7a876a1eb_tuple, 0 ) );

    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 867;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__typeprog, tmp_assign_source_2 );
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__typeprog );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__typeprog );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_typeprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 869;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_match );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 869;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    if ( par_url == 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", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 869;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_url;
    frame_5c3db70a74aff5e3a9381e13bc1edca2->m_frame.f_lineno = 869;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 869;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    assert( var_match == NULL );
    var_match = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_match );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_match );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 870;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? 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_4;
    PyObject *tmp_called_instance_2;
    CHECK_OBJECT( var_match );
    tmp_called_instance_2 = var_match;
    frame_5c3db70a74aff5e3a9381e13bc1edca2->m_frame.f_lineno = 871;
    tmp_assign_source_4 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_1_tuple, 0 ) );

    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 871;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    assert( var_scheme == NULL );
    var_scheme = tmp_assign_source_4;

    }
    {
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_called_instance_3;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_start_name_1;
    PyObject *tmp_left_name_1;
    PyObject *tmp_len_arg_1;
    PyObject *tmp_right_name_1;
    PyObject *tmp_stop_name_1;
    PyObject *tmp_step_name_1;
    CHECK_OBJECT( var_scheme );
    tmp_called_instance_3 = var_scheme;
    frame_5c3db70a74aff5e3a9381e13bc1edca2->m_frame.f_lineno = 872;
    tmp_tuple_element_1 = CALL_METHOD_NO_ARGS( tmp_called_instance_3, const_str_plain_lower );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 872;
        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 ( par_url == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 872;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_subscribed_name_1 = par_url;
    if ( var_scheme == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "scheme" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 872;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_len_arg_1 = var_scheme;
    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 );
        Py_DECREF( tmp_return_value );

        exception_lineno = 872;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_right_name_1 = const_int_pos_1;
    tmp_start_name_1 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    Py_DECREF( tmp_left_name_1 );
    if ( tmp_start_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_return_value );

        exception_lineno = 872;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    tmp_stop_name_1 = Py_None;
    tmp_step_name_1 = Py_None;
    tmp_subscript_name_1 = MAKE_SLICEOBJ3( tmp_start_name_1, tmp_stop_name_1, tmp_step_name_1 );
    Py_DECREF( tmp_start_name_1 );
    assert( !(tmp_subscript_name_1 == NULL) );
    tmp_tuple_element_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_1, tmp_subscript_name_1 );
    Py_DECREF( tmp_subscript_name_1 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_return_value );

        exception_lineno = 872;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_1 );
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_2;
    tmp_tuple_element_2 = Py_None;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_2 );
    if ( par_url == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 873;
        type_description_1 = "oooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = par_url;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_2 );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_5c3db70a74aff5e3a9381e13bc1edca2 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_5c3db70a74aff5e3a9381e13bc1edca2 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_5c3db70a74aff5e3a9381e13bc1edca2 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_5c3db70a74aff5e3a9381e13bc1edca2, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_5c3db70a74aff5e3a9381e13bc1edca2->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_5c3db70a74aff5e3a9381e13bc1edca2, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_5c3db70a74aff5e3a9381e13bc1edca2,
        type_description_1,
        par_url,
        var_re,
        var_match,
        var_scheme
    );


    // Release cached frame.
    if ( frame_5c3db70a74aff5e3a9381e13bc1edca2 == cache_frame_5c3db70a74aff5e3a9381e13bc1edca2 )
    {
        Py_DECREF( frame_5c3db70a74aff5e3a9381e13bc1edca2 );
    }
    cache_frame_5c3db70a74aff5e3a9381e13bc1edca2 = NULL;

    assertFrameObject( frame_5c3db70a74aff5e3a9381e13bc1edca2 );

    // 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( future$backports$urllib$parse$$$function_45_splittype );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = NULL;

    }
    {
    Py_XDECREF( var_scheme );
    var_scheme = 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_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = NULL;

    }
    {
    Py_XDECREF( var_scheme );
    var_scheme = 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( future$backports$urllib$parse$$$function_45_splittype );
    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_future$backports$urllib$parse$$$function_46_splithost( 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_url = python_pars[ 0 ];
    PyObject *var_re = NULL;
    PyObject *var_match = NULL;
    PyObject *var_host_port = NULL;
    PyObject *var_path = NULL;
    struct Nuitka_FrameObject *frame_90328eb2c9d002cccee2917ba03327fc;
    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_90328eb2c9d002cccee2917ba03327fc = 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_90328eb2c9d002cccee2917ba03327fc, codeobj_90328eb2c9d002cccee2917ba03327fc, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_90328eb2c9d002cccee2917ba03327fc = cache_frame_90328eb2c9d002cccee2917ba03327fc;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_90328eb2c9d002cccee2917ba03327fc );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_90328eb2c9d002cccee2917ba03327fc ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__hostprog );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__hostprog );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_hostprog" );
        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_compexpr_left_1 = tmp_mvar_value_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;
    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_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_re;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_90328eb2c9d002cccee2917ba03327fc->m_frame.f_lineno = 880;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 880;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_re == NULL );
    var_re = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_re );
    tmp_called_instance_1 = var_re;
    frame_90328eb2c9d002cccee2917ba03327fc->m_frame.f_lineno = 881;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_compile, &PyTuple_GET_ITEM( const_tuple_str_digest_049719ac499c6c46f5532c71ca09aa3e_tuple, 0 ) );

    if ( tmp_assign_source_2 == 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;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__hostprog, tmp_assign_source_2 );
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__hostprog );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__hostprog );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_hostprog" );
        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_1 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_match );
    if ( tmp_called_name_1 == 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;
    }
    if ( par_url == 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", "url" );
        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_args_element_name_1 = par_url;
    frame_90328eb2c9d002cccee2917ba03327fc->m_frame.f_lineno = 883;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == 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;
    }
    assert( var_match == NULL );
    var_match = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_match );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_match );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 884;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? 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_4;
    PyObject *tmp_called_instance_2;
    CHECK_OBJECT( var_match );
    tmp_called_instance_2 = var_match;
    frame_90328eb2c9d002cccee2917ba03327fc->m_frame.f_lineno = 885;
    tmp_assign_source_4 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_2, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_1_tuple, 0 ) );

    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 885;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_host_port == NULL );
    var_host_port = tmp_assign_source_4;

    }
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_called_instance_3;
    if ( var_match == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "match" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 886;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_called_instance_3 = var_match;
    frame_90328eb2c9d002cccee2917ba03327fc->m_frame.f_lineno = 886;
    tmp_assign_source_5 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_3, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_2_tuple, 0 ) );

    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 886;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    assert( var_path == NULL );
    var_path = tmp_assign_source_5;

    }
    {
    nuitka_bool tmp_condition_result_3;
    int tmp_and_left_truth_1;
    nuitka_bool tmp_and_left_value_1;
    nuitka_bool tmp_and_right_value_1;
    int tmp_truth_name_2;
    PyObject *tmp_operand_name_1;
    PyObject *tmp_called_instance_4;
    CHECK_OBJECT( var_path );
    tmp_truth_name_2 = CHECK_IF_TRUE( var_path );
    if ( tmp_truth_name_2 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 887;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_and_left_value_1 = tmp_truth_name_2 == 1 ? 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:;
    CHECK_OBJECT( var_path );
    tmp_called_instance_4 = var_path;
    frame_90328eb2c9d002cccee2917ba03327fc->m_frame.f_lineno = 887;
    tmp_operand_name_1 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_4, const_str_plain_startswith, &PyTuple_GET_ITEM( const_tuple_str_chr_47_tuple, 0 ) );

    if ( tmp_operand_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 887;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    tmp_res = CHECK_IF_TRUE( tmp_operand_name_1 );
    Py_DECREF( tmp_operand_name_1 );
    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 887;
        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_3 = tmp_and_right_value_1;
    goto and_end_1;
    and_left_1:;
    tmp_condition_result_3 = tmp_and_left_value_1;
    and_end_1:;
    if ( tmp_condition_result_3 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_3;
    }
    else
    {
        goto branch_no_3;
    }
    branch_yes_3:;
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_left_name_1;
    PyObject *tmp_right_name_1;
    tmp_left_name_1 = const_str_chr_47;
    if ( var_path == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "path" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 888;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_right_name_1 = var_path;
    tmp_assign_source_6 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 );
    if ( tmp_assign_source_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 888;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }
    {
        PyObject *old = var_path;
        var_path = tmp_assign_source_6;
        Py_XDECREF( old );
    }

    }
    branch_no_3:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( var_host_port == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "host_port" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 889;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_host_port;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( var_path == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "path" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 889;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_path;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_1 );
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_2;
    tmp_tuple_element_2 = Py_None;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_2 );
    if ( par_url == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 890;
        type_description_1 = "ooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = par_url;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_2 );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_90328eb2c9d002cccee2917ba03327fc );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_90328eb2c9d002cccee2917ba03327fc );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_90328eb2c9d002cccee2917ba03327fc );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_90328eb2c9d002cccee2917ba03327fc, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_90328eb2c9d002cccee2917ba03327fc->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_90328eb2c9d002cccee2917ba03327fc, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_90328eb2c9d002cccee2917ba03327fc,
        type_description_1,
        par_url,
        var_re,
        var_match,
        var_host_port,
        var_path
    );


    // Release cached frame.
    if ( frame_90328eb2c9d002cccee2917ba03327fc == cache_frame_90328eb2c9d002cccee2917ba03327fc )
    {
        Py_DECREF( frame_90328eb2c9d002cccee2917ba03327fc );
    }
    cache_frame_90328eb2c9d002cccee2917ba03327fc = NULL;

    assertFrameObject( frame_90328eb2c9d002cccee2917ba03327fc );

    // 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( future$backports$urllib$parse$$$function_46_splithost );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = NULL;

    }
    {
    Py_XDECREF( var_host_port );
    var_host_port = NULL;

    }
    {
    Py_XDECREF( var_path );
    var_path = 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_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = NULL;

    }
    {
    Py_XDECREF( var_host_port );
    var_host_port = NULL;

    }
    {
    Py_XDECREF( var_path );
    var_path = 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( future$backports$urllib$parse$$$function_46_splithost );
    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_future$backports$urllib$parse$$$function_47_splituser( 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_host = python_pars[ 0 ];
    PyObject *var_re = NULL;
    PyObject *var_match = NULL;
    struct Nuitka_FrameObject *frame_4809e65c6b1f2dd719e78f95717e4c57;
    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;
    static struct Nuitka_FrameObject *cache_frame_4809e65c6b1f2dd719e78f95717e4c57 = 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_4809e65c6b1f2dd719e78f95717e4c57, codeobj_4809e65c6b1f2dd719e78f95717e4c57, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_4809e65c6b1f2dd719e78f95717e4c57 = cache_frame_4809e65c6b1f2dd719e78f95717e4c57;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_4809e65c6b1f2dd719e78f95717e4c57 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_4809e65c6b1f2dd719e78f95717e4c57 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__userprog );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__userprog );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_userprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 896;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = tmp_mvar_value_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;
    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_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_re;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_4809e65c6b1f2dd719e78f95717e4c57->m_frame.f_lineno = 897;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 897;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_re == NULL );
    var_re = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_re );
    tmp_called_instance_1 = var_re;
    frame_4809e65c6b1f2dd719e78f95717e4c57->m_frame.f_lineno = 898;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_compile, &PyTuple_GET_ITEM( const_tuple_str_digest_2f9d11f37bcf7779f2433f77a4c92eae_tuple, 0 ) );

    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 898;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__userprog, tmp_assign_source_2 );
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__userprog );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__userprog );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_userprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 900;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_match );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 900;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_host == 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", "host" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 900;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_host;
    frame_4809e65c6b1f2dd719e78f95717e4c57->m_frame.f_lineno = 900;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 900;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_match == NULL );
    var_match = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_match );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_match );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 901;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? 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_called_instance_2;
    CHECK_OBJECT( var_match );
    tmp_called_instance_2 = var_match;
    frame_4809e65c6b1f2dd719e78f95717e4c57->m_frame.f_lineno = 901;
    tmp_return_value = CALL_METHOD_WITH_ARGS2( tmp_called_instance_2, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_1_int_pos_2_tuple, 0 ) );

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 901;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    tmp_tuple_element_1 = Py_None;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( par_host == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "host" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 902;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_host;
    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_4809e65c6b1f2dd719e78f95717e4c57 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_4809e65c6b1f2dd719e78f95717e4c57 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_4809e65c6b1f2dd719e78f95717e4c57 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_4809e65c6b1f2dd719e78f95717e4c57, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_4809e65c6b1f2dd719e78f95717e4c57->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_4809e65c6b1f2dd719e78f95717e4c57, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_4809e65c6b1f2dd719e78f95717e4c57,
        type_description_1,
        par_host,
        var_re,
        var_match
    );


    // Release cached frame.
    if ( frame_4809e65c6b1f2dd719e78f95717e4c57 == cache_frame_4809e65c6b1f2dd719e78f95717e4c57 )
    {
        Py_DECREF( frame_4809e65c6b1f2dd719e78f95717e4c57 );
    }
    cache_frame_4809e65c6b1f2dd719e78f95717e4c57 = NULL;

    assertFrameObject( frame_4809e65c6b1f2dd719e78f95717e4c57 );

    // 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( future$backports$urllib$parse$$$function_47_splituser );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_host );
    par_host = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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_host );
    par_host = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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( future$backports$urllib$parse$$$function_47_splituser );
    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_future$backports$urllib$parse$$$function_48_splitpasswd( 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_user = python_pars[ 0 ];
    PyObject *var_re = NULL;
    PyObject *var_match = NULL;
    struct Nuitka_FrameObject *frame_00471807d23c1cb277740fe89a78f1f5;
    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;
    static struct Nuitka_FrameObject *cache_frame_00471807d23c1cb277740fe89a78f1f5 = 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_00471807d23c1cb277740fe89a78f1f5, codeobj_00471807d23c1cb277740fe89a78f1f5, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_00471807d23c1cb277740fe89a78f1f5 = cache_frame_00471807d23c1cb277740fe89a78f1f5;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_00471807d23c1cb277740fe89a78f1f5 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_00471807d23c1cb277740fe89a78f1f5 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__passwdprog );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__passwdprog );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_passwdprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 908;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = tmp_mvar_value_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;
    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_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_re;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_00471807d23c1cb277740fe89a78f1f5->m_frame.f_lineno = 909;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 909;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_re == NULL );
    var_re = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_args_element_name_2;
    PyObject *tmp_source_name_2;
    CHECK_OBJECT( var_re );
    tmp_source_name_1 = var_re;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_compile );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_args_element_name_1 = const_str_digest_68f4b9c941a7881e11c343527a3b3ea6;
    if ( var_re == 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", "re" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 910;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_2 = var_re;
    tmp_args_element_name_2 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_S );
    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 = 910;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    frame_00471807d23c1cb277740fe89a78f1f5->m_frame.f_lineno = 910;
    {
        PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2 };
        tmp_assign_source_2 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    Py_DECREF( tmp_args_element_name_2 );
    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 910;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__passwdprog, tmp_assign_source_2 );
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_2;
    PyObject *tmp_source_name_3;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_3;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__passwdprog );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__passwdprog );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_passwdprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 912;
        type_description_1 = "ooo";
        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_match );
    if ( tmp_called_name_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 912;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_user == 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", "user" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 912;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_3 = par_user;
    frame_00471807d23c1cb277740fe89a78f1f5->m_frame.f_lineno = 912;
    {
        PyObject *call_args[] = { tmp_args_element_name_3 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    Py_DECREF( tmp_called_name_2 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 912;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_match == NULL );
    var_match = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_match );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_match );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 913;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? 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_called_instance_1;
    CHECK_OBJECT( var_match );
    tmp_called_instance_1 = var_match;
    frame_00471807d23c1cb277740fe89a78f1f5->m_frame.f_lineno = 913;
    tmp_return_value = CALL_METHOD_WITH_ARGS2( tmp_called_instance_1, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_1_int_pos_2_tuple, 0 ) );

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 913;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( par_user == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "user" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 914;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_user;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    tmp_tuple_element_1 = Py_None;
    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_00471807d23c1cb277740fe89a78f1f5 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_00471807d23c1cb277740fe89a78f1f5 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_00471807d23c1cb277740fe89a78f1f5 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_00471807d23c1cb277740fe89a78f1f5, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_00471807d23c1cb277740fe89a78f1f5->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_00471807d23c1cb277740fe89a78f1f5, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_00471807d23c1cb277740fe89a78f1f5,
        type_description_1,
        par_user,
        var_re,
        var_match
    );


    // Release cached frame.
    if ( frame_00471807d23c1cb277740fe89a78f1f5 == cache_frame_00471807d23c1cb277740fe89a78f1f5 )
    {
        Py_DECREF( frame_00471807d23c1cb277740fe89a78f1f5 );
    }
    cache_frame_00471807d23c1cb277740fe89a78f1f5 = NULL;

    assertFrameObject( frame_00471807d23c1cb277740fe89a78f1f5 );

    // 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( future$backports$urllib$parse$$$function_48_splitpasswd );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_user );
    par_user = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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_user );
    par_user = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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( future$backports$urllib$parse$$$function_48_splitpasswd );
    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_future$backports$urllib$parse$$$function_49_splitport( 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_host = python_pars[ 0 ];
    PyObject *var_re = NULL;
    PyObject *var_match = NULL;
    struct Nuitka_FrameObject *frame_edda32998bbdd6261f726e518508ba35;
    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;
    static struct Nuitka_FrameObject *cache_frame_edda32998bbdd6261f726e518508ba35 = 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_edda32998bbdd6261f726e518508ba35, codeobj_edda32998bbdd6261f726e518508ba35, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_edda32998bbdd6261f726e518508ba35 = cache_frame_edda32998bbdd6261f726e518508ba35;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_edda32998bbdd6261f726e518508ba35 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_edda32998bbdd6261f726e518508ba35 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__portprog );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__portprog );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_portprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 921;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = tmp_mvar_value_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;
    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_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_re;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_edda32998bbdd6261f726e518508ba35->m_frame.f_lineno = 922;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 922;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_re == NULL );
    var_re = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_re );
    tmp_called_instance_1 = var_re;
    frame_edda32998bbdd6261f726e518508ba35->m_frame.f_lineno = 923;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_compile, &PyTuple_GET_ITEM( const_tuple_str_digest_903969dd4bf5db14dba99dedf4477f2d_tuple, 0 ) );

    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 923;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__portprog, tmp_assign_source_2 );
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__portprog );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__portprog );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_portprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 925;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_match );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 925;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_host == 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", "host" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 925;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_host;
    frame_edda32998bbdd6261f726e518508ba35->m_frame.f_lineno = 925;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 925;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_match == NULL );
    var_match = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_match );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_match );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 926;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? 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_called_instance_2;
    CHECK_OBJECT( var_match );
    tmp_called_instance_2 = var_match;
    frame_edda32998bbdd6261f726e518508ba35->m_frame.f_lineno = 926;
    tmp_return_value = CALL_METHOD_WITH_ARGS2( tmp_called_instance_2, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_1_int_pos_2_tuple, 0 ) );

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 926;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( par_host == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "host" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 927;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_host;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    tmp_tuple_element_1 = Py_None;
    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_edda32998bbdd6261f726e518508ba35 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_edda32998bbdd6261f726e518508ba35 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_edda32998bbdd6261f726e518508ba35 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_edda32998bbdd6261f726e518508ba35, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_edda32998bbdd6261f726e518508ba35->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_edda32998bbdd6261f726e518508ba35, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_edda32998bbdd6261f726e518508ba35,
        type_description_1,
        par_host,
        var_re,
        var_match
    );


    // Release cached frame.
    if ( frame_edda32998bbdd6261f726e518508ba35 == cache_frame_edda32998bbdd6261f726e518508ba35 )
    {
        Py_DECREF( frame_edda32998bbdd6261f726e518508ba35 );
    }
    cache_frame_edda32998bbdd6261f726e518508ba35 = NULL;

    assertFrameObject( frame_edda32998bbdd6261f726e518508ba35 );

    // 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( future$backports$urllib$parse$$$function_49_splitport );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_host );
    par_host = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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_host );
    par_host = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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( future$backports$urllib$parse$$$function_49_splitport );
    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_future$backports$urllib$parse$$$function_50_splitnport( 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_host = python_pars[ 0 ];
    PyObject *par_defport = python_pars[ 1 ];
    PyObject *var_re = NULL;
    PyObject *var_match = NULL;
    PyObject *var_port = NULL;
    PyObject *var_nport = 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;
    struct Nuitka_FrameObject *frame_5289a682bab2892fa4bfbdeaf21f228d;
    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_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;
    int tmp_res;
    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_preserved_type_1;
    PyObject *exception_preserved_value_1;
    PyTracebackObject *exception_preserved_tb_1;
    bool tmp_result;
    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 *tmp_return_value = NULL;
    static struct Nuitka_FrameObject *cache_frame_5289a682bab2892fa4bfbdeaf21f228d = 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_5289a682bab2892fa4bfbdeaf21f228d, codeobj_5289a682bab2892fa4bfbdeaf21f228d, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_5289a682bab2892fa4bfbdeaf21f228d = cache_frame_5289a682bab2892fa4bfbdeaf21f228d;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_5289a682bab2892fa4bfbdeaf21f228d );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_5289a682bab2892fa4bfbdeaf21f228d ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__nportprog );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__nportprog );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_nportprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 936;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = tmp_mvar_value_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;
    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_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_re;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_5289a682bab2892fa4bfbdeaf21f228d->m_frame.f_lineno = 937;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 937;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }
    assert( var_re == NULL );
    var_re = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_re );
    tmp_called_instance_1 = var_re;
    frame_5289a682bab2892fa4bfbdeaf21f228d->m_frame.f_lineno = 938;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_compile, &PyTuple_GET_ITEM( const_tuple_str_digest_9edbc3881b06c362f65d3bad48dac8b4_tuple, 0 ) );

    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 938;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__nportprog, tmp_assign_source_2 );
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__nportprog );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__nportprog );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_nportprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 940;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_match );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 940;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }
    if ( par_host == 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", "host" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 940;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_host;
    frame_5289a682bab2892fa4bfbdeaf21f228d->m_frame.f_lineno = 940;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 940;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }
    assert( var_match == NULL );
    var_match = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_match );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_match );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 941;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? 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:;
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_4;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_called_instance_2;
    CHECK_OBJECT( var_match );
    tmp_called_instance_2 = var_match;
    frame_5289a682bab2892fa4bfbdeaf21f228d->m_frame.f_lineno = 942;
    tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_2, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_1_int_pos_2_tuple, 0 ) );

    if ( tmp_iter_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 942;
        type_description_1 = "oooooo";
        goto try_except_handler_2;
    }
    tmp_assign_source_4 = MAKE_UNPACK_ITERATOR( tmp_iter_arg_1 );
    Py_DECREF( tmp_iter_arg_1 );
    if ( tmp_assign_source_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 942;
        type_description_1 = "oooooo";
        goto try_except_handler_2;
    }
    assert( tmp_tuple_unpack_1__source_iter == NULL );
    tmp_tuple_unpack_1__source_iter = tmp_assign_source_4;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_5;
    PyObject *tmp_unpack_1;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_1 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_5 = UNPACK_NEXT( tmp_unpack_1, 0, 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 = "oooooo";
        exception_lineno = 942;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_1 == NULL );
    tmp_tuple_unpack_1__element_1 = tmp_assign_source_5;

    }
    {
    PyObject *tmp_assign_source_6;
    PyObject *tmp_unpack_2;
    CHECK_OBJECT( tmp_tuple_unpack_1__source_iter );
    tmp_unpack_2 = tmp_tuple_unpack_1__source_iter;
    tmp_assign_source_6 = UNPACK_NEXT( tmp_unpack_2, 1, 2 );
    if ( tmp_assign_source_6 == 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 = "oooooo";
        exception_lineno = 942;
        goto try_except_handler_3;
    }
    assert( tmp_tuple_unpack_1__element_2 == NULL );
    tmp_tuple_unpack_1__element_2 = tmp_assign_source_6;

    }
    {
    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 = "oooooo";
                exception_lineno = 942;
                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 = "oooooo";
        exception_lineno = 942;
        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_7;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_1 );
    tmp_assign_source_7 = tmp_tuple_unpack_1__element_1;
    {
        PyObject *old = par_host;
        par_host = tmp_assign_source_7;
        Py_INCREF( par_host );
        Py_XDECREF( old );
    }

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_1 );
    tmp_tuple_unpack_1__element_1 = NULL;

    }
    {
    PyObject *tmp_assign_source_8;
    CHECK_OBJECT( tmp_tuple_unpack_1__element_2 );
    tmp_assign_source_8 = tmp_tuple_unpack_1__element_2;
    assert( var_port == NULL );
    Py_INCREF( tmp_assign_source_8 );
    var_port = tmp_assign_source_8;

    }
    {
    Py_XDECREF( tmp_tuple_unpack_1__element_2 );
    tmp_tuple_unpack_1__element_2 = NULL;

    }
    {
    // Tried code:
    {
    nuitka_bool tmp_condition_result_3;
    PyObject *tmp_operand_name_1;
    if ( var_port == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "port" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 944;
        type_description_1 = "oooooo";
        goto try_except_handler_4;
    }

    tmp_operand_name_1 = var_port;
    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 = 944;
        type_description_1 = "oooooo";
        goto try_except_handler_4;
    }
    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_raise_type_1;
    PyObject *tmp_make_exception_arg_1;
    tmp_make_exception_arg_1 = const_str_digest_600aaebef7c8fb88ced7dfdd3501055b;
    frame_5289a682bab2892fa4bfbdeaf21f228d->m_frame.f_lineno = 944;
    {
        PyObject *call_args[] = { tmp_make_exception_arg_1 };
        tmp_raise_type_1 = CALL_FUNCTION_WITH_ARGS1( PyExc_ValueError, call_args );
    }

    assert( !(tmp_raise_type_1 == NULL) );
    exception_type = tmp_raise_type_1;
    exception_lineno = 944;
    RAISE_EXCEPTION_WITH_TYPE( &exception_type, &exception_value, &exception_tb );
    type_description_1 = "oooooo";
    goto try_except_handler_4;
    }
    branch_no_3:;
    }
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_called_name_2;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_args_element_name_2;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_int );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_int );
    }

    if ( tmp_mvar_value_3 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "int" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 945;
        type_description_1 = "oooooo";
        goto try_except_handler_4;
    }

    tmp_called_name_2 = tmp_mvar_value_3;
    if ( var_port == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "port" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 945;
        type_description_1 = "oooooo";
        goto try_except_handler_4;
    }

    tmp_args_element_name_2 = var_port;
    frame_5289a682bab2892fa4bfbdeaf21f228d->m_frame.f_lineno = 945;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_assign_source_9 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, call_args );
    }

    if ( tmp_assign_source_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 945;
        type_description_1 = "oooooo";
        goto try_except_handler_4;
    }
    assert( var_nport == NULL );
    var_nport = tmp_assign_source_9;

    }
    goto try_end_3;
    // Exception handler code:
    try_except_handler_4:;
    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;

    {
    // Preserve existing published exception.
    exception_preserved_type_1 = EXC_TYPE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_type_1 );
    exception_preserved_value_1 = EXC_VALUE(PyThreadState_GET());
    Py_XINCREF( exception_preserved_value_1 );
    exception_preserved_tb_1 = (PyTracebackObject *)EXC_TRACEBACK(PyThreadState_GET());
    Py_XINCREF( exception_preserved_tb_1 );

    }
    {
    if ( exception_keeper_tb_3 == NULL )
    {
        exception_keeper_tb_3 = MAKE_TRACEBACK( frame_5289a682bab2892fa4bfbdeaf21f228d, exception_keeper_lineno_3 );
    }
    else if ( exception_keeper_lineno_3 != 0 )
    {
        exception_keeper_tb_3 = ADD_TRACEBACK( exception_keeper_tb_3, frame_5289a682bab2892fa4bfbdeaf21f228d, exception_keeper_lineno_3 );
    }

    NORMALIZE_EXCEPTION( &exception_keeper_type_3, &exception_keeper_value_3, &exception_keeper_tb_3 );
    PyException_SetTraceback( exception_keeper_value_3, (PyObject *)exception_keeper_tb_3 );
    PUBLISH_EXCEPTION( &exception_keeper_type_3, &exception_keeper_value_3, &exception_keeper_tb_3 );
    }
    {
    // Tried code:
    {
    nuitka_bool tmp_condition_result_4;
    PyObject *tmp_compexpr_left_2;
    PyObject *tmp_compexpr_right_2;
    tmp_compexpr_left_2 = EXC_TYPE(PyThreadState_GET());
    tmp_compexpr_right_2 = PyExc_ValueError;
    tmp_res = EXCEPTION_MATCH_BOOL( 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 = 946;
        type_description_1 = "oooooo";
        goto try_except_handler_5;
    }
    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_10;
    tmp_assign_source_10 = Py_None;
    assert( var_nport == NULL );
    Py_INCREF( tmp_assign_source_10 );
    var_nport = tmp_assign_source_10;

    }
    goto branch_end_4;
    branch_no_4:;
    {
    tmp_result = RERAISE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
    if (unlikely( tmp_result == false ))
    {
        exception_lineno = 943;
    }

    if (exception_tb && exception_tb->tb_frame == &frame_5289a682bab2892fa4bfbdeaf21f228d->m_frame) frame_5289a682bab2892fa4bfbdeaf21f228d->m_frame.f_lineno = exception_tb->tb_lineno;
    type_description_1 = "oooooo";
    goto try_except_handler_5;
    }
    branch_end_4:;
    }
    goto try_end_4;
    // Exception handler code:
    try_except_handler_5:;
    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;

    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_1, exception_preserved_value_1, exception_preserved_tb_1 );
    }
    {
    // 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:;
    }
    {
    // Restore previous exception.
    SET_CURRENT_EXCEPTION( exception_preserved_type_1, exception_preserved_value_1, exception_preserved_tb_1 );
    }
    goto try_end_3;
    // exception handler codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse$$$function_50_splitnport );
    return NULL;
    // End of try:
    try_end_3:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( par_host == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "host" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 948;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_host;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( var_nport == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "nport" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 948;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = var_nport;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_1 );
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_2;
    if ( par_host == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "host" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 949;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = par_host;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_2 );
    if ( par_defport == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "defport" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 949;
        type_description_1 = "oooooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_2 = par_defport;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_2 );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_5289a682bab2892fa4bfbdeaf21f228d );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_5289a682bab2892fa4bfbdeaf21f228d );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_5289a682bab2892fa4bfbdeaf21f228d );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_5289a682bab2892fa4bfbdeaf21f228d, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_5289a682bab2892fa4bfbdeaf21f228d->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_5289a682bab2892fa4bfbdeaf21f228d, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_5289a682bab2892fa4bfbdeaf21f228d,
        type_description_1,
        par_host,
        par_defport,
        var_re,
        var_match,
        var_port,
        var_nport
    );


    // Release cached frame.
    if ( frame_5289a682bab2892fa4bfbdeaf21f228d == cache_frame_5289a682bab2892fa4bfbdeaf21f228d )
    {
        Py_DECREF( frame_5289a682bab2892fa4bfbdeaf21f228d );
    }
    cache_frame_5289a682bab2892fa4bfbdeaf21f228d = NULL;

    assertFrameObject( frame_5289a682bab2892fa4bfbdeaf21f228d );

    // 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( future$backports$urllib$parse$$$function_50_splitnport );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_host );
    par_host = NULL;

    }
    {
    Py_XDECREF( par_defport );
    par_defport = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = NULL;

    }
    {
    Py_XDECREF( var_port );
    var_port = NULL;

    }
    {
    Py_XDECREF( var_nport );
    var_nport = 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_host );
    par_host = NULL;

    }
    {
    Py_XDECREF( par_defport );
    par_defport = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = NULL;

    }
    {
    Py_XDECREF( var_port );
    var_port = NULL;

    }
    {
    Py_XDECREF( var_nport );
    var_nport = 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( future$backports$urllib$parse$$$function_50_splitnport );
    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_future$backports$urllib$parse$$$function_51_splitquery( 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_url = python_pars[ 0 ];
    PyObject *var_re = NULL;
    PyObject *var_match = NULL;
    struct Nuitka_FrameObject *frame_055d33f5f1622f0608aae613e1303c11;
    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;
    static struct Nuitka_FrameObject *cache_frame_055d33f5f1622f0608aae613e1303c11 = 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_055d33f5f1622f0608aae613e1303c11, codeobj_055d33f5f1622f0608aae613e1303c11, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_055d33f5f1622f0608aae613e1303c11 = cache_frame_055d33f5f1622f0608aae613e1303c11;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_055d33f5f1622f0608aae613e1303c11 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_055d33f5f1622f0608aae613e1303c11 ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__queryprog );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__queryprog );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_queryprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 955;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = tmp_mvar_value_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;
    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_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_re;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_055d33f5f1622f0608aae613e1303c11->m_frame.f_lineno = 956;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 956;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_re == NULL );
    var_re = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_re );
    tmp_called_instance_1 = var_re;
    frame_055d33f5f1622f0608aae613e1303c11->m_frame.f_lineno = 957;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_compile, &PyTuple_GET_ITEM( const_tuple_str_digest_22d2f8343255209e3e900ed3c61c5680_tuple, 0 ) );

    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 957;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__queryprog, tmp_assign_source_2 );
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__queryprog );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__queryprog );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_queryprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 959;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_match );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 959;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_url == 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", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 959;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_url;
    frame_055d33f5f1622f0608aae613e1303c11->m_frame.f_lineno = 959;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 959;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_match == NULL );
    var_match = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_match );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_match );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 960;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? 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_called_instance_2;
    CHECK_OBJECT( var_match );
    tmp_called_instance_2 = var_match;
    frame_055d33f5f1622f0608aae613e1303c11->m_frame.f_lineno = 960;
    tmp_return_value = CALL_METHOD_WITH_ARGS2( tmp_called_instance_2, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_1_int_pos_2_tuple, 0 ) );

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 960;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 961;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_url;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    tmp_tuple_element_1 = Py_None;
    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_055d33f5f1622f0608aae613e1303c11 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_055d33f5f1622f0608aae613e1303c11 );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_055d33f5f1622f0608aae613e1303c11 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_055d33f5f1622f0608aae613e1303c11, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_055d33f5f1622f0608aae613e1303c11->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_055d33f5f1622f0608aae613e1303c11, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_055d33f5f1622f0608aae613e1303c11,
        type_description_1,
        par_url,
        var_re,
        var_match
    );


    // Release cached frame.
    if ( frame_055d33f5f1622f0608aae613e1303c11 == cache_frame_055d33f5f1622f0608aae613e1303c11 )
    {
        Py_DECREF( frame_055d33f5f1622f0608aae613e1303c11 );
    }
    cache_frame_055d33f5f1622f0608aae613e1303c11 = NULL;

    assertFrameObject( frame_055d33f5f1622f0608aae613e1303c11 );

    // 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( future$backports$urllib$parse$$$function_51_splitquery );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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( future$backports$urllib$parse$$$function_51_splitquery );
    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_future$backports$urllib$parse$$$function_52_splittag( 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_url = python_pars[ 0 ];
    PyObject *var_re = NULL;
    PyObject *var_match = NULL;
    struct Nuitka_FrameObject *frame_4cb29bbdf6c6afcfe234f749048d7b4f;
    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;
    static struct Nuitka_FrameObject *cache_frame_4cb29bbdf6c6afcfe234f749048d7b4f = 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_4cb29bbdf6c6afcfe234f749048d7b4f, codeobj_4cb29bbdf6c6afcfe234f749048d7b4f, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_4cb29bbdf6c6afcfe234f749048d7b4f = cache_frame_4cb29bbdf6c6afcfe234f749048d7b4f;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_4cb29bbdf6c6afcfe234f749048d7b4f );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_4cb29bbdf6c6afcfe234f749048d7b4f ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__tagprog );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__tagprog );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_tagprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 967;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = tmp_mvar_value_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;
    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_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_re;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_4cb29bbdf6c6afcfe234f749048d7b4f->m_frame.f_lineno = 968;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 968;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_re == NULL );
    var_re = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_re );
    tmp_called_instance_1 = var_re;
    frame_4cb29bbdf6c6afcfe234f749048d7b4f->m_frame.f_lineno = 969;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_compile, &PyTuple_GET_ITEM( const_tuple_str_digest_f8b1ed373ce679554b24d84fd14632ab_tuple, 0 ) );

    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 969;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__tagprog, tmp_assign_source_2 );
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__tagprog );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__tagprog );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_tagprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 971;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_match );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 971;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_url == 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", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 971;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_url;
    frame_4cb29bbdf6c6afcfe234f749048d7b4f->m_frame.f_lineno = 971;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 971;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_match == NULL );
    var_match = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_match );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_match );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 972;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? 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_called_instance_2;
    CHECK_OBJECT( var_match );
    tmp_called_instance_2 = var_match;
    frame_4cb29bbdf6c6afcfe234f749048d7b4f->m_frame.f_lineno = 972;
    tmp_return_value = CALL_METHOD_WITH_ARGS2( tmp_called_instance_2, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_1_int_pos_2_tuple, 0 ) );

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 972;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( par_url == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "url" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 973;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_url;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    tmp_tuple_element_1 = Py_None;
    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_4cb29bbdf6c6afcfe234f749048d7b4f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_4cb29bbdf6c6afcfe234f749048d7b4f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_4cb29bbdf6c6afcfe234f749048d7b4f );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_4cb29bbdf6c6afcfe234f749048d7b4f, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_4cb29bbdf6c6afcfe234f749048d7b4f->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_4cb29bbdf6c6afcfe234f749048d7b4f, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_4cb29bbdf6c6afcfe234f749048d7b4f,
        type_description_1,
        par_url,
        var_re,
        var_match
    );


    // Release cached frame.
    if ( frame_4cb29bbdf6c6afcfe234f749048d7b4f == cache_frame_4cb29bbdf6c6afcfe234f749048d7b4f )
    {
        Py_DECREF( frame_4cb29bbdf6c6afcfe234f749048d7b4f );
    }
    cache_frame_4cb29bbdf6c6afcfe234f749048d7b4f = NULL;

    assertFrameObject( frame_4cb29bbdf6c6afcfe234f749048d7b4f );

    // 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( future$backports$urllib$parse$$$function_52_splittag );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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( future$backports$urllib$parse$$$function_52_splittag );
    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_future$backports$urllib$parse$$$function_53_splitattr( 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_url = python_pars[ 0 ];
    PyObject *var_words = NULL;
    struct Nuitka_FrameObject *frame_dc264f7567852bffa26f29fa47f5feda;
    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;
    static struct Nuitka_FrameObject *cache_frame_dc264f7567852bffa26f29fa47f5feda = 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_dc264f7567852bffa26f29fa47f5feda, codeobj_dc264f7567852bffa26f29fa47f5feda, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *) );
    frame_dc264f7567852bffa26f29fa47f5feda = cache_frame_dc264f7567852bffa26f29fa47f5feda;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_dc264f7567852bffa26f29fa47f5feda );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_dc264f7567852bffa26f29fa47f5feda ) == 2 ); // Frame stack

    // Framed code:
    {
    PyObject *tmp_assign_source_1;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( par_url );
    tmp_called_instance_1 = par_url;
    frame_dc264f7567852bffa26f29fa47f5feda->m_frame.f_lineno = 978;
    tmp_assign_source_1 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_split, &PyTuple_GET_ITEM( const_tuple_str_chr_59_tuple, 0 ) );

    if ( tmp_assign_source_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 978;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    assert( var_words == NULL );
    var_words = tmp_assign_source_1;

    }
    {
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_subscribed_name_1;
    PyObject *tmp_subscript_name_1;
    PyObject *tmp_subscribed_name_2;
    PyObject *tmp_subscript_name_2;
    CHECK_OBJECT( var_words );
    tmp_subscribed_name_1 = var_words;
    tmp_subscript_name_1 = const_int_0;
    tmp_tuple_element_1 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_1, tmp_subscript_name_1, 0 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 979;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    tmp_return_value = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    if ( var_words == NULL )
    {
        Py_DECREF( tmp_return_value );
        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "words" );
        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_subscribed_name_2 = var_words;
    tmp_subscript_name_2 = const_slice_int_pos_1_none_none;
    tmp_tuple_element_1 = LOOKUP_SUBSCRIPT( tmp_subscribed_name_2, tmp_subscript_name_2 );
    if ( tmp_tuple_element_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_return_value );

        exception_lineno = 979;
        type_description_1 = "oo";
        goto frame_exception_exit_1;
    }
    PyTuple_SET_ITEM( tmp_return_value, 1, tmp_tuple_element_1 );
    goto frame_return_exit_1;
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_dc264f7567852bffa26f29fa47f5feda );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_dc264f7567852bffa26f29fa47f5feda );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_dc264f7567852bffa26f29fa47f5feda );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_dc264f7567852bffa26f29fa47f5feda, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_dc264f7567852bffa26f29fa47f5feda->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_dc264f7567852bffa26f29fa47f5feda, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_dc264f7567852bffa26f29fa47f5feda,
        type_description_1,
        par_url,
        var_words
    );


    // Release cached frame.
    if ( frame_dc264f7567852bffa26f29fa47f5feda == cache_frame_dc264f7567852bffa26f29fa47f5feda )
    {
        Py_DECREF( frame_dc264f7567852bffa26f29fa47f5feda );
    }
    cache_frame_dc264f7567852bffa26f29fa47f5feda = NULL;

    assertFrameObject( frame_dc264f7567852bffa26f29fa47f5feda );

    // 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( future$backports$urllib$parse$$$function_53_splitattr );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_words );
    var_words = 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_url );
    par_url = NULL;

    }
    {
    Py_XDECREF( var_words );
    var_words = 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( future$backports$urllib$parse$$$function_53_splitattr );
    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_future$backports$urllib$parse$$$function_54_splitvalue( 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_attr = python_pars[ 0 ];
    PyObject *var_re = NULL;
    PyObject *var_match = NULL;
    struct Nuitka_FrameObject *frame_db833e10fb9c757488da88982cc43d7f;
    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;
    static struct Nuitka_FrameObject *cache_frame_db833e10fb9c757488da88982cc43d7f = 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_db833e10fb9c757488da88982cc43d7f, codeobj_db833e10fb9c757488da88982cc43d7f, module_future$backports$urllib$parse, sizeof(void *)+sizeof(void *)+sizeof(void *) );
    frame_db833e10fb9c757488da88982cc43d7f = cache_frame_db833e10fb9c757488da88982cc43d7f;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_db833e10fb9c757488da88982cc43d7f );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_db833e10fb9c757488da88982cc43d7f ) == 2 ); // Frame stack

    // Framed code:
    {
    nuitka_bool tmp_condition_result_1;
    PyObject *tmp_compexpr_left_1;
    PyObject *tmp_compexpr_right_1;
    PyObject *tmp_mvar_value_1;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__valueprog );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__valueprog );
    }

    if ( tmp_mvar_value_1 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_valueprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 985;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_compexpr_left_1 = tmp_mvar_value_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;
    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_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_re;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = Py_None;
    tmp_level_name_1 = const_int_0;
    frame_db833e10fb9c757488da88982cc43d7f->m_frame.f_lineno = 986;
    tmp_assign_source_1 = 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_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 986;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_re == NULL );
    var_re = tmp_assign_source_1;

    }
    {
    PyObject *tmp_assign_source_2;
    PyObject *tmp_called_instance_1;
    CHECK_OBJECT( var_re );
    tmp_called_instance_1 = var_re;
    frame_db833e10fb9c757488da88982cc43d7f->m_frame.f_lineno = 987;
    tmp_assign_source_2 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_compile, &PyTuple_GET_ITEM( const_tuple_str_digest_5480130700d117749534eeeb5a04c320_tuple, 0 ) );

    if ( tmp_assign_source_2 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 987;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__valueprog, tmp_assign_source_2 );
    }
    branch_no_1:;
    }
    {
    PyObject *tmp_assign_source_3;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_1;
    PyObject *tmp_mvar_value_2;
    PyObject *tmp_args_element_name_1;
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__valueprog );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__valueprog );
    }

    if ( tmp_mvar_value_2 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_valueprog" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 989;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_source_name_1 = tmp_mvar_value_2;
    tmp_called_name_1 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_match );
    if ( tmp_called_name_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 989;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    if ( par_attr == 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", "attr" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 989;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_args_element_name_1 = par_attr;
    frame_db833e10fb9c757488da88982cc43d7f->m_frame.f_lineno = 989;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_assign_source_3 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_1, call_args );
    }

    Py_DECREF( tmp_called_name_1 );
    if ( tmp_assign_source_3 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 989;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    assert( var_match == NULL );
    var_match = tmp_assign_source_3;

    }
    {
    nuitka_bool tmp_condition_result_2;
    int tmp_truth_name_1;
    CHECK_OBJECT( var_match );
    tmp_truth_name_1 = CHECK_IF_TRUE( var_match );
    if ( tmp_truth_name_1 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 990;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    tmp_condition_result_2 = tmp_truth_name_1 == 1 ? 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_called_instance_2;
    CHECK_OBJECT( var_match );
    tmp_called_instance_2 = var_match;
    frame_db833e10fb9c757488da88982cc43d7f->m_frame.f_lineno = 990;
    tmp_return_value = CALL_METHOD_WITH_ARGS2( tmp_called_instance_2, const_str_plain_group, &PyTuple_GET_ITEM( const_tuple_int_pos_1_int_pos_2_tuple, 0 ) );

    if ( tmp_return_value == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 990;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }
    goto frame_return_exit_1;
    }
    branch_no_2:;
    }
    {
    PyObject *tmp_tuple_element_1;
    if ( par_attr == NULL )
    {

        exception_type = PyExc_UnboundLocalError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "attr" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 991;
        type_description_1 = "ooo";
        goto frame_exception_exit_1;
    }

    tmp_tuple_element_1 = par_attr;
    tmp_return_value = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_return_value, 0, tmp_tuple_element_1 );
    tmp_tuple_element_1 = Py_None;
    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_db833e10fb9c757488da88982cc43d7f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto frame_no_exception_1;

    frame_return_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_db833e10fb9c757488da88982cc43d7f );
#endif

    // Put the previous frame back on top.
    popFrameStack();

    goto try_return_handler_1;

    frame_exception_exit_1:;

#if 0
    RESTORE_FRAME_EXCEPTION( frame_db833e10fb9c757488da88982cc43d7f );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_db833e10fb9c757488da88982cc43d7f, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_db833e10fb9c757488da88982cc43d7f->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_db833e10fb9c757488da88982cc43d7f, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_db833e10fb9c757488da88982cc43d7f,
        type_description_1,
        par_attr,
        var_re,
        var_match
    );


    // Release cached frame.
    if ( frame_db833e10fb9c757488da88982cc43d7f == cache_frame_db833e10fb9c757488da88982cc43d7f )
    {
        Py_DECREF( frame_db833e10fb9c757488da88982cc43d7f );
    }
    cache_frame_db833e10fb9c757488da88982cc43d7f = NULL;

    assertFrameObject( frame_db833e10fb9c757488da88982cc43d7f );

    // 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( future$backports$urllib$parse$$$function_54_splitvalue );
    return NULL;
    // Return handler code:
    try_return_handler_1:;
    {
    Py_XDECREF( par_attr );
    par_attr = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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_attr );
    par_attr = NULL;

    }
    {
    Py_XDECREF( var_re );
    var_re = NULL;

    }
    {
    Py_XDECREF( var_match );
    var_match = 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( future$backports$urllib$parse$$$function_54_splitvalue );
    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_future$backports$urllib$parse$$$function_10_hostname(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_10_hostname,
        const_str_plain_hostname,
#if PYTHON_VERSION >= 300
        const_str_digest_f8facd9881d831f46ab07373cda5bf0c,
#endif
        codeobj_40c4baa64aefe93609266ac3b362258e,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_11_port(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_11_port,
        const_str_plain_port,
#if PYTHON_VERSION >= 300
        const_str_digest_1e405175b65f4a94ac46c34bd63daf37,
#endif
        codeobj_46c6b8eac342ff9c312c530e56416ec5,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_12__userinfo(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_12__userinfo,
        const_str_plain__userinfo,
#if PYTHON_VERSION >= 300
        const_str_digest_cd69ab58ff744bb0618407f41d31ea43,
#endif
        codeobj_fadd9898960293c1d6840f06c754b606,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_13__hostinfo(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_13__hostinfo,
        const_str_plain__hostinfo,
#if PYTHON_VERSION >= 300
        const_str_digest_f3752ded96d6c9d73ba2a043ea721da4,
#endif
        codeobj_417197ec9313cb8eba660fdb3e8a9ecd,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_14__userinfo(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_14__userinfo,
        const_str_plain__userinfo,
#if PYTHON_VERSION >= 300
        const_str_digest_2f467f87ed6e30353d3df902c8dc14a1,
#endif
        codeobj_0fff58ee7a70dc792084b7ba32f07a33,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_15__hostinfo(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_15__hostinfo,
        const_str_plain__hostinfo,
#if PYTHON_VERSION >= 300
        const_str_digest_f1e510df36928745bbf110169228cfd3,
#endif
        codeobj_e5427126ae1db89d820cc6b7bbd57717,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_16_geturl(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_16_geturl,
        const_str_plain_geturl,
#if PYTHON_VERSION >= 300
        const_str_digest_8c40b3b71092905cb9e606d7aa8eedfb,
#endif
        codeobj_123030ca56408f5664661be682519427,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_17_geturl(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_17_geturl,
        const_str_plain_geturl,
#if PYTHON_VERSION >= 300
        const_str_digest_3e96d5ff14ccd43468a5bfd3afdccc90,
#endif
        codeobj_8883926a5fa7484d3eeb9e904e61a4d9,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_18_geturl(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_18_geturl,
        const_str_plain_geturl,
#if PYTHON_VERSION >= 300
        const_str_digest_07e5e196892ff8ed79fa8403f681ed2c,
#endif
        codeobj_a4872d4c676c0b83ac50e7b4a64a5d14,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_19_geturl(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_19_geturl,
        const_str_plain_geturl,
#if PYTHON_VERSION >= 300
        const_str_digest_9508f3e703e8394455520d2d3ee0d929,
#endif
        codeobj_9379e3d0ff977e6edcc4d7b2e319a0ae,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_1_clear_cache(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_1_clear_cache,
        const_str_plain_clear_cache,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_c38782bf8ba37db595ef5e64e72745ca,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_e10f895e2ac6b0c91e9f3d12a1ee2b9c,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_20_geturl(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_20_geturl,
        const_str_plain_geturl,
#if PYTHON_VERSION >= 300
        const_str_digest_904e6c288aa2dfa40a7fd2d488b713ec,
#endif
        codeobj_25b2dcf932c576a2e0fb637e65287353,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_21_geturl(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_21_geturl,
        const_str_plain_geturl,
#if PYTHON_VERSION >= 300
        const_str_digest_2c59fca184ef8f25909bbcce4b324e6f,
#endif
        codeobj_a3cf325bbde3224739f65fffde7401ba,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_22__fix_result_transcoding(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_22__fix_result_transcoding,
        const_str_plain__fix_result_transcoding,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_d83f066f1112eeff7a691be9592bccb2,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_23_urlparse( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_23_urlparse,
        const_str_plain_urlparse,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_a34b882b4f38a88008b02757bf46fc7d,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_b956edff5198358cf12818d9ea146ea8,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_24__splitparams(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_24__splitparams,
        const_str_plain__splitparams,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_199e954c15a38d6cb686e91d1a84e0d3,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_25__splitnetloc( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_25__splitnetloc,
        const_str_plain__splitnetloc,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_a6c780f74de0c967e1bd9a05729d3e5b,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_26_urlsplit( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_26_urlsplit,
        const_str_plain_urlsplit,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_8dc6ac7b62d07d5b5cde8d34abc8acbb,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_ea23691749aba42293b4121358e0175f,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_27_urlunparse(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_27_urlunparse,
        const_str_plain_urlunparse,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_cd6227ac6e02b1d1ee64b62e0f27c881,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_c2b1ee0235d98fdc7bd8bf55ac03a403,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_28_urlunsplit(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_28_urlunsplit,
        const_str_plain_urlunsplit,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_392256bd5bfc7e7f9068937754cedbc4,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_907d0f824cbd90b4cdc2664c2524aec7,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_29_urljoin( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_29_urljoin,
        const_str_plain_urljoin,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_a564be7304e1d0f1acde9b74ae3367c9,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_b8fe789823f5234303222ed71d939240,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_2__noop(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_2__noop,
        const_str_plain__noop,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_a2b3f0f881469d2496180d7f1bf7891d,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_30_urldefrag(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_30_urldefrag,
        const_str_plain_urldefrag,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_e4845cf12591f3227ddb2c9b66f24306,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_04e03b02e6b25eb7454639295bd2e9b7,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_31_unquote_to_bytes(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_31_unquote_to_bytes,
        const_str_plain_unquote_to_bytes,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_6378640236d221be9452e665d44d0e87,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_29e173d0936c237034d30d9b2bb7dd0f,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_32_unquote( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_32_unquote,
        const_str_plain_unquote,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_e9812c604191d5b369a67a88dd1e443d,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_b4592792efe33734d5b7f11e6e151a1d,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_33_parse_qs( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_33_parse_qs,
        const_str_plain_parse_qs,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_4f49cbb57956442cba6ebbf06e0ba6e4,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_b1e74b1a504388693b2cfb7d9c1329f9,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_34_parse_qsl( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_34_parse_qsl,
        const_str_plain_parse_qsl,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_8c092edf2bc76c311880da8d86fa6e58,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_ef7f677f59b0bb709df5ec381ebdb5a7,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_35_unquote_plus( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_35_unquote_plus,
        const_str_plain_unquote_plus,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_c53e05a47f20919b01f66c1ba050b7f7,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_cc3481c100aa91f4b43265e45b1b605e,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_36___init__(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_36___init__,
        const_str_plain___init__,
#if PYTHON_VERSION >= 300
        const_str_digest_09d6e9192854652064415e2905201515,
#endif
        codeobj_8e01e71c862c6aab030adbbca04d262c,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_f4690dfd6368ef38692b6e0b5639ce3b,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_37___repr__(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_37___repr__,
        const_str_plain___repr__,
#if PYTHON_VERSION >= 300
        const_str_digest_28a301ed28ed793237fe9615fa3776b4,
#endif
        codeobj_36db0d0b94411c71d0b757b6664c5295,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_38___missing__(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_38___missing__,
        const_str_plain___missing__,
#if PYTHON_VERSION >= 300
        const_str_digest_a684dfb8026bee19115cb436c48b8530,
#endif
        codeobj_db6d302f521bfbd82f0b4c282b95b026,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_39_quote( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_39_quote,
        const_str_plain_quote,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_47bcfe8219298cd65e3e105e78f6526d,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_99ba47baf0612f84772b66d3dc1851c4,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_3__encode_result( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_3__encode_result,
        const_str_plain__encode_result,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_f4cbcf8c09203f15f2f8834f59d4010f,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_40_quote_plus( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_40_quote_plus,
        const_str_plain_quote_plus,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_505c1eea6a524bedc8de80e976f6ebc5,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_28f78f0fdbd561fde09d6fd8b5aeb4e9,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_41_quote_from_bytes( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_41_quote_from_bytes,
        const_str_plain_quote_from_bytes,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_bccb504ae865d93f37303a9a57dcc76b,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_29baeb9e6a8520706fe2f4f486ec2600,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_42_urlencode( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_42_urlencode,
        const_str_plain_urlencode,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_a1976b580ff3753fd9edd7e5b4d9b43a,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_bf63d80be50fae199db40b32b07208a7,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_43_to_bytes(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_43_to_bytes,
        const_str_plain_to_bytes,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_cbc4cda28e09b06dba066041efd8ae69,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_2d58a878228c4b51ab782d7a3369fdbf,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_44_unwrap(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_44_unwrap,
        const_str_plain_unwrap,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_017363f7d39b927eaf06a3d77feca5a3,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_fd9ce3436e7c11aab9e643faaf23a0e1,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_45_splittype(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_45_splittype,
        const_str_plain_splittype,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_5c3db70a74aff5e3a9381e13bc1edca2,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_83212905da1d0bed68316902ec27e719,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_46_splithost(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_46_splithost,
        const_str_plain_splithost,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_90328eb2c9d002cccee2917ba03327fc,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_665c8aa65ec320df9ca26662d7ab8115,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_47_splituser(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_47_splituser,
        const_str_plain_splituser,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_4809e65c6b1f2dd719e78f95717e4c57,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_b3c3ed74bf140ada40af54aaf6503835,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_48_splitpasswd(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_48_splitpasswd,
        const_str_plain_splitpasswd,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_00471807d23c1cb277740fe89a78f1f5,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_951f1dbeeb95dc65291d58d1503576cf,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_49_splitport(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_49_splitport,
        const_str_plain_splitport,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_edda32998bbdd6261f726e518508ba35,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_e68435a32b397314baf45db71c9567d5,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_4__decode_args( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_4__decode_args,
        const_str_plain__decode_args,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_a8eb172d4da6f44526362500c4ac1198,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_50_splitnport( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_50_splitnport,
        const_str_plain_splitnport,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_5289a682bab2892fa4bfbdeaf21f228d,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_950d787e2e9701ff859dbdf73b73a83b,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_51_splitquery(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_51_splitquery,
        const_str_plain_splitquery,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_055d33f5f1622f0608aae613e1303c11,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_5eed124044d71c790588073d14c32f8b,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_52_splittag(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_52_splittag,
        const_str_plain_splittag,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_4cb29bbdf6c6afcfe234f749048d7b4f,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_70d5d62e0041b02fe9061d260293c248,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_53_splitattr(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_53_splitattr,
        const_str_plain_splitattr,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_dc264f7567852bffa26f29fa47f5feda,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_76ac25822d3eb3acb96194448fe87251,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_54_splitvalue(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_54_splitvalue,
        const_str_plain_splitvalue,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_db833e10fb9c757488da88982cc43d7f,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        const_str_digest_be9a71f7a9ffd4103744d40762d6d2b9,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_5__coerce_args(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_5__coerce_args,
        const_str_plain__coerce_args,
#if PYTHON_VERSION >= 300
        NULL,
#endif
        codeobj_145f7f811710cc7400002fef35c77859,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_6_encode( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_6_encode,
        const_str_plain_encode,
#if PYTHON_VERSION >= 300
        const_str_digest_6ce1a22e5764902c0f4a93042f846422,
#endif
        codeobj_fccb0b31cc124d59e671245d09b8700c,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_7_decode( PyObject *defaults )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_7_decode,
        const_str_plain_decode,
#if PYTHON_VERSION >= 300
        const_str_digest_a95c28e8b02cb70cf9f720c2eec2635c,
#endif
        codeobj_b605ac7adabec74078dcc137ae4e3afd,
        defaults,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_8_username(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_8_username,
        const_str_plain_username,
#if PYTHON_VERSION >= 300
        const_str_digest_3da873fb815a5839f28c866ac121006c,
#endif
        codeobj_a56a5dbf0b684f71116b19002878502e,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



static PyObject *MAKE_FUNCTION_future$backports$urllib$parse$$$function_9_password(  )
{
    struct Nuitka_FunctionObject *result = Nuitka_Function_New(
        impl_future$backports$urllib$parse$$$function_9_password,
        const_str_plain_password,
#if PYTHON_VERSION >= 300
        const_str_digest_d7cb8d1c9a0084264e14f35a6df82a82,
#endif
        codeobj_23b36a147cbaf372253b5abb704d3600,
        NULL,
#if PYTHON_VERSION >= 300
        NULL,
        NULL,
#endif
        module_future$backports$urllib$parse,
        NULL,
        0
    );

    return (PyObject *)result;
}



#if PYTHON_VERSION >= 300
static struct PyModuleDef mdef_future$backports$urllib$parse =
{
    PyModuleDef_HEAD_INIT,
    "future.backports.urllib.parse",   /* 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( future$backports$urllib$parse )
{
#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_future$backports$urllib$parse );
    }
    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("future.backports.urllib.parse: 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("future.backports.urllib.parse: Calling createModuleConstants().");
#endif
    createModuleConstants();

    /* The code objects used by this module are created now. */
#ifdef _NUITKA_TRACE
    puts("future.backports.urllib.parse: Calling createModuleCodeObjects().");
#endif
    createModuleCodeObjects();

    // puts( "in initfuture$backports$urllib$parse" );

    // 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_future$backports$urllib$parse = Py_InitModule4(
        "future.backports.urllib.parse",       // 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_future$backports$urllib$parse = PyModule_Create( &mdef_future$backports$urllib$parse );
#endif

    moduledict_future$backports$urllib$parse = MODULE_DICT( module_future$backports$urllib$parse );

    // Update "__package__" value to what it ought to be.
    {
#if 0
        PyObject *module_name = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain___name__ );

        UPDATE_STRING_DICT1(
            moduledict_future$backports$urllib$parse,
            (Nuitka_StringObject *)const_str_plain___package__,
            module_name
        );

#else

#if PYTHON_VERSION < 300
        PyObject *module_name = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (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_future$backports$urllib$parse,
                (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_future$backports$urllib$parse, (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_future$backports$urllib$parse,
                (Nuitka_StringObject *)const_str_plain___package__,
                PyUnicode_Substring( module_name, 0, dot_index )
            );
        }
#endif
#endif
    }

    CHECK_OBJECT( module_future$backports$urllib$parse );

// 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_4c1e770c5544f54da5d3b8065d995354, module_future$backports$urllib$parse );

        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_future$backports$urllib$parse, (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_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain___builtins__, value );
    }

#if PYTHON_VERSION >= 300
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain___loader__, metapath_based_loader );
#endif

#if PYTHON_VERSION >= 340
#if 0
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (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_future$backports$urllib$parse, (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_future$backports$urllib$parse, (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 *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_1__bases = 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_2__bases = 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_3__bases = 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__bases = NULL;
    PyObject *tmp_class_creation_7__bases_orig = 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_genexpr_1__$0 = NULL;
    PyObject *tmp_import_from_1__module = NULL;
    PyObject *tmp_import_from_2__module = NULL;
    struct Nuitka_FrameObject *frame_367e7caedae035d5f16ffd96c774c021;
    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;
    int tmp_res;
    PyObject *tmp_dictdel_dict;
    PyObject *tmp_dictdel_key;
    bool tmp_result;
    PyObject *locals_future$backports$urllib$parse_121 = NULL;
    PyObject *tmp_dictset_value;
    struct Nuitka_FrameObject *frame_9aff4e22acecdfdf2f0625731b58d051_2;
    NUITKA_MAY_BE_UNUSED char const *type_description_2 = NULL;
    static struct Nuitka_FrameObject *cache_frame_9aff4e22acecdfdf2f0625731b58d051_2 = 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;
    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 *locals_future$backports$urllib$parse_129 = NULL;
    struct Nuitka_FrameObject *frame_c1b89e18e321b038c2008c615cf1700b_3;
    NUITKA_MAY_BE_UNUSED char const *type_description_3 = NULL;
    static struct Nuitka_FrameObject *cache_frame_c1b89e18e321b038c2008c615cf1700b_3 = NULL;
    PyObject *exception_keeper_type_6;
    PyObject *exception_keeper_value_6;
    PyTracebackObject *exception_keeper_tb_6;
    NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_6;
    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 *locals_future$backports$urllib$parse_137 = NULL;
    struct Nuitka_FrameObject *frame_4dfd38f40fb8e9622f537de8902006d7_4;
    NUITKA_MAY_BE_UNUSED char const *type_description_4 = NULL;
    static struct Nuitka_FrameObject *cache_frame_4dfd38f40fb8e9622f537de8902006d7_4 = NULL;
    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 *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 *locals_future$backports$urllib$parse_169 = NULL;
    struct Nuitka_FrameObject *frame_0c9939eedb0b40833f68a028fd001e05_5;
    NUITKA_MAY_BE_UNUSED char const *type_description_5 = NULL;
    static struct Nuitka_FrameObject *cache_frame_0c9939eedb0b40833f68a028fd001e05_5 = NULL;
    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 *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 *locals_future$backports$urllib$parse_199 = NULL;
    struct Nuitka_FrameObject *frame_829cff24277b40c2759c38725bb30528_6;
    NUITKA_MAY_BE_UNUSED char const *type_description_6 = NULL;
    static struct Nuitka_FrameObject *cache_frame_829cff24277b40c2759c38725bb30528_6 = NULL;
    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 *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 *locals_future$backports$urllib$parse_241 = NULL;
    struct Nuitka_FrameObject *frame_b549d7688e5286f2f6870b1b73724628_7;
    NUITKA_MAY_BE_UNUSED char const *type_description_7 = NULL;
    static struct Nuitka_FrameObject *cache_frame_b549d7688e5286f2f6870b1b73724628_7 = NULL;
    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 *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 *locals_future$backports$urllib$parse_249 = NULL;
    struct Nuitka_FrameObject *frame_07c8a013b364d5ba5abe416fa84511fb_8;
    NUITKA_MAY_BE_UNUSED char const *type_description_8 = NULL;
    static struct Nuitka_FrameObject *cache_frame_07c8a013b364d5ba5abe416fa84511fb_8 = NULL;
    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 *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 *locals_future$backports$urllib$parse_254 = NULL;
    struct Nuitka_FrameObject *frame_348fc635043232f41206f382bbf63be6_9;
    NUITKA_MAY_BE_UNUSED char const *type_description_9 = NULL;
    static struct Nuitka_FrameObject *cache_frame_348fc635043232f41206f382bbf63be6_9 = NULL;
    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 *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 *locals_future$backports$urllib$parse_260 = NULL;
    struct Nuitka_FrameObject *frame_22081b9dbaa836a647c4a5f1600688c6_10;
    NUITKA_MAY_BE_UNUSED char const *type_description_10 = NULL;
    static struct Nuitka_FrameObject *cache_frame_22081b9dbaa836a647c4a5f1600688c6_10 = NULL;
    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 *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 *locals_future$backports$urllib$parse_268 = NULL;
    struct Nuitka_FrameObject *frame_fbf270c3276f877dbeac3dd7dc91244e_11;
    NUITKA_MAY_BE_UNUSED char const *type_description_11 = NULL;
    static struct Nuitka_FrameObject *cache_frame_fbf270c3276f877dbeac3dd7dc91244e_11 = NULL;
    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 *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 *locals_future$backports$urllib$parse_273 = NULL;
    struct Nuitka_FrameObject *frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12;
    NUITKA_MAY_BE_UNUSED char const *type_description_12 = NULL;
    static struct Nuitka_FrameObject *cache_frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12 = NULL;
    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 *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;
    NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
    PyObject *locals_future$backports$urllib$parse_636 = NULL;
    struct Nuitka_FrameObject *frame_e13d756523c35039bbcb5d52726b1b2b_13;
    NUITKA_MAY_BE_UNUSED char const *type_description_13 = NULL;
    static struct Nuitka_FrameObject *cache_frame_e13d756523c35039bbcb5d52726b1b2b_13 = NULL;
    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 *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;

    // Module code.
    {
    PyObject *tmp_assign_source_1;
    tmp_assign_source_1 = const_str_digest_d026fd04dcad403c8f8037c2b8f0cafc;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain___doc__, tmp_assign_source_1 );
    }
    {
    PyObject *tmp_assign_source_2;
    tmp_assign_source_2 = const_str_digest_88e40c89e076144b7d9eaeae9936fcd9;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (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_future$backports$urllib$parse, (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_367e7caedae035d5f16ffd96c774c021 = MAKE_MODULE_FRAME( codeobj_367e7caedae035d5f16ffd96c774c021, module_future$backports$urllib$parse );

    // Push the new frame as the currently active one, and we should be exclusively
    // owning it.
    pushFrameStack( frame_367e7caedae035d5f16ffd96c774c021 );
    assert( Py_REFCNT( frame_367e7caedae035d5f16ffd96c774c021 ) == 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_absolute_import );
    if ( tmp_assign_source_5 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 32;

        goto try_except_handler_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_absolute_import, 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 = 32;

        goto try_except_handler_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (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_unicode_literals );
    if ( tmp_assign_source_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 32;

        goto try_except_handler_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_unicode_literals, tmp_assign_source_7 );
    }
    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_8;
    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_digest_c3c96c8ed3ec2ec3a4d3f0dfaaa3ddf2;
    tmp_globals_name_1 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_1 = Py_None;
    tmp_fromlist_name_1 = const_tuple_e932e0a5f98499c29f05ae56e39528e9_tuple;
    tmp_level_name_1 = const_int_0;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 33;
    tmp_assign_source_8 = 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_8 == 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_2__module == NULL );
    tmp_import_from_2__module = tmp_assign_source_8;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_9;
    PyObject *tmp_import_name_from_4;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_4 = tmp_import_from_2__module;
    tmp_assign_source_9 = IMPORT_NAME( tmp_import_name_from_4, const_str_plain_bytes );
    if ( tmp_assign_source_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes, tmp_assign_source_9 );
    }
    {
    PyObject *tmp_assign_source_10;
    PyObject *tmp_import_name_from_5;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_5 = tmp_import_from_2__module;
    tmp_assign_source_10 = IMPORT_NAME( tmp_import_name_from_5, const_str_plain_chr );
    if ( tmp_assign_source_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_chr, tmp_assign_source_10 );
    }
    {
    PyObject *tmp_assign_source_11;
    PyObject *tmp_import_name_from_6;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_6 = tmp_import_from_2__module;
    tmp_assign_source_11 = IMPORT_NAME( tmp_import_name_from_6, const_str_plain_dict );
    if ( tmp_assign_source_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_dict, tmp_assign_source_11 );
    }
    {
    PyObject *tmp_assign_source_12;
    PyObject *tmp_import_name_from_7;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_7 = tmp_import_from_2__module;
    tmp_assign_source_12 = IMPORT_NAME( tmp_import_name_from_7, const_str_plain_int );
    if ( tmp_assign_source_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_int, tmp_assign_source_12 );
    }
    {
    PyObject *tmp_assign_source_13;
    PyObject *tmp_import_name_from_8;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_8 = tmp_import_from_2__module;
    tmp_assign_source_13 = IMPORT_NAME( tmp_import_name_from_8, const_str_plain_range );
    if ( tmp_assign_source_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_range, tmp_assign_source_13 );
    }
    {
    PyObject *tmp_assign_source_14;
    PyObject *tmp_import_name_from_9;
    CHECK_OBJECT( tmp_import_from_2__module );
    tmp_import_name_from_9 = tmp_import_from_2__module;
    tmp_assign_source_14 = IMPORT_NAME( tmp_import_name_from_9, const_str_plain_str );
    if ( tmp_assign_source_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 33;

        goto try_except_handler_2;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_str, tmp_assign_source_14 );
    }
    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_15;
    PyObject *tmp_import_name_from_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_digest_118c8611317729818c37c760127e23b2;
    tmp_globals_name_2 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_2 = Py_None;
    tmp_fromlist_name_2 = const_tuple_str_plain_raise_with_traceback_tuple;
    tmp_level_name_2 = const_int_0;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 34;
    tmp_import_name_from_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_import_name_from_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto frame_exception_exit_1;
    }
    tmp_assign_source_15 = IMPORT_NAME( tmp_import_name_from_10, const_str_plain_raise_with_traceback );
    Py_DECREF( tmp_import_name_from_10 );
    if ( tmp_assign_source_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 34;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_raise_with_traceback, tmp_assign_source_15 );
    }
    {
    PyObject *tmp_assign_source_16;
    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_re;
    tmp_globals_name_3 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_3 = Py_None;
    tmp_fromlist_name_3 = Py_None;
    tmp_level_name_3 = const_int_0;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 36;
    tmp_assign_source_16 = 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_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 36;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_re, tmp_assign_source_16 );
    }
    {
    PyObject *tmp_assign_source_17;
    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_sys;
    tmp_globals_name_4 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_4 = Py_None;
    tmp_fromlist_name_4 = Py_None;
    tmp_level_name_4 = const_int_0;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 37;
    tmp_assign_source_17 = IMPORT_MODULE5( tmp_name_name_4, tmp_globals_name_4, tmp_locals_name_4, tmp_fromlist_name_4, tmp_level_name_4 );
    assert( !(tmp_assign_source_17 == NULL) );
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_sys, tmp_assign_source_17 );
    }
    {
    PyObject *tmp_assign_source_18;
    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_collections;
    tmp_globals_name_5 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_5 = Py_None;
    tmp_fromlist_name_5 = Py_None;
    tmp_level_name_5 = const_int_0;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 38;
    tmp_assign_source_18 = 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_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 38;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_collections, tmp_assign_source_18 );
    }
    {
    PyObject *tmp_assign_source_19;
    tmp_assign_source_19 = LIST_COPY( const_list_95e4d6649457ca0eddf4de0f051d93e2_list );
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain___all__, tmp_assign_source_19 );
    }
    {
    PyObject *tmp_assign_source_20;
    tmp_assign_source_20 = LIST_COPY( const_list_f8cf8e7e1f5009fe241bec3862d74353_list );
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_uses_relative, tmp_assign_source_20 );
    }
    {
    PyObject *tmp_assign_source_21;
    tmp_assign_source_21 = LIST_COPY( const_list_c29322639b33fffa11834e3d407fd666_list );
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_uses_netloc, tmp_assign_source_21 );
    }
    {
    PyObject *tmp_assign_source_22;
    tmp_assign_source_22 = LIST_COPY( const_list_a7b4fb5f184304957b0eaa35333d188a_list );
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_uses_params, tmp_assign_source_22 );
    }
    {
    PyObject *tmp_assign_source_23;
    tmp_assign_source_23 = LIST_COPY( const_list_186bcbbd871b45fddfde9227455627e3_list );
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_non_hierarchical, tmp_assign_source_23 );
    }
    {
    PyObject *tmp_assign_source_24;
    tmp_assign_source_24 = LIST_COPY( const_list_039f5a2ec8c9e01c7e1f7be2e306ebd5_list );
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_uses_query, tmp_assign_source_24 );
    }
    {
    PyObject *tmp_assign_source_25;
    tmp_assign_source_25 = LIST_COPY( const_list_9d3e5c288c26ff97d425913e11415e89_list );
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_uses_fragment, tmp_assign_source_25 );
    }
    {
    PyObject *tmp_assign_source_26;
    tmp_assign_source_26 = const_str_digest_ef317feaac625b212338ac8e5bc96b33;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_scheme_chars, tmp_assign_source_26 );
    }
    {
    PyObject *tmp_assign_source_27;
    tmp_assign_source_27 = const_int_pos_20;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_MAX_CACHE_SIZE, tmp_assign_source_27 );
    }
    {
    PyObject *tmp_assign_source_28;
    tmp_assign_source_28 = PyDict_New();
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__parse_cache, tmp_assign_source_28 );
    }
    {
    PyObject *tmp_assign_source_29;
    tmp_assign_source_29 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_1_clear_cache(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_clear_cache, tmp_assign_source_29 );
    }
    {
    PyObject *tmp_assign_source_30;
    tmp_assign_source_30 = const_str_plain_ascii;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__implicit_encoding, tmp_assign_source_30 );
    }
    {
    PyObject *tmp_assign_source_31;
    tmp_assign_source_31 = const_str_plain_strict;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__implicit_errors, tmp_assign_source_31 );
    }
    {
    PyObject *tmp_assign_source_32;
    tmp_assign_source_32 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_2__noop(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__noop, tmp_assign_source_32 );
    }
    {
    PyObject *tmp_assign_source_33;
    PyObject *tmp_defaults_1;
    PyObject *tmp_tuple_element_1;
    PyObject *tmp_mvar_value_1;
    PyObject *tmp_mvar_value_2;
    tmp_mvar_value_1 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__implicit_encoding );

    if (unlikely( tmp_mvar_value_1 == NULL ))
    {
        tmp_mvar_value_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__implicit_encoding );
    }

    CHECK_OBJECT( tmp_mvar_value_1 );
    tmp_tuple_element_1 = tmp_mvar_value_1;
    tmp_defaults_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_defaults_1, 0, tmp_tuple_element_1 );
    tmp_mvar_value_2 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__implicit_errors );

    if (unlikely( tmp_mvar_value_2 == NULL ))
    {
        tmp_mvar_value_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__implicit_errors );
    }

    CHECK_OBJECT( tmp_mvar_value_2 );
    tmp_tuple_element_1 = tmp_mvar_value_2;
    Py_INCREF( tmp_tuple_element_1 );
    PyTuple_SET_ITEM( tmp_defaults_1, 1, tmp_tuple_element_1 );
    tmp_assign_source_33 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_3__encode_result( tmp_defaults_1 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__encode_result, tmp_assign_source_33 );
    }
    {
    PyObject *tmp_assign_source_34;
    PyObject *tmp_defaults_2;
    PyObject *tmp_tuple_element_2;
    PyObject *tmp_mvar_value_3;
    PyObject *tmp_mvar_value_4;
    tmp_mvar_value_3 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__implicit_encoding );

    if (unlikely( tmp_mvar_value_3 == NULL ))
    {
        tmp_mvar_value_3 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__implicit_encoding );
    }

    CHECK_OBJECT( tmp_mvar_value_3 );
    tmp_tuple_element_2 = tmp_mvar_value_3;
    tmp_defaults_2 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_defaults_2, 0, tmp_tuple_element_2 );
    tmp_mvar_value_4 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__implicit_errors );

    if (unlikely( tmp_mvar_value_4 == NULL ))
    {
        tmp_mvar_value_4 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__implicit_errors );
    }

    CHECK_OBJECT( tmp_mvar_value_4 );
    tmp_tuple_element_2 = tmp_mvar_value_4;
    Py_INCREF( tmp_tuple_element_2 );
    PyTuple_SET_ITEM( tmp_defaults_2, 1, tmp_tuple_element_2 );
    tmp_assign_source_34 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_4__decode_args( tmp_defaults_2 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__decode_args, tmp_assign_source_34 );
    }
    {
    PyObject *tmp_assign_source_35;
    tmp_assign_source_35 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_5__coerce_args(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__coerce_args, tmp_assign_source_35 );
    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_36;
    PyObject *tmp_dircall_arg1_1;
    tmp_dircall_arg1_1 = const_tuple_type_object_tuple;
    Py_INCREF( tmp_dircall_arg1_1 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_1};
        tmp_assign_source_36 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_36 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 121;

        goto try_except_handler_3;
    }
    assert( tmp_class_creation_1__bases == NULL );
    tmp_class_creation_1__bases = tmp_assign_source_36;

    }
    {
    PyObject *tmp_assign_source_37;
    tmp_assign_source_37 = PyDict_New();
    assert( tmp_class_creation_1__class_decl_dict == NULL );
    tmp_class_creation_1__class_decl_dict = tmp_assign_source_37;

    }
    {
    PyObject *tmp_assign_source_38;
    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 = 121;

        goto try_except_handler_3;
    }
    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 = 121;

        goto try_except_handler_3;
    }
    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 = 121;

        goto try_except_handler_3;
    }
    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 = 121;

        goto try_except_handler_3;
    }
    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 = 121;

        goto try_except_handler_3;
    }
    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_38 = SELECT_METACLASS( tmp_metaclass_name_1, tmp_bases_name_1 );
    Py_DECREF( tmp_metaclass_name_1 );
    if ( tmp_assign_source_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 121;

        goto try_except_handler_3;
    }
    assert( tmp_class_creation_1__metaclass == NULL );
    tmp_class_creation_1__metaclass = tmp_assign_source_38;

    }
    {
    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 = 121;

        goto try_except_handler_3;
    }
    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 = 121;

        goto try_except_handler_3;
    }
    }
    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_39;
    PyObject *tmp_called_name_1;
    PyObject *tmp_source_name_2;
    PyObject *tmp_args_name_1;
    PyObject *tmp_tuple_element_3;
    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 = 121;

        goto try_except_handler_3;
    }
    tmp_tuple_element_3 = const_str_plain__ResultMixinStr;
    tmp_args_name_1 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_args_name_1, 0, tmp_tuple_element_3 );
    CHECK_OBJECT( tmp_class_creation_1__bases );
    tmp_tuple_element_3 = tmp_class_creation_1__bases;
    Py_INCREF( tmp_tuple_element_3 );
    PyTuple_SET_ITEM( tmp_args_name_1, 1, tmp_tuple_element_3 );
    CHECK_OBJECT( tmp_class_creation_1__class_decl_dict );
    tmp_kw_name_1 = tmp_class_creation_1__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 121;
    tmp_assign_source_39 = 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_39 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 121;

        goto try_except_handler_3;
    }
    assert( tmp_class_creation_1__prepared == NULL );
    tmp_class_creation_1__prepared = tmp_assign_source_39;

    }
    {
    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 = 121;

        goto try_except_handler_3;
    }
    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_4;
    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_4 = BUILTIN_GETATTR( tmp_getattr_target_1, tmp_getattr_attr_1, tmp_getattr_default_1 );
    if ( tmp_tuple_element_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 121;

        goto try_except_handler_3;
    }
    tmp_right_name_1 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_1, 0, tmp_tuple_element_4 );
    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_4 = LOOKUP_ATTRIBUTE( tmp_source_name_4, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_4 );
    if ( tmp_tuple_element_4 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_1 );

        exception_lineno = 121;

        goto try_except_handler_3;
    }
    PyTuple_SET_ITEM( tmp_right_name_1, 1, tmp_tuple_element_4 );
    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 = 121;

        goto try_except_handler_3;
    }
    exception_type = tmp_raise_type_1;
    Py_INCREF( tmp_raise_type_1 );
    exception_value = tmp_raise_value_1;
    exception_lineno = 121;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_3;
    }
    branch_no_3:;
    }
    goto branch_end_2;
    branch_no_2:;
    {
    PyObject *tmp_assign_source_40;
    tmp_assign_source_40 = PyDict_New();
    assert( tmp_class_creation_1__prepared == NULL );
    tmp_class_creation_1__prepared = tmp_assign_source_40;

    }
    branch_end_2:;
    }
    {
    PyObject *tmp_assign_source_41;
    {
    PyObject *tmp_set_locals_1;
    CHECK_OBJECT( tmp_class_creation_1__prepared );
    tmp_set_locals_1 = tmp_class_creation_1__prepared;
    locals_future$backports$urllib$parse_121 = tmp_set_locals_1;
    Py_INCREF( tmp_set_locals_1 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_121, 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 = 121;

        goto try_except_handler_5;
    }
    }
    {
    tmp_dictset_value = const_str_digest_6ca0085924829b080432fa4f3a87d01d;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_121, 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 = 121;

        goto try_except_handler_5;
    }
    }
    {
    tmp_dictset_value = const_str_plain__ResultMixinStr;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_121, 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 = 121;

        goto try_except_handler_5;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_9aff4e22acecdfdf2f0625731b58d051_2, codeobj_9aff4e22acecdfdf2f0625731b58d051, module_future$backports$urllib$parse, sizeof(void *) );
    frame_9aff4e22acecdfdf2f0625731b58d051_2 = cache_frame_9aff4e22acecdfdf2f0625731b58d051_2;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_9aff4e22acecdfdf2f0625731b58d051_2 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_9aff4e22acecdfdf2f0625731b58d051_2 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_121, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 123;
        type_description_2 = "o";
        goto frame_exception_exit_2;
    }
    }
    {
    PyObject *tmp_defaults_3;
    tmp_defaults_3 = const_tuple_str_plain_ascii_str_plain_strict_tuple;
    Py_INCREF( tmp_defaults_3 );
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_6_encode( tmp_defaults_3 );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_121, const_str_plain_encode, 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 = 125;
        type_description_2 = "o";
        goto frame_exception_exit_2;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_9aff4e22acecdfdf2f0625731b58d051_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_9aff4e22acecdfdf2f0625731b58d051_2 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_9aff4e22acecdfdf2f0625731b58d051_2, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_9aff4e22acecdfdf2f0625731b58d051_2->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_9aff4e22acecdfdf2f0625731b58d051_2, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_9aff4e22acecdfdf2f0625731b58d051_2,
        type_description_2,
        outline_0_var___class__
    );


    // Release cached frame.
    if ( frame_9aff4e22acecdfdf2f0625731b58d051_2 == cache_frame_9aff4e22acecdfdf2f0625731b58d051_2 )
    {
        Py_DECREF( frame_9aff4e22acecdfdf2f0625731b58d051_2 );
    }
    cache_frame_9aff4e22acecdfdf2f0625731b58d051_2 = NULL;

    assertFrameObject( frame_9aff4e22acecdfdf2f0625731b58d051_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_5;
    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;
    tmp_compexpr_right_1 = const_tuple_type_object_tuple;
    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 = 121;

        goto try_except_handler_5;
    }
    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:;
    {
    tmp_dictset_value = const_tuple_type_object_tuple;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_121, 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 = 121;

        goto try_except_handler_5;
    }
    }
    branch_no_4:;
    }
    {
    PyObject *tmp_assign_source_42;
    PyObject *tmp_called_name_2;
    PyObject *tmp_args_name_2;
    PyObject *tmp_tuple_element_5;
    PyObject *tmp_kw_name_2;
    CHECK_OBJECT( tmp_class_creation_1__metaclass );
    tmp_called_name_2 = tmp_class_creation_1__metaclass;
    tmp_tuple_element_5 = const_str_plain__ResultMixinStr;
    tmp_args_name_2 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_5 );
    PyTuple_SET_ITEM( tmp_args_name_2, 0, tmp_tuple_element_5 );
    CHECK_OBJECT( tmp_class_creation_1__bases );
    tmp_tuple_element_5 = tmp_class_creation_1__bases;
    Py_INCREF( tmp_tuple_element_5 );
    PyTuple_SET_ITEM( tmp_args_name_2, 1, tmp_tuple_element_5 );
    tmp_tuple_element_5 = locals_future$backports$urllib$parse_121;
    Py_INCREF( tmp_tuple_element_5 );
    PyTuple_SET_ITEM( tmp_args_name_2, 2, tmp_tuple_element_5 );
    CHECK_OBJECT( tmp_class_creation_1__class_decl_dict );
    tmp_kw_name_2 = tmp_class_creation_1__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 121;
    tmp_assign_source_42 = CALL_FUNCTION( tmp_called_name_2, tmp_args_name_2, tmp_kw_name_2 );
    Py_DECREF( tmp_args_name_2 );
    if ( tmp_assign_source_42 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 121;

        goto try_except_handler_5;
    }
    assert( outline_0_var___class__ == NULL );
    outline_0_var___class__ = tmp_assign_source_42;

    }
    {
    CHECK_OBJECT( outline_0_var___class__ );
    tmp_assign_source_41 = outline_0_var___class__;
    Py_INCREF( tmp_assign_source_41 );
    goto try_return_handler_5;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_5:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_121 );
    locals_future$backports$urllib$parse_121 = NULL;
    }
    {
    goto try_return_handler_4;
    }
    // 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;

    {
    Py_DECREF( locals_future$backports$urllib$parse_121 );
    locals_future$backports$urllib$parse_121 = 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:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_4:;
    {
    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_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;

    {
    // 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 outline_exception_1;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_1:;
    exception_lineno = 121;
    goto try_except_handler_3;
    outline_result_1:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ResultMixinStr, tmp_assign_source_41 );
    }
    goto try_end_3;
    // Exception handler code:
    try_except_handler_3:;
    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( 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_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_3:;
    }
    {
    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_43;
    PyObject *tmp_dircall_arg1_2;
    tmp_dircall_arg1_2 = const_tuple_type_object_tuple;
    Py_INCREF( tmp_dircall_arg1_2 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_2};
        tmp_assign_source_43 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_43 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 129;

        goto try_except_handler_6;
    }
    assert( tmp_class_creation_2__bases == NULL );
    tmp_class_creation_2__bases = tmp_assign_source_43;

    }
    {
    PyObject *tmp_assign_source_44;
    tmp_assign_source_44 = PyDict_New();
    assert( tmp_class_creation_2__class_decl_dict == NULL );
    tmp_class_creation_2__class_decl_dict = tmp_assign_source_44;

    }
    {
    PyObject *tmp_assign_source_45;
    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 = 129;

        goto try_except_handler_6;
    }
    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 = 129;

        goto try_except_handler_6;
    }
    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 = 129;

        goto try_except_handler_6;
    }
    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 = 129;

        goto try_except_handler_6;
    }
    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 = 129;

        goto try_except_handler_6;
    }
    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_45 = SELECT_METACLASS( tmp_metaclass_name_2, tmp_bases_name_2 );
    Py_DECREF( tmp_metaclass_name_2 );
    if ( tmp_assign_source_45 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 129;

        goto try_except_handler_6;
    }
    assert( tmp_class_creation_2__metaclass == NULL );
    tmp_class_creation_2__metaclass = tmp_assign_source_45;

    }
    {
    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 = 129;

        goto try_except_handler_6;
    }
    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 = 129;

        goto try_except_handler_6;
    }
    }
    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_46;
    PyObject *tmp_called_name_3;
    PyObject *tmp_source_name_6;
    PyObject *tmp_args_name_3;
    PyObject *tmp_tuple_element_6;
    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 = 129;

        goto try_except_handler_6;
    }
    tmp_tuple_element_6 = const_str_plain__ResultMixinBytes;
    tmp_args_name_3 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_6 );
    PyTuple_SET_ITEM( tmp_args_name_3, 0, tmp_tuple_element_6 );
    CHECK_OBJECT( tmp_class_creation_2__bases );
    tmp_tuple_element_6 = tmp_class_creation_2__bases;
    Py_INCREF( tmp_tuple_element_6 );
    PyTuple_SET_ITEM( tmp_args_name_3, 1, tmp_tuple_element_6 );
    CHECK_OBJECT( tmp_class_creation_2__class_decl_dict );
    tmp_kw_name_3 = tmp_class_creation_2__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 129;
    tmp_assign_source_46 = 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_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 129;

        goto try_except_handler_6;
    }
    assert( tmp_class_creation_2__prepared == NULL );
    tmp_class_creation_2__prepared = tmp_assign_source_46;

    }
    {
    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 = 129;

        goto try_except_handler_6;
    }
    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_7;
    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_7 = BUILTIN_GETATTR( tmp_getattr_target_2, tmp_getattr_attr_2, tmp_getattr_default_2 );
    if ( tmp_tuple_element_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 129;

        goto try_except_handler_6;
    }
    tmp_right_name_2 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_2, 0, tmp_tuple_element_7 );
    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_7 = LOOKUP_ATTRIBUTE( tmp_source_name_8, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_8 );
    if ( tmp_tuple_element_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_2 );

        exception_lineno = 129;

        goto try_except_handler_6;
    }
    PyTuple_SET_ITEM( tmp_right_name_2, 1, tmp_tuple_element_7 );
    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 = 129;

        goto try_except_handler_6;
    }
    exception_type = tmp_raise_type_2;
    Py_INCREF( tmp_raise_type_2 );
    exception_value = tmp_raise_value_2;
    exception_lineno = 129;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_6;
    }
    branch_no_7:;
    }
    goto branch_end_6;
    branch_no_6:;
    {
    PyObject *tmp_assign_source_47;
    tmp_assign_source_47 = PyDict_New();
    assert( tmp_class_creation_2__prepared == NULL );
    tmp_class_creation_2__prepared = tmp_assign_source_47;

    }
    branch_end_6:;
    }
    {
    PyObject *tmp_assign_source_48;
    {
    PyObject *tmp_set_locals_2;
    CHECK_OBJECT( tmp_class_creation_2__prepared );
    tmp_set_locals_2 = tmp_class_creation_2__prepared;
    locals_future$backports$urllib$parse_129 = tmp_set_locals_2;
    Py_INCREF( tmp_set_locals_2 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_129, 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 = 129;

        goto try_except_handler_8;
    }
    }
    {
    tmp_dictset_value = const_str_digest_0111ed484175486ac77e8fa94cb43e6b;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_129, 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 = 129;

        goto try_except_handler_8;
    }
    }
    {
    tmp_dictset_value = const_str_plain__ResultMixinBytes;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_129, 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 = 129;

        goto try_except_handler_8;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_c1b89e18e321b038c2008c615cf1700b_3, codeobj_c1b89e18e321b038c2008c615cf1700b, module_future$backports$urllib$parse, sizeof(void *) );
    frame_c1b89e18e321b038c2008c615cf1700b_3 = cache_frame_c1b89e18e321b038c2008c615cf1700b_3;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_c1b89e18e321b038c2008c615cf1700b_3 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_c1b89e18e321b038c2008c615cf1700b_3 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_129, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 131;
        type_description_2 = "o";
        goto frame_exception_exit_3;
    }
    }
    {
    PyObject *tmp_defaults_4;
    tmp_defaults_4 = const_tuple_str_plain_ascii_str_plain_strict_tuple;
    Py_INCREF( tmp_defaults_4 );
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_7_decode( tmp_defaults_4 );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_129, const_str_plain_decode, 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 = 133;
        type_description_2 = "o";
        goto frame_exception_exit_3;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_c1b89e18e321b038c2008c615cf1700b_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_c1b89e18e321b038c2008c615cf1700b_3 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_c1b89e18e321b038c2008c615cf1700b_3, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_c1b89e18e321b038c2008c615cf1700b_3->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_c1b89e18e321b038c2008c615cf1700b_3, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_c1b89e18e321b038c2008c615cf1700b_3,
        type_description_2,
        outline_1_var___class__
    );


    // Release cached frame.
    if ( frame_c1b89e18e321b038c2008c615cf1700b_3 == cache_frame_c1b89e18e321b038c2008c615cf1700b_3 )
    {
        Py_DECREF( frame_c1b89e18e321b038c2008c615cf1700b_3 );
    }
    cache_frame_c1b89e18e321b038c2008c615cf1700b_3 = NULL;

    assertFrameObject( frame_c1b89e18e321b038c2008c615cf1700b_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_8;
    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;
    tmp_compexpr_right_2 = const_tuple_type_object_tuple;
    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 = 129;

        goto try_except_handler_8;
    }
    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:;
    {
    tmp_dictset_value = const_tuple_type_object_tuple;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_129, 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 = 129;

        goto try_except_handler_8;
    }
    }
    branch_no_8:;
    }
    {
    PyObject *tmp_assign_source_49;
    PyObject *tmp_called_name_4;
    PyObject *tmp_args_name_4;
    PyObject *tmp_tuple_element_8;
    PyObject *tmp_kw_name_4;
    CHECK_OBJECT( tmp_class_creation_2__metaclass );
    tmp_called_name_4 = tmp_class_creation_2__metaclass;
    tmp_tuple_element_8 = const_str_plain__ResultMixinBytes;
    tmp_args_name_4 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_8 );
    PyTuple_SET_ITEM( tmp_args_name_4, 0, tmp_tuple_element_8 );
    CHECK_OBJECT( tmp_class_creation_2__bases );
    tmp_tuple_element_8 = tmp_class_creation_2__bases;
    Py_INCREF( tmp_tuple_element_8 );
    PyTuple_SET_ITEM( tmp_args_name_4, 1, tmp_tuple_element_8 );
    tmp_tuple_element_8 = locals_future$backports$urllib$parse_129;
    Py_INCREF( tmp_tuple_element_8 );
    PyTuple_SET_ITEM( tmp_args_name_4, 2, tmp_tuple_element_8 );
    CHECK_OBJECT( tmp_class_creation_2__class_decl_dict );
    tmp_kw_name_4 = tmp_class_creation_2__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 129;
    tmp_assign_source_49 = CALL_FUNCTION( tmp_called_name_4, tmp_args_name_4, tmp_kw_name_4 );
    Py_DECREF( tmp_args_name_4 );
    if ( tmp_assign_source_49 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 129;

        goto try_except_handler_8;
    }
    assert( outline_1_var___class__ == NULL );
    outline_1_var___class__ = tmp_assign_source_49;

    }
    {
    CHECK_OBJECT( outline_1_var___class__ );
    tmp_assign_source_48 = outline_1_var___class__;
    Py_INCREF( tmp_assign_source_48 );
    goto try_return_handler_8;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_8:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_129 );
    locals_future$backports$urllib$parse_129 = NULL;
    }
    {
    goto try_return_handler_7;
    }
    // Exception handler code:
    try_except_handler_8:;
    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;

    {
    Py_DECREF( locals_future$backports$urllib$parse_129 );
    locals_future$backports$urllib$parse_129 = 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 try_except_handler_7;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_7:;
    {
    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_7:;
    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;

    {
    // 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 outline_exception_2;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_2:;
    exception_lineno = 129;
    goto try_except_handler_6;
    outline_result_2:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ResultMixinBytes, tmp_assign_source_48 );
    }
    goto try_end_4;
    // Exception handler code:
    try_except_handler_6:;
    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;

    {
    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_8;
    exception_value = exception_keeper_value_8;
    exception_tb = exception_keeper_tb_8;
    exception_lineno = exception_keeper_lineno_8;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_4:;
    }
    {
    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_50;
    PyObject *tmp_dircall_arg1_3;
    tmp_dircall_arg1_3 = const_tuple_type_object_tuple;
    Py_INCREF( tmp_dircall_arg1_3 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_3};
        tmp_assign_source_50 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_50 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 137;

        goto try_except_handler_9;
    }
    assert( tmp_class_creation_3__bases == NULL );
    tmp_class_creation_3__bases = tmp_assign_source_50;

    }
    {
    PyObject *tmp_assign_source_51;
    tmp_assign_source_51 = PyDict_New();
    assert( tmp_class_creation_3__class_decl_dict == NULL );
    tmp_class_creation_3__class_decl_dict = tmp_assign_source_51;

    }
    {
    PyObject *tmp_assign_source_52;
    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 = 137;

        goto try_except_handler_9;
    }
    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 = 137;

        goto try_except_handler_9;
    }
    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 = 137;

        goto try_except_handler_9;
    }
    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 = 137;

        goto try_except_handler_9;
    }
    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 = 137;

        goto try_except_handler_9;
    }
    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_52 = SELECT_METACLASS( tmp_metaclass_name_3, tmp_bases_name_3 );
    Py_DECREF( tmp_metaclass_name_3 );
    if ( tmp_assign_source_52 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 137;

        goto try_except_handler_9;
    }
    assert( tmp_class_creation_3__metaclass == NULL );
    tmp_class_creation_3__metaclass = tmp_assign_source_52;

    }
    {
    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 = 137;

        goto try_except_handler_9;
    }
    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 = 137;

        goto try_except_handler_9;
    }
    }
    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_53;
    PyObject *tmp_called_name_5;
    PyObject *tmp_source_name_10;
    PyObject *tmp_args_name_5;
    PyObject *tmp_tuple_element_9;
    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 = 137;

        goto try_except_handler_9;
    }
    tmp_tuple_element_9 = const_str_plain__NetlocResultMixinBase;
    tmp_args_name_5 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_9 );
    PyTuple_SET_ITEM( tmp_args_name_5, 0, tmp_tuple_element_9 );
    CHECK_OBJECT( tmp_class_creation_3__bases );
    tmp_tuple_element_9 = tmp_class_creation_3__bases;
    Py_INCREF( tmp_tuple_element_9 );
    PyTuple_SET_ITEM( tmp_args_name_5, 1, tmp_tuple_element_9 );
    CHECK_OBJECT( tmp_class_creation_3__class_decl_dict );
    tmp_kw_name_5 = tmp_class_creation_3__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 137;
    tmp_assign_source_53 = 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_53 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 137;

        goto try_except_handler_9;
    }
    assert( tmp_class_creation_3__prepared == NULL );
    tmp_class_creation_3__prepared = tmp_assign_source_53;

    }
    {
    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 = 137;

        goto try_except_handler_9;
    }
    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_10;
    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_10 = BUILTIN_GETATTR( tmp_getattr_target_3, tmp_getattr_attr_3, tmp_getattr_default_3 );
    if ( tmp_tuple_element_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 137;

        goto try_except_handler_9;
    }
    tmp_right_name_3 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_3, 0, tmp_tuple_element_10 );
    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_10 = LOOKUP_ATTRIBUTE( tmp_source_name_12, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_12 );
    if ( tmp_tuple_element_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_3 );

        exception_lineno = 137;

        goto try_except_handler_9;
    }
    PyTuple_SET_ITEM( tmp_right_name_3, 1, tmp_tuple_element_10 );
    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 = 137;

        goto try_except_handler_9;
    }
    exception_type = tmp_raise_type_3;
    Py_INCREF( tmp_raise_type_3 );
    exception_value = tmp_raise_value_3;
    exception_lineno = 137;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_9;
    }
    branch_no_11:;
    }
    goto branch_end_10;
    branch_no_10:;
    {
    PyObject *tmp_assign_source_54;
    tmp_assign_source_54 = PyDict_New();
    assert( tmp_class_creation_3__prepared == NULL );
    tmp_class_creation_3__prepared = tmp_assign_source_54;

    }
    branch_end_10:;
    }
    {
    PyObject *tmp_assign_source_55;
    {
    PyObject *tmp_set_locals_3;
    CHECK_OBJECT( tmp_class_creation_3__prepared );
    tmp_set_locals_3 = tmp_class_creation_3__prepared;
    locals_future$backports$urllib$parse_137 = tmp_set_locals_3;
    Py_INCREF( tmp_set_locals_3 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_137, 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 = 137;

        goto try_except_handler_11;
    }
    }
    {
    tmp_dictset_value = const_str_digest_4b783ace006732e3fd954e69d79eea69;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_137, 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 = 137;

        goto try_except_handler_11;
    }
    }
    {
    tmp_dictset_value = const_str_plain__NetlocResultMixinBase;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_137, 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 = 137;

        goto try_except_handler_11;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_4dfd38f40fb8e9622f537de8902006d7_4, codeobj_4dfd38f40fb8e9622f537de8902006d7, module_future$backports$urllib$parse, sizeof(void *) );
    frame_4dfd38f40fb8e9622f537de8902006d7_4 = cache_frame_4dfd38f40fb8e9622f537de8902006d7_4;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_4dfd38f40fb8e9622f537de8902006d7_4 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_4dfd38f40fb8e9622f537de8902006d7_4 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_137, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 139;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    }
    {
    nuitka_bool tmp_condition_result_18;
    PyObject *tmp_called_name_6;
    PyObject *tmp_args_element_name_1;
    PyObject *tmp_called_name_7;
    PyObject *tmp_args_element_name_2;
    tmp_res = MAPPING_HAS_ITEM( locals_future$backports$urllib$parse_137, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 141;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    tmp_condition_result_18 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_18 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_7;
    }
    else
    {
        goto condexpr_false_7;
    }
    condexpr_true_7:;
    tmp_called_name_6 = PyObject_GetItem( locals_future$backports$urllib$parse_137, const_str_plain_property );

    if ( tmp_called_name_6 == 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 = 141;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }

    if ( tmp_called_name_6 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 141;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    tmp_args_element_name_1 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_8_username(  );



    frame_4dfd38f40fb8e9622f537de8902006d7_4->m_frame.f_lineno = 141;
    {
        PyObject *call_args[] = { tmp_args_element_name_1 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_6, call_args );
    }

    Py_DECREF( tmp_called_name_6 );
    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 = 141;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    goto condexpr_end_7;
    condexpr_false_7:;
    tmp_called_name_7 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_2 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_8_username(  );



    frame_4dfd38f40fb8e9622f537de8902006d7_4->m_frame.f_lineno = 141;
    {
        PyObject *call_args[] = { tmp_args_element_name_2 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_7, call_args );
    }

    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 = 141;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    condexpr_end_7:;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_137, const_str_plain_username, 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 = 141;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    }
    {
    nuitka_bool tmp_condition_result_19;
    PyObject *tmp_called_name_8;
    PyObject *tmp_args_element_name_3;
    PyObject *tmp_called_name_9;
    PyObject *tmp_args_element_name_4;
    tmp_res = MAPPING_HAS_ITEM( locals_future$backports$urllib$parse_137, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 145;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    tmp_condition_result_19 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_19 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_8;
    }
    else
    {
        goto condexpr_false_8;
    }
    condexpr_true_8:;
    tmp_called_name_8 = PyObject_GetItem( locals_future$backports$urllib$parse_137, const_str_plain_property );

    if ( tmp_called_name_8 == 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 = 145;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }

    if ( tmp_called_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 145;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    tmp_args_element_name_3 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_9_password(  );



    frame_4dfd38f40fb8e9622f537de8902006d7_4->m_frame.f_lineno = 145;
    {
        PyObject *call_args[] = { tmp_args_element_name_3 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_8, call_args );
    }

    Py_DECREF( tmp_called_name_8 );
    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 = 145;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    goto condexpr_end_8;
    condexpr_false_8:;
    tmp_called_name_9 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_4 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_9_password(  );



    frame_4dfd38f40fb8e9622f537de8902006d7_4->m_frame.f_lineno = 145;
    {
        PyObject *call_args[] = { tmp_args_element_name_4 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_9, 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 = 145;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    condexpr_end_8:;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_137, const_str_plain_password, 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 = 145;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    }
    {
    nuitka_bool tmp_condition_result_20;
    PyObject *tmp_called_name_10;
    PyObject *tmp_args_element_name_5;
    PyObject *tmp_called_name_11;
    PyObject *tmp_args_element_name_6;
    tmp_res = MAPPING_HAS_ITEM( locals_future$backports$urllib$parse_137, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 149;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    tmp_condition_result_20 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_20 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_9;
    }
    else
    {
        goto condexpr_false_9;
    }
    condexpr_true_9:;
    tmp_called_name_10 = PyObject_GetItem( locals_future$backports$urllib$parse_137, const_str_plain_property );

    if ( tmp_called_name_10 == 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 = 149;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }

    if ( tmp_called_name_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 149;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    tmp_args_element_name_5 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_10_hostname(  );



    frame_4dfd38f40fb8e9622f537de8902006d7_4->m_frame.f_lineno = 149;
    {
        PyObject *call_args[] = { tmp_args_element_name_5 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_10, call_args );
    }

    Py_DECREF( tmp_called_name_10 );
    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 = 149;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    goto condexpr_end_9;
    condexpr_false_9:;
    tmp_called_name_11 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_6 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_10_hostname(  );



    frame_4dfd38f40fb8e9622f537de8902006d7_4->m_frame.f_lineno = 149;
    {
        PyObject *call_args[] = { tmp_args_element_name_6 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_11, 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 = 149;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    condexpr_end_9:;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_137, const_str_plain_hostname, 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 = 149;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    }
    {
    nuitka_bool tmp_condition_result_21;
    PyObject *tmp_called_name_12;
    PyObject *tmp_args_element_name_7;
    PyObject *tmp_called_name_13;
    PyObject *tmp_args_element_name_8;
    tmp_res = MAPPING_HAS_ITEM( locals_future$backports$urllib$parse_137, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 158;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    tmp_condition_result_21 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_21 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_10;
    }
    else
    {
        goto condexpr_false_10;
    }
    condexpr_true_10:;
    tmp_called_name_12 = PyObject_GetItem( locals_future$backports$urllib$parse_137, const_str_plain_property );

    if ( tmp_called_name_12 == 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 = 158;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }

    if ( tmp_called_name_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 158;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    tmp_args_element_name_7 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_11_port(  );



    frame_4dfd38f40fb8e9622f537de8902006d7_4->m_frame.f_lineno = 158;
    {
        PyObject *call_args[] = { tmp_args_element_name_7 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_12, call_args );
    }

    Py_DECREF( tmp_called_name_12 );
    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 = 158;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    goto condexpr_end_10;
    condexpr_false_10:;
    tmp_called_name_13 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_8 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_11_port(  );



    frame_4dfd38f40fb8e9622f537de8902006d7_4->m_frame.f_lineno = 158;
    {
        PyObject *call_args[] = { tmp_args_element_name_8 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_13, 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 = 158;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    condexpr_end_10:;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_137, const_str_plain_port, 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 = 158;
        type_description_2 = "o";
        goto frame_exception_exit_4;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_4dfd38f40fb8e9622f537de8902006d7_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_4dfd38f40fb8e9622f537de8902006d7_4 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_4dfd38f40fb8e9622f537de8902006d7_4, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_4dfd38f40fb8e9622f537de8902006d7_4->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_4dfd38f40fb8e9622f537de8902006d7_4, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_4dfd38f40fb8e9622f537de8902006d7_4,
        type_description_2,
        outline_2_var___class__
    );


    // Release cached frame.
    if ( frame_4dfd38f40fb8e9622f537de8902006d7_4 == cache_frame_4dfd38f40fb8e9622f537de8902006d7_4 )
    {
        Py_DECREF( frame_4dfd38f40fb8e9622f537de8902006d7_4 );
    }
    cache_frame_4dfd38f40fb8e9622f537de8902006d7_4 = NULL;

    assertFrameObject( frame_4dfd38f40fb8e9622f537de8902006d7_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_11;
    skip_nested_handling_3:;
    {
    nuitka_bool tmp_condition_result_22;
    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;
    tmp_compexpr_right_3 = const_tuple_type_object_tuple;
    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 = 137;

        goto try_except_handler_11;
    }
    tmp_condition_result_22 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_22 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_12;
    }
    else
    {
        goto branch_no_12;
    }
    branch_yes_12:;
    {
    tmp_dictset_value = const_tuple_type_object_tuple;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_137, 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 = 137;

        goto try_except_handler_11;
    }
    }
    branch_no_12:;
    }
    {
    PyObject *tmp_assign_source_56;
    PyObject *tmp_called_name_14;
    PyObject *tmp_args_name_6;
    PyObject *tmp_tuple_element_11;
    PyObject *tmp_kw_name_6;
    CHECK_OBJECT( tmp_class_creation_3__metaclass );
    tmp_called_name_14 = tmp_class_creation_3__metaclass;
    tmp_tuple_element_11 = const_str_plain__NetlocResultMixinBase;
    tmp_args_name_6 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_11 );
    PyTuple_SET_ITEM( tmp_args_name_6, 0, tmp_tuple_element_11 );
    CHECK_OBJECT( tmp_class_creation_3__bases );
    tmp_tuple_element_11 = tmp_class_creation_3__bases;
    Py_INCREF( tmp_tuple_element_11 );
    PyTuple_SET_ITEM( tmp_args_name_6, 1, tmp_tuple_element_11 );
    tmp_tuple_element_11 = locals_future$backports$urllib$parse_137;
    Py_INCREF( tmp_tuple_element_11 );
    PyTuple_SET_ITEM( tmp_args_name_6, 2, tmp_tuple_element_11 );
    CHECK_OBJECT( tmp_class_creation_3__class_decl_dict );
    tmp_kw_name_6 = tmp_class_creation_3__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 137;
    tmp_assign_source_56 = CALL_FUNCTION( tmp_called_name_14, tmp_args_name_6, tmp_kw_name_6 );
    Py_DECREF( tmp_args_name_6 );
    if ( tmp_assign_source_56 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 137;

        goto try_except_handler_11;
    }
    assert( outline_2_var___class__ == NULL );
    outline_2_var___class__ = tmp_assign_source_56;

    }
    {
    CHECK_OBJECT( outline_2_var___class__ );
    tmp_assign_source_55 = outline_2_var___class__;
    Py_INCREF( tmp_assign_source_55 );
    goto try_return_handler_11;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_11:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_137 );
    locals_future$backports$urllib$parse_137 = NULL;
    }
    {
    goto try_return_handler_10;
    }
    // Exception handler code:
    try_except_handler_11:;
    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_DECREF( locals_future$backports$urllib$parse_137 );
    locals_future$backports$urllib$parse_137 = 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 try_except_handler_10;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_10:;
    {
    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_10:;
    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;

    {
    // 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 outline_exception_3;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_3:;
    exception_lineno = 137;
    goto try_except_handler_9;
    outline_result_3:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBase, tmp_assign_source_55 );
    }
    goto try_end_5;
    // Exception handler code:
    try_except_handler_9:;
    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;

    {
    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_11;
    exception_value = exception_keeper_value_11;
    exception_tb = exception_keeper_tb_11;
    exception_lineno = exception_keeper_lineno_11;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_5:;
    }
    {
    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_57;
    PyObject *tmp_tuple_element_12;
    PyObject *tmp_mvar_value_5;
    PyObject *tmp_mvar_value_6;
    tmp_mvar_value_5 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBase );

    if (unlikely( tmp_mvar_value_5 == NULL ))
    {
        tmp_mvar_value_5 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBase );
    }

    if ( tmp_mvar_value_5 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_NetlocResultMixinBase" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 169;

        goto try_except_handler_12;
    }

    tmp_tuple_element_12 = tmp_mvar_value_5;
    tmp_assign_source_57 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_12 );
    PyTuple_SET_ITEM( tmp_assign_source_57, 0, tmp_tuple_element_12 );
    tmp_mvar_value_6 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ResultMixinStr );

    if (unlikely( tmp_mvar_value_6 == NULL ))
    {
        tmp_mvar_value_6 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ResultMixinStr );
    }

    if ( tmp_mvar_value_6 == NULL )
    {
        Py_DECREF( tmp_assign_source_57 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ResultMixinStr" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 169;

        goto try_except_handler_12;
    }

    tmp_tuple_element_12 = tmp_mvar_value_6;
    Py_INCREF( tmp_tuple_element_12 );
    PyTuple_SET_ITEM( tmp_assign_source_57, 1, tmp_tuple_element_12 );
    assert( tmp_class_creation_4__bases_orig == NULL );
    tmp_class_creation_4__bases_orig = tmp_assign_source_57;

    }
    {
    PyObject *tmp_assign_source_58;
    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_58 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_58 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 169;

        goto try_except_handler_12;
    }
    assert( tmp_class_creation_4__bases == NULL );
    tmp_class_creation_4__bases = tmp_assign_source_58;

    }
    {
    PyObject *tmp_assign_source_59;
    tmp_assign_source_59 = PyDict_New();
    assert( tmp_class_creation_4__class_decl_dict == NULL );
    tmp_class_creation_4__class_decl_dict = tmp_assign_source_59;

    }
    {
    PyObject *tmp_assign_source_60;
    PyObject *tmp_metaclass_name_4;
    nuitka_bool tmp_condition_result_23;
    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_24;
    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 = 169;

        goto try_except_handler_12;
    }
    tmp_condition_result_23 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_23 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_11;
    }
    else
    {
        goto condexpr_false_11;
    }
    condexpr_true_11:;
    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 = 169;

        goto try_except_handler_12;
    }
    goto condexpr_end_11;
    condexpr_false_11:;
    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 = 169;

        goto try_except_handler_12;
    }
    tmp_condition_result_24 = tmp_truth_name_4 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_24 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_12;
    }
    else
    {
        goto condexpr_false_12;
    }
    condexpr_true_12:;
    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 = 169;

        goto try_except_handler_12;
    }
    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 = 169;

        goto try_except_handler_12;
    }
    goto condexpr_end_12;
    condexpr_false_12:;
    tmp_metaclass_name_4 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_4 );
    condexpr_end_12:;
    condexpr_end_11:;
    CHECK_OBJECT( tmp_class_creation_4__bases );
    tmp_bases_name_4 = tmp_class_creation_4__bases;
    tmp_assign_source_60 = SELECT_METACLASS( tmp_metaclass_name_4, tmp_bases_name_4 );
    Py_DECREF( tmp_metaclass_name_4 );
    if ( tmp_assign_source_60 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 169;

        goto try_except_handler_12;
    }
    assert( tmp_class_creation_4__metaclass == NULL );
    tmp_class_creation_4__metaclass = tmp_assign_source_60;

    }
    {
    nuitka_bool tmp_condition_result_25;
    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 = 169;

        goto try_except_handler_12;
    }
    tmp_condition_result_25 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_25 == 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 = 169;

        goto try_except_handler_12;
    }
    }
    branch_no_13:;
    }
    {
    nuitka_bool tmp_condition_result_26;
    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_26 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_26 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_14;
    }
    else
    {
        goto branch_no_14;
    }
    branch_yes_14:;
    {
    PyObject *tmp_assign_source_61;
    PyObject *tmp_called_name_15;
    PyObject *tmp_source_name_14;
    PyObject *tmp_args_name_7;
    PyObject *tmp_tuple_element_13;
    PyObject *tmp_kw_name_7;
    CHECK_OBJECT( tmp_class_creation_4__metaclass );
    tmp_source_name_14 = tmp_class_creation_4__metaclass;
    tmp_called_name_15 = LOOKUP_ATTRIBUTE( tmp_source_name_14, const_str_plain___prepare__ );
    if ( tmp_called_name_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 169;

        goto try_except_handler_12;
    }
    tmp_tuple_element_13 = const_str_plain__NetlocResultMixinStr;
    tmp_args_name_7 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_13 );
    PyTuple_SET_ITEM( tmp_args_name_7, 0, tmp_tuple_element_13 );
    CHECK_OBJECT( tmp_class_creation_4__bases );
    tmp_tuple_element_13 = tmp_class_creation_4__bases;
    Py_INCREF( tmp_tuple_element_13 );
    PyTuple_SET_ITEM( tmp_args_name_7, 1, tmp_tuple_element_13 );
    CHECK_OBJECT( tmp_class_creation_4__class_decl_dict );
    tmp_kw_name_7 = tmp_class_creation_4__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 169;
    tmp_assign_source_61 = CALL_FUNCTION( tmp_called_name_15, tmp_args_name_7, tmp_kw_name_7 );
    Py_DECREF( tmp_called_name_15 );
    Py_DECREF( tmp_args_name_7 );
    if ( tmp_assign_source_61 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 169;

        goto try_except_handler_12;
    }
    assert( tmp_class_creation_4__prepared == NULL );
    tmp_class_creation_4__prepared = tmp_assign_source_61;

    }
    {
    nuitka_bool tmp_condition_result_27;
    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 = 169;

        goto try_except_handler_12;
    }
    tmp_condition_result_27 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_27 == 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_14;
    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_14 = BUILTIN_GETATTR( tmp_getattr_target_4, tmp_getattr_attr_4, tmp_getattr_default_4 );
    if ( tmp_tuple_element_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 169;

        goto try_except_handler_12;
    }
    tmp_right_name_4 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_4, 0, tmp_tuple_element_14 );
    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_14 = LOOKUP_ATTRIBUTE( tmp_source_name_16, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_16 );
    if ( tmp_tuple_element_14 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_4 );

        exception_lineno = 169;

        goto try_except_handler_12;
    }
    PyTuple_SET_ITEM( tmp_right_name_4, 1, tmp_tuple_element_14 );
    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 = 169;

        goto try_except_handler_12;
    }
    exception_type = tmp_raise_type_4;
    Py_INCREF( tmp_raise_type_4 );
    exception_value = tmp_raise_value_4;
    exception_lineno = 169;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_12;
    }
    branch_no_15:;
    }
    goto branch_end_14;
    branch_no_14:;
    {
    PyObject *tmp_assign_source_62;
    tmp_assign_source_62 = PyDict_New();
    assert( tmp_class_creation_4__prepared == NULL );
    tmp_class_creation_4__prepared = tmp_assign_source_62;

    }
    branch_end_14:;
    }
    {
    PyObject *tmp_assign_source_63;
    {
    PyObject *tmp_set_locals_4;
    CHECK_OBJECT( tmp_class_creation_4__prepared );
    tmp_set_locals_4 = tmp_class_creation_4__prepared;
    locals_future$backports$urllib$parse_169 = tmp_set_locals_4;
    Py_INCREF( tmp_set_locals_4 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_169, 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 = 169;

        goto try_except_handler_14;
    }
    }
    {
    tmp_dictset_value = const_str_plain__NetlocResultMixinStr;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_169, 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 = 169;

        goto try_except_handler_14;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_0c9939eedb0b40833f68a028fd001e05_5, codeobj_0c9939eedb0b40833f68a028fd001e05, module_future$backports$urllib$parse, sizeof(void *) );
    frame_0c9939eedb0b40833f68a028fd001e05_5 = cache_frame_0c9939eedb0b40833f68a028fd001e05_5;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_0c9939eedb0b40833f68a028fd001e05_5 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_0c9939eedb0b40833f68a028fd001e05_5 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_169, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 170;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    }
    {
    nuitka_bool tmp_condition_result_28;
    PyObject *tmp_called_name_16;
    PyObject *tmp_args_element_name_9;
    PyObject *tmp_called_name_17;
    PyObject *tmp_args_element_name_10;
    tmp_res = MAPPING_HAS_ITEM( locals_future$backports$urllib$parse_169, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 172;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    tmp_condition_result_28 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_28 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_13;
    }
    else
    {
        goto condexpr_false_13;
    }
    condexpr_true_13:;
    tmp_called_name_16 = PyObject_GetItem( locals_future$backports$urllib$parse_169, const_str_plain_property );

    if ( tmp_called_name_16 == 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 = 172;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }

    if ( tmp_called_name_16 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 172;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    tmp_args_element_name_9 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_12__userinfo(  );



    frame_0c9939eedb0b40833f68a028fd001e05_5->m_frame.f_lineno = 172;
    {
        PyObject *call_args[] = { tmp_args_element_name_9 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_16, call_args );
    }

    Py_DECREF( tmp_called_name_16 );
    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 = 172;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    goto condexpr_end_13;
    condexpr_false_13:;
    tmp_called_name_17 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_10 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_12__userinfo(  );



    frame_0c9939eedb0b40833f68a028fd001e05_5->m_frame.f_lineno = 172;
    {
        PyObject *call_args[] = { tmp_args_element_name_10 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_17, 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 = 172;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    condexpr_end_13:;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_169, const_str_plain__userinfo, 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 = 172;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    }
    {
    nuitka_bool tmp_condition_result_29;
    PyObject *tmp_called_name_18;
    PyObject *tmp_args_element_name_11;
    PyObject *tmp_called_name_19;
    PyObject *tmp_args_element_name_12;
    tmp_res = MAPPING_HAS_ITEM( locals_future$backports$urllib$parse_169, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 184;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    tmp_condition_result_29 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_29 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_14;
    }
    else
    {
        goto condexpr_false_14;
    }
    condexpr_true_14:;
    tmp_called_name_18 = PyObject_GetItem( locals_future$backports$urllib$parse_169, const_str_plain_property );

    if ( tmp_called_name_18 == 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 = 184;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }

    if ( tmp_called_name_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 184;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    tmp_args_element_name_11 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_13__hostinfo(  );



    frame_0c9939eedb0b40833f68a028fd001e05_5->m_frame.f_lineno = 184;
    {
        PyObject *call_args[] = { tmp_args_element_name_11 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_18, call_args );
    }

    Py_DECREF( tmp_called_name_18 );
    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 = 184;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    goto condexpr_end_14;
    condexpr_false_14:;
    tmp_called_name_19 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_12 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_13__hostinfo(  );



    frame_0c9939eedb0b40833f68a028fd001e05_5->m_frame.f_lineno = 184;
    {
        PyObject *call_args[] = { tmp_args_element_name_12 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_19, 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 = 184;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    condexpr_end_14:;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_169, const_str_plain__hostinfo, 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 = 184;
        type_description_2 = "o";
        goto frame_exception_exit_5;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_0c9939eedb0b40833f68a028fd001e05_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_0c9939eedb0b40833f68a028fd001e05_5 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_0c9939eedb0b40833f68a028fd001e05_5, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_0c9939eedb0b40833f68a028fd001e05_5->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_0c9939eedb0b40833f68a028fd001e05_5, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_0c9939eedb0b40833f68a028fd001e05_5,
        type_description_2,
        outline_3_var___class__
    );


    // Release cached frame.
    if ( frame_0c9939eedb0b40833f68a028fd001e05_5 == cache_frame_0c9939eedb0b40833f68a028fd001e05_5 )
    {
        Py_DECREF( frame_0c9939eedb0b40833f68a028fd001e05_5 );
    }
    cache_frame_0c9939eedb0b40833f68a028fd001e05_5 = NULL;

    assertFrameObject( frame_0c9939eedb0b40833f68a028fd001e05_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_14;
    skip_nested_handling_4:;
    {
    nuitka_bool tmp_condition_result_30;
    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 = 169;

        goto try_except_handler_14;
    }
    tmp_condition_result_30 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_30 == 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_future$backports$urllib$parse_169, 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 = 169;

        goto try_except_handler_14;
    }
    }
    branch_no_16:;
    }
    {
    PyObject *tmp_assign_source_64;
    PyObject *tmp_called_name_20;
    PyObject *tmp_args_name_8;
    PyObject *tmp_tuple_element_15;
    PyObject *tmp_kw_name_8;
    CHECK_OBJECT( tmp_class_creation_4__metaclass );
    tmp_called_name_20 = tmp_class_creation_4__metaclass;
    tmp_tuple_element_15 = const_str_plain__NetlocResultMixinStr;
    tmp_args_name_8 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_15 );
    PyTuple_SET_ITEM( tmp_args_name_8, 0, tmp_tuple_element_15 );
    CHECK_OBJECT( tmp_class_creation_4__bases );
    tmp_tuple_element_15 = tmp_class_creation_4__bases;
    Py_INCREF( tmp_tuple_element_15 );
    PyTuple_SET_ITEM( tmp_args_name_8, 1, tmp_tuple_element_15 );
    tmp_tuple_element_15 = locals_future$backports$urllib$parse_169;
    Py_INCREF( tmp_tuple_element_15 );
    PyTuple_SET_ITEM( tmp_args_name_8, 2, tmp_tuple_element_15 );
    CHECK_OBJECT( tmp_class_creation_4__class_decl_dict );
    tmp_kw_name_8 = tmp_class_creation_4__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 169;
    tmp_assign_source_64 = CALL_FUNCTION( tmp_called_name_20, tmp_args_name_8, tmp_kw_name_8 );
    Py_DECREF( tmp_args_name_8 );
    if ( tmp_assign_source_64 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 169;

        goto try_except_handler_14;
    }
    assert( outline_3_var___class__ == NULL );
    outline_3_var___class__ = tmp_assign_source_64;

    }
    {
    CHECK_OBJECT( outline_3_var___class__ );
    tmp_assign_source_63 = outline_3_var___class__;
    Py_INCREF( tmp_assign_source_63 );
    goto try_return_handler_14;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_14:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_169 );
    locals_future$backports$urllib$parse_169 = NULL;
    }
    {
    goto try_return_handler_13;
    }
    // Exception handler code:
    try_except_handler_14:;
    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_DECREF( locals_future$backports$urllib$parse_169 );
    locals_future$backports$urllib$parse_169 = 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 try_except_handler_13;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_13:;
    {
    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_13:;
    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;

    {
    // 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 outline_exception_4;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_4:;
    exception_lineno = 169;
    goto try_except_handler_12;
    outline_result_4:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinStr, tmp_assign_source_63 );
    }
    goto try_end_6;
    // Exception handler code:
    try_except_handler_12:;
    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;

    {
    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_14;
    exception_value = exception_keeper_value_14;
    exception_tb = exception_keeper_tb_14;
    exception_lineno = exception_keeper_lineno_14;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_6:;
    }
    {
    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_65;
    PyObject *tmp_tuple_element_16;
    PyObject *tmp_mvar_value_7;
    PyObject *tmp_mvar_value_8;
    tmp_mvar_value_7 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBase );

    if (unlikely( tmp_mvar_value_7 == NULL ))
    {
        tmp_mvar_value_7 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBase );
    }

    if ( tmp_mvar_value_7 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_NetlocResultMixinBase" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 199;

        goto try_except_handler_15;
    }

    tmp_tuple_element_16 = tmp_mvar_value_7;
    tmp_assign_source_65 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_16 );
    PyTuple_SET_ITEM( tmp_assign_source_65, 0, tmp_tuple_element_16 );
    tmp_mvar_value_8 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ResultMixinBytes );

    if (unlikely( tmp_mvar_value_8 == NULL ))
    {
        tmp_mvar_value_8 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ResultMixinBytes );
    }

    if ( tmp_mvar_value_8 == NULL )
    {
        Py_DECREF( tmp_assign_source_65 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ResultMixinBytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 199;

        goto try_except_handler_15;
    }

    tmp_tuple_element_16 = tmp_mvar_value_8;
    Py_INCREF( tmp_tuple_element_16 );
    PyTuple_SET_ITEM( tmp_assign_source_65, 1, tmp_tuple_element_16 );
    assert( tmp_class_creation_5__bases_orig == NULL );
    tmp_class_creation_5__bases_orig = tmp_assign_source_65;

    }
    {
    PyObject *tmp_assign_source_66;
    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_66 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_66 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 199;

        goto try_except_handler_15;
    }
    assert( tmp_class_creation_5__bases == NULL );
    tmp_class_creation_5__bases = tmp_assign_source_66;

    }
    {
    PyObject *tmp_assign_source_67;
    tmp_assign_source_67 = PyDict_New();
    assert( tmp_class_creation_5__class_decl_dict == NULL );
    tmp_class_creation_5__class_decl_dict = tmp_assign_source_67;

    }
    {
    PyObject *tmp_assign_source_68;
    PyObject *tmp_metaclass_name_5;
    nuitka_bool tmp_condition_result_31;
    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_32;
    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 = 199;

        goto try_except_handler_15;
    }
    tmp_condition_result_31 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_31 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_15;
    }
    else
    {
        goto condexpr_false_15;
    }
    condexpr_true_15:;
    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 = 199;

        goto try_except_handler_15;
    }
    goto condexpr_end_15;
    condexpr_false_15:;
    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 = 199;

        goto try_except_handler_15;
    }
    tmp_condition_result_32 = tmp_truth_name_5 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_32 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_16;
    }
    else
    {
        goto condexpr_false_16;
    }
    condexpr_true_16:;
    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 = 199;

        goto try_except_handler_15;
    }
    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 = 199;

        goto try_except_handler_15;
    }
    goto condexpr_end_16;
    condexpr_false_16:;
    tmp_metaclass_name_5 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_5 );
    condexpr_end_16:;
    condexpr_end_15:;
    CHECK_OBJECT( tmp_class_creation_5__bases );
    tmp_bases_name_5 = tmp_class_creation_5__bases;
    tmp_assign_source_68 = SELECT_METACLASS( tmp_metaclass_name_5, tmp_bases_name_5 );
    Py_DECREF( tmp_metaclass_name_5 );
    if ( tmp_assign_source_68 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 199;

        goto try_except_handler_15;
    }
    assert( tmp_class_creation_5__metaclass == NULL );
    tmp_class_creation_5__metaclass = tmp_assign_source_68;

    }
    {
    nuitka_bool tmp_condition_result_33;
    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 = 199;

        goto try_except_handler_15;
    }
    tmp_condition_result_33 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_33 == 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 = 199;

        goto try_except_handler_15;
    }
    }
    branch_no_17:;
    }
    {
    nuitka_bool tmp_condition_result_34;
    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_34 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_34 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_18;
    }
    else
    {
        goto branch_no_18;
    }
    branch_yes_18:;
    {
    PyObject *tmp_assign_source_69;
    PyObject *tmp_called_name_21;
    PyObject *tmp_source_name_18;
    PyObject *tmp_args_name_9;
    PyObject *tmp_tuple_element_17;
    PyObject *tmp_kw_name_9;
    CHECK_OBJECT( tmp_class_creation_5__metaclass );
    tmp_source_name_18 = tmp_class_creation_5__metaclass;
    tmp_called_name_21 = LOOKUP_ATTRIBUTE( tmp_source_name_18, const_str_plain___prepare__ );
    if ( tmp_called_name_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 199;

        goto try_except_handler_15;
    }
    tmp_tuple_element_17 = const_str_plain__NetlocResultMixinBytes;
    tmp_args_name_9 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_17 );
    PyTuple_SET_ITEM( tmp_args_name_9, 0, tmp_tuple_element_17 );
    CHECK_OBJECT( tmp_class_creation_5__bases );
    tmp_tuple_element_17 = tmp_class_creation_5__bases;
    Py_INCREF( tmp_tuple_element_17 );
    PyTuple_SET_ITEM( tmp_args_name_9, 1, tmp_tuple_element_17 );
    CHECK_OBJECT( tmp_class_creation_5__class_decl_dict );
    tmp_kw_name_9 = tmp_class_creation_5__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 199;
    tmp_assign_source_69 = CALL_FUNCTION( tmp_called_name_21, tmp_args_name_9, tmp_kw_name_9 );
    Py_DECREF( tmp_called_name_21 );
    Py_DECREF( tmp_args_name_9 );
    if ( tmp_assign_source_69 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 199;

        goto try_except_handler_15;
    }
    assert( tmp_class_creation_5__prepared == NULL );
    tmp_class_creation_5__prepared = tmp_assign_source_69;

    }
    {
    nuitka_bool tmp_condition_result_35;
    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 = 199;

        goto try_except_handler_15;
    }
    tmp_condition_result_35 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_35 == 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_18;
    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_18 = BUILTIN_GETATTR( tmp_getattr_target_5, tmp_getattr_attr_5, tmp_getattr_default_5 );
    if ( tmp_tuple_element_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 199;

        goto try_except_handler_15;
    }
    tmp_right_name_5 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_5, 0, tmp_tuple_element_18 );
    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_18 = LOOKUP_ATTRIBUTE( tmp_source_name_20, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_20 );
    if ( tmp_tuple_element_18 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_5 );

        exception_lineno = 199;

        goto try_except_handler_15;
    }
    PyTuple_SET_ITEM( tmp_right_name_5, 1, tmp_tuple_element_18 );
    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 = 199;

        goto try_except_handler_15;
    }
    exception_type = tmp_raise_type_5;
    Py_INCREF( tmp_raise_type_5 );
    exception_value = tmp_raise_value_5;
    exception_lineno = 199;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_15;
    }
    branch_no_19:;
    }
    goto branch_end_18;
    branch_no_18:;
    {
    PyObject *tmp_assign_source_70;
    tmp_assign_source_70 = PyDict_New();
    assert( tmp_class_creation_5__prepared == NULL );
    tmp_class_creation_5__prepared = tmp_assign_source_70;

    }
    branch_end_18:;
    }
    {
    PyObject *tmp_assign_source_71;
    {
    PyObject *tmp_set_locals_5;
    CHECK_OBJECT( tmp_class_creation_5__prepared );
    tmp_set_locals_5 = tmp_class_creation_5__prepared;
    locals_future$backports$urllib$parse_199 = tmp_set_locals_5;
    Py_INCREF( tmp_set_locals_5 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_199, 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 = 199;

        goto try_except_handler_17;
    }
    }
    {
    tmp_dictset_value = const_str_plain__NetlocResultMixinBytes;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_199, 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 = 199;

        goto try_except_handler_17;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_829cff24277b40c2759c38725bb30528_6, codeobj_829cff24277b40c2759c38725bb30528, module_future$backports$urllib$parse, sizeof(void *) );
    frame_829cff24277b40c2759c38725bb30528_6 = cache_frame_829cff24277b40c2759c38725bb30528_6;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_829cff24277b40c2759c38725bb30528_6 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_829cff24277b40c2759c38725bb30528_6 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_199, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 200;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    }
    {
    nuitka_bool tmp_condition_result_36;
    PyObject *tmp_called_name_22;
    PyObject *tmp_args_element_name_13;
    PyObject *tmp_called_name_23;
    PyObject *tmp_args_element_name_14;
    tmp_res = MAPPING_HAS_ITEM( locals_future$backports$urllib$parse_199, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 202;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    tmp_condition_result_36 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_36 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_17;
    }
    else
    {
        goto condexpr_false_17;
    }
    condexpr_true_17:;
    tmp_called_name_22 = PyObject_GetItem( locals_future$backports$urllib$parse_199, const_str_plain_property );

    if ( tmp_called_name_22 == 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 = 202;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }

    if ( tmp_called_name_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 202;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    tmp_args_element_name_13 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_14__userinfo(  );



    frame_829cff24277b40c2759c38725bb30528_6->m_frame.f_lineno = 202;
    {
        PyObject *call_args[] = { tmp_args_element_name_13 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_22, call_args );
    }

    Py_DECREF( tmp_called_name_22 );
    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 = 202;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    goto condexpr_end_17;
    condexpr_false_17:;
    tmp_called_name_23 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_14 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_14__userinfo(  );



    frame_829cff24277b40c2759c38725bb30528_6->m_frame.f_lineno = 202;
    {
        PyObject *call_args[] = { tmp_args_element_name_14 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_23, 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 = 202;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    condexpr_end_17:;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_199, const_str_plain__userinfo, 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 = 202;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    }
    {
    nuitka_bool tmp_condition_result_37;
    PyObject *tmp_called_name_24;
    PyObject *tmp_args_element_name_15;
    PyObject *tmp_called_name_25;
    PyObject *tmp_args_element_name_16;
    tmp_res = MAPPING_HAS_ITEM( locals_future$backports$urllib$parse_199, const_str_plain_property );

    if ( tmp_res == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 214;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    tmp_condition_result_37 = ( tmp_res == 1 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_37 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_18;
    }
    else
    {
        goto condexpr_false_18;
    }
    condexpr_true_18:;
    tmp_called_name_24 = PyObject_GetItem( locals_future$backports$urllib$parse_199, const_str_plain_property );

    if ( tmp_called_name_24 == 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 = 214;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }

    if ( tmp_called_name_24 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 214;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    tmp_args_element_name_15 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_15__hostinfo(  );



    frame_829cff24277b40c2759c38725bb30528_6->m_frame.f_lineno = 214;
    {
        PyObject *call_args[] = { tmp_args_element_name_15 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_24, call_args );
    }

    Py_DECREF( tmp_called_name_24 );
    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 = 214;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    goto condexpr_end_18;
    condexpr_false_18:;
    tmp_called_name_25 = (PyObject *)&PyProperty_Type;
    tmp_args_element_name_16 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_15__hostinfo(  );



    frame_829cff24277b40c2759c38725bb30528_6->m_frame.f_lineno = 214;
    {
        PyObject *call_args[] = { tmp_args_element_name_16 };
        tmp_dictset_value = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_25, 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 = 214;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    condexpr_end_18:;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_199, const_str_plain__hostinfo, 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 = 214;
        type_description_2 = "o";
        goto frame_exception_exit_6;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_829cff24277b40c2759c38725bb30528_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_829cff24277b40c2759c38725bb30528_6 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_829cff24277b40c2759c38725bb30528_6, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_829cff24277b40c2759c38725bb30528_6->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_829cff24277b40c2759c38725bb30528_6, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_829cff24277b40c2759c38725bb30528_6,
        type_description_2,
        outline_4_var___class__
    );


    // Release cached frame.
    if ( frame_829cff24277b40c2759c38725bb30528_6 == cache_frame_829cff24277b40c2759c38725bb30528_6 )
    {
        Py_DECREF( frame_829cff24277b40c2759c38725bb30528_6 );
    }
    cache_frame_829cff24277b40c2759c38725bb30528_6 = NULL;

    assertFrameObject( frame_829cff24277b40c2759c38725bb30528_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_17;
    skip_nested_handling_5:;
    {
    nuitka_bool tmp_condition_result_38;
    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 = 199;

        goto try_except_handler_17;
    }
    tmp_condition_result_38 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_38 == 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_future$backports$urllib$parse_199, 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 = 199;

        goto try_except_handler_17;
    }
    }
    branch_no_20:;
    }
    {
    PyObject *tmp_assign_source_72;
    PyObject *tmp_called_name_26;
    PyObject *tmp_args_name_10;
    PyObject *tmp_tuple_element_19;
    PyObject *tmp_kw_name_10;
    CHECK_OBJECT( tmp_class_creation_5__metaclass );
    tmp_called_name_26 = tmp_class_creation_5__metaclass;
    tmp_tuple_element_19 = const_str_plain__NetlocResultMixinBytes;
    tmp_args_name_10 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_19 );
    PyTuple_SET_ITEM( tmp_args_name_10, 0, tmp_tuple_element_19 );
    CHECK_OBJECT( tmp_class_creation_5__bases );
    tmp_tuple_element_19 = tmp_class_creation_5__bases;
    Py_INCREF( tmp_tuple_element_19 );
    PyTuple_SET_ITEM( tmp_args_name_10, 1, tmp_tuple_element_19 );
    tmp_tuple_element_19 = locals_future$backports$urllib$parse_199;
    Py_INCREF( tmp_tuple_element_19 );
    PyTuple_SET_ITEM( tmp_args_name_10, 2, tmp_tuple_element_19 );
    CHECK_OBJECT( tmp_class_creation_5__class_decl_dict );
    tmp_kw_name_10 = tmp_class_creation_5__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 199;
    tmp_assign_source_72 = CALL_FUNCTION( tmp_called_name_26, tmp_args_name_10, tmp_kw_name_10 );
    Py_DECREF( tmp_args_name_10 );
    if ( tmp_assign_source_72 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 199;

        goto try_except_handler_17;
    }
    assert( outline_4_var___class__ == NULL );
    outline_4_var___class__ = tmp_assign_source_72;

    }
    {
    CHECK_OBJECT( outline_4_var___class__ );
    tmp_assign_source_71 = outline_4_var___class__;
    Py_INCREF( tmp_assign_source_71 );
    goto try_return_handler_17;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_17:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_199 );
    locals_future$backports$urllib$parse_199 = NULL;
    }
    {
    goto try_return_handler_16;
    }
    // Exception handler code:
    try_except_handler_17:;
    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_DECREF( locals_future$backports$urllib$parse_199 );
    locals_future$backports$urllib$parse_199 = 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 try_except_handler_16;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_16:;
    {
    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_16:;
    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;

    {
    // 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 outline_exception_5;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_5:;
    exception_lineno = 199;
    goto try_except_handler_15;
    outline_result_5:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBytes, tmp_assign_source_71 );
    }
    goto try_end_7;
    // Exception handler code:
    try_except_handler_15:;
    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;

    {
    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_17;
    exception_value = exception_keeper_value_17;
    exception_tb = exception_keeper_tb_17;
    exception_lineno = exception_keeper_lineno_17;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_7:;
    }
    {
    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;

    }
    {
    PyObject *tmp_assign_source_73;
    PyObject *tmp_import_name_from_11;
    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_collections;
    tmp_globals_name_6 = (PyObject *)moduledict_future$backports$urllib$parse;
    tmp_locals_name_6 = Py_None;
    tmp_fromlist_name_6 = const_tuple_str_plain_namedtuple_tuple;
    tmp_level_name_6 = const_int_0;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 229;
    tmp_import_name_from_11 = IMPORT_MODULE5( tmp_name_name_6, tmp_globals_name_6, tmp_locals_name_6, tmp_fromlist_name_6, tmp_level_name_6 );
    if ( tmp_import_name_from_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 229;

        goto frame_exception_exit_1;
    }
    tmp_assign_source_73 = IMPORT_NAME( tmp_import_name_from_11, const_str_plain_namedtuple );
    Py_DECREF( tmp_import_name_from_11 );
    if ( tmp_assign_source_73 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 229;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_namedtuple, tmp_assign_source_73 );
    }
    {
    PyObject *tmp_assign_source_74;
    PyObject *tmp_called_name_27;
    PyObject *tmp_mvar_value_9;
    tmp_mvar_value_9 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_namedtuple );

    if (unlikely( tmp_mvar_value_9 == NULL ))
    {
        tmp_mvar_value_9 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_namedtuple );
    }

    CHECK_OBJECT( tmp_mvar_value_9 );
    tmp_called_name_27 = tmp_mvar_value_9;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 231;
    tmp_assign_source_74 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_27, &PyTuple_GET_ITEM( const_tuple_f4e41ebeea2820b35fa8ba3874d6dd50_tuple, 0 ) );

    if ( tmp_assign_source_74 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 231;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__DefragResultBase, tmp_assign_source_74 );
    }
    {
    PyObject *tmp_assign_source_75;
    PyObject *tmp_called_name_28;
    PyObject *tmp_mvar_value_10;
    tmp_mvar_value_10 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_namedtuple );

    if (unlikely( tmp_mvar_value_10 == NULL ))
    {
        tmp_mvar_value_10 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_namedtuple );
    }

    if ( tmp_mvar_value_10 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "namedtuple" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 232;

        goto frame_exception_exit_1;
    }

    tmp_called_name_28 = tmp_mvar_value_10;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 232;
    tmp_assign_source_75 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_28, &PyTuple_GET_ITEM( const_tuple_49af55e3c9b51fd63a0244e6799da99f_tuple, 0 ) );

    if ( tmp_assign_source_75 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 232;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__SplitResultBase, tmp_assign_source_75 );
    }
    {
    PyObject *tmp_assign_source_76;
    PyObject *tmp_called_name_29;
    PyObject *tmp_mvar_value_11;
    tmp_mvar_value_11 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_namedtuple );

    if (unlikely( tmp_mvar_value_11 == NULL ))
    {
        tmp_mvar_value_11 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_namedtuple );
    }

    if ( tmp_mvar_value_11 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "namedtuple" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 233;

        goto frame_exception_exit_1;
    }

    tmp_called_name_29 = tmp_mvar_value_11;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 233;
    tmp_assign_source_76 = CALL_FUNCTION_WITH_ARGS2( tmp_called_name_29, &PyTuple_GET_ITEM( const_tuple_c4f856552da86102d227200bba558361_tuple, 0 ) );

    if ( tmp_assign_source_76 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 233;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ParseResultBase, tmp_assign_source_76 );
    }
    {
    PyObject *tmp_assign_source_77;
    PyObject *tmp_mvar_value_12;
    tmp_mvar_value_12 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinStr );

    if (unlikely( tmp_mvar_value_12 == NULL ))
    {
        tmp_mvar_value_12 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinStr );
    }

    if ( tmp_mvar_value_12 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_NetlocResultMixinStr" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 238;

        goto frame_exception_exit_1;
    }

    tmp_assign_source_77 = tmp_mvar_value_12;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_ResultBase, tmp_assign_source_77 );
    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_78;
    PyObject *tmp_tuple_element_20;
    PyObject *tmp_mvar_value_13;
    PyObject *tmp_mvar_value_14;
    tmp_mvar_value_13 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__DefragResultBase );

    if (unlikely( tmp_mvar_value_13 == NULL ))
    {
        tmp_mvar_value_13 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__DefragResultBase );
    }

    if ( tmp_mvar_value_13 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_DefragResultBase" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 241;

        goto try_except_handler_18;
    }

    tmp_tuple_element_20 = tmp_mvar_value_13;
    tmp_assign_source_78 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_20 );
    PyTuple_SET_ITEM( tmp_assign_source_78, 0, tmp_tuple_element_20 );
    tmp_mvar_value_14 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ResultMixinStr );

    if (unlikely( tmp_mvar_value_14 == NULL ))
    {
        tmp_mvar_value_14 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ResultMixinStr );
    }

    if ( tmp_mvar_value_14 == NULL )
    {
        Py_DECREF( tmp_assign_source_78 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ResultMixinStr" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 241;

        goto try_except_handler_18;
    }

    tmp_tuple_element_20 = tmp_mvar_value_14;
    Py_INCREF( tmp_tuple_element_20 );
    PyTuple_SET_ITEM( tmp_assign_source_78, 1, tmp_tuple_element_20 );
    assert( tmp_class_creation_6__bases_orig == NULL );
    tmp_class_creation_6__bases_orig = tmp_assign_source_78;

    }
    {
    PyObject *tmp_assign_source_79;
    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_79 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_79 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 241;

        goto try_except_handler_18;
    }
    assert( tmp_class_creation_6__bases == NULL );
    tmp_class_creation_6__bases = tmp_assign_source_79;

    }
    {
    PyObject *tmp_assign_source_80;
    tmp_assign_source_80 = PyDict_New();
    assert( tmp_class_creation_6__class_decl_dict == NULL );
    tmp_class_creation_6__class_decl_dict = tmp_assign_source_80;

    }
    {
    PyObject *tmp_assign_source_81;
    PyObject *tmp_metaclass_name_6;
    nuitka_bool tmp_condition_result_39;
    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_40;
    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 = 241;

        goto try_except_handler_18;
    }
    tmp_condition_result_39 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_39 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_19;
    }
    else
    {
        goto condexpr_false_19;
    }
    condexpr_true_19:;
    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 = 241;

        goto try_except_handler_18;
    }
    goto condexpr_end_19;
    condexpr_false_19:;
    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 = 241;

        goto try_except_handler_18;
    }
    tmp_condition_result_40 = tmp_truth_name_6 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_40 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_20;
    }
    else
    {
        goto condexpr_false_20;
    }
    condexpr_true_20:;
    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 = 241;

        goto try_except_handler_18;
    }
    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 = 241;

        goto try_except_handler_18;
    }
    goto condexpr_end_20;
    condexpr_false_20:;
    tmp_metaclass_name_6 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_6 );
    condexpr_end_20:;
    condexpr_end_19:;
    CHECK_OBJECT( tmp_class_creation_6__bases );
    tmp_bases_name_6 = tmp_class_creation_6__bases;
    tmp_assign_source_81 = SELECT_METACLASS( tmp_metaclass_name_6, tmp_bases_name_6 );
    Py_DECREF( tmp_metaclass_name_6 );
    if ( tmp_assign_source_81 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 241;

        goto try_except_handler_18;
    }
    assert( tmp_class_creation_6__metaclass == NULL );
    tmp_class_creation_6__metaclass = tmp_assign_source_81;

    }
    {
    nuitka_bool tmp_condition_result_41;
    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 = 241;

        goto try_except_handler_18;
    }
    tmp_condition_result_41 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_41 == 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 = 241;

        goto try_except_handler_18;
    }
    }
    branch_no_21:;
    }
    {
    nuitka_bool tmp_condition_result_42;
    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_42 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_42 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_22;
    }
    else
    {
        goto branch_no_22;
    }
    branch_yes_22:;
    {
    PyObject *tmp_assign_source_82;
    PyObject *tmp_called_name_30;
    PyObject *tmp_source_name_22;
    PyObject *tmp_args_name_11;
    PyObject *tmp_tuple_element_21;
    PyObject *tmp_kw_name_11;
    CHECK_OBJECT( tmp_class_creation_6__metaclass );
    tmp_source_name_22 = tmp_class_creation_6__metaclass;
    tmp_called_name_30 = LOOKUP_ATTRIBUTE( tmp_source_name_22, const_str_plain___prepare__ );
    if ( tmp_called_name_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 241;

        goto try_except_handler_18;
    }
    tmp_tuple_element_21 = const_str_plain_DefragResult;
    tmp_args_name_11 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_21 );
    PyTuple_SET_ITEM( tmp_args_name_11, 0, tmp_tuple_element_21 );
    CHECK_OBJECT( tmp_class_creation_6__bases );
    tmp_tuple_element_21 = tmp_class_creation_6__bases;
    Py_INCREF( tmp_tuple_element_21 );
    PyTuple_SET_ITEM( tmp_args_name_11, 1, tmp_tuple_element_21 );
    CHECK_OBJECT( tmp_class_creation_6__class_decl_dict );
    tmp_kw_name_11 = tmp_class_creation_6__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 241;
    tmp_assign_source_82 = CALL_FUNCTION( tmp_called_name_30, tmp_args_name_11, tmp_kw_name_11 );
    Py_DECREF( tmp_called_name_30 );
    Py_DECREF( tmp_args_name_11 );
    if ( tmp_assign_source_82 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 241;

        goto try_except_handler_18;
    }
    assert( tmp_class_creation_6__prepared == NULL );
    tmp_class_creation_6__prepared = tmp_assign_source_82;

    }
    {
    nuitka_bool tmp_condition_result_43;
    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 = 241;

        goto try_except_handler_18;
    }
    tmp_condition_result_43 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_43 == 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_22;
    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_22 = BUILTIN_GETATTR( tmp_getattr_target_6, tmp_getattr_attr_6, tmp_getattr_default_6 );
    if ( tmp_tuple_element_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 241;

        goto try_except_handler_18;
    }
    tmp_right_name_6 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_6, 0, tmp_tuple_element_22 );
    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_22 = LOOKUP_ATTRIBUTE( tmp_source_name_24, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_24 );
    if ( tmp_tuple_element_22 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_6 );

        exception_lineno = 241;

        goto try_except_handler_18;
    }
    PyTuple_SET_ITEM( tmp_right_name_6, 1, tmp_tuple_element_22 );
    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 = 241;

        goto try_except_handler_18;
    }
    exception_type = tmp_raise_type_6;
    Py_INCREF( tmp_raise_type_6 );
    exception_value = tmp_raise_value_6;
    exception_lineno = 241;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_18;
    }
    branch_no_23:;
    }
    goto branch_end_22;
    branch_no_22:;
    {
    PyObject *tmp_assign_source_83;
    tmp_assign_source_83 = PyDict_New();
    assert( tmp_class_creation_6__prepared == NULL );
    tmp_class_creation_6__prepared = tmp_assign_source_83;

    }
    branch_end_22:;
    }
    {
    PyObject *tmp_assign_source_84;
    {
    PyObject *tmp_set_locals_6;
    CHECK_OBJECT( tmp_class_creation_6__prepared );
    tmp_set_locals_6 = tmp_class_creation_6__prepared;
    locals_future$backports$urllib$parse_241 = tmp_set_locals_6;
    Py_INCREF( tmp_set_locals_6 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_241, 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 = 241;

        goto try_except_handler_20;
    }
    }
    {
    tmp_dictset_value = const_str_plain_DefragResult;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_241, 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 = 241;

        goto try_except_handler_20;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_b549d7688e5286f2f6870b1b73724628_7, codeobj_b549d7688e5286f2f6870b1b73724628, module_future$backports$urllib$parse, sizeof(void *) );
    frame_b549d7688e5286f2f6870b1b73724628_7 = cache_frame_b549d7688e5286f2f6870b1b73724628_7;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_b549d7688e5286f2f6870b1b73724628_7 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_b549d7688e5286f2f6870b1b73724628_7 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_241, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 242;
        type_description_2 = "o";
        goto frame_exception_exit_7;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_16_geturl(  );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_241, const_str_plain_geturl, 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 = 243;
        type_description_2 = "o";
        goto frame_exception_exit_7;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_b549d7688e5286f2f6870b1b73724628_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_b549d7688e5286f2f6870b1b73724628_7 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_b549d7688e5286f2f6870b1b73724628_7, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_b549d7688e5286f2f6870b1b73724628_7->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_b549d7688e5286f2f6870b1b73724628_7, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_b549d7688e5286f2f6870b1b73724628_7,
        type_description_2,
        outline_5_var___class__
    );


    // Release cached frame.
    if ( frame_b549d7688e5286f2f6870b1b73724628_7 == cache_frame_b549d7688e5286f2f6870b1b73724628_7 )
    {
        Py_DECREF( frame_b549d7688e5286f2f6870b1b73724628_7 );
    }
    cache_frame_b549d7688e5286f2f6870b1b73724628_7 = NULL;

    assertFrameObject( frame_b549d7688e5286f2f6870b1b73724628_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_20;
    skip_nested_handling_6:;
    {
    nuitka_bool tmp_condition_result_44;
    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 = 241;

        goto try_except_handler_20;
    }
    tmp_condition_result_44 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_44 == 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_future$backports$urllib$parse_241, 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 = 241;

        goto try_except_handler_20;
    }
    }
    branch_no_24:;
    }
    {
    PyObject *tmp_assign_source_85;
    PyObject *tmp_called_name_31;
    PyObject *tmp_args_name_12;
    PyObject *tmp_tuple_element_23;
    PyObject *tmp_kw_name_12;
    CHECK_OBJECT( tmp_class_creation_6__metaclass );
    tmp_called_name_31 = tmp_class_creation_6__metaclass;
    tmp_tuple_element_23 = const_str_plain_DefragResult;
    tmp_args_name_12 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_23 );
    PyTuple_SET_ITEM( tmp_args_name_12, 0, tmp_tuple_element_23 );
    CHECK_OBJECT( tmp_class_creation_6__bases );
    tmp_tuple_element_23 = tmp_class_creation_6__bases;
    Py_INCREF( tmp_tuple_element_23 );
    PyTuple_SET_ITEM( tmp_args_name_12, 1, tmp_tuple_element_23 );
    tmp_tuple_element_23 = locals_future$backports$urllib$parse_241;
    Py_INCREF( tmp_tuple_element_23 );
    PyTuple_SET_ITEM( tmp_args_name_12, 2, tmp_tuple_element_23 );
    CHECK_OBJECT( tmp_class_creation_6__class_decl_dict );
    tmp_kw_name_12 = tmp_class_creation_6__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 241;
    tmp_assign_source_85 = CALL_FUNCTION( tmp_called_name_31, tmp_args_name_12, tmp_kw_name_12 );
    Py_DECREF( tmp_args_name_12 );
    if ( tmp_assign_source_85 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 241;

        goto try_except_handler_20;
    }
    assert( outline_5_var___class__ == NULL );
    outline_5_var___class__ = tmp_assign_source_85;

    }
    {
    CHECK_OBJECT( outline_5_var___class__ );
    tmp_assign_source_84 = outline_5_var___class__;
    Py_INCREF( tmp_assign_source_84 );
    goto try_return_handler_20;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_20:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_241 );
    locals_future$backports$urllib$parse_241 = NULL;
    }
    {
    goto try_return_handler_19;
    }
    // Exception handler code:
    try_except_handler_20:;
    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_DECREF( locals_future$backports$urllib$parse_241 );
    locals_future$backports$urllib$parse_241 = 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 try_except_handler_19;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_19:;
    {
    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_19:;
    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;

    {
    // 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 outline_exception_6;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_6:;
    exception_lineno = 241;
    goto try_except_handler_18;
    outline_result_6:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_DefragResult, tmp_assign_source_84 );
    }
    goto try_end_8;
    // Exception handler code:
    try_except_handler_18:;
    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;

    {
    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_20;
    exception_value = exception_keeper_value_20;
    exception_tb = exception_keeper_tb_20;
    exception_lineno = exception_keeper_lineno_20;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_8:;
    }
    {
    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;

    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_86;
    PyObject *tmp_tuple_element_24;
    PyObject *tmp_mvar_value_15;
    PyObject *tmp_mvar_value_16;
    tmp_mvar_value_15 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__SplitResultBase );

    if (unlikely( tmp_mvar_value_15 == NULL ))
    {
        tmp_mvar_value_15 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__SplitResultBase );
    }

    if ( tmp_mvar_value_15 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_SplitResultBase" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 249;

        goto try_except_handler_21;
    }

    tmp_tuple_element_24 = tmp_mvar_value_15;
    tmp_assign_source_86 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_24 );
    PyTuple_SET_ITEM( tmp_assign_source_86, 0, tmp_tuple_element_24 );
    tmp_mvar_value_16 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinStr );

    if (unlikely( tmp_mvar_value_16 == NULL ))
    {
        tmp_mvar_value_16 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinStr );
    }

    if ( tmp_mvar_value_16 == NULL )
    {
        Py_DECREF( tmp_assign_source_86 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_NetlocResultMixinStr" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 249;

        goto try_except_handler_21;
    }

    tmp_tuple_element_24 = tmp_mvar_value_16;
    Py_INCREF( tmp_tuple_element_24 );
    PyTuple_SET_ITEM( tmp_assign_source_86, 1, tmp_tuple_element_24 );
    assert( tmp_class_creation_7__bases_orig == NULL );
    tmp_class_creation_7__bases_orig = tmp_assign_source_86;

    }
    {
    PyObject *tmp_assign_source_87;
    PyObject *tmp_dircall_arg1_7;
    CHECK_OBJECT( tmp_class_creation_7__bases_orig );
    tmp_dircall_arg1_7 = tmp_class_creation_7__bases_orig;
    Py_INCREF( tmp_dircall_arg1_7 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_7};
        tmp_assign_source_87 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_87 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 249;

        goto try_except_handler_21;
    }
    assert( tmp_class_creation_7__bases == NULL );
    tmp_class_creation_7__bases = tmp_assign_source_87;

    }
    {
    PyObject *tmp_assign_source_88;
    tmp_assign_source_88 = PyDict_New();
    assert( tmp_class_creation_7__class_decl_dict == NULL );
    tmp_class_creation_7__class_decl_dict = tmp_assign_source_88;

    }
    {
    PyObject *tmp_assign_source_89;
    PyObject *tmp_metaclass_name_7;
    nuitka_bool tmp_condition_result_45;
    PyObject *tmp_key_name_19;
    PyObject *tmp_dict_name_19;
    PyObject *tmp_dict_name_20;
    PyObject *tmp_key_name_20;
    nuitka_bool tmp_condition_result_46;
    int tmp_truth_name_7;
    PyObject *tmp_type_arg_13;
    PyObject *tmp_subscribed_name_7;
    PyObject *tmp_subscript_name_7;
    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 = 249;

        goto try_except_handler_21;
    }
    tmp_condition_result_45 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_45 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_21;
    }
    else
    {
        goto condexpr_false_21;
    }
    condexpr_true_21:;
    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 = 249;

        goto try_except_handler_21;
    }
    goto condexpr_end_21;
    condexpr_false_21:;
    CHECK_OBJECT( tmp_class_creation_7__bases );
    tmp_truth_name_7 = CHECK_IF_TRUE( tmp_class_creation_7__bases );
    if ( tmp_truth_name_7 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 249;

        goto try_except_handler_21;
    }
    tmp_condition_result_46 = tmp_truth_name_7 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_46 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_22;
    }
    else
    {
        goto condexpr_false_22;
    }
    condexpr_true_22:;
    CHECK_OBJECT( tmp_class_creation_7__bases );
    tmp_subscribed_name_7 = tmp_class_creation_7__bases;
    tmp_subscript_name_7 = const_int_0;
    tmp_type_arg_13 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_7, tmp_subscript_name_7, 0 );
    if ( tmp_type_arg_13 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 249;

        goto try_except_handler_21;
    }
    tmp_metaclass_name_7 = BUILTIN_TYPE1( tmp_type_arg_13 );
    Py_DECREF( tmp_type_arg_13 );
    if ( tmp_metaclass_name_7 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 249;

        goto try_except_handler_21;
    }
    goto condexpr_end_22;
    condexpr_false_22:;
    tmp_metaclass_name_7 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_7 );
    condexpr_end_22:;
    condexpr_end_21:;
    CHECK_OBJECT( tmp_class_creation_7__bases );
    tmp_bases_name_7 = tmp_class_creation_7__bases;
    tmp_assign_source_89 = SELECT_METACLASS( tmp_metaclass_name_7, tmp_bases_name_7 );
    Py_DECREF( tmp_metaclass_name_7 );
    if ( tmp_assign_source_89 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 249;

        goto try_except_handler_21;
    }
    assert( tmp_class_creation_7__metaclass == NULL );
    tmp_class_creation_7__metaclass = tmp_assign_source_89;

    }
    {
    nuitka_bool tmp_condition_result_47;
    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 = 249;

        goto try_except_handler_21;
    }
    tmp_condition_result_47 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_47 == 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 = 249;

        goto try_except_handler_21;
    }
    }
    branch_no_25:;
    }
    {
    nuitka_bool tmp_condition_result_48;
    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_48 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_48 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_26;
    }
    else
    {
        goto branch_no_26;
    }
    branch_yes_26:;
    {
    PyObject *tmp_assign_source_90;
    PyObject *tmp_called_name_32;
    PyObject *tmp_source_name_26;
    PyObject *tmp_args_name_13;
    PyObject *tmp_tuple_element_25;
    PyObject *tmp_kw_name_13;
    CHECK_OBJECT( tmp_class_creation_7__metaclass );
    tmp_source_name_26 = tmp_class_creation_7__metaclass;
    tmp_called_name_32 = LOOKUP_ATTRIBUTE( tmp_source_name_26, const_str_plain___prepare__ );
    if ( tmp_called_name_32 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 249;

        goto try_except_handler_21;
    }
    tmp_tuple_element_25 = const_str_plain_SplitResult;
    tmp_args_name_13 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_25 );
    PyTuple_SET_ITEM( tmp_args_name_13, 0, tmp_tuple_element_25 );
    CHECK_OBJECT( tmp_class_creation_7__bases );
    tmp_tuple_element_25 = tmp_class_creation_7__bases;
    Py_INCREF( tmp_tuple_element_25 );
    PyTuple_SET_ITEM( tmp_args_name_13, 1, tmp_tuple_element_25 );
    CHECK_OBJECT( tmp_class_creation_7__class_decl_dict );
    tmp_kw_name_13 = tmp_class_creation_7__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 249;
    tmp_assign_source_90 = CALL_FUNCTION( tmp_called_name_32, tmp_args_name_13, tmp_kw_name_13 );
    Py_DECREF( tmp_called_name_32 );
    Py_DECREF( tmp_args_name_13 );
    if ( tmp_assign_source_90 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 249;

        goto try_except_handler_21;
    }
    assert( tmp_class_creation_7__prepared == NULL );
    tmp_class_creation_7__prepared = tmp_assign_source_90;

    }
    {
    nuitka_bool tmp_condition_result_49;
    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 = 249;

        goto try_except_handler_21;
    }
    tmp_condition_result_49 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_49 == 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_26;
    PyObject *tmp_getattr_target_7;
    PyObject *tmp_getattr_attr_7;
    PyObject *tmp_getattr_default_7;
    PyObject *tmp_source_name_28;
    PyObject *tmp_type_arg_14;
    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_26 = BUILTIN_GETATTR( tmp_getattr_target_7, tmp_getattr_attr_7, tmp_getattr_default_7 );
    if ( tmp_tuple_element_26 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 249;

        goto try_except_handler_21;
    }
    tmp_right_name_7 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_7, 0, tmp_tuple_element_26 );
    CHECK_OBJECT( tmp_class_creation_7__prepared );
    tmp_type_arg_14 = tmp_class_creation_7__prepared;
    tmp_source_name_28 = BUILTIN_TYPE1( tmp_type_arg_14 );
    assert( !(tmp_source_name_28 == NULL) );
    tmp_tuple_element_26 = LOOKUP_ATTRIBUTE( tmp_source_name_28, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_28 );
    if ( tmp_tuple_element_26 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_7 );

        exception_lineno = 249;

        goto try_except_handler_21;
    }
    PyTuple_SET_ITEM( tmp_right_name_7, 1, tmp_tuple_element_26 );
    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 = 249;

        goto try_except_handler_21;
    }
    exception_type = tmp_raise_type_7;
    Py_INCREF( tmp_raise_type_7 );
    exception_value = tmp_raise_value_7;
    exception_lineno = 249;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_21;
    }
    branch_no_27:;
    }
    goto branch_end_26;
    branch_no_26:;
    {
    PyObject *tmp_assign_source_91;
    tmp_assign_source_91 = PyDict_New();
    assert( tmp_class_creation_7__prepared == NULL );
    tmp_class_creation_7__prepared = tmp_assign_source_91;

    }
    branch_end_26:;
    }
    {
    PyObject *tmp_assign_source_92;
    {
    PyObject *tmp_set_locals_7;
    CHECK_OBJECT( tmp_class_creation_7__prepared );
    tmp_set_locals_7 = tmp_class_creation_7__prepared;
    locals_future$backports$urllib$parse_249 = tmp_set_locals_7;
    Py_INCREF( tmp_set_locals_7 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_249, 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 = 249;

        goto try_except_handler_23;
    }
    }
    {
    tmp_dictset_value = const_str_plain_SplitResult;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_249, 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 = 249;

        goto try_except_handler_23;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_07c8a013b364d5ba5abe416fa84511fb_8, codeobj_07c8a013b364d5ba5abe416fa84511fb, module_future$backports$urllib$parse, sizeof(void *) );
    frame_07c8a013b364d5ba5abe416fa84511fb_8 = cache_frame_07c8a013b364d5ba5abe416fa84511fb_8;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_07c8a013b364d5ba5abe416fa84511fb_8 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_07c8a013b364d5ba5abe416fa84511fb_8 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_249, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 250;
        type_description_2 = "o";
        goto frame_exception_exit_8;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_17_geturl(  );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_249, const_str_plain_geturl, 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 = 251;
        type_description_2 = "o";
        goto frame_exception_exit_8;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_07c8a013b364d5ba5abe416fa84511fb_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_07c8a013b364d5ba5abe416fa84511fb_8 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_07c8a013b364d5ba5abe416fa84511fb_8, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_07c8a013b364d5ba5abe416fa84511fb_8->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_07c8a013b364d5ba5abe416fa84511fb_8, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_07c8a013b364d5ba5abe416fa84511fb_8,
        type_description_2,
        outline_6_var___class__
    );


    // Release cached frame.
    if ( frame_07c8a013b364d5ba5abe416fa84511fb_8 == cache_frame_07c8a013b364d5ba5abe416fa84511fb_8 )
    {
        Py_DECREF( frame_07c8a013b364d5ba5abe416fa84511fb_8 );
    }
    cache_frame_07c8a013b364d5ba5abe416fa84511fb_8 = NULL;

    assertFrameObject( frame_07c8a013b364d5ba5abe416fa84511fb_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_23;
    skip_nested_handling_7:;
    {
    nuitka_bool tmp_condition_result_50;
    PyObject *tmp_compexpr_left_7;
    PyObject *tmp_compexpr_right_7;
    CHECK_OBJECT( tmp_class_creation_7__bases );
    tmp_compexpr_left_7 = tmp_class_creation_7__bases;
    CHECK_OBJECT( tmp_class_creation_7__bases_orig );
    tmp_compexpr_right_7 = tmp_class_creation_7__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 = 249;

        goto try_except_handler_23;
    }
    tmp_condition_result_50 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_50 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_28;
    }
    else
    {
        goto branch_no_28;
    }
    branch_yes_28:;
    {
    CHECK_OBJECT( tmp_class_creation_7__bases_orig );
    tmp_dictset_value = tmp_class_creation_7__bases_orig;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_249, 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 = 249;

        goto try_except_handler_23;
    }
    }
    branch_no_28:;
    }
    {
    PyObject *tmp_assign_source_93;
    PyObject *tmp_called_name_33;
    PyObject *tmp_args_name_14;
    PyObject *tmp_tuple_element_27;
    PyObject *tmp_kw_name_14;
    CHECK_OBJECT( tmp_class_creation_7__metaclass );
    tmp_called_name_33 = tmp_class_creation_7__metaclass;
    tmp_tuple_element_27 = const_str_plain_SplitResult;
    tmp_args_name_14 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_27 );
    PyTuple_SET_ITEM( tmp_args_name_14, 0, tmp_tuple_element_27 );
    CHECK_OBJECT( tmp_class_creation_7__bases );
    tmp_tuple_element_27 = tmp_class_creation_7__bases;
    Py_INCREF( tmp_tuple_element_27 );
    PyTuple_SET_ITEM( tmp_args_name_14, 1, tmp_tuple_element_27 );
    tmp_tuple_element_27 = locals_future$backports$urllib$parse_249;
    Py_INCREF( tmp_tuple_element_27 );
    PyTuple_SET_ITEM( tmp_args_name_14, 2, tmp_tuple_element_27 );
    CHECK_OBJECT( tmp_class_creation_7__class_decl_dict );
    tmp_kw_name_14 = tmp_class_creation_7__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 249;
    tmp_assign_source_93 = CALL_FUNCTION( tmp_called_name_33, tmp_args_name_14, tmp_kw_name_14 );
    Py_DECREF( tmp_args_name_14 );
    if ( tmp_assign_source_93 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 249;

        goto try_except_handler_23;
    }
    assert( outline_6_var___class__ == NULL );
    outline_6_var___class__ = tmp_assign_source_93;

    }
    {
    CHECK_OBJECT( outline_6_var___class__ );
    tmp_assign_source_92 = outline_6_var___class__;
    Py_INCREF( tmp_assign_source_92 );
    goto try_return_handler_23;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_23:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_249 );
    locals_future$backports$urllib$parse_249 = NULL;
    }
    {
    goto try_return_handler_22;
    }
    // Exception handler code:
    try_except_handler_23:;
    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_DECREF( locals_future$backports$urllib$parse_249 );
    locals_future$backports$urllib$parse_249 = 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 try_except_handler_22;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_22:;
    {
    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_22:;
    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;

    {
    // 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 outline_exception_7;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_7:;
    exception_lineno = 249;
    goto try_except_handler_21;
    outline_result_7:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_SplitResult, tmp_assign_source_92 );
    }
    goto try_end_9;
    // Exception handler code:
    try_except_handler_21:;
    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;

    {
    Py_XDECREF( tmp_class_creation_7__bases );
    tmp_class_creation_7__bases = NULL;

    }
    {
    Py_XDECREF( 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_23;
    exception_value = exception_keeper_value_23;
    exception_tb = exception_keeper_tb_23;
    exception_lineno = exception_keeper_lineno_23;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_9:;
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_class_creation_7__bases );
    Py_DECREF( tmp_class_creation_7__bases );
    tmp_class_creation_7__bases = NULL;

    }
    {
    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_94;
    PyObject *tmp_tuple_element_28;
    PyObject *tmp_mvar_value_17;
    PyObject *tmp_mvar_value_18;
    tmp_mvar_value_17 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ParseResultBase );

    if (unlikely( tmp_mvar_value_17 == NULL ))
    {
        tmp_mvar_value_17 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ParseResultBase );
    }

    if ( tmp_mvar_value_17 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ParseResultBase" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 254;

        goto try_except_handler_24;
    }

    tmp_tuple_element_28 = tmp_mvar_value_17;
    tmp_assign_source_94 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_28 );
    PyTuple_SET_ITEM( tmp_assign_source_94, 0, tmp_tuple_element_28 );
    tmp_mvar_value_18 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinStr );

    if (unlikely( tmp_mvar_value_18 == NULL ))
    {
        tmp_mvar_value_18 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinStr );
    }

    if ( tmp_mvar_value_18 == NULL )
    {
        Py_DECREF( tmp_assign_source_94 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_NetlocResultMixinStr" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 254;

        goto try_except_handler_24;
    }

    tmp_tuple_element_28 = tmp_mvar_value_18;
    Py_INCREF( tmp_tuple_element_28 );
    PyTuple_SET_ITEM( tmp_assign_source_94, 1, tmp_tuple_element_28 );
    assert( tmp_class_creation_8__bases_orig == NULL );
    tmp_class_creation_8__bases_orig = tmp_assign_source_94;

    }
    {
    PyObject *tmp_assign_source_95;
    PyObject *tmp_dircall_arg1_8;
    CHECK_OBJECT( tmp_class_creation_8__bases_orig );
    tmp_dircall_arg1_8 = tmp_class_creation_8__bases_orig;
    Py_INCREF( tmp_dircall_arg1_8 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_8};
        tmp_assign_source_95 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_95 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 254;

        goto try_except_handler_24;
    }
    assert( tmp_class_creation_8__bases == NULL );
    tmp_class_creation_8__bases = tmp_assign_source_95;

    }
    {
    PyObject *tmp_assign_source_96;
    tmp_assign_source_96 = PyDict_New();
    assert( tmp_class_creation_8__class_decl_dict == NULL );
    tmp_class_creation_8__class_decl_dict = tmp_assign_source_96;

    }
    {
    PyObject *tmp_assign_source_97;
    PyObject *tmp_metaclass_name_8;
    nuitka_bool tmp_condition_result_51;
    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_52;
    int tmp_truth_name_8;
    PyObject *tmp_type_arg_15;
    PyObject *tmp_subscribed_name_8;
    PyObject *tmp_subscript_name_8;
    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 = 254;

        goto try_except_handler_24;
    }
    tmp_condition_result_51 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_51 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_23;
    }
    else
    {
        goto condexpr_false_23;
    }
    condexpr_true_23:;
    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 = 254;

        goto try_except_handler_24;
    }
    goto condexpr_end_23;
    condexpr_false_23:;
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_truth_name_8 = CHECK_IF_TRUE( tmp_class_creation_8__bases );
    if ( tmp_truth_name_8 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 254;

        goto try_except_handler_24;
    }
    tmp_condition_result_52 = tmp_truth_name_8 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_52 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_24;
    }
    else
    {
        goto condexpr_false_24;
    }
    condexpr_true_24:;
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_subscribed_name_8 = tmp_class_creation_8__bases;
    tmp_subscript_name_8 = const_int_0;
    tmp_type_arg_15 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_8, tmp_subscript_name_8, 0 );
    if ( tmp_type_arg_15 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 254;

        goto try_except_handler_24;
    }
    tmp_metaclass_name_8 = BUILTIN_TYPE1( tmp_type_arg_15 );
    Py_DECREF( tmp_type_arg_15 );
    if ( tmp_metaclass_name_8 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 254;

        goto try_except_handler_24;
    }
    goto condexpr_end_24;
    condexpr_false_24:;
    tmp_metaclass_name_8 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_8 );
    condexpr_end_24:;
    condexpr_end_23:;
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_bases_name_8 = tmp_class_creation_8__bases;
    tmp_assign_source_97 = SELECT_METACLASS( tmp_metaclass_name_8, tmp_bases_name_8 );
    Py_DECREF( tmp_metaclass_name_8 );
    if ( tmp_assign_source_97 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 254;

        goto try_except_handler_24;
    }
    assert( tmp_class_creation_8__metaclass == NULL );
    tmp_class_creation_8__metaclass = tmp_assign_source_97;

    }
    {
    nuitka_bool tmp_condition_result_53;
    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 = 254;

        goto try_except_handler_24;
    }
    tmp_condition_result_53 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_53 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_29;
    }
    else
    {
        goto branch_no_29;
    }
    branch_yes_29:;
    {
    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 = 254;

        goto try_except_handler_24;
    }
    }
    branch_no_29:;
    }
    {
    nuitka_bool tmp_condition_result_54;
    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_54 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_54 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_30;
    }
    else
    {
        goto branch_no_30;
    }
    branch_yes_30:;
    {
    PyObject *tmp_assign_source_98;
    PyObject *tmp_called_name_34;
    PyObject *tmp_source_name_30;
    PyObject *tmp_args_name_15;
    PyObject *tmp_tuple_element_29;
    PyObject *tmp_kw_name_15;
    CHECK_OBJECT( tmp_class_creation_8__metaclass );
    tmp_source_name_30 = tmp_class_creation_8__metaclass;
    tmp_called_name_34 = LOOKUP_ATTRIBUTE( tmp_source_name_30, const_str_plain___prepare__ );
    if ( tmp_called_name_34 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 254;

        goto try_except_handler_24;
    }
    tmp_tuple_element_29 = const_str_plain_ParseResult;
    tmp_args_name_15 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_29 );
    PyTuple_SET_ITEM( tmp_args_name_15, 0, tmp_tuple_element_29 );
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_tuple_element_29 = tmp_class_creation_8__bases;
    Py_INCREF( tmp_tuple_element_29 );
    PyTuple_SET_ITEM( tmp_args_name_15, 1, tmp_tuple_element_29 );
    CHECK_OBJECT( tmp_class_creation_8__class_decl_dict );
    tmp_kw_name_15 = tmp_class_creation_8__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 254;
    tmp_assign_source_98 = CALL_FUNCTION( tmp_called_name_34, tmp_args_name_15, tmp_kw_name_15 );
    Py_DECREF( tmp_called_name_34 );
    Py_DECREF( tmp_args_name_15 );
    if ( tmp_assign_source_98 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 254;

        goto try_except_handler_24;
    }
    assert( tmp_class_creation_8__prepared == NULL );
    tmp_class_creation_8__prepared = tmp_assign_source_98;

    }
    {
    nuitka_bool tmp_condition_result_55;
    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 = 254;

        goto try_except_handler_24;
    }
    tmp_condition_result_55 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_55 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_31;
    }
    else
    {
        goto branch_no_31;
    }
    branch_yes_31:;
    {
    PyObject *tmp_raise_type_8;
    PyObject *tmp_raise_value_8;
    PyObject *tmp_left_name_8;
    PyObject *tmp_right_name_8;
    PyObject *tmp_tuple_element_30;
    PyObject *tmp_getattr_target_8;
    PyObject *tmp_getattr_attr_8;
    PyObject *tmp_getattr_default_8;
    PyObject *tmp_source_name_32;
    PyObject *tmp_type_arg_16;
    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_30 = BUILTIN_GETATTR( tmp_getattr_target_8, tmp_getattr_attr_8, tmp_getattr_default_8 );
    if ( tmp_tuple_element_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 254;

        goto try_except_handler_24;
    }
    tmp_right_name_8 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_8, 0, tmp_tuple_element_30 );
    CHECK_OBJECT( tmp_class_creation_8__prepared );
    tmp_type_arg_16 = tmp_class_creation_8__prepared;
    tmp_source_name_32 = BUILTIN_TYPE1( tmp_type_arg_16 );
    assert( !(tmp_source_name_32 == NULL) );
    tmp_tuple_element_30 = LOOKUP_ATTRIBUTE( tmp_source_name_32, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_32 );
    if ( tmp_tuple_element_30 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_8 );

        exception_lineno = 254;

        goto try_except_handler_24;
    }
    PyTuple_SET_ITEM( tmp_right_name_8, 1, tmp_tuple_element_30 );
    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 = 254;

        goto try_except_handler_24;
    }
    exception_type = tmp_raise_type_8;
    Py_INCREF( tmp_raise_type_8 );
    exception_value = tmp_raise_value_8;
    exception_lineno = 254;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_24;
    }
    branch_no_31:;
    }
    goto branch_end_30;
    branch_no_30:;
    {
    PyObject *tmp_assign_source_99;
    tmp_assign_source_99 = PyDict_New();
    assert( tmp_class_creation_8__prepared == NULL );
    tmp_class_creation_8__prepared = tmp_assign_source_99;

    }
    branch_end_30:;
    }
    {
    PyObject *tmp_assign_source_100;
    {
    PyObject *tmp_set_locals_8;
    CHECK_OBJECT( tmp_class_creation_8__prepared );
    tmp_set_locals_8 = tmp_class_creation_8__prepared;
    locals_future$backports$urllib$parse_254 = tmp_set_locals_8;
    Py_INCREF( tmp_set_locals_8 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_254, 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 = 254;

        goto try_except_handler_26;
    }
    }
    {
    tmp_dictset_value = const_str_plain_ParseResult;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_254, 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 = 254;

        goto try_except_handler_26;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_348fc635043232f41206f382bbf63be6_9, codeobj_348fc635043232f41206f382bbf63be6, module_future$backports$urllib$parse, sizeof(void *) );
    frame_348fc635043232f41206f382bbf63be6_9 = cache_frame_348fc635043232f41206f382bbf63be6_9;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_348fc635043232f41206f382bbf63be6_9 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_348fc635043232f41206f382bbf63be6_9 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_254, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 255;
        type_description_2 = "o";
        goto frame_exception_exit_9;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_18_geturl(  );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_254, const_str_plain_geturl, 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 = 256;
        type_description_2 = "o";
        goto frame_exception_exit_9;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_348fc635043232f41206f382bbf63be6_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_348fc635043232f41206f382bbf63be6_9 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_348fc635043232f41206f382bbf63be6_9, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_348fc635043232f41206f382bbf63be6_9->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_348fc635043232f41206f382bbf63be6_9, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_348fc635043232f41206f382bbf63be6_9,
        type_description_2,
        outline_7_var___class__
    );


    // Release cached frame.
    if ( frame_348fc635043232f41206f382bbf63be6_9 == cache_frame_348fc635043232f41206f382bbf63be6_9 )
    {
        Py_DECREF( frame_348fc635043232f41206f382bbf63be6_9 );
    }
    cache_frame_348fc635043232f41206f382bbf63be6_9 = NULL;

    assertFrameObject( frame_348fc635043232f41206f382bbf63be6_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_26;
    skip_nested_handling_8:;
    {
    nuitka_bool tmp_condition_result_56;
    PyObject *tmp_compexpr_left_8;
    PyObject *tmp_compexpr_right_8;
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_compexpr_left_8 = tmp_class_creation_8__bases;
    CHECK_OBJECT( tmp_class_creation_8__bases_orig );
    tmp_compexpr_right_8 = tmp_class_creation_8__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 = 254;

        goto try_except_handler_26;
    }
    tmp_condition_result_56 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_56 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_32;
    }
    else
    {
        goto branch_no_32;
    }
    branch_yes_32:;
    {
    CHECK_OBJECT( tmp_class_creation_8__bases_orig );
    tmp_dictset_value = tmp_class_creation_8__bases_orig;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_254, 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 = 254;

        goto try_except_handler_26;
    }
    }
    branch_no_32:;
    }
    {
    PyObject *tmp_assign_source_101;
    PyObject *tmp_called_name_35;
    PyObject *tmp_args_name_16;
    PyObject *tmp_tuple_element_31;
    PyObject *tmp_kw_name_16;
    CHECK_OBJECT( tmp_class_creation_8__metaclass );
    tmp_called_name_35 = tmp_class_creation_8__metaclass;
    tmp_tuple_element_31 = const_str_plain_ParseResult;
    tmp_args_name_16 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_31 );
    PyTuple_SET_ITEM( tmp_args_name_16, 0, tmp_tuple_element_31 );
    CHECK_OBJECT( tmp_class_creation_8__bases );
    tmp_tuple_element_31 = tmp_class_creation_8__bases;
    Py_INCREF( tmp_tuple_element_31 );
    PyTuple_SET_ITEM( tmp_args_name_16, 1, tmp_tuple_element_31 );
    tmp_tuple_element_31 = locals_future$backports$urllib$parse_254;
    Py_INCREF( tmp_tuple_element_31 );
    PyTuple_SET_ITEM( tmp_args_name_16, 2, tmp_tuple_element_31 );
    CHECK_OBJECT( tmp_class_creation_8__class_decl_dict );
    tmp_kw_name_16 = tmp_class_creation_8__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 254;
    tmp_assign_source_101 = CALL_FUNCTION( tmp_called_name_35, tmp_args_name_16, tmp_kw_name_16 );
    Py_DECREF( tmp_args_name_16 );
    if ( tmp_assign_source_101 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 254;

        goto try_except_handler_26;
    }
    assert( outline_7_var___class__ == NULL );
    outline_7_var___class__ = tmp_assign_source_101;

    }
    {
    CHECK_OBJECT( outline_7_var___class__ );
    tmp_assign_source_100 = outline_7_var___class__;
    Py_INCREF( tmp_assign_source_100 );
    goto try_return_handler_26;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_26:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_254 );
    locals_future$backports$urllib$parse_254 = NULL;
    }
    {
    goto try_return_handler_25;
    }
    // Exception handler code:
    try_except_handler_26:;
    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_DECREF( locals_future$backports$urllib$parse_254 );
    locals_future$backports$urllib$parse_254 = 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 try_except_handler_25;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_25:;
    {
    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_25:;
    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;

    {
    // 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 outline_exception_8;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_8:;
    exception_lineno = 254;
    goto try_except_handler_24;
    outline_result_8:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_ParseResult, tmp_assign_source_100 );
    }
    goto try_end_10;
    // Exception handler code:
    try_except_handler_24:;
    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;

    {
    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_26;
    exception_value = exception_keeper_value_26;
    exception_tb = exception_keeper_tb_26;
    exception_lineno = exception_keeper_lineno_26;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_10:;
    }
    {
    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_102;
    PyObject *tmp_tuple_element_32;
    PyObject *tmp_mvar_value_19;
    PyObject *tmp_mvar_value_20;
    tmp_mvar_value_19 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__DefragResultBase );

    if (unlikely( tmp_mvar_value_19 == NULL ))
    {
        tmp_mvar_value_19 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__DefragResultBase );
    }

    if ( tmp_mvar_value_19 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_DefragResultBase" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 260;

        goto try_except_handler_27;
    }

    tmp_tuple_element_32 = tmp_mvar_value_19;
    tmp_assign_source_102 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_32 );
    PyTuple_SET_ITEM( tmp_assign_source_102, 0, tmp_tuple_element_32 );
    tmp_mvar_value_20 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ResultMixinBytes );

    if (unlikely( tmp_mvar_value_20 == NULL ))
    {
        tmp_mvar_value_20 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ResultMixinBytes );
    }

    if ( tmp_mvar_value_20 == NULL )
    {
        Py_DECREF( tmp_assign_source_102 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ResultMixinBytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 260;

        goto try_except_handler_27;
    }

    tmp_tuple_element_32 = tmp_mvar_value_20;
    Py_INCREF( tmp_tuple_element_32 );
    PyTuple_SET_ITEM( tmp_assign_source_102, 1, tmp_tuple_element_32 );
    assert( tmp_class_creation_9__bases_orig == NULL );
    tmp_class_creation_9__bases_orig = tmp_assign_source_102;

    }
    {
    PyObject *tmp_assign_source_103;
    PyObject *tmp_dircall_arg1_9;
    CHECK_OBJECT( tmp_class_creation_9__bases_orig );
    tmp_dircall_arg1_9 = tmp_class_creation_9__bases_orig;
    Py_INCREF( tmp_dircall_arg1_9 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_9};
        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 = 260;

        goto try_except_handler_27;
    }
    assert( tmp_class_creation_9__bases == NULL );
    tmp_class_creation_9__bases = tmp_assign_source_103;

    }
    {
    PyObject *tmp_assign_source_104;
    tmp_assign_source_104 = PyDict_New();
    assert( tmp_class_creation_9__class_decl_dict == NULL );
    tmp_class_creation_9__class_decl_dict = tmp_assign_source_104;

    }
    {
    PyObject *tmp_assign_source_105;
    PyObject *tmp_metaclass_name_9;
    nuitka_bool tmp_condition_result_57;
    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_58;
    int tmp_truth_name_9;
    PyObject *tmp_type_arg_17;
    PyObject *tmp_subscribed_name_9;
    PyObject *tmp_subscript_name_9;
    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 = 260;

        goto try_except_handler_27;
    }
    tmp_condition_result_57 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_57 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_25;
    }
    else
    {
        goto condexpr_false_25;
    }
    condexpr_true_25:;
    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 = 260;

        goto try_except_handler_27;
    }
    goto condexpr_end_25;
    condexpr_false_25:;
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_truth_name_9 = CHECK_IF_TRUE( tmp_class_creation_9__bases );
    if ( tmp_truth_name_9 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 260;

        goto try_except_handler_27;
    }
    tmp_condition_result_58 = tmp_truth_name_9 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_58 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_26;
    }
    else
    {
        goto condexpr_false_26;
    }
    condexpr_true_26:;
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_subscribed_name_9 = tmp_class_creation_9__bases;
    tmp_subscript_name_9 = const_int_0;
    tmp_type_arg_17 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_9, tmp_subscript_name_9, 0 );
    if ( tmp_type_arg_17 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 260;

        goto try_except_handler_27;
    }
    tmp_metaclass_name_9 = BUILTIN_TYPE1( tmp_type_arg_17 );
    Py_DECREF( tmp_type_arg_17 );
    if ( tmp_metaclass_name_9 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 260;

        goto try_except_handler_27;
    }
    goto condexpr_end_26;
    condexpr_false_26:;
    tmp_metaclass_name_9 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_9 );
    condexpr_end_26:;
    condexpr_end_25:;
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_bases_name_9 = tmp_class_creation_9__bases;
    tmp_assign_source_105 = SELECT_METACLASS( tmp_metaclass_name_9, tmp_bases_name_9 );
    Py_DECREF( tmp_metaclass_name_9 );
    if ( tmp_assign_source_105 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 260;

        goto try_except_handler_27;
    }
    assert( tmp_class_creation_9__metaclass == NULL );
    tmp_class_creation_9__metaclass = tmp_assign_source_105;

    }
    {
    nuitka_bool tmp_condition_result_59;
    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 = 260;

        goto try_except_handler_27;
    }
    tmp_condition_result_59 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_59 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_33;
    }
    else
    {
        goto branch_no_33;
    }
    branch_yes_33:;
    {
    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 = 260;

        goto try_except_handler_27;
    }
    }
    branch_no_33:;
    }
    {
    nuitka_bool tmp_condition_result_60;
    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_60 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_60 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_34;
    }
    else
    {
        goto branch_no_34;
    }
    branch_yes_34:;
    {
    PyObject *tmp_assign_source_106;
    PyObject *tmp_called_name_36;
    PyObject *tmp_source_name_34;
    PyObject *tmp_args_name_17;
    PyObject *tmp_tuple_element_33;
    PyObject *tmp_kw_name_17;
    CHECK_OBJECT( tmp_class_creation_9__metaclass );
    tmp_source_name_34 = tmp_class_creation_9__metaclass;
    tmp_called_name_36 = LOOKUP_ATTRIBUTE( tmp_source_name_34, const_str_plain___prepare__ );
    if ( tmp_called_name_36 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 260;

        goto try_except_handler_27;
    }
    tmp_tuple_element_33 = const_str_plain_DefragResultBytes;
    tmp_args_name_17 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_33 );
    PyTuple_SET_ITEM( tmp_args_name_17, 0, tmp_tuple_element_33 );
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_tuple_element_33 = tmp_class_creation_9__bases;
    Py_INCREF( tmp_tuple_element_33 );
    PyTuple_SET_ITEM( tmp_args_name_17, 1, tmp_tuple_element_33 );
    CHECK_OBJECT( tmp_class_creation_9__class_decl_dict );
    tmp_kw_name_17 = tmp_class_creation_9__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 260;
    tmp_assign_source_106 = CALL_FUNCTION( tmp_called_name_36, tmp_args_name_17, tmp_kw_name_17 );
    Py_DECREF( tmp_called_name_36 );
    Py_DECREF( tmp_args_name_17 );
    if ( tmp_assign_source_106 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 260;

        goto try_except_handler_27;
    }
    assert( tmp_class_creation_9__prepared == NULL );
    tmp_class_creation_9__prepared = tmp_assign_source_106;

    }
    {
    nuitka_bool tmp_condition_result_61;
    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 = 260;

        goto try_except_handler_27;
    }
    tmp_condition_result_61 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_61 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_35;
    }
    else
    {
        goto branch_no_35;
    }
    branch_yes_35:;
    {
    PyObject *tmp_raise_type_9;
    PyObject *tmp_raise_value_9;
    PyObject *tmp_left_name_9;
    PyObject *tmp_right_name_9;
    PyObject *tmp_tuple_element_34;
    PyObject *tmp_getattr_target_9;
    PyObject *tmp_getattr_attr_9;
    PyObject *tmp_getattr_default_9;
    PyObject *tmp_source_name_36;
    PyObject *tmp_type_arg_18;
    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_34 = BUILTIN_GETATTR( tmp_getattr_target_9, tmp_getattr_attr_9, tmp_getattr_default_9 );
    if ( tmp_tuple_element_34 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 260;

        goto try_except_handler_27;
    }
    tmp_right_name_9 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_9, 0, tmp_tuple_element_34 );
    CHECK_OBJECT( tmp_class_creation_9__prepared );
    tmp_type_arg_18 = tmp_class_creation_9__prepared;
    tmp_source_name_36 = BUILTIN_TYPE1( tmp_type_arg_18 );
    assert( !(tmp_source_name_36 == NULL) );
    tmp_tuple_element_34 = LOOKUP_ATTRIBUTE( tmp_source_name_36, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_36 );
    if ( tmp_tuple_element_34 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_9 );

        exception_lineno = 260;

        goto try_except_handler_27;
    }
    PyTuple_SET_ITEM( tmp_right_name_9, 1, tmp_tuple_element_34 );
    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 = 260;

        goto try_except_handler_27;
    }
    exception_type = tmp_raise_type_9;
    Py_INCREF( tmp_raise_type_9 );
    exception_value = tmp_raise_value_9;
    exception_lineno = 260;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_27;
    }
    branch_no_35:;
    }
    goto branch_end_34;
    branch_no_34:;
    {
    PyObject *tmp_assign_source_107;
    tmp_assign_source_107 = PyDict_New();
    assert( tmp_class_creation_9__prepared == NULL );
    tmp_class_creation_9__prepared = tmp_assign_source_107;

    }
    branch_end_34:;
    }
    {
    PyObject *tmp_assign_source_108;
    {
    PyObject *tmp_set_locals_9;
    CHECK_OBJECT( tmp_class_creation_9__prepared );
    tmp_set_locals_9 = tmp_class_creation_9__prepared;
    locals_future$backports$urllib$parse_260 = tmp_set_locals_9;
    Py_INCREF( tmp_set_locals_9 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_260, 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 = 260;

        goto try_except_handler_29;
    }
    }
    {
    tmp_dictset_value = const_str_plain_DefragResultBytes;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_260, 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 = 260;

        goto try_except_handler_29;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_22081b9dbaa836a647c4a5f1600688c6_10, codeobj_22081b9dbaa836a647c4a5f1600688c6, module_future$backports$urllib$parse, sizeof(void *) );
    frame_22081b9dbaa836a647c4a5f1600688c6_10 = cache_frame_22081b9dbaa836a647c4a5f1600688c6_10;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_22081b9dbaa836a647c4a5f1600688c6_10 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_22081b9dbaa836a647c4a5f1600688c6_10 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_260, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 261;
        type_description_2 = "o";
        goto frame_exception_exit_10;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_19_geturl(  );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_260, const_str_plain_geturl, 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 = 262;
        type_description_2 = "o";
        goto frame_exception_exit_10;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_22081b9dbaa836a647c4a5f1600688c6_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_22081b9dbaa836a647c4a5f1600688c6_10 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_22081b9dbaa836a647c4a5f1600688c6_10, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_22081b9dbaa836a647c4a5f1600688c6_10->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_22081b9dbaa836a647c4a5f1600688c6_10, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_22081b9dbaa836a647c4a5f1600688c6_10,
        type_description_2,
        outline_8_var___class__
    );


    // Release cached frame.
    if ( frame_22081b9dbaa836a647c4a5f1600688c6_10 == cache_frame_22081b9dbaa836a647c4a5f1600688c6_10 )
    {
        Py_DECREF( frame_22081b9dbaa836a647c4a5f1600688c6_10 );
    }
    cache_frame_22081b9dbaa836a647c4a5f1600688c6_10 = NULL;

    assertFrameObject( frame_22081b9dbaa836a647c4a5f1600688c6_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_29;
    skip_nested_handling_9:;
    {
    nuitka_bool tmp_condition_result_62;
    PyObject *tmp_compexpr_left_9;
    PyObject *tmp_compexpr_right_9;
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_compexpr_left_9 = tmp_class_creation_9__bases;
    CHECK_OBJECT( tmp_class_creation_9__bases_orig );
    tmp_compexpr_right_9 = tmp_class_creation_9__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 = 260;

        goto try_except_handler_29;
    }
    tmp_condition_result_62 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_62 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_36;
    }
    else
    {
        goto branch_no_36;
    }
    branch_yes_36:;
    {
    CHECK_OBJECT( tmp_class_creation_9__bases_orig );
    tmp_dictset_value = tmp_class_creation_9__bases_orig;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_260, 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 = 260;

        goto try_except_handler_29;
    }
    }
    branch_no_36:;
    }
    {
    PyObject *tmp_assign_source_109;
    PyObject *tmp_called_name_37;
    PyObject *tmp_args_name_18;
    PyObject *tmp_tuple_element_35;
    PyObject *tmp_kw_name_18;
    CHECK_OBJECT( tmp_class_creation_9__metaclass );
    tmp_called_name_37 = tmp_class_creation_9__metaclass;
    tmp_tuple_element_35 = const_str_plain_DefragResultBytes;
    tmp_args_name_18 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_35 );
    PyTuple_SET_ITEM( tmp_args_name_18, 0, tmp_tuple_element_35 );
    CHECK_OBJECT( tmp_class_creation_9__bases );
    tmp_tuple_element_35 = tmp_class_creation_9__bases;
    Py_INCREF( tmp_tuple_element_35 );
    PyTuple_SET_ITEM( tmp_args_name_18, 1, tmp_tuple_element_35 );
    tmp_tuple_element_35 = locals_future$backports$urllib$parse_260;
    Py_INCREF( tmp_tuple_element_35 );
    PyTuple_SET_ITEM( tmp_args_name_18, 2, tmp_tuple_element_35 );
    CHECK_OBJECT( tmp_class_creation_9__class_decl_dict );
    tmp_kw_name_18 = tmp_class_creation_9__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 260;
    tmp_assign_source_109 = CALL_FUNCTION( tmp_called_name_37, tmp_args_name_18, tmp_kw_name_18 );
    Py_DECREF( tmp_args_name_18 );
    if ( tmp_assign_source_109 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 260;

        goto try_except_handler_29;
    }
    assert( outline_8_var___class__ == NULL );
    outline_8_var___class__ = tmp_assign_source_109;

    }
    {
    CHECK_OBJECT( outline_8_var___class__ );
    tmp_assign_source_108 = outline_8_var___class__;
    Py_INCREF( tmp_assign_source_108 );
    goto try_return_handler_29;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_29:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_260 );
    locals_future$backports$urllib$parse_260 = NULL;
    }
    {
    goto try_return_handler_28;
    }
    // Exception handler code:
    try_except_handler_29:;
    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;

    {
    Py_DECREF( locals_future$backports$urllib$parse_260 );
    locals_future$backports$urllib$parse_260 = 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 try_except_handler_28;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_28:;
    {
    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_28:;
    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;

    {
    // 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 outline_exception_9;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_9:;
    exception_lineno = 260;
    goto try_except_handler_27;
    outline_result_9:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_DefragResultBytes, tmp_assign_source_108 );
    }
    goto try_end_11;
    // Exception handler code:
    try_except_handler_27:;
    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;

    {
    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_29;
    exception_value = exception_keeper_value_29;
    exception_tb = exception_keeper_tb_29;
    exception_lineno = exception_keeper_lineno_29;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_11:;
    }
    {
    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_110;
    PyObject *tmp_tuple_element_36;
    PyObject *tmp_mvar_value_21;
    PyObject *tmp_mvar_value_22;
    tmp_mvar_value_21 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__SplitResultBase );

    if (unlikely( tmp_mvar_value_21 == NULL ))
    {
        tmp_mvar_value_21 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__SplitResultBase );
    }

    if ( tmp_mvar_value_21 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_SplitResultBase" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 268;

        goto try_except_handler_30;
    }

    tmp_tuple_element_36 = tmp_mvar_value_21;
    tmp_assign_source_110 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_36 );
    PyTuple_SET_ITEM( tmp_assign_source_110, 0, tmp_tuple_element_36 );
    tmp_mvar_value_22 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBytes );

    if (unlikely( tmp_mvar_value_22 == NULL ))
    {
        tmp_mvar_value_22 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBytes );
    }

    if ( tmp_mvar_value_22 == NULL )
    {
        Py_DECREF( tmp_assign_source_110 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_NetlocResultMixinBytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 268;

        goto try_except_handler_30;
    }

    tmp_tuple_element_36 = tmp_mvar_value_22;
    Py_INCREF( tmp_tuple_element_36 );
    PyTuple_SET_ITEM( tmp_assign_source_110, 1, tmp_tuple_element_36 );
    assert( tmp_class_creation_10__bases_orig == NULL );
    tmp_class_creation_10__bases_orig = tmp_assign_source_110;

    }
    {
    PyObject *tmp_assign_source_111;
    PyObject *tmp_dircall_arg1_10;
    CHECK_OBJECT( tmp_class_creation_10__bases_orig );
    tmp_dircall_arg1_10 = tmp_class_creation_10__bases_orig;
    Py_INCREF( tmp_dircall_arg1_10 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_10};
        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 = 268;

        goto try_except_handler_30;
    }
    assert( tmp_class_creation_10__bases == NULL );
    tmp_class_creation_10__bases = tmp_assign_source_111;

    }
    {
    PyObject *tmp_assign_source_112;
    tmp_assign_source_112 = PyDict_New();
    assert( tmp_class_creation_10__class_decl_dict == NULL );
    tmp_class_creation_10__class_decl_dict = tmp_assign_source_112;

    }
    {
    PyObject *tmp_assign_source_113;
    PyObject *tmp_metaclass_name_10;
    nuitka_bool tmp_condition_result_63;
    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_64;
    int tmp_truth_name_10;
    PyObject *tmp_type_arg_19;
    PyObject *tmp_subscribed_name_10;
    PyObject *tmp_subscript_name_10;
    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 = 268;

        goto try_except_handler_30;
    }
    tmp_condition_result_63 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_63 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_27;
    }
    else
    {
        goto condexpr_false_27;
    }
    condexpr_true_27:;
    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 = 268;

        goto try_except_handler_30;
    }
    goto condexpr_end_27;
    condexpr_false_27:;
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_truth_name_10 = CHECK_IF_TRUE( tmp_class_creation_10__bases );
    if ( tmp_truth_name_10 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 268;

        goto try_except_handler_30;
    }
    tmp_condition_result_64 = tmp_truth_name_10 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_64 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_28;
    }
    else
    {
        goto condexpr_false_28;
    }
    condexpr_true_28:;
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_subscribed_name_10 = tmp_class_creation_10__bases;
    tmp_subscript_name_10 = const_int_0;
    tmp_type_arg_19 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_10, tmp_subscript_name_10, 0 );
    if ( tmp_type_arg_19 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 268;

        goto try_except_handler_30;
    }
    tmp_metaclass_name_10 = BUILTIN_TYPE1( tmp_type_arg_19 );
    Py_DECREF( tmp_type_arg_19 );
    if ( tmp_metaclass_name_10 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 268;

        goto try_except_handler_30;
    }
    goto condexpr_end_28;
    condexpr_false_28:;
    tmp_metaclass_name_10 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_10 );
    condexpr_end_28:;
    condexpr_end_27:;
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_bases_name_10 = tmp_class_creation_10__bases;
    tmp_assign_source_113 = SELECT_METACLASS( tmp_metaclass_name_10, tmp_bases_name_10 );
    Py_DECREF( tmp_metaclass_name_10 );
    if ( tmp_assign_source_113 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 268;

        goto try_except_handler_30;
    }
    assert( tmp_class_creation_10__metaclass == NULL );
    tmp_class_creation_10__metaclass = tmp_assign_source_113;

    }
    {
    nuitka_bool tmp_condition_result_65;
    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 = 268;

        goto try_except_handler_30;
    }
    tmp_condition_result_65 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_65 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_37;
    }
    else
    {
        goto branch_no_37;
    }
    branch_yes_37:;
    {
    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 = 268;

        goto try_except_handler_30;
    }
    }
    branch_no_37:;
    }
    {
    nuitka_bool tmp_condition_result_66;
    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_66 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_66 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_38;
    }
    else
    {
        goto branch_no_38;
    }
    branch_yes_38:;
    {
    PyObject *tmp_assign_source_114;
    PyObject *tmp_called_name_38;
    PyObject *tmp_source_name_38;
    PyObject *tmp_args_name_19;
    PyObject *tmp_tuple_element_37;
    PyObject *tmp_kw_name_19;
    CHECK_OBJECT( tmp_class_creation_10__metaclass );
    tmp_source_name_38 = tmp_class_creation_10__metaclass;
    tmp_called_name_38 = LOOKUP_ATTRIBUTE( tmp_source_name_38, const_str_plain___prepare__ );
    if ( tmp_called_name_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 268;

        goto try_except_handler_30;
    }
    tmp_tuple_element_37 = const_str_plain_SplitResultBytes;
    tmp_args_name_19 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_37 );
    PyTuple_SET_ITEM( tmp_args_name_19, 0, tmp_tuple_element_37 );
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_tuple_element_37 = tmp_class_creation_10__bases;
    Py_INCREF( tmp_tuple_element_37 );
    PyTuple_SET_ITEM( tmp_args_name_19, 1, tmp_tuple_element_37 );
    CHECK_OBJECT( tmp_class_creation_10__class_decl_dict );
    tmp_kw_name_19 = tmp_class_creation_10__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 268;
    tmp_assign_source_114 = CALL_FUNCTION( tmp_called_name_38, tmp_args_name_19, tmp_kw_name_19 );
    Py_DECREF( tmp_called_name_38 );
    Py_DECREF( tmp_args_name_19 );
    if ( tmp_assign_source_114 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 268;

        goto try_except_handler_30;
    }
    assert( tmp_class_creation_10__prepared == NULL );
    tmp_class_creation_10__prepared = tmp_assign_source_114;

    }
    {
    nuitka_bool tmp_condition_result_67;
    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 = 268;

        goto try_except_handler_30;
    }
    tmp_condition_result_67 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_67 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_39;
    }
    else
    {
        goto branch_no_39;
    }
    branch_yes_39:;
    {
    PyObject *tmp_raise_type_10;
    PyObject *tmp_raise_value_10;
    PyObject *tmp_left_name_10;
    PyObject *tmp_right_name_10;
    PyObject *tmp_tuple_element_38;
    PyObject *tmp_getattr_target_10;
    PyObject *tmp_getattr_attr_10;
    PyObject *tmp_getattr_default_10;
    PyObject *tmp_source_name_40;
    PyObject *tmp_type_arg_20;
    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_38 = BUILTIN_GETATTR( tmp_getattr_target_10, tmp_getattr_attr_10, tmp_getattr_default_10 );
    if ( tmp_tuple_element_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 268;

        goto try_except_handler_30;
    }
    tmp_right_name_10 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_10, 0, tmp_tuple_element_38 );
    CHECK_OBJECT( tmp_class_creation_10__prepared );
    tmp_type_arg_20 = tmp_class_creation_10__prepared;
    tmp_source_name_40 = BUILTIN_TYPE1( tmp_type_arg_20 );
    assert( !(tmp_source_name_40 == NULL) );
    tmp_tuple_element_38 = LOOKUP_ATTRIBUTE( tmp_source_name_40, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_40 );
    if ( tmp_tuple_element_38 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_10 );

        exception_lineno = 268;

        goto try_except_handler_30;
    }
    PyTuple_SET_ITEM( tmp_right_name_10, 1, tmp_tuple_element_38 );
    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 = 268;

        goto try_except_handler_30;
    }
    exception_type = tmp_raise_type_10;
    Py_INCREF( tmp_raise_type_10 );
    exception_value = tmp_raise_value_10;
    exception_lineno = 268;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_30;
    }
    branch_no_39:;
    }
    goto branch_end_38;
    branch_no_38:;
    {
    PyObject *tmp_assign_source_115;
    tmp_assign_source_115 = PyDict_New();
    assert( tmp_class_creation_10__prepared == NULL );
    tmp_class_creation_10__prepared = tmp_assign_source_115;

    }
    branch_end_38:;
    }
    {
    PyObject *tmp_assign_source_116;
    {
    PyObject *tmp_set_locals_10;
    CHECK_OBJECT( tmp_class_creation_10__prepared );
    tmp_set_locals_10 = tmp_class_creation_10__prepared;
    locals_future$backports$urllib$parse_268 = tmp_set_locals_10;
    Py_INCREF( tmp_set_locals_10 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_268, 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 = 268;

        goto try_except_handler_32;
    }
    }
    {
    tmp_dictset_value = const_str_plain_SplitResultBytes;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_268, 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 = 268;

        goto try_except_handler_32;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_fbf270c3276f877dbeac3dd7dc91244e_11, codeobj_fbf270c3276f877dbeac3dd7dc91244e, module_future$backports$urllib$parse, sizeof(void *) );
    frame_fbf270c3276f877dbeac3dd7dc91244e_11 = cache_frame_fbf270c3276f877dbeac3dd7dc91244e_11;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_fbf270c3276f877dbeac3dd7dc91244e_11 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_fbf270c3276f877dbeac3dd7dc91244e_11 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_268, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 269;
        type_description_2 = "o";
        goto frame_exception_exit_11;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_20_geturl(  );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_268, const_str_plain_geturl, 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_11;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_fbf270c3276f877dbeac3dd7dc91244e_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_fbf270c3276f877dbeac3dd7dc91244e_11 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_fbf270c3276f877dbeac3dd7dc91244e_11, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_fbf270c3276f877dbeac3dd7dc91244e_11->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_fbf270c3276f877dbeac3dd7dc91244e_11, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_fbf270c3276f877dbeac3dd7dc91244e_11,
        type_description_2,
        outline_9_var___class__
    );


    // Release cached frame.
    if ( frame_fbf270c3276f877dbeac3dd7dc91244e_11 == cache_frame_fbf270c3276f877dbeac3dd7dc91244e_11 )
    {
        Py_DECREF( frame_fbf270c3276f877dbeac3dd7dc91244e_11 );
    }
    cache_frame_fbf270c3276f877dbeac3dd7dc91244e_11 = NULL;

    assertFrameObject( frame_fbf270c3276f877dbeac3dd7dc91244e_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_32;
    skip_nested_handling_10:;
    {
    nuitka_bool tmp_condition_result_68;
    PyObject *tmp_compexpr_left_10;
    PyObject *tmp_compexpr_right_10;
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_compexpr_left_10 = tmp_class_creation_10__bases;
    CHECK_OBJECT( tmp_class_creation_10__bases_orig );
    tmp_compexpr_right_10 = tmp_class_creation_10__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 = 268;

        goto try_except_handler_32;
    }
    tmp_condition_result_68 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_68 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_40;
    }
    else
    {
        goto branch_no_40;
    }
    branch_yes_40:;
    {
    CHECK_OBJECT( tmp_class_creation_10__bases_orig );
    tmp_dictset_value = tmp_class_creation_10__bases_orig;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_268, 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 = 268;

        goto try_except_handler_32;
    }
    }
    branch_no_40:;
    }
    {
    PyObject *tmp_assign_source_117;
    PyObject *tmp_called_name_39;
    PyObject *tmp_args_name_20;
    PyObject *tmp_tuple_element_39;
    PyObject *tmp_kw_name_20;
    CHECK_OBJECT( tmp_class_creation_10__metaclass );
    tmp_called_name_39 = tmp_class_creation_10__metaclass;
    tmp_tuple_element_39 = const_str_plain_SplitResultBytes;
    tmp_args_name_20 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_39 );
    PyTuple_SET_ITEM( tmp_args_name_20, 0, tmp_tuple_element_39 );
    CHECK_OBJECT( tmp_class_creation_10__bases );
    tmp_tuple_element_39 = tmp_class_creation_10__bases;
    Py_INCREF( tmp_tuple_element_39 );
    PyTuple_SET_ITEM( tmp_args_name_20, 1, tmp_tuple_element_39 );
    tmp_tuple_element_39 = locals_future$backports$urllib$parse_268;
    Py_INCREF( tmp_tuple_element_39 );
    PyTuple_SET_ITEM( tmp_args_name_20, 2, tmp_tuple_element_39 );
    CHECK_OBJECT( tmp_class_creation_10__class_decl_dict );
    tmp_kw_name_20 = tmp_class_creation_10__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 268;
    tmp_assign_source_117 = CALL_FUNCTION( tmp_called_name_39, tmp_args_name_20, tmp_kw_name_20 );
    Py_DECREF( tmp_args_name_20 );
    if ( tmp_assign_source_117 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 268;

        goto try_except_handler_32;
    }
    assert( outline_9_var___class__ == NULL );
    outline_9_var___class__ = tmp_assign_source_117;

    }
    {
    CHECK_OBJECT( outline_9_var___class__ );
    tmp_assign_source_116 = outline_9_var___class__;
    Py_INCREF( tmp_assign_source_116 );
    goto try_return_handler_32;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_32:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_268 );
    locals_future$backports$urllib$parse_268 = NULL;
    }
    {
    goto try_return_handler_31;
    }
    // Exception handler code:
    try_except_handler_32:;
    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_DECREF( locals_future$backports$urllib$parse_268 );
    locals_future$backports$urllib$parse_268 = 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 try_except_handler_31;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_31:;
    {
    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_31:;
    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;

    {
    // 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 outline_exception_10;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_10:;
    exception_lineno = 268;
    goto try_except_handler_30;
    outline_result_10:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_SplitResultBytes, tmp_assign_source_116 );
    }
    goto try_end_12;
    // Exception handler code:
    try_except_handler_30:;
    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;

    {
    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_32;
    exception_value = exception_keeper_value_32;
    exception_tb = exception_keeper_tb_32;
    exception_lineno = exception_keeper_lineno_32;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_12:;
    }
    {
    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_118;
    PyObject *tmp_tuple_element_40;
    PyObject *tmp_mvar_value_23;
    PyObject *tmp_mvar_value_24;
    tmp_mvar_value_23 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ParseResultBase );

    if (unlikely( tmp_mvar_value_23 == NULL ))
    {
        tmp_mvar_value_23 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ParseResultBase );
    }

    if ( tmp_mvar_value_23 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_ParseResultBase" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 273;

        goto try_except_handler_33;
    }

    tmp_tuple_element_40 = tmp_mvar_value_23;
    tmp_assign_source_118 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_40 );
    PyTuple_SET_ITEM( tmp_assign_source_118, 0, tmp_tuple_element_40 );
    tmp_mvar_value_24 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBytes );

    if (unlikely( tmp_mvar_value_24 == NULL ))
    {
        tmp_mvar_value_24 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__NetlocResultMixinBytes );
    }

    if ( tmp_mvar_value_24 == NULL )
    {
        Py_DECREF( tmp_assign_source_118 );
        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_NetlocResultMixinBytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 273;

        goto try_except_handler_33;
    }

    tmp_tuple_element_40 = tmp_mvar_value_24;
    Py_INCREF( tmp_tuple_element_40 );
    PyTuple_SET_ITEM( tmp_assign_source_118, 1, tmp_tuple_element_40 );
    assert( tmp_class_creation_11__bases_orig == NULL );
    tmp_class_creation_11__bases_orig = tmp_assign_source_118;

    }
    {
    PyObject *tmp_assign_source_119;
    PyObject *tmp_dircall_arg1_11;
    CHECK_OBJECT( tmp_class_creation_11__bases_orig );
    tmp_dircall_arg1_11 = tmp_class_creation_11__bases_orig;
    Py_INCREF( tmp_dircall_arg1_11 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_11};
        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 = 273;

        goto try_except_handler_33;
    }
    assert( tmp_class_creation_11__bases == NULL );
    tmp_class_creation_11__bases = tmp_assign_source_119;

    }
    {
    PyObject *tmp_assign_source_120;
    tmp_assign_source_120 = PyDict_New();
    assert( tmp_class_creation_11__class_decl_dict == NULL );
    tmp_class_creation_11__class_decl_dict = tmp_assign_source_120;

    }
    {
    PyObject *tmp_assign_source_121;
    PyObject *tmp_metaclass_name_11;
    nuitka_bool tmp_condition_result_69;
    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_70;
    int tmp_truth_name_11;
    PyObject *tmp_type_arg_21;
    PyObject *tmp_subscribed_name_11;
    PyObject *tmp_subscript_name_11;
    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 = 273;

        goto try_except_handler_33;
    }
    tmp_condition_result_69 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_69 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_29;
    }
    else
    {
        goto condexpr_false_29;
    }
    condexpr_true_29:;
    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 = 273;

        goto try_except_handler_33;
    }
    goto condexpr_end_29;
    condexpr_false_29:;
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_truth_name_11 = CHECK_IF_TRUE( tmp_class_creation_11__bases );
    if ( tmp_truth_name_11 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 273;

        goto try_except_handler_33;
    }
    tmp_condition_result_70 = tmp_truth_name_11 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_70 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_30;
    }
    else
    {
        goto condexpr_false_30;
    }
    condexpr_true_30:;
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_subscribed_name_11 = tmp_class_creation_11__bases;
    tmp_subscript_name_11 = const_int_0;
    tmp_type_arg_21 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_11, tmp_subscript_name_11, 0 );
    if ( tmp_type_arg_21 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 273;

        goto try_except_handler_33;
    }
    tmp_metaclass_name_11 = BUILTIN_TYPE1( tmp_type_arg_21 );
    Py_DECREF( tmp_type_arg_21 );
    if ( tmp_metaclass_name_11 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 273;

        goto try_except_handler_33;
    }
    goto condexpr_end_30;
    condexpr_false_30:;
    tmp_metaclass_name_11 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_11 );
    condexpr_end_30:;
    condexpr_end_29:;
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_bases_name_11 = tmp_class_creation_11__bases;
    tmp_assign_source_121 = SELECT_METACLASS( tmp_metaclass_name_11, tmp_bases_name_11 );
    Py_DECREF( tmp_metaclass_name_11 );
    if ( tmp_assign_source_121 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 273;

        goto try_except_handler_33;
    }
    assert( tmp_class_creation_11__metaclass == NULL );
    tmp_class_creation_11__metaclass = tmp_assign_source_121;

    }
    {
    nuitka_bool tmp_condition_result_71;
    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 = 273;

        goto try_except_handler_33;
    }
    tmp_condition_result_71 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_71 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_41;
    }
    else
    {
        goto branch_no_41;
    }
    branch_yes_41:;
    {
    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 = 273;

        goto try_except_handler_33;
    }
    }
    branch_no_41:;
    }
    {
    nuitka_bool tmp_condition_result_72;
    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_72 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_72 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_42;
    }
    else
    {
        goto branch_no_42;
    }
    branch_yes_42:;
    {
    PyObject *tmp_assign_source_122;
    PyObject *tmp_called_name_40;
    PyObject *tmp_source_name_42;
    PyObject *tmp_args_name_21;
    PyObject *tmp_tuple_element_41;
    PyObject *tmp_kw_name_21;
    CHECK_OBJECT( tmp_class_creation_11__metaclass );
    tmp_source_name_42 = tmp_class_creation_11__metaclass;
    tmp_called_name_40 = LOOKUP_ATTRIBUTE( tmp_source_name_42, const_str_plain___prepare__ );
    if ( tmp_called_name_40 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 273;

        goto try_except_handler_33;
    }
    tmp_tuple_element_41 = const_str_plain_ParseResultBytes;
    tmp_args_name_21 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_41 );
    PyTuple_SET_ITEM( tmp_args_name_21, 0, tmp_tuple_element_41 );
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_tuple_element_41 = tmp_class_creation_11__bases;
    Py_INCREF( tmp_tuple_element_41 );
    PyTuple_SET_ITEM( tmp_args_name_21, 1, tmp_tuple_element_41 );
    CHECK_OBJECT( tmp_class_creation_11__class_decl_dict );
    tmp_kw_name_21 = tmp_class_creation_11__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 273;
    tmp_assign_source_122 = CALL_FUNCTION( tmp_called_name_40, tmp_args_name_21, tmp_kw_name_21 );
    Py_DECREF( tmp_called_name_40 );
    Py_DECREF( tmp_args_name_21 );
    if ( tmp_assign_source_122 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 273;

        goto try_except_handler_33;
    }
    assert( tmp_class_creation_11__prepared == NULL );
    tmp_class_creation_11__prepared = tmp_assign_source_122;

    }
    {
    nuitka_bool tmp_condition_result_73;
    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 = 273;

        goto try_except_handler_33;
    }
    tmp_condition_result_73 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_73 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_43;
    }
    else
    {
        goto branch_no_43;
    }
    branch_yes_43:;
    {
    PyObject *tmp_raise_type_11;
    PyObject *tmp_raise_value_11;
    PyObject *tmp_left_name_11;
    PyObject *tmp_right_name_11;
    PyObject *tmp_tuple_element_42;
    PyObject *tmp_getattr_target_11;
    PyObject *tmp_getattr_attr_11;
    PyObject *tmp_getattr_default_11;
    PyObject *tmp_source_name_44;
    PyObject *tmp_type_arg_22;
    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_42 = BUILTIN_GETATTR( tmp_getattr_target_11, tmp_getattr_attr_11, tmp_getattr_default_11 );
    if ( tmp_tuple_element_42 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 273;

        goto try_except_handler_33;
    }
    tmp_right_name_11 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_11, 0, tmp_tuple_element_42 );
    CHECK_OBJECT( tmp_class_creation_11__prepared );
    tmp_type_arg_22 = tmp_class_creation_11__prepared;
    tmp_source_name_44 = BUILTIN_TYPE1( tmp_type_arg_22 );
    assert( !(tmp_source_name_44 == NULL) );
    tmp_tuple_element_42 = LOOKUP_ATTRIBUTE( tmp_source_name_44, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_44 );
    if ( tmp_tuple_element_42 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_11 );

        exception_lineno = 273;

        goto try_except_handler_33;
    }
    PyTuple_SET_ITEM( tmp_right_name_11, 1, tmp_tuple_element_42 );
    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 = 273;

        goto try_except_handler_33;
    }
    exception_type = tmp_raise_type_11;
    Py_INCREF( tmp_raise_type_11 );
    exception_value = tmp_raise_value_11;
    exception_lineno = 273;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_33;
    }
    branch_no_43:;
    }
    goto branch_end_42;
    branch_no_42:;
    {
    PyObject *tmp_assign_source_123;
    tmp_assign_source_123 = PyDict_New();
    assert( tmp_class_creation_11__prepared == NULL );
    tmp_class_creation_11__prepared = tmp_assign_source_123;

    }
    branch_end_42:;
    }
    {
    PyObject *tmp_assign_source_124;
    {
    PyObject *tmp_set_locals_11;
    CHECK_OBJECT( tmp_class_creation_11__prepared );
    tmp_set_locals_11 = tmp_class_creation_11__prepared;
    locals_future$backports$urllib$parse_273 = tmp_set_locals_11;
    Py_INCREF( tmp_set_locals_11 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_273, 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 = 273;

        goto try_except_handler_35;
    }
    }
    {
    tmp_dictset_value = const_str_plain_ParseResultBytes;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_273, 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 = 273;

        goto try_except_handler_35;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12, codeobj_0901bd5e9c6ec2d01ecbc4dad0c97e0c, module_future$backports$urllib$parse, sizeof(void *) );
    frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12 = cache_frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = const_tuple_empty;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_273, const_str_plain___slots__, tmp_dictset_value );
    if ( tmp_res != 0 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 274;
        type_description_2 = "o";
        goto frame_exception_exit_12;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_21_geturl(  );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_273, const_str_plain_geturl, 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 = 275;
        type_description_2 = "o";
        goto frame_exception_exit_12;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_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_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12,
        type_description_2,
        outline_10_var___class__
    );


    // Release cached frame.
    if ( frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12 == cache_frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12 )
    {
        Py_DECREF( frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12 );
    }
    cache_frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_12 = NULL;

    assertFrameObject( frame_0901bd5e9c6ec2d01ecbc4dad0c97e0c_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_35;
    skip_nested_handling_11:;
    {
    nuitka_bool tmp_condition_result_74;
    PyObject *tmp_compexpr_left_11;
    PyObject *tmp_compexpr_right_11;
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_compexpr_left_11 = tmp_class_creation_11__bases;
    CHECK_OBJECT( tmp_class_creation_11__bases_orig );
    tmp_compexpr_right_11 = tmp_class_creation_11__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 = 273;

        goto try_except_handler_35;
    }
    tmp_condition_result_74 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_74 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_44;
    }
    else
    {
        goto branch_no_44;
    }
    branch_yes_44:;
    {
    CHECK_OBJECT( tmp_class_creation_11__bases_orig );
    tmp_dictset_value = tmp_class_creation_11__bases_orig;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_273, 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 = 273;

        goto try_except_handler_35;
    }
    }
    branch_no_44:;
    }
    {
    PyObject *tmp_assign_source_125;
    PyObject *tmp_called_name_41;
    PyObject *tmp_args_name_22;
    PyObject *tmp_tuple_element_43;
    PyObject *tmp_kw_name_22;
    CHECK_OBJECT( tmp_class_creation_11__metaclass );
    tmp_called_name_41 = tmp_class_creation_11__metaclass;
    tmp_tuple_element_43 = const_str_plain_ParseResultBytes;
    tmp_args_name_22 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_43 );
    PyTuple_SET_ITEM( tmp_args_name_22, 0, tmp_tuple_element_43 );
    CHECK_OBJECT( tmp_class_creation_11__bases );
    tmp_tuple_element_43 = tmp_class_creation_11__bases;
    Py_INCREF( tmp_tuple_element_43 );
    PyTuple_SET_ITEM( tmp_args_name_22, 1, tmp_tuple_element_43 );
    tmp_tuple_element_43 = locals_future$backports$urllib$parse_273;
    Py_INCREF( tmp_tuple_element_43 );
    PyTuple_SET_ITEM( tmp_args_name_22, 2, tmp_tuple_element_43 );
    CHECK_OBJECT( tmp_class_creation_11__class_decl_dict );
    tmp_kw_name_22 = tmp_class_creation_11__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 273;
    tmp_assign_source_125 = CALL_FUNCTION( tmp_called_name_41, tmp_args_name_22, tmp_kw_name_22 );
    Py_DECREF( tmp_args_name_22 );
    if ( tmp_assign_source_125 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 273;

        goto try_except_handler_35;
    }
    assert( outline_10_var___class__ == NULL );
    outline_10_var___class__ = tmp_assign_source_125;

    }
    {
    CHECK_OBJECT( outline_10_var___class__ );
    tmp_assign_source_124 = outline_10_var___class__;
    Py_INCREF( tmp_assign_source_124 );
    goto try_return_handler_35;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_35:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_273 );
    locals_future$backports$urllib$parse_273 = NULL;
    }
    {
    goto try_return_handler_34;
    }
    // Exception handler code:
    try_except_handler_35:;
    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_DECREF( locals_future$backports$urllib$parse_273 );
    locals_future$backports$urllib$parse_273 = 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 try_except_handler_34;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_34:;
    {
    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_34:;
    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;

    {
    // 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 outline_exception_11;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_11:;
    exception_lineno = 273;
    goto try_except_handler_33;
    outline_result_11:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_ParseResultBytes, tmp_assign_source_124 );
    }
    goto try_end_13;
    // Exception handler code:
    try_except_handler_33:;
    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;

    {
    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_35;
    exception_value = exception_keeper_value_35;
    exception_tb = exception_keeper_tb_35;
    exception_lineno = exception_keeper_lineno_35;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_13:;
    }
    {
    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;

    }
    {
    PyObject *tmp_assign_source_126;
    tmp_assign_source_126 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_22__fix_result_transcoding(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__fix_result_transcoding, tmp_assign_source_126 );
    }
    {
    PyObject *tmp_called_name_42;
    PyObject *tmp_mvar_value_25;
    tmp_mvar_value_25 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__fix_result_transcoding );

    if (unlikely( tmp_mvar_value_25 == NULL ))
    {
        tmp_mvar_value_25 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__fix_result_transcoding );
    }

    CHECK_OBJECT( tmp_mvar_value_25 );
    tmp_called_name_42 = tmp_mvar_value_25;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 289;
    tmp_unused = CALL_FUNCTION_NO_ARGS( tmp_called_name_42 );
    if ( tmp_unused == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 289;

        goto frame_exception_exit_1;
    }
    Py_DECREF( tmp_unused );
    }
    {
    tmp_res = PyDict_DelItem( (PyObject *)moduledict_future$backports$urllib$parse, const_str_plain__fix_result_transcoding );
    tmp_result = tmp_res != -1;
    if ( tmp_result == false ) CLEAR_ERROR_OCCURRED();

    if ( tmp_result == false )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "_fix_result_transcoding" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 290;

        goto frame_exception_exit_1;
    }

    }
    {
    PyObject *tmp_assign_source_127;
    PyObject *tmp_defaults_5;
    tmp_defaults_5 = const_tuple_str_empty_true_tuple;
    Py_INCREF( tmp_defaults_5 );
    tmp_assign_source_127 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_23_urlparse( tmp_defaults_5 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlparse, tmp_assign_source_127 );
    }
    {
    PyObject *tmp_assign_source_128;
    tmp_assign_source_128 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_24__splitparams(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__splitparams, tmp_assign_source_128 );
    }
    {
    PyObject *tmp_assign_source_129;
    PyObject *tmp_defaults_6;
    tmp_defaults_6 = const_tuple_int_0_tuple;
    Py_INCREF( tmp_defaults_6 );
    tmp_assign_source_129 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_25__splitnetloc( tmp_defaults_6 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__splitnetloc, tmp_assign_source_129 );
    }
    {
    PyObject *tmp_assign_source_130;
    PyObject *tmp_defaults_7;
    tmp_defaults_7 = const_tuple_str_empty_true_tuple;
    Py_INCREF( tmp_defaults_7 );
    tmp_assign_source_130 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_26_urlsplit( tmp_defaults_7 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlsplit, tmp_assign_source_130 );
    }
    {
    PyObject *tmp_assign_source_131;
    tmp_assign_source_131 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_27_urlunparse(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunparse, tmp_assign_source_131 );
    }
    {
    PyObject *tmp_assign_source_132;
    tmp_assign_source_132 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_28_urlunsplit(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlunsplit, tmp_assign_source_132 );
    }
    {
    PyObject *tmp_assign_source_133;
    PyObject *tmp_defaults_8;
    tmp_defaults_8 = const_tuple_true_tuple;
    Py_INCREF( tmp_defaults_8 );
    tmp_assign_source_133 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_29_urljoin( tmp_defaults_8 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urljoin, tmp_assign_source_133 );
    }
    {
    PyObject *tmp_assign_source_134;
    tmp_assign_source_134 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_30_urldefrag(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urldefrag, tmp_assign_source_134 );
    }
    {
    PyObject *tmp_assign_source_135;
    tmp_assign_source_135 = const_str_plain_0123456789ABCDEFabcdef;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__hexdig, tmp_assign_source_135 );
    }
    {
    PyObject *tmp_assign_source_136;
    PyObject *tmp_called_name_43;
    PyObject *tmp_mvar_value_26;
    PyObject *tmp_args_element_name_17;
    tmp_mvar_value_26 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_dict );

    if (unlikely( tmp_mvar_value_26 == NULL ))
    {
        tmp_mvar_value_26 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_dict );
    }

    if ( tmp_mvar_value_26 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "dict" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 481;

        goto frame_exception_exit_1;
    }

    tmp_called_name_43 = tmp_mvar_value_26;
    {
    PyObject *tmp_assign_source_137;
    PyObject *tmp_iter_arg_1;
    PyObject *tmp_mvar_value_27;
    tmp_mvar_value_27 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__hexdig );

    if (unlikely( tmp_mvar_value_27 == NULL ))
    {
        tmp_mvar_value_27 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__hexdig );
    }

    CHECK_OBJECT( tmp_mvar_value_27 );
    tmp_iter_arg_1 = tmp_mvar_value_27;
    tmp_assign_source_137 = MAKE_ITERATOR( tmp_iter_arg_1 );
    if ( tmp_assign_source_137 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 481;

        goto frame_exception_exit_1;
    }
    assert( tmp_genexpr_1__$0 == NULL );
    tmp_genexpr_1__$0 = tmp_assign_source_137;

    }
    {
    // Tried code:
    {
    tmp_args_element_name_17 = future$backports$urllib$parse$$$genexpr_1_genexpr_maker();

    ((struct Nuitka_GeneratorObject *)tmp_args_element_name_17)->m_closure[0] = PyCell_NEW0( tmp_genexpr_1__$0 );


    goto try_return_handler_36;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_36:;
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    {
    goto outline_result_12;
    }
    // End of try:
    }
    {
    CHECK_OBJECT( (PyObject *)tmp_genexpr_1__$0 );
    Py_DECREF( tmp_genexpr_1__$0 );
    tmp_genexpr_1__$0 = NULL;

    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_result_12:;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 481;
    {
        PyObject *call_args[] = { tmp_args_element_name_17 };
        tmp_assign_source_136 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_43, call_args );
    }

    Py_DECREF( tmp_args_element_name_17 );
    if ( tmp_assign_source_136 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 481;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__hextobyte, tmp_assign_source_136 );
    }
    {
    PyObject *tmp_assign_source_138;
    tmp_assign_source_138 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_31_unquote_to_bytes(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_unquote_to_bytes, tmp_assign_source_138 );
    }
    {
    PyObject *tmp_assign_source_139;
    PyObject *tmp_called_instance_1;
    PyObject *tmp_mvar_value_28;
    tmp_mvar_value_28 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_re );

    if (unlikely( tmp_mvar_value_28 == NULL ))
    {
        tmp_mvar_value_28 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_re );
    }

    if ( tmp_mvar_value_28 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "re" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 513;

        goto frame_exception_exit_1;
    }

    tmp_called_instance_1 = tmp_mvar_value_28;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 513;
    tmp_assign_source_139 = CALL_METHOD_WITH_ARGS1( tmp_called_instance_1, const_str_plain_compile, &PyTuple_GET_ITEM( const_tuple_str_digest_f574a384606468fc7321e27f4e169e89_tuple, 0 ) );

    if ( tmp_assign_source_139 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 513;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__asciire, tmp_assign_source_139 );
    }
    {
    PyObject *tmp_assign_source_140;
    PyObject *tmp_defaults_9;
    tmp_defaults_9 = const_tuple_bca69903aa4823e8f2c5a8129155a877_tuple;
    Py_INCREF( tmp_defaults_9 );
    tmp_assign_source_140 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_32_unquote( tmp_defaults_9 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_unquote, tmp_assign_source_140 );
    }
    {
    PyObject *tmp_assign_source_141;
    PyObject *tmp_defaults_10;
    tmp_defaults_10 = const_tuple_4a300e8ad347e738c43d70e78d1a26cb_tuple;
    Py_INCREF( tmp_defaults_10 );
    tmp_assign_source_141 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_33_parse_qs( tmp_defaults_10 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_parse_qs, tmp_assign_source_141 );
    }
    {
    PyObject *tmp_assign_source_142;
    PyObject *tmp_defaults_11;
    tmp_defaults_11 = const_tuple_4a300e8ad347e738c43d70e78d1a26cb_tuple;
    Py_INCREF( tmp_defaults_11 );
    tmp_assign_source_142 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_34_parse_qsl( tmp_defaults_11 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_parse_qsl, tmp_assign_source_142 );
    }
    {
    PyObject *tmp_assign_source_143;
    PyObject *tmp_defaults_12;
    tmp_defaults_12 = const_tuple_bca69903aa4823e8f2c5a8129155a877_tuple;
    Py_INCREF( tmp_defaults_12 );
    tmp_assign_source_143 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_35_unquote_plus( tmp_defaults_12 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_unquote_plus, tmp_assign_source_143 );
    }
    {
    PyObject *tmp_assign_source_144;
    PyObject *tmp_frozenset_arg_1;
    PyObject *tmp_called_name_44;
    PyObject *tmp_mvar_value_29;
    tmp_mvar_value_29 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_29 == NULL ))
    {
        tmp_mvar_value_29 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_29 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 629;

        goto frame_exception_exit_1;
    }

    tmp_called_name_44 = tmp_mvar_value_29;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 629;
    tmp_frozenset_arg_1 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_44, &PyTuple_GET_ITEM( const_tuple_bytes_digest_45e1dd6e9dbd1599a2c11a4dfb02c609_tuple, 0 ) );

    if ( tmp_frozenset_arg_1 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 629;

        goto frame_exception_exit_1;
    }
    tmp_assign_source_144 = PyFrozenSet_New( tmp_frozenset_arg_1 );
    Py_DECREF( tmp_frozenset_arg_1 );
    if ( tmp_assign_source_144 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 629;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ALWAYS_SAFE, tmp_assign_source_144 );
    }
    {
    PyObject *tmp_assign_source_145;
    PyObject *tmp_called_name_45;
    PyObject *tmp_mvar_value_30;
    PyObject *tmp_args_element_name_18;
    PyObject *tmp_mvar_value_31;
    tmp_mvar_value_30 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_bytes );

    if (unlikely( tmp_mvar_value_30 == NULL ))
    {
        tmp_mvar_value_30 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_bytes );
    }

    if ( tmp_mvar_value_30 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "bytes" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 633;

        goto frame_exception_exit_1;
    }

    tmp_called_name_45 = tmp_mvar_value_30;
    tmp_mvar_value_31 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ALWAYS_SAFE );

    if (unlikely( tmp_mvar_value_31 == NULL ))
    {
        tmp_mvar_value_31 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain__ALWAYS_SAFE );
    }

    CHECK_OBJECT( tmp_mvar_value_31 );
    tmp_args_element_name_18 = tmp_mvar_value_31;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 633;
    {
        PyObject *call_args[] = { tmp_args_element_name_18 };
        tmp_assign_source_145 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_45, call_args );
    }

    if ( tmp_assign_source_145 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 633;

        goto frame_exception_exit_1;
    }
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__ALWAYS_SAFE_BYTES, tmp_assign_source_145 );
    }
    {
    PyObject *tmp_assign_source_146;
    tmp_assign_source_146 = PyDict_New();
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__safe_quoters, tmp_assign_source_146 );
    }
    {
    // Tried code:
    {
    PyObject *tmp_assign_source_147;
    PyObject *tmp_tuple_element_44;
    PyObject *tmp_source_name_45;
    PyObject *tmp_mvar_value_32;
    tmp_mvar_value_32 = GET_STRING_DICT_VALUE( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_collections );

    if (unlikely( tmp_mvar_value_32 == NULL ))
    {
        tmp_mvar_value_32 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_collections );
    }

    if ( tmp_mvar_value_32 == NULL )
    {

        exception_type = PyExc_NameError;
        Py_INCREF( exception_type );
        exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "collections" );
        exception_tb = NULL;
        NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
        CHAIN_EXCEPTION( exception_value );

        exception_lineno = 636;

        goto try_except_handler_37;
    }

    tmp_source_name_45 = tmp_mvar_value_32;
    tmp_tuple_element_44 = LOOKUP_ATTRIBUTE( tmp_source_name_45, const_str_plain_defaultdict );
    if ( tmp_tuple_element_44 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_37;
    }
    tmp_assign_source_147 = PyTuple_New( 1 );
    PyTuple_SET_ITEM( tmp_assign_source_147, 0, tmp_tuple_element_44 );
    assert( tmp_class_creation_12__bases_orig == NULL );
    tmp_class_creation_12__bases_orig = tmp_assign_source_147;

    }
    {
    PyObject *tmp_assign_source_148;
    PyObject *tmp_dircall_arg1_12;
    CHECK_OBJECT( tmp_class_creation_12__bases_orig );
    tmp_dircall_arg1_12 = tmp_class_creation_12__bases_orig;
    Py_INCREF( tmp_dircall_arg1_12 );

    {
        PyObject *dir_call_args[] = {tmp_dircall_arg1_12};
        tmp_assign_source_148 = impl___internal__$$$function_1__mro_entries_conversion( dir_call_args );
    }
    if ( tmp_assign_source_148 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_37;
    }
    assert( tmp_class_creation_12__bases == NULL );
    tmp_class_creation_12__bases = tmp_assign_source_148;

    }
    {
    PyObject *tmp_assign_source_149;
    tmp_assign_source_149 = PyDict_New();
    assert( tmp_class_creation_12__class_decl_dict == NULL );
    tmp_class_creation_12__class_decl_dict = tmp_assign_source_149;

    }
    {
    PyObject *tmp_assign_source_150;
    PyObject *tmp_metaclass_name_12;
    nuitka_bool tmp_condition_result_75;
    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_76;
    int tmp_truth_name_12;
    PyObject *tmp_type_arg_23;
    PyObject *tmp_subscribed_name_12;
    PyObject *tmp_subscript_name_12;
    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 = 636;

        goto try_except_handler_37;
    }
    tmp_condition_result_75 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_75 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_31;
    }
    else
    {
        goto condexpr_false_31;
    }
    condexpr_true_31:;
    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 = 636;

        goto try_except_handler_37;
    }
    goto condexpr_end_31;
    condexpr_false_31:;
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_truth_name_12 = CHECK_IF_TRUE( tmp_class_creation_12__bases );
    if ( tmp_truth_name_12 == -1 )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_37;
    }
    tmp_condition_result_76 = tmp_truth_name_12 == 1 ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_76 == NUITKA_BOOL_TRUE )
    {
        goto condexpr_true_32;
    }
    else
    {
        goto condexpr_false_32;
    }
    condexpr_true_32:;
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_subscribed_name_12 = tmp_class_creation_12__bases;
    tmp_subscript_name_12 = const_int_0;
    tmp_type_arg_23 = LOOKUP_SUBSCRIPT_CONST( tmp_subscribed_name_12, tmp_subscript_name_12, 0 );
    if ( tmp_type_arg_23 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_37;
    }
    tmp_metaclass_name_12 = BUILTIN_TYPE1( tmp_type_arg_23 );
    Py_DECREF( tmp_type_arg_23 );
    if ( tmp_metaclass_name_12 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_37;
    }
    goto condexpr_end_32;
    condexpr_false_32:;
    tmp_metaclass_name_12 = (PyObject *)&PyType_Type;
    Py_INCREF( tmp_metaclass_name_12 );
    condexpr_end_32:;
    condexpr_end_31:;
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_bases_name_12 = tmp_class_creation_12__bases;
    tmp_assign_source_150 = SELECT_METACLASS( tmp_metaclass_name_12, tmp_bases_name_12 );
    Py_DECREF( tmp_metaclass_name_12 );
    if ( tmp_assign_source_150 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_37;
    }
    assert( tmp_class_creation_12__metaclass == NULL );
    tmp_class_creation_12__metaclass = tmp_assign_source_150;

    }
    {
    nuitka_bool tmp_condition_result_77;
    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 = 636;

        goto try_except_handler_37;
    }
    tmp_condition_result_77 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_77 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_45;
    }
    else
    {
        goto branch_no_45;
    }
    branch_yes_45:;
    {
    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 = 636;

        goto try_except_handler_37;
    }
    }
    branch_no_45:;
    }
    {
    nuitka_bool tmp_condition_result_78;
    PyObject *tmp_source_name_46;
    CHECK_OBJECT( tmp_class_creation_12__metaclass );
    tmp_source_name_46 = tmp_class_creation_12__metaclass;
    tmp_res = PyObject_HasAttr( tmp_source_name_46, const_str_plain___prepare__ );
    tmp_condition_result_78 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_78 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_46;
    }
    else
    {
        goto branch_no_46;
    }
    branch_yes_46:;
    {
    PyObject *tmp_assign_source_151;
    PyObject *tmp_called_name_46;
    PyObject *tmp_source_name_47;
    PyObject *tmp_args_name_23;
    PyObject *tmp_tuple_element_45;
    PyObject *tmp_kw_name_23;
    CHECK_OBJECT( tmp_class_creation_12__metaclass );
    tmp_source_name_47 = tmp_class_creation_12__metaclass;
    tmp_called_name_46 = LOOKUP_ATTRIBUTE( tmp_source_name_47, const_str_plain___prepare__ );
    if ( tmp_called_name_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_37;
    }
    tmp_tuple_element_45 = const_str_plain_Quoter;
    tmp_args_name_23 = PyTuple_New( 2 );
    Py_INCREF( tmp_tuple_element_45 );
    PyTuple_SET_ITEM( tmp_args_name_23, 0, tmp_tuple_element_45 );
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_tuple_element_45 = tmp_class_creation_12__bases;
    Py_INCREF( tmp_tuple_element_45 );
    PyTuple_SET_ITEM( tmp_args_name_23, 1, tmp_tuple_element_45 );
    CHECK_OBJECT( tmp_class_creation_12__class_decl_dict );
    tmp_kw_name_23 = tmp_class_creation_12__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 636;
    tmp_assign_source_151 = CALL_FUNCTION( tmp_called_name_46, tmp_args_name_23, tmp_kw_name_23 );
    Py_DECREF( tmp_called_name_46 );
    Py_DECREF( tmp_args_name_23 );
    if ( tmp_assign_source_151 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_37;
    }
    assert( tmp_class_creation_12__prepared == NULL );
    tmp_class_creation_12__prepared = tmp_assign_source_151;

    }
    {
    nuitka_bool tmp_condition_result_79;
    PyObject *tmp_operand_name_12;
    PyObject *tmp_source_name_48;
    CHECK_OBJECT( tmp_class_creation_12__prepared );
    tmp_source_name_48 = tmp_class_creation_12__prepared;
    tmp_res = PyObject_HasAttr( tmp_source_name_48, 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 = 636;

        goto try_except_handler_37;
    }
    tmp_condition_result_79 = ( tmp_res == 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_79 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_47;
    }
    else
    {
        goto branch_no_47;
    }
    branch_yes_47:;
    {
    PyObject *tmp_raise_type_12;
    PyObject *tmp_raise_value_12;
    PyObject *tmp_left_name_12;
    PyObject *tmp_right_name_12;
    PyObject *tmp_tuple_element_46;
    PyObject *tmp_getattr_target_12;
    PyObject *tmp_getattr_attr_12;
    PyObject *tmp_getattr_default_12;
    PyObject *tmp_source_name_49;
    PyObject *tmp_type_arg_24;
    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_46 = BUILTIN_GETATTR( tmp_getattr_target_12, tmp_getattr_attr_12, tmp_getattr_default_12 );
    if ( tmp_tuple_element_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_37;
    }
    tmp_right_name_12 = PyTuple_New( 2 );
    PyTuple_SET_ITEM( tmp_right_name_12, 0, tmp_tuple_element_46 );
    CHECK_OBJECT( tmp_class_creation_12__prepared );
    tmp_type_arg_24 = tmp_class_creation_12__prepared;
    tmp_source_name_49 = BUILTIN_TYPE1( tmp_type_arg_24 );
    assert( !(tmp_source_name_49 == NULL) );
    tmp_tuple_element_46 = LOOKUP_ATTRIBUTE( tmp_source_name_49, const_str_plain___name__ );
    Py_DECREF( tmp_source_name_49 );
    if ( tmp_tuple_element_46 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
        Py_DECREF( tmp_right_name_12 );

        exception_lineno = 636;

        goto try_except_handler_37;
    }
    PyTuple_SET_ITEM( tmp_right_name_12, 1, tmp_tuple_element_46 );
    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 = 636;

        goto try_except_handler_37;
    }
    exception_type = tmp_raise_type_12;
    Py_INCREF( tmp_raise_type_12 );
    exception_value = tmp_raise_value_12;
    exception_lineno = 636;
    RAISE_EXCEPTION_IMPLICIT( &exception_type, &exception_value, &exception_tb );

    goto try_except_handler_37;
    }
    branch_no_47:;
    }
    goto branch_end_46;
    branch_no_46:;
    {
    PyObject *tmp_assign_source_152;
    tmp_assign_source_152 = PyDict_New();
    assert( tmp_class_creation_12__prepared == NULL );
    tmp_class_creation_12__prepared = tmp_assign_source_152;

    }
    branch_end_46:;
    }
    {
    PyObject *tmp_assign_source_153;
    {
    PyObject *tmp_set_locals_12;
    CHECK_OBJECT( tmp_class_creation_12__prepared );
    tmp_set_locals_12 = tmp_class_creation_12__prepared;
    locals_future$backports$urllib$parse_636 = tmp_set_locals_12;
    Py_INCREF( tmp_set_locals_12 );
    }
    {
    // Tried code:
    {
    // Tried code:
    {
    tmp_dictset_value = const_str_digest_4c1e770c5544f54da5d3b8065d995354;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_636, 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 = 636;

        goto try_except_handler_39;
    }
    }
    {
    tmp_dictset_value = const_str_digest_b2129efa52efbf1a263dad7416562079;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_636, 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 = 636;

        goto try_except_handler_39;
    }
    }
    {
    tmp_dictset_value = const_str_plain_Quoter;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_636, 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 = 636;

        goto try_except_handler_39;
    }
    }
    MAKE_OR_REUSE_FRAME( cache_frame_e13d756523c35039bbcb5d52726b1b2b_13, codeobj_e13d756523c35039bbcb5d52726b1b2b, module_future$backports$urllib$parse, sizeof(void *) );
    frame_e13d756523c35039bbcb5d52726b1b2b_13 = cache_frame_e13d756523c35039bbcb5d52726b1b2b_13;

    // Push the new frame as the currently active one.
    pushFrameStack( frame_e13d756523c35039bbcb5d52726b1b2b_13 );

    // Mark the frame object as in use, ref count 1 will be up for reuse.
    assert( Py_REFCNT( frame_e13d756523c35039bbcb5d52726b1b2b_13 ) == 2 ); // Frame stack

    // Framed code:
    {
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_36___init__(  );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_636, const_str_plain___init__, 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 = 644;
        type_description_2 = "o";
        goto frame_exception_exit_13;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_37___repr__(  );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_636, const_str_plain___repr__, 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 = 648;
        type_description_2 = "o";
        goto frame_exception_exit_13;
    }
    }
    {
    tmp_dictset_value = MAKE_FUNCTION_future$backports$urllib$parse$$$function_38___missing__(  );



    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_636, const_str_plain___missing__, 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 = 652;
        type_description_2 = "o";
        goto frame_exception_exit_13;
    }
    }

#if 0
    RESTORE_FRAME_EXCEPTION( frame_e13d756523c35039bbcb5d52726b1b2b_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_e13d756523c35039bbcb5d52726b1b2b_13 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_e13d756523c35039bbcb5d52726b1b2b_13, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_e13d756523c35039bbcb5d52726b1b2b_13->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_e13d756523c35039bbcb5d52726b1b2b_13, exception_lineno );
    }

    // Attachs locals to frame if any.
    Nuitka_Frame_AttachLocals(
        (struct Nuitka_FrameObject *)frame_e13d756523c35039bbcb5d52726b1b2b_13,
        type_description_2,
        outline_11_var___class__
    );


    // Release cached frame.
    if ( frame_e13d756523c35039bbcb5d52726b1b2b_13 == cache_frame_e13d756523c35039bbcb5d52726b1b2b_13 )
    {
        Py_DECREF( frame_e13d756523c35039bbcb5d52726b1b2b_13 );
    }
    cache_frame_e13d756523c35039bbcb5d52726b1b2b_13 = NULL;

    assertFrameObject( frame_e13d756523c35039bbcb5d52726b1b2b_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_39;
    skip_nested_handling_12:;
    {
    nuitka_bool tmp_condition_result_80;
    PyObject *tmp_compexpr_left_12;
    PyObject *tmp_compexpr_right_12;
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_compexpr_left_12 = tmp_class_creation_12__bases;
    CHECK_OBJECT( tmp_class_creation_12__bases_orig );
    tmp_compexpr_right_12 = tmp_class_creation_12__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 = 636;

        goto try_except_handler_39;
    }
    tmp_condition_result_80 = ( tmp_res != 0 ) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
    if ( tmp_condition_result_80 == NUITKA_BOOL_TRUE )
    {
        goto branch_yes_48;
    }
    else
    {
        goto branch_no_48;
    }
    branch_yes_48:;
    {
    CHECK_OBJECT( tmp_class_creation_12__bases_orig );
    tmp_dictset_value = tmp_class_creation_12__bases_orig;
    tmp_res = PyObject_SetItem( locals_future$backports$urllib$parse_636, 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 = 636;

        goto try_except_handler_39;
    }
    }
    branch_no_48:;
    }
    {
    PyObject *tmp_assign_source_154;
    PyObject *tmp_called_name_47;
    PyObject *tmp_args_name_24;
    PyObject *tmp_tuple_element_47;
    PyObject *tmp_kw_name_24;
    CHECK_OBJECT( tmp_class_creation_12__metaclass );
    tmp_called_name_47 = tmp_class_creation_12__metaclass;
    tmp_tuple_element_47 = const_str_plain_Quoter;
    tmp_args_name_24 = PyTuple_New( 3 );
    Py_INCREF( tmp_tuple_element_47 );
    PyTuple_SET_ITEM( tmp_args_name_24, 0, tmp_tuple_element_47 );
    CHECK_OBJECT( tmp_class_creation_12__bases );
    tmp_tuple_element_47 = tmp_class_creation_12__bases;
    Py_INCREF( tmp_tuple_element_47 );
    PyTuple_SET_ITEM( tmp_args_name_24, 1, tmp_tuple_element_47 );
    tmp_tuple_element_47 = locals_future$backports$urllib$parse_636;
    Py_INCREF( tmp_tuple_element_47 );
    PyTuple_SET_ITEM( tmp_args_name_24, 2, tmp_tuple_element_47 );
    CHECK_OBJECT( tmp_class_creation_12__class_decl_dict );
    tmp_kw_name_24 = tmp_class_creation_12__class_decl_dict;
    frame_367e7caedae035d5f16ffd96c774c021->m_frame.f_lineno = 636;
    tmp_assign_source_154 = CALL_FUNCTION( tmp_called_name_47, tmp_args_name_24, tmp_kw_name_24 );
    Py_DECREF( tmp_args_name_24 );
    if ( tmp_assign_source_154 == NULL )
    {
        assert( ERROR_OCCURRED() );

        FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );


        exception_lineno = 636;

        goto try_except_handler_39;
    }
    assert( outline_11_var___class__ == NULL );
    outline_11_var___class__ = tmp_assign_source_154;

    }
    {
    CHECK_OBJECT( outline_11_var___class__ );
    tmp_assign_source_153 = outline_11_var___class__;
    Py_INCREF( tmp_assign_source_153 );
    goto try_return_handler_39;
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_39:;
    {
    Py_DECREF( locals_future$backports$urllib$parse_636 );
    locals_future$backports$urllib$parse_636 = NULL;
    }
    {
    goto try_return_handler_38;
    }
    // Exception handler code:
    try_except_handler_39:;
    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_DECREF( locals_future$backports$urllib$parse_636 );
    locals_future$backports$urllib$parse_636 = 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 try_except_handler_38;
    }
    // End of try:
    }
    // tried codes exits in all cases
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    // Return handler code:
    try_return_handler_38:;
    {
    CHECK_OBJECT( (PyObject *)outline_11_var___class__ );
    Py_DECREF( outline_11_var___class__ );
    outline_11_var___class__ = NULL;

    }
    {
    goto outline_result_13;
    }
    // Exception handler code:
    try_except_handler_38:;
    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;

    {
    // 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 outline_exception_12;
    }
    // End of try:
    }
    // Return statement must have exited already.
    NUITKA_CANNOT_GET_HERE( future$backports$urllib$parse );
    return MOD_RETURN_VALUE( NULL );
    outline_exception_12:;
    exception_lineno = 636;
    goto try_except_handler_37;
    outline_result_13:;
    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_Quoter, tmp_assign_source_153 );
    }
    goto try_end_14;
    // Exception handler code:
    try_except_handler_37:;
    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;

    {
    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_38;
    exception_value = exception_keeper_value_38;
    exception_tb = exception_keeper_tb_38;
    exception_lineno = exception_keeper_lineno_38;

    goto frame_exception_exit_1;
    }
    // End of try:
    try_end_14:;
    }

    // Restore frame exception if necessary.
#if 0
    RESTORE_FRAME_EXCEPTION( frame_367e7caedae035d5f16ffd96c774c021 );
#endif
    popFrameStack();

    assertFrameObject( frame_367e7caedae035d5f16ffd96c774c021 );

    goto frame_no_exception_13;

    frame_exception_exit_1:;
#if 0
    RESTORE_FRAME_EXCEPTION( frame_367e7caedae035d5f16ffd96c774c021 );
#endif

    if ( exception_tb == NULL )
    {
        exception_tb = MAKE_TRACEBACK( frame_367e7caedae035d5f16ffd96c774c021, exception_lineno );
    }
    else if ( exception_tb->tb_frame != &frame_367e7caedae035d5f16ffd96c774c021->m_frame )
    {
        exception_tb = ADD_TRACEBACK( exception_tb, frame_367e7caedae035d5f16ffd96c774c021, exception_lineno );
    }

    // Put the previous frame back on top.
    popFrameStack();

    // Return the error.
    goto module_exception_exit;

    frame_no_exception_13:;
    {
    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;

    }
    {
    PyObject *tmp_assign_source_155;
    PyObject *tmp_defaults_13;
    tmp_defaults_13 = const_tuple_str_chr_47_none_none_tuple;
    Py_INCREF( tmp_defaults_13 );
    tmp_assign_source_155 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_39_quote( tmp_defaults_13 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote, tmp_assign_source_155 );
    }
    {
    PyObject *tmp_assign_source_156;
    PyObject *tmp_defaults_14;
    tmp_defaults_14 = const_tuple_str_empty_none_none_tuple;
    Py_INCREF( tmp_defaults_14 );
    tmp_assign_source_156 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_40_quote_plus( tmp_defaults_14 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_plus, tmp_assign_source_156 );
    }
    {
    PyObject *tmp_assign_source_157;
    PyObject *tmp_defaults_15;
    tmp_defaults_15 = const_tuple_str_chr_47_tuple;
    Py_INCREF( tmp_defaults_15 );
    tmp_assign_source_157 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_41_quote_from_bytes( tmp_defaults_15 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_quote_from_bytes, tmp_assign_source_157 );
    }
    {
    PyObject *tmp_assign_source_158;
    PyObject *tmp_defaults_16;
    tmp_defaults_16 = const_tuple_false_str_empty_none_none_tuple;
    Py_INCREF( tmp_defaults_16 );
    tmp_assign_source_158 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_42_urlencode( tmp_defaults_16 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_urlencode, tmp_assign_source_158 );
    }
    {
    PyObject *tmp_assign_source_159;
    tmp_assign_source_159 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_43_to_bytes(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_to_bytes, tmp_assign_source_159 );
    }
    {
    PyObject *tmp_assign_source_160;
    tmp_assign_source_160 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_44_unwrap(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_unwrap, tmp_assign_source_160 );
    }
    {
    PyObject *tmp_assign_source_161;
    tmp_assign_source_161 = Py_None;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__typeprog, tmp_assign_source_161 );
    }
    {
    PyObject *tmp_assign_source_162;
    tmp_assign_source_162 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_45_splittype(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splittype, tmp_assign_source_162 );
    }
    {
    PyObject *tmp_assign_source_163;
    tmp_assign_source_163 = Py_None;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__hostprog, tmp_assign_source_163 );
    }
    {
    PyObject *tmp_assign_source_164;
    tmp_assign_source_164 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_46_splithost(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splithost, tmp_assign_source_164 );
    }
    {
    PyObject *tmp_assign_source_165;
    tmp_assign_source_165 = Py_None;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__userprog, tmp_assign_source_165 );
    }
    {
    PyObject *tmp_assign_source_166;
    tmp_assign_source_166 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_47_splituser(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splituser, tmp_assign_source_166 );
    }
    {
    PyObject *tmp_assign_source_167;
    tmp_assign_source_167 = Py_None;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__passwdprog, tmp_assign_source_167 );
    }
    {
    PyObject *tmp_assign_source_168;
    tmp_assign_source_168 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_48_splitpasswd(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splitpasswd, tmp_assign_source_168 );
    }
    {
    PyObject *tmp_assign_source_169;
    tmp_assign_source_169 = Py_None;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__portprog, tmp_assign_source_169 );
    }
    {
    PyObject *tmp_assign_source_170;
    tmp_assign_source_170 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_49_splitport(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splitport, tmp_assign_source_170 );
    }
    {
    PyObject *tmp_assign_source_171;
    tmp_assign_source_171 = Py_None;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__nportprog, tmp_assign_source_171 );
    }
    {
    PyObject *tmp_assign_source_172;
    PyObject *tmp_defaults_17;
    tmp_defaults_17 = const_tuple_int_neg_1_tuple;
    Py_INCREF( tmp_defaults_17 );
    tmp_assign_source_172 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_50_splitnport( tmp_defaults_17 );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splitnport, tmp_assign_source_172 );
    }
    {
    PyObject *tmp_assign_source_173;
    tmp_assign_source_173 = Py_None;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__queryprog, tmp_assign_source_173 );
    }
    {
    PyObject *tmp_assign_source_174;
    tmp_assign_source_174 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_51_splitquery(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splitquery, tmp_assign_source_174 );
    }
    {
    PyObject *tmp_assign_source_175;
    tmp_assign_source_175 = Py_None;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__tagprog, tmp_assign_source_175 );
    }
    {
    PyObject *tmp_assign_source_176;
    tmp_assign_source_176 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_52_splittag(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splittag, tmp_assign_source_176 );
    }
    {
    PyObject *tmp_assign_source_177;
    tmp_assign_source_177 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_53_splitattr(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splitattr, tmp_assign_source_177 );
    }
    {
    PyObject *tmp_assign_source_178;
    tmp_assign_source_178 = Py_None;
    UPDATE_STRING_DICT0( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain__valueprog, tmp_assign_source_178 );
    }
    {
    PyObject *tmp_assign_source_179;
    tmp_assign_source_179 = MAKE_FUNCTION_future$backports$urllib$parse$$$function_54_splitvalue(  );



    UPDATE_STRING_DICT1( moduledict_future$backports$urllib$parse, (Nuitka_StringObject *)const_str_plain_splitvalue, tmp_assign_source_179 );
    }

    return MOD_RETURN_VALUE( module_future$backports$urllib$parse );
    module_exception_exit:
    RESTORE_ERROR_OCCURRED( exception_type, exception_value, exception_tb );
    return MOD_RETURN_VALUE( NULL );
}
