�
��fgN � � � d dl mZ d dlZd dlZd dlZddlmZmZ ddlm Z m
Z
mZ ddlm
Z
mZmZmZmZ d dlZd dlmZ ddlmZ dd lmZ dd
lmZ ddlmZ g d�Z ej e� � Z d
Z!dZ" ej# de"� � Z$dZ% ej# de%� � Z&d� Z' ej( e'e$� � ej( e'e$� � d�Z)e e
d�Z* G d� de� � Z+ G d� de+� � Z,d� Z-dS )� )�absolute_importN� )�HTTPHeaderDict�RecentlyUsedContainer)�HTTPConnectionPool�HTTPSConnectionPool�port_by_scheme)�LocationValueError�
MaxRetryError�ProxySchemeUnknown�ProxySchemeUnsupported�URLSchemeUnknown)�urljoin)�RequestMethods)�connection_requires_http_tunnel)�Retry)� parse_url)�PoolManager�ProxyManager�proxy_from_url) �key_file� cert_file� cert_reqs�ca_certs�ssl_version�ca_cert_dir�ssl_context�key_password�server_hostname)�
key_scheme�key_host�key_port�key_timeout�key_retries�
key_strict� key_block�key_source_address�key_key_file�key_key_password�
key_cert_file�
key_cert_reqs�key_ca_certs�key_ssl_version�key_ca_cert_dir�key_ssl_context�key_maxsize�key_headers�
key__proxy�key__proxy_headers�key__proxy_config�key_socket_options�key__socks_options�key_assert_hostname�key_assert_fingerprint�key_server_hostname�PoolKey)r �use_forwarding_for_https�ProxyConfigc � � |� � � }|d � � � |d< |